No version for distro humble showing github. Known supported distros are highlighted in the buttons above.

Package Summary

Tags No category tags.
Version 1.0.0
License MIT
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description Software for guidance, navigation and control for the Vortex AUVs. Purpose built for competing in AUV/ROV competitions.
Checkout URI https://github.com/vortexntnu/vortex-auv.git
VCS Type git
VCS Version main
Last Updated 2025-06-25
Dev Status UNKNOWN
Released UNRELEASED
Tags robot ubuntu ros finite-state-machine autonomous sensor-fusion auv robosub robot-localization motion-control pathplanning autonomous-robots vortex-auv
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Adaptive backstepping controller for DP

Additional Links

No additional links.

Maintainers

  • talhanc

Authors

No additional authors.

DP Adaptive Backstepping Controller

This package implements a dynamic positioning (DP) Adaptive backstepping controller for the orca AUV. It estimates the linear and nonlinear damping using adaptive parameters, and compensates for uncertainties and disturbances in real-time in the same manner as a state estimator. The proof for this is done using Lyapunov functions and stability requirements to ensure convergence and stability.

Overview

  • Uses the backstepping control method for position and orientation control
  • Includes adaptive terms to account for unmodeled dynamics and uncertainties.

Model for AUV

\dot{\eta} = J(\eta)\nu,

M \dot{\nu} + C(\nu)\,\nu - F(\nu, \Theta^\star) = \tau + d^\star

  • $\nu$: Body-fixed velocity vector
  • $\eta$: Inertial position and orientation vector
  • M: Constant mass-inertia matrix
  • C($\eta$): Coriolis and centripetal terms
  • J($\eta$): Transformation from body to inertial coordinates
  • F($\nu$, $\Theta^\star$) = Y($\nu$) $\Theta^\star$: The damping assumed damping function (linear and nonlinear), where Y(*) describes the behaviour
  • $d^\star$: Disturbance and uncertainties

File overview

  1. dp_adapt_backs_controller.cpp/hpp
    • The controller implementation
    • Implements the main control input, sets gains, references, and mass parameters.
  2. dp_adapt_backs_controller_utils.cpp/hpp
    • Provides utility functions: skew-symmetric matrix generation, quaternion-to-Euler, Jacobian and some functions needed for the adaptive functions.
  3. dp_adapt_backs_controller_ros.cpp/hpp
    • ROS node wrapper for the controller, subscribing to pose, twist, killswitch, and reference topics.
    • Publishes thrust commands.
  4. dp_adapt_backs_controller_node.cpp
    • Entry point for the ROS executable.
  5. adapt_params.yaml
    • Tunable controller parameters (K1, K2, adapt_gain, d_gain)
    • Contains the mass matrix (6×6) and other physical parameters:
     M =
     \begin{bmatrix}
     30.0 & 0.0 & 0.0 & \cdots \\
     0.0 & 30.0 & \cdots & \cdots \\
     0.0 & \cdots & 30.0 & \cdots \\
     \cdots & \cdots & \cdots & \cdots
     \end{bmatrix}
     
 (partially shown for brevity)
 This is also added into the orca.yaml file
  1. CMakeLists.txt
    • Build configuration, ROS 2 dependencies, executable generation, and installation setup.

Tuning Parameters

  • K1 and K2: Gains for the backstepping control laws.
  • adapt_gain: Adaptive gain for the linear and nonlinear damping.
  • d_gain: Adaptive gain for the disturbances and uncertainties.
  • M and I_b: Mass inertia matrix and rotational inertia.
  • m: Vehicle mass.

Backstepping controller

Using the Lyapunov proof we get the following functions for the backstepping controller:

Backstepping variables
z_1 = \eta - \eta_d

z_2 = \nu - \alpha

where the $\alpha$ is defined as the function that stabilizes the $z_1$ variable in the Lyapunov function system.

Adaptive parameters
\tilde{\Theta} = \hat{\Theta} - \Theta^\star

\tilde{d} = \hat{d} - d^\star

where:

  • $\Theta^\star$ and $d^\star$ are the actual parameters,
  • $\hat{\Theta}$ and $\hat{d}$ are the estimated parameters,
  • $\tilde{\Theta}$ and $\tilde{d}$ are the estimation errors.

Proof of control law

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Package Dependencies

System Dependencies

Name
eigen

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged dp_adapt_backs_controller at Robotics Stack Exchange

No version for distro jazzy showing github. Known supported distros are highlighted in the buttons above.

Package Summary

Tags No category tags.
Version 1.0.0
License MIT
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description Software for guidance, navigation and control for the Vortex AUVs. Purpose built for competing in AUV/ROV competitions.
Checkout URI https://github.com/vortexntnu/vortex-auv.git
VCS Type git
VCS Version main
Last Updated 2025-06-25
Dev Status UNKNOWN
Released UNRELEASED
Tags robot ubuntu ros finite-state-machine autonomous sensor-fusion auv robosub robot-localization motion-control pathplanning autonomous-robots vortex-auv
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Adaptive backstepping controller for DP

