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

Package Summary

Version 0.0.0
License MIT
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description
Checkout URI https://github.com/vortexntnu/vortex-auv.git
VCS Type git
VCS Version main
Last Updated 2026-04-03
Dev Status UNKNOWN
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Reference model for the DP controller

Maintainers

  • andeshog

Authors

No additional authors.

Reference filter

The reference filter (or reference model) is of third order and provides reference for pose, velocity and acceleration. So that $x_d := [\eta_d^\top, \dot{\eta}_d^\top, \ddot{\eta}_d^\top] \in \mathbb{R}^{3n}$.

The state-space representation is, according to (Fossen, 2021),

\dot{x}_d = A_d x_d + B_d r

where

A_d = \begin{bmatrix}
0_{n\times n} & I_n & 0_{n\times n} \\
0_{n\times n} & 0_{n \times n} & I_n \\
-\Omega^3 & -(2 \Delta + I_n) \Omega^2 & -(2 \Delta + I_n) \Omega
\end{bmatrix}

and

B_d = \begin{bmatrix}
0_{n \times n} \\
0_{n \times n} \\
\Omega^3
\end{bmatrix}.

The steady-state pose for a constant reference signal $r$ is

\lim_{t \to \infty} \eta_d = r

The state at the next time step is calculated using forward Euler integration

x_{i+1} = x_i + \dot{x}_i * dt

Waypoint modes

Each waypoint has a mode that determines which degrees of freedom are controlled by the reference filter. The mode also determines how convergence is measured.

Mode Controlled DOFs Convergence metric
FULL_POSE All 6 DOF (position + orientation) Euclidean norm of position and angle errors
ONLY_POSITION x, y, z (orientation holds current value) Euclidean norm of position error
FORWARD_HEADING x, y, z + yaw toward target (roll/pitch = 0) Euclidean norm of position error and yaw error
ONLY_ORIENTATION roll, pitch, yaw (position holds current value) Euclidean norm of angle errors

For all modes, convergence is reached when the error metric drops below the convergence_threshold specified in the action goal.

Action Server

The action server is responsible for handling goal requests and publishing guidance commands. The server will always prioritize new goal requests, and will abort ongoing requests when getting a new request. The action definition can be found here.

  • Action name: /reference_filter
  • Goal type: PoseStamped
  • Result type: bool
  • Guidance topic: /dp/reference

Overwriting the reference during an action

While an action is executing, the reference goal can be updated at any time by publishing a geometry_msgs/msg/PoseStamped to the reference pose topic. This allows external nodes to adjust the target pose mid-action without canceling and resending the goal. The convergence check will use the updated reference, so the action completes when the vehicle reaches the latest reference.

CHANGELOG
No CHANGELOG found.

Package Dependencies

Deps Name
ament_cmake
rclcpp
rclcpp_action
geometry_msgs
vortex_msgs
vortex_utils
vortex_utils_ros
nav_msgs

System Dependencies

Name
eigen

Dependant Packages

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged reference_filter_dp at Robotics Stack Exchange

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

Package Summary

Version 0.0.0
License MIT
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description
Checkout URI https://github.com/vortexntnu/vortex-auv.git
VCS Type git
VCS Version main
Last Updated 2026-04-03
Dev Status UNKNOWN
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Reference model for the DP controller

Maintainers

  • andeshog

Authors

No additional authors.

Reference filter

The reference filter (or reference model) is of third order and provides reference for pose, velocity and acceleration. So that $x_d := [\eta_d^\top, \dot{\eta}_d^\top, \ddot{\eta}_d^\top] \in \mathbb{R}^{3n}$.

The state-space representation is, according to (Fossen, 2021),

\dot{x}_d = A_d x_d + B_d r

where

A_d = \begin{bmatrix}
0_{n\times n} & I_n & 0_{n\times n} \\
0_{n\times n} & 0_{n \times n} & I_n \\
-\Omega^3 & -(2 \Delta + I_n) \Omega^2 & -(2 \Delta + I_n) \Omega
\end{bmatrix}

