To answer your question, the LIDAR is always powered. However, I was able to narrow the problem down to Ubuntu. I figured out that the LIDAR worked on my 10.04 box, but failed on my 10.10 box. After downgrading the computer to 10.04, the LIDAR worked. I am still unsure of what was specifically causes this problem, but I am now convinced it is unrelated to the sicktoolbox_wrapper package.
Ryan,Are you running on a Pioneer (or other platform using either the SICK Laser Integration Board [1] or something like it that powers on the LIDAR only when a serial connection is attempted)?As far as this being a known bug, we've seen a number of people in the past have issues with the Sicktoolbox wrapper on systems where the LIDAR doesn't boot until a connection is opened, as the Sicktoolbox seems to be a bit... finicky... about this situation. If you'd like to see this problem fixed, I suggest you open a ticket (if there isn't one that already covers this problem) on the ros-pkg Trac against laser_drivers. That's the best way to make sure that this problem doesn't get forgotten about. However, I think we need a better solution than just always waiting for 30 seconds when the driver boots up (as Aravindhan's fix does), since people with always-on SICKs (my use case) shouldn't need to wait for the SICK to power up if it's already activated.If you do open a ticket, we can continue any further discussion regarding implementation there.- Eric[1] http://robots.mobilerobots.com/wiki/SICK_Laser_Integration_Board
On Thu, Mar 17, 2011 at 5:57 PM, Ryan Miller <rmiller4589@gmail.com> wrote:
_______________________________________________Hello,I am having trouble connecting to a SICK LMS 291. I did not have trouble connecting to the device in cturtle, but I recently upgraded to diamondback and am now having difficulties. It appears Aravindhan Krishnan found a solution to this problem, and posted it on ROS answers [0]. However, I would like to avoid using unstable packages. Is there a way to only install the sicklms source without getting loads of other unstable dependencies?Also, is this a known bug? I could not find anything in the tracker, and if Krishnan is right about this, it appears to be a serious problem. I have pasted the output of `rosrun sicktoolbox_wrapper sicklms.` Please let me know if there is a better solution than hacking the sicklms source.I set the baud rate to 38400 and the port to /dev/ttyS0. I know I am using the correct serial port because when I remove the cable it hangs forever. The permissions are also set correctly.------------- snip -------------rmiller@obc:~$ ls -lah /dev/ttyS0crw-rw-rw- 1 root dialout 4, 64 2011-03-17 17:36 /dev/ttyS0rmiller@obc:~$ groups rmillerrmiller : rmiller adm dialout cdrom plugdev lpadmin admin sambashare------------- snip -------------------------- snip -------------rmiller@obc:/opt/ros/diamondback/stacks/laser_drivers/sicktoolbox_wrapper$ rosrun sicktoolbox_wrapper sicklms*** Attempting to initialize the Sick LMS...Attempting to open device @ /dev/ttyS0Device opened!Attempting to start buffer monitor...Buffer monitor started!Attempting to set requested baud rate...A Timeout Occurred! 2 tries remainingA Timeout Occurred! 1 tries remainingA Timeout Occurred - SickLIDAR::_sendMessageAndGetReply: Attempted max number of tries w/o success!Failed to set requested baud rate...Attempting to detect LMS baud rate...Checking 19200bps...A Timeout Occurred! 2 tries remainingA Timeout Occurred! 1 tries remainingA Timeout Occurred - SickLIDAR::_sendMessageAndGetReply: Attempted max number of tries w/o success!Checking 38400bps...ERROR: I/O exception - SickBufferMonitor::_readBytes: read() failed!A Timeout Occurred! 2 tries remainingERROR: I/O exception - SickLIDAR::_sendMessage: write() failed!ERROR: I/O exception - SickLIDAR::_sendMessage: write() failed!ERROR: I/O exception - SickLIDAR::_sendMessage: write() failed!ERROR: I/O exception - SickLIDAR::_sendMessage: write() failed!SickLMS::_testBaudRate: Unknown exception!ERROR: I/O exception - SickLIDAR::_sendMessage: write() failed!ERROR: I/O exception - SickLIDAR::_sendMessage: write() failed![ERROR] [1300397794.610468157]: Initialize failed! are you using the correct device path?terminate called after throwing an instance of 'SickToolbox::SickThreadException'Aborted------------- snip --------------Ryan
ros-users mailing list
ros-users@code.ros.org
https://code.ros.org/mailman/listinfo/ros-users