The rplidar ros package, support rplidar A2/A1
Maintainer status: maintained
Maintainer: Slamtec ROS Maintainer
Author:
License: BSD
Source: githttps://github.com/robopeak/rplidar_ros.git(branch: master)
目錄
Overview
This package provides basic device handling for 2D Laser Scanner RPLIDAR A1/A2.
RPLIDAR is a low cost LIDAR sensor suitable for indoor robotic SLAM application. It provides 360 degree scan field, 5.5hz/10hz rotating frequency with guaranteed 8 meter ranger distance. By means of the high speed image processing engine designed byRoboPeak, the whole cost are reduced greatly, RPLIDAR is the ideal sensor in cost sensitive areas like robots consumer and hardware hobbyist.
RPLIDAR A2performs high speed distance measurement with more than 4000 samples per second,RPLIDAR A1supports 2000 samples per second. For a scan requires 360 samples per rotation, the 10hz scanning frequency can be achieved. Users can customized the scanning frequency from 2hz to 10hz freely by control the speed of the scanning motor. RPLIDAR will self-adapt the current scanning speed.
The driver publishes device-dependentsensor_msgs/LaserScandata.
SLAM based on RPLIDAR and ROS Hector Mapping:
ROS Nodes
rplidarNode
rplidarNode is a driver for RPLIDAR. It reads RPLIDAR raw scan result using RPLIDAR's SDK and convert to ROSLaserScanmessage.
Published Topics
scan(sensor_msgs/LaserScan)
it publishes scan topic from the laser.
Services
stop_motor(std_srvs/Empty)
Call the serive to stop the motor of rplidar.
start_motor(std_srvs/Empty)
Call the service to start the motor of rplidar.
Parameters
serial_port(string, default: /dev/ttyUSB0)
serial port name used in your system.
serial_baudrate(int, default: 115200)
serial port baud rate.
frame_id(string, default: laser)
frame ID for the device.
inverted(bool, default: false)
indicated whether the LIDAR is mounted inverted.
angle_compensate(bool, default: true)
indicated whether the driver needs do angle compensation.
Device Settings
Use following udev rules to set permission for a rplidar device.
KERNEL=="ttyUSB*", MODE="0666"
For fixed rplidar port, you can using the script file to remap the USB port name:
./scripts/create_udev_rules.sh
Once you have change the USB port remap, you can change the launch file about the serial_port value.
Launch File Examples
Check the authority of rplidar's serial-port :
ls -l /dev |grep ttyUSB
Add the authority of write: (such as /dev/ttyUSB0)
sudo chmod 666 /dev/ttyUSB0
Start a rplidar node and view the scan result in rviz.
$ roslaunch rplidar_ros view_rplidar.launch
Start a rplidar node and run rplidar client process to print the raw scan result. 測試雷達
$ roslaunch rplidar_ros rplidar.launch
$ rosrun rplidar_ros rplidarNodeClient
About Slamtec/RoboPeak
RoboPeakis a research & development team in robotics platforms and applications, founded in 2009. Our team members are Software Engineers, Electronics Engineers and New Media Artists that all come from China. We establish our companySlamtecin 2013.
Slamtec focus on providing economically affordable and high-performance solution for robots in auto localization and navigation as well as offering related core sensors. And our major products are low-cost LIDAR sensor(RPLIDAR), SLAM (Simultaneous Localization and Mapping) solution based on LIDAR technology and Zeus General Purpose Robot Platform which can be widely used in business places.
Our vision is to enrich people’s daily-life with the ever-changing development and innovation in robotic technologies.
原文鏈接:http://wiki.ros.org/rplidar