and

B_d = \begin{bmatrix}
0_{n \times n} \\
0_{n \times n} \\
\Omega^3
\end{bmatrix}.

The steady-state pose for a constant reference signal $r$ is

\lim_{t \to \infty} \eta_d = r

The state at the next time step is calculated using forward Euler integration

x_{i+1} = x_i + \dot{x}_i * dt

Waypoint modes

Each waypoint has a mode that determines which degrees of freedom are controlled by the reference filter. The mode also determines how convergence is measured.

Mode Controlled DOFs Convergence metric
FULL_POSE All 6 DOF (position + orientation) Euclidean norm of position and angle errors
ONLY_POSITION x, y, z (orientation holds current value) Euclidean norm of position error
FORWARD_HEADING x, y, z + yaw toward target (roll/pitch = 0) Euclidean norm of position error and yaw error
ONLY_ORIENTATION roll, pitch, yaw (position holds current value) Euclidean norm of angle errors

For all modes, convergence is reached when the error metric drops below the convergence_threshold specified in the action goal.

Action Server

The action server is responsible for handling goal requests and publishing guidance commands. The server will always prioritize new goal requests, and will abort ongoing requests when getting a new request. The action definition can be found here.

  • Action name: /reference_filter
  • Goal type: PoseStamped
  • Result type: bool
  • Guidance topic: /dp/reference

Overwriting the reference during an action

While an action is executing, the reference goal can be updated at any time by publishing a geometry_msgs/msg/PoseStamped to the reference pose topic. This allows external nodes to adjust the target pose mid-action without canceling and resending the goal. The convergence check will use the updated reference, so the action completes when the vehicle reaches the latest reference.

CHANGELOG
No CHANGELOG found.

Package Dependencies

Deps Name
ament_cmake
rclcpp
rclcpp_action
geometry_msgs
vortex_msgs
vortex_utils
vortex_utils_ros
nav_msgs

System Dependencies

Name
eigen

Dependant Packages

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged reference_filter_dp at Robotics Stack Exchange

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

Package Summary

Version 0.0.0
License MIT
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description
Checkout URI https://github.com/vortexntnu/vortex-auv.git
VCS Type git
VCS Version main
Last Updated 2026-04-03
Dev Status UNKNOWN
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Reference model for the DP controller

Maintainers

  • andeshog

Authors

No additional authors.

Reference filter

The reference filter (or reference model) is of third order and provides reference for pose, velocity and acceleration. So that $x_d := [\eta_d^\top, \dot{\eta}_d^\top, \ddot{\eta}_d^\top] \in \mathbb{R}^{3n}$.

The state-space representation is, according to (Fossen, 2021),

\dot{x}_d = A_d x_d + B_d r

where

A_d = \begin{bmatrix}
0_{n\times n} & I_n & 0_{n\times n} \\
0_{n\times n} & 0_{n \times n} & I_n \\
-\Omega^3 & -(2 \Delta + I_n) \Omega^2 & -(2 \Delta + I_n) \Omega
\end{bmatrix}

and

B_d = \begin{bmatrix}
0_{n \times n} \\
0_{n \times n} \\
\Omega^3
\end{bmatrix}.

The steady-state pose for a constant reference signal $r$ is

\lim_{t \to \infty} \eta_d = r

The state at the next time step is calculated using forward Euler integration

x_{i+1} = x_i + \dot{x}_i * dt

Waypoint modes

Each waypoint has a mode that determines which degrees of freedom are controlled by the reference filter. The mode also determines how convergence is measured.

