Skip to content

[docs] Improve joint effort control documentation #369

@rickstaa

Description

@rickstaa

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:

  • Add an Example Configuration File: Including an example configuration file in the documentation or the repository (e.g., as part of issue feat(franka_control): add example arm effort controller config file #368) that demonstrates the correct way to control all joints jointly could assist users in avoiding this error.
  • Documentation Update: An alternative approach would be to update the documentation itself here to explicitly clarify this behaviour, explaining that all joints should be controlled as a group when using the effort_controllers/JointEffortController.
  • Add a warning: Another approach is to add a warning when the user tries individually controlling the panda effort joints.

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions