[bug] Incorrect collision checking in `franka_gazebo` package
Opened this issue · 0 comments
It has come to my attention that there is an issue with the collision checking mechanism in the franka_gazebo
package. The problem arises from the fact that the contribution of gravity needs to be adequately accounted for in the joint collision-checking process. This is a critical omission, as gravity's effect on collisions is not stored in the joint->command
variable, which can lead to inaccurate collision detection. To address this issue and ensure accurate collision checking, I have created a pull request (#227) to fix the bug.
How to reproduce
- Clone the develop branch branch.
- Install the ROS system dependencies using
rosdep install --from-path src --ignore-src -r -y
. - Build and source the Catkin workspace (i.e.
catkin build
orcatkin_make
). - Start a panda simulation using
roslaunch franka_gazebo panda.launch
. - Print the results of the
/franka_state_controller/franka_states/joint_collision
topic. - See that joints four and sometimes two start in a collision because the gravity is already higher than the collision threshold.
Additional information
I also noticed that the cartesian_collision
and joint_collision
attributes on the /franka_state_controller/franka_states
topic behave differently in franka_gazebo
than on the real robot. Where on the real robot, these values need to be reset in the simulation, they will automatically reset when the threshold is no longer reached. Maybe you can document this difference in the frankaStateInterface documentation.
TODOs
- Merge #227.
- Update the documentation to depict the
frankaStateInterface
difference.