The system is implemented with ROS. An overview of the system architecture is shown in the following figures:
View file | ||||
---|---|---|---|---|
|
Overview and class diagram.
...
ROS
...
The ROS nodes can be found on Github. The core ROS nodes can be seen in the rqt_graph below:
- cyborg_controller: the main controller and manager of all other nodes
- cyborg_behavior: the emotional system that decides what future states are attractive
- cyborg_eventscheduler: posts events like "go and charge" by monitoring the battery status or "go to kantine" during lunch time
- cyborg_primary_states
- cyborg_navigation: High-level navigation, defines where to go in the map.
- cyborg_audio: everything related to making sounds on the speakers
- cyborg_visual: controls the LED-dome
- rosarnl_node: low-level navigation
A more up-to-date node description can be found here: https://github.com/thentnucyborg/CyborgRobot/wiki/Nodes
ros-arnl
The ros-arnl ROS node is developed by MobileRobots and handles communication with the robots actuators, sensors and navigation library.
From http://wiki.ros.org/ros-arnl:
...