first(); ?>
Teachingbox (download below)

The Teachingbox uses advanced machine learning techniques to relieve the robot developer from extensive (and expensive) programming of sophisticated robot behaviors. It provides a rich and comfortable toolbox for easy experimenting with different algorithms and different ways of learning. For example, for teaching a robot arm to solve some task, creating a first policy by demonstration learning and then improving it by reinforcement learning may lead to a good behavior. The Teachingbox comes up with the following features:
  • Reinforcement learning: The robot explores its environment by performing actions and receiving reward which may be delayed or missing for many time steps. Based on the reward, the robot continually improves its policy.
  • Programming: Manual programming of policies in Java is also possible.
  • Java Library: Learning algorithms for supervised learning and reinforcement learning are provided in a Java library.
  • Open Source: The Teachingbox is open source and we want to invite the machine learning and the robot learning communities to contribute software to this platform.
In development:
  • Open Interface Standards: Interfacing a Teachingbox project with reinforcement learning algorithms in other languages can easily be done with the integrated RL-Glue components. For connecting complex robots and other software such as image processing or sensor fusion programs to the Teachingbox we provide interfaces to standard middleware.
  • Hybrid learning: All three programming techniques mentioned above can be combined to derive optimized robot policies. The Teachingbox provides data structures for transferring policies from one method to another.
  • Learning by demonstration: The robot developer demonstrates the task to the robot and the robot tries to imitate the demonstrated behavior using supervised learning (e.g. a neural network or decision tree learning).
Download Support and Contribution
Video (robot learns walking)
Walking robot Video (robot is walking)


Learning from Demonstration: Make Coffee


Learning from Demonstration: Cube into Cup"; $tbGuiStr = "Screenshot of the Teachingbox GUI"; $tbGUIurl = "../imgs/tb_gui.png"; # removed GUI screenshot as long as it is not in use #zFooter(array("../imgs/tb_gui_tn.png", "../imgs/spider.jpg"), array($tbGuiStr, $spiderVideoStr), array($tbGUIurl, null)); zFooter(array("../imgs/spider.jpg"), array($spiderVideoStr), array(null)); #zFooter(array("../imgs/spider.jpg"), array($katanaVideoStr), array(null)); #zFooter(echo ""); ?>