Mode Controlled DOFs Convergence metric
FULL_POSE All 6 DOF (position + orientation) Euclidean norm of position and angle errors
ONLY_POSITION x, y, z (orientation holds current value) Euclidean norm of position error
FORWARD_HEADING x, y, z + yaw toward target (roll/pitch = 0) Euclidean norm of position error and yaw error
ONLY_ORIENTATION roll, pitch, yaw (position holds current value) Euclidean norm of angle errors

For all modes, convergence is reached when the error metric drops below the convergence_threshold specified in the action goal.

Action Server

The action server is responsible for handling goal requests and publishing guidance commands. The server will always prioritize new goal requests, and will abort ongoing requests when getting a new request. The action definition can be found here.

  • Action name: /reference_filter
  • Goal type: PoseStamped
  • Result type: bool
  • Guidance topic: /dp/reference

Overwriting the reference during an action

While an action is executing, the reference goal can be updated at any time by publishing a geometry_msgs/msg/PoseStamped to the reference pose topic. This allows external nodes to adjust the target pose mid-action without canceling and resending the goal. The convergence check will use the updated reference, so the action completes when the vehicle reaches the latest reference.

CHANGELOG
No CHANGELOG found.

Package Dependencies

Deps Name
ament_cmake
rclcpp
rclcpp_action
geometry_msgs
vortex_msgs
vortex_utils
vortex_utils_ros
nav_msgs

System Dependencies

Name
eigen

Dependant Packages

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged reference_filter_dp at Robotics Stack Exchange

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

Package Summary

Version 0.0.0
License MIT
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description
Checkout URI https://github.com/vortexntnu/vortex-auv.git
VCS Type git
VCS Version main
Last Updated 2026-04-03
Dev Status UNKNOWN
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Reference model for the DP controller

Maintainers

  • andeshog

Authors

No additional authors.

Reference filter

The reference filter (or reference model) is of third order and provides reference for pose, velocity and acceleration. So that $x_d := [\eta_d^\top, \dot{\eta}_d^\top, \ddot{\eta}_d^\top] \in \mathbb{R}^{3n}$.

The state-space representation is, according to (Fossen, 2021),

\dot{x}_d = A_d x_d + B_d r

where

A_d = \begin{bmatrix}
0_{n\times n} & I_n & 0_{n\times n} \\
0_{n\times n} & 0_{n \times n} & I_n \\
-\Omega^3 & -(2 \Delta + I_n) \Omega^2 & -(2 \Delta + I_n) \Omega
\end{bmatrix}

and

B_d = \begin{bmatrix}
0_{n \times n} \\
0_{n \times n} \\
\Omega^3
\end{bmatrix}.

The steady-state pose for a constant reference signal $r$ is

\lim_{t \to \infty} \eta_d = r

The state at the next time step is calculated using forward Euler integration

x_{i+1} = x_i + \dot{x}_i * dt

Waypoint modes

Each waypoint has a mode that determines which degrees of freedom are controlled by the reference filter. The mode also determines how convergence is measured.

Mode Controlled DOFs Convergence metric
FULL_POSE All 6 DOF (position + orientation) Euclidean norm of position and angle errors
ONLY_POSITION x, y, z (orientation holds current value) Euclidean norm of position error
FORWARD_HEADING x, y, z + yaw toward target (roll/pitch = 0) Euclidean norm of position error and yaw error
ONLY_ORIENTATION roll, pitch, yaw (position holds current value) Euclidean norm of angle errors

For all modes, convergence is reached when the error metric drops below the convergence_threshold specified in the action goal.

Action Server

The action server is responsible for handling goal requests and publishing guidance commands. The server will always prioritize new goal requests, and will abort ongoing requests when getting a new request. The action definition can be found here.

  • Action name: /reference_filter
  • Goal type: PoseStamped
  • Result type: bool
  • Guidance topic: /dp/reference

Overwriting the reference during an action

While an action is executing, the reference goal can be updated at any time by publishing a geometry_msgs/msg/PoseStamped to the reference pose topic. This allows external nodes to adjust the target pose mid-action without canceling and resending the goal. The convergence check will use the updated reference, so the action completes when the vehicle reaches the latest reference.

