Chassis Speeds vs Wheel Speeds

Can anyone explain the difference between the Chassis Speeds and Wheel Speeds in WPILIB. What does each one measure and what are the advantages/disadvantages of using one or the other to calculate the velocity of the robot.

Have you read these two articles on frc-docs?

Do you have a differential robot or something more interesting like swerve?

If you have read those maybe you can expand upon what you are having trouble with and/or what you are trying to do (if it is something more than just develop a good understanding of how things work)?

Well, I’m actually having issues with Ramsete right now. We’ve implemented the execute() method in our code structure. However, the current speed of the robot is not anywhere not operating at the setpoint. I fear that I’m reading the target speeds as the chassis speeds while the setpoint is in wheel speeds.

We are using a differential drive btw.

Chassis Speeds describe the x, y, and angular velocity of a robot. These can be applied to any robot, so they are good for describing the motion of robots along paths and understanding their state. Wheel Speeds are the specific speeds of the left and right side of the (differential) drivetrain. Kinematics allows you to convert Chassis Speeds into robot-specific Wheel Speeds, and vice versa. Wheel Speeds are necessary to actually control each drivetrain side so that the robot accomplishes the corresponding Chassis Speeds.

For this kind of problem, you can almost always figure out the error by looking at the target versus actual values. This docs page describes this debugging process for trajectory following, but you basically want to ensure your targets and control are sane from odometry and Chassis Speeds down to Wheel Speeds.

1 Like

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.