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 :
- Gazebo configuration files,
- A ROS node that hosts the student's code,
- A file with instructions, hints, etc..
- 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.
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 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
Step Two: Add the lastest Gazebo sources:
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
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 https://github.com/JdeRobot/Academy.git
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.
- Install checked
envvariables (Is possible that you need restart to run the PATH). You can download here.
- Download qt 5.7. Here.
- Download github Desktop from here.
- Download Docker:
CMD or powershell and upgrade pip
python -m pip install --upgrade pip
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
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
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:
You can watch a video demonstration.