Joint Trajectory Controller

Joint Trajectory Controller#

The Joint Trajectory Controllers are default ROS controllers for commanding trajectories across multiple joints of the robot. The trajectories are specified as a set of waypoints to be reached at specific time instances, which the controller attempts to execute in the best way the mechanism allows.

This controller are necessary for running.

  • Planned trajectories coming from MoveIt

  • Playback pre-defined motion

Key Features:

  • Interpolation: Uses cubic splines for smooth transitions between waypoints.

  • Control Modes: Supports position, velocity, and effort control modes.

  • Feedback Mechanism: Uses joint sensor feedback for accurate trajectory following.

How it Works:

  • Trajectory Reception: Receives trajectories as trajectory_msgs/JointTrajectory messages.

  • Interpolation: Interpolates waypoints to generate smooth joint commands.

  • Control Loop Execution: Computes desired joint positions, velocities, and efforts at each time step.

  • Error Correction: Utilises feedback to correct deviations from the desired trajectory.

To start the Joint Trajectory Controllers in POSITION mode run:

roslaunch kangaroo_controller_configuration position_controllers.launch

This starts two independent controllers the left_leg_controller and the right_leg_controller.