树莓派4使用奥锐达MS200激光雷达实现hector 和gmapping建图算法
我的主页里面有树莓派4B装Ubuntu20.04的文章,2024年最新,你能遇到的问题有解决方案 ,建议直接搬我的GitHub里的ros\src代码,移植过程太蛋疼了
推荐阅读【(实物非仿真)香橙派zero3搭载激光雷达复现hector mapping slam算法 - CSDN App】https://blog.csdn.net/qq_62404311/article/details/135105698?sharetype=blog&shareId=135105698&sharerefer=APP&sharesource=zlm2004&sharefrom=link
一、安装ros1 noetic
直接用鱼香ros好吧。终端输入
wget http://fishros.com/install -O fishros && . fishros
直接按1装ros,接着按他的默认来,选择系统版本的时候,我们选择noetic就行。而且还要用桌面版.
突然发现需要多安装的下面这一步才行(2025年5月更新)
sudo apt-get install ros-noetic-csm
二、下载ms200激光雷达固件包
1.直接找他官网,资料下载 - 奥锐达官网,下载MS200_Ros-V1.3.4(2025年8月更新,已经变了不少,可以直接用我底下GitHub里的)。
2.创建工作空间,ubuntu主目录下创建文件夹“ros_ws”,再在里面创建文件夹"src"(这玩意我的GitHub里面有,直接下来用就可以了),再把MS200_Ros-V1.3.4这里面的oradar_ros放在src里面。
具体工作空间咋创建我就不说了
3.改文件oradar_ros\launch里的ms200_scan.launch,打开,我们要改两句话(现在改的是hector 算法的),这很关键,一个是"frame_id",一个是"scan_topic",也可以直接复制下面的话(2025年8月更新,注意/dev/ttyUSB0,你的可能是/dev/ttyACM0,同步下面的添加串口管理员权限)
<launch>
<node pkg="oradar_lidar" type="oradar_scan" name="oradar_scan" output="screen">
<param name="device_model" type="string" value="MS200"/> <!--设备型号: MS200-->
<param name="frame_id" type="string" value="laser"/> <!--配置frame_id-->
<param name="scan_topic" type="string" value="/scan" /> <!--设置激光雷达的topic名称-->
<param name="port_name" type="string" value="/dev/ttyUSB0"/> <!--配置串口设备port: dev/ttyUSB0-->
<param name="baudrate" type="int" value="230400"/> <!--配置串口波特率:230400-->
<param name="angle_min" type="double" value="0.00" /> <!--设置最小角度,单位度.取值范围[0,360].default=0.0-->
<param name="angle_max" type="double" value="360.00"/> <!--设置最大角度,单位度.取值范围[0,360].default=360.0-->
<param name="range_min" type="double" value="0.05" /> <!--设置最小距离,单位米,default=0.05-->
<param name="range_max" type="double" value="20.0" /> <!--设置最大距离,单位米,default=20.0-->
<param name="clockwise" type="bool" value="false"/> <!--配置点云方向,true为顺时针, false为逆时针-->
<param name="motor_speed" type="int" value="10" /> <!--配置motor转速.default=10Hz, 取值范围5~15Hz-->
</node>
</launch>
退回到ros_ws文件夹,编译包,右键打开终端,运行
catkin_make
4.添加环境变量:
编译完成后添加工作空间环境变量,在终端输入(vim需要自己先安装)
sudo vim ~/.bashrc
在该文件的末尾添加以下语句
source ~/ros_ws/devel/setup.bash --extend
再运行一下(2025年5月更新)
source devel/setup.bash
三、添加串口管理员权限
1.先运行
ls -l /dev/ | grep ttyUSB
应该会出现ttyUSB0,这是正常的。(2025年8月更新,有同学说USB没有,可以换成ACM试试,同步上面的launch)
2.输入
sudo usermod -aG dialout ubuntu
(此命令中 ubunt 为虚拟机用户名,用户需输入自己虚拟机的用户名,命令行的开头,@符号前面的字符就是虚拟机的用户名)输入完成后,按下回车,输入虚拟机密码(用户需输入自己设置的虚拟机的密码)
再输入
newgrp dialout ubuntu
按下回车,给虚拟机接口最高权限(给文件拥有者群组、其他用户读写和执行权限)。
3.接着重新打开终端,运行
roslaunch oradar_lidar ms200_scan_view.launch
正常打开rviz,并显示雷达数据画面,都OK了
四、gmapping建图算法
具体使用看:LD19激光雷达——Hiwonder-课程-LD19激光雷达 ——提取码是2ozl
和我的GitHub
建图运行
roslaunch demo_gmapping_slam gmapping_ldlidar.launch
五、hector 建图算法
具体使用看:梵思C1激光雷达——Hiwonder-课程-A1激光雷达 ——提取码是seyo
和我的GitHub
roslaunch oradar_lidar hector_mapping.launch运行
roslaunch oradar_lidar ditu.launch
我的GitHub上面放了完整的src文件,有需要的可以直接下载直接用。
商家的参考文章链接
LD19激光雷达——Hiwonder-课程-LD19激光雷达 ——提取码是2ozl
A1激光雷达——Hiwonder-课程-A1激光雷达 ——提取码是pw68
C1激光雷达——https://pan.baidu.com/s/1MnJ12ikq2G60RoKWKmVuUQ ——提取码是seyo
更多推荐
所有评论(0)