Turtlebot 3上安装rplidar A1驱动并配置相关的sh及launch文件,实现SBC端的bringup,以及PC上的rviz。Turtlebot 3默认的雷达是HLS(Hitachi-LG Sensor) LFCD的驱动,如果换成slamtec的rplidar A1,以下是操作成功的方法。
- 首先在PC上运行roscore
- SBC端下载并安装rplidar驱动
cd ~/catkin_ws/src
git clone https://github.com/robopeak/rplidar_ros.git
cd ..
catkin_make --pkg rplidar_ros
- 配置环境
echo "export TURTLEBOT_LASER_SENSOR=rplidar" >> ~/.bashrc
echo "source /home/ubuntu/catkin_ws/devel/setup.bash" >> ~/.bashrc
- 检查并配置USB端口
ls -l /dev |grep ttyUSB
sudo chmod 666 /dev/ttyUSB0
查询到的USB端口号为0,设置成ttyUSB0
- 打开rviz查看rplidar是否正常安装并启动
roslaunch rplidar_ros view_rplidar.launch
这时候SBC端的rviz能够正常看到点云,但是如果运行bringup是不能正常操作rplidar的,原因是以下配置需要更新。
- 配置环境
roscd rplidar_ros/scripts/ && ./create_udev_rules.sh
需要管理员密码,运行成功看到finish提示。
查看以下两个路径下的launch信息,使用gedit打开
gedit ~/catkin_ws/src/rplidar_ros/launch/rplidar.launch
查看信息
node name="rpliarNode" pkg="rplidar_ros" type="rplidarNode"
下面是关键的一步,使用gedit修改
gedit ~/catkin_ws/src/turtlebot3/turtlebot3_bringup/launch/turtlebot3_lidar.launch
打开后,看到是HLS LFCD相关的信息,修改如下
node pkg="rplidar_ros" type="rplidarNode" ...
param name="port" value="/dev/ttyUSB0"
一定要确保两个launch文件信息是一致的。
- 运行bringup
roslaunch turtlebot3_bringup turtlebot3_robot.launch
以上都是SBC端的操作
- PC端设置环境
export TURTLEBOT3_MODE=burger
cd catkin_ws/
source devel/setup.bash
运行rviz
roslaunch turtlebot3_bringup turtlebot3_model.launch
远程控制的模式