Class representing a difference between two poses, more specifically a distance along an arc from a pose. The angular displacement is continuous and is never wrapped. More specifically, dx and dy represent integrated motion in the moving reference frame of the robot.
Assumes conventional cartesian coordinate system: Looking down at the coordinate plane, +X is right +Y is up +Theta is counterclockwise
|
|
constexpr | Twist2d () |
| | Default Constructor for Twist2d.
|
| constexpr | Twist2d (units::Length dx, units::Length dy, units::Angle dtheta) |
| constexpr | Twist2d (const Eigen::Vector3d &twist_vector, units::Length length_unit, units::Angle angle_unit=units::radians) |
|
constexpr units::Length | dx () const |
| | Gets the x displacement.
|
|
constexpr double | dx (units::Length unit) const |
| | Gets the x displacement in the supplied unit.
|
|
constexpr void | set_dx (units::Length val) |
| | Sets the x displacement.
|
|
constexpr units::Length | dy () const |
| | Gets the y displacement.
|
|
constexpr double | dy (units::Length unit) const |
| | Gets the y displacement in the supplied unit.
|
|
constexpr void | set_dy (units::Length val) |
| | Sets the y displacement.
|
|
constexpr units::Angle | dtheta () const |
| | Gets the Angle displacement.
|
|
constexpr double | dtheta (units::Angle unit) const |
| | Gets the angle displacement in the supplied unit.
|
|
constexpr void | set_dtheta (units::Angle val) |
| | Sets the angle displacement.
|
| EVec< 3 > | as_vector (units::Length length_unit, units::Angle angle_unit=units::radians) const |
|
constexpr Twist2d | operator* (double scalar) const |
| | Multiplies this twist by a scalar.
|
|
constexpr Twist2d & | operator*= (double scalar) |
| | Multiplies this twist by a scalar.
|
|
constexpr Twist2d | operator/ (double scalar) const |
| | Divides this twist by a scalar.
|
|
constexpr Twist2d & | operator/= (double scalar) |
| | Divides this twist by a scalar.
|
|
constexpr bool | operator== (const Twist2d &other) const |
| | Checks exact equality between this and another twist.
|
| constexpr bool | is_near (const Twist2d &other, units::Length distance_tolerance=units::Length(1e-6), units::Angle angle_tolerance=units::Angle(1e-6)) const |