RC
RoboControl Documentation

System Configuration

Configure RoboControl for your specific robotic system and environment.

Configuration for Different Users

Team Programmer

Your role: Write autonomous code, tune controllers, verify paths work.

What you configure: Drivetrain parameters, odometry calibration, PID gains for drive/intake/launcher.

Mechanical Lead / Integrator

Your role: Build the robot. Ensure electrical connections work. Monitor motor health.

What you configure: Motor IDs, port assignments, sensor calibration, electrical specs.

Fleet Operations Manager (Drones)

Your role: Schedule missions, manage batteries, ensure regulatory compliance.

What you configure: Geofences, vehicle battery capacities, no-fly zones, home locations.

Robot Configuration

Configure your robot's physical parameters and motor specifications.

Copy
var robotConfig = new RobotConfiguration
{
    DriveMotorCount = 3,
    TrackWidth = 12.0,              // inches
    WheelDiameter = 3.25,            // inches
    EncoderResolution = 360,         // counts per revolution
    MaxMotorPower = 127,
    GearRatio = 3.0
};

Transport Configuration

Set up serial or network communication with your robot.

Copy
// Serial communication
var serialConfig = new SerialTransportConfig
{
    PortName = "COM3",
    BaudRate = 115200,
    DataBits = 8,
    StopBits = StopBits.One,
    Parity = Parity.None
};

var transport = new SerialTransport(serialConfig);
await transport.ConnectAsync();

Controller Parameters

Tune PID and advanced controller gains for optimal performance.

Copy
var pidConfig = new PidConfiguration
{
    Kp = 2.0,
    Ki = 0.5,
    Kd = 0.1,
    OutputMin = -127,
    OutputMax = 127,
    DerivativeFilterTf = 0.01,      // seconds
    IntegratorWindupGuard = true
};