Skip to content

CorniiDog/WhoopLib

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 

Repository files navigation

WhoopLib Logo

GitHub Release GitHub forks GitHub Repo stars

A Simple SLAM Solution.

With both PROS and VEXCode support

Getting Started

To start off with WhoopLib, head to: https://CorniiDog.github.io/WhoopLib/

Links

WhoopLib Documentation

WhoopLibVEXCode Github

WhoopLibPROS Github

WhoopLibPython Github

Features

Odometry & Pose Estimation

  • Visual odometry / pose estimation
  • Wheel odometry / pose estimation (inspired by JAR-Template)
  • Fusion odometry (visual + wheel) with rolling average filter

Control & Motion

  • WhoopController with auto-configuration for Split Arcade, Tank, Left Stick Arcade, and Right Stick Arcade
  • Path generation: Dubins curves (thanks to Andrew Walker) and Pure Pursuit
  • Point-to-point navigation (move between Point A and Point B)
  • High-level motion primitives: precise turning (by degrees / to face coordinates), forward/reverse movement with historical position memory for resilience
  • General PID controller with anti-windup (kR, aka "retracted windup")
  • Slew rate limiter for motor movements
  • Motor voltage-to-speed linearization

Utilities & Abstractions

  • TwoDPose class simplifying linear algebra, modeled with similarities to Roblox’s CFrames
  • Units system (_in, _v, _mm, etc.)
  • Simplified MicroSD card file system
  • Autonomous selector with optional persistent saving via MicroSD

Documentation & Ecosystem

  • Comprehensive and continuously updated documentation for a low floor and high ceiling

Roadmap (Needs Maintainer)

  • Object Detection and Gridded Permanence system
  • Detecting other robots that impede the path of the robot, and drive around
  • Implementation of a Jetson Orion Nano instead of the End-Of-Line (EOL) Jetson Nano
  • Implementation of a better SLAM solution instead of relying on the EOL Realsense T265 Camera
  • Capability to Use Different Devices like Oak-D, etc. for Visual Odometry
  • Capability to Use Lidar
  • Virtual Highway system

Important

WhoopLib is an independent, student-led project and is not endorsed by or affiliated with Texas A&M University.

Important

The Python/Jetson backend is experimental. There is no automatic ML data transfer to V5; users must implement their own integration. Odometry fusion depends on the factory calibration quality of the T265, which can vary over time and between units.

Acknowledgements

License

Distributed under the MIT License.