JdeRobot-Academy

From jderobot
Jump to: navigation, search

Learning Robotics and Computer Vision with JdeRobot

Software infrastructure (Ubuntu/Debian)[edit]

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 (20180606) releases.

Follow the next steps to have the environment up and running, ready to use.

Install the Gazebo simulator and ROS framework[edit]

These instructions are for Ubuntu 16.04:

  • Add the lastest ROS sources:
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116
  • Add the lastest Gazebo sources:
sudo sh -c 'echo "deb http://packages.osrfoundation.org/gazebo/ubuntu-stable `lsb_release -cs` main" > /etc/apt/sources.list.d/gazebo-stable.list'
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-key 67170598AF249743
  • Install
sudo apt-get install ros-kinetic-desktop-full
sudo apt-get install gazebo7
sudo apt install jderobot-gazebo-assets

Install the JdeRobot-Academy software[edit]

  • Once you have JdeRobot installed in your system, you can download and install the Academy software. To do so, you must:
git clone https://github.com/JdeRobot/Academy.git
  • On the directory of each exercice you will find particular directions to launch the simulated scenario and the academic node where you should write your code.

Software infrastructure (Windows x64)[edit]

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.

Install dependencies[edit]

  • 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  http://jderobot.org/store/aitormf/uploads/windows/JdeRobot-0.1.0-py3-none-any.whl 

Download the Academy software[edit]

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

git clone https://github.com/jderobot/academy.git

Note: Github repositories are located in Documents\GitHub

Run Exercises[edit]

  • 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]

Exercises on Computer Vision[edit]

Color filter[edit]

Visual 3D reconstruction from a stereo pair of RGB cameras[edit]

Follow face[edit]

Exercises on autonomous cars[edit]

Visual follow-line behavior on a Formula1[edit]

The students program a Formula1 car in a race circuit to follow the red line in the middle of the road.

Local navigation of a Formula1 with VFF[edit]

In a race circuit the students have to program the navigation algorithm of a Formula1 car endowed with a laser (in Gazebo simulator).


Global navigation of a TeleTaxi with GPP[edit]

Global navigation of a TeleTaxi with OMPL[edit]

Autoparking[edit]

Car stop at a joint[edit]

Exercises on mobile robots[edit]

Bump and go[edit]

There is a Kobuki robot inside a labyrinth or scenario. The robot will go front until it gets close to an obstacle. The it will go back, turn a random angle and go front again repeating the process. This exercise aims to show the power of automata when building robot behavior.

Using the JdeRobot tool VisualStates the solution works like this. The tool's detailed manual can be found here.

Vacuum-cleaner[edit]

Program a robotic vacuum-cleaner like Roomba to clean your home. It does have a compass but not precise self-localization.

Vacuum-cleaner with visualSLAM[edit]

Program a robotic vacuum-cleaner like Roomba to clean your home. This Roomba model has a precise self-localization algorithm, so its navigation to clean may be better than without localization.

Html5mediator: not a valid URL

Exercises on drones[edit]

Drone position control navigation[edit]

Follow the ground robot[edit]

Follow the road[edit]

Drone cat and mouse[edit]

Landing on a moving car[edit]

Escaping from a labyrinth using visual cues[edit]

People rescue after an earthquake[edit]


Local courses (Spanish)[edit]

JdeRobot-Academy se ha usado desde 2006 para la enseñanza de robótica en distintos cursos, tanto de grado como de master.

Además impartimos cursos cortos de introducción a la robótica en diferentes escenarios: drones, coches autónomos... Los damos también bajo demanda, si quieres contratar alguno de ellos contacta con nosotros por correo electrónico ( josemaria.plaza AT urjc.es )