osrf / robocup3ds

Gazebo support for the RoboCup 3D simulation league.
11 stars 2 forks source link

FRP force center values are in global space #36

Open osrf-migration opened 8 years ago

osrf-migration commented 8 years ago

Original report (archived issue) by Patrick MacAlpine (Bitbucket: patmac).


In gazebo the center of the FRP values are being reported as where the point of pressure is in global space...this means you actually get global ground truth position information from the FRPs! The center values of the FRPs should be relative to the foot.

osrf-migration commented 8 years ago

Original comment by Louise Poubel (Bitbucket: chapulina, GitHub: chapulina).


This is where the forces are being set:

https://github.com/osrf/robocup3ds/blob/bbd034b84329c49dcee207b40c4e5f06a2ed7e2e/src/Robocup3dsPlugin.cc#L711

osrf-migration commented 8 years ago

Original comment by jasonzliang NA (Bitbucket: jasonzliang).


Patrick, it appears global position of the foot itself erroneously reported as the force contact position. To calculate the true force contact position and force vector, we need to determine all points of collision of the foot link and the force vector applied at each collision position (in coordinates relative to the foot). However, I am unclear how to access the force applied at each collision point. Carlos, are you familiar with this?

osrf-migration commented 8 years ago

Original comment by Carlos Agüero (Bitbucket: caguero, GitHub: caguero).


Take a look at this plugin as an example:

https://bitbucket.org/osrf/gear/src/b17df903dc06bc6ef38e8aa01402279abf5b131a/osrf_gear/src/SideContactPlugin.cc?at=master&fileviewer=file-view-default

It subscribes to the contact sensor, stores the last update inside the callback, and then, process the message stored in the main update loop. Take a look at the gazebo::msgs::contacts.proto definition too.