gazebo_ros2_control
gazebo_ros2_control copied to clipboard
PID - cart_example_effort
Hi,
I am testing cart_example_effort:

There are no PID parameters :
cartpole_controller_effort.yaml
controller_manager: ros__parameters: update_rate: 100 # Hz
effort_controllers:
type: effort_controllers/JointGroupEffortController
joint_state_broadcaster:
type: joint_state_broadcaster/JointStateBroadcaster
effort_controllers: ros__parameters: joints: - slider_to_cart command_interfaces: - effort state_interfaces: - position - velocity - effort
However in ROS1 has PID parameters (https://github.com/ros-simulation/gazebo_ros_demos):

rrbot_control.yaml
rrbot:
joint_state_controller: type: joint_state_controller/JointStateController publish_rate: 50
joint1_position_controller: type: effort_controllers/JointPositionController joint: joint1 pid: {p: 100.0, i: 0.01, d: 10.0} joint2_position_controller: type: effort_controllers/JointPositionController joint: joint2 pid: {p: 100.0, i: 0.01, d: 10.0}
Could indicate the equivalent PID parameters in gazebo_ros2_control.
Thank you in advance.
Hi @LuisYordano,
the issue here is that the "effort_controllers/JointPositionController" is not ported/implemented in ros2_controllers. If you would have time to tackle this, I would be glad to support you!
There is a PR for ros2_controllers implementing PID controllers, which will be merged soon: https://github.com/ros-controls/ros2_controllers/pull/434 In the meantime, one could use joint_trajectory_controller with PID control to achieve what was asked for.
I'll close this issue now due to inactivity (and because it is not even directly related with gazebo_ros2_control)