Skip to content

uuv_control_interfaces

uuv_control_interfaces

uuv_control_interfaces.dp_controller_base

DPControllerBase

DPControllerBase(self, is_model_based=False, list_odometry_callbacks=[], planner_full_dof=False)
General abstract class for DP controllers for underwater vehicles. This is an abstract class, must be inherited by a controller module that overrides the update_controller method. If the controller is set to be model based (is_model_based=True), than the vehicle parameters are going to be read from the ROS parameter server.

error_orientation_rpy

Return orientation error in Euler angles.

error_pose_euler

Pose error with orientation represented in Euler angles.

get_controller

DPControllerBase.get_controller(name, *args)
Create instance of a specific DP controller.

get_list_of_controllers

DPControllerBase.get_list_of_controllers()
Return list of DP controllers using this interface.

uuv_control_interfaces.dp_controller_local_planner

DPControllerLocalPlanner
DPControllerLocalPlanner(self, full_dof=False, stamped_pose_only=False, thrusters_only=True)

Local planner for the dynamic positioning controllers to interpolate trajectories and generate trajectories from interpolated waypoint paths.

set_station_keeping

DPControllerLocalPlanner.set_station_keeping(self, is_on=True)
Set station keeping mode flag.

set_automatic_mode

DPControllerLocalPlanner.set_automatic_mode(self, is_on=True)
Set automatic mode flag.

set_trajectory_running

DPControllerLocalPlanner.set_trajectory_running(self, is_on=True)
Set trajectory tracking flag.

has_started
DPControllerLocalPlanner.has_started(self)

Return if the trajectory interpolator has started generating reference points.

hold_vehicle
DPControllerLocalPlanner.hold_vehicle(self, request)

Service callback function to hold the vehicle's current position.

start_waypoint_list
DPControllerLocalPlanner.start_waypoint_list(self, request)

Service callback function to follow a set of waypoints Args: request (InitWaypointSet)

go_to_incremental
DPControllerLocalPlanner.go_to_incremental(self, request)

Service callback to set the command to the vehicle to move to a relative position in the world.

interpolate
DPControllerLocalPlanner.interpolate(self, t)

Function interface to the controller. Calls the interpolator to calculate the current trajectory sample or returns a fixed position based on the past odometry measurements for station keeping.

uuv_control_interfaces.dp_pid_controller_base

DPPIDControllerBase
DPPIDControllerBase(self, *args)

This is an abstract class for PID-based controllers. The base class method update_controller must be overridden in other for a controller to work.

uuv_control_interfaces.sym_vehicle

uuv_control_interfaces.vehicle

cross_product_operator

cross_product_operator(x)
Return a cross product operator for the given vector.

Vehicle

Vehicle(self, inertial_frame_id='world')
Vehicle interface to be used by model-based controllers. It receives the parameters necessary to compute the vehicle's motion according to Fossen's.

acc

Return linear and angular acceleration vector.

depth

Return depth of the vehicle.

euler

Return orientation in Euler angles as described in Fossen, 2011.

euler_dot

Return time derivative of the Euler angles.

heading

Return the heading of the vehicle.

namespace

Return robot namespace.

pos

Return the position of the vehicle.

pose_euler

Return pose as a vector, orientation in Euler angles.

pose_quat

Return pose as a vector, orientation as quaternion.

quat

Return orientation quaternion.

quat_dot

Return the time derivative of the quaternion vector.

restoring_forces

Return the restoring force vector.

rotBtoI

Return rotation from BODY to INERTIAL frame using the zyx convention to retrieve Euler angles from the quaternion vector (Fossen, 2011).

rotItoB

Return rotation from INERTIAL to BODY frame

TBtoIquat

Return matrix for transformation of BODY-fixed angular velocities in the BODY frame in relation to the INERTIAL frame into quaternion rate.

vel

Return linear and angular velocity vector.

Vehicle.print_info(self)
Print the vehicle's parameters.

set_added_mass

Vehicle.set_added_mass(self, Ma)
Set added-mass matrix coefficients.

set_damping_coef

Vehicle.set_damping_coef(self, linear_damping, quad_damping)
Set linear and quadratic damping coefficients.

compute_force

Vehicle.compute_force(self, acc=None, vel=None, with_restoring=True, use_sname=True)
Return the sum of forces acting on the vehicle.

Given acceleration and velocity vectors, this function returns the sum of forces given the rigid-body and hydrodynamic models for the marine vessel.

compute_acc

Vehicle.compute_acc(self, gen_forces=None, use_sname=True)
Calculate inverse dynamics to obtain the acceleration vector.

get_jacobian
Vehicle.get_jacobian(self)

Return the Jacobian for the current orientation using transformations from BODY to INERTIAL frame.

update_odometry

Vehicle.update_odometry(self, msg)
Odometry topic subscriber callback function.