Does mass affect range sensor's measurements? [closed]

asked 2012-07-08 06:18:21 -0500

Capelare gravatar image

updated 2014-01-28 17:12:56 -0500

ngrennan gravatar image

Hi everyone:

I was messing around with my robot URDF description and noticed that if I change the weight of my robot, the visualization of my ultrasonic range sensor changes its position as well. It looks like it was related to the COM instead of the joint origin... Is this a bug? Or maybe it's the expected behavior? If that's the case, why?

Thanks, Miguel.

Update: I took a couple of screenshots showing the problem:

In this one the robot has its COM untouched: Normal Weight

But if I move it to the lower-back part of the robot, the rays coming out of the ultrasonic sensor are misplaced: image description

Update: After some testing I think the mass affects only the blue rays showed in Gazebo, and not the measurements, but I'd appreciate if someone could test it too, and/or tell me why this happens.

Update: I have uploaded the uncompressed urdf files here: _link.urdf _rays_link.urdf _rays_link.oddCOM.urdf and the xml files generated by gazebo's urdf2model here: _link.urdf.xml _rays_link.urdf.xml _rays_link.oddCOM.urdf.xml

edit retag flag offensive reopen merge delete

Closed for the following reason question is not relevant or outdated by tfoote
close date 2015-03-26 18:20:25.310887


this is possibly a bug, can you point to the model file locations?

hsu gravatar image hsu  ( 2012-08-07 04:51:35 -0500 )edit

Of course, you can find it here: That's the xacro file that builds the robot, although you need some included files, as you can see. I suggest that you download the full nxt_robot_simple_car folder


Capelare gravatar image Capelare  ( 2012-08-09 00:10:11 -0500 )edit

BTW, the ultrasonic sensor definition can be found in the 'nxt_ultrasonic_sensor.xacro' file. If you change <gazebo reference="us_${name}_link"> for <gazebo reference="us_${name}_rays_link"> (line 216) you can see the visual changes in gazebo.

Capelare gravatar image Capelare  ( 2012-08-09 01:09:15 -0500 )edit

Without the '_rays', measurements are fine (I think) but the representation of the rays is not right. When you change that, the representation goes to its position, but then the measurements are wrong, of course.

Capelare gravatar image Capelare  ( 2012-08-09 01:10:35 -0500 )edit

Any ideas, @hsu? :)

Capelare gravatar image Capelare  ( 2012-08-14 05:21:32 -0500 )edit

to test if this is a parser/converter issue, can you post the expanded urdf file, plus gazebo xml (rosrun gazebo urdf2model) versions of it. For both sensor attached to _link and _ray_link? with different inertia COM's? (I was thinking about doing this, but it might be faster if you did it).

hsu gravatar image hsu  ( 2012-08-15 06:01:07 -0500 )edit

There you go, I have uploaded the _link and _rays_link versions of the files you want to pastebin, links are at the bottom of the question, and will be uploading a _rays_link version with an absurdly odd COM in a few minutes.

Capelare gravatar image Capelare  ( 2012-08-16 10:04:07 -0500 )edit

@hsu if there's anything else I could do to help you figure out the solution to this, or you have any hints on how should I find one myself, let me know please. In the meantime I'll be working on other aspects of the project, because there's nothing else I can think of.

Capelare gravatar image Capelare  ( 2012-08-22 23:32:42 -0500 )edit