Ask Your Question
1

Unknown exception errors in sick_ldmrs "offset must be non-negative"

asked 2011-12-07 10:03:06 -0500

nonnoc gravatar image

Currently working on an autonomous vehicle project where the majority of software is written in ROS and I am using the ibeo LUX lidar for object detection along with the sick_ldmrs lidar driver code (as a part of the csiro-asl-ros-pkg). I recently came across some strange exceptions and was wondering if anyone recognized them, or had any inkling as to their origin and (hopefully) how to fix them. Both errors were exceptions caught by sickldmrs.py on line 394

   rospy.logwarn('Caught unknown exception: %s...restarting transport.' % e)

The first said "index out of bounds" and was most likely triggered within dataproc.py around lines 153-155

if any(["scan" in topic and num_subs > 0 for topic, num_subs in subscribers.iteritems()]):
  self.make_scans()
  self.publish_scans()

The second error said "offset must be non-negative and smaller than buffer lenth (44)", and I do not have any idea where it was triggered.

On a related note, I noticed that there was a large pool of water near the sensor when these errors were triggered. Has anyone ever experienced issues with water and the sick_ldmrs driver? Thanks for any help. I would appreciate even a rough guess of the origin for either error.

For reference I am using Diamondback with Ubuntu 11.04

edit retag flag offensive close merge delete

Comments

I also have problems with that driver. I receive the same exception as you, as well as others at random times. I receive "Contact manufacturer" warnings and more. I had some luck by modifying the publish rate within the sensor itself, but barely.
DimitriProsser gravatar image DimitriProsser  ( 2011-12-08 01:39:18 -0500 )edit

2 Answers

Sort by ยป oldest newest most voted
0

answered 2012-02-23 08:22:45 -0500

DimitriProsser gravatar image

I've noticed that this driver does not do well with various settings on the scanner. I feel like if your settings are not exactly the same as those on the scanner for which this driver was written, you're going to encounter errors.

The main thing I've noticed about this driver is that it does not handle all of the errors and warnings that the scanner produces. I figured this out because warning_register_2_masks (ldmrsmsgs.py line 130) does not account for all 11 possible warning messages. If a warning is received that is not handled, it throws an unknown exception. This could be what you're seeing. I didn't check the other warning and error registers, but I feel as if those could also have a problem.

edit flag offensive delete link more
0

answered 2012-02-23 08:05:34 -0500

TimElery gravatar image

updated 2012-02-24 19:07:21 -0500

I am using the same equipment and driver and have not received any errors. I am running Ubunto 11.10 with a full desktop install of ROS.

Tim

edit flag offensive delete link more

Comments

1

It seems your answer contains an answer and a new question. Please ask your question separately instead of posting it as an "answer" to an existing one and update this answer accordingly. That way it will be easy for future users to find this question. Thanks for helping keep ROS Answers organized!

Eric Perko gravatar image Eric Perko  ( 2012-02-23 08:22:03 -0500 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

Stats

Asked: 2011-12-07 10:03:06 -0500

Seen: 678 times

Last updated: Feb 24 '12