Additional Links

No additional links.

Maintainers

  • talhanc

Authors

No additional authors.

DP Adaptive Backstepping Controller

This package implements a dynamic positioning (DP) Adaptive backstepping controller for the orca AUV. It estimates the linear and nonlinear damping using adaptive parameters, and compensates for uncertainties and disturbances in real-time in the same manner as a state estimator. The proof for this is done using Lyapunov functions and stability requirements to ensure convergence and stability.

Overview

  • Uses the backstepping control method for position and orientation control
  • Includes adaptive terms to account for unmodeled dynamics and uncertainties.

Model for AUV

\dot{\eta} = J(\eta)\nu,

M \dot{\nu} + C(\nu)\,\nu - F(\nu, \Theta^\star) = \tau + d^\star

  • $\nu$: Body-fixed velocity vector
  • $\eta$: Inertial position and orientation vector
  • M: Constant mass-inertia matrix
  • C($\eta$): Coriolis and centripetal terms
  • J($\eta$): Transformation from body to inertial coordinates
  • F($\nu$, $\Theta^\star$) = Y($\nu$) $\Theta^\star$: The damping assumed damping function (linear and nonlinear), where Y(*) describes the behaviour
  • $d^\star$: Disturbance and uncertainties

File overview

  1. dp_adapt_backs_controller.cpp/hpp
    • The controller implementation
    • Implements the main control input, sets gains, references, and mass parameters.
  2. dp_adapt_backs_controller_utils.cpp/hpp
    • Provides utility functions: skew-symmetric matrix generation, quaternion-to-Euler, Jacobian and some functions needed for the adaptive functions.
  3. dp_adapt_backs_controller_ros.cpp/hpp
    • ROS node wrapper for the controller, subscribing to pose, twist, killswitch, and reference topics.
    • Publishes thrust commands.
  4. dp_adapt_backs_controller_node.cpp
    • Entry point for the ROS executable.
  5. adapt_params.yaml
    • Tunable controller parameters (K1, K2, adapt_gain, d_gain)
    • Contains the mass matrix (6×6) and other physical parameters:
     M =
     \begin{bmatrix}
     30.0 & 0.0 & 0.0 & \cdots \\
     0.0 & 30.0 & \cdots & \cdots \\
     0.0 & \cdots & 30.0 & \cdots \\
     \cdots & \cdots & \cdots & \cdots
     \end{bmatrix}
     
 (partially shown for brevity)
 This is also added into the orca.yaml file
  1. CMakeLists.txt
    • Build configuration, ROS 2 dependencies, executable generation, and installation setup.

Tuning Parameters

  • K1 and K2: Gains for the backstepping control laws.
  • adapt_gain: Adaptive gain for the linear and nonlinear damping.
  • d_gain: Adaptive gain for the disturbances and uncertainties.
  • M and I_b: Mass inertia matrix and rotational inertia.
  • m: Vehicle mass.

Backstepping controller

Using the Lyapunov proof we get the following functions for the backstepping controller:

Backstepping variables
z_1 = \eta - \eta_d

z_2 = \nu - \alpha

where the $\alpha$ is defined as the function that stabilizes the $z_1$ variable in the Lyapunov function system.

Adaptive parameters
\tilde{\Theta} = \hat{\Theta} - \Theta^\star

\tilde{d} = \hat{d} - d^\star

where:

  • $\Theta^\star$ and $d^\star$ are the actual parameters,
  • $\hat{\Theta}$ and $\hat{d}$ are the estimated parameters,
  • $\tilde{\Theta}$ and $\tilde{d}$ are the estimation errors.

Proof of control law

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Package Dependencies

System Dependencies

Name
eigen

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged dp_adapt_backs_controller at Robotics Stack Exchange

No version for distro kilted showing github. Known supported distros are highlighted in the buttons above.

Package Summary

Tags No category tags.
Version 1.0.0
License MIT
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description Software for guidance, navigation and control for the Vortex AUVs. Purpose built for competing in AUV/ROV competitions.
Checkout URI https://github.com/vortexntnu/vortex-auv.git
VCS Type git
VCS Version main
Last Updated 2025-06-25
Dev Status UNKNOWN
Released UNRELEASED
Tags robot ubuntu ros finite-state-machine autonomous sensor-fusion auv robosub robot-localization motion-control pathplanning autonomous-robots vortex-auv
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Adaptive backstepping controller for DP

Additional Links

No additional links.

Maintainers

  • talhanc

Authors

No additional authors.

DP Adaptive Backstepping Controller

This package implements a dynamic positioning (DP) Adaptive backstepping controller for the orca AUV. It estimates the linear and nonlinear damping using adaptive parameters, and compensates for uncertainties and disturbances in real-time in the same manner as a state estimator. The proof for this is done using Lyapunov functions and stability requirements to ensure convergence and stability.

