Setting Up a Robot¶
In the Standard Platform League, each team is assigned a unique team number. This number is used to identify the team in the GameController application, but it is also used to avoid conflicts in IP addresses and UDP ports. In the B-Human system, the team number must be entered into the file Config/settings.cfg.
IP Configuration¶
All robots will be set up to use specific subnet addresses for wired and wireless communication. The default values are configured in Install/createRobot and are 192.168.<team>.<robot> for wired and 10.0.<team>.<robot> for wireless communication (usually the setup used at RoboCup events). You have to edit this file if you want to use different subnets before you create configurations for individual robots.
Wireless Network Configuration¶
Wireless configurations are stored in Install/Profiles as snippets of a netplan configuration file within the access-points mapping (see here). However, only the network ssid name and the password will actually be used from the profiles.
The special empty profile NONE will turn off wireless. Other profiles can be selected later, when deploying the software to the robot. The profiles will not only be copied to the robot during its initial setup, but also be updated while deploying our software, i.e. the contents of the directory can be changed later.
Creating a Robot Configuration¶
Only once for each Booster T1 or K1, run
Install/createRobot [-t <team>] -r <robot> [-m <model>] [-l <subnet>] [-w <subnet>] <name>
<team> is your team’s number (the third number of the robot’s target IP address). If omitted, the team number from the file Config/settings.cfg is used. Please note that Booster robots use some subnets themselves (e.g. 10, 13, and 127). The script does not check whether your team id is in conflict with existing subnets. <robot> is the number of the robot (the fourth number of its target IP address). <model> is either t1 or k1 (k1 is the default). Optionally, the subnets for lan (default 192.168) and wireless network (default 10.0) can be set. <name> is the name you will use to refer to the Booster robot in the future (it must be a valid host and directory name). The script will create files in Config/Robots/<name> and update some existing configuration files.
Installing a Robot¶
A robot is set up using a script while the PC is connected to that robot through an ethernet connection. The script assumes that the robot will have the ip addresses 192.168.10.102 (T1 and K1) as well as 192.168.10.101 (T1 only). The network on your PC must be configured in a way that it can reach these ip addresses. To set up the robot, run
Install/installRobot <name>
<name> is the name that was assigned to the robot when running createRobot. After the script is finished, the robot has to be rebooted once. Please refer to Install/Files/install to see which changes are made on the robot.
The installation procedure must be repeated after each software update that is installed. On the T1, just execute the script again as during the initial installation. However, for the K1, there exists the option --update (or -u). With this option, the script assumes that the robot now has the ip address defined in Config/Robots/<name>/network.cfg.
Install/installRobot --update <name>
B-Human only
Please note that whether the update option is specified or not, the robot will now have the custom password and not the default password anymore.
Install/installRobot patches some files of the original installation on the robot to route button presses and gamepad control exclusively to the B-Human code. To uninstall such changes, e.g. before giving the robot to Booster Robotics for servicing, the script can be run again with the option --delete (or -d):
Install/installRobot --delete [--update] <name>
B-Human only
This resets the password to the default one.
This can be combined with --update on the Booster K1 to use the custom ip address. The custom ip address will not be removed. To also delete the B-Human software from the robot, use --deleteAll (or -D) instead of --delete.
Installing a Booster Software Update¶
This procedure requires a router that connects the team's lan network to the internet, because Booster updates usually update apt packages as well.
- Connect the robot to a router that connects the team network to the internet.
- Login to the robot and run
bin/connectinternet [<team>]. If the B-Human software is installed on the robot, the team number can be read from the fileConfig/settings.cfgand can be omitted. On a T1 robot, also runssh master@192.168.10.101on the Perception PC to login to the Motion PC and runbin/connectinternet <team> [<host>]. On the Motion PC, the team number is not optional. In addition, the host id can be specified (the default is9). This will give the Motion PC the temporary ip address192.168.<team>.<host>. - Download the update files from Booster's website. For the K1, you need the
singleversion. For the T1, download theperceptionand themotionversions. - Copy the installation file(s) to the robot using an
sftptool. For the T1, copy theperceptionversion to the Perception PC and themotionversion to the Motion PC. - Run
chmod +x <path/to/installation file>for each installation file. - Run
sudo <path/to/installation file>for each installation file. - At least on the Motion PC of a T1, run
bin/connectinternet -d <team> [<host>]to remove the temporary ip address (<host>must match the number you used before). - On your PC, run the script
Install/installRobotagain, as described in this section. Please note thatInstall/Files/installmight have to be adapted to work with a new Booster software release.