CHANGELOG
No CHANGELOG found.

Package Dependencies

Deps Name
ament_cmake
rclcpp
rclcpp_action
geometry_msgs
vortex_msgs
vortex_utils
vortex_utils_ros
nav_msgs

System Dependencies

Name
eigen

Dependant Packages

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged reference_filter_dp at Robotics Stack Exchange

Package Summary

Version 0.0.0
License MIT
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description
Checkout URI https://github.com/vortexntnu/vortex-auv.git
VCS Type git
VCS Version main
Last Updated 2026-04-03
Dev Status UNKNOWN
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Reference model for the DP controller

Maintainers

  • andeshog

Authors

No additional authors.

Reference filter

The reference filter (or reference model) is of third order and provides reference for pose, velocity and acceleration. So that $x_d := [\eta_d^\top, \dot{\eta}_d^\top, \ddot{\eta}_d^\top] \in \mathbb{R}^{3n}$.

The state-space representation is, according to (Fossen, 2021),

\dot{x}_d = A_d x_d + B_d r

where

A_d = \begin{bmatrix}
0_{n\times n} & I_n & 0_{n\times n} \\
0_{n\times n} & 0_{n \times n} & I_n \\
-\Omega^3 & -(2 \Delta + I_n) \Omega^2 & -(2 \Delta + I_n) \Omega
\end{bmatrix}

and

B_d = \begin{bmatrix}
0_{n \times n} \\
0_{n \times n} \\
\Omega^3
\end{bmatrix}.

The steady-state pose for a constant reference signal $r$ is

\lim_{t \to \infty} \eta_d = r

The state at the next time step is calculated using forward Euler integration

x_{i+1} = x_i + \dot{x}_i * dt

Waypoint modes

Each waypoint has a mode that determines which degrees of freedom are controlled by the reference filter. The mode also determines how convergence is measured.

Mode Controlled DOFs Convergence metric
FULL_POSE All 6 DOF (position + orientation) Euclidean norm of position and angle errors
ONLY_POSITION x, y, z (orientation holds current value) Euclidean norm of position error
FORWARD_HEADING x, y, z + yaw toward target (roll/pitch = 0) Euclidean norm of position error and yaw error
ONLY_ORIENTATION roll, pitch, yaw (position holds current value) Euclidean norm of angle errors

For all modes, convergence is reached when the error metric drops below the convergence_threshold specified in the action goal.

Action Server

The action server is responsible for handling goal requests and publishing guidance commands. The server will always prioritize new goal requests, and will abort ongoing requests when getting a new request. The action definition can be found here.

  • Action name: /reference_filter
  • Goal type: PoseStamped
  • Result type: bool
  • Guidance topic: /dp/reference

Overwriting the reference during an action

While an action is executing, the reference goal can be updated at any time by publishing a geometry_msgs/msg/PoseStamped to the reference pose topic. This allows external nodes to adjust the target pose mid-action without canceling and resending the goal. The convergence check will use the updated reference, so the action completes when the vehicle reaches the latest reference.

CHANGELOG
No CHANGELOG found.

Package Dependencies

Deps Name
ament_cmake
rclcpp
rclcpp_action
geometry_msgs
vortex_msgs
vortex_utils
vortex_utils_ros
nav_msgs

System Dependencies

Name
eigen

Dependant Packages

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged reference_filter_dp at Robotics Stack Exchange

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

Package Summary

Version 0.0.0
License MIT
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description
Checkout URI https://github.com/vortexntnu/vortex-auv.git
VCS Type git
VCS Version main
Last Updated 2026-04-03
Dev Status UNKNOWN
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Reference model for the DP controller

Maintainers

  • andeshog

Authors

No additional authors.

Reference filter

