136 lines
3.9 KiB
Markdown
136 lines
3.9 KiB
Markdown
# 65266 Lego Dynamics - UNEARTHED Season Robot Code
|
|
|
|
<div align="center">
|
|
|
|
**Competitive Robotics Code for FLL SUBMERGED℠ Season**
|
|
|
|

|
|

|
|

|
|
|
|
</div>
|
|
|
|
---
|
|
|
|
## Project Overview
|
|
|
|
Welcome to the official code repository for **Team 65266 - Lego Dynamics**! This repository contains all the Pybricks code powering our robot through the UNEARTHED season missions. Our modular approach allows for flexible mission execution and quick color-sensor-based run selection.
|
|
|
|
---
|
|
|
|
## Robot Hardware
|
|
|
|
### Meet Optimus Prime III
|
|
|
|
| Component | Specification |
|
|
|-----------|--------------|
|
|
| **Robot Name** | Optimus Prime III |
|
|
| **Firmware** | Pybricks |
|
|
| **Attachment Motors** | 2x Large Motors (Ports C & D) |
|
|
| **Drive Motors** | 2x Small Motors (Ports A & B) |
|
|
| **Sensors** | Up-facing Color Sensor (Quick Start) |
|
|
| **Attachments** | Multiple mission-specific tools |
|
|
|
|
### Motor Configuration
|
|
- **Port A**: Left Drive Motor (Small)
|
|
- **Port B**: Right Drive Motor (Small)
|
|
- **Port C**: Left Attachment Motor (Large)
|
|
- **Port D**: Right Attachment Motor (Large)
|
|
|
|
---
|
|
|
|
## Code Structure
|
|
|
|
Our codebase is organized for maximum efficiency and modularity:
|
|
|
|
```
|
|
Repository
|
|
┣ run_1.py # Individual mission runs
|
|
┣ run_2.py
|
|
┣ run_3.py
|
|
┣ ...
|
|
┗ masterFile.py # 🎯 Combined master file with color-start logic - this changes periodically as we release new versions. Check this README if you are unsure what code should be loaded on the robot.
|
|
```
|
|
|
|
### Workflow
|
|
1. **Individual Run Files** → Contain specific mission sequences
|
|
2. **Script Combination** → Merges runs into master file
|
|
3. **Color Sensor Logic** → Adds intelligent run selection based on color detection
|
|
|
|
---
|
|
|
|
## How to Use
|
|
|
|
### Installation & Deployment - from the server - everyday
|
|
|
|
1. Download the file codes_for_scrimmage/hazmat/mainhazmatUPD.py
|
|
|
|
2. Open https://code.pybricks.com/ and select the "Import a file" button on the top of the left bar. Import the .py file. Pair your robot via Bluetooth in Pybricks by selecting the Bluetooth button.
|
|
|
|
- Import button looks like this:
|
|

|
|
- Bluetooth button looks like this:
|
|

|
|
|
|
3. **Upload to Robot**
|
|
- Click "Download and Run" or send the program to the robot
|
|
|
|
4. **Start Your Run**
|
|
- Hold a colored LEGO brick up to the color sensor
|
|
- Different colors trigger different mission runs!
|
|
|
|
### Color Start System
|
|
| Color | Mission |
|
|
|-------|-----------|
|
|
| Green 🟩 | Run 1 |
|
|
| Purple 🟪 | Run 2 |
|
|
| Red 🟥| Run 3 |
|
|
| Yellow 🟨| Run 4 |
|
|
| Blue 🟦| Run 5 |
|
|
| Orange 🟧| Run 6 |
|
|
|
|
---
|
|
|
|
## Competition Notes
|
|
|
|
- **Quick Start**: Color sensor enables rapid run switching without reprogramming
|
|
- **Modular Design**: Easy to test and modify individual missions
|
|
- **Flexible Attachments**: Multiple tools optimized for different challenges
|
|
|
|
---
|
|
|
|
## Contributing
|
|
|
|
Team members can contribute by:
|
|
- Reporting bugs via Issues
|
|
- Suggesting mission optimizations
|
|
- Testing new attachment designs
|
|
- Documenting successful strategies
|
|
|
|
---
|
|
|
|
## License
|
|
|
|
**GNU General Public License v3.0**
|
|
|
|
```
|
|
You can take inspiration from our code, but you can't take our exact code.
|
|
```
|
|
|
|
This project is licensed under GPL-3.0 - see the [LICENSE](LICENSE) file for complete details.
|
|
|
|
### What This Means:
|
|
- Learn from our approaches and strategies
|
|
- Understand our logic and algorithms
|
|
- Don't copy-paste our exact code
|
|
- Create your own unique implementations
|
|
|
|
---
|
|
|
|
## Contact & Support
|
|
|
|
**Team 65266 - Lego Dynamics**
|
|
|
|
Questions about our approach? Interested in collaboration? Reach out!
|
|
|
|
--- |