Public Member Functions | Static Public Member Functions | Public Attributes | Private Member Functions | Private Attributes | Static Private Attributes | List of all members
uuv_control_interfaces.vehicle.Vehicle Class Reference
Inheritance diagram for uuv_control_interfaces.vehicle.Vehicle:
Inheritance graph
[legend]

Public Member Functions

def __init__ (self, inertial_frame_id='world')
 
def acc (self)
 
def body_frame_id (self)
 
def compute_acc (self, gen_forces=None, use_sname=True)
 
def compute_force (self, acc=None, vel=None, with_restoring=True, use_sname=True)
 
def Ctotal (self)
 
def density (self)
 
def depth (self)
 
def Dtotal (self)
 
def euler (self)
 
def euler_dot (self)
 
def from_SNAME (self, x)
 
def get_jacobian (self)
 
def gravity (self)
 
def heading (self)
 
def height (self)
 
def inertial_frame_id (self)
 
def length (self)
 
def mass (self)
 
def Mtotal (self)
 
def namespace (self)
 
def pos (self)
 
def pos (self, position)
 
def pose_euler (self)
 
def pose_quat (self)
 
def print_info (self)
 
def quat (self)
 
def quat (self, q)
 
def quat_dot (self)
 
def restoring_forces (self)
 
def rotBtoI (self)
 
def rotItoB (self)
 
def set_added_mass (self, Ma)
 
def set_damping_coef (self, linear_damping, quad_damping)
 
def TBtoIeuler (self)
 
def TBtoIquat (self)
 
def TItoBeuler (self)
 
def to_SNAME (self, x)
 
def update_odometry (self, msg)
 
def vel (self)
 
def vel (self, velocity)
 
def volume (self)
 
def width (self)
 

Static Public Member Functions

def q_to_matrix (q)
 

Public Attributes

 q_ned_to_enu
 
 transform_ned_to_enu
 

Private Member Functions

def _calc_inertial_tensor (self)
 
def _calc_mass_matrix (self)
 
def _update_coriolis (self, vel=None)
 
def _update_damping (self, vel=None)
 
def _update_restoring (self, q=None, use_sname=False)
 

Private Attributes

 _acc
 
 _body_frame
 
 _body_frame_id
 
 _C
 
 _cob
 
 _cog
 
 _D
 
 _density
 
 _g
 
 _gen_forces
 
 _gravity
 
 _height
 
 _inertial
 
 _inertial_frame_id
 
 _length
 
 _linear_damping
 
 _linear_damping_forward_speed
 
 _logger
 
 _M
 
 _Ma
 
 _mass
 
 _Mtotal
 
 _namespace
 
 _pose
 
 _quad_damping
 
 _vel
 
 _volume
 
 _width
 

Static Private Attributes

 _INSTANCE = None
 

Detailed Description

Vehicle interface to be used by model-based controllers. It receives the
parameters necessary to compute the vehicle's motion according to Fossen's.

Definition at line 39 of file vehicle.py.

Constructor & Destructor Documentation

def uuv_control_interfaces.vehicle.Vehicle.__init__ (   self,
  inertial_frame_id = 'world' 
)
Class constructor.

Definition at line 46 of file vehicle.py.

Member Function Documentation

def uuv_control_interfaces.vehicle.Vehicle._calc_inertial_tensor (   self)
private

Definition at line 548 of file vehicle.py.

def uuv_control_interfaces.vehicle.Vehicle._calc_mass_matrix (   self)
private

Definition at line 509 of file vehicle.py.

def uuv_control_interfaces.vehicle.Vehicle._update_coriolis (   self,
  vel = None 
)
private

Definition at line 512 of file vehicle.py.

def uuv_control_interfaces.vehicle.Vehicle._update_damping (   self,
  vel = None 
)
private

Definition at line 534 of file vehicle.py.

def uuv_control_interfaces.vehicle.Vehicle._update_restoring (   self,
  q = None,
  use_sname = False 
)
private
Update the restoring forces for the current orientation.

Definition at line 557 of file vehicle.py.

def uuv_control_interfaces.vehicle.Vehicle.acc (   self)
`numpy.array`: Linear and angular acceleration vector.

Definition at line 357 of file vehicle.py.

def uuv_control_interfaces.vehicle.Vehicle.body_frame_id (   self)
`str`: Body frame ID

Definition at line 257 of file vehicle.py.

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

Definition at line 639 of file vehicle.py.

def uuv_control_interfaces.vehicle.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.

Definition at line 595 of file vehicle.py.

def uuv_control_interfaces.vehicle.Vehicle.Ctotal (   self)
`numpy.array`: Combined Coriolis matrix

Definition at line 398 of file vehicle.py.

def uuv_control_interfaces.vehicle.Vehicle.density (   self)
`float`: Fluid density as kg / m^3

Definition at line 282 of file vehicle.py.

def uuv_control_interfaces.vehicle.Vehicle.depth (   self)
`numpy.array`: Depth of the vehicle in meters.

