SICK LMS-200 / LMS-291 LIDAR Laser Scanner RS-232 Interfacing with UBUNTU & R.O.S.

Ability to scan 180 Degrees. A motion control Jig must be built and calibrated to scan 360 Degrees.
Ability to scan 180 Degrees. A motion control Jig must be built and calibrated to scan 360 Degrees.
Setting up my newly repaired SICK LMS-200 LIDAR laser Scanner.
Setting up my newly repaired SICK LMS-200 LIDAR laser Scanner.

Join the SICK LASER SCANNERS Yahoo Group Today!!

If you are reading this because you have recently purchased a used SICK LMS Laser and are having some issues getting it to communicate over RS-232 or RS-422 then the info below may be of help to you.

EDIT: I recently received some very important info from a fellow User by the name of “Joe” who made several posts here on my Blog within the comments section regarding the LMS lasers being stuck in the RS-422 500k Baud rate mode and how he managed to reset it to RS-232 9600 Baud.

JOIN THE “SICK LASER SCANNERS” Yahoo Group today:

https://groups.yahoo.com/group/SICK_LASER_SCANNERS

 

This seems to be a re-occurring issue for many users. I just wanted to add it directly here in my Original Post to save people some time locating this crucial info.

Here is a Quote from Joe’s Post:

———————————————————————————————

Regarding SOLDERING UP YOUR OWN CUSTOM RS-232/RS-422 COMMS CABLE:

The reason that all of our sensors are “stuck” in RS-422 500k mode is not some kind of failure, but because there is a message that can be sent to the laser to permanently change the default baud rate. If the default is set to 500k baud, then you have no way of changing it back unless you have an RS-422 cable.

For the RS-422 cable Pinouts: “In the quick start guide they have the positive terminals on the LMS side going to the negative terminals on the PC side, which is wrong – should be positive to positive, negative to negative. It’s a bit weird that I was able to receive data with the polarity reversed, but not transmit – my guess is that the adapter I have does not care for polarity when receiving.

Wire your cable according to the full manual (not the quick start guide – that diagram is wrong). If you’d like to reset it back to RS-232 mode, send the following commands from any decent serial terminal viewer program at 500000 baud:

$02 $00 $0A $00 $20 $00 $53 $49 $43 $4B $5F $4C $4D $53 $BE $C5

This command puts the laser into “installation mode” where you can adjust certain settings. Note that the chain: $53 $49 $43 $4B $5F $4C $4D $53 spells out SICK_LMS in ASCII which is the default password for SICK lasers. If the previous owner changed the password, then this won’t work.

Then send the following command:

$02 $00 $02 $00 $66 $00 $9C $4E

This command will set the default to 9600 baud.

If you’re having trouble, do a google search for “SICK LMS telegram listing” and you should find a document that describes what all the above commands mean (and much, much more).”

Thanks again for that info Joe. 🙂

—————————————————————————————

Now,

Here are some additional Links to manuals and other ROS software related links to help you all get going using ROS:

Here is is the User’s manual for the SICK LMS-200:
https://www.mysick.com/saqqara/im0012759.pdf

I used the UBUNTU OS on my PC, I then installed The software package called ROS. This is the program that is used to make the system work.
You can find the documentation at this links Below:
http://wiki.ros.org

I used a Plugin for the ROS software called “SICKTOOLBOX” for using SICK laser scanners specifically.
Here is the Link to this Plugin:
http://wiki.ros.org/sicktoolbox

There is also a “Wrapper” / filter that the Plugin uses and that is available at the link below:
http://wiki.ros.org/sicktoolbox_wrapper

To make all of this Run within ROS software using the UBUNTU OS, You can check out this Tutorial page at the link below:
http://wiki.ros.org/sicktoolbox_wrapper/Tutorials/UsingTheSicklms

I hope this will help some of you.

-Gerry

—————————————————————————————–

As for My LMS Project:

I managed to find a “SICK” Brand LIDAR laser scanner on eBay.  I also bought a new  Laser face plate for it as the initial plate had some heavy duty scuffs and scratches from regular factory use.