The reference filter (or reference model) is of third order and provides reference for pose, velocity and acceleration. So that $x_d := [\eta_d^\top, \dot{\eta}_d^\top, \ddot{\eta}_d^\top] \in \mathbb{R}^{3n}$.

The state-space representation is, according to (Fossen, 2021),

\dot{x}_d = A_d x_d + B_d r

where

A_d = \begin{bmatrix}
0_{n\times n} & I_n & 0_{n\times n} \\
0_{n\times n} & 0_{n \times n} & I_n \\
-\Omega^3 & -(2 \Delta + I_n) \Omega^2 & -(2 \Delta + I_n) \Omega
\end{bmatrix}

and

B_d = \begin{bmatrix}
0_{n \times n} \\
0_{n \times n} \\
\Omega^3
\end{bmatrix}.

The steady-state pose for a constant reference signal $r$ is

\lim_{t \to \infty} \eta_d = r

The state at the next time step is calculated using forward Euler integration

x_{i+1} = x_i + \dot{x}_i * dt

Waypoint modes

Each waypoint has a mode that determines which degrees of freedom are controlled by the reference filter. The mode also determines how convergence is measured.

Mode Controlled DOFs Convergence metric
FULL_POSE All 6 DOF (position + orientation) Euclidean norm of position and angle errors
ONLY_POSITION x, y, z (orientation holds current value) Euclidean norm of position error
FORWARD_HEADING x, y, z + yaw toward target (roll/pitch = 0) Euclidean norm of position error and yaw error
ONLY_ORIENTATION roll, pitch, yaw (position holds current value) Euclidean norm of angle errors

For all modes, convergence is reached when the error metric drops below the convergence_threshold specified in the action goal.

Action Server

The action server is responsible for handling goal requests and publishing guidance commands. The server will always prioritize new goal requests, and will abort ongoing requests when getting a new request. The action definition can be found here.

  • Action name: /reference_filter
  • Goal type: PoseStamped
  • Result type: bool
  • Guidance topic: /dp/reference

Overwriting the reference during an action

While an action is executing, the reference goal can be updated at any time by publishing a geometry_msgs/msg/PoseStamped to the reference pose topic. This allows external nodes to adjust the target pose mid-action without canceling and resending the goal. The convergence check will use the updated reference, so the action completes when the vehicle reaches the latest reference.

CHANGELOG
No CHANGELOG found.

Package Dependencies

Deps Name
ament_cmake
rclcpp
rclcpp_action
geometry_msgs
vortex_msgs
vortex_utils
vortex_utils_ros
nav_msgs

System Dependencies

Name
eigen

Dependant Packages

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged reference_filter_dp at Robotics Stack Exchange

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

Package Summary

Version 0.0.0
License MIT
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description
Checkout URI https://github.com/vortexntnu/vortex-auv.git
VCS Type git
VCS Version main
Last Updated 2026-04-03
Dev Status UNKNOWN
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Reference model for the DP controller

Maintainers

  • andeshog

Authors

No additional authors.

Reference filter

The reference filter (or reference model) is of third order and provides reference for pose, velocity and acceleration. So that $x_d := [\eta_d^\top, \dot{\eta}_d^\top, \ddot{\eta}_d^\top] \in \mathbb{R}^{3n}$.

The state-space representation is, according to (Fossen, 2021),

\dot{x}_d = A_d x_d + B_d r

where

A_d = \begin{bmatrix}
0_{n\times n} & I_n & 0_{n\times n} \\
0_{n\times n} & 0_{n \times n} & I_n \\
-\Omega^3 & -(2 \Delta + I_n) \Omega^2 & -(2 \Delta + I_n) \Omega
\end{bmatrix}

and

B_d = \begin{bmatrix}
0_{n \times n} \\
0_{n \times n} \\
\Omega^3
\end{bmatrix}.

The steady-state pose for a constant reference signal $r$ is

\lim_{t \to \infty} \eta_d = r

The state at the next time step is calculated using forward Euler integration

