This release is simple as it focuses on the first release of the toolchain. In this scenario the robot must reach a given location. Whenever the battery goes below 20% of its full capacity, the robot stops and reaches a charging station. It then waits until the battery gets fully charged. Once the battery is fully charged, the robot resumes the previous navigation.

Behavior Tree of Release 1

The figure below shows the BT of Release 1.

The BT encodes the following logic:

  • The robot checks if the battery level is below 20% of its capacity or if the battery is charging.
  • If the battery level is below 20% and it is not already under charge, the robot goes to the charging station.
  • If the battery level is charging and the robot is at the charging station, the robot waits until the battery gets fully charged.
  • If the battery level is above 20% and it is not under charge, it goes to the destination.

We made available an OS-level virtualization environment based on Docker to reproduce the experiments here.