Kinematics
Welcome to the kinematics page!
Using kinematics, we know the robot’s coordinates and orientation on the field. Below is a diagram of field axes:
Dead Wheels Kinematics
Overview
Provides an accurate field-relative localization using three unpowered encoded wheels (dead wheels) by comparing encoder delta’s over time.
Updates
Update
update
takes the integer positions of the left, right, and center dead wheel.
Update and Reset
updateAndReset
takes the integer positions of the dead wheels as well as a pose.
Getting Pose and Velocity
Simply returns the currentPoseAndVelocity
in the form of a PoseAndVelocity.
Linear Actuation
Overview
The classes that deal with Linear Actuation convert pulses to linear distance (in millimeters) and vice versa, given the parameters of the gear-ratio’s and wheel diameters. Deals with linear motion.
Pulses/Linear Conversion
The LinearActuatorCalculator
converts between measurements in linear distance to pulses, and vice versa. When converting from encoder pulses to distance, you use the pulsesToDistance
method which receives an integer (pulses) and returns a double (linear distance), and when converting from linear distance to encoder pulses, you use the lengthToPulses
method which receives a double (linear distance) and returns an integer (pulses).
Angular Actuatation
Overview
The classes that deal with Angular Actuation convert pulses to angular rotation (in radians) and vice versa, given the parameters of the gear-ratio’s. Deals with angular motion/rotation.
Pulse/Angle Conversion
The AngularActuatorCalculator
converts between encoder pulses to measurement in radians, and vice versa. When converting from encoder pulses to radians, you use the pulsesToAngle
method which receives a integer (pulses) and returns a double (radians), and when converting from radians to encoder pulses, you use the angleToPulses
method which receives a double (radians) and returns a double (pulses).