ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange |
2012-11-03 12:22:48 -0500 | received badge | ● Supporter (source) |
2012-08-15 09:54:12 -0500 | received badge | ● Famous Question (source) |
2012-08-15 09:54:12 -0500 | received badge | ● Popular Question (source) |
2012-08-15 09:54:12 -0500 | received badge | ● Notable Question (source) |
2012-03-18 13:17:36 -0500 | received badge | ● Student (source) |
2012-03-18 05:27:56 -0500 | received badge | ● Editor (source) |
2012-03-18 05:26:46 -0500 | asked a question | Made driver for LMS151, what should I do next? I've written a driver for the SICK lms 151. I did so because when I first looked for a lms 1xx driver there didn't seem to be proper support for lms 151 (Later turns out that the only real difference is that lms 151 has a maximum range of 50m, and a radiator to keep the laser warm in cold conditions). Initially I wanted to come here and ask for a code review I suppose and to ask what I should do to make the driver more generic so it could be useful to others. However, I then found this library did pretty much exactly what I wanted (I just had to change the maximum range in the config). But then looking at this question, I found that people talking about bugs in the above driver that my driver almost certainly doesn't have (I can't be fully sure as I haven't properly tested it yet). My question is: What should I do from here?
If (3), where should I go for advice on how to improve the driver for others to use. Additionally, one of my aims is to make much of the driver configurable from the command line eg. topic, publish rate, frame reference, etc... General design of driver:The driver was designed in mind that lms would be publishing lots of data, and that it be imperative that it not let the internal buffer of the socket or the internal buffer of the driver fill up completely. Further, users might wish to alter the publish rate of LaserScan messages to suit their needs. The driver is threaded. One thread is continuously reading data from the socket, building up a representation of that data as an object and storing it a shared vector. The second thread reads from the shared vector and converts the data into a LaserScan message for publishing.
Code can be found here: https://github.com/jxh576/tracked-robot |