143 lines
3.7 KiB
Markdown
143 lines
3.7 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** | 2× Large Motors (Ports C & D) |
|
||
| **Drive Motors** | 2× 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 # Each file = 1+ mission completions
|
||
┣ run_3.py
|
||
┣ ...
|
||
┗ master.py # 🎯 Combined master file with color-start logic
|
||
```
|
||
|
||
### 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
|
||
|
||
1. **Load the Code**
|
||
```bash
|
||
# Open the master.py file in Pybricks IDE
|
||
```
|
||
|
||
2. **Connect to Robot**
|
||
- Pair your robot via Bluetooth in Pybricks
|
||
|
||
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 | Celebration Sound |
|
||
|-------|-----------|------------------|
|
||
| Green 🟩 | Run 1 | Victory Fanfare |
|
||
| White ⚪ | Run 2 | Rickroll Inspired |
|
||
| Yellow 🟨 | Run 3 | Success Chime |
|
||
| Orange 🟧 | Run 4 | Power Up |
|
||
| Blue 🟦 | Run 5 | Power Up |
|
||
| Red 🟥 | Run 6 | Ta-Da! |
|
||
|
||
> **Tip** Organize your colored bricks before the match for quick run selection!
|
||
|
||
---
|
||
|
||
## 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!
|
||
|
||
---
|
||
|
||
<div align="center">
|
||
|
||
Star this repo if you found it helpful!
|
||
|
||
</div> |