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

前言

这个机器人在去年四月份就做好了,但之后忙着毕业论文,毕业答辩,然后考研啥的,拖到现在,距离上一篇博客的发布一年了,才有时间重新坐下来慢慢写完这篇博客。答辩完后机器人也被我拆了,因为mini PC和雷达等器件都要还回给学校实验室,现在只剩下一块光秃秃的底盘驱动板,但还好做的过程中都有拍照记录,所以之后博文中还是可以看到机器人成品的样子。同时随着教程进度,我会逐步开源我的代码和PCB工程,到了总结的时候,我会将所有代码打包起来上传github供大家免费下载。

首先给出开发框架

ros平台下基于激光slam的室内导航机器人搭建(二)
我将机器人的开发拆分成上图几个部分,robot左边的工作是上位机也就是我的miniPC负责的,robot右边的工作由STM32负责。

讲述各部分负责的功能

上位机部分

上位机主要负责构建地图和导航,这部分运行在ros系统下,用的都是ros平台的开源算法,地图建立用的是gmapping,导航用的是navigation。这些算法的具体使用方式在ros官网都有教程。
地图构建算法地址
导航算法地址

STM32部分

STM32芯片作为驱动板的主控,主要负责控制电机转速和采集速度信息并将速度信息上传至上位机。