Code is deployed to the robot as a Docker image. Most actions are automated with the robot.sh script.
./robot.sh -a deployThis will copy and build your current workspace on the NUC. After building it will start execuiting on the NUC after stopping any previous code. A custom launch command can be given through command line arguments after deploy. After starting, your shell will show stdout/stderr from the NUC. Ctrl+Cing in your shell will not stop the process on the NUC.
./robot.sh -a start
./robot.sh -a stopThese start/stop commands will start and stop the last image that has been deployed to the NUC. A custom launch command can be given through command line arguments after start. After starting, your shell will show stdout/stderr from the NUC. Ctrl+Cing in your shell will not stop the process on the NUC.
./robot.sh -a watch"Watching" the console will watch the output of stdout/stderr, while also showing output from before you connected. Ctrl+Cing in your shell will not stop the process on the NUC.
Deployment script configuration is set in robot.env. ROBOT_IP and DEFAULT_LAUNCH set the target system and default command to execute when starting an image. Other parameters like image/container name can be tweaked, but please don't change them on the competition robot without good reason.
Make sure you
- Connected to the robot_onboard WiFi network.
- Have Docker installed on your machine (a local daemon does not need to be running)
- Have your SSH key trusted by the NUC (see instructions in the computer-configuration folder)
- Recieve a response with
ping 192.168.1.22- If you get a request timeout after the NUC has been powered on for a minute, power cycle the NUC
Simply add the -l flag to your robot.sh command. Use the local flag with all other robot.sh functions as well.
./robot.sh -a deploy -lTo interact with the robot (rostopic, ./robot.sh -a ssh, rosnode, etc) run
source rostarget.shTo interact with the sim, simply add the --local flag.
source rostarget.sh --local