Definition at line 315 of file vehicle.py.

def uuv_control_interfaces.vehicle.Vehicle.Dtotal (   self)
`numpy.array`: Linear and non-linear damping matrix

Definition at line 403 of file vehicle.py.

def uuv_control_interfaces.vehicle.Vehicle.euler (   self)
`list`: Orientation in Euler angles in radians 
as described in Fossen, 2011.

Definition at line 362 of file vehicle.py.

def uuv_control_interfaces.vehicle.Vehicle.euler_dot (   self)
`numpy.array`: Time derivative of the Euler 
angles in radians.

Definition at line 378 of file vehicle.py.

def uuv_control_interfaces.vehicle.Vehicle.from_SNAME (   self,
  x 
)

Definition at line 491 of file vehicle.py.

def uuv_control_interfaces.vehicle.Vehicle.get_jacobian (   self)
Return the Jacobian for the current orientation using transformations
from BODY to INERTIAL frame.

Definition at line 664 of file vehicle.py.

def uuv_control_interfaces.vehicle.Vehicle.gravity (   self)
`float`: Magnitude of acceleration of gravity m / s^2

Definition at line 277 of file vehicle.py.

def uuv_control_interfaces.vehicle.Vehicle.heading (   self)
`float`: Heading of the vehicle in radians.

Definition at line 320 of file vehicle.py.

def uuv_control_interfaces.vehicle.Vehicle.height (   self)
`float`: Height of the vehicle in meters

Definition at line 287 of file vehicle.py.

def uuv_control_interfaces.vehicle.Vehicle.inertial_frame_id (   self)
`str`: Inertial frame ID

Definition at line 262 of file vehicle.py.

def uuv_control_interfaces.vehicle.Vehicle.length (   self)
`float`: Length of the vehicle in meters

Definition at line 297 of file vehicle.py.

def uuv_control_interfaces.vehicle.Vehicle.mass (   self)
`float`: Mass in kilograms

Definition at line 267 of file vehicle.py.

def uuv_control_interfaces.vehicle.Vehicle.Mtotal (   self)
`numpy.array`: Combined system inertia 
and added-mass matrices.

Definition at line 391 of file vehicle.py.

def uuv_control_interfaces.vehicle.Vehicle.namespace (   self)
`str`: Return robot namespace.

Definition at line 252 of file vehicle.py.

def uuv_control_interfaces.vehicle.Vehicle.pos (   self)
`numpy.array`: Position of the vehicle in meters.

Definition at line 302 of file vehicle.py.

def uuv_control_interfaces.vehicle.Vehicle.pos (   self,
  position 
)

Definition at line 307 of file vehicle.py.

def uuv_control_interfaces.vehicle.Vehicle.pose_euler (   self)
`numpy.array`: Pose as a vector, orientation in Euler angles.

Definition at line 408 of file vehicle.py.

def uuv_control_interfaces.vehicle.Vehicle.pose_quat (   self)
`numpy.array`: Pose as a vector, orientation as quaternion.

Definition at line 419 of file vehicle.py.

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

Definition at line 496 of file vehicle.py.

def uuv_control_interfaces.vehicle.Vehicle.q_to_matrix (   q)
static
Convert quaternion into orthogonal rotation matrix.

> *Input arguments*

* `q` (*type:* `numpy.array`): Quaternion vector as 
`(qx, qy, qz, qw)`

> *Returns*

`numpy.array`: Rotation matrix

Definition at line 224 of file vehicle.py.

def uuv_control_interfaces.vehicle.Vehicle.quat (   self)
`numpy.array`: Orientation quaternion as `(qx, qy, qz, qw)`.

Definition at line 325 of file vehicle.py.

def uuv_control_interfaces.vehicle.Vehicle.quat (   self,
  q 
)

Definition at line 330 of file vehicle.py.

def uuv_control_interfaces.vehicle.Vehicle.quat_dot (   self)
`numpy.array`: Time derivative of the quaternion vector.

Definition at line 338 of file vehicle.py.

def uuv_control_interfaces.vehicle.Vehicle.restoring_forces (   self)
`numpy.array`: Restoring force vector in N.

Definition at line 385 of file vehicle.py.

def uuv_control_interfaces.vehicle.Vehicle.rotBtoI (   self)
`numpy.array`: Rotation from BODY to INERTIAL 
frame using the zyx convention to retrieve Euler 
angles from the quaternion vector (Fossen, 2011).

Definition at line 432 of file vehicle.py.

def uuv_control_interfaces.vehicle.Vehicle.rotItoB (   self)
`numpy.array`: Rotation matrix from INERTIAL to BODY frame

Definition at line 427 of file vehicle.py.

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

Definition at line 577 of file vehicle.py.

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

Definition at line 586 of file vehicle.py.

def uuv_control_interfaces.vehicle.Vehicle.TBtoIeuler (   self)

Definition at line 449 of file vehicle.py.