x_{i+1} = x_i + \dot{x}_i * dt

Waypoint modes

Each waypoint has a mode that determines which degrees of freedom are controlled by the reference filter. The mode also determines how convergence is measured.

Mode Controlled DOFs Convergence metric
FULL_POSE All 6 DOF (position + orientation) Euclidean norm of position and angle errors
ONLY_POSITION x, y, z (orientation holds current value) Euclidean norm of position error
FORWARD_HEADING x, y, z + yaw toward target (roll/pitch = 0) Euclidean norm of position error and yaw error
ONLY_ORIENTATION roll, pitch, yaw (position holds current value) Euclidean norm of angle errors

For all modes, convergence is reached when the error metric drops below the convergence_threshold specified in the action goal.

Action Server

The action server is responsible for handling goal requests and publishing guidance commands. The server will always prioritize new goal requests, and will abort ongoing requests when getting a new request. The action definition can be found here.

  • Action name: /reference_filter
  • Goal type: PoseStamped
  • Result type: bool
  • Guidance topic: /dp/reference

Overwriting the reference during an action

While an action is executing, the reference goal can be updated at any time by publishing a geometry_msgs/msg/PoseStamped to the reference pose topic. This allows external nodes to adjust the target pose mid-action without canceling and resending the goal. The convergence check will use the updated reference, so the action completes when the vehicle reaches the latest reference.

CHANGELOG
No CHANGELOG found.

Package Dependencies

Deps Name
ament_cmake
rclcpp
rclcpp_action
geometry_msgs
vortex_msgs
vortex_utils
vortex_utils_ros
nav_msgs

System Dependencies

Name
eigen

Dependant Packages

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged reference_filter_dp at Robotics Stack Exchange

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

Package Summary

Version 0.0.0
License MIT
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description
Checkout URI https://github.com/vortexntnu/vortex-auv.git
VCS Type git
VCS Version main
Last Updated 2026-04-03
Dev Status UNKNOWN
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Reference model for the DP controller

Maintainers

  • andeshog

Authors

No additional authors.

Reference filter

The reference filter (or reference model) is of third order and provides reference for pose, velocity and acceleration. So that $x_d := [\eta_d^\top, \dot{\eta}_d^\top, \ddot{\eta}_d^\top] \in \mathbb{R}^{3n}$.

The state-space representation is, according to (Fossen, 2021),

\dot{x}_d = A_d x_d + B_d r

where

A_d = \begin{bmatrix}
0_{n\times n} & I_n & 0_{n\times n} \\
0_{n\times n} & 0_{n \times n} & I_n \\
-\Omega^3 & -(2 \Delta + I_n) \Omega^2 & -(2 \Delta + I_n) \Omega
\end{bmatrix}

and

B_d = \begin{bmatrix}
0_{n \times n} \\
0_{n \times n} \\
\Omega^3
\end{bmatrix}.

The steady-state pose for a constant reference signal $r$ is

\lim_{t \to \infty} \eta_d = r

The state at the next time step is calculated using forward Euler integration

x_{i+1} = x_i + \dot{x}_i * dt

Waypoint modes

Each waypoint has a mode that determines which degrees of freedom are controlled by the reference filter. The mode also determines how convergence is measured.

Mode Controlled DOFs Convergence metric
FULL_POSE All 6 DOF (position + orientation) Euclidean norm of position and angle errors
ONLY_POSITION x, y, z (orientation holds current value) Euclidean norm of position error
FORWARD_HEADING x, y, z + yaw toward target (roll/pitch = 0) Euclidean norm of position error and yaw error
ONLY_ORIENTATION roll, pitch, yaw (position holds current value) Euclidean norm of angle errors

For all modes, convergence is reached when the error metric drops below the convergence_threshold specified in the action goal.

Action Server

