Laser Range Finders
The robot is equipped with two SICK LMS200 laser range finders. Each range finder is set to scan an area of 180° with an angular resolution of 0.5°. The scaning distance is restricted to 8 meters.
The range finders were connected to the control PC of TASER via an RS422 serial connection. A MOXA Multiport Serial Board CP-132 was used within the PC. Some modifications had to be done to adapt this card to the baud rate of the SICK LMS200 which is 500 kBaud.
Due to the small 16 byte cache on the MOXA card it produced a system load of 20 % under Linux OS while reading data from the serial interfaces. In addition to the high system load about 40 % of the measurement data got lost. Therefore a special purpose RS422-to-Ethernet adapter was designed in a diploma thesis by S. Pöhlsen and H. Bistry which is used now.
This adapter is based on a Rabbit Semiconductor PowerCore 3800 module with a Rabbit 3000 8 bit microprocessor. Additional parts are RS-422 transceivers and status-LEDs.
The unit provides the following functions:
- control of the laser range finders
- synchronization (determining the actual baud rate)
- configuration (setting the appropriate operation mode, starting of the measurement)
- flow control (resync after lost connection)
- forwarding of the measurement data
- telegram level synchronization
- checking the CRC of the telegram
- transmission via UDP (one complete telegram per packet)
- processing of the measurement data
- checking the minimal distance (two regions around the centre of the robot)
- recognition of special reflector marks (generation of a list, calculating the exact angle and distance, if one mark is hit multiple)
- sending the processed information via an additional UDP-packet
Due to the sophisticated processing of network data in the linux kernel the system load decreases conspicuously. The system load is additionaly reduced because of the preprocessing of the data and the omission of controlling the laser range finders and synchronization/checking of the telegramms. No measurement data gets lost anymore. In addition to that there is the possibility to use the developed device in other use cases where laser range finders are used. The connection via standard ethernet and the already implemented control of the SICK laser range finders make it easy to integrate them into a system.
Click here to download the diploma thesis. (PDF, 6 MB, german language)
Due to the large interest in our system we now offer the source code for the Rabbit 3800 under GPLv3. We hope to get some feedback if you are using and advancing our code. Click here to download the code.
Projects that are integrating our solution:
- Ohio State University, autonomous car,OSU-ACT