I had to build a custom RS-232 interface and DC Power cable for the system. Pretty straight forward soldering work and then began the process of setting up the software interface.

After doing some research, I learned about the R.O.S. software package. ROS is  a very popular Linux based software platform used by many College and University Robotics Engineering programs. This software package is available free online. from ROS.org

I managed to configure the software and get the scanner data displayed in 2D as seen in the screen cap below. The plan will be to interface a motion controlled motorized base to mount the scanner to and then try to capture a 3D point Cloud. I realize this is not an easy task… but it will be fun to work at it. A descent challenge.

Fun Stuff!

More to come……….

JOIN THE “SICK LASER SCANNERS” Yahoo Group today:

https://groups.yahoo.com/group/SICK_LASER_SCANNERS

UBUNTU installed running the ROS software package, with a special SICK-LMS200 Plugin.
UBUNTU installed running the ROS software package, with a special SICK-LMS200 Plugin.
SICK LMS sensor RS-232 & RS-422 Pinout and wiring diagram.
SICK LMS sensor RS-232 & RS-422 Pinout and wiring diagram.
DB9 Connector Pinouts for DC Power (24+ DC volts @ 2.5 Amps)  Sensor is able to use both RS-232 & RS-422 Serial Communication.
DB9 Connector Pinouts for DC Power (24+ DC volts @ 2.5 Amps)
Sensor is able to use both RS-232 & RS-422 Serial Communication.

CRS ROBOT ARM Custom Cable – EDAC to CPC connector

Building a custom cable for the CRS A250 robot arm.

The cable assembly was pretty straight forward. An EDAC connector interconnected to (2) CPC connectors.

EDAC connector for Robot Arm on the  SRS-M1A Controller.
EDAC connector for Robot Arm on the SRS-M1A Controller.
Solder Type Pins are used for all the Servo Motors and also Motor Encoder Feedback signals.
Solder Type Pins are used for all the Servo Motors and also Motor Encoder Feedback signals.
Heat shrink of course is a Must!
Heat shrink of course is a Must!
The EDAC connector then Interfaces to the A250 Robot Arm through 2 CPC connectors. One is for Robot Feedback signals and the second connector is for High Current Motor Power.
The EDAC connector then Interfaces to the A250 Robot Arm through 2 CPC connectors. One is for Robot Feedback signals and the second connector is for High Current Motor Power.

It was just a very time consuming job. Had to figure out the pin connections for both CPC connectors on the Robot and then match those up to the Pins on EDAC connector on the controller.

I had the pinout information fro the Controller using the Technical Manuals I had on file, I then only had to figure out what pins the Robot CPC connectors were. These were almost a perfect match to the pinouts for the A255 Robot which I had the Technical manuals for as well. There was only a few minor differences that had to be updated.

I managed to get it working and I then proceeded to manually move the robot around using straight “JOINT” commands in the ROBCOMM-II software. At this point I am having Homing errors for the Gripper.

I realize the solution is within the Controller settings menu. A small problem with the controller not properly identifying the number of Servo motors interfaced to the Controller.

For further details see the devoted “CRS-A250 Robot” page on my Website at the link below:

http://www.digital-circuitry.com/MyLAB_Robotics_CRS-A250.htm

Cheers!

-Gerry

CRS Plus A250 Robot & SRS-M1A Controller calibration

CRSPlus Robot Controller
CRSPlus Robot Controller
CRSPlus Robot Controller Motor Driver cards.
CRSPlus Robot Controller Motor Driver cards.

Currently in the midst of calibrating the Motor Driver cards for the SRS-M1A controller. The Robot Arm motor Drivers seem to be responding correctly, however the Gripper Servo driver card seems to be causing some homing Errors. I believe the problem resides in the Controller settings menu. As the homing sequence should only involve 5 Motors devoted to the Robot Arm and then the Gripper is Homed. However the system seems to be attempting to home a 6th Motor.

Therefore I believe that by adjusting the controller settings within the Controllers Processor, the homing sequence should complete successfully.

More details to come………..

-Gerry