兴趣内容
相关好价
全部产品
精选
最新
怒提带激光雷达的新车
最近在学习 ros 的 slam 导航,感觉有点力不从心,因此下血本怒提带激光雷达的新车一部。这个车质量还不错,拿起来很有质感,而且商家提供了很多学习资料,更重要的是拉了个学习交流群,这资源最重要了。晚上刷短视频看到居然有车低配没激光雷达,居然有那种贴上去的改装件,吓得我赶紧再看看我这部新车激光雷达在不在,哈哈!  
上班ROS1,下班ROS2
最近在调试一个准备淘汰的机器,因为需要有自主导航功能,于是需要调试一下ROS。好在没有时间限制,所以够我慢慢折腾了。这个机器是走轨道拉货用的,原厂的导航系统已经被拆了,因为软件不能用了,所以我拿来改装。一开始使用的方案是OPENCV巡线走的方案,刚好导轨就是那条引导线,但是存在无法调头的问题,所以最终还是得上激光雷达做导航处理。为了把这个机器调试好,ROS就得学习一下,这是我所能接触到最容易搞好导航的基础了。于是我买了这台ROS小车来深入学习。不过之前上班搞的那台车已经被我部署ROS1了,而且也弄好建图和Amcl定位了,所以也懒得再去升级ROS2,但新买的车又是ROS2的,于是我就混着学了。现在最大的问题点就是Move_base模块的使用了,因为有了这台小车,结合CSDN上的散装资料,已经使用Hector建图和Amcl定位,而且是没有里程计和陀螺仪的那种,全靠激光导航在处理事情。所以接下去的重点还是Move_base怎么弄起来,感觉没有里程计和陀螺仪去搞这个还是比较困难的,一个人也懒得去搞加装这些了。还是先继续看看这台小车的ROS2的知识,扎实一下基础再来继续操作了。这台Yahboom的小车子真的是提供了非常多的学习资料,对初学者非常友好,连最基础的小车组装都写得非常详细,只要识字的话,都可以完成这步骤,然后就是从Linux基础介绍,毕竟ROS还是需要在Linux上面运行,所以还是需要搞定Linux常用的命令,紧接着又指导怎么部署小车配置,跑一些示例的程序,让操作者在复制粘贴几条指令之后,可以看到小车车跑起来的动作,有了更像进一步学习的信息,最关键的是每个示例程序都会有很详细的解释,具有较好的参考价值。此外,商家还无微不至地把部署好的ROS虚拟系统提供了,产品买过来就可以直接操作ROS示例的内容。在Windows系统上直接跑虚拟机,也省去了重装系统的麻烦,而且可以移植到别的电脑上继续学习。总之,这是一款非常有趣的小车,ROS系统还是比较值得深入学习一下。这小车也可以当作教育设备给孩子们做一下Linux和ROS的启蒙教育。  
在ROS系统上使用Hector建图
晚上的ROS学习,又让我感觉进入了一个新阶段,总算把激光雷达的地图给创建了。其实学ROS也是纯属个人业务兴趣爱好,感觉蛮有趣的,有利于提升下自己。我决定把这个过程记录一下,毕竟也是在各大网站上搜索到相关信息才实现这个目的的。首先需要安装导航激光的ROS驱动,这个是P+F的R2000产品,所以去Github上搜索到该产品的驱动,在bing上输入关键字R2000 ROS,即可找到相关的驱动程序。根据Github的驱动页面的详细安装说明,一步步操作下来。这个应该算是比较基本的编译操作,就不详细介绍了,复制粘贴步骤上的指令,基本上不会有什么问题。驱动安装完成之后,就可以执行内置的launch文件启动导航激光的节点了。可以在打开个新终端,输入rostopic echo /scan,可以看到激光雷达的数据了。到激光雷达出现数据这一步之前,都是没怎么难倒我的,但使用Hector建图就给我带来了很多困恼,原因在于我对TF变换不是很熟悉,所以有个Frame id没有改正确,摸索了非常久。因为R2000官方ROS驱动的参数配置,输出的frame_id是scanner_link,而后续变换的时候认的是scanner,所以需要将这个文件的frame_id更改为laser,后面引用的是这个名字。为了进行Hector建图,首先要安装Hector对应的包。在终端上输入sudo apt-get install ros-noetic-hector-slam安装一下Hector,然后创建一个启动hector_mapping节点的launch文件,这个可以在相关网站上(激光雷达建图之hector_mapping 建图)获取相关信息。启动了hector的launch文件,就进入RVIZ,进入建图阶段了,如下图就是激光导航扫出的区域的,感觉还是蛮准确的。hector建图的好处是它主要依赖激光扫描数据中的已知特征点进行定位,所以不需要编码器信息和陀螺仪信息,对于我做简易的激光小车导航是非常省事的。但缺点也是有的,就是对数据的质量和准确性要求较高,所以等真正用来导航的时候可能会有其他问题,不过用于导航的方法我还没有找到,等到时候真的能搞定的话,再来确认是否有其他问题点。