我的主页里面有树莓派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文件,有需要的可以直接下载直接用。

lins-sktmooon/ros_ma200_slam_gmapping: 本人对奥锐达MS200激光雷达的研究,很复杂,移植了gmapping和hector的建图算法,参考很多,有问题你可以b站找“天月风沙”联系我。

商家的参考文章链接

LD19激光雷达——Hiwonder-课程-LD19激光雷达 ——提取码是2ozl

A1激光雷达——Hiwonder-课程-A1激光雷达 ——提取码是pw68

C1激光雷达——https://pan.baidu.com/s/1MnJ12ikq2G60RoKWKmVuUQ ——提取码是seyo

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