This repository contains an implementation of a system that allows a Kinova Mico robot arm to play the Tower of Hanoi game using a Kinect camera.
A demo can be found at https://ml-kuleuven.github.io/hanoi/.
The system is implemented in the Robot Operating System (ROS). For finding a solution to the game it uses the HYPE planner with a model implemented in Dynamic Distributional Clauses (DDC). It uses the dc_bridge to communicate with the planner.
The system consists of 3 ROS packages working together.
This component is responsible for gathering observations from the Kinect Camera. It uses the ar_track_alvar package to detect AR tags. It provides Observations to the next component, the Reasoner.
This component is responsible for using the planner via the dc_bridge to find the best action to execute. It passes the observations that it received from the observer to the HYPE planner using the dc_bridge. It then uses the next component, the Actuator, to execute this best action.
This component is responsible for executing actions using the Kinova robot arm. It uses the Kinova ROS API to give commands to the arm.