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) |
Static Private Attributes | |
_INSTANCE = None | |
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.
def uuv_control_interfaces.vehicle.Vehicle.__init__ | ( | self, | |
inertial_frame_id = 'world' |
|||
) |
Class constructor.
Definition at line 46 of file vehicle.py.
|
private |
Definition at line 548 of file vehicle.py.
|
private |
Definition at line 509 of file vehicle.py.
|
private |
Definition at line 512 of file vehicle.py.
|
private |
Definition at line 534 of file vehicle.py.
|
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.
|
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.
|
private |
Definition at line 219 of file vehicle.py.
|
private |
Definition at line 115 of file vehicle.py.
|
private |
Definition at line 53 of file vehicle.py.
|
private |
Definition at line 176 of file vehicle.py.
|
private |
Definition at line 109 of file vehicle.py.
|
private |
Definition at line 103 of file vehicle.py.
|
private |
Definition at line 211 of file vehicle.py.
|
private |
Definition at line 126 of file vehicle.py.
|
private |
Definition at line 179 of file vehicle.py.
|
private |
Definition at line 221 of file vehicle.py.
|
private |
Definition at line 173 of file vehicle.py.
|
private |
Definition at line 133 of file vehicle.py.
|
private |
Definition at line 95 of file vehicle.py.
|
private |
Definition at line 52 of file vehicle.py.
|
staticprivate |
Definition at line 44 of file vehicle.py.
|
private |
Definition at line 134 of file vehicle.py.
|
private |
Definition at line 182 of file vehicle.py.
|
private |
Definition at line 198 of file vehicle.py.
|
private |
Definition at line 54 of file vehicle.py.
|
private |
Definition at line 153 of file vehicle.py.
|
private |
Definition at line 162 of file vehicle.py.
|
private |
Definition at line 89 of file vehicle.py.
|
private |
Definition at line 169 of file vehicle.py.
|
private |
Definition at line 50 of file vehicle.py.
|
private |
Definition at line 214 of file vehicle.py.
|
private |
Definition at line 191 of file vehicle.py.
|
private |
Definition at line 217 of file vehicle.py.
|
private |
Definition at line 119 of file vehicle.py.
|
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.