Skip to content

Setting Up the Booster Robot

TODO

IP Configuration

TODO

Wireless Network Configuration

TODO

Creating a Robot Configuration

TODO

Deploying the Software

Deploying the software to a Booster robot means copying the directory Config (without the subdirectories Images, Logs, and Scenes) together with the executable bhuman to /home/nao/Config on the robot. In addition, the network profiles in Install/Profiles are copied to /home/nao/Profiles. The latter does not automatically update the current network profile.

The software is deployed by executing the script Make/Common/deploy that is also linked from some other subdirectories under Make:

usage: deploy [Release|Develop|Debug] [<ipaddress>|(-r <playernumber> <ipaddress>)*] {options}
  options:
    -b                       restart bhuman
    -c <field player color>  set field player color to blue, red, yellow, black, white, orange, purple, brown, or gray
    -d                       delete logs or add timestamp to image
    -g <goalkeeper color>    set goalkeeper color to blue, red, yellow, black, white, orange, purple, brown, or gray
    -h | --help | /h | /?    print this text
    -i                       create image instead of deploying
    -k                       keep ip address for remote connection
    -l <location>            set location
    -m <magic number>        set magic number for teamcomm (0-255). Set -1 for random.
    -nc                      never compile
    -nr                      do not check whether target is reachable
    -p <player number>       set player number
    -r <n> <ip>              copy to <ip> and set playernumber to <n> (one -r per robot)
    -s <scenario>            set scenario
    -t <team number>         set team number
    -u                       check for a USB drive before starting bhuman (only when creating an image)
    -v <volume percent>      set NAO's volume
    -w <wireless profile>    set wireless profile
  examples:
    ./deploy Develop 192.168.5.14 -p 1
    ./deploy Release -r 1 10.0.5.14 -r 3 10.0.0.2
    ./deploy Release -i -nc -v 50 -w SPL_A

Without the option -nc, deploy will build the code before deploying it.

With the option -i, an installation image (.opn) is created instead of copying the software to an actual robot. In that case, no IP address has to be specified. The image will be stored in the directory Build/Image/<configuration>/ and can be used to install the robot following these instructions. Before flashing the image for the first time, the NAO must have run the original Aldebaran image nao-2.8.5.11_ROBOCUP_ONLY_with_root.opn, as otherwise the firmware of the embedded boards may not be compatible.

The standard method for deploying our software to the NAO is the Deploy Dialog (see this chapter). It is a graphical frontend for deploy with a lot of additional functionality.

Working with the Booster robot

After pressing the power button to turn on the robot, it takes up to two minutes until our software runs. The robot will say "waiting for higher level services" while waiting for the services on the perception board, "waiting for lower level services" while waiting for the motion board. If everything booted correctly, the robot will say "body ready".

When the emergency stop on the T1 or F1 on the K1 is pressed the robot will unstiff for the T1 or return into the damping mode for the K1. Additionally an "emergency" is said to confirm this switch. The same button can be pressed again to return the robot into the normal unstiff state called PlayDead, which takes a few seconds and is confirmed by an "body ready" sound.

Connect to the Booster via console

To connect to the robot, the directory Make/Common contains a login script. The only parameter of that script is the IP address of the robot to login. It automatically uses the appropriate SSH key to login. In addition, the IP address specified is written to the file Config/Scenes/Includes/connect.con. Thus a later use of the SimRobot scene BoosterRemoteRobot.ros2 will automatically connect to the same robot.

There are several scripts to start and stop bhuman via SSH. Those scripts are copied to the Booster robot upon installing the B-Human software.

  • bhuman executes the bhuman executable in the foreground. It handles selection of the logging device and redirecting output to a logfile. Press Ctrl+C to terminate the process. Please note that the process will automatically be terminated if the SSH connection is closed. bhuman -d starts a gdb session for the bhuman executable. bhuman -b option disables output to the console and is used by the bhuman systemd service.

  • setprofile changes the wireless profile.

  • setvolume changes the sound volume.

Other relevant commands are:

  • systemctl --user start|stop|restart bhuman.service starts, stops, or restarts the bhuman executable as a background service. The script Make/Common/deploy always stops bhuman before deploying. If deploy is started with the option -b, it will restart bhuman after all files were copied.

Connect the robot via SimRobot

To connect to a real Booster robot, open the scene Config/Scenes/[T1|K1]/BoosterRemoteRobot.ros2 in SimRobot. A prompt will appear to enter the robots’s IP address.1 In a remote connection, the simulation scene contains a robot which mirrors the joint positions of the connected real robot, but otherwise experiences the dynamics of the simulation. All the other views work as usual.

Final words

Congratulations, you are now able to execute our software both on your computer and on the robot. Now it is time to experiment and create your own code. To learn more about the existing code, refer to the corresponding pages in this documentation!


  1. The script might instead automatically connect to the IP address that was last used for login or deployment. 


Last update: September 26, 2025