130 lines
4.0 KiB
Markdown
130 lines
4.0 KiB
Markdown
|
|
---
|
||
|
|
pageType: source
|
||
|
|
id: source.robotics-team-agent
|
||
|
|
title: robotics-team-agent
|
||
|
|
sourceType: local-file
|
||
|
|
sourcePath: /home/topher/.openclaw/workspace-crash-bot/projects/robotics-team-agent.md
|
||
|
|
ingestedAt: 2026-05-02T21:20:34.979Z
|
||
|
|
updatedAt: 2026-05-02T21:20:34.979Z
|
||
|
|
status: active
|
||
|
|
---
|
||
|
|
|
||
|
|
# robotics-team-agent
|
||
|
|
|
||
|
|
## Source
|
||
|
|
- Type: `local-file`
|
||
|
|
- Path: `/home/topher/.openclaw/workspace-crash-bot/projects/robotics-team-agent.md`
|
||
|
|
- Bytes: 3361
|
||
|
|
- Updated: 2026-05-02T21:20:34.979Z
|
||
|
|
|
||
|
|
## Content
|
||
|
|
````text
|
||
|
|
# Robotics Team Agent
|
||
|
|
|
||
|
|
**Status:** ✅ Complete
|
||
|
|
**Completed:** 2026-04-15
|
||
|
|
|
||
|
|
> This project is done. The Gitea server is set up, mirrors are running, and the architecture is in place. Keeping this file for reference.
|
||
|
|
|
||
|
|
## Original Context
|
||
|
|
- **User:** Considering a dedicated OpenClaw instance OR a new isolated agent
|
||
|
|
- **Context:** Losing programming coach next year; user is build/mechanical
|
||
|
|
|
||
|
|
## Team Details
|
||
|
|
- **Grade levels:** 9-12
|
||
|
|
- **Language:** Java
|
||
|
|
- **Libraries:** YAGSL (swerve), PhotonVision (vision)
|
||
|
|
- **Current sensors:** AprilTags (considering expansion to object detection)
|
||
|
|
- **Hardware:** RobotRIO now, moving to Pi-based next year
|
||
|
|
|
||
|
|
## Requirements for Team Agent
|
||
|
|
1. **Isolation** — Separate from "brewery side" (main household)
|
||
|
|
2. **GitHub access** — Separate repo for team code
|
||
|
|
3. **Google Drive** — For team documents/resources
|
||
|
|
4. **Capabilities:**
|
||
|
|
- Code audits
|
||
|
|
- Java/WPILib/YAGSL code review
|
||
|
|
- Teaching/debugging for students
|
||
|
|
- PhotonVision integration help
|
||
|
|
|
||
|
|
## Model Recommendation
|
||
|
|
- Ollama cloud (qwen2.5-coder:14b for code review, or 7b for speed)
|
||
|
|
- Or local on Pi: qwen2.5-coder:7b
|
||
|
|
|
||
|
|
## Notes
|
||
|
|
- Students should learn, not just get answers — guide them to solutions
|
||
|
|
- Seniors can mentor younger students
|
||
|
|
- Useful for explaining PID, state machines, odometry, vision pipelines
|
||
|
|
|
||
|
|
## Decision Pending
|
||
|
|
- Dedicated instance vs. add new agent to existing OpenClaw
|
||
|
|
- Not yet implemented
|
||
|
|
|
||
|
|
## Alternative Git Hosts (school blocks github.com specifically)
|
||
|
|
- [x] **Gitea** — Self-hosted on CasaOS server ✓
|
||
|
|
|
||
|
|
## Gitea Setup - Complete (2026-03-12)
|
||
|
|
|
||
|
|
### External Access
|
||
|
|
- **URL:** http://2890.duckdns.org:3002
|
||
|
|
- **Port:** 3002 (TCP, port forwarded)
|
||
|
|
- **DDNS:** 2890.duckdns.org → 174.206.100.116
|
||
|
|
- **Status:** ✅ Externally accessible
|
||
|
|
- **User:** TopherSlater
|
||
|
|
|
||
|
|
### Mirrored Repos (from GitHub)
|
||
|
|
| Repo | URL | Status |
|
||
|
|
|------|-----|--------|
|
||
|
|
| YAGSL | `http://2890.duckdns.org:3002/TopherSlater/YAGSL` | ✅ |
|
||
|
|
| photonvision | `http://2890.duckdns.org:3002/TopherSlater/photonvision` | ✅ |
|
||
|
|
| allwpilib | `http://2890.duckdns.org:3002/TopherSlater/allwpilib` | ✅ |
|
||
|
|
|
||
|
|
### Mirror Method
|
||
|
|
```bash
|
||
|
|
# Clone bare, push branches+tags only (skip PR refs)
|
||
|
|
git clone --bare https://github.com/ORG/REPO.git REPO-mirror
|
||
|
|
cd REPO-mirror
|
||
|
|
git remote set-url origin https://USER:TOKEN@localhost:3002/USER/REPO.git
|
||
|
|
git push --all origin
|
||
|
|
git push --tags origin
|
||
|
|
```
|
||
|
|
|
||
|
|
### Auto-Sync Script
|
||
|
|
- **Location:** `/opt/gitea-mirrors/sync.sh` (on CasaOS server)
|
||
|
|
- **Auth:** Gitea token embedded (no password prompts)
|
||
|
|
- **Cron:** `*/30 * * * * /opt/gitea-mirrors/sync.sh` (every 30 min)
|
||
|
|
- **Status:** ✅ Tested and working
|
||
|
|
|
||
|
|
### Architecture
|
||
|
|
- **Home server** runs Gitea + syncs with GitHub
|
||
|
|
- Pulls libraries (YAGSL, PhotonLib, etc.) from GitHub
|
||
|
|
- Pushes team code to GitHub for outside mentors
|
||
|
|
- **Students** pull/push only from local Gitea (never touch GitHub)
|
||
|
|
- **Outside mentors** access via Gitea directly
|
||
|
|
|
||
|
|
### TODO
|
||
|
|
- [ ] Test student access from school network
|
||
|
|
- [ ] Create team code repo in Gitea
|
||
|
|
- [ ] Verify mirrors sync properly over time
|
||
|
|
- [ ] Configure team repo access
|
||
|
|
- [ ] Mirror YAGSL + dependencies from GitHub to Gitea
|
||
|
|
- YAGSL
|
||
|
|
- PhotonLib
|
||
|
|
- WPILib (via vendor JSON - check if still needed)
|
||
|
|
- Other key dependencies
|
||
|
|
- [ ] Ensure Gradle is available locally (WPILib distribution or standalone)
|
||
|
|
- [ ] Test build from school network
|
||
|
|
|
||
|
|
````
|
||
|
|
|
||
|
|
## Notes
|
||
|
|
<!-- openclaw:human:start -->
|
||
|
|
<!-- openclaw:human:end -->
|
||
|
|
|
||
|
|
## Related
|
||
|
|
<!-- openclaw:wiki:related:start -->
|
||
|
|
### Referenced By
|
||
|
|
|
||
|
|
- [README](sources/readme.md)
|
||
|
|
<!-- openclaw:wiki:related:end -->
|