Bonsai Core Tutorial

Bonsai is a multi layered approach for behavior modelling of complex systems.

Behavior Layer - Action Layer - Interface Layer - Funcional Component Layer - Hardware Layer

The Bonsai framework uses skills as the Action Layer which represent reuseable actions for some type of hardware. These Skills use different In/Output interfaces (Types, Sensors and Actuators of the Interface Layer). To Create complex behavior Bonsai skills can be in different control layers such as SCXML Interfaces are implemented for different middlewares. They include serializer between middleware specific and bonsai Types.

Configuration

The BonSAI system must be configured. Usually you can use the BasicActuators.xml and the BasicSensors.xml

SCXML

Combination of finite state machines and harel statecharts, described in an xml-like state machine language apache-scxml.

Structure

The RoboCup [Exercise] project has the following structure:

SCXML/src/main/
           |--- config/
                 |---  bonsai_configs/ (BonSAI configuration files)
                 |---  state_machines/ (SCXML files)
SKILLS/src/main/
           |--- java/de/unibi/citec/clf/bonsai/skills/ (implementations)
BIN/src/main/
           |--- java/de/unibi/citec/clf/bonsai/LaunchLocal.java (executeable)

Test Statemachine during developement

in the RobocupathomeDist Robocup@home [BIN] module.

Copy “resource/localMapping.default.properties” as “localMapping.properties” and enter the path to your local repositories

  • Use LaunchLocal to start the client.