ROS---激光雷达的使用

ROS—激光雷达的使用

  激光雷达是现今机器人尤其是无人车领域及最重要、最关键也是最常见的传感器之一,是机器人感知外界的一种重要手段。本文将介绍在ROS下使用激光雷达传感器,我们选用的激光雷达型号为思岚A1。
ROS---激光雷达的使用_第1张图片
使用流程如下:

  1. 硬件准备;
  2. 软件安装;
  3. 启动并测试。

1 硬件准备

1.1 雷达连接上位机

当前直接连接Jetson nano即可,如果连接的是虚拟机,注意虚拟机的相关设置。
ROS---激光雷达的使用_第2张图片

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

ROS---激光雷达的使用_第3张图片

返回工作空间,调用catkin_make编译,并source ./devel/setup.bash,为端口设置别名(将端口 ttyUSBX 映射到 rplidar):

cd src/rplidar_ros/scripts/
./create_udev_rules.sh

ROS---激光雷达的使用_第4张图片

3 启动并测试

3.1 rplidar.launch文件准备

首先确认端口,编辑 rplidar_a1.launch 文件。


  "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

ROS---激光雷达的使用_第5张图片

3.3 rviz中订阅雷达相关消息

启动 rviz,添加 LaserScan 插件:
ROS---激光雷达的使用_第6张图片

注意: 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

ROS---激光雷达的使用_第7张图片
最后我们还需要source一下,否则没用。

source ~/.bashrc

你可能感兴趣的:(ros,机器人)