Controller Module for the NTNU Cyborg
MetadataShow full item record
The work with this master thesis was carried out as a part of the NTNU Cyborg project at the Norwegian University of Science and Technology (NTNU). Several modules have already been developed for the Cyborg. These modules include a variety of functionality which may cause conflict if they run at the same time. The modules detect events and act on them. A controller module is implemented for controlling the other modules on the Cyborg, i.e., decide what modules should be active at what time. The controller is implemented in Python as a ROS node and uses the ROS actionlib protocol for controlling other modules. Internally it has a state machine to ensure that the NTNU Cyborg is in a well defined state. Furthermore the controller has a model for the Cyborg s moods, e.g., angry . It uses a PAD emotion state model. The mood can be influenced and used by other modules. If the Cyborg becomes idle, the controller selects activities that will increase the PAD values. A navigation module for the NTNU Cyborg was also implemented. The module connects to the controller and uses the ROSARNL node for controlling the Cyborg s robot base. This module was selected to be the first module to be integrated with the new controller because it provides features that are relevant for the short term goal of having the Cyborg move around in the campus hallways of Glassgården at NTNU. The module provides behavior such as scheduling the Cyborg to be at a certain location at a given time, allowing a user to ask where some locations are and allowing the Cyborg to start wander/moving around in a known location (using ROSARNL). The controller module, the navigation module and some other minor modules was tested together to see if they worked and to asses if it creates a viable solution. The observation showed that the system worked as expected (based on the specifications). The proof of concept works good enough and should be continued developed and used in the NTNU Cyborg. It provides features that are relevant for the short term goal of the project.