Overview

  • Uses the backstepping control method for position and orientation control
  • Includes adaptive terms to account for unmodeled dynamics and uncertainties.

Model for AUV

\dot{\eta} = J(\eta)\nu,

M \dot{\nu} + C(\nu)\,\nu - F(\nu, \Theta^\star) = \tau + d^\star

  • $\nu$: Body-fixed velocity vector
  • $\eta$: Inertial position and orientation vector
  • M: Constant mass-inertia matrix
  • C($\eta$): Coriolis and centripetal terms
  • J($\eta$): Transformation from body to inertial coordinates
  • F($\nu$, $\Theta^\star$) = Y($\nu$) $\Theta^\star$: The damping assumed damping function (linear and nonlinear), where Y(*) describes the behaviour
  • $d^\star$: Disturbance and uncertainties

File overview

  1. dp_adapt_backs_controller.cpp/hpp
    • The controller implementation
    • Implements the main control input, sets gains, references, and mass parameters.
  2. dp_adapt_backs_controller_utils.cpp/hpp
    • Provides utility functions: skew-symmetric matrix generation, quaternion-to-Euler, Jacobian and some functions needed for the adaptive functions.
  3. dp_adapt_backs_controller_ros.cpp/hpp
    • ROS node wrapper for the controller, subscribing to pose, twist, killswitch, and reference topics.
    • Publishes thrust commands.
  4. dp_adapt_backs_controller_node.cpp
    • Entry point for the ROS executable.
  5. adapt_params.yaml
    • Tunable controller parameters (K1, K2, adapt_gain, d_gain)
    • Contains the mass matrix (6×6) and other physical parameters:
     M =
     \begin{bmatrix}
     30.0 & 0.0 & 0.0 & \cdots \\
     0.0 & 30.0 & \cdots & \cdots \\
     0.0 & \cdots & 30.0 & \cdots \\
     \cdots & \cdots & \cdots & \cdots
     \end{bmatrix}
     
 (partially shown for brevity)
 This is also added into the orca.yaml file
  1. CMakeLists.txt
    • Build configuration, ROS 2 dependencies, executable generation, and installation setup.

Tuning Parameters

  • K1 and K2: Gains for the backstepping control laws.
  • adapt_gain: Adaptive gain for the linear and nonlinear damping.
  • d_gain: Adaptive gain for the disturbances and uncertainties.
  • M and I_b: Mass inertia matrix and rotational inertia.
  • m: Vehicle mass.

Backstepping controller

Using the Lyapunov proof we get the following functions for the backstepping controller:

Backstepping variables
z_1 = \eta - \eta_d

z_2 = \nu - \alpha

where the $\alpha$ is defined as the function that stabilizes the $z_1$ variable in the Lyapunov function system.

Adaptive parameters
\tilde{\Theta} = \hat{\Theta} - \Theta^\star

\tilde{d} = \hat{d} - d^\star

where:

  • $\Theta^\star$ and $d^\star$ are the actual parameters,
  • $\hat{\Theta}$ and $\hat{d}$ are the estimated parameters,
  • $\tilde{\Theta}$ and $\tilde{d}$ are the estimation errors.

Proof of control law

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Package Dependencies

System Dependencies

Name
eigen

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged dp_adapt_backs_controller at Robotics Stack Exchange

No version for distro rolling showing github. Known supported distros are highlighted in the buttons above.

Package Summary

Tags No category tags.
Version 1.0.0
License MIT
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description Software for guidance, navigation and control for the Vortex AUVs. Purpose built for competing in AUV/ROV competitions.
Checkout URI https://github.com/vortexntnu/vortex-auv.git
VCS Type git
VCS Version main
Last Updated 2025-06-25
Dev Status UNKNOWN
Released UNRELEASED
Tags robot ubuntu ros finite-state-machine autonomous sensor-fusion auv robosub robot-localization motion-control pathplanning autonomous-robots vortex-auv
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Adaptive backstepping controller for DP

Additional Links

No additional links.

Maintainers

  • talhanc

Authors

No additional authors.

DP Adaptive Backstepping Controller

This package implements a dynamic positioning (DP) Adaptive backstepping controller for the orca AUV. It estimates the linear and nonlinear damping using adaptive parameters, and compensates for uncertainties and disturbances in real-time in the same manner as a state estimator. The proof for this is done using Lyapunov functions and stability requirements to ensure convergence and stability.

Overview

  • Uses the backstepping control method for position and orientation control
  • Includes adaptive terms to account for unmodeled dynamics and uncertainties.

Model for AUV

\dot{\eta} = J(\eta)\nu,

M \dot{\nu} + C(\nu)\,\nu - F(\nu, \Theta^\star) = \tau + d^\star

  • $\nu$: Body-fixed velocity vector
  • $\eta$: Inertial position and orientation vector
  • M: Constant mass-inertia matrix
  • C($\eta$): Coriolis and centripetal terms
  • J($\eta$): Transformation from body to inertial coordinates
  • F($\nu$, $\Theta^\star$) = Y($\nu$) $\Theta^\star$: The damping assumed damping function (linear and nonlinear), where Y(*) describes the behaviour
  • $d^\star$: Disturbance and uncertainties

