Skip to content

Conversation

jasondaming
Copy link
Member

Summary

Significantly expands the kinematics introduction article to address issue #1291 by explaining why teams should use kinematics/odometry and when to choose each drivetrain type.

Changes

New "Why use kinematics and odometry?" Section

  • Enhanced Autonomous Performance: Explains accurate path following, position tracking, and self-correction with vision
  • Field-Oriented Control: Describes benefits for holonomic drives and driver experience
  • Trajectory Generation and Following: Integration with path planning tools
  • Common Use Cases: Real-world examples of autonomous routines, vision-assisted driving, teleoperation enhancement

New "When to use each drivetrain type" Section

Differential Drive:

  • Best for: Traditional tank drive, high traction/pushing power, simpler builds
  • Characteristics: Non-holonomic, high pushing power, simpler mechanical design
  • Links to RamseteCommand example

Swerve Drive:

  • Best for: Maximum maneuverability, competitive teams with experience
  • Characteristics: Holonomic, highest mobility, most complex
  • Links to SwerveBot and SwerveControllerCommand examples

Mecanum Drive:

  • Best for: Holonomic drive with simpler mechanics than swerve
  • Characteristics: Can strafe, lower pushing power, simpler than swerve
  • Links to MecanumBot and MecanumControllerCommand examples

Important Considerations

  • Odometry drift and vision-based corrections
  • Sensor requirements for each drivetrain
  • Autonomous period accuracy expectations
  • Coordinate system reference

Impact

This expansion transforms the article from a purely technical reference into a practical guide that helps teams:

  1. Understand the benefits of using kinematics and odometry
  2. Choose the appropriate drivetrain type for their needs
  3. Know what sensors and setup are required
  4. Find relevant example code for their chosen drivetrain

Fixes #1291

- Added 'Why use kinematics and odometry' section explaining benefits
- Enhanced autonomous performance discussion (path following, position tracking)
- Field-oriented control benefits for holonomic drives
- Trajectory generation and common use cases
- Added 'When to use each drivetrain type' section
- Differential drive: best for traction, pushing power, simpler builds
- Swerve drive: maximum maneuverability, most complex
- Mecanum drive: holonomic with simpler mechanics than swerve
- Added important considerations (drift, sensors, accuracy)
- Links to example code for each drivetrain type

Fixes wpilibsuite#1291

## Important considerations

**Odometry drift**: Position estimates accumulate error over time, especially during physical contact with other robots. This is normal and expected. Vision-based corrections (using AprilTags) help maintain accuracy.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
**Odometry drift**: Position estimates accumulate error over time, especially during physical contact with other robots. This is normal and expected. Vision-based corrections (using AprilTags) help maintain accuracy.
**Odometry drift**: Position estimates accumulate error over time, especially during physical contact with other robots and field elements. This is normal and expected. Vision-based corrections (using AprilTags) help maintain accuracy.

- Gyroscope for measuring robot angle (critical for accurate odometry)
- For swerve: absolute encoders for module angles

**Autonomous period accuracy**: Odometry is typically very accurate during autonomous (15 seconds) because there's less robot-to-robot contact. Estimates may drift more during teleoperation.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
**Autonomous period accuracy**: Odometry is typically very accurate during autonomous (15 seconds) because there's less robot-to-robot contact. Estimates may drift more during teleoperation.
**Autonomous period accuracy**: Odometry is typically very accurate during autonomous (15 seconds) because there's less robot-to-robot contact. Estimates may drift more during teleop.

Using language from the manual. TELEOP is in the glossary for "the Teleoperated Period".

@katzuv
Copy link
Contributor

katzuv commented Oct 11, 2025

Perhaps the comparison between different drivetrain types fits more elsewhere?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Improve Kinematic Articles

2 participants