1 硬件组成和软件框架
1.1 硬件结构
运动底座采用四个麦克纳姆轮的全向结构,两个SICK激光雷达分别安装在机器人对角的位置(图1中的机器人左下黄色那一部分是其中一个,另外一个在后面没拍到),一台2U服务器(图1好像看不到,反正这种抽拉式的服务器比较方便安装在车体上),两块12v50AH的电池,一个逆变器,一块STM32主控制板,四个驱动器,四个直流有刷电机。(机械臂是UR5目前还在整合工作阶段,暂不纳入这篇文章的介绍部分)
吐槽一下搞机器人是真的难,软硬兼备才算合格。这里不去具体说驱动器、电机选型、机械结构的设计这些问题,注意一下驱动器功率,电机扭矩,机器人整个负载是多少估计一下(避免发生电机带不动整个机器人的这种情况)。图1 实物图
图2 solidworks三维图(对角两个圆柱体是sicks300激光雷达,偷懒没去认真按照实际雷达建模,不好意思)
1.2 ROS下软件架构
进入实验室后,受到师兄前辈的影响还是挺大的,他们的观点就是要做好一个事情,先把大的框架想清楚,罗列清楚需要什么东西,达到什么目的等等(甲方思维,需求出发)。有了这个框架,实施的时候按照“缺什么,补什么;少什么,添什么;没有条件,创造条件”的原则落实就可以了。框架的设计不用一步到位,细节都是慢慢做的时候去补充。我明确要做2D激光SLAM,就要知道ROS底下哪些模块是我需要的,这些模块实现了什么功能。ROS的一大特点就是它的低耦合性,简单地说就是你可以拿别的东西替代其中一些模块。比如说图