File overview

  1. dp_adapt_backs_controller.cpp/hpp
    • The controller implementation
    • Implements the main control input, sets gains, references, and mass parameters.
  2. dp_adapt_backs_controller_utils.cpp/hpp
    • Provides utility functions: skew-symmetric matrix generation, quaternion-to-Euler, Jacobian and some functions needed for the adaptive functions.
  3. dp_adapt_backs_controller_ros.cpp/hpp
    • ROS node wrapper for the controller, subscribing to pose, twist, killswitch, and reference topics.
    • Publishes thrust commands.
  4. dp_adapt_backs_controller_node.cpp
    • Entry point for the ROS executable.
  5. adapt_params.yaml
    • Tunable controller parameters (K1, K2, adapt_gain, d_gain)
    • Contains the mass matrix (6×6) and other physical parameters:
     M =
     \begin{bmatrix}
     30.0 & 0.0 & 0.0 & \cdots \\
     0.0 & 30.0 & \cdots & \cdots \\
     0.0 & \cdots & 30.0 & \cdots \\
     \cdots & \cdots & \cdots & \cdots
     \end{bmatrix}
     
 (partially shown for brevity)
 This is also added into the orca.yaml file
  1. CMakeLists.txt
    • Build configuration, ROS 2 dependencies, executable generation, and installation setup.

Tuning Parameters

  • K1 and K2: Gains for the backstepping control laws.
  • adapt_gain: Adaptive gain for the linear and nonlinear damping.
  • d_gain: Adaptive gain for the disturbances and uncertainties.
  • M and I_b: Mass inertia matrix and rotational inertia.
  • m: Vehicle mass.

Backstepping controller

Using the Lyapunov proof we get the following functions for the backstepping controller:

Backstepping variables
z_1 = \eta - \eta_d

z_2 = \nu - \alpha

where the $\alpha$ is defined as the function that stabilizes the $z_1$ variable in the Lyapunov function system.

Adaptive parameters
\tilde{\Theta} = \hat{\Theta} - \Theta^\star

\tilde{d} = \hat{d} - d^\star

where:

  • $\Theta^\star$ and $d^\star$ are the actual parameters,
  • $\hat{\Theta}$ and $\hat{d}$ are the estimated parameters,
  • $\tilde{\Theta}$ and $\tilde{d}$ are the estimation errors.

Proof of control law

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Package Dependencies

System Dependencies

Name
eigen

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged dp_adapt_backs_controller at Robotics Stack Exchange

Package Summary

Tags No category tags.
Version 1.0.0
License MIT
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description Software for guidance, navigation and control for the Vortex AUVs. Purpose built for competing in AUV/ROV competitions.
Checkout URI https://github.com/vortexntnu/vortex-auv.git
VCS Type git
VCS Version main
Last Updated 2025-06-25
Dev Status UNKNOWN
Released UNRELEASED
Tags robot ubuntu ros finite-state-machine autonomous sensor-fusion auv robosub robot-localization motion-control pathplanning autonomous-robots vortex-auv
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Adaptive backstepping controller for DP

Additional Links

No additional links.

Maintainers

  • talhanc

Authors

No additional authors.

DP Adaptive Backstepping Controller

This package implements a dynamic positioning (DP) Adaptive backstepping controller for the orca AUV. It estimates the linear and nonlinear damping using adaptive parameters, and compensates for uncertainties and disturbances in real-time in the same manner as a state estimator. The proof for this is done using Lyapunov functions and stability requirements to ensure convergence and stability.

Overview

  • Uses the backstepping control method for position and orientation control
  • Includes adaptive terms to account for unmodeled dynamics and uncertainties.

Model for AUV

\dot{\eta} = J(\eta)\nu,

M \dot{\nu} + C(\nu)\,\nu - F(\nu, \Theta^\star) = \tau + d^\star

  • $\nu$: Body-fixed velocity vector
  • $\eta$: Inertial position and orientation vector
  • M: Constant mass-inertia matrix
  • C($\eta$): Coriolis and centripetal terms
  • J($\eta$): Transformation from body to inertial coordinates
  • F($\nu$, $\Theta^\star$) = Y($\nu$) $\Theta^\star$: The damping assumed damping function (linear and nonlinear), where Y(*) describes the behaviour
  • $d^\star$: Disturbance and uncertainties

