Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
65 commits
Select commit Hold shift + click to select a range
24b3a6d
oracle for fast simulation
FlavioFoxes Jan 25, 2026
8377236
Add clean-containers cmd, CHANGE CONTAINER NAME
torchipeppo Jan 26, 2026
43359a2
tentativi
neverorfrog Jan 29, 2026
e8c04ca
booster.conf correction and needed env variables added
FlavioFoxes Jan 29, 2026
1d0dc7b
installed config files into docker container
neverorfrog Jan 29, 2026
cf24883
Remove filter from clean-containers
torchipeppo Jan 30, 2026
501b0c4
Merge branch 'clean-containers' into maximus-sdk-test
torchipeppo Feb 3, 2026
efd9334
Add some network utils to docker
torchipeppo Feb 3, 2026
9034f39
Add log display aliases
torchipeppo Feb 3, 2026
5c87af8
moved the timer of 6 seconds outside the bridge
FlavioFoxes Feb 10, 2026
9784253
Merge branch 'maximus-sdk-test' into oracle
FlavioFoxes Feb 14, 2026
729aa48
increased socket buffer size + TCP-like sneding message
FlavioFoxes Feb 14, 2026
da60fc4
Add YAML file output
torchipeppo Feb 16, 2026
6b36a52
Move color name-to-rgb conversion, add colorName
torchipeppo Feb 16, 2026
85979e7
Add team number
torchipeppo Feb 16, 2026
9d3fffd
Create implementation file for RobotManager
torchipeppo Feb 16, 2026
710f94b
Send team number and player number to framework
torchipeppo Feb 16, 2026
c3086ae
Make container.create prettier
torchipeppo Feb 16, 2026
b8c9c60
Update 5v5 scene to new format
torchipeppo Feb 16, 2026
f37d73b
change of booster.conf and framework_config to work with the new brid…
FlavioFoxes Feb 16, 2026
1a42fe0
work with new simbridge in branch "main"(REMEMBER TO BUILD SIMBRIDGE)
FlavioFoxes Feb 16, 2026
a89a514
Move Docker REST API to its own file
torchipeppo Feb 17, 2026
c94d987
Turn Team into a class
torchipeppo Feb 17, 2026
9208aec
Rename cleaning command and include networks
torchipeppo Feb 17, 2026
4bff84a
Fix indent
torchipeppo Feb 17, 2026
df3dd41
Add two /24 team subnets
torchipeppo Feb 17, 2026
3adcd16
Switch to one /16 network
torchipeppo Feb 17, 2026
564ff29
Merge branch 'main' into circus-network
torchipeppo Feb 17, 2026
47deb94
camera images
michelebri Feb 19, 2026
e4d9077
Revert to stable raw msgpack exchange baseline
michelebri Feb 20, 2026
ecc7b3d
images via shared memory
michelebri Feb 20, 2026
7948824
docker
michelebri Feb 20, 2026
6f2a8c9
removed unsued file for my project
michelebri Feb 20, 2026
4c0f114
Fix shm directory permissions and camera data race
michelebri Feb 20, 2026
2f19694
other robots position in local RF + timer adjustment (works with also…
FlavioFoxes Mar 1, 2026
e7e5b9d
sending teammates/opponents local positions
FlavioFoxes Mar 2, 2026
693393a
Merge branch 'michele_hri' into oracle
FlavioFoxes Mar 3, 2026
1e406ab
Merge branch 'main' into oracle.
FlavioFoxes Mar 3, 2026
9574b64
fix tensoRRT in docker circus
michelebri Mar 4, 2026
fe3512e
Add symlink to tensorrt
torchipeppo Mar 4, 2026
c175319
goal posts positions in oracle
FlavioFoxes Mar 7, 2026
faac6b2
fix for using image_view inside docker + correct path for shm in ram
FlavioFoxes Mar 7, 2026
a918cf8
german opens instructions to run a simulation using the framework
FlavioFoxes Mar 8, 2026
2cf13d1
other information for go26
FlavioFoxes Mar 8, 2026
bc87471
Merge branch 'oracle' into circus-network
torchipeppo Mar 9, 2026
96f178b
Change team numbers in scene
torchipeppo Mar 9, 2026
58b8cbc
Move send_all to cpp
torchipeppo Mar 9, 2026
8ab16db
Format
torchipeppo Mar 9, 2026
3fb23f0
Merge pull request #32 from SPQRTeam/circus-network
torchipeppo Mar 9, 2026
4f468bb
added joystick stuff and some new aliases
neverorfrog Mar 9, 2026
b2b7787
fix depth reprojection
michelebri Mar 10, 2026
e743d70
Merge branch 'oracle' of https://github.com/SPQRTeam/circus into oracle
michelebri Mar 10, 2026
b67561a
scene
michelebri Mar 10, 2026
1624df1
changes into the workflow of torque application
FlavioFoxes Mar 28, 2026
b59af0d
report Claude
michelebri Mar 28, 2026
9ab7fa6
simulation with one thread
FlavioFoxes Apr 1, 2026
2629424
code refactoring of robot connections (changed a little bit)
FlavioFoxes Apr 1, 2026
c6318fe
resend message
michelebri Apr 2, 2026
f8d6478
resend message
michelebri Apr 2, 2026
d5d648b
da vedere se funziona
FlavioFoxes Apr 3, 2026
d14dae9
refactoring
FlavioFoxes Apr 9, 2026
c6bbbfa
nvidia stuff readded
FlavioFoxes Apr 10, 2026
59f62d4
Merge remote-tracking branch 'origin/sim-fix' into sim-fix-2
FlavioFoxes Apr 10, 2026
271a892
pre commit
FlavioFoxes Apr 10, 2026
8843bf1
precommit 2
FlavioFoxes Apr 10, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
90 changes: 90 additions & 0 deletions GERMAN-OPEN 2026 Instructions.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,90 @@
# GERMAN-OPEN 2026 Instructions

Questa è la guida per far funzionare la simulazione con il framework spqrbooster2026.

I seguenti passaggi vanno eseguiti in ordine per setuppare tutto

## Simbridge
0) Assicurati di essere nel branch `dev`
1) Lancia il comando `pixi install`. Non serve fare altro

