Getting started!

This guide walks you through setting up the CST Babybot environment inside Docker.


โœ… Step-by-step Setup

1. Clone the main project repository

git clone https://github.com/H-IAAC/cst-tutorial-babybot
mkdir cst-tutorial && cd cst-tutorial

2. Download and build CST-CLI

git clone https://github.com/CST-Group/CST-CLI
cd CST-CLI
./package.sh

โžก๏ธ After building, copy the generated .deb file to the same directory where your Dockerfile is located.


3. Build the Docker image

docker build -t cst-novnc-app .

4. Run the container interactively

docker run -p 8080:8080 -p 5900:5900 -v ./cst-tutorial/share:/sharevnc -it cst-novnc-app

โžก๏ธ Then open your browser and go to http://localhost:8080 โžก๏ธ VNC password: 123456


๐Ÿงช First Session: Functional Test

Inside the container GUI:

./script1.sh

๐Ÿ“œ Contents of script1.sh

thunar /MIMo

cd /sharevnc/1_MIMoCoreModelExample
mkdir -p build
apt-get update && apt-get install -y openjdk-11-jdk

git clone https://github.com/CST-Group/cst.git /opt/cst
cd /opt/cst
./gradlew build
cp /opt/cst/build/libs/*.jar /sharevnc/1_MIMoCoreModelExample/lib/

git clone https://github.com/CST-Group/cst-desktop.git /opt/cst-desktop
cd /opt/cst-desktop
./gradlew build
cp /opt/cst-desktop/build/libs/*.jar /sharevnc/1_MIMoCoreModelExample/lib/

cd /sharevnc/1_MIMoCoreModelExample
javac -encoding UTF-8 -cp "lib/*:src" -d build src/ExperimentMain.java

๐Ÿ”ง If you need, make the script executable:

chmod +x script1.sh

๐Ÿงช Step 2: Run BabyBench Installation Test

Inside the container (via terminal or noVNC):

conda activate babybench
cd /babybench
python test_installation.py

โœ… This will generate the folder results/test_installation/ with a video of the simulation.


๐Ÿค– Step 3: Run the Self-Touch Example

conda activate babybench
cd /babybench
python examples/random_selftouch.py

โœ… This initializes MIMo in the "crib" scene and runs a test policy with YAML logging.