def uuv_control_interfaces.vehicle.Vehicle.TBtoIquat (   self)
Return matrix for transformation of BODY-fixed angular velocities in the
BODY frame in relation to the INERTIAL frame into quaternion rate.

Definition at line 460 of file vehicle.py.

def uuv_control_interfaces.vehicle.Vehicle.TItoBeuler (   self)

Definition at line 441 of file vehicle.py.

def uuv_control_interfaces.vehicle.Vehicle.to_SNAME (   self,
  x 
)

Definition at line 477 of file vehicle.py.

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

Definition at line 675 of file vehicle.py.

def uuv_control_interfaces.vehicle.Vehicle.vel (   self)
`numpy.array`: Linear and angular velocity vector.

Definition at line 343 of file vehicle.py.

def uuv_control_interfaces.vehicle.Vehicle.vel (   self,
  velocity 
)
Set the velocity vector in the BODY frame.

Definition at line 348 of file vehicle.py.

def uuv_control_interfaces.vehicle.Vehicle.volume (   self)
`float`: Volume of the vehicle in m^3

Definition at line 272 of file vehicle.py.

def uuv_control_interfaces.vehicle.Vehicle.width (   self)
`float`: Width of the vehicle in meters

Definition at line 292 of file vehicle.py.

Member Data Documentation

uuv_control_interfaces.vehicle.Vehicle._acc
private

Definition at line 219 of file vehicle.py.

uuv_control_interfaces.vehicle.Vehicle._body_frame
private

Definition at line 115 of file vehicle.py.

uuv_control_interfaces.vehicle.Vehicle._body_frame_id
private

Definition at line 53 of file vehicle.py.

uuv_control_interfaces.vehicle.Vehicle._C
private

Definition at line 176 of file vehicle.py.

uuv_control_interfaces.vehicle.Vehicle._cob
private

Definition at line 109 of file vehicle.py.

uuv_control_interfaces.vehicle.Vehicle._cog
private

Definition at line 103 of file vehicle.py.

uuv_control_interfaces.vehicle.Vehicle._D
private

Definition at line 211 of file vehicle.py.

uuv_control_interfaces.vehicle.Vehicle._density
private

Definition at line 126 of file vehicle.py.

uuv_control_interfaces.vehicle.Vehicle._g
private

Definition at line 179 of file vehicle.py.

uuv_control_interfaces.vehicle.Vehicle._gen_forces
private

Definition at line 221 of file vehicle.py.

uuv_control_interfaces.vehicle.Vehicle._gravity
private

Definition at line 173 of file vehicle.py.

uuv_control_interfaces.vehicle.Vehicle._height
private

Definition at line 133 of file vehicle.py.

uuv_control_interfaces.vehicle.Vehicle._inertial
private

Definition at line 95 of file vehicle.py.

uuv_control_interfaces.vehicle.Vehicle._inertial_frame_id
private

Definition at line 52 of file vehicle.py.

uuv_control_interfaces.vehicle.Vehicle._INSTANCE = None
staticprivate

Definition at line 44 of file vehicle.py.

uuv_control_interfaces.vehicle.Vehicle._length
private

Definition at line 134 of file vehicle.py.

uuv_control_interfaces.vehicle.Vehicle._linear_damping
private

Definition at line 182 of file vehicle.py.

uuv_control_interfaces.vehicle.Vehicle._linear_damping_forward_speed
private

Definition at line 198 of file vehicle.py.

uuv_control_interfaces.vehicle.Vehicle._logger
private

Definition at line 54 of file vehicle.py.

uuv_control_interfaces.vehicle.Vehicle._M
private

Definition at line 153 of file vehicle.py.

uuv_control_interfaces.vehicle.Vehicle._Ma
private

Definition at line 162 of file vehicle.py.

uuv_control_interfaces.vehicle.Vehicle._mass
private

Definition at line 89 of file vehicle.py.

uuv_control_interfaces.vehicle.Vehicle._Mtotal
private

Definition at line 169 of file vehicle.py.

uuv_control_interfaces.vehicle.Vehicle._namespace
private

Definition at line 50 of file vehicle.py.

uuv_control_interfaces.vehicle.Vehicle._pose
private

Definition at line 214 of file vehicle.py.

uuv_control_interfaces.vehicle.Vehicle._quad_damping
private

Definition at line 191 of file vehicle.py.

uuv_control_interfaces.vehicle.Vehicle._vel
private

Definition at line 217 of file vehicle.py.

uuv_control_interfaces.vehicle.Vehicle._volume
private

Definition at line 119 of file vehicle.py.

uuv_control_interfaces.vehicle.Vehicle._width
private

Definition at line 135 of file vehicle.py.

uuv_control_interfaces.vehicle.Vehicle.q_ned_to_enu

Definition at line 71 of file vehicle.py.

uuv_control_interfaces.vehicle.Vehicle.transform_ned_to_enu

Definition at line 82 of file vehicle.py.


The documentation for this class was generated from the following file:


uuv_trajectory_control
Author(s):
autogenerated on Thu Jun 18 2020 03:28:42