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