Teaching robotics with jderobot
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.
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.
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.