File overview

  1. dp_adapt_backs_controller.cpp/hpp
    • The controller implementation
    • Implements the main control input, sets gains, references, and mass parameters.
  2. dp_adapt_backs_controller_utils.cpp/hpp
    • Provides utility functions: skew-symmetric matrix generation, quaternion-to-Euler, Jacobian and some functions needed for the adaptive functions.
  3. dp_adapt_backs_controller_ros.cpp/hpp
    • ROS node wrapper for the controller, subscribing to pose, twist, killswitch, and reference topics.
    • Publishes thrust commands.
  4. dp_adapt_backs_controller_node.cpp
    • Entry point for the ROS executable.
  5. adapt_params.yaml
    • Tunable controller parameters (K1, K2, adapt_gain, d_gain)
    • Contains the mass matrix (6×6) and other physical parameters:
     M =
     \begin{bmatrix}
     30.0 & 0.0 & 0.0 & \cdots \\
     0.0 & 30.0 & \cdots & \cdots \\
     0.0 & \cdots & 30.0 & \cdots \\
     \cdots & \cdots & \cdots & \cdots
     \end{bmatrix}
     
 (partially shown for brevity)
 This is also added into the orca.yaml file
  1. CMakeLists.txt
    • Build configuration, ROS 2 dependencies, executable generation, and installation setup.

Tuning Parameters

  • K1 and K2: Gains for the backstepping control laws.
  • adapt_gain: Adaptive gain for the linear and nonlinear damping.
  • d_gain: Adaptive gain for the disturbances and uncertainties.
  • M and I_b: Mass inertia matrix and rotational inertia.
  • m: Vehicle mass.

Backstepping controller

Using the Lyapunov proof we get the following functions for the backstepping controller:

Backstepping variables
z_1 = \eta - \eta_d

z_2 = \nu - \alpha

where the $\alpha$ is defined as the function that stabilizes the $z_1$ variable in the Lyapunov function system.

Adaptive parameters
\tilde{\Theta} = \hat{\Theta} - \Theta^\star

\tilde{d} = \hat{d} - d^\star

where:

  • $\Theta^\star$ and $d^\star$ are the actual parameters,
  • $\hat{\Theta}$ and $\hat{d}$ are the estimated parameters,
  • $\tilde{\Theta}$ and $\tilde{d}$ are the estimation errors.

Proof of control law

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Package Dependencies

System Dependencies

Name
eigen

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged dp_adapt_backs_controller at Robotics Stack Exchange

No version for distro galactic showing github. Known supported distros are highlighted in the buttons above.

Package Summary

Tags No category tags.
Version 1.0.0
License MIT
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description Software for guidance, navigation and control for the Vortex AUVs. Purpose built for competing in AUV/ROV competitions.
Checkout URI https://github.com/vortexntnu/vortex-auv.git
VCS Type git
VCS Version main
Last Updated 2025-06-25
Dev Status UNKNOWN
Released UNRELEASED
Tags robot ubuntu ros finite-state-machine autonomous sensor-fusion auv robosub robot-localization motion-control pathplanning autonomous-robots vortex-auv
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Adaptive backstepping controller for DP

Additional Links

No additional links.

Maintainers

  • talhanc

Authors

No additional authors.

DP Adaptive Backstepping Controller

This package implements a dynamic positioning (DP) Adaptive backstepping controller for the orca AUV. It estimates the linear and nonlinear damping using adaptive parameters, and compensates for uncertainties and disturbances in real-time in the same manner as a state estimator. The proof for this is done using Lyapunov functions and stability requirements to ensure convergence and stability.

Overview

  • Uses the backstepping control method for position and orientation control
  • Includes adaptive terms to account for unmodeled dynamics and uncertainties.

Model for AUV

\dot{\eta} = J(\eta)\nu,

M \dot{\nu} + C(\nu)\,\nu - F(\nu, \Theta^\star) = \tau + d^\star

  • $\nu$: Body-fixed velocity vector
  • $\eta$: Inertial position and orientation vector
  • M: Constant mass-inertia matrix
  • C($\eta$): Coriolis and centripetal terms
  • J($\eta$): Transformation from body to inertial coordinates
  • F($\nu$, $\Theta^\star$) = Y($\nu$) $\Theta^\star$: The damping assumed damping function (linear and nonlinear), where Y(*) describes the behaviour
  • $d^\star$: Disturbance and uncertainties

File overview

  1. dp_adapt_backs_controller.cpp/hpp
    • The controller implementation
    • Implements the main control input, sets gains, references, and mass parameters.
  2. dp_adapt_backs_controller_utils.cpp/hpp
    • Provides utility functions: skew-symmetric matrix generation, quaternion-to-Euler, Jacobian and some functions needed for the adaptive functions.
  3. dp_adapt_backs_controller_ros.cpp/hpp
    • ROS node wrapper for the controller, subscribing to pose, twist, killswitch, and reference topics.
    • Publishes thrust commands.
  4. dp_adapt_backs_controller_node.cpp
    • Entry point for the ROS executable.
  5. adapt_params.yaml
    • Tunable controller parameters (K1, K2, adapt_gain, d_gain)
    • Contains the mass matrix (6×6) and other physical parameters:
     M =
     \begin{bmatrix}
     30.0 & 0.0 & 0.0 & \cdots \\
     0.0 & 30.0 & \cdots & \cdots \\
     0.0 & \cdots & 30.0 & \cdots \\
     \cdots & \cdots & \cdots & \cdots
     \end{bmatrix}
     
 (partially shown for brevity)
 This is also added into the orca.yaml file
  1. CMakeLists.txt
    • Build configuration, ROS 2 dependencies, executable generation, and installation setup.

