Files
solutions_season_unearthed/README.md
2025-10-30 12:21:46 +00:00

142 lines
4.8 KiB
Markdown

# 65266 Lego Dynamics - UNEARTHED Season Robot Code
<div align="center">
**Competitive Robotics Code for FLL SUBMERGED℠ Season**
![Team](https://img.shields.io/badge/Team-65266%20Lego%20Dynamics-blue?style=for-the-badge)
![Season](https://img.shields.io/badge/Season-UNEARTHED-green?style=for-the-badge)
![License](https://img.shields.io/badge/License-GPLv3-red?style=for-the-badge)
</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
- You can do this through the repo, by using cURL, or by using git.
- Repo - Go to [codes_for_scrimmage/hazmat/mainhazmatUPD.py](codes_for_scrimmage/hazmat/mainhazmatUPD.py) and click the "Download" button.
- cURL or another HTTP data transferrer -
```curl -o mainhazmatUPD.py https://codes.fll-65266.org/FLL_65266_LEGO_DYNAMICS/solutions_season_unearthed/raw/branch/main/codes_for_scrimmage/hazmat/mainhazmatUPD.py```
- git CLI -
```git clone -b dev https://codes.fll-65266.org/FLL_65266_LEGO_DYNAMICS/solutions_season_unearthed.git && cd solutions_season_unearthed/codes_for_scrimmage/hazmat``` - Then use 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:
![alt text](https://codes.fll-65266.org/FLL_65266_LEGO_DYNAMICS/solutions_season_unearthed/raw/branch/do-not-merge/import.png)
- Bluetooth button looks like this:
![alt text](https://codes.fll-65266.org/FLL_65266_LEGO_DYNAMICS/solutions_season_unearthed/raw/branch/do-not-merge/bluetooth.png)
3. **Upload to Robot** - Click "Download and Run" or send the program to the robot
- Run button looks like this: ![alt text](https://codes.fll-65266.org/FLL_65266_LEGO_DYNAMICS/solutions_season_unearthed/raw/branch/do-not-merge/run.png)
4. **Start Your Run**
- If starting without Pybricks, press the center circular button on the SPIKE Prime Hub to start the program.
- Hold a colored LEGO brick up to the color sensor.
- Different colors trigger different mission runs - color mapping is below.
### 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!
---