https://github.com/zbreit/team-mixtape-osv
The codebase for ENES100 Team MIXTAPE's OverSand Vehicle
https://github.com/zbreit/team-mixtape-osv
Last synced: about 1 year ago
JSON representation
The codebase for ENES100 Team MIXTAPE's OverSand Vehicle
- Host: GitHub
- URL: https://github.com/zbreit/team-mixtape-osv
- Owner: zbreit
- License: mit
- Created: 2019-03-18T17:01:49.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2019-05-15T14:03:43.000Z (about 7 years ago)
- Last Synced: 2025-02-15T13:25:31.796Z (over 1 year ago)
- Language: C++
- Homepage:
- Size: 8.91 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# team-mixtape-OSV
The codebase for ENES100 Team MIXTAPE's OSV

## How to Navigate the Codebase
All of the OSV logic is stored in the `OSV/` directory. The `OSVSimulation/` directory stores a version of the code that is compatible with the ENES100Simulator. The code was converted using the [ENES100SimulationTranslator](https://github.com/zbreit/ENES100SimulationTranslator). The code is structured as follows:
- All `*.h` files provide forward declarations for functions and classes
- **Convenience Classes**
- `Constants`: Stores all configuration info (e.g., pin mappings, PID constants, OSV dimensions)
- `LocationManager`: Has static methods to determine the location of the OSV in relation to the field and the obstacles
- `utils`: Has convenience methods for various math and angle calculations
- **Components**
- `FlameSensor`: Wrapper class for the IR flame sensor. Uses median filtering of the results
- `DCMotor`: Wrapper class to control motors on the [LM298N](https://diygeeks.org/shop/breakout-modules/lm298-motor-driver-breakout/). Provides configurations to reverse a motor's polarity and to set min and max output.
- **Subsystems**
- `DriveTrain`: Provides high-level control for the OSV's locomotion
- `ExtinguishingArm`: Provides high-level control of the OSV extinguisher
- `Navigator`: Contains all obstacle and mission navigation functionality
- **The Important File**
- `OSV.ino`: The main code file. Contains `void setup()` and `void loop()`