-
They both have X, Y, and rotation values representing the difference between two poses. What purposes are they serving that they need to be different? |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment
-
Twist2d is an element of the tangent space of SE(2). It represents an arc between two poses and is the closed form solution for mapping encoder position and gyro heading deltas onto change in pose (useful for odometry). Transform2d is a coordinate transform. A key difference you'll notice when interpolating between two poses with the two is that twists follow an arc while transforms follow a line. In a Kalman filter where it assumes the pose is normally distributed, twists are a more correct interpolant. See https://rpk.lcsr.jhu.edu/wp-content/uploads/2014/08/p34_Long12_The-Banana-Distribution.pdf. Section 10.2 of https://controls-in-frc.link/ explains more of the abstract algebra involved and where twists come from. |
Beta Was this translation helpful? Give feedback.
Twist2d is an element of the tangent space of SE(2). It represents an arc between two poses and is the closed form solution for mapping encoder position and gyro heading deltas onto change in pose (useful for odometry). Transform2d is a coordinate transform.
A key difference you'll notice when interpolating between two poses with the two is that twists follow an arc while transforms follow a line. In a Kalman filter where it assumes the pose is normally distributed, twists are a more correct interpolant. See https://rpk.lcsr.jhu.edu/wp-content/uploads/2014/08/p34_Long12_The-Banana-Distribution.pdf.
Section 10.2 of https://controls-in-frc.link/ explains more of the abstract algebra involve…