0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于R128开发板的自平衡赛车机器人设计

全志在线 来源:全志在线开发者论坛 2023-12-16 15:57 次阅读

经常翻车的朋友们都知道,能在翻车后快速摆正车身的车才是好车。

就像动画《四驱兄弟》中展现的那样,在比赛中需要跟着赛车一起跑圈,而且赛车如果被撞翻还需要重新用手扶正,所浪费的时间非常影响比赛结果。

如果小豪和小烈可以拥有一款能通过发挥R128的WiFi&蓝牙特性的平衡小车,从而能通过WiFi或蓝牙连接的方式进行控制,既可以自平衡和转向,又可以远程操控,那冠军岂不是手到擒来。

它,就是可以自平衡的赛车机器人——B_ROBOT_100ASK

项目简介

本项目基于jjrobots的开源项目B-ROBOT EVO2进行复刻,与原开源项目不一样的地方是,作者将原本适配的的Arduino控制板移植为DShanMCU-R128s2-DevKit开发板,与此同时还添加了一些功能,比如自平衡功能、WiFi&蓝牙控制、App控制以及语音控制功能,让平衡小车的操控乐趣更上一层楼。

b2b28696-9be7-11ee-8b88-92fbcf53809c.png

B_ROBOT_100ASK

b2b744e2-9be7-11ee-8b88-92fbcf53809c.gif

自平衡演示

硬件设计

本项目中的自平衡赛车机器人的硬件设计结构非常简单,硬件部分主要由R128开发板和几个驱动模块组成。

b2fbfa88-9be7-11ee-8b88-92fbcf53809c.png

硬件设计模块

供电模块

自平衡机器人采用锂电池供电的方式,并利用mini360航模电池降压模块来将较进行电压的转化工作,以满足小车设备对电压方面的需求

电机驱动模块

自平衡机器人选用两个NEMA17步进电机,并选用DDRV8825步进电机驱动模块来负责与电机之间的控制信息传输。

DDRV8825步进电机驱动模块的体积小,驱动能力强,它只需要一个PWM波就能控制步进电机,同时基本上三个引脚就能完全控制步进电机。

通过该模块可以使小车快速反应R128下达的运动信息,驱动小车本身的轮子进行运动。

平衡模块

MPU6050是一种6轴运动跟踪传感器,它包含3轴陀螺仪、3轴加速度计、运动处理器温度传感器。它可以通过I2C总线接口与微控制器进行通信,并且可以通过辅助I2C总线与其他传感器设备通信。

MPU6050的主要作用是帮助机器人实现姿态感知和运动控制,提高机器人的自主性和灵活性。

遥控手柄UI控制(LVGL

作者本人还利用R128开发板来移植了一个酷炫的LVGL遥控手柄UI,通过手柄上的菜单栏UI可以选择不同的机器人基础参数设置和进行机器人操控。

b32b47f2-9be7-11ee-8b88-92fbcf53809c.gif

手柄UI菜单栏滑动

在自平衡机器人启动后,可以通过面包板上的两个手柄去遥控机器人的前进后退和转弯,并且在屏幕上还会实时返回机器人的倾斜角度、速度、电量等状态。

b353d500-9be7-11ee-8b88-92fbcf53809c.gif

实现App控制

在机器人竞速中,必须要在准确性和速度之间找到平衡。为了更好的反馈给自平衡机器人设置不同参数下的运动状态,作者针对自平衡机器人进行了控制App的适配。

b3883c6e-9be7-11ee-8b88-92fbcf53809c.png

App控制自平衡小车界面

App可以实时显示电池状态和机器人的倾斜角度,操作者只需要通过App中的几个可视化按钮和滑动栏来实时修改其PID,以实现对机器人速度和状态的远程控制。

自平衡机器人的一般行为由一组参数定义:

// NORMAL MODE PARAMETERS 
 #define MAX_THROTTLE 550 MAXIMUM VELOCITY
 #define MAX_STEERING 140 MAXIMUM SPINNING VELOCITY
 #define MAX_TARGET_ANGLE 14 MAXIMUM ANGLE REACHED WHEN MOVING


// PRO MODE = MORE AGGRESSIVE (MAXIMUM SETTINGS)
 #define MAX_THROTTLE_PRO 860 MAXIMUM VELOCITY. PRO MODE
 #define MAX_STEERING_PRO 280 MAXIMUM SPINNING VELOCITY. PRO MODE
 #define MAX_TARGET_ANGLE_PRO 32 MAXIMUM ANGLE REACHED WHEN MOVING. PRO MODE


 #define KP 0.32 // 0.14
 #define KD 0.050 // 0.028
 #define KP_THROTTLE 0.075 //0.075
 #define KI_THROTTLE 0.1 // 0.1
 #define KP_POSITION 0.06 //0.055
 #define KD_POSITION 0.45 //0.5
 //#define KI_POSITION 0.02

比如:

MAX_THROTTLE_PRO值会使机器人更快,但如果不能顺利恢复垂直位置,稳定性会降低。

MAX_STEERING_PRO值会让机器人旋转得更快,但转弯时更难精确控制。

MAX_TARGET_ANGLE_PRO值将使机器人减小其相对于地板的角度,但这会使恢复和转弯变得更加困难。

UDP网络通信控制

这个功能的实现比较简单,利用R128本身自带的WiFi&蓝牙特性,来实现两块R128开发板(机器人自身携带&手上的操控端)的UDP网络通信控制。

b43a6150-9be7-11ee-8b88-92fbcf53809c.gif

UDP网络通信控制演示

源码获取

基于R128-S2设计的全套开发板已上线淘宝百问网韦东山老师个人店进行售卖,包含黑色的DshanMCU-R128s2-R16N16模组和全套的DshanMCU-R128s2-DEVKIT。

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 机器人
    +关注

    关注

    210

    文章

    28153

    浏览量

    206120
  • 蓝牙
    +关注

    关注

    114

    文章

    5760

    浏览量

    169735
  • WIFI
    +关注

    关注

    81

    文章

    5285

    浏览量

    203209
  • 开发板
    +关注

    关注

    25

    文章

    4926

    浏览量

    97140

原文标题:用R128复刻自平衡赛车机器人,还实现了三种不同的操控方式

文章出处:【微信号:gh_79acfa3aa3e3,微信公众号:全志在线】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    使用全志R128实现LVGL的移植

    我们使用的开发板R128-Devkit,需要开发 C906 核心的应用程序,所以载入方案选择 r128s2_module_c906
    的头像 发表于 11-13 10:14 1504次阅读
    使用全志<b class='flag-5'>R128</b>实现LVGL的移植

    全志R128 BLE最高吞吐量测试正确配置测试方法

    R128使用前我们需要了解BLE的最高吞吐量,以方便评估相关功能的开发
    的头像 发表于 10-27 17:17 1273次阅读
    全志<b class='flag-5'>R128</b> BLE最高吞吐量测试正确配置测试方法

    全志R128内存泄漏调试案例分享

    硬件:R128 软件:FreeRTOS + rtplayer\_test(Cedarx)+ AudioSystem
    的头像 发表于 11-20 17:27 946次阅读
    全志<b class='flag-5'>R128</b>内存泄漏调试案例分享

    开源项目!教你如何复刻平衡赛车机器人、智能家居中控、竞技机器人先进模糊控制器等

    开源项目作品 为了方便大家更好提升自己,电子发烧友小编为大家整理了一些工程师大佬设计的开源项目作品,供大家可以参考学习,希望对广大工程师有所帮助。 1.用全志R128复刻平衡赛车
    发表于 12-26 09:17

    全志R128入门编写HelloWorld

    本文将介绍使用 R128 开发板从串口输出 HelloWorld 的方式介绍 SDK 软件开发流程。 载入方案我们使用的开发板R128-
    发表于 12-29 09:39

    全志R128 Devkit开发板原理图模块介绍及使用说明

    针对 R128 模组,百问科技推出了 R128 DevKit 开发板作为快速开发评估工具。 板载 R128-S2-N16R16 模组 板
    发表于 01-17 09:45

    [分享]LabVIEW 与机器人设

    LabVIEW 与机器人设计 
    发表于 05-30 16:35

    【orangepi zero申请】基于香橙pi的机器人设

    项目名称:基于香橙pi的机器人设计试用计划:本人拥有香橙pi one的使用经验,非常熟悉香橙派的使用技巧,希望能够使用orange pi zero完成一个轮式机器人的设计,使用开发板作为主控,加上6
    发表于 12-08 16:09

    如何应对机器人设开发中的挑战?

    在NIWeek会议上特别谈到了TORC如何从功能强大的高级软件中获益,从而有助于简化系统设计中的复杂问题。那么我们有什么办法,能应对机器人设开发中的挑战吗?
    发表于 07-31 07:17

    基于SLAM的移动机器人设

    题目:基于SLAM的移动机器人设计嵌入式PPT应具有的几个部分1、有哪些硬件  1)小车  2)STM32F429开发板  3)树莓派3b+开发板  4)4g通信模块  5)GPS模块  6
    发表于 11-08 06:17

    用全志R128复刻平衡赛车机器人,还实现了三种不同的操控方式

    更上一层楼。 硬件设计 本项目中的平衡赛车机器人的硬件设计结构非常简单,硬件部分主要由R128开发
    发表于 12-20 10:22

    AVR mega128开发板

    AVR mega128开发板 联系  杨迪 15336417867  0531-55508458 QQ:1347978253  http://www.easyele.cn 产品概述:AVR mega12
    发表于 07-14 10:52 84次下载

    全志R128应用开发案例—点亮一颗LED灯

    我们使用的开发板R128-Devkit,需要开发 C906 核心的应用程序,所以载入方案选择`r128s2_module_c906`
    发表于 10-09 16:46 419次阅读
    全志<b class='flag-5'>R128</b>应用<b class='flag-5'>开发</b>案例—点亮一颗LED灯

    DshanMCU-R128s2 R128 DevKit 开发板

    针对 R128 模组,百问科技推出了 R128 DevKit 开发板作为快速开发评估工具。 特性: 板载 R128-S2-N16R16 模组
    的头像 发表于 12-22 12:02 578次阅读
    DshanMCU-<b class='flag-5'>R128</b>s2 <b class='flag-5'>R128</b> DevKit <b class='flag-5'>开发板</b>

    DshanMCU-R128s2 R128 EVT 开发套件

    针对 R128 模组,百问科技推出了 R128 EVT 开发套件作为快速开发评估工具。
    的头像 发表于 12-22 15:16 732次阅读
    DshanMCU-<b class='flag-5'>R128</b>s2 <b class='flag-5'>R128</b> EVT <b class='flag-5'>开发</b>套件