基于X86六轮差速移动机器人运动控制器设计与实现(一)软件与硬件架构

这篇具有很好参考价值的文章主要介绍了基于X86六轮差速移动机器人运动控制器设计与实现(一)软件与硬件架构。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

本文研究的六轮差速移动机器人 (Six-Wheeled Differential Mobile Robot
SWDMR) 为了满足资源站到资源站点对点的物资运输,对机器人的跨越障碍能力
有较高的要求。对比传统的四轮移动机器人,六轮移动机器人能够提供更强的驱动
力,而且六轮与四轮相比整车分散到单个车轮的负荷更小了,进而使得车轮的电机
需要的驱动力矩更小,这样更有利于电机选型;对比八轮移动机器人,虽然八轮移
动机器人车轮比六轮更多,所能提供的总体驱动力矩更大,但是增加了控制的难度,
提高了移动系统的搭建成本。移动机器人自身结构舍弃传统的集中式驱动结构采
用分布式驱动结构,分布式结构没有传统车辆上的传动、差速及变速等系统,能够
减轻车辆自身重量,而且每个车轮作为独立的执行器可以做到独立控制,提高整车
控制的灵活性。
SWDMR 作为本文的研究重点先对其层级结构做一个初步的划分。机器人在
复杂环境中运动需要感知环境信息以及自身的状态信息,以确保机器人能够更好
地适应环境,因此少不了一系列的传感器比如雷达、摄像头、 IMU 等组成的感知
层;机器人通过不同的传感器获取到环境信息和自身状态量传送给中央处理器,结
合规划算法计算出机器人未来的运行轨迹,进一步保障机器人的运行安全,这一层
为规划层;中央处理器将规划出的轨迹下发给底层,驱动单元执行规划出的运行指
令,运动控制算法辅助校正机器人的运动轨迹为控制层。
基于X86六轮差速移动机器人运动控制器设计与实现(一)软件与硬件架构,机器人控制器,硬件架构
本章主要对机器人运动控制层的基础硬件搭建和机器人软件设计做一个全面
的介绍,同时涉及部分感知层的硬件选型测试。
3.1 整车关键点分析及器件选型
3.1.1 整车硬件组成分析
首先是机器人的核心处理器,为了满足控制算法的算力需求,采用工控机作为
机器人的控制单元。为了得到机器人的横摆角、 X,Y 轴的加速度等信息需要安装一
IMU 。为了使分布式结构更加简洁,采用机电一体化的轮毂电机作为机器人的
驱动单元。同时为了满足人与机器人的远程交互,使操作手能够在远端的控制台也
能介入机器人的运动,机器人本体上需要搭载对应的数据传输模块和视频传输模
块。最后为了给机器人本体上的各个模块提供动力源需要安装一个具有一定容量
的电池。
3.1.2 动力分析
一般对纯电动的移动机器人驱动力估计都是通过计算机器人在纵向通过 35°
坡时电机所需要的驱动力矩,在该工况下,机器人的驱动力需要大于滚动摩擦力和
坡道阻力之和。假设机器人的重心位于自身的几何中心,那么爬 35° 坡所需要的电
机扭矩 T 可以通过式计算得到:
基于X86六轮差速移动机器人运动控制器设计与实现(一)软件与硬件架构,机器人控制器,硬件架构
上式中: 表示驱动电机数,取 6 ; 表示驱动系统效率,取 90% ; 表示机器人
的重量,取 100kg ; 表示重力加速度,取 9.8 m/𝑠 2 ; 表示滚动阻力系数,取 0.025
表示最大坡度,取 35° ; 表示车轮半径,取 0.13m 。根据所取参数计算得到
,所以在选型时单个轮毂电机的额定转矩应该大于这个估计值。
3.1.3 关键器件选型
(1) 机器人核心 处理器:工控机
工控机的选择主要指标为成本低,性能高,低功耗,大小适中,重量合适。综
合比较下来工控机 信迈科技的 MEC-5071 具有上述优点,它能够支持多种 Intel 酷睿处理器,
支持 Linux Win8 Win7 等操作系统,各模块板之间通过高可靠连接器对接,运
行环境可靠,具有良好的防尘、散热、抗震性能,对于在野外工况工作的机器人比
较适配。
基于X86六轮差速移动机器人运动控制器设计与实现(一)软件与硬件架构,机器人控制器,硬件架构
此外 MEC-5071 有多种外设接口,包含串口,网口, USB GPIO 以及 PCI
展口,可以挂载多种外设以满足实验需求,各个接口功能如表 3.1 所示。
基于X86六轮差速移动机器人运动控制器设计与实现(一)软件与硬件架构,机器人控制器,硬件架构