Tuning Parameters

  • K1 and K2: Gains for the backstepping control laws.
  • adapt_gain: Adaptive gain for the linear and nonlinear damping.
  • d_gain: Adaptive gain for the disturbances and uncertainties.
  • M and I_b: Mass inertia matrix and rotational inertia.
  • m: Vehicle mass.

Backstepping controller

Using the Lyapunov proof we get the following functions for the backstepping controller:

Backstepping variables
z_1 = \eta - \eta_d

z_2 = \nu - \alpha

where the $\alpha$ is defined as the function that stabilizes the $z_1$ variable in the Lyapunov function system.

Adaptive parameters
\tilde{\Theta} = \hat{\Theta} - \Theta^\star

\tilde{d} = \hat{d} - d^\star

where:

  • $\Theta^\star$ and $d^\star$ are the actual parameters,
  • $\hat{\Theta}$ and $\hat{d}$ are the estimated parameters,
  • $\tilde{\Theta}$ and $\tilde{d}$ are the estimation errors.

Proof of control law

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Package Dependencies

System Dependencies

Name
eigen

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged dp_adapt_backs_controller at Robotics Stack Exchange

No version for distro iron showing github. Known supported distros are highlighted in the buttons above.

Package Summary

Tags No category tags.
Version 1.0.0
License MIT
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description Software for guidance, navigation and control for the Vortex AUVs. Purpose built for competing in AUV/ROV competitions.
Checkout URI https://github.com/vortexntnu/vortex-auv.git
VCS Type git
VCS Version main
Last Updated 2025-06-25
Dev Status UNKNOWN
Released UNRELEASED
Tags robot ubuntu ros finite-state-machine autonomous sensor-fusion auv robosub robot-localization motion-control pathplanning autonomous-robots vortex-auv
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Adaptive backstepping controller for DP

Additional Links

No additional links.

Maintainers

  • talhanc

Authors

No additional authors.

DP Adaptive Backstepping Controller

This package implements a dynamic positioning (DP) Adaptive backstepping controller for the orca AUV. It estimates the linear and nonlinear damping using adaptive parameters, and compensates for uncertainties and disturbances in real-time in the same manner as a state estimator. The proof for this is done using Lyapunov functions and stability requirements to ensure convergence and stability.

Overview

  • Uses the backstepping control method for position and orientation control
  • Includes adaptive terms to account for unmodeled dynamics and uncertainties.

Model for AUV

\dot{\eta} = J(\eta)\nu,

M \dot{\nu} + C(\nu)\,\nu - F(\nu, \Theta^\star) = \tau + d^\star

  • $\nu$: Body-fixed velocity vector
  • $\eta$: Inertial position and orientation vector
  • M: Constant mass-inertia matrix
  • C($\eta$): Coriolis and centripetal terms
  • J($\eta$): Transformation from body to inertial coordinates
  • F($\nu$, $\Theta^\star$) = Y($\nu$) $\Theta^\star$: The damping assumed damping function (linear and nonlinear), where Y(*) describes the behaviour
  • $d^\star$: Disturbance and uncertainties

File overview

  1. dp_adapt_backs_controller.cpp/hpp
    • The controller implementation
    • Implements the main control input, sets gains, references, and mass parameters.
  2. dp_adapt_backs_controller_utils.cpp/hpp
    • Provides utility functions: skew-symmetric matrix generation, quaternion-to-Euler, Jacobian and some functions needed for the adaptive functions.
  3. dp_adapt_backs_controller_ros.cpp/hpp
    • ROS node wrapper for the controller, subscribing to pose, twist, killswitch, and reference topics.
    • Publishes thrust commands.
  4. dp_adapt_backs_controller_node.cpp
    • Entry point for the ROS executable.
  5. adapt_params.yaml
    • Tunable controller parameters (K1, K2, adapt_gain, d_gain)
    • Contains the mass matrix (6×6) and other physical parameters:
     M =
     \begin{bmatrix}
     30.0 & 0.0 & 0.0 & \cdots \\
     0.0 & 30.0 & \cdots & \cdots \\
     0.0 & \cdots & 30.0 & \cdots \\
     \cdots & \cdots & \cdots & \cdots
     \end{bmatrix}
     
 (partially shown for brevity)
 This is also added into the orca.yaml file
  1. CMakeLists.txt
    • Build configuration, ROS 2 dependencies, executable generation, and installation setup.

