![]() |
FancySafeBot 0.0.1
A safe robotics library
|
Coordinate transformations and velocity and acceleration propagation. More...
Classes | |
| struct | fsb::Transform |
| Coordinate transform. More... | |
| struct | fsb::MotionVector |
| Motion vector. More... | |
| struct | fsb::CartesianPva |
| Cartesian pose, velocity and acceleration. More... | |
Functions | |
| Vec3 | fsb::vector_add (const Vec3 &v_a, const Vec3 &v_b) |
| Vector addition. | |
| Vec3 | fsb::vector_subtract (const Vec3 &v_a, const Vec3 &v_b) |
| Vector subtraction. | |
| Vec3 | fsb::vector_scale (real_t scalar, const Vec3 &vec) |
| Scale vector. | |
| Vec3 | fsb::vector_multiply_elem (const Vec3 &v_a, const Vec3 &v_b) |
| Element-wise vector multiplication. | |
| Vec3 | fsb::vector_cross (const Vec3 &v_a, const Vec3 &v_b) |
| Vector cross product. | |
| real_t | fsb::vector_dot (const Vec3 &v_a, const Vec3 &v_b) |
| Vector dot product. | |
| real_t | fsb::vector_norm (const Vec3 &vec) |
| Vector norm. | |
| Vec3 | fsb::vector_abs (const Vec3 &vec) |
| Element-wise vector absolute value. | |
| Transform | fsb::transform_identity () |
| Identity transform. | |
| Transform | fsb::transform_inverse (const Transform &transf) |
| Get inverse of transform. | |
| Transform | fsb::coord_transform (const Transform &transf_a, const Transform &transf_b) |
| Apply coordinate transform. | |
| Transform | fsb::coord_transform_inverse (const Transform &transf_a, const Transform &transf_b) |
| Apply coordinate transform inverse. | |
| Vec3 | fsb::coord_transform_position (const Transform &transf, const Vec3 &pos) |
| Apply coordinate transform to position vector. | |
| Transform | fsb::coord_transform_apply_error (const Transform &transf_initial, const MotionVector &offset) |
| Apply motion vector offset to transform in space frame. | |
| MotionVector | fsb::coord_transform_get_error (const Transform &transf_initial, const Transform &transf_final) |
| Get motion vector offset between two coordinate transforms in space frame. | |
| Transform | fsb::coord_transform_apply_body_offset (const Transform &transf_initial, const MotionVector &offset) |
| Apply motion vector offset to transform in mobile frame. | |
| MotionVector | fsb::coord_transform_get_body_offset (const Transform &transf_initial, const Transform &transf_final) |
| Get motion vector offset between two coordinate transforms in mobile frame. | |
| MotionVector | fsb::motion_transform_velocity (const Transform &parent_transf, const MotionVector &parent_velocity, const Transform &motion_transf, const MotionVector &motion_velocity) |
| Get velocity of child frame with respect to a common frame given relative velocity between parent and child frames. | |
| MotionVector | fsb::motion_transform_acceleration (const Transform &parent_transf, const MotionVector &parent_velocity, const MotionVector &parent_acceleration, const Transform &motion_transf, const MotionVector &motion_velocity, const MotionVector &motion_acceleration) |
| Get acceleration of child frame with respect to a common frame given relative motion between parent and child frames. | |
| MotionVector | fsb::motion_transform_space_to_body (const Transform &pose, const MotionVector &space_motion) |
| Space to body-fixed motion. | |
| MotionVector | fsb::motion_transform_body_to_space (const Transform &pose, const MotionVector &body_motion) |
| Body-fixed to space frame motion. | |
| MotionVector | fsb::motion_transform_velocity_position (const Transform &parent_transf, const MotionVector &parent_velocity, const Vec3 &child_position) |
| Get velocity of child frame with respect to a common frame given transform between parent and child frames. | |
| MotionVector | fsb::motion_transform_acceleration_position (const Transform &parent_transf, const MotionVector &parent_velocity, const MotionVector &parent_acceleration, const Vec3 &child_position) |
| Get acceleration of child frame with respect to a common frame given transform between parent and child frames. | |
Coordinate transformations and velocity and acceleration propagation.
| Transform fsb::coord_transform_apply_body_offset | ( | const Transform & | transf_initial, |
| const MotionVector & | offset | ||
| ) |
Apply motion vector offset to transform in mobile frame.
| transf_initial | Initial transform |
| offset | Offset motion vector of final transform with respect to initial transform |
| Transform fsb::coord_transform_apply_error | ( | const Transform & | transf_initial, |
| const MotionVector & | offset | ||
| ) |
Apply motion vector offset to transform in space frame.
| transf_initial | Initial transform |
| offset | Offset motion vector in space frame |
| MotionVector fsb::coord_transform_get_body_offset | ( | const Transform & | transf_initial, |
| const Transform & | transf_final | ||
| ) |
Get motion vector offset between two coordinate transforms in mobile frame.
| transf_initial | Initial transform |
| transf_final | Final transform with mobile frame offset applied |
| MotionVector fsb::coord_transform_get_error | ( | const Transform & | transf_initial, |
| const Transform & | transf_final | ||
| ) |
Get motion vector offset between two coordinate transforms in space frame.
| transf_initial | Coordinate transform applied after motion offset |
| transf_final | Final transform including offset applied in space frame |
Apply coordinate transform to position vector.
| transf | Coordinate transform |
| pos | Position vector |
| MotionVector fsb::motion_transform_acceleration | ( | const Transform & | parent_transf, |
| const MotionVector & | parent_velocity, | ||
| const MotionVector & | parent_acceleration, | ||
| const Transform & | motion_transf, | ||
| const MotionVector & | motion_velocity, | ||
| const MotionVector & | motion_acceleration | ||
| ) |
Get acceleration of child frame with respect to a common frame given relative motion between parent and child frames.
| parent_transf | Transform of parent frame with respect to common frame |
| parent_velocity | Velocity of parent frame with respect to common frame |
| parent_acceleration | Acceleration of parent frame with respect to common frame |
| motion_transf | Transform of child frame with respect to parent frame |
| motion_velocity | Velocity of child frame with respect to parent frame |
| motion_acceleration | Acceleration of child frame with respect to parent frame |
| MotionVector fsb::motion_transform_acceleration_position | ( | const Transform & | parent_transf, |
| const MotionVector & | parent_velocity, | ||
| const MotionVector & | parent_acceleration, | ||
| const Vec3 & | child_position | ||
| ) |
Get acceleration of child frame with respect to a common frame given transform between parent and child frames.
| parent_transf | Transform of parent frame with respect to common frame |
| parent_velocity | Velocity of parent frame with respect to common frame |
| parent_acceleration | Acceleration of parent frame with respect to common frame |
| child_position | Position of child frame with respect to parent frame |
| MotionVector fsb::motion_transform_body_to_space | ( | const Transform & | pose, |
| const MotionVector & | body_motion | ||
| ) |
Body-fixed to space frame motion.
| pose | Pose of coordinate frame |
| body_motion | Motion in body-fixed frame |
| MotionVector fsb::motion_transform_space_to_body | ( | const Transform & | pose, |
| const MotionVector & | space_motion | ||
| ) |
Space to body-fixed motion.
| pose | Pose of coordinate frame |
| space_motion | Motion in space frame |
| MotionVector fsb::motion_transform_velocity | ( | const Transform & | parent_transf, |
| const MotionVector & | parent_velocity, | ||
| const Transform & | motion_transf, | ||
| const MotionVector & | motion_velocity | ||
| ) |
Get velocity of child frame with respect to a common frame given relative velocity between parent and child frames.
| parent_transf | Transform of parent frame with respect to common frame |
| parent_velocity | Velocity of parent frame with respect to common frame |
| motion_transf | Transform of child frame with respect to parent frame |
| motion_velocity | Velocity of child frame with respect to parent frame |
| MotionVector fsb::motion_transform_velocity_position | ( | const Transform & | parent_transf, |
| const MotionVector & | parent_velocity, | ||
| const Vec3 & | child_position | ||
| ) |
Get velocity of child frame with respect to a common frame given transform between parent and child frames.
| parent_transf | Transform of parent frame with respect to common frame |
| parent_velocity | Velocity of parent frame with respect to common frame |
| child_position | Position of child frame with respect to parent frame |
| Transform fsb::transform_identity | ( | ) |
Identity transform.
Rotation is unit quaternion with zero x, y, and z components Zero vector translation
Get inverse of transform.
| transf | Input transform |
Element-wise vector absolute value.
\( [|v_x|, |v_y|, |v_z|]^T \)
| vec | Vector input |
Vector addition.
\( \mathbf{v}_a + \mathbf{v}_b \)
| v_a | Vector a |
| v_b | Vector b |
Vector cross product.
\( \mathbf{v}_a \times \mathbf{v}_b \)
| v_a | Vector a |
| v_b | Vector b |
Vector dot product.
\( \mathbf{v}_a \cdot \mathbf{v}_b \)
| v_a | Vector a |
| v_b | Vector b |
Element-wise vector multiplication.
\( \mathbf{v}_a \cdot \mathbf{v}_b \)
| v_a | Vector a |
| v_b | Vector b |
| real_t fsb::vector_norm | ( | const Vec3 & | vec | ) |
Vector norm.
\( \| \mathbf{v} \| = \sqrt{v_x^2 + v_y^2 + v_z^2} \)
| vec | Vector input |
Scale vector.
\( s \mathbf{v} \)
| scalar | Scalar value |
| vec | Vector to scale |