UniversalRobots / Universal_Robots_ROS_Driver

Universal Robots ROS driver supporting CB3 and e-Series
Apache License 2.0
747 stars 401 forks source link

Unable to use effort controllers on the real robot #636

Open AbdulMughniKUCAR opened 1 year ago

AbdulMughniKUCAR commented 1 year ago

I'm facing this error when trying to run my controllers on the real robot, They work in gazebo by the way.

[ERROR] [1686577035.355803649]: This controller requires a hardware interface of type 'hardware_interface::EffortJointInterface'. Make sure this is registered in the hardware_interface::RobotHW class.

cedricgoubard commented 1 year ago

Hi @AbdulMughniKUCAR,

I'm not sure the UR robot supports this kind of controller; when you look at the hardware interface code, I think this driver only accepts position or velocity commands.

That being said, your error probably comes from the fact that the default hardware interface in the robot's description file is a PositionJointInterface, but your controller expects an EffortJointInterface.

Disclaimer: I might be wrong, I'm just another user who spent some time looking into similar problems.