From unboxing RPLIDAR to running in ROS in 10 minutes flat

We received our RPLIDAR this morning and, just as kids on Christmas day, we were very eager to play with it right away.

But I’ll hold my horses, as I can hear you ask: “and what exactly is a RPLIDAR?”

A RPLIDAR is a low cost LIDAR sensor (i.e., a light-based radar, a “laser scanner”) from Robo Peak suitable for indoor robotic applications. Basically a cheaper version of that weird rotating thing you see on top of the Google self-driving cars. You can use it for collision avoidance and for the robot to quickly figure out what’s around it.

Google self-driving car from

Google self-driving car from

We bought some sensors for our incoming robotic fleet that will take over the world (the true aim of our Cloud Robotics initiative), and this is the first arrival.

I didn’t have ROS installed on my system and I really wanted to get going, so while TMB proceeded with the HW unboxing and config I got started with the SW on my laptop.

Here’s the RPLIDAR in all its might:



Mind you, I run Ubuntu 14.04, so if your OS is different the process might need some adjustment.
The whole thing is quite straightforward. The RPLIDAR starts spinning as soon as you plug it in your laptop USB port. The software part involves installing ROS, providing it some basic configuration, creating a workspace, downloading the ROS node for the RPLIDAR, and building it with catkin. Although it looks like a lot of commands it takes a very short time.
Anyhow, here’s the quick and dirty list of commands I entered to get it working:

### Install ros (Jade) according to this guide:
sudo sh -c 'echo "deb $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
sudo apt-key adv --keyserver hkp:// --recv-key 0xB01FA116
sudo apt-get update
sudo apt-get install ros-jade-desktop-full

### init ros
sudo rosdep init
rosdep update
echo "source /opt/ros/jade/setup.bash" >> ~/.bashrc
source ~/.bashrc
sudo apt-get install python-rosinstall

### Create a ROS Workspace
mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/src

### Clone the ROS node for the Lidar in the catkin workspace src dir
git clone

### Build with catkin
cd ~/catkin_ws/

### Set environment when build is complete
source devel/setup.bash

### Launch demo with rviz
roslaunch rplidar_ros view_rplidar.launch


Screenshot from 2016-01-20 12:02:06Rviz will pop-up and show a background grid. The “view” from the laser scanner will be marked in red. The laser scanner is positioned at the center of the grid, it has a range of roughly 15cm to 6 meters, so you’ll be able to see everything around it on its scanning plane within that range.

If you get permission errors on accessing the USB device with ROS take a look here:

TL;DR – run this:

sudo gpasswd --add ${USER} dialout
su ${USER}

Then cd to catkin dir and run the last two commands above.



7 thoughts on “From unboxing RPLIDAR to running in ROS in 10 minutes flat

  1. I did the same steps for running rplidar A1 scan data But it gives error after running “roslaunch rplidar_ros view_rplidar.launch” .i also write following lines before running rplidar node.
    ls -l /dev |grep ttyUSB
    sudo chmod 666 /dev/ttyUSB0

    But no use. it gives the error:
    [rplidarNode-2] process has died [pid 3116, exit code 255,]

    Can you please help me??

    • Hi memona

      It’s kinda hard to tell what the error could be in your configuration. But somehow it looks like the launch file can’t find the correct usb device or is missing a symlink to it. Please check if you have included the udev rules for creating a symlink to the device. A script to create those rules can be found here:

      For more help i would need a bit more information about the error or the setup you did.

      I hope this hint helps you to get it running.

      • Thanks loeh. there was a problem in my lidar.perhaps it was burned. i tried same procedure with another lidar and now it is working and slam is produced.

  2. Hi,

    I am working my senior design and it’s a drone consisted of six motors that can fly without a controller using an RPlidar
    and a flight control board. However, I am using a Raspberry Pi and an Ubuntu software, I am wondering what kind of a ROS should I install. and how can modify the drone to fly on a certain level in the air.


  3. If you are using 2 units how can you tell them apart in the code? There doesn’t seem to be a device ID with the data. Any ideas…

Leave a Reply to mohammed abusharifa Cancel reply

Your email address will not be published. Required fields are marked *