-
Notifications
You must be signed in to change notification settings - Fork 125
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
Unstable behaviour at startup in the robot using gazebo_ros2_control #369
Comments
Are you using the same gazebo engine with ROS 1? |
I'm using the Gazebo classic. I'm not sure about the internal engine, if there is a change. However, it seems weird that only upon using gazebo_ros2_control plugin this is happening. |
@ahcorde Any idea what could be the root cause of this issue? I can introspect if you can give me some pointers. Thank you :) |
I believe I found the issue, if I use the position interface directly it doesn't work at all. I had to use position with PID to make it work. In past, in our overlayed version of gazebo_ros_control, we were using the PIDs one as well. After finding the issue, I saw somethings that can be improved here, I will open a PR soon to address them. Thank you for the support |
are you planning to move this to (new) gazebo, I believe the PID controller is not available there but I can open the PR if you need this feature |
Hello! I believe we will need it in the new gazebo as well when we start migration to Jazzy. Yes, I'm going to open it here first for your feedback and then, I will open the following PR in the gz_ros2_control |
Then this is the same issue as with #240, the gazebo classic engine does not work well with position interface. |
@christophfroehlich the issue #240 was for passive joints right?. In my case, the active joints have this issue. I see the logic you were talking about https://github.com/ros-controls/gz_ros2_control/blob/4febdcfa8e2bbcf4eaf1107a53495952d3a3ce94/gz_ros2_control/src/gz_system.cpp#L641-L660. Along with the PIDs, if I have the Maybe the gz_ros2_control works out of the box, but we are using Humble internally and we want to check this one first as we also want to make the simulation public. I can try testing with gz_ros2_control in the following weeks. If it works, I would like to change the |
Actually, I experienced the same with interacting with objects (with a mimicked gripper), so I guess this is a general limitation of the physics engine. |
Have you tried to only set a proportional gain, like the current gz_ros2_control plugin does? Or do you really need a full PID controller? |
I believe yes, as in this case, we are controlling in EFFORT, and in the gz_ros2_control we are using VELOCITY |
@ahcorde Are you okay with this change?. If you have any comments, I'm happy to hear |
is this issue already resolve with your PR ? |
You are right!. It's solved. I'll close it. Thanks for reminding |
Hello!
We are currently migrating our Humanoids to ROS 2, and in this process we started with gazebo simulation migration. The version of ROS1 is working without any issues, however in ROS 2 the robot acts crazy and flies away. I tried removing the ´gazebo_ros2_control´ and then the robot falls to ground as expected, but as soon as I add
gazebo_ros2_control
the robot goes crazy. I've attached the videos for your reference:Without gazebo_ros2_control plugin:
talos_without_control.mp4
With gazebo_ros2_control plugin:
talos_with_control.mp4
Repos to reproduce the issue:
https://github.com/pal-robotics/talos_robot (branch: ros2-migration)
https://github.com/pal-robotics/talos_simulation (branch: ros2-migration)
https://github.com/pal-robotics/talos_moveit_config (branch: ros2-migration)
https://github.com/pal-robotics/launch_pal (branch: master)
Steps to Reproduce:
The text was updated successfully, but these errors were encountered: