Clone wiki

robobo-programming / Home

Welcome to the Robobo Programming Wiki

This wiki provides a central point of reference for developers using the Robobo educational robot.

The Robobo Educational Robot

Robobo is a research and educational robot composed of a robotic platform, the Robobo base, and an Android smartphone. The base is the legs and arms of the robot, providing mobility as well as some sensing capabilities, while the smartphone is the brain of the robot, providing raw processing power and high level sensing/actuation capabilities.

The ROBOBO mobile robot

Programming the Robobo Robot

The Robobo robot can be programmed in three different ways, depending on the background and interests of the developer:

  • Block programming: Block programming is the recommended way for for rookie developers. A ScratchX extension allows developers to create programs that control the behaviour of the robot using blocks inside ScratchX.org.

  • Javascript programming: Javascript programming is the recommended step up from Scratch. Robobo.js provides a very easy transition from Scratch to text-based programming, it shares almost the same functionality as Scratch but exposed as Javascript functions. You can write remote programs that can be easily executed on a PC within an IDE (like Visual Studio Code), command the robot remotely and debug the code on the PC. In the near future it will also be possible to load Javascript programs directly in the robot and run then autonomously without a PC.

  • ROS programming: Robobo is compatible with ROS (Robot Operating System), so that it can be programmed as a remote ros node. This is the recommended way for university studends and researchers in robotics.

  • Native programming: Robobo can be programmed using the Java language and the Robobo Framework, a library that provides access to the robot functionalities. This is the recommended way for advanced developers that want a more precise control of the robot or want to write more complex behaviours that are dificult to write using blocks.

Selecting which method to use is an important decision and, apart from the skill level of the developer, is important to know that only Native programs can be run inside the robot, and thus make the robot autonomous. Both block programs using ScratchX and ROS programs are run in a remote computer that remotely commands the robot.

Interested in using the Robobo Robot?

If you are interested in using the Robobo educational robot in your school, institution, research, or even at home, you can obtain more information about the robot in the following links:

The Robobo Project Website

The Robobo Education Portal

Robobo Commercial Information

Updated