-
Notifications
You must be signed in to change notification settings - Fork 352
Description
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 buildorcatkin_make). - Start a panda simulation using
roslaunch franka_gazebo panda.launch. - Print the results of the
/franka_state_controller/franka_states/joint_collisiontopic. - 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 Fix gazebo joint collision check bug #227.
- Update the documentation to depict the
frankaStateInterfacedifference.