机器人操作系统ROS—激光雷达RpLidar A1

移动机器人在环境中获取障碍物的具体位置、房间的内部轮廓等信息都是非常必要的,这些信息是机器人创建地图、进行导航的基础数据。考虑成本,买了一个SLAMTEC公司的低成本二维激光雷达RpLidar A1进行初步的学习,它可以最快10hz的频率检测360度范围内的障碍物信息,最远检测距离12米,适合室内移动机器人使用。本文讲解如何使用它感知周围环境。

一、准备工作

1、安装ros对应驱动功能包rplidar

sudo apt install ros-melodic-rplidar-ros

2、硬件连接

接好连接线并插到usb口上,激光雷达会开始旋转。

检查激光雷达是否被正常识别:

lsusb|grep Cygnal

二、测试激光雷达

1、启动激光节点

roscore
rosrun rplidar_ros rplidarNode
  [ INFO] [1593424905.411970119]: RPLIDAR running on ROS package rplidar_ros. SDK Version:1.7.0
  RPLIDAR S/N: CCE39A87C5E392D5A5E492F85C36316B
  [ INFO] [1593424907.918969787]: Firmware Ver: 1.25
  [ INFO] [1593424907.919051349]: Hardware Rev: 5
  [ INFO] [1593424907.920679886]: RPLidar health status : 0

2、查看激光雷达topic输出的数据

# 查看topic
rostopic list -v|grep scan
  * /scan [sensor_msgs/LaserScan] 1 publisher

# 查看输出数据格式定义
rosmsg show sensor_msgs/LaserScan
    std_msgs/Header header
      uint32 seq
      time stamp
      string frame_id
    float32 angle_min
    float32 angle_max
    float32 angle_increment
    float32 time_increment
    float32 scan_time
    float32 range_min
    float32 range_max
    float32[] ranges
    float32[] intensities

# 输出topic内容
rostopic echo /scan

三、激光数据可视化

# 使用rplidar功能包在rviz中查看激光雷达数据(frame=laser、RPLidarLaserScan Topic=/scan)
roslaunch rplidar_ros view_rplidar.launch

四、使用激光雷达进行SLAM定位建图

# 安装依赖包
sudo apt install ros-melodic-fake-localization  ros-melodic-map-server ros-melodic-hector-slam ros-melodic-rplidar-ros-dbgsym  

 

五、安装到树莓派上

六、坦克使用激光雷达避障

 

七、其他

1、树莓派USB电流问题

树莓派USB输出电流是1200mA,rplidar的启动电源电流需要1500mA,所以热插拔会导致系统重启,并且重启后可能无法获得/scan topic数据,所以如果你到这个情况可以使用带外部供电的usb hub。

 

 

发表评论

电子邮件地址不会被公开。