![]() |
WPILibC++ 2027.0.0-alpha-3
|
A change in distance along a 3D arc since the last pose update. More...
#include <frc/geometry/Twist3d.h>
Public Member Functions | |
| constexpr Transform3d | Exp () const |
| Obtain a new Transform3d from a (constant curvature) velocity. | |
| constexpr bool | operator== (const Twist3d &other) const |
| Checks equality between this Twist3d and another object. | |
| constexpr Twist3d | operator* (double factor) const |
| Scale this by a given factor. | |
Public Attributes | |
| units::meter_t | dx = 0_m |
| Linear "dx" component. | |
| units::meter_t | dy = 0_m |
| Linear "dy" component. | |
| units::meter_t | dz = 0_m |
| Linear "dz" component. | |
| units::radian_t | rx = 0_rad |
| Rotation vector x component. | |
| units::radian_t | ry = 0_rad |
| Rotation vector y component. | |
| units::radian_t | rz = 0_rad |
| Rotation vector z component. | |
A change in distance along a 3D arc since the last pose update.
We can use ideas from differential calculus to create new Pose3ds from a Twist3d and vice versa.
A Twist can be used to represent a difference between two poses.
|
constexpr |
Obtain a new Transform3d from a (constant curvature) velocity.
See "https://file.tavsys.net/control/controls-engineering-in-frc.pdf" Controls Engineering in the FIRST Robotics Competition section 10.2 "Pose exponential" for a derivation.
The twist is a change in pose in the robot's coordinate frame since the previous pose update. When the user runs Exp() on the twist, the user will receive the pose delta.
"Exp" represents the pose exponential, which is solving a differential equation moving the pose forward in time.
|
inlineconstexpr |
Scale this by a given factor.
| factor | The factor by which to scale. |
|
inlineconstexpr |
Checks equality between this Twist3d and another object.
| other | The other object. |
| units::meter_t frc::Twist3d::dx = 0_m |
Linear "dx" component.
| units::meter_t frc::Twist3d::dy = 0_m |
Linear "dy" component.
| units::meter_t frc::Twist3d::dz = 0_m |
Linear "dz" component.
| units::radian_t frc::Twist3d::rx = 0_rad |
Rotation vector x component.
| units::radian_t frc::Twist3d::ry = 0_rad |
Rotation vector y component.
| units::radian_t frc::Twist3d::rz = 0_rad |
Rotation vector z component.