Teaching robotics with jderobot

From jderobot
Jump to: navigation, search

Jderobot has been used since 2006 for teaching robotics in four courses (Robótica-ITIS, Introducción a la Robótica, Robótica-Master and Visión en robótica).

Contents

2011-2012 courses

Installing and setting up the environment

  • Install jderobot 5.0 from debian packages. You may follow the directions here. It will install the Gazebo 3D simulator (release 0.9) and some useful libraries in your machine.
  • Unpack this tarball with the source code of the teaching environment. It includes interfaces for access to sensors and actuators, two software components (gazeboserver and introrob) and configuration files:
$ tar -zxvf curso2012-4.5.tgz

will do the magic

  • (1) Compile the interfaces that will be used by following components
  • (2) Compile the gazeboserver component and generate its executable file
  • (3) Compile the introrob component and generate its executable file
$ cd curso2012-4.5
$ make
  • This 'make' command will do the mentioned (1)(2) and (3) steps

Launching the environment

  • Launching gazebo simulator
$ cd curso2012-4.5/gazebo-0.9-config/worlds
$ gazebo depar2.world
  • Starting gazeboserver component
$ cd curso2012-4.5/components/gazeboserver
$ ./gazeboserver --Ice.Config=./gazeboserver.cfg
  • Running introrob component
$ cd curso2012-4.5/components/introrob
$ ./introrob --Ice.Config=./introrob.cfg

Writing and testing your own code

  • Modify the "curso2012-4.5/components/introrob/MyAlgorithms.cpp" file with your favourite editor
  • Compile the introrob component and generate its executable file
  • Launch the environment

Greatest hits

These are some practices done by the students:

Visual follow-line behavior

The students programmed a reactive navigation algorithm for the simulated Pioneer robot (in Gazebo simulator) that only uses images from the robot onboard camera to navigate and follows the red line. They modified the introrob Jde schema. No encoders were used.

VFF Local navigation

Local navigation using Virtual Force Field (VFF) algorithm. The students programmed a simulated Pioneer robot (in Stage simulator) endowed with encoders and laser scanner. They modified the introrob Jde schema. The human user provides local destinations to the robot clicking on the shema GUI.

Robot Races in Stage

Robot races using an hybrid local-global navigation algorithm. Students programmed a simulated Pioneer robot (in Stage simulator) to complete as fast (and safe) as possible one lap to the Cheste circuit. They competed alone against the clock and in pairs, with two robots at the same time in the road, pushing the limits of their navigation algorithms. The robots use encoders and laser readings.

Jde-robot races.png

Bump and go

The cat and the mouse

Robot Races in Gazebo

The circuit is just the Departamental-II building, with no red help-line drawn in the floor. The only permitted sensor is the camera, no laser allowed.

Following an object with the robot neck

Gazebo worlds used in teaching robotics

Follow line with Jarama world

Departamental II world

If you want to use these worlds and more, you can find them here, with their own textures and models.