ros平台下基于激光slam的室内导航机器人搭建(一)

这是个什么东西

简单来讲,我们要做一个机器人,这个机器人可以构建室内地图,在我们给定目标点后,可以根据地图做路径规划,然后进行自主导航,也就是会自己跑到那个点。

我为什么要做这个东西

因为毕设就是做这个,干脆写个博客骗点积分

框架介绍

首先我们知道,机器人之所以叫机器人,不是因为它长得像人,而是因为它可以模仿人的某些行为,像这次做的机器人,它就是可以模仿人的移动,比如我们人类从一个点移动到另一个点,我们会尽量计算出一条最优路线,我们会找短的路线,我们会避开障碍物,我们会尽量在我们熟悉的范围内做规划,如果,到了一个新的地方,我们会试探性探索新路径。而不是横冲直撞。ros平台下基于激光slam的室内导航机器人搭建(一)
从上图我们可以看出机器人主要分为两大部分:思考+移动

思考

机器人的思考就是机器人做决策,如何规划路径,如何计算最优解,说白了就是机器人的脑子。一般我们会选取算力较强的计算机负责处理这部分的工作。大部分情况下,这种简单的机器人使用树莓派就足够应付了,简单实惠,市面上大部分入门级机器人也都是用的树莓派,但这次我用miniPC,为什么不用树莓派呢,因为有钱任性(老师有钱),但是在树莓派端开发的步骤也基本完全一样,我试过,我不会骗你。
ros平台下基于激光slam的室内导航机器人搭建(一)
上图是这次我用的PC,一个技嘉的miniPC。

移动

机器人的移动就非常好理解了,由于底盘控制对实时性要求非常高,但是计算量又不是特别的大,所以一般采用单片机作为底盘的控制中心,这次底盘驱动板我采用了STM32F407ZGT6作为主控,板子是让实验室师弟帮我画的,现在还没做好,做好后我会发出来。底盘采用了四轮麦克纳姆轮底盘,可能很多人很陌生,我先上个图ros平台下基于激光slam的室内导航机器人搭建(一)
ros平台下基于激光slam的室内导航机器人搭建(一)
可以明显的看到这种*非常特别,底盘采用这种*的话可以实现平移,看起来比较秀,当然这种*也比较贵,你也可以换成普通的*,只是上位机需要稍微修改一下参数。
电机的话我是使用了很普通的直流有刷电机,上图先
ros平台下基于激光slam的室内导航机器人搭建(一)
这种电机自带编码器,而且便宜实惠,简单易控。

列一个清单

雷达:思岚科技的A2 * 1
上位机:技嘉的miniPC * 1
底盘结构:亚克力结构 * 1
电机:直流有刷电机 * 4
*:麦克纳姆轮 * 4
电机驱动模块:tb6612 * 2
Imu模块:mpu9250 * 1
电源:从实验室捡来的robomaster 24V电源 * 1
降压模块:24V转19V * 1;24V转12V * 1;12V转5V * 1;
底盘驱动板元件 :(STM32芯片等)

最后

由于底盘驱动板还没做好,所以先写这么多,交代一下机器人的结构,后面随着毕设的进展,我再慢慢完善整个搭建过程。