ros2_controllers icon indicating copy to clipboard operation
ros2_controllers copied to clipboard

effort_controllers/joint_position_controller from ROS1

Open tonylitianyu opened this issue 3 years ago • 11 comments

ros1_controllers has effort_controllers/joint_position_controller that accepts position commands and targets an effort-controlled joint. But in this repo, the effort_controllers only accept group effort commands. Is it moved somewhere else or the feature is still missing?

tonylitianyu avatar Jun 29 '22 22:06 tonylitianyu

To be more specific, I am trying to control an arm to a set joint position, but with limited torque, so that when an external force (larger than the torque limit) is present, the arm will deviate from the position (with some kind of compliant behavior). Once the external force is gone or become smaller, the arm will tend to move back to the set joint position. Basically some kind of passive motion. Back in ROS1, I can achieve such behavior with effort_controllers/joint_position_controller. I am wondering if ros2_controller has something similar to this.

tonylitianyu avatar Jul 05 '22 19:07 tonylitianyu

This functionality is currently missing but it's fairly straight forward to port it from ROS1. I'd happily review a PR for this

On Tue, 5 Jul 2022, 20:15 Tianyu Li, @.***> wrote:

To be more specific, I am trying to control an arm to a set joint position, but with limited torque, so that when an external force (larger than the torque limit) is present, the arm will deviate from the position (with some kind of compliant behavior). Once the external force is gone or become smaller, the arm will tend to move back to the set joint position. Basically some kind of passive motion. Back in ROS1, I can achieve such behavior with effort_controllers/joint_position_controller. I am wondering if ros2_controller has something similar to this.

— Reply to this email directly, view it on GitHub https://github.com/ros-controls/ros2_controllers/issues/373#issuecomment-1175410184, or unsubscribe https://github.com/notifications/unsubscribe-auth/AA24PYKEJUYLOV3YZQVUCD3VSSCWXANCNFSM52HIHHKA . You are receiving this because you are subscribed to this thread.Message ID: @.***>

bmagyar avatar Jul 05 '22 20:07 bmagyar

@bmagyar Just realize https://github.com/ros-controls/ros2_controllers/pull/198 has the group version for this a year ago, is there a reason why it has not merged yet? Would be happy to contribute to this.

tonylitianyu avatar Jul 05 '22 21:07 tonylitianyu

It needs revival :)

bmagyar avatar Jul 06 '22 13:07 bmagyar

@tonylitianyu you wanted to contribute to this. Is this still the case?

destogl avatar Sep 26 '22 12:09 destogl

@destogl Given my recent schedule, it would be difficult. Sorry about that.

tonylitianyu avatar Sep 27 '22 20:09 tonylitianyu

@bmagyar i am trying to build the effort_controller: joint_position_controller from here, but I keep getting build errors for Humble, is there any new branch with a fix for this?

Aadiv1999 avatar Nov 07 '22 20:11 Aadiv1999

There was a sync a few days ago. If you rosdep update && rosdep install --from-path src --ignore-src, it should build fine again.

bmagyar avatar Nov 08 '22 10:11 bmagyar

@bmagyar I tried that, but i still seem to be getting errors while building. To give you an idea of my setup:

  • Ubuntu 22.04
  • ROS2 Humble
  • In my home directory, ros2 workspace (ros2_ws)
  • I have the binary install of ros2_controls and ros2_controllers (ros-humble-ros2-control and ros-humble-ros2-controllers)
  • In ~/ros2_ws/src i have cloned the effort_controllers package from here

here is the error message I get while building.

Aadiv1999 avatar Nov 09 '22 19:11 Aadiv1999

Have you tried with --allow-overriding as per the error message? We generally do not recommend having the same package you are trying to build from source installed as binary too as ros2 seems to still have issues with it.

On Wed, 9 Nov 2022, 20:57 Aadiv Shah, @.***> wrote:

@bmagyar https://github.com/bmagyar I tried that, but i still seem to be getting errors while building. To give you an idea of my setup:

here https://drive.google.com/file/d/1OT8YuICxlYe7KYcne9Gp1ZbFrBrXBSrg/view?usp=sharing is the error message I get while building.

— Reply to this email directly, view it on GitHub https://github.com/ros-controls/ros2_controllers/issues/373#issuecomment-1309288768, or unsubscribe https://github.com/notifications/unsubscribe-auth/AA24PYKPTOVMIRPMIP34IRDWHP6ZPANCNFSM52HIHHKA . You are receiving this because you were mentioned.Message ID: @.***>

bmagyar avatar Nov 09 '22 20:11 bmagyar

@bmagyar yes I did try, it is still giving me build issues/issues in the code itself as shown in the attached file. Besides, I removed the binary install for the “effort_controllers” package, and I was getting the same errors

Aadiv1999 avatar Nov 09 '22 20:11 Aadiv1999