Tuning Parameters

  • K1 and K2: Gains for the backstepping control laws.
  • adapt_gain: Adaptive gain for the linear and nonlinear damping.
  • d_gain: Adaptive gain for the disturbances and uncertainties.
  • M and I_b: Mass inertia matrix and rotational inertia.
  • m: Vehicle mass.

Backstepping controller

Using the Lyapunov proof we get the following functions for the backstepping controller:

Backstepping variables
z_1 = \eta - \eta_d

z_2 = \nu - \alpha

where the $\alpha$ is defined as the function that stabilizes the $z_1$ variable in the Lyapunov function system.

Adaptive parameters
\tilde{\Theta} = \hat{\Theta} - \Theta^\star

\tilde{d} = \hat{d} - d^\star

where:

  • $\Theta^\star$ and $d^\star$ are the actual parameters,
  • $\hat{\Theta}$ and $\hat{d}$ are the estimated parameters,
  • $\tilde{\Theta}$ and $\tilde{d}$ are the estimation errors.

Proof of control law

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Package Dependencies

System Dependencies

Name
eigen

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged dp_adapt_backs_controller at Robotics Stack Exchange

No version for distro melodic showing github. Known supported distros are highlighted in the buttons above.

Package Summary

Tags No category tags.
Version 1.0.0
License MIT
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description Software for guidance, navigation and control for the Vortex AUVs. Purpose built for competing in AUV/ROV competitions.
Checkout URI https://github.com/vortexntnu/vortex-auv.git
VCS Type git
VCS Version main
Last Updated 2025-06-25
Dev Status UNKNOWN
Released UNRELEASED
Tags robot ubuntu ros finite-state-machine autonomous sensor-fusion auv robosub robot-localization motion-control pathplanning autonomous-robots vortex-auv
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Adaptive backstepping controller for DP

Additional Links

No additional links.

Maintainers

  • talhanc

Authors

No additional authors.

DP Adaptive Backstepping Controller

This package implements a dynamic positioning (DP) Adaptive backstepping controller for the orca AUV. It estimates the linear and nonlinear damping using adaptive parameters, and compensates for uncertainties and disturbances in real-time in the same manner as a state estimator. The proof for this is done using Lyapunov functions and stability requirements to ensure convergence and stability.

Overview

  • Uses the backstepping control method for position and orientation control
  • Includes adaptive terms to account for unmodeled dynamics and uncertainties.

Model for AUV

\dot{\eta} = J(\eta)\nu,

M \dot{\nu} + C(\nu)\,\nu - F(\nu, \Theta^\star) = \tau + d^\star

  • $\nu$: Body-fixed velocity vector
  • $\eta$: Inertial position and orientation vector
  • M: Constant mass-inertia matrix
  • C($\eta$): Coriolis and centripetal terms
  • J($\eta$): Transformation from body to inertial coordinates
  • F($\nu$, $\Theta^\star$) = Y($\nu$) $\Theta^\star$: The damping assumed damping function (linear and nonlinear), where Y(*) describes the behaviour
  • $d^\star$: Disturbance and uncertainties

File overview

  1. dp_adapt_backs_controller.cpp/hpp
    • The controller implementation
    • Implements the main control input, sets gains, references, and mass parameters.
  2. dp_adapt_backs_controller_utils.cpp/hpp
    • Provides utility functions: skew-symmetric matrix generation, quaternion-to-Euler, Jacobian and some functions needed for the adaptive functions.
  3. dp_adapt_backs_controller_ros.cpp/hpp
    • ROS node wrapper for the controller, subscribing to pose, twist, killswitch, and reference topics.
    • Publishes thrust commands.
  4. dp_adapt_backs_controller_node.cpp
    • Entry point for the ROS executable.
  5. adapt_params.yaml
    • Tunable controller parameters (K1, K2, adapt_gain, d_gain)
    • Contains the mass matrix (6×6) and other physical parameters:
     M =
     \begin{bmatrix}
     30.0 & 0.0 & 0.0 & \cdots \\
     0.0 & 30.0 & \cdots & \cdots \\
     0.0 & \cdots & 30.0 & \cdots \\
     \cdots & \cdots & \cdots & \cdots
     \end{bmatrix}
     
 (partially shown for brevity)
 This is also added into the orca.yaml file
  1. CMakeLists.txt
    • Build configuration, ROS 2 dependencies, executable generation, and installation setup.

Tuning Parameters

  • K1 and K2: Gains for the backstepping control laws.
  • adapt_gain: Adaptive gain for the linear and nonlinear damping.
  • d_gain: Adaptive gain for the disturbances and uncertainties.
  • M and I_b: Mass inertia matrix and rotational inertia.
  • m: Vehicle mass.

Backstepping controller

Using the Lyapunov proof we get the following functions for the backstepping controller:

Backstepping variables
z_1 = \eta - \eta_d

z_2 = \nu - \alpha

where the $\alpha$ is defined as the function that stabilizes the $z_1$ variable in the Lyapunov function system.

