Skip to content
Learn Robotics with JdeRobot
Branch: master
Clone or download
cawadall Merge pull request #311 from kurshakuz/master
Amazon Warehouse integration
Latest commit d4973d8 Jun 12, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
docs some cleaning May 24, 2018
installation [Issue #284] Recipes in English and Markdown format Mar 17, 2019
.gitignore #253 Jul 31, 2018

JdeRobot-Academy: Learn Robotics and Computer Vision


JdeRobot-Academy is an open source collection of exercises to learn robotics in a practical way. Gazebo simulator is the main tool required, as ROS. The students program their solutions in Python language. Each exercise is composed of :

  1. Gazebo configuration files,
  2. A ROS node that hosts the student's code,
  3. A file with instructions, hints, etc..
  4. The student solution itself.

1, 2, and 3 are already provided, the student has to develop her code on a separate file which already has a template. The student may use there an existing simple Python API to access to sensor readings and actuator commands_ (HAL API) and she may use an existing simple Python API for Graphical User Interface and debugging_ (GUI API). To develop her solution the student has to edit that template file and add her code, using her favorite text editor.

For execution the student launches Gazebo with certain configuration file (specifying the robot and the simulated scenario for that exercise) and launches the ROS node hosting her code. On that code lies the intelligence of the robot to solve the exercise. For instance, check the recent solution of one degree student here for the local navigation exercise:

There are exercises about drone programming, about computer vision, about mobile robots, about autonomous cars, etc.. In the JdeRobotFoundation we are improving the quality of the existing exercises and creating a few exercises more. We are also working in a webserver to code and run the exercises from the web browser but that is a ongoing project yet.

Installation Guide

Software Infraestructure: Ubuntu/Debian

The programming environment is composed of the (a) Gazebo simulator, (b) ROS middleware and (c) the Academy package. All this software is open source so there are alternative ways to install all of them directly from the source code. Currently we use Gazebo-7.4.0, ROS Kinetic and JdeRobot-Academy (2018-06-06) releases. Follow the next steps to have the environment up and running, ready to use.


Step One: Install ROS framework

Add the lastest ROS sources:

sudo sh -c 'echo "deb $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
sudo apt-key adv --keyserver hkp:// --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116
Step Two: Add the lastest Gazebo sources:

Add the lastest Gazebo sources:

sudo sh -c 'echo "deb lsb_release -cs main" > /etc/apt/sources.list.d/gazebo-stable.list'
sudo apt-key adv --keyserver --recv-key 67170598AF249743
Step Three: Install the packages

Install the packages

sudo apt-get install ros-kinetic-desktop-full
sudo apt-get install gazebo7
sudo apt install jderobot-gazebo-assets

Install the JdeRobot-Academy software

Once you have JdeRobot installed in your system, you can download and install the Academy software. To do so, you must:

 git clone

On the directory of each exercise you will find particular directions to launch the simulated scenario and the academic node where you should write your code.

Software Infraestructure: Windows(x64)

The programming environment is composed of the (a) Docker with Gazebo simulator, (b) JdeRobot middleware for Python and (c) the TeachingRobotics package. All this software is open source so there are alternative ways to install all of them directly from the source code. Currently we use Gazebo-7.4.0, JdeRobot-5.4.1 and TeachingRobotics-0.1.0 releases. JdeRobot Docker includes the Gazebo plugins, models and configuration files to simulate the robot used in the exercises. Follow the next four steps to have the environment up and running, ready to use.


Open CMD or powershell and upgrade pip
python -m pip install --upgrade pip
Install depencencies:
pip3 install numpy zeroc-ice
pip3 install pyqt5
pip3 install opencv-python
Install JdeRobot Python:
pip3 install
Download the Academy software

With git Shell clone the repository as in Linux and run the exercices with CMD o powershell

git clone

Note: Github repositories are located in Documents\GitHub

Run Exercises

Open Kinematics of Docker and push "Docker cli".

Run the docker passing the world to use (the first time docker image is downloaded):

docker run -tiP --rm -p 7681:7681 jderobot/jderobot world [world_name]

With CMD or PowerShell go to practice directory in Academy and run it:

python [practice_file][config_file]

You can watch a video demonstration.

You can’t perform that action at this time.