Skip to content

Mineinjava/quail

Repository files navigation

Quail

Bird-brained swerve drive utility.

Looking to contribute to or use Quail? You may find value in joining the Discord server: https://discord.gg/ABznnnBB

To use Quail, you need a few things. The first is swerve modules. More than one. I don't care where your swerve modules are. They could be 52 miles apart (i.e. this) and in the shape of a pentagon and Quail would still work.

The second thing you need is a little knowledge of Java. You should be able to:

  • use a PID controller
  • use subclasses
  • read an encoder
  • make your motors spin (to an angle if using coaxial swerve)

If you want to get started quickly, there are docs here A javadoc can be found here


I wish I knew Kotlin so I could make it purple. 💜

Currently, Quail is stable. Not quite sure about the documentation--it seems to be a bit tempermental.

Quail is designed for use and tested in FRC and FTC, but it should work in any java robotics program.


Features:

Working:

  • Swerve reverse kinematics (robot can drive)
  • Swerve odometry (robot can know where it is)
    • Includes heading odometry (can run field oriented without gyroscope and/or provide corrections to gyroscope via Kálmán filter)
  • 2-deadwheel odometry (robot can know where it is (requires additional hardware & gyro))
  • Autonomous navigation and pathing
  • Kálmán filter for use with vision

Not quite working

  • Path sequences