7#include "fsb_configuration.h"
8#include "fsb_quaternion.h"
83 std::array<CartesianPva, MaxSize::bodies>
body;
MassProps body_transform_mass_props(const Transform &transf, const MassProps &mass_props)
Transform mass properties.
Definition fsb_body.cpp:65
Vec3 inertia_multiply_vector(const Inertia &inertia, const Vec3 &vec)
Inertia tensor multiplication with vector.
Definition fsb_body.cpp:164
bool body_validate_inertia_is_pd(const Inertia &inertia)
Check if inertia tensor is positive definite.
Definition fsb_body.cpp:154
Vec3 inertia_cross_multiply_vector(const Inertia &inertia, const Vec3 &vel)
Cross product with inertia tensor and angular velocity.
Definition fsb_body.cpp:173
bool body_inertia_principal_axis(const Inertia &inertia, PrincipalInertia &principal_inertia)
Definition fsb_body.cpp:113
MassProps body_combine(const MassProps &mass_props_a, const Transform &transf_ab, const MassProps &mass_props_b)
Combine mass properties of two bodies in origin of common frame.
Definition fsb_body.cpp:78
Inertia body_parallel_axis_inertia(real_t mass, const Vec3 &com, const Inertia &inertia)
Apply parallel axis theorem to inertia tensor.
Definition fsb_body.cpp:53
Inertia body_rotate_inertia(const Quaternion &rot, const Inertia &inertia)
Rotate inertia tensor.
Definition fsb_body.cpp:73
Container of Cartesian pose, velocity, and acceleration for a list of bodies.
Definition fsb_body.h:79
std::array< CartesianPva, MaxSize::bodies > body
List of bodies with Cartesian pose, velocity, and acceleration.
Definition fsb_body.h:83
Link body parameters.
Definition fsb_body.h:90
bool is_leaf
true if body is leaf (no children)
Definition fsb_body.h:110
size_t joint_index
Index of parent joint.
Definition fsb_body.h:106
MotionVector origin_offset
Transform offset of from nominal body origin.
Definition fsb_body.h:94
MassProps mass_props
Mass properties of body.
Definition fsb_body.h:98
PrincipalInertia principal_inertia
Principal inertia of body.
Definition fsb_body.h:102
Inertia tensor.
Definition fsb_body.h:26
real_t iyy
Ixx component of tensor.
Definition fsb_body.h:30
real_t ixy
Ixy component of tensor.
Definition fsb_body.h:34
real_t ixz
Ixz component of tensor.
Definition fsb_body.h:36
real_t ixx
Ixx component of tensor.
Definition fsb_body.h:28
real_t izz
Izz component of tensor.
Definition fsb_body.h:32
real_t iyz
Iyz component of tensor.
Definition fsb_body.h:38
Mass properties of a body.
Definition fsb_body.h:45
real_t mass
Mass of body.
Definition fsb_body.h:49
Inertia inertia
Inertia tensor.
Definition fsb_body.h:57
Vec3 com
Center of mass.
Definition fsb_body.h:53
Motion vector.
Definition fsb_motion.h:37
Principal inertia of body.
Definition fsb_body.h:64
Inertia inertia
Principal inertia values. Ixy, Ixz, and Iyz are zero.
Definition fsb_body.h:72
Quaternion rot
Orientation of principal inertia axes.
Definition fsb_body.h:68
Unit quaternion.
Definition fsb_quaternion.h:24
3D vector
Definition fsb_types.h:27