ROS—激光雷达的使用
激光雷达是现今机器人尤其是无人车领域及最重要、最关键也是最常见的传感器之一,是机器人感知外界的一种重要手段。本文将介绍在ROS下使用激光雷达传感器,我们选用的激光雷达型号为思岚A1。
使用流程如下:
- 硬件准备;
- 软件安装;
- 启动并测试。
1 硬件准备
1.1 雷达连接上位机
当前直接连接Jetson nano即可,如果连接的是虚拟机,注意虚拟机的相关设置。
1.2 确认当前的 USB 转串口终端并修改权限
USB查看命令:
ll /dev/ttyUSB*
授权(将当前用户添加进dialout组):
sudo usermod -a -G dialout your_user_name
授权完需要重启,重启之后才可以生效。
2 软件安装
进入工作空间的src目录,下载相关雷达驱动包,下载命令如下:
git clone https://github.com/Slamtec/rplidar_ros.git
返回工作空间,调用catkin_make
编译,并source ./devel/setup.bash
,为端口设置别名(将端口 ttyUSBX 映射到 rplidar):
cd src/rplidar_ros/scripts/
./create_udev_rules.sh
3 启动并测试
3.1 rplidar.launch文件准备
首先确认端口,编辑 rplidar_a1.launch 文件。
<launch>
<node name="rplidarNode" pkg="rplidar_ros" type="rplidarNode" output="screen">
<param name="serial_port" type="string" value="/dev/rplidar"/>
<param name="serial_baudrate" type="int" value="115200"/>
<param name="frame_id" type="string" value="laser"/>
<param name="inverted" type="bool" value="false"/>
<param name="angle_compensate" type="bool" value="true"/>
</node>
</launch>
3.2 终端中执行 launch 文件
终端工作空间下输入命令:
roslaunch rplidar_ros rplidar_a1.launch
3.3 rviz中订阅雷达相关消息
启动 rviz,添加 LaserScan 插件:
注意: Fixed Frame 设置需要参考 rplidar.launch 中设置的 frame_id,Topic 一般设置为 /scan,Size 可以自由调整。
4 遇到的问题:ROS运行roscore没响应
当我们配置好分布式框架后,想要启动roscore发现没有反应,这便需要我们重新进行IP的配置了。
单机模式设置:
使用gedit命令打开~/.bashrc
,把分布式注释掉,并在后面追加:
export ROS_HOSTNAME=localhost
export ROS_MASTER_URI=http://localhost:11311
最后我们还需要source一下,否则没用。
source ~/.bashrc