Crate antaeus

Crate antaeus 

Source
Expand description

§Antaeus

Antaeus is a versatile robotics framework built on top of Vexide. It provides a comprehensive set of tools for VEX V5 robot programming, including:

  • Drivetrain Control: Support for differential drivetrains with tank, arcade, and reverse control schemes.
  • Motion Control: PID-based movement systems, odometry tracking, and path following using the Candidate-Based Pursuit algorithm.
  • Display Graphics: An embedded-graphics compatible driver for the V5 Brain display, with pre-loaded fonts and logo rendering.
  • Operator Control: Utilities for mapping controller buttons to motors and ADI devices.
  • Logging: A file-based logger for debugging and telemetry.

§Quick Start

use antaeus::drivetrain::Differential;
use vexide::prelude::*;

#[vexide::main]
async fn main(peripherals: Peripherals) {
    let drivetrain = Differential::new(
        [
            Motor::new(peripherals.port_1, Gearset::Green, Direction::Forward),
            Motor::new(peripherals.port_2, Gearset::Green, Direction::Forward),
        ],
        [
            Motor::new(peripherals.port_3, Gearset::Green, Direction::Reverse),
            Motor::new(peripherals.port_4, Gearset::Green, Direction::Reverse),
        ],
    );

    let controller = Controller::new(ControllerId::Primary);
    loop {
        drivetrain.tank(&controller);
    }
}

§Modules

  • [drivetrain]: Differential drivetrain control with multiple drive modes.
  • motion: Autonomous motion algorithms including PID, odometry, and pursuit.
  • display: V5 Brain display graphics using embedded-graphics.
  • [opcontrol]: Controller input mapping to motors and pneumatics.
  • fs: Filesystem utilities including logging.

Modules§

display
V5 Brain display graphics module.
fs
Filesystem utilities module.
motion
Autonomous motion control module.
peripherals
Operator control utilities module.

Functions§

make_cloneable
Makes an object clonable by wrapping it in Rc and RefCell
to_mutex
Turns a object into a mutex