The action server is responsible for handling goal requests and publishing guidance commands. The server will always prioritize new goal requests, and will abort ongoing requests when getting a new request. The action definition can be found here.

  • Action name: /reference_filter
  • Goal type: PoseStamped
  • Result type: bool
  • Guidance topic: /dp/reference

Overwriting the reference during an action

While an action is executing, the reference goal can be updated at any time by publishing a geometry_msgs/msg/PoseStamped to the reference pose topic. This allows external nodes to adjust the target pose mid-action without canceling and resending the goal. The convergence check will use the updated reference, so the action completes when the vehicle reaches the latest reference.

CHANGELOG
No CHANGELOG found.

Package Dependencies

Deps Name
ament_cmake
rclcpp
rclcpp_action
geometry_msgs
vortex_msgs
vortex_utils
vortex_utils_ros
nav_msgs

System Dependencies

Name
eigen

Dependant Packages

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged reference_filter_dp at Robotics Stack Exchange

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

Package Summary

Version 0.0.0
License MIT
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description
Checkout URI https://github.com/vortexntnu/vortex-auv.git
VCS Type git
VCS Version main
Last Updated 2026-04-03
Dev Status UNKNOWN
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Reference model for the DP controller

Maintainers

  • andeshog

Authors

No additional authors.

Reference filter

The reference filter (or reference model) is of third order and provides reference for pose, velocity and acceleration. So that $x_d := [\eta_d^\top, \dot{\eta}_d^\top, \ddot{\eta}_d^\top] \in \mathbb{R}^{3n}$.

The state-space representation is, according to (Fossen, 2021),

\dot{x}_d = A_d x_d + B_d r

where

A_d = \begin{bmatrix}
0_{n\times n} & I_n & 0_{n\times n} \\
0_{n\times n} & 0_{n \times n} & I_n \\
-\Omega^3 & -(2 \Delta + I_n) \Omega^2 & -(2 \Delta + I_n) \Omega
\end{bmatrix}

and

B_d = \begin{bmatrix}
0_{n \times n} \\
0_{n \times n} \\
\Omega^3
\end{bmatrix}.

The steady-state pose for a constant reference signal $r$ is

\lim_{t \to \infty} \eta_d = r

The state at the next time step is calculated using forward Euler integration

x_{i+1} = x_i + \dot{x}_i * dt

Waypoint modes

Each waypoint has a mode that determines which degrees of freedom are controlled by the reference filter. The mode also determines how convergence is measured.

Mode Controlled DOFs Convergence metric
FULL_POSE All 6 DOF (position + orientation) Euclidean norm of position and angle errors
ONLY_POSITION x, y, z (orientation holds current value) Euclidean norm of position error
FORWARD_HEADING x, y, z + yaw toward target (roll/pitch = 0) Euclidean norm of position error and yaw error
ONLY_ORIENTATION roll, pitch, yaw (position holds current value) Euclidean norm of angle errors

For all modes, convergence is reached when the error metric drops below the convergence_threshold specified in the action goal.

Action Server

The action server is responsible for handling goal requests and publishing guidance commands. The server will always prioritize new goal requests, and will abort ongoing requests when getting a new request. The action definition can be found here.

  • Action name: /reference_filter
  • Goal type: PoseStamped
  • Result type: bool
  • Guidance topic: /dp/reference

Overwriting the reference during an action

While an action is executing, the reference goal can be updated at any time by publishing a geometry_msgs/msg/PoseStamped to the reference pose topic. This allows external nodes to adjust the target pose mid-action without canceling and resending the goal. The convergence check will use the updated reference, so the action completes when the vehicle reaches the latest reference.

CHANGELOG
No CHANGELOG found.

Package Dependencies

Deps Name
ament_cmake
rclcpp
rclcpp_action
geometry_msgs
vortex_msgs
vortex_utils
vortex_utils_ros
nav_msgs

System Dependencies

Name
eigen

Dependant Packages

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged reference_filter_dp at Robotics Stack Exchange