一、关于算法移植方面
a.因实际项目需求,我需要把在turtlebot2实验平台上面的建图、定位、路径规划、自主导航算法移植到对应项目的另一个移动底座上,并且上位机也需要更换成另一台笔记本或者工控机
b.首先,我们需要把我们原先笔记本上的整个工作区拷贝到新的上位机上面,由于我们的算法用了很多其他的依赖库,所以在对新上位机的工作区编译之前,需要先下载安装好我们需要的依赖文件。如果在后面运行程序的时候还出现了类似的情况,我们再单独去下载相应的引入文件。
c.安装好依赖文件之后,就要对新上位机上面拷贝过去的程序包重新编译,不然原来编译好的文件会在新的上位机上面出现路径错误。在编译过程中,由于某个程序包抛出了异常,或者是系统环境不一致,又或者是某个程序包出现了问题中断了编译,可能会导致出问题之后的程序包都编译失败,以至于之后再执行我们的算法程序的时候会出现各类问题,解决办法是在出现问题的时候找出出现问题的节点所在程序包,对其单独编译。
d.其次,因移动底座更改,不再是turtlebot2的kuboki底座,所以我们原先的turtlebot2驱动文件也就自然需要替换成新底座的驱动程序(也可称为基控制程序或者底座数据管理程序,是上位机创建的一个程序节点,主要通过话题的发布和订阅利用消息来对底座的进行运动控制和对一些信息的采集,比如move_base把运动指令发布到/cmd_vel,然后底座驱动程序订阅这个话题,得到其中的消息命令,就能顺利移动了;再比如把底座传来的相应消息,如编码器得到的位移和IMU得到的航向角信息,经过一些处理之后传到底座驱动程序,整理成一定的消息格式,再以/odom话题的形式发布出去,供上位机的其他程序节点使用)。
e.