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, localization, and path following using the Candidate-Based Pursuit algorithm.
- Display Graphics: An
embedded-graphicscompatible driver for the V5 Brain display, with TUI rendering support - Operator Control: Utilities for mapping controller buttons to motors and ADI devices.
- Logging: A file-based logger for debugging and telemetry.
§Structure
peripherals: Peripheral Access and Enhancementsmotion: Autonomous motion algorithms including PID, localization, and pursuit.graphics: V5 Brain display graphics usingembedded-graphicsandratatui.logger: File-based logging.utils: Error-handling, units, geometry, etc.
§Example
// Most minimalist Antaeus usage example
use antaeus::{
peripherals::drivetrain::{Drivable, differential::StandardDifferential},
prelude::{Length, differential::DifferentialConfig},
};
use vexide::prelude::*;
#[vexide::main]
async fn main(peripherals: Peripherals) {
let mut drivetrain = StandardDifferential::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),
],
DifferentialConfig::new(
Length::from_inches(12.0),
Length::from_inches(3.25),
1.0, // Direct Drive
1.0,
),
);
let controller = peripherals.primary_controller;
loop {
let _ = drivetrain.tank(&controller);
}
}Modules§
- graphics
- Graphics and Display Related Modules
- logger
- File-based logger implementation for the V5 Brain.
- motion
- Autonomous motion control algorithms.
- peripherals
- Peripheral Control
- prelude
- Prelude for Wildcard Imports
- utils
- Utility functions and types.
Functions§
- make_
cloneable - Makes an object cloneable by wrapping it in
RcandRefCell - to_
mutex - Turns an object into a mutex (only use for actual threads, not async)