Skip to content

Latest commit

 

History

History

README.md

Twist Controllers

This package provides a collection of velocity controllers, which calculate control commands (e.g., a wrench) needed to track a velocity reference signal.

Adaptive Integral Terminal Sliding Mode Controller

A chainable controller designed by Gonzalez-Garcia and Castaneda 1 that provides robustness to disturbances using a dynamically adapted disturbance rejection torques.

Note

The integral sliding mode controller requires that the AUV hydrodynamic parameters be included in the robot description file using the format described by the hydrodynamics library.

Plugin Library

twist_controllers/adaptive_integral_terminal_sliding_mode_controller

References

  • Target velocity Vref: vxref, vyref, vzref, wrxref, wryref, wrzref [m/s and rad/s]

State Feedback

  • Measured velocity V: vx, vy, vz, wrx, wry, wrz [m/s and rad/s]
  • Vehicle orientation measured with respect to the inertial frame Q: qx, qy, qz, qw

Commands

The output of this controller is a wrench with force components Fx, Fy, Fz and torque components Trx, Try, Trz in N and Nm, respectively.

Subscribers

  • adaptive_integral_terminal_sliding_mode_controller/reference [geometry_msgs::msg::Twist]
  • adaptive_integral_terminal_sliding_mode_controller/system_state [nav_msgs::msg::Odometry]

Publishers

  • adaptive_integral_terminal_sliding_mode_controller/status [control_msgs::msg::MultiDOFStateStamped]

Integral Sliding Mode Controller

A chainable dynamic controller designed by Palmer et al. 2 that provides robustness to matched uncertainties and attenuates chatter.

Note

The adaptive integral terminal sliding mode controller requires that the AUV hydrodynamic parameters be included in the robot description file using the format described by the hydrodynamics library.

Plugin Library

twist_controllers/integral_sliding_mode_controller

References

  • Target velocity Vref: vxref, vyref, vzref, wrxref, wryref, wrzref [m/s and rad/s]

State Feedback

  • Measured velocity V: vx, vy, vz, wrx, wry, wrz [m/s and rad/s]
  • Vehicle orientation measured with respect to the inertial frame Q: qx, qy, qz, qw

Commands

The output of this controller is a wrench with force components Fx, Fy, Fz and torque components Trx, Try, Trz in N and Nm, respectively.

Subscribers

  • integral_sliding_mode_controller/reference [geometry_msgs::msg::Twist]
  • integral_sliding_mode_controller/system_state [nav_msgs::msg::Odometry]

Publishers

  • integral_sliding_mode_controller/status [control_msgs::msg::MultiDOFStateStamped]

Footnotes

  1. A. Gonzalez-Garcia and H. Castaneda, "Adaptive Integral Terminal Sliding Mode Control for an Unmanned Surface Vehicle Against External Disturbances", in IFAC-PapersOnline, 2021.

  2. E. Palmer, C. Holm, and G. Hollinger, "Angler: An Autonomy Framework for Intervention Tasks with Lightweight Underwater Vehicle Manipulator Systems," in IEEE International Conference on Robotics and Automation (ICRA), 2024.