基于X86六轮差速移动机器人运动控制器设计与实现(一)软件与硬件架构,机器人控制器,硬件架构文章来源地址https://www.toymoban.com/news/detail-662029.html

(2) 数据传输链路: LORA 数传电台
数传电台工作时需要两个电台进行点对点传输数据,一端作为移动端搭载在
机器人上接收控制端发出的信息并上报机器人自身的状态信息,另外一端作为控
制端接收机器人上报的参数反馈给工控机计算处理,将工控机计算得到的控制信
息发送给移动端用以控制机器人运动。
基于X86六轮差速移动机器人运动控制器设计与实现(一)软件与硬件架构,机器人控制器,硬件架构
在数传电台的选择上应该考虑通信的稳定性和抗干扰能力,亿佰特旗下的产
E90-DTU(400SL37) 能够满足实验需求 , 该产品广泛应用与工业物联网、环境监测、
无线控制等领域。 E90-DTU(400SL37) 支持高速连续传输,工作频段在 410.125
493.125MHz 之间,发射功率为 37dBm ,空中速率在 0.3K 62.5kbps ,传输距离
在无遮挡的通视条件下距离可达 20km ,同时还具有主动监听信道环境噪声功能,
当噪声超过阈值延迟发送,极大提高在恶劣环境下的通信成功率。 E90-
DTU(400SL37) 通信接口为 RS232/RS485 ,通信方式为半双工通信,缓存容量有 1000
个字节,可通过指令分包成不同字节的数据帧传送数据。
(3) 视频传输通道 大功率网传
实现视频传输的大功率网传选择的是腾远智拓公司生产的 ST5801GB-M 系列
产品,其采用 HTOFDM 调制技术,工作频率在 4900 6100MHz ,传输速率可达
351Mbps ,发射功率可达 26dbm ,传输距离在通视条件下有 50km 。在每均有 RJ45
网口,可通过 TCP/IP 实现产品与电脑的通信。根据其产品描述,此产品有基站模
式、用户站模式、一对一桥接功能、 mesh 自组网功能四种通信模式,因为本文研
究的轮式机器人系统只有一个移动端和一个操作端,所以在使用时根据需要选择
一对一桥接模式。
基于X86六轮差速移动机器人运动控制器设计与实现(一)软件与硬件架构,机器人控制器,硬件架构
(4) 机器人驱动单元:轮毂电机及其驱动器
在动力分析小节通过计算得到了电机的额定转矩的估计值,结合电机尺寸,价
格以及电机的额定转矩等条件最终选择了 LSDB 系列的伺服轮毂驱动器及电机。
该系列产品具有 IP67 防护等级,对于野外环境能够轻松应对,且有较高的扭矩。
所选的 LSDB4830-CAFC-ASM5 驱动器通信类型为 CAN+UART UART 波特率
115200bps ,支持上位机控制, CAN 波特率有 500kbps/1Mbps 可供选择,驱动器具
有过压保护、欠压保护、电机过热保护、短路保护、驱动器过热保护等功能。WS80L-
15A110C-MUCA03 型号电机的轮子直径为 200mm ,额定扭矩为 15Nm ,最大扭矩
可达 24Nm 。轮胎硬度等级为 A68 ,对于差速转向的机器人来说可谓为福音。
基于X86六轮差速移动机器人运动控制器设计与实现(一)软件与硬件架构,机器人控制器,硬件架构
驱动器带有电流闭环,速度闭环,能够准确跟踪下发的力矩指令或速度指令。
查看所选硬件的使用手册,得到各个硬件供电以及通信方式,最终的硬件图可以用
3.7 表示:
基于X86六轮差速移动机器人运动控制器设计与实现(一)软件与硬件架构,机器人控制器,硬件架构
3.7 中橙色线为电源线,蓝色为信号线。工控机通过一个 TCP/CAN 模块与
轮毂电机驱动器进行数据交换,六个驱动器挂载在 CAN 总线上;数传通过 USB 口
与工控机进行数据交换; IMU 通过 USB 口将机器人的状态信息上报给工控机;大
功率网传通过 TCP/IP 将视频信息传送给工控机。
3.2 关键器件测试
在各个模块安装前需要对其做功能性和稳定性测试,因为实验场景大多数是
校园环境,有较多的树木和房屋遮挡,且车流量较大,人口流动也比较频繁,如果
数据传输通道出现阻塞或者断开连接等状况,在没有保护措施的情况下机器人与
上层控制断开通信很容易发生危险事故。
(1) LORA 通信测试
LORA 通信测试主要测试数据传输通路在遮挡条件下的稳定性和通信距离。
测试的方案为两个实验人员分别将 LORA 的移动端和操控端与自己电脑的
USB 口连接,打开串口调试助手模拟节点收发数据,传输频率设置为 100ms, 串口
波特率设置为 115200 。通过步行模拟机器人的运动,期间移动端和操控端相互发
送测试指令,每 50 米为一个节点,达到 50 米时统计一次移动端和操控端的收发
指令帧数,计算出对应的丢包率,如此重复实验,不断拉开移动端和操作端的距离,
当出现明显的丢包现象时停止实验。
3.3 六轮差速移动机器人软件设计
机器人软件是基于机器人操作系统 (Robot Operating System,ROS) 进行设计开
发的,通过创建不同的功能包实现不同的功能,功能包之间可以通过话题发布或话
题订阅的方式进行数据交换,这种模块化的设计方式可以使得多人并行开发,提高
软件的设计效率。
根据图 3.1 轮式机器人的层级结构可以将软件分为感知模块、规划模块、控制
模块;还需要有能够记录机器人状态信息,记录数据日志的服务模块;同时,为了
满足机器人与人的交互,还需要人机交互模块。根据各个模块之间的关系得到机器
人软件的总体框图如图 3.10 所示。
在这一小节中主要是对机器人底盘软件进行设计,所涉及的模块主要是机器
人的控制模块,如图 3.10 中标红的部分。机器人自身的软件重点工作有两个:一
是解算上层规划层给出的运动指令下发给驱动单元,二是机器人接收遥控器数据
下发控制底盘运动,并通过数传通道反馈自身状态信息给监控端。具体实现流程如
3.11 所示。
3.11 为机器人底盘的控制流程。当底盘节点开启时,程序会循环检测控制
输入信号。当有控制输入时,判断输入信号是否为遥控话题发布的数据,如果为遥
控数据,机器人数据链路切换到人机交互链路;如果不是遥控话题发布数据,保持
机器人自主运行的正常通信链路。将控制信号输入到 SWDMR 的映射矩阵中将控
制信号转换成各个电机的驱动信号(如果电机为速度模式,则为轮速信号;如果电
机是力矩模式,则为电流信号),控制机器人的运动。判断机器人是否到达目标位
置,如果未到达,进入下一个循环;如果到达目标位置,则结束控制流程。
基于X86六轮差速移动机器人运动控制器设计与实现(一)软件与硬件架构,机器人控制器,硬件架构
3.4 六轮差速移动机器人落地测试
3.4.1 六轮差速移动机器人遥控测试
软件框架设计完成将所有的硬件模块部署在机器人本体上,调试信号通道,进
行落地测试,初步验证软件的正确性,并暴露出机器人当前可能存在的一些问题。
基于X86六轮差速移动机器人运动控制器设计与实现(一)软件与硬件架构,机器人控制器,硬件架构
落地测试验证了 SWDMR 的遥控通道的稳定性,紧急停止,差速转向等功能。
测试过程中发现当只给机器人某个方向的运动指令时,机器人的实际运动轨迹会
不断往一个方向发生偏移。分析产生这种现象的原因可能是车身结构的问题或者
路面不平整导致了在不改变遥控指令的情况下机器人偏离期望轨迹。将实验场地
选在路面较为平整的室内,还是会出现室外测试的现象,排除了路面因素导致机器
人的偏移。经过检查发现是因为机器人左前轮悬架安装位置有所偏差,最终使得机
器人在运行时会产生一个横向的力矩,使得机器人不断向一边偏移,形成一个螺纹
式的运动曲线。机器人某时刻的运行状态如图 3.13 所示:
基于X86六轮差速移动机器人运动控制器设计与实现(一)软件与硬件架构,机器人控制器,硬件架构
3.4.2 基于 PID 的纠偏调节
根据前一小节的测试发现的问题,设计辅助控制器以减小这种系统误差产生
的影响,使得机器人能够较好的执行控制指令。选取机器人的横摆角作为性能指标,
通过加入 IMU 闭环补偿使得车辆有一定的纠偏能力。纠偏控制框图如图 3.14
示:
基于X86六轮差速移动机器人运动控制器设计与实现(一)软件与硬件架构,机器人控制器,硬件架构
采样控制输入时刻机器人的实际横摆角度值,以此横摆角的值为起始横摆角,
IMU 测得的机器人横摆角反馈给辅助控制器,起始横摆角与机器人执行控制输
入时的横摆角做差,将差值输入到外环 PID 控制器,实现对横摆角的控制。为了
使得机器人的调节更加平滑,将外环 PID 控制器的输出作为内环 PID 的输入,并
通过 IMU 得到机器人调节过程中的横摆角速度,将两个变量做差输入到内环 PID
控制器实现横摆角速度的控制。下一采样时刻,重复上述过程。
基于X86六轮差速移动机器人运动控制器设计与实现(一)软件与硬件架构,机器人控制器,硬件架构
3.15 是在室内测试时记录的曲线,蓝色曲线为横摆角速度响应曲线;黑色
曲线为横摆角响应曲线;红色虚线为横摆角设定曲线,上升沿时刻表示将当前机器
人的横摆角设置为参考值。在 0-15s 这个时间段处于待机状态,测试通信是否均为
正常;在 15-30s ,机器人在无纠偏控制下向前运动,因为有横摆角速度的存在,角
度误差一直在累积;在 30-35s 为处于待机状态;在 35-55s, 机器人回退到起点并手
动调整机器人车身位置,保证机器人与无纠偏状态下的初始位置一致;在 55s 之后
是进行纠偏实验, 58s 设定当前 IMU 上报的横摆角度位置为目标方向,纠偏控制
接入, 75s 给速度指令让机器人运动,角度值基本上与设定值保持一致, 140s 结束
实验。下面对横摆角速度进行分析:
3.16 为室内测试时机器人横摆角速度响应曲线,根据实验数据可以得到机
器人在没有纠偏控制时,前进时会有一个 -0.016rad/s 左右的横摆角速度存在;后退
时有一个 0.044rad/s 左右的横摆角速度,加入纠偏处理后,横摆角速度基本上稳定
在了 0 附近。
基于X86六轮差速移动机器人运动控制器设计与实现(一)软件与硬件架构,机器人控制器,硬件架构
3.17 为室外测试时机器人的横摆角变化。在不加纠偏直行时,图 3.17(a)
示的 75-110s 时间段:机器人行驶 7m 左右车身方向就偏移了 32.9° 。控制机器人回
到初始的位置并手动调整底盘位姿,保持与开始实验时位置一致,纠偏控制介入,
如图 3.17(b) 所示纠偏过程中,机器人的航向角调节始终维持在目标值附近,最大
误差为 0.8° ,平均误差仅为 0.01°
基于X86六轮差速移动机器人运动控制器设计与实现(一)软件与硬件架构,机器人控制器,硬件架构
3.5 本章小结
本章主要工作是搭建六轮差速移动机器人,首先对机器人可能需要用到的硬
件做了初步的分析,对驱动单元的额定转矩做了预估;接着是对基础硬件做了选
型及测试,验证了硬件的功能并测试出在遮挡条件下数据传输的稳定行,最大的
通信距离;然后对机器人软件设计的整体框架做了介绍,着重介绍了控制模块的
控制流程;最后是对机器人的搭建,并在搭建完成之后做了落地测试,同时根据
测试的效果设计了纠偏控制器作为运动控制的辅助控制器,使得机器人能够更为
准确的执行上层下发的控制指令。

到了这里,关于基于X86六轮差速移动机器人运动控制器设计与实现(一)软件与硬件架构的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 差速驱动机器人的车轮里程计模型

            车轮测程法是指使用旋转编码器(即连接到车轮电机以测量旋转的传感器)的测程法(即估计运动和位置)。这是轮式机器人和自动驾驶汽车定位的有用技术。         在本文中,我们将通过探索差速驱动机器人的

    2024年02月15日
    浏览(44)
  • 纯跟踪算法(Pure Pursuit)在差速机器人上的应用

    Pure Pursuit 是一种路径跟踪算法。 在给定线速度的前提下,它计算移动的角速度令机器人从其当前位置到达机器人前方的某个前瞻点(lookahead)。该算法根据机器人的当前位置不断地追着它前面的一个点,直到路径的最后一个点。 1.差速轮模型  差速轮模型中:         2

    2024年02月11日
    浏览(102)
  • STM32两轮差速/阿克曼转向机器人/小车电机驱动教程!

    01 前言 之前,我们出了一系列的STM32机器人控制开发教程,收到不少小伙伴的反馈,于是我们对教程进行了优化,并将增加新的内容和工具。 本教程使用的机器人控制板拥有4个带编码器的电机接口,4个舵机接口,串口通信接口、SWD下载调试接口、航模遥控接口、USB5V输出接

    2024年02月05日
    浏览(145)
  • 基于机器人自主移动实现SLAM建图

    博客地址:https://www.cnblogs.com/zylyehuo/ 基于[移动机器人运动规划及运动仿真],详见之前的博客 移动机器人运动规划及运动仿真 - zylyehuo - 博客园 参考链接 Autolabor-ROS机器人入门课程《ROS理论与实践》 ubuntu 18.04

    2024年02月05日
    浏览(42)
  • 【ROS2机器人入门到实战】Gazebo仿真插件之两轮差速

    当前平台文章汇总地址:ROS2机器人从入门到实战 获取完整教程及配套资料代码,请关注公众号鱼香ROS获取 教程配套机器人开发平台:两驱版| 四驱版 为方便交流,搭建了机器人技术问答社区:地址 fishros.org.cn 小鱼又来了,完成了上节课的Gazebo加载FishBot,但是机器人还是不

    2024年02月03日
    浏览(63)
  • 基于gazebo仿真环境的移动机器人导航仿真

    摘要 :实现移动机器人同时定位与建图技术和路径规划技术是让机器人真正智能化的前提。针对机器人自主导航问题,本文在gazebo仿真环境下,利用开源软件包Gmapping提供的算法完成了机器人的自定位与手动地图构建,在此基础上结合move_base软件包相关的路径规划算法完成了

    2024年02月01日
    浏览(37)
  • [FastDDS] 基于eProsima FastDDS的移动机器人数据中间件

    注明:无 本栏目主要讲述,基于eProsima FastDDS的移动机器人数据中间件的实现、使用、性能测试。 What is [ FastDDS ]: eProsima Fast DDS是DDS(数据分发服务)规范的C++实现,该规范是由对象管理组(OMG)定义的协议。 eProsima Fast DDS在资源处理方面具有可预测性、可扩展性、灵活性和

    2024年02月22日
    浏览(52)
  • 机器人制作开源方案 | 基于混合现实的可移动机械臂平台

     作者: 董泽宇 李肖兵 叶彤 李秉宸 吴雅霏 单位: 广西大学 电气工程学院 指导老师: 李勇 雷圆媛       为应对特殊条件下不便于实地进行移动式操作的问题,本作品设计了一套基于混合现实的可移动机械臂操作控制系统。该系统分为人机交互、机械驱动、虚拟现实三个

    2024年01月22日
    浏览(44)
  • 【移动机器人】基于JADE改进差分算法的多AGV路径规划

      最近帮同学做个东西,但是问题在于是之前从没接触过的领域–移动机器人轨迹规划,虽然也是搞机器人的,但是对 AGV 那边的情况是一无所知,这次能完成也算是挑战成功。此次任务目的是多辆AGV小车搬运货物,保证搬运总时间最短并且小车与货物之间,小车与小车之

    2024年02月10日
    浏览(44)
  • 【深蓝学院】移动机器人运动规划--第2章 基于搜索的路径规划--笔记

    Configuration Space等概念 机器人配置: 指机器人位置和所有点的表示。 DOF: 指用于表示机器人配置所需的最小的实数坐标的数量n。 C-space: 包含机器人n维所有配置的空间。 在C-space中机器人的pose是一个点。 机器人在C-space中被表示为一个点,pose包含为R,t 空间中的障碍物也需要映

    2024年01月22日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包