Expand description
Kinematics: maps between actuator motion and body motion, and pose integration.
DifferentialDrive— wheel ↔ body motion for a differential-drive base.Unicycle— the unicycle (body-twist) model.integrate— exact-arc SE(2) odometry from a body twist.
Generic over Numeric (so f32/f64/autodiff — an odometry step through
Dual gives exact Jacobians). SI units, radians, twists linear-first [v; ω]
(matching SE2), poses advance by X · exp(ξ). The velocity model and
arc integration follow Thrun/Burgard/Fox, Probabilistic Robotics, ch. 5, and
Siegwart/Nourbakhsh, Introduction to Autonomous Mobile Robots, ch. 3.
Structs§
- BodyArc
- The arc a body traces over one tick: arc length
[m]and heading change[rad]. - Body
Twist - The body twist a differential drive can realise: forward speed
[m/s]and yaw rate[rad/s]. - Differential
Drive - Differential-drive geometry.
- Odometry
Step - The odometry process model,
[x, y, θ, Δs, Δθ] → [x', y', θ']. - Unicycle
- The unicycle plant at a held body twist:
f(t, [x, y, θ]) = [v cosθ, v sinθ, ω]. - Wheel
Rotations - Wheel angular displacements over one tick
[rad]— what an encoder reports. - Wheel
Velocities - Wheel angular velocities [rad/s]. Positive drives the body forward.
Functions§
- integrate
- Advances
poseby one odometry increment along the exact constant-twist arc,pose · exp([Δs, 0, Δθ]).