-
Notifications
You must be signed in to change notification settings - Fork 311
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] Using Gazebo set_model_configuration
srv messes up joint_states
#225
Comments
rickstaa
added a commit
to rickstaa/franka_ros
that referenced
this issue
Feb 16, 2022
This commit implements a `reset_joint_states` service. This service can be used to reset the join states when they are pushed outside of the joint limits. This can for example happen when Gazebo's `set_model_configuration` is used (see frankaemika#225 for more information).
rickstaa
added a commit
to rickstaa/franka_ros
that referenced
this issue
Feb 16, 2022
This commit implements a `reset_joint_states` service. This service can be used to reset the joint states when they are pushed outside of the joint limits. This can for example happen when Gazebo's `set_model_configuration` is used (see frankaemika#225 for more information).
rickstaa
added a commit
to rickstaa/ros-gazebo-gym
that referenced
this issue
Feb 16, 2022
This commit adds a fix that prevents the joint positions being pushed outside of the joint limits when Gazebo's 'set_model_configuration' service is used. See frankaemika/franka_ros#225 for more information.
rickstaa
added a commit
to rickstaa/franka_ros
that referenced
this issue
Feb 18, 2022
This commit implements a `set_franka_model_configuration` service. This service can be used to set the Franka configuration in the Gazebo simulation. Under the hood, this service calls Gazebo's 'set_model_configuration' service while ensuring that the reported joint positions stay within joint limits (see frankaemika#225 for more information).
rickstaa
added a commit
to rickstaa/franka_ros
that referenced
this issue
Feb 18, 2022
This commit implements a `set_franka_model_configuration` service. This service can be used to set the Franka configuration in the Gazebo simulation. Under the hood, this service calls Gazebo's 'set_model_configuration' service while ensuring that the reported joint positions stay within joint limits (see frankaemika#225 for more information).
rickstaa
added a commit
to rickstaa/franka_ros
that referenced
this issue
Feb 18, 2022
This commit implements a `set_franka_model_configuration` service. This service can be used to set the Franka configuration in the Gazebo simulation. Under the hood, this service calls Gazebo's 'set_model_configuration' service while ensuring that the reported joint positions stay within joint limits (see frankaemika#225 for more information).
rickstaa
added a commit
to rickstaa/franka_ros
that referenced
this issue
Feb 18, 2022
This commit implements a `set_franka_model_configuration` service. This service can be used to set the Franka configuration in the Gazebo simulation. Under the hood, this service calls Gazebo's 'set_model_configuration' service while ensuring that the reported joint positions stay within joint limits (see frankaemika#225 for more information).
rickstaa
added a commit
to rickstaa/franka_ros
that referenced
this issue
Mar 18, 2022
This commit implements a `set_franka_model_configuration` service. This service can be used to set the Franka configuration in the Gazebo simulation. Under the hood, this service calls Gazebo's 'set_model_configuration' service while ensuring that the reported joint positions stay within joint limits (see frankaemika#225 for more information).
rickstaa
added a commit
to rickstaa/franka_ros
that referenced
this issue
Sep 4, 2023
This commit implements a `set_franka_model_configuration` service. This service can be used to set the Franka configuration in the Gazebo simulation. Under the hood, this service calls Gazebo's 'set_model_configuration' service while ensuring that the reported joint positions stay within joint limits (see frankaemika#225 for more information).
rickstaa
added a commit
to rickstaa/franka_ros
that referenced
this issue
Sep 4, 2023
This commit implements a `set_franka_model_configuration` service. This service can be used to set the Franka configuration in the Gazebo simulation. Under the hood, this service calls Gazebo's 'set_model_configuration' service while ensuring that the reported joint positions stay within joint limits (see frankaemika#225 for more information).
rickstaa
added a commit
to rickstaa/franka_ros
that referenced
this issue
Sep 4, 2023
This commit implements a `set_franka_model_configuration` service. This service can be used to set the Franka configuration in the Gazebo simulation. Under the hood, this service calls Gazebo's 'set_model_configuration' service while ensuring that the reported joint positions stay within joint limits (see frankaemika#225 for more information).
rickstaa
added a commit
to rickstaa/franka_ros
that referenced
this issue
Sep 4, 2023
This commit implements a `set_franka_model_configuration` service. This service can be used to set the Franka configuration in the Gazebo simulation. Under the hood, this service calls Gazebo's 'set_model_configuration' service while ensuring that the reported joint positions stay within joint limits (see frankaemika#225 for more information).
rickstaa
added a commit
to rickstaa/franka_ros
that referenced
this issue
Sep 4, 2023
This commit implements a `set_franka_model_configuration` service. This service can be used to set the Franka configuration in the Gazebo simulation. Under the hood, this service calls Gazebo's 'set_model_configuration' service while ensuring that the reported joint positions stay within joint limits (see frankaemika#225 for more information).
rickstaa
added a commit
to rickstaa/franka_ros
that referenced
this issue
Sep 4, 2023
This commit implements a `set_franka_model_configuration` service. This service can be used to set the Franka configuration in the Gazebo simulation. Under the hood, this service calls Gazebo's 'set_model_configuration' service while ensuring that the reported joint positions stay within joint limits (see frankaemika#225 for more information).
rickstaa
added a commit
to rickstaa/franka_ros
that referenced
this issue
Sep 4, 2023
This commit implements a `set_franka_model_configuration` service. This service can be used to set the Franka configuration in the Gazebo simulation. Under the hood, this service calls Gazebo's 'set_model_configuration' service while ensuring that the reported joint positions stay within joint limits (see frankaemika#225 for more information).
rickstaa
added a commit
to rickstaa/franka_ros
that referenced
this issue
Sep 4, 2023
This commit implements a `set_franka_model_configuration` service. This service can be used to set the Franka configuration in the Gazebo simulation. Under the hood, this service calls Gazebo's 'set_model_configuration' service while ensuring that the reported joint positions stay within joint limits (see frankaemika#225 for more information).
rickstaa
added a commit
to rickstaa/franka_ros
that referenced
this issue
Sep 4, 2023
This commit implements a `set_franka_model_configuration` service. This service can be used to set the Franka configuration in the Gazebo simulation. Under the hood, this service calls Gazebo's 'set_model_configuration' service while ensuring that the reported joint positions stay within joint limits (see frankaemika#225 for more information).
rickstaa
added a commit
to rickstaa/franka_ros
that referenced
this issue
Sep 4, 2023
This commit implements a `set_franka_model_configuration` service. This service can be used to set the Franka configuration in the Gazebo simulation. Under the hood, this service calls Gazebo's 'set_model_configuration' service while ensuring that the reported joint positions stay within joint limits (see frankaemika#225 for more information).
rickstaa
added a commit
to rickstaa/franka_ros
that referenced
this issue
Sep 5, 2023
This commit implements a `set_franka_model_configuration` service. This service can be used to set the Franka configuration in the Gazebo simulation. Under the hood, this service calls Gazebo's 'set_model_configuration' service while ensuring that the reported joint positions stay within joint limits (see frankaemika#225 for more information).
rickstaa
changed the title
[bug] Using Gazebo 'set_model_configuration' srv messes up joint_states
[bug] Using Gazebo Sep 5, 2023
set_model_configuration
srv messes up joint_states
5 tasks
I've recently observed an issue stemming from the changes introduced in commit 89d2571. Specifically, after invoking the original Gazebo How to reproduce
rosservice call /gazebo/set_model_configuration "model_name: 'panda'
urdf_param_name: 'robot_description'
joint_names:
- 'panda_joint2'
- 'panda_joint3'
joint_positions:
- 0
- 0.5"
|
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
During my RL training, the robot sometimes becomes stuck. When this happens, I use the /gazebo/set_model_configuration service to set the Panda robot to a free robot position. However, when doing this, the joint positions are sometimes reported to be outside their joint limits. This prevents third-party tools like MoveIt from functioning.
Why this happens is very clear by looking at the code:
franka_ros/franka_gazebo/src/joint.cpp
Line 30 in 15f5975
Every time the /gazebo/set_model_configuration changes the joint positions, they get added to the
joint->positions
attribute. As a result, when the change made by the /gazebo/set_model_configuration is too big, the reported joint positions are pushed outside the joint limits.I understand why this is implemented, but providing users with a way to reset the joint positions would be very helpful since it is a common use case.
I implemented a PR to add a
set_franka_model_configuration
service in #226.See the behaviour in action
roslaunch franka_gazebo panda.launch use_gripper:=false physics:=dart controller:='force_example_controller'
.franka_gazebo/scripts/log_joint_violations.py
script (i.e.rosrun franka_gazebo log_joint_violations.py
).franka_gazebo/scripts/set_random_joint_positions.py
script (i.e.rosrun franka_gazebo set_random_joint_positions.py
) script.Note
This branch also includes #211 because the ODE physics engine is not stable when performing force control (see #160 (comment)).
See the fix in action
franka_gazebo/scripts/set_random_joint_positions_226.py
script (i.e.rosrun franka_gazebo set_random_joint_positions_226.py
).TODOs
set_franka_model_configuration
service #226The text was updated successfully, but these errors were encountered: