This article explains how to control the Metabot robots with i-score.
The goal is to create a full interactive robot choreography.
The Metabots are small, open-source, 3D-printable robots built in France by Rhoban.
They can be bought in http://metabot.fr/
i-score can control some parameters of the metabots in real-time.
The metabots can be connected in Bluetooth, or with an USB cable (but this
is less practical for shows !).
This technology currently only works in Linux, however.
- A Metabot.
- A Linux system with development packages, SDL, i-score and Bluetooth support with bluetoothctl.
- A build of this repository : https://github.com/iscore-metabots/minuit-controller
The tutorial uses the command-line to connect to the metabots but graphical managers can also be used.
i-score communicates via the Minuit protocol with an intermediary program, named « linker ».
Linker then converts the Minuit messages into serial-port commands adapted for the Metabot.
2. Connecting the metabots.
First, ensure that the metabot is correctly charged and turn it on.
Then, run bluetoothctl.
Bluetoothctl is a shell of its own. Inside it, follow this procedure :
The MAC address of the Metabot will be different for each Metabot.
Once this is done, open a standard shell and run :
This will open a virtual file that allows « reading » and « writing » to the Metabot.
To test if it works, you can try to write the
start message to the bot :
The metabot should then wake up.
To keep the Bluetooth connection alive, the safest bet is to open a shell via minicom or cu inside the metabot.
For instance :
Edit the settings by going to « Serial port configuration », setting the port to /dev/rfcomm0 and going to « Leave ».
This drops yourself to a shell where commands can be sent to the metabot.
e.g. : dx 10 => the metabot moves laterally at 10 centimeter per second
The command « help » lists the metabot options.
3. Set-up the Minuit controller
We have to launch the linker software with correct parameters for the Metabot.
The linker translates Minuit (OSC) messages to serial messages, with a configuration file :
The first line is the name of the Minuit device that has to be put in i-score.
Launch the linker like this : it will open a port and wait for i-score.
4. Set-up i-score
The Linker exposes by default the device named « Metabot » to i-score.
Once loaded (this takes time), you can score the Metabot parameters.