-
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 of Position Controller in UR10 #73
Comments
Did you ever fix this as I have a very similar behavior. |
@panagelak please share a https://gist.github.com of the: adapted UR10 xacro with the |
Hello i wasnt very familiar with gist and it seems i could only share individual files I made a repo with my config and some simple instructions (for foxy) hope this helps https://github.com/panagelak/ur10_gazebo_ros_control2 Hope this helps! |
Thank you @panagelak I'm looking into tweaking the parameters ... TBC related #44 (comment) |
are you getting the ros2 errors:
```
[gzserver-1] [INFO] [1623424230.447833300] [gazebo_ros2_control]: Loading controller_manager
[INFO] [spawn_entity.py-4]: process has finished cleanly [pid 10172]
[INFO] [ros2-5]: process started with pid [10298]
[gzserver-1] [WARN] [1623424230.468205600] [gazebo_ros2_control]: Desired controller update period (0.01 s) is slower than the gazebo simulation period (0.001 s).
[gzserver-1] [INFO] [1623424230.468415400] [gazebo_ros2_control]: **Loaded gazebo_ros2_control.**
[ros2-5] usage: ros2 [-h] Call `ros2 -h` for more detailed usage. ...
[ros2-5] ros2: error: argument Call `ros2 -h` for more detailed usage.: invalid choice: 'control' (choose from 'action', 'bag', 'component', 'daemon', 'doctor', 'extension_points', 'extensions', 'interface', 'launch', 'lifecycle', 'multicast', 'node', 'param', 'pkg', 'run', 'security', 'service', 'test', 'topic', 'wtf')
[ERROR] [ros2-5]: process has died [pid 10298, exit code 2, cmd 'ros2 control load_start_controller joint_state_controller'].
[INFO] [ros2-6]: process started with pid [10363]
[ros2-6] usage: ros2 [-h] Call `ros2 -h` for more detailed usage. ...
[ros2-6] ros2: error: argument Call `ros2 -h` for more detailed usage.: invalid choice: 'control' (choose from 'action', 'bag', 'component', 'daemon', 'doctor', 'extension_points', 'extensions', 'interface', 'launch', 'lifecycle', 'multicast', 'node', 'param', 'pkg', 'run', 'security', 'service', 'test', 'topic', 'wtf')
**[ERROR] [ros2-6]: process has died [pid 10363, exit code 2, cmd 'ros2 control load_start_controller joint_trajectory_controller'].**
[INFO] [gzclient -2]: process has finished cleanly [pid 10167]
```
|
I'm not sure why it doesn't recognize the ros2 control load_start_controller joint_state_controller/joint_trajectory_controller cli command, i think it requires to have build ros_control from source to do so (or moveit2 which include ros control). I followed this instructions to install moveit2 https://moveit.ros.org/install-moveit2/source/ P.S since i dont want to have all the moveit2 packages in my devel workspace (requiring to blacklist them etc) source /opt/ros/foxy/setup.bash let me know if this fixes that |
is your ros2_control source build inside colcon_ws? since commenting out the controller_manager ref. <ros2_control> tags in the URDF must be compatible with the controller's configuration have you tried generating the ur10_gazebo_ros_control2 yamls and gazebo xacros via (the unported) ROS1 moveit setup assistant? here's a UR5 controller yaml tweaked to hold non-zero position #44 (comment) |
hi @newcanopies i experimented a little with the gazebo_controllers.yaml (on the ur10_description pkg) but it didn't seem to fix it by removing the <update_rate> can you possibly make a pr with your fix or share your fork? i didn't know they have release ros2_control on debian is it on testing? i have install moveit2 from source which installs ros2_control also. In colcon_ws i have only the repo i shared + gazebo_ros2_control plugin (main) thanks a lot for your help so far, appreciate it! |
hi @panagelak the PR is already on your repo :) with this result based on apt debian
afaik, To test debian -- I just switched to debugging based on It's also possible some of the ros2_control packages should be included as < build > or < exec > depends under the ur10 description+control package.xml @destogl @Briancbn @ahcorde please throw us a hint here? |
@newcanopies @panagelak This is my follow-up comments. #44 (comment). Please also refer to #54 (comment) for the workaround 1. I am still using this workaround with the latest gazebo_ros2_control for my own project. I haven't been follow up on this issue lately, maybe @destogl and @ahcorde could provide the best way and estimated timeline in this getting resolved. |
Thanks very much @Briancbn - which |
@newcanopies Don't forget to add these additional lines as the pos_joint_traj_controller:
ros__parameters:
joints:
-
-
...
command_interfaces:
- position
state_interfaces:
- position
- velocity also don't forget to load the controllers in your Moveit2 launch file. Follow the example here. Latest Moveit2 repositories:
# moveit2
moveit2:
type: git
url: https://github.com/ros-planning/moveit2
version: 2.1.4
moveit_msgs:
type: git
url: https://github.com/ros-planning/moveit_msgs
version: 2.0.1
moveit_resources:
type: git
url: https://github.com/ros-planning/moveit_resources
version: 2.0.2
geometric_shapes:
type: git
url: https://github.com/ros-planning/geometric_shapes
version: 2.0.2
srdfdom:
type: git
url: https://github.com/ros-planning/srdfdom
version: 2.0.2
# ros2_control
ros2_control:
type: git
url: https://github.com/ros-controls/ros2_control
version: 0.7.0
ros2_controllers:
type: git
url: https://github.com/ros-controls/ros2_controllers
version: d989e7caa2d3e862b3e4e8e1eb7934f1f216eeae
# warehouse
warehouse_ros:
type: git
url: https://github.com/ros-planning/warehouse_ros
version: 2.0.1
warehouse_ros_mongo:
type: git
url: https://github.com/ros-planning/warehouse_ros_mongo
version: 2.0.1 gazebo_ros2_control repositories:
gazebo_ros2_control:
type: git
url: https://github.com/ros-simulation/gazebo_ros2_control
version: a33ea2eeb37094177103084e065626d63ce31a7d |
fwiw, I can build everything using the default branches for each dependency (moveit2, ros2_control, gazebo_ros2_control, etc) rather than specific commits and things now behave as expected. In #54, I mention a few pitfalls / tweaks to watch out for. But I don't think it is still necessary to build using specific versions (you of course still can if you like a bit of stability in your life😄). But with that in mind, perhaps this issue can be closed? |
Me too, any idea how to solve it? |
I had a very similar problem with gazebo11 and I finally solved it by adding friction and damping parameters in each joint. like |
Hello,
I recently tested your gazebo_ros2_control plugin (master branch) using position interface with a ur10 robot + MoveIt
by just modifying the rrbot moveit demo for the ur10
I noticed that the joint_trajectory_controller was unstable causing the robot to take a long time to go in the default position
and breaking up like so
Reducing the inertial values by a factor of 100 seemed to fix the problem in the beginning but it becomes unstable after a while
or after using Moveit to move it
(i haven't tested effort or velocity controllers yet since i don't want to tune pid's)
Any ideas?
Thanks a lot!
The text was updated successfully, but these errors were encountered: