Possible bug with contact detection, values change between collision1 and collision2
Hi,
I am using Gazebo 1.8.0 (but also experienced this behavior with older Gazebo versions). I am subscribing to a contact sensor topic, and just printing out the contacts collision1 and collision2 names. However in some cases these values change between them.
For example in case of a collision with a table or the ground floor:
collision1 = robot hand
collision2 = table / ground floor
In case of the objects on the table (spatula, mug, oven):
collision1 = the objects
collision2 = robot hand
Here is the callback function:
void Plugin::OnContact(ConstContactsPtr &_msg)
{
if(_msg->contact_size() > 0)
{
std::cout << "collision1: " << _msg->contact(_msg->contact_size()-1).collision1().c_str() << std::endl;
std::cout << "collision2: " << _msg->contact(_msg->contact_size()-1).collision2().c_str() << std::endl;
}
}
Here is an output example:
collision1: pancake_maker::pancake_maker_link::pancake_maker_collision
collision2: hit_hand::right_hand_thumb_distal_link::right_hand_thumb_distal_link_geom
collision1: hit_hand::right_hand_thumb_distal_link::right_hand_thumb_distal_link_geom
collision2: ias_kitchen::kitchen_link::kitchen_link_geom_counter_top_island_link
Cheers, Andrei