interbotix_ros_manipulators icon indicating copy to clipboard operation
interbotix_ros_manipulators copied to clipboard

[Question]: Choice of controller

Open AbishekNP opened this issue 1 year ago • 1 comments

Question

Hello I noticed you've implemented the effort based hardware interface in the robot description URDF file.

In that case, may I please know why you used position_controllers/JointTrajectoryController instead of effort_controllers/JointTrajectoryController in the interbotix_xsarm_ros_control/config/6dof_controllers.yaml file?

But in the Gazebo config files, you've used the effort_controllers/JointTrajectoryController

Could you kindly give an explanation on the choice of your controllers for both the interbotix_xsarm_ros_control and interbotix_xsarm_gazebo packages?

Thank You

Robot Model

vx300s

Operating System

Ubuntu 20.04

ROS Version

ROS 1 Noetic

Additional Info

No response

AbishekNP avatar Sep 11 '23 23:09 AbishekNP

It's a good question, but I'd like to rephrase it in reverse. If the real hardware is using position_controllers/JointTrajectoryController, why do we use effort controllers in the urdf as well as in the Gazebo config files instead of position_controllers?

I think the answer is because at the time this code was designed, I thought that only effort controllers were supported in Gazebo. But taking a look at https://answers.ros.org/question/346588/why-should-we-use-effortjointinterface-as-hardware_interface-for-transmission-in-urdf/, it seems like I may have had that assumption based on misleading documentation. It's quite possible that you could switch out the effort hardware interfaces within the urdf as well as the effort_controllrs within the gazebo controller config file to 'position', and things should still work.

swiz23 avatar Apr 10 '24 02:04 swiz23