ARC Pro

Upgrade to ARC Pro

ARC Early Access will give you immediate updates and new features needed to unleash your robot's potential!

Thumbnail

RPI Lidar (A1)

by Slamtec

NMS Lidar driver for Slamtec RPI Lidar A1

How to add the RPI Lidar (A1) robot skill

  1. Load the most recent release of ARC (Get ARC).
  2. Press the Project tab from the top menu bar in ARC.
  3. Press Add Robot Skill from the button ribbon bar in ARC.
  4. Choose the Navigation category tab.
  5. Press the RPI Lidar (A1) icon to add the robot skill to your project.

Don't have a robot yet?

Follow the Getting Started Guide to build a robot and use the RPI Lidar (A1) robot skill.

How to use the RPI Lidar (A1) robot skill

NMS Lidar driver for Slamtec RPI Lidar A1. This pushes scan data to the ARC NMS (Navigation Messaging System) as a level #3 Group #1 sensor. This robot skill connects to the Lidar and pushes the data into ARC's NMS (navigation messaging system) to be used with level 1 navigation viewers. Read the NMS manual page to understand how this skill can be used.

That might sound more confusing than it needs to be. But, all that means is this sensor will detect the distances of objects using a laser in a 360-degree circle around the robot. It takes that data and pushes it to another robot skill that can display the data and use the information for navigation. The NMS manual explains more about how to set it up. Some videos also demonstrate how to set it up with similar hardware. 



Main Window


User-inserted image



Configuration


User-inserted image



1) BaudRate
The baud rate for the communication. By default, the included controller from the manufacturer is 115200

2) Offset Degrees
Correct the angle that the lidar is mounted

3) Advanced communication parsing
Include debug information in the log window. This is only recommended if asked by Synthiam to help debug a communication issue. Otherwise, this will use a lot of resources.

4) Set variables with location data
If you're not using the NMS, check this, and global variables will be created for the scan data.

5) Fake NMS Pose hint event
The Better Navigator can use the Hector SLAM pose hint, which will not require a pose sensor. If you have The Better Navigator configured to use Hector as the pose hint, you can enable this option. This will send a "fake" pose hint of 0,0 to the NMS so that the pose event will run after every lidar scan.

NMS (Navigation Messaging System) Stack


This skill operates in Level #3 Group #1. It publishes obstacle detection to the NMS. While some SLAM systems will attempt to determine the cartesian position of the robot without telemetry, it is best to combine this skill with a Group #2 sensor.
User-inserted image


How to Use


Program the LIDAR in Blockly
Like all Synthiam controls, the Blockly programming language can be used. In the example below, the robot will speak when an object has come close to it. It will also speak the degrees of where the object was. To see a similar lidar program in action, click HERE.
User-inserted image



Cheat Sheet Shortcuts
There are several ControlCommand() commands for this robot skill. For a complete list, view the Cheat Sheet of this control. The commands will start and stop.

User-inserted image



Variables
In the configuration menu of this control, you can view the variables that this skill creates. The variables hold the most recent values of minimum/maximum distance, degrees, and running status of the lidar.
User-inserted image

ARC Pro

Upgrade to ARC Pro

ARC Early Access will give you immediate updates and new features needed to unleash your robot's potential!

PRO
Synthiam
#10   — Edited
The RPI Lidar A1 arrived today, and I got it working. Big surprise, but the example opensource code was broken that I built the skill from. What else is new:)

I can't update the robot skill until I update ARC. The ARC NMS is being updated to a new revision, so all of the NMS robot skills need to be updated simultaneously.


User-inserted image
PRO
Colombia
#11   — Edited
Thanks DJ, I will be waiting for the NMS update.
PRO
Colombia
#12  
Hi, I tested this new skill version and Is working now!! Thanks DJ for the prompt fix.
Tomorrow I will test the updated navigator. Impresive work done  with all the recent updates.!
PRO
Synthiam
#13  
Updated with performance improvement
PRO
Colombia
#14  
Hi DJ.  My COM port for the Lidar is usually  COM20 ( but always starts in the interface in COM1) is possible to define a default port or remember the last one used?  this is to be able to autostart the Lidar with a script.  Thanks in advance for any help.
PRO
Synthiam
#15   — Edited
The COM port saves with the project. Select your COM port and press the SAVE button in ARC to save the project.
PRO
Colombia
#16  
Yes, I always save the project with the selected port (COM20) but each time I Open it, it selects COM1.
PRO
Synthiam
#17  
Sure you’re using the latest version?
PRO
Synthiam
#18  
I updated the version because maybe it was out of sync on my side somehow
#19  
So this Lidar is working good now,it is a great price!
PRO
Colombia
#20  
Thanks DJ. Now is saving COM port with version7.
PRO
Synthiam
#21  
v8 Updated with minor performance improvement
PRO
Synthiam
#22  
v9 - updated with option to disable setting variable to save on performance
PRO
Synthiam
#23   — Edited
v11

- fix for the offset value. it wasn't working before
- fix for scan preview orientation
PRO
Synthiam
#24  
v14 

- has a new option to enable a fake pose hint event. Read the manual above about the option
PRO
Germany
#25  
Hi, everyone,

I have a question about lidar, does a 360 degree clear view have to be available?
What if, for example, the view to the rear on the robot is blocked (Servo Cam), does it still work to the front?

And one more question, if this would be the right one: RPLidar A1M8

Regards
Uwe
PRO
Synthiam
#26  
This robot skill doesn’t use any mapping. It provides data to the NMS for another robot skill to use the data for mapping. The other robot skill that compliments this would be The Better Navigator. 

in The Better Navigator, you can specify the min distance to register. That way, if something blocks the sensor, the values are ignored. 

That lidar looks like the correct one.
PRO
Germany
#27   — Edited
great, thanks for the info.

 .... Well, if you can read, you have an advantage, the answer to my question is already there:

1) Disregard values lower than
Ignore distance values less than this specified distance in CM. The distance values are provided by any NMS Level #3 Group #1 sensor. If wires or a camera block the sensor, this will ignore those values.

It shows up again, read everything first ;-)
PRO
Synthiam
#28   — Edited
Hahaha - there’s a lot of information to take in. You’ve already accomplished a lot with few questions.
PRO
Synthiam
#29  
Updated v15 to fix an issue when saving a project while no lidar is connected to the PC.