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

The most advanced SLAM solution in VEX.

With both PROS and VEXCode support

Getting Started

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

Links

WhoopLib Documentation

WhoopLib Zero - Learn C++ From Zero

WhoopLibVEXCode Github

WhoopLibPROS Github

WhoopLibPython Github

Release Notes

Features

  • Visual Odometry/Pose Estimation
  • Wheel Odometry/Pose Estimation, inspired by JAR-Template
  • Communication between V5 Brain and Jetson Nano
  • Fusion Odometry between Visual Odometry and Wheel Odometry
  • Rolling Average Filter for Fusion Odometry
  • WhoopController Class with auto-configuration for Split Arcade, Tank, Left Stick Arcade, and Right Stick Arcade
  • Dubins-Curves Path Creation, thanks to Andrew Walker
  • Pure Pursuit Algorithm
  • Moving between Point A and Point B
  • General PID, modified from JAR-Template
  • Turning by degrees, Turning to degrees, Turning to Face x and y Coordinates
  • Moving Forward and Reverse Functions, alongside Remembering Previous Movement Positions for Improved Resilience
  • Generated Paths with Waypoints to Navigate around the VEX Robotics Field in One Fell Swoop
  • Well-Rounded and Continuously Updated Documentation for a Low Floor yet High Ceiling
  • Slew for Motor Movements
  • Motor Voltage to Speed Linearization
  • TwoDPose Class which Handles and Simplifies Linear Algebra Mathematics, Following Similarities to Roblox's CFrames for Ease of Use
  • Simplified MicroSD Card File System
  • Autonomous Selector, optionally to permanently save options using MicroSD Card
  • Units system _in, _v, _mm, etc.
  • Slew rate
  • PID Integral anti-windup constant kR (also known as "Retracted Windup")

Roadmap

  • 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 project created by me, Connor White, and is not affiliated with Aggie Robotics or Texas A&M University.

Important

"WhoopLib Python" and the Vision Tesseract is in its very early stages, and therefore does not actively transfer ML object data to the V5 robot. At the moment, it is up to the end user to figure the Python back-end for the Jetson Nano. The back-end is displayed in a folder on the desktop. Additionally, odometry fusion highly depends on the T265 factory-calibrated quality, which can vary both by product and over time. Additionally, sending odometry data to the T265 is up to the end user to figure out how to implement, but is not required.

Acknowledgements

License

Distributed under the MIT License.