Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[bug] Incorrect collision checking in franka_gazebo package #363

Open
2 tasks
rickstaa opened this issue Sep 1, 2023 · 0 comments
Open
2 tasks

[bug] Incorrect collision checking in franka_gazebo package #363

rickstaa opened this issue Sep 1, 2023 · 0 comments

Comments

@rickstaa
Copy link
Contributor

rickstaa commented Sep 1, 2023

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

  1. Clone the develop branch branch.
  2. Install the ROS system dependencies using rosdep install --from-path src --ignore-src -r -y.
  3. Build and source the Catkin workspace (i.e. catkin build or catkin_make).
  4. Start a panda simulation using roslaunch franka_gazebo panda.launch.
  5. Print the results of the /franka_state_controller/franka_states/joint_collision topic.
  6. 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.

https://github.com/frankaemika/libfranka/blob/f1f46fb008a37eb0d1dba00c971ff7e5a7bfbfd3/include/franka/robot_state.h#L258-L274

TODOs

@rickstaa rickstaa changed the title Incorrect collision checking in franka_gazebo package [bug] Incorrect collision checking in franka_gazebo package Sep 4, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant