Field Computer Operation
This guide assumes you know basic terminal usage (how to cd, run commands, etc). Otherwise, everything is explicitly laid out. Note: when the instructions say “new terminal”, a new tab will also do.
In a new terminal, run cd ~/robocup-software
, then run git checkout ros2
.
Manual Control
In a new terminal:
cd ~/robocup-software
Source ROS2 and our build files:
. ./source.bash
Launch soccer in manual control mode
make run-manual
In a second new terminal:
cd ~/robocup-software
Source everything (see above)
Run the utility script to connect a controller to a robot:
./util/manual_control_connect.bash
This will output a help message. In nearly every case you will only have to change the robot ID, like so:
./util/manual_control_connect.bash -r 1
Other options for args can be found in the source code: soccer/src/soccer/joystick/
.
After you run this utility script, you will see printed confirmation in the first terminal where you launched soccer.
For keyboard control, keep focus on the small black window (as in, you should click on that window if you can’t see it).
WASD to move
QE to pivot
K to kick
J to chip
Spacebar to dribble
Launching Soccer
In a new terminal, run the following lines one-by-one:
source /opt/ros/foxy/setup.bash
make perf
source install/setup.bash
ros2 launch rj_robocup soccer.launch.py
This should open soccer, good for testing radio connection. If you want to run gameplay, you have to start autoref and vision (keep scrolling).
Open Ref
In a new terminal:
cd ~/ssl-game-controller
./ssl-game-controller_v2.12.7_linux_amd64
(Just hit tab after typing ssl)Click open link on the line that states
UI is available at http://...
Make sure at least one team is named RoboJackets. If not, click the top left gear, click pen next to one of the names and find RoboJackets in the dropdown.
Starting Vision
Assuming you have soccer running (see top section), you need the league-provided vision software to give our gameplay system what it needs to work.
In a new terminal: (cd ~/ssl-vision && ./bin/vision
)
This should pull up a GUI of the ssl-vision system. In said GUI, start capture by going to the left sidebar and clicking the arrows to dropdown:
Thread 0 -> Image Capture -> Capture Control -> Start Capture
Then push the start
button. (If you can’t see this button, try scrolling to the right with the bar on bottom.)
Do the same for Thread 1 for full-field coverage.
If our system isn’t picking up on vision’s input, try:
1. restarting soccer
2. launching the graphical client (cd ~/ssl-vision && ./bin/graphicalClient
)
If the graphical client doesn’t show any robots, vision is broken and something is terribly wrong. Give an experienced software member a shout.
If you are the experienced member or there is not an experienced member to help, you can try using this guide in our computer-config repo to fix vision.