{"id":15149427,"url":"https://github.com/mineinjava/quail","last_synced_at":"2026-04-01T23:35:38.739Z","repository":{"id":157724965,"uuid":"630176203","full_name":"Mineinjava/quail","owner":"Mineinjava","description":"Bird Brained Swerve Utility for Crabs","archived":false,"fork":false,"pushed_at":"2025-01-10T05:02:45.000Z","size":1142,"stargazers_count":14,"open_issues_count":13,"forks_count":6,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-01-31T00:07:38.128Z","etag":null,"topics":["firstroboticscompetition","firsttechchallenge","frc","ftc","ftc-java","hacktoberfest","robot","robotics","swerve","swerve-drive"],"latest_commit_sha":null,"homepage":"https://astr0clad.github.io/quail_docs/","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Mineinjava.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-04-19T20:39:28.000Z","updated_at":"2025-01-10T05:10:26.000Z","dependencies_parsed_at":"2023-10-22T07:19:22.753Z","dependency_job_id":"337fe37e-fc03-47fb-9e48-e8eb695e29a2","html_url":"https://github.com/Mineinjava/quail","commit_stats":{"total_commits":325,"total_committers":6,"mean_commits":"54.166666666666664","dds":0.4769230769230769,"last_synced_commit":"bb918e4031ca43887166a3fcebfe973c0cd7562d"},"previous_names":[],"tags_count":18,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mineinjava%2Fquail","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mineinjava%2Fquail/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mineinjava%2Fquail/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mineinjava%2Fquail/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Mineinjava","download_url":"https://codeload.github.com/Mineinjava/quail/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":237918710,"owners_count":19387305,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["firstroboticscompetition","firsttechchallenge","frc","ftc","ftc-java","hacktoberfest","robot","robotics","swerve","swerve-drive"],"created_at":"2024-09-26T14:00:22.990Z","updated_at":"2025-10-24T05:31:33.354Z","avatar_url":"https://github.com/Mineinjava.png","language":"Java","readme":"\n# Quail\n\u003cimg src=\"https://github.com/Mineinjava/quail/blob/main/images/quail_above_border.png\" width=\"40%\" align=\"right\"\u003e\n\n[![](https://jitpack.io/v/mineinjava/quail.svg) \u003c!-- ![](https://jitpack.io/v/Mineinjava/Quail/month.svg) --\u003e](https://jitpack.io/#mineinjava/quail)\n\nBird-brained swerve drive utility.\n\nLooking to contribute to or use Quail? You may find value in joining the Discord server: https://discord.gg/ABznnnBB\n\nTo 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](https://www.youtube.com/watch?v=Ui-ehJlGM1Q) but with swerve) and in the shape of a pentagon and Quail would still work.\n\nThe second thing you need is a little knowledge of Java. You should be able to:\n - use a PID controller\n - use subclasses\n - read an encoder\n - make your motors spin (to an angle if using [coaxial swerve](https://www.chiefdelphi.com/t/coaxial-vs-non-coaxial-swerve/158629/4))\n\nIf you want to get started quickly, there are docs [here](https://astr0clad.github.io/quail_docs/)\nA javadoc can be found [here](https://mineinjava.github.io/quail/javadoc/)\n\n---\nI wish I knew Kotlin so I could make it purple. 💜\n\nCurrently, Quail is stable. Not quite sure about the documentation--it seems to be a bit tempermental.\n\nQuail is designed for use and tested in FRC and FTC, but it should work in any java robotics program.\n\n---\n### Features:\n\n**Working:**\n- Swerve reverse kinematics (robot can drive)\n- Swerve odometry (robot can know where it is)\n    - Includes heading odometry (can run field oriented without gyroscope and/or provide corrections to gyroscope via Kálmán filter)\n- 2-deadwheel odometry (robot can know where it is (requires additional hardware \u0026 gyro))\n- Autonomous navigation and pathing\n- Kálmán filter for use with vision\n\n**Not quite working**\n- Path sequences\n\n\n\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmineinjava%2Fquail","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmineinjava%2Fquail","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmineinjava%2Fquail/lists"}