|
controls
3.0.0
|
Functions | |
| double | wrap (double r) |
| Wraps an angle to the range (-pi, pi]. More... | |
| Vector6d | pose2n (const Pose &pose) |
| Converts a Pose to a 6-element XYZRPY vector. More... | |
| Pose | n2pose (const Vector6d &pose) |
| Converts a 6-element XYZRPY vector to a Pose. More... | |
| Vector3d | rad2deg (const Vector3d &rpy) |
| Converts a 3-element RPY vector from radians to degrees. More... | |
| Vector3d | deg2rad (const Vector3d &rpy) |
| Converts a 3-element RPY vector from degrees to radians. More... | |
| Matrix3d | rpy2rot (const Vector3d &rpy) |
| Builds a 3x3 rotation matrix from roll-pitch-yaw angles. More... | |
| Matrix3d | rpy2rot (const double roll, const double pitch, const double yaw) |
| Builds a 3x3 rotation matrix from individual roll-pitch-yaw angles. More... | |
| Matrix2d | ang2rot (const double angle) |
| Builds a 2x2 rotation matrix from a single planar angle. More... | |
| double | rot2ang (const Matrix2d &m) |
| Extracts the rotation angle from a 2x2 rotation matrix. More... | |
| Vector2d | getT (const Matrix3d &r) |
| Extracts the 2D translation vector from a 3x3 homogeneous transform. More... | |
| Matrix2d | getR (const Matrix3d &r) |
| Extracts the 2x2 rotation block from a 3x3 homogeneous transform. More... | |
| Matrix3d | pose2tf_2d (const Pose &p) |
| Converts a Pose to a 3x3 homogeneous 2D transformation matrix. More... | |
| Pose | tf2pose_2d (const Matrix3d &m) |
| Converts a 3x3 homogeneous 2D transformation matrix to a Pose. More... | |
| Matrix4d | pose2tf (const Pose &p) |
| Converts a Pose to a 4x4 homogeneous 3D transformation matrix. More... | |
| Pose | tf2pose (const Matrix4d &m) |
| Converts a 4x4 homogeneous 3D transformation matrix to a Pose. More... | |
| Vector3d | getT (const Matrix4d &r) |
| Extracts the 3D translation vector from a 4x4 homogeneous transform. More... | |
| Matrix3d | getR (const Matrix4d &r) |
| Extracts the 3x3 rotation block from a 4x4 homogeneous transform. More... | |
| Matrix3d | tf_3dto2d (const Matrix4d &m) |
| Projects a 4x4 3D homogeneous transform down to a 3x3 2D transform. More... | |
| Matrix4d | tf_2dto3d (const Matrix3d &m) |
| Embeds a 3x3 2D homogeneous transform into a 4x4 3D transform. More... | |
| Vector3d | rot2rpy (const Matrix3d &m) |
| Extracts roll-pitch-yaw angles from a rotation matrix. More... | |
| double | rot2yaw (const Matrix3d &m) |
| Extracts the yaw angle from a rotation matrix. More... | |
| Matrix3d | quat2rot (const Quaterniond &q) |
| Converts a quaternion to a 3x3 rotation matrix. More... | |
| Quaterniond | rot2quat (const Matrix3d &r) |
| Converts a 3x3 rotation matrix to a quaternion. More... | |
| Vector3d | quat2rpy (const Quaterniond &q) |
| Converts a quaternion to roll-pitch-yaw angles. More... | |
| double | quat2yaw (const Quaterniond &q) |
| Extracts the yaw angle from a quaternion. More... | |
| Quaterniond | rpy2quat (const Vector3d &rpy) |
| Converts a roll-pitch-yaw vector to a quaternion. More... | |
| Quaterniond | rpy2quat (const double roll, const double pitch, const double yaw) |
| Converts individual roll-pitch-yaw angles to a quaternion. More... | |
| Quaterniond | extractYaw (const Quaterniond &q) |
| Strips roll and pitch from a quaternion, retaining only yaw. More... | |
| Vector3d | extract2d (const Vector6d &v) |
| Extracts the X, Y, and yaw components from a 6-element state vector. More... | |
| Vector3d | extract2d (const State &state) |
| Extracts the X, Y, and yaw components from a vehicle State. More... | |
| Matrix3d | jacobian (const Vector3d &rpy) |
| Builds the 3x3 Jacobian mapping body angular rates to Euler-angle rates. More... | |
| Matrix3d | jacobian_inv (const Vector3d &rpy) |
| Builds the 3x3 inverse Jacobian mapping Euler-angle rates to body angular rates. More... | |
| Matrix6d | getdJ (const Vector3d &rpy, const Vector3d &n2dot) |
| Computes the time derivative of the 6x6 transformation Jacobian. More... | |
| Matrix6d | transformation (const Vector3d &rpy) |
| Builds the 6x6 world-to-body transformation matrix from RPY angles. More... | |
| Matrix6d | transformation (const Quaterniond &q) |
| Builds the 6x6 world-to-body transformation matrix from a quaternion. More... | |
| Matrix6d | transformation (const Matrix3d &r) |
| Builds the 6x6 world-to-body transformation matrix from a rotation matrix. More... | |
| Matrix6d | transformation_inv (const Vector3d &rpy) |
| Builds the 6x6 body-to-world inverse transformation matrix from RPY angles. More... | |
| Matrix6d | transformation_inv (const Quaterniond &q) |
| Builds the 6x6 body-to-world inverse transformation matrix from a quaternion. More... | |
| Matrix6d | transformation_inv (const Matrix3d &r) |
| Builds the 6x6 body-to-world inverse transformation matrix from a rotation matrix. More... | |
| Matrix3d | skew (const Vector3d &v) |
| Builds a 3x3 skew-symmetric matrix from a 3-vector. More... | |
| Vector3d | skew (const Matrix3d &s) |
| Extracts the axial vector from a 3x3 skew-symmetric matrix. More... | |
| VectorXd | error (const VectorXd &d, const VectorXd &y) |
| Computes the signed error between two vectors as (y - d) More... | |
| Vector3d | error (const Quaterniond &qd, const Quaterniond &q) |
| Computes the orientation error between two quaternions as (y - d) More... | |
| Vector6d | error (const Pose &d, const Pose &y) |
| Computes the 6DOF pose error between two Poses as (y - d) More... | |
| Vector3d | error2d (const Pose &d, const Pose &y) |
| Computes the planar (X-Y-yaw) pose error between two Poses as (y - d) More... | |
| Vector18d | error (const State &d, const State &y) |
| Computes the full 18DOF state error (pose + twist + acceleration) as (y - d) More... | |
| Vector3d | errorrpy (const Vector3d &rpyd, const Vector3d &rpy) |
| Computes the RPY orientation error between two RPY angle vectors. More... | |
| Vector3d | convert (const geometry_msgs::msg::Vector3::ConstSharedPtr &v) |
| Converts a ROS Vector3 shared-pointer message to an Eigen Vector3d. More... | |
| Vector3d | convert (const geometry_msgs::msg::Vector3 &v) |
| Converts a ROS Vector3 message to an Eigen Vector3d. More... | |
| Vector3d | convert (const geometry_msgs::msg::Point::ConstSharedPtr &v) |
| Converts a ROS Point shared-pointer message to an Eigen Vector3d. More... | |
| Vector3d | convert (const geometry_msgs::msg::Point &v) |
| Converts a ROS Point message to an Eigen Vector3d. More... | |
| Vector6d | convert (const geometry_msgs::msg::TwistStamped::ConstSharedPtr &v) |
| Converts a ROS TwistStamped shared-pointer message to a 6-element Eigen vector. More... | |
| Vector6d | convert (const geometry_msgs::msg::TwistStamped &v) |
| Converts a ROS TwistStamped message to a 6-element Eigen vector. More... | |
| Vector6d | convert (const geometry_msgs::msg::Twist::ConstSharedPtr &v) |
| Converts a ROS Twist shared-pointer message to a 6-element Eigen vector. More... | |
| Vector6d | convert (const geometry_msgs::msg::Twist &v) |
| Converts a ROS Twist message to a 6-element Eigen vector. More... | |
| Quaterniond | convert (const geometry_msgs::msg::Quaternion::ConstSharedPtr &v) |
| Converts a ROS Quaternion shared-pointer message to an Eigen Quaterniond. More... | |
| Quaterniond | convert (const geometry_msgs::msg::Quaternion &v) |
| Converts a ROS Quaternion message to an Eigen Quaterniond. More... | |
| Pose | convert (const geometry_msgs::msg::Pose::ConstSharedPtr &p) |
| Converts a ROS Pose shared-pointer message to a Pose struct. More... | |
| Pose | convert (const geometry_msgs::msg::Pose &p_msg) |
| Converts a ROS Pose message to a Pose struct. More... | |
| State | convert (const nav_msgs::msg::Odometry::ConstSharedPtr &odom) |
| Converts a ROS Odometry shared-pointer message to a State struct. More... | |
| State | convert (const nav_msgs::msg::Odometry &odom) |
| Converts a ROS Odometry message to a State struct. More... | |
| geometry_msgs::msg::Pose | convert (const Pose &p) |
| Converts a Pose struct to a ROS Pose message. More... | |
| nav_msgs::msg::Odometry | convert (const State &state) |
| Converts a State struct to a ROS Odometry message. More... | |
| geometry_msgs::msg::Twist | convert (const Vector6d &v) |
| Converts a 6-element Eigen vector to a ROS Twist message. More... | |
| geometry_msgs::msg::WrenchStamped | convert (const Vector6d &v, const std::string &frame_id, double t) |
| Converts a 6-element force/torque vector to a ROS WrenchStamped message. More... | |
| MatrixXd | pseudoInverse (const MatrixXd &m) |
| Computes the Moore-Penrose pseudo-inverse of a matrix. More... | |
| Matrix2d ang2rot | ( | const double | angle | ) |
Builds a 2x2 rotation matrix from a single planar angle.
| angle | [in] Rotation angle in radians |
| Vector3d convert | ( | const geometry_msgs::msg::Point & | v | ) |
Converts a ROS Point message to an Eigen Vector3d.
| v | [in] geometry_msgs::msg::Point message |
| Vector3d convert | ( | const geometry_msgs::msg::Point::ConstSharedPtr & | v | ) |
Converts a ROS Point shared-pointer message to an Eigen Vector3d.
| v | [in] Shared pointer to a geometry_msgs::msg::Point |
| Pose convert | ( | const geometry_msgs::msg::Pose & | p | ) |
| Pose convert | ( | const geometry_msgs::msg::Pose::ConstSharedPtr & | p | ) |
| Quaterniond convert | ( | const geometry_msgs::msg::Quaternion & | v | ) |
Converts a ROS Quaternion message to an Eigen Quaterniond.
| v | [in] geometry_msgs::msg::Quaternion message |
| Quaterniond convert | ( | const geometry_msgs::msg::Quaternion::ConstSharedPtr & | v | ) |
Converts a ROS Quaternion shared-pointer message to an Eigen Quaterniond.
| v | [in] Shared pointer to a geometry_msgs::msg::Quaternion |
| Vector6d convert | ( | const geometry_msgs::msg::Twist & | v | ) |
Converts a ROS Twist message to a 6-element Eigen vector.
| v | [in] geometry_msgs::msg::Twist message |
| Vector6d convert | ( | const geometry_msgs::msg::Twist::ConstSharedPtr & | v | ) |
Converts a ROS Twist shared-pointer message to a 6-element Eigen vector.
| v | [in] Shared pointer to a geometry_msgs::msg::Twist |
| Vector6d convert | ( | const geometry_msgs::msg::TwistStamped & | v | ) |
Converts a ROS TwistStamped message to a 6-element Eigen vector.
| v | [in] geometry_msgs::msg::TwistStamped message |
| Vector6d convert | ( | const geometry_msgs::msg::TwistStamped::ConstSharedPtr & | v | ) |
Converts a ROS TwistStamped shared-pointer message to a 6-element Eigen vector.
| v | [in] Shared pointer to a geometry_msgs::msg::TwistStamped |
| Vector3d convert | ( | const geometry_msgs::msg::Vector3 & | v | ) |
Converts a ROS Vector3 message to an Eigen Vector3d.
| v | [in] geometry_msgs::msg::Vector3 message |
| Vector3d convert | ( | const geometry_msgs::msg::Vector3::ConstSharedPtr & | v | ) |
Converts a ROS Vector3 shared-pointer message to an Eigen Vector3d.
| v | [in] Shared pointer to a geometry_msgs::msg::Vector3 |
| State convert | ( | const nav_msgs::msg::Odometry & | odom | ) |
| State convert | ( | const nav_msgs::msg::Odometry::ConstSharedPtr & | odom | ) |
| geometry_msgs::msg::Pose convert | ( | const Pose & | p | ) |
| nav_msgs::msg::Odometry convert | ( | const State & | state | ) |
| geometry_msgs::msg::Twist convert | ( | const Vector6d & | v | ) |
Converts a 6-element Eigen vector to a ROS Twist message.
| v | [in] 6-element vector [vx, vy, vz, wx, wy, wz] |
| geometry_msgs::msg::WrenchStamped convert | ( | const Vector6d & | v, |
| const std::string & | frame_id, | ||
| double | t | ||
| ) |
Converts a 6-element force/torque vector to a ROS WrenchStamped message.
| v | [in] 6-element wrench [Fx, Fy, Fz, Tx, Ty, Tz] in N and Nm |
| frame_id | [in] TF frame ID to embed in the message header |
| t | [in] Timestamp in seconds; uses current ROS time if <= 0 |
| Vector3d deg2rad | ( | const Vector3d & | rpy | ) |
Converts a 3-element RPY vector from degrees to radians.
| rpy | [in] Angles in degrees |
Computes the 6DOF pose error between two Poses as (y - d)
| d | [in] Desired pose |
| y | [in] Current pose |
| Vector3d error | ( | const Quaterniond & | qd, |
| const Quaterniond & | q | ||
| ) |
Computes the orientation error between two quaternions as (y - d)
| qd | [in] Desired quaternion |
| q | [in] Current quaternion |
Computes the full 18DOF state error (pose + twist + acceleration) as (y - d)
| d | [in] Desired state |
| y | [in] Current state |
| VectorXd error | ( | const VectorXd & | d, |
| const VectorXd & | y | ||
| ) |
Computes the signed error between two vectors as (y - d)
| d | [in] Desired (goal) vector |
| y | [in] Current (actual) vector |
Computes the planar (X-Y-yaw) pose error between two Poses as (y - d)
| d | [in] Desired pose |
| y | [in] Current pose |
| Vector3d errorrpy | ( | const Vector3d & | rpyd, |
| const Vector3d & | rpy | ||
| ) |
Computes the RPY orientation error between two RPY angle vectors.
| rpyd | [in] Desired roll-pitch-yaw in radians |
| rpy | [in] Current roll-pitch-yaw in radians |
| Vector3d extract2d | ( | const State & | state | ) |
Extracts the X, Y, and yaw components from a vehicle State.
| state | [in] Full 6DOF vehicle state |
| Vector3d extract2d | ( | const Vector6d & | v | ) |
Extracts the X, Y, and yaw components from a 6-element state vector.
| v | [in] 6-element vector [x, y, z, roll, pitch, yaw] |
| Quaterniond extractYaw | ( | const Quaterniond & | q | ) |
Strips roll and pitch from a quaternion, retaining only yaw.
| q | [in] Input quaternion |
| Matrix6d getdJ | ( | const Vector3d & | rpy, |
| const Vector3d & | n2dot | ||
| ) |
Computes the time derivative of the 6x6 transformation Jacobian.
| rpy | [in] Current roll, pitch, yaw in radians |
| n2dot | [in] World-frame angular velocity [ṙoll, ṗitch, ẏaw] in rad/s |
| Matrix2d getR | ( | const Matrix3d & | r | ) |
Extracts the 2x2 rotation block from a 3x3 homogeneous transform.
| r | [in] 3x3 homogeneous transformation matrix |
| Matrix3d getR | ( | const Matrix4d & | r | ) |
Extracts the 3x3 rotation block from a 4x4 homogeneous transform.
| r | [in] 4x4 homogeneous transformation matrix |
| Vector2d getT | ( | const Matrix3d & | r | ) |
Extracts the 2D translation vector from a 3x3 homogeneous transform.
| r | [in] 3x3 homogeneous transformation matrix |
| Vector3d getT | ( | const Matrix4d & | r | ) |
Extracts the 3D translation vector from a 4x4 homogeneous transform.
| r | [in] 4x4 homogeneous transformation matrix |
| Matrix3d jacobian | ( | const Vector3d & | rpy | ) |
Builds the 3x3 Jacobian mapping body angular rates to Euler-angle rates.
| rpy | [in] Current roll, pitch, yaw in radians |
| Matrix3d jacobian_inv | ( | const Vector3d & | rpy | ) |
Builds the 3x3 inverse Jacobian mapping Euler-angle rates to body angular rates.
| rpy | [in] Current roll, pitch, yaw in radians |
| Matrix3d pose2tf_2d | ( | const Pose & | p | ) |
| MatrixXd pseudoInverse | ( | const MatrixXd & | m | ) |
Computes the Moore-Penrose pseudo-inverse of a matrix.
| m | [in] Input matrix |
| Matrix3d quat2rot | ( | const Quaterniond & | q | ) |
Converts a quaternion to a 3x3 rotation matrix.
| q | [in] Unit quaternion |
| Vector3d quat2rpy | ( | const Quaterniond & | q | ) |
Converts a quaternion to roll-pitch-yaw angles.
| q | [in] Unit quaternion |
| double quat2yaw | ( | const Quaterniond & | q | ) |
Extracts the yaw angle from a quaternion.
| q | [in] Unit quaternion |
| Vector3d rad2deg | ( | const Vector3d & | rpy | ) |
Converts a 3-element RPY vector from radians to degrees.
| rpy | [in] Angles in radians |
| double rot2ang | ( | const Matrix2d & | m | ) |
Extracts the rotation angle from a 2x2 rotation matrix.
| m | [in] 2D rotation matrix |
| Quaterniond rot2quat | ( | const Matrix3d & | r | ) |
Converts a 3x3 rotation matrix to a quaternion.
| r | [in] 3x3 rotation matrix |
| Vector3d rot2rpy | ( | const Matrix3d & | r | ) |
Extracts roll-pitch-yaw angles from a rotation matrix.
| r | [in] 3x3 rotation matrix |
| double rot2yaw | ( | const Matrix3d & | r | ) |
Extracts the yaw angle from a rotation matrix.
| r | [in] 3x3 rotation matrix |
| Quaterniond rpy2quat | ( | const double | r, |
| const double | p, | ||
| const double | y | ||
| ) |
Converts individual roll-pitch-yaw angles to a quaternion.
| r | [in] Roll angle in radians |
| p | [in] Pitch angle in radians |
| y | [in] Yaw angle in radians |
| Quaterniond rpy2quat | ( | const Vector3d & | rpy | ) |
Converts a roll-pitch-yaw vector to a quaternion.
| rpy | [in] Roll, pitch, yaw in radians |
| Matrix3d rpy2rot | ( | const double | roll, |
| const double | pitch, | ||
| const double | yaw | ||
| ) |
Builds a 3x3 rotation matrix from individual roll-pitch-yaw angles.
| roll | [in] Roll angle in radians |
| pitch | [in] Pitch angle in radians |
| yaw | [in] Yaw angle in radians |
| Matrix3d rpy2rot | ( | const Vector3d & | rpy | ) |
Builds a 3x3 rotation matrix from roll-pitch-yaw angles.
| rpy | [in] Roll, pitch, yaw in radians |
| Vector3d skew | ( | const Matrix3d & | v | ) |
Extracts the axial vector from a 3x3 skew-symmetric matrix.
| v | [in] 3x3 skew-symmetric matrix |
| Matrix3d skew | ( | const Vector3d & | v | ) |
Builds a 3x3 skew-symmetric matrix from a 3-vector.
| v | [in] 3-element vector |
| Pose tf2pose_2d | ( | const Matrix3d & | m | ) |
| Matrix4d tf_2dto3d | ( | const Matrix3d & | m | ) |
Embeds a 3x3 2D homogeneous transform into a 4x4 3D transform.
| m | [in] 3x3 2D homogeneous transform |
| Matrix3d tf_3dto2d | ( | const Matrix4d & | m | ) |
Projects a 4x4 3D homogeneous transform down to a 3x3 2D transform.
| m | [in] 4x4 3D homogeneous transform |
| Matrix6d transformation | ( | const Matrix3d & | r | ) |
Builds the 6x6 world-to-body transformation matrix from a rotation matrix.
| r | [in] 3x3 rotation matrix |
| Matrix6d transformation | ( | const Quaterniond & | q | ) |
Builds the 6x6 world-to-body transformation matrix from a quaternion.
| q | [in] Unit quaternion |
| Matrix6d transformation | ( | const Vector3d & | rpy | ) |
Builds the 6x6 world-to-body transformation matrix from RPY angles.
| rpy | [in] Roll, pitch, yaw in radians |
| Matrix6d transformation_inv | ( | const Matrix3d & | r | ) |
Builds the 6x6 body-to-world inverse transformation matrix from a rotation matrix.
| r | [in] 3x3 rotation matrix |
| Matrix6d transformation_inv | ( | const Quaterniond & | q | ) |
Builds the 6x6 body-to-world inverse transformation matrix from a quaternion.
| q | [in] Unit quaternion |
| Matrix6d transformation_inv | ( | const Vector3d & | rpy | ) |
Builds the 6x6 body-to-world inverse transformation matrix from RPY angles.
| rpy | [in] Roll, pitch, yaw in radians |
| double wrap | ( | double | r | ) |
Wraps an angle to the range (-pi, pi].
| r | [in] Angle in radians |