Teaching Robotics and Computer Vision with JdeRobot
Software infrastructure (Ubuntu/Debian)
The programming environment is composed of the (a) Gazebo simulator, (b) JdeRobot middleware 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-5.2.0, JdeRobot-5.4.0 and TeachingRobotics-0.1.0 releases.
JdeRobot 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 the JdeRobot framework
- Follow these directions to prepare the package sources
- Follow these simple directions to install JdeRobot. Just install the jderobot package and that's all (no need for jderobot-deps-dev).
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 https://github.com/JdeRobot/Academy.git
- Within a shell, go to practice directory in Academy and run it executing:
python2 [practice_file] [config_file]
Software infrastructure (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.
- Download python 3.5.2 and install checked env variables (Is posible that you need restart to run the PATH): https://www.python.org/ftp/python/3.5.2/python-3.5.2-amd64.exe
- Download qt 5.7: http://download.qt.io/official_releases/qt/5.7/5.7.0/qt-opensource-windows-x86-msvc2015_64-5.7.0.exe
- Download github Desktop: https://desktop.github.com/
- Download Docker:
- Windows 10 x64 proffesional or enterprise: https://download.docker.com/win/stable/InstallDocker.msi
- Other Windows x64: http://www.docker.com/products/docker-toolbox
- 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 TeachingRobotics software
With git Shell clone the repository as in Linux and run the exercices with CMD o powershell
git clone https://github.com/jderobot/TeachingRobotics.git
Note: Github repositories are located in Documents\GitHub
- 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 TeachingRobotics and run it:
python [practice_file] [config_file]
Exercises on Computer Vision
Visual 3D reconstruction from a stereo pair of RGB cameras
Exercises on autonomous cars
Visual follow-line behavior on a Formula1
The students program a Formula1 car in a race circuit to follow the red line in the middle of the road.
In a race circuit the students have to program the navigation algorithm of a Formula1 car endowed with a laser (in Gazebo simulator).
Stop at a T joint
Exercises on mobile robots
Bump and go
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.
Program a robotic vacuum-cleaner like Roomba to clean your home. It does have a compass but not precise self-localization.
Exercises on drones
Follow the ground robot
Follow the road
Drone cat and mouse
Landing on a moving car
Escaping from a labyrinth using visual cues
People rescue after an earthquake