Robotics StackExchange | Archived questions

ROS2 Position Controller via Effort Output

In foxy, I am trying to control the position of a revolute joint by applying effort (torque) to the joint in a Gazebo simulation.

I believe currently I have a controller that takes what it considers to be a desired effort and drives the joint to the maximal allowed position specified in the URDF at which point it continues applying the same effort that got it to that position.

I based my work on the cart effort example from gazeboros2control_demos

https://github.com/ros-simulation/gazebo_ros2_control/tree/master/gazebo_ros2_control_demos

In ROS2 Control, is there an equivalent to the ROS controller listed here under effortcontrollers/jointpositioncontroller? http://wiki.ros.org/roscontrol#Controllers

The only effort controller I can seem to find in ROS2 is JointGroupEffortController. Can JointGroupEffortController take a position and use an effort applied to joint to achieve it, namely in a Gazebo simulation? Are there any examples of this?

Asked by jackfrye on 2022-05-17 17:15:29 UTC

Comments

Hello, I'm having the same problem right now, did u manage to find an answer ?

Asked by 7Amadaaaa on 2023-03-29 12:47:45 UTC

Not really, had to implement the PID myself in C++ application and use apply a "desired effort" to a controller. Algorithm was read position, then apply a torque depending on positional error and PID calculation

Asked by jackfrye on 2023-05-08 19:52:25 UTC

Answers