## Maximus
0) Assicurati che in `config/framework.yaml` ci sia la configurazione giusta di topic e moduli
1) Assciurati che in `src/app/pixi.toml` ci sia la versione di `booster_robotics_sdk` corretta
2) Lancia il comando `pixi install` per installare l'ambiente
3) Lancia il comando `pixi run main` per buildare e lanciare il programma

## Circus
1) Assicurati di essere nel branch `oracle`
2) Clona dentro la cartella `dockerfiles` le repo di booster:
```
cd dockerfiles
git clone https://github.com/BoosterRobotics/booster_robotics_sdk.git
git clone https://github.com/BoosterRobotics/booster_robotics_sdk_ros2.git
```
PS: questo step non è realmente necessario per il funzionamento di tutto, serve per poter interagire con i messaggi ros dentro al docker. Se non volete clonare le repo, dovete modificare il dockerFile per non eseguire le istruzioni a loro collegate. Secondo me per il momento conviene farlo.

3) Builda il docker:
```
cd dockerfiles
docker build -t spqr:booster .
```

4) Dentro la cartella `resources` crea il file `path_constants.yaml` inserendo i path assoluti del tuo pc dei seguenti componenti:
```
maximus: /home/flavio/Scrivania/RoboCup/spqrbooster2026
circus: /home/flavio/Scrivania/RoboCup/circus
booster_robotics_sdk: /home/flavio/Scrivania/RoboCup/circus/dockerfiles/booster_robotics_sdk
simbridge: /home/flavio/Scrivania/RoboCup/simbridge
```

5) Istalla l'ambiente con il comando `pixi install`
6) Lancia la simulazione con il comando `pixi run circus`


## Dopo l'istallazione

Una volta che avete istallato tutto correttamente, vi basta rilanciare `pixi run circus` per avviare la simulazione
NB: se modificate il framework (maximus) ricordate di compilarlo nuovamente con `pixi run main`
NB: se modificate il simbridge per qualche motivo, ricordate di compilarlo nuovamente con `pixi install`
NB: se modificate il Dockerfile o un qualsiasi file dentro la cartella `dockerfiles`, ricordate di compilare nuovamente il docker con `docker build -t spqr:booster dockerfiles` (se vi trovare nella root), oppure `docker build -t spqr:booster .` se vi trovate già in `dockerfiles`)

---
## Utils
- Prima che la simulazione parta, i robot si connettono al simulatore e dichiarano di essere pronti. Dopo qualche secondo, una volta che tutti i robot sono pronti, la simulazione parte. Un esempio delle stampe che dovrebbero apparire è questo:
```
Connected Robot: red_Booster-T1_0
Sending initial message to red_Booster-T1_0
Connected Robot: blue_Booster-T1_0
Sending initial message to blue_Booster-T1_0
Robot ready: red_Booster-T1_0
Robot ready: blue_Booster-T1_0
All robots are ready!
Starting simulation!
```
- Se non tutti i robot sono `ready`, la simulazione non parte. Potete capire chi è il robot problematico da quello che non dichiara di essere `ready`.
- Se un robot non parte, potete entrare nel suo docker con
```
docker exec -it CIRCUS_red_Booster-T1_0_container bash
```
Una volta entrati, con il comando `cat supervisord.log` potete vedere gli stati dei processi, se qualcuno è crashato, se qualcuno era crashato e ha tentato di ripartire, ...
Se tutto è andato a buon fine, il vostro output dovrebbe essere come questo:
```
2026-03-08 01:37:31,915 CRIT Supervisor is running as root. Privileges were not dropped because no user is specified in the config file. If you intend to run as root, you can set user=root in the config file to avoid this message.
2026-03-08 01:37:31,929 INFO RPC interface 'supervisor' initialized
2026-03-08 01:37:31,929 CRIT Server 'unix_http_server' running without any HTTP authentication checking
2026-03-08 01:37:31,929 INFO supervisord started with pid 8
2026-03-08 01:37:33,775 INFO spawned: 'booster-motion' with pid 9
2026-03-08 01:37:33,811 INFO spawned: 'delayed-starter' with pid 10
2026-03-08 01:37:34,813 INFO success: booster-motion entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2026-03-08 01:37:34,814 INFO success: delayed-starter entered RUNNING state, process has stayed up for > than 0 seconds (startsecs)
2026-03-08 01:37:38,456 INFO spawned: 'simbridge' with pid 32
2026-03-08 01:37:39,458 INFO success: simbridge entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2026-03-08 01:37:40,526 INFO spawned: 'maximus' with pid 42
2026-03-08 01:37:41,614 INFO success: maximus entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2026-03-08 01:37:41,663 INFO exited: delayed-starter (exit status 0; expected)
```
Il fatto che il processo `delayed-starter` termini è corretto, sono gli altri processi che non devono terminare.
- Per vedere i log di maximus, lancia il comando `cat /var/log/maximus.log` (oppure `maximus.err` per i log di errore)
- Per vedere i log di simbridge, lancia il comando `cat /var/log/simbridge.log` (oppure `simbridge.err` per i log di errore)
- Per vedere i log di booster-motion, lancia il comando `cat /var/log/booster-motion.log` (oppure `booster-motion.err` per i log di errore). Nel file `booster-motion.err`, non vi preoccupate se c'è `msgget: No such file or directory`
Loading
Loading