目录
首先安装cartographer算法
1.首先解決rosdep问题(也可以装ros)
使用小鱼的代码:
wget http://fishros.com/install -O fishros && . fishros
warning!!!里面的一键安装cartographer功能不要用!!!我遇到了编译失败问题,头铁的可以尝试(邪恶)
2.安装cartographer算法
使用脚本安装:
感谢WLwind整理的脚本并在github上公开,链接如下:
https://github.com/WLwind/cartographer_installation
直接运行.sh文件就可以了,README中也有说明。
安装完成后会生成一个cartographer_ws的工作空间。
安装A3雷达驱动
首先创建文件夹rplidar_ws,rplidar_ws里再创建一个src文件夹。
1.下载rplidar的功能包,放到catkin_ws的src下,进行编译:
https://github.com/Slamtec/rplidar_ros.git 去该网站下载下来后直接放到工作空间中编译千万不要将其当成一个单独的工作空间,它只是一个功能包!!!
cd ~/rplidar_ws
catkin_make
配置完后的文件内容:
对应激光雷达类型运行相应的launch文件,我的雷达是A3
2.设置源:
cd ~/rplidar_ws
source devel/setup.bash
3.设置权限
sudo chmod 777 /dev/ttyUSB0
4.启动激光雷达并使用rviz实现可视化
roslaunch rplidar_ros view_rplidar_a3.launch
这时激光雷达应该转起来,并启动rviz界面,在终端成使用ctrl+c键停止
5.使用上述代码自行安装好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/rplidar_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 ~/rplidar_ws/devel/setup.bash
2.设置权限
sudo chmod 777 /dev/ttyUSB0
3.只运行激光雷达
roslaunch rplidar_ros rplidar_a3.launch
此时激光雷达应该转起来
4.再开一个终端,设置源(存放cartographer功能包的!!!)
source ~/cartographer_ws/devel_isolated/setup.bash
5.启用cartographer算法进行Slam
roslaunch cartographer_ros demo_revo_lds.launch
source ~/rplidar_ws/devel/setup.bash
sudo chmod 777 /dev/ttyUSB0
roslaunch rplidar_ros rplidar_a3.launch
source ~/cartographer_ws/devel_isolated/setup.bash
roslaunch cartographer_ros demo_revo_lds.launch
参考文献:
ROS之旅(一) Ubuntu18.04 使用rplidarA3-M1激光雷达 用cartographer算法SLAM_青科学子的博客-CSDN博客