Adaptive parameters
\tilde{\Theta} = \hat{\Theta} - \Theta^\star

\tilde{d} = \hat{d} - d^\star

where:

  • $\Theta^\star$ and $d^\star$ are the actual parameters,
  • $\hat{\Theta}$ and $\hat{d}$ are the estimated parameters,
  • $\tilde{\Theta}$ and $\tilde{d}$ are the estimation errors.

Proof of control law

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Package Dependencies

System Dependencies

Name
eigen

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged dp_adapt_backs_controller at Robotics Stack Exchange

No version for distro noetic showing github. Known supported distros are highlighted in the buttons above.

Package Summary

Tags No category tags.
Version 1.0.0
License MIT
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description Software for guidance, navigation and control for the Vortex AUVs. Purpose built for competing in AUV/ROV competitions.
Checkout URI https://github.com/vortexntnu/vortex-auv.git
VCS Type git
VCS Version main
Last Updated 2025-06-25
Dev Status UNKNOWN
Released UNRELEASED
Tags robot ubuntu ros finite-state-machine autonomous sensor-fusion auv robosub robot-localization motion-control pathplanning autonomous-robots vortex-auv
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Adaptive backstepping controller for DP

Additional Links

No additional links.

Maintainers

  • talhanc

Authors

No additional authors.

DP Adaptive Backstepping Controller

This package implements a dynamic positioning (DP) Adaptive backstepping controller for the orca AUV. It estimates the linear and nonlinear damping using adaptive parameters, and compensates for uncertainties and disturbances in real-time in the same manner as a state estimator. The proof for this is done using Lyapunov functions and stability requirements to ensure convergence and stability.

Overview

  • Uses the backstepping control method for position and orientation control
  • Includes adaptive terms to account for unmodeled dynamics and uncertainties.

Model for AUV

\dot{\eta} = J(\eta)\nu,

M \dot{\nu} + C(\nu)\,\nu - F(\nu, \Theta^\star) = \tau + d^\star

  • $\nu$: Body-fixed velocity vector
  • $\eta$: Inertial position and orientation vector
  • M: Constant mass-inertia matrix
  • C($\eta$): Coriolis and centripetal terms
  • J($\eta$): Transformation from body to inertial coordinates
  • F($\nu$, $\Theta^\star$) = Y($\nu$) $\Theta^\star$: The damping assumed damping function (linear and nonlinear), where Y(*) describes the behaviour
  • $d^\star$: Disturbance and uncertainties

File overview

  1. dp_adapt_backs_controller.cpp/hpp
    • The controller implementation
    • Implements the main control input, sets gains, references, and mass parameters.
  2. dp_adapt_backs_controller_utils.cpp/hpp
    • Provides utility functions: skew-symmetric matrix generation, quaternion-to-Euler, Jacobian and some functions needed for the adaptive functions.
  3. dp_adapt_backs_controller_ros.cpp/hpp
    • ROS node wrapper for the controller, subscribing to pose, twist, killswitch, and reference topics.
    • Publishes thrust commands.
  4. dp_adapt_backs_controller_node.cpp
    • Entry point for the ROS executable.
  5. adapt_params.yaml
    • Tunable controller parameters (K1, K2, adapt_gain, d_gain)
    • Contains the mass matrix (6×6) and other physical parameters:
     M =
     \begin{bmatrix}
     30.0 & 0.0 & 0.0 & \cdots \\
     0.0 & 30.0 & \cdots & \cdots \\
     0.0 & \cdots & 30.0 & \cdots \\
     \cdots & \cdots & \cdots & \cdots
     \end{bmatrix}
     
 (partially shown for brevity)
 This is also added into the orca.yaml file
  1. CMakeLists.txt
    • Build configuration, ROS 2 dependencies, executable generation, and installation setup.

Tuning Parameters

  • K1 and K2: Gains for the backstepping control laws.
  • adapt_gain: Adaptive gain for the linear and nonlinear damping.
  • d_gain: Adaptive gain for the disturbances and uncertainties.
  • M and I_b: Mass inertia matrix and rotational inertia.
  • m: Vehicle mass.

Backstepping controller

Using the Lyapunov proof we get the following functions for the backstepping controller:

Backstepping variables
z_1 = \eta - \eta_d

z_2 = \nu - \alpha

where the $\alpha$ is defined as the function that stabilizes the $z_1$ variable in the Lyapunov function system.

Adaptive parameters
\tilde{\Theta} = \hat{\Theta} - \Theta^\star

\tilde{d} = \hat{d} - d^\star

where:

  • $\Theta^\star$ and $d^\star$ are the actual parameters,
  • $\hat{\Theta}$ and $\hat{d}$ are the estimated parameters,
  • $\tilde{\Theta}$ and $\tilde{d}$ are the estimation errors.

Proof of control law

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Package Dependencies

System Dependencies

Name
eigen

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged dp_adapt_backs_controller at Robotics Stack Exchange