frankaemika / franka_ros

ROS integration for Franka research robots
https://frankaemika.github.io
Apache License 2.0
364 stars 312 forks source link

[docs] Improve joint effort control documentation #369

Open rickstaa opened 1 year ago

rickstaa commented 1 year ago

While attempting to control the Franka Gazebo simulation using the effort_controllers/JointEffortController, I encountered an error that presented as follows:

[/gazebo] [ERROR] [WallTime: 1693838750.059368142, 59.554000000]: Could not switch controllers. The hardware interface combination for the requested controllers is unfeasible.

I utilized the following controller configuration file:

panda_arm_joint1_effort_controller:
  type: effort_controllers/JointEffortController
  joint: panda_joint1
panda_arm_joint2_effort_controller:
  type: effort_controllers/JointEffortController
  joint: panda_joint2
panda_arm_joint3_effort_controller:
  type: effort_controllers/JointEffortController
  joint: panda_joint3
panda_arm_joint4_effort_controller:
  type: effort_controllers/JointEffortController
  joint: panda_joint4
panda_arm_joint5_effort_controller:
  type: effort_controllers/JointEffortController
  joint: panda_joint5
panda_arm_joint6_effort_controller:
  type: effort_controllers/JointEffortController
  joint: panda_joint6
panda_arm_joint7_effort_controller:
  type: effort_controllers/JointEffortController
  joint: panda_joint7

Upon further investigation, I delved into the codebase and noticed that the FrankaHWSim expects all joints to be controlled jointly, as evident in this section of the code: FrankaHWSim Code.

Notably, there must be a clear warning or indication that FrankaHWSim expects all joints to be controlled collectively. To enhance the usability of the package, I propose two potential solutions:

These enhancements would help users navigate and utilize the Franka Gazebo simulation more effectively.