仿生自主运动的六足机器人的设计与实现
2019-01-14姜奥博胡聪朱辉吴汉斌
姜奥博 胡聪 朱辉 吴汉斌
摘 要:腿足机器人是移动机器人领域的重要研究方向。与其他类型的移动机器人相比,腿足机器人在非结构环境中进行野外探测,灾区救援和粗糙道路交通运输上有着显著优势。该文基于仿生运动学和图像处理算法进行设计六足机器人可以实现通过手机控制六足机器人行走,可以实现通过WiFi进行机器人与手机的通信,实现机器人跟随发送的指令进行相应动作。系统稳定可靠。
关键词:六足机器人 图像采集 WiFi 传感器
中图分类号:TP242 文献标识码:A 文章编号:1672-3791(2019)11(a)-0010-03
1 系统组成及机械结构
该文设计一个仿生自主运动的六足机器人[1],利用图像采集设备获取图像数据,通过WiFi发送给Android手机,分析出下一步机器人的运动打算并返回给机器人,机器人分析这些控制命令和自身传感器数据,控制舵机实现自主运动。可应用于危险和恶劣的工作环境中。仿生六足机器人,从定义上讲,六足式机器人在我们完美的架构中,依靠昆虫的运动特性及原理。足是昆虫的唯一运动器官。昆虫有三对腿,分别称它们为前足、中足和后足。参照以上昆虫足结构,提出了一种更简单的表达方式。一只脚有3个关节(假设没有爪)。一个是左右摆动,另两个是上下运动,机器人模型结构设计图如图1所示。
在六足昆虫行走时,它们不是按照直线运动六足同时前进[2]。而是作为将6个足分为两个组替换,是三角結构交换前行。现在大部分多足机器人都是仿照了昆虫一样的运动结构。6条腿分散在身体两侧。左边前后及右边的中划分为一个组。右边前后及左边的中划分为一个组。这是典型的三角脚步姿态行走的方法,模仿这种运动姿态可以使机器人更加稳定,所以运用也十分广泛,如图2所示。
2 系统的软硬件实现
2.1 硬件方案与选型
2.1.1 六足机器人主控器的选择
该文选用树莓派作为该六足机器人主控制板。Raspberry Pi系统[3]的核心是在Broadcom BCM2835芯片上使用该系统,这是一种多媒体处理器系统。这意味着系统的大多数组件,包括中央处理器、图形处理器和音频和通信设备,可以集成到单个芯片中,并放置在主板中心的存储器芯片下面。通常使用的Broadcom BCM2835片上系统和通常的台式机或笔记本电脑不仅在处理器设计过程上有所不同,而且还使用不同的指令集架构(ISA),即ARM架构。
2.1.2 SLAM传感器选择
SLAM根据传感器分为视觉SLAM和激光SLAM[4],考虑激光扫描仪可靠性高、实用性高、技术成熟、建图直观、精度高、不存在累计误差等优点,该文选取2D激光扫描仪作为SLAM传感器。它可以在360°和6m的范围内进行激光扫描,并在平面上的点云地图上生成关于用于绘图的空间,导航机器人的定位。
2.2 系统软件设计
2.2.1 ROS机器人操作系统的介绍
可以通过ROS给机器人编写程序,让它去做一些有趣的事:检测人脸和其他物体,在房间中自主导航,相应语音命令[5]。ROS:用于控制机器人在各种现实世界和虚拟环境中工作的编程框架。它包括完成从导航路径规划到定位任务的软件(SLAM)、语言识别与合成、机器人视觉、3D物体识别、行动计划、多关节机械臂的运动控制、机器学习,甚至玩台球。ROS可以运行在多个平台:Linux、MaxOS X以及Windows。该项目的开发环境:Indigo版本的ROS+Ubuntu14.04(Trusty)系统。
2.2.2 2D激光扫描仪及SLAM算法
现在已经设计了一个六足机器人,准备尝试给它添加更强大的功能——同步定位并重建地图(SLAM)[6]。具有SLAM功能的机器人能够在未知的环境下重建地图,并可以同时定位自己在地图上的方位。在ROS里面的qmapping包的功能是使用激光扫描仪的数据创建一个地图(或者使用深度相机来模拟激光数据)。将上面的事情完成后,就可以命令机器人在任何场地里避开障碍物。使用move_base实现路径规划和避障在编译了让机器人走一根方形的脚本,在那个脚本里面,监听/odom坐标系和/base_link坐标系中的转换信息,在跟踪机器人前进的距离和转动的角度。
2.2.3 Socket网络通信
Socket网络通信是需要消耗时间的,所以需要单独开一个线程[7]。然后创建一个类MyServer用来执行所有的Socket通信的程序。因为Socket同时是耗时的程序,我们将耗时的或者繁琐的数据处理放在后台任务,有结果了在通知UI线程更新,这样的好处是:不会干扰UI线程的运行,不会因为将耗时程序或者繁琐的数据处理放在UI界面而出现程序运行时,界面回卡顿或者崩溃的现象。通信返回到UI界面的轨迹如图4所示。
3 实验结果
3.1 虚拟真实校准测试
在实物试验前需要进行虚拟真实校准测试,对于调节虚拟机器人关节的角度对应上真实机器人的关节角度,需要确定几个量[8]。
(1)真实机器人关节舵机读取的值。
(2)真实机器人关节的角度。
调整真实的机器人与ArbotiX软件中同步的虚拟机器人关节角度的位置实现正确的对准。当使用将现实的机器人得到的舵机反馈的角度信息直接的赋予给ArbotiX中URDF机器人模型,可以看到虚拟机器人关节的角度与真实的机器人的关节的角度是完全不同的。出现这个问题的原因肯定是某些参数设置的不正确所导致的[9],可以通过分析就可以知道是什么参数设置不正确所导致的现在的这个问题。机器人的实物图效果如图5所示。
3.2 手机端运行效果
手机APP上查看机器人当前的运行状态,周边环境信息。实现通过APP设置机器人的下一个运动动作,可以实现机器人跟随发送的指令进行相应动作。手机端运行效果如图6所示。
4 结语
该文基于仿生运动学和图像处理算法设计并实现了六足机器人自主运动,可以实现通过手机控制六足机器人行走,可以实现通过WiFi进行机器人与手机的通信,可以在手机APP上查看机器人当前的运行状态、周边环境信息。可以实现通过APP设置机器人的下一个运动动作,可以实现机器人跟随发送的指令进行相应动作。系统稳定可靠。
参考文献
[1] 辛桂陽,钟国梁,王恒升,等.基于对偶二次规划的六足并联机器人驱动力分配[J].机械工程学报,2018(7):20-27.
[2] 许家忠,王岩,尤波,等.结合人机工程学的轮足式移动平台模拟驾驶舱布局设计[J].哈尔滨理工大学学报,2017(4):1-6.
[3] 尤波,蔡佳龙,许家忠,等.载人六足机器人人机功能分配及操纵系统设计[J].哈尔滨理工大学学报,2017(1):48-53.
[4] 金马,高海波,丁亮,等.一种六足机器人模拟驾驶系统研究与实现[J].机器人,2016(6):678-686.
[5] PAN Yang,GAO Feng,QI Chenkun,et al.Human-Tracking Strategies for a Six-legged Rescue Robot Based on Distance and View[J].Chinese Journal of Mechanical Engineering,2016(2):219-230.
[6] 鹿振宇,黄攀峰,戴沛.面向空间遥操作的非对称双人共享控制及其性能分析[J].航空学报,2016(2):648-661.
[7] 徐坤,郑羿,丁希仑.六轮腿式机器人结构设计与运动模式分析[J].北京航空航天大学学报,2016(1):59-71.
[8] 刘逸群,邓宗全,刘振,等.液压驱动六足机器人一种低冲击运动规划方法[J].机械工程学报,2015(3):10-17.
[9] 宋爱国,马俊青.力觉临场感遥操作机器人:环境的动力学描述[J].南京信息工程大学学报:自然科学版,2014(2):113-120.