Skip to content

Canadian Robotics Competition Bronze Robot Construction Award- This repository contains the C++ codebase for the Marianopolis team competing in the 2025 Canadian Robotics Competition.

Notifications You must be signed in to change notification settings

dwei-exe/2025-robot-controls

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

2025-Robot-Controls

This repository contains the C++ codebase for the Marianopolis robotics team competing in the 2025 CRC Robotics Competition. The code is designed to be uploaded via the Arduino IDE to control our custom-built robot.

Final Robot

🧩 Full Robot CAD Design

You can explore the full CAD assembly of the 2025 robot on Onshape using the link below:

👉 🔗 View Full Robot CAD on Onshape


📁 Project Structure

File Description
epsilon25.ino Main Arduino sketch files for robot control. epsilon25.ino contains key pin definitions and hardware wiring documentation.
drive25.cpp, drive25.h Implements the robot drive system including high/low speed modes and joystick control.
button.cpp, button.h Debounce logic and button handling for various input triggers.
cu.sh, mon.sh Utility shell scripts for uploading and monitoring serial output from the Arduino.

Key Features

Joystick-Controlled Speed Modes

  • The left joystick allows the pilot to toggle between high-speed and low-speed drive modes.
  • Enhances control during precise maneuvering tasks or full-speed traversal.

PID-Controlled Arm Lift System

  • A custom-built PID (Proportional-Integral-Derivative) controller ensures accurate and stable vertical positioning of the robot's arm.
  • Encoder feedback is used to dynamically adjust the motor output and maintain the target height with minimal overshoot or oscillation.

Modular Code Design

  • Separated into .cpp and .h files for better organization, maintainability, and code reuse.
  • Input handling, drive control, and PID logic are encapsulated for clarity.

Software Documentation

CRCLib Library


Hardware Documentation

Motor Controllers

  • We use VEX Victor SPX motor controllers for reliable motor actuation.
  • We use 2 goBilda 5202 Series Yellow Jackets (which have a 6mm D-Shaft) at 30RPM and 60RPM for the main arm joints. They come with built-in quadrature encoders for PID controls. The specifications of these FTC legal motors are available here.
  • Detailed pin mappings, connection instructions, and setup notes can be found in epsilon25.ino.

💡 Getting Started

  1. Install Arduino IDE: Download here.
  2. Install dependencies: This code requires the Encoder library by Paul Stoffregen. Make sure to install it in the Arduino IDE
  3. Clone this repository:
    git clone https://github.com/dwei-exe/2025-Robot-Controls.git

About

Canadian Robotics Competition Bronze Robot Construction Award- This repository contains the C++ codebase for the Marianopolis team competing in the 2025 Canadian Robotics Competition.

Topics

Resources

Stars

Watchers

Forks