1.下载rplidar的功能包,放到catkin_ws的src下,进行编译:
https://github.com/Slamtec/rplidar_ros.git 去该网站下载下来后直接放到工作空间中编译千万不要将其当成一个单独的工作空间,它只是一个功能包!!!
cd ~/catkin_ws
catkin_make
配置完后的文件内容:
对应激光雷达类型运行相应的launch文件,我的雷达是A3
2.设置源:
cd ~/catkin_ws
source devel/setup.bash
3.设置权限
sudo chmod 777 /dev/ttyUSB0
4.启动激光雷达并使用rviz实现可视化
roslaunch rplidar_ros view_rplidar_a3.launch
这时激光雷达应该转起来,并启动rviz界面,在终端使用ctrl+c键停止
5.按照古月居提供的ros九讲中的第六讲或百度航天智慧物流比赛中提供的技术支持自行安装好cartographer算法功能包,注意一定要将其单独放在一个工作空间下。
该功能包编译使用以下指令:
catkin_make_isolated --install --use-ninja
6.编译好功能包后,修改revo_lds.lua文件,路径:
cartographer_ws/src/cartographer_ros/cartographer_ros/configuration_files/revo_lds.lua
修改之后文件内容如下图
以下两句中的laser
tracking_frame = "laser",
published_frame = "laser"
成自己激光雷达的frame_id,我的是laser
查看自己激光雷达fram_id的方法:
在该路径下:/home/rws/catkin_ws/src/rplidar_ros-master/launch/rplidar_a3.launch
保存!!!并等待保存结束
7.修改demo_revo_lds.launch文件,文件路径:
cartographer_ws/src/cartographer_ros/cartographer_ros/launch/demo_revo_lds.launch
修改后内容如下:
保存!!!并等待保存结束
8.编译修改完后的cartographer功能包
catkin_make_isolated --install --use-ninja
接下来实现cartographer算法slam
1.设置源
source ~/catkin_ws/devel/setup.bash
2.设置权限
sudo chmod 777 /dev/ttyUSB0
3.只运行激光雷达
roslaunch rplidar_ros rplidar_a3.launch
此时激光雷达应该转起来
4.再开一个终端,设置源(存放cartographer功能包的!!!)
source ~/google_ws/devel_isolated/setup.bash
我用的是古月居提供的功能包
5.启用cartographer算法进行Slam
roslaunch cartographer_ros demo_revo_lds.launch
请看效果图(本图中激光雷达并没有移动所以建图不完整!!)
本文提供了两个工作空间分别是google_ws和cartogrtapher_ws
其中google_ws是古月居提供的,cartogrtapher_ws是航天智慧物流比赛(2022年17届智能车比赛)官方提供的
以上两个工作空间皆为配置完成的,都能实现真实激光雷达实时建图
链接如下:
使用功能包编译时:
可能出现ninja包的依赖问题,尝试以下指令
sudo apt-get install -y ninja-build
可能出现ceres编译问题,尝试该网站解决