February, 2023 16h00 Posted by dabyte

Software Architecture

Markovito’s software architecture has been designed and developed as a layered behavior-based architecture that uses ROS for communication.

The architecture has three different levels:

  • Functional level: At this level the modules interact with the robot’s sensors and actuators, relaying commands to the motor or retrieving information from the sensors.
  • Execution level: Modules in this level interact with the functional level through ROS architecture. This level includes the modules to perform basic tasks such as navigation, object manipulation, speech recognition, etc.
  • Decision level: This is the highest level in the architecture, at which planning and reasoning is performed by manipulating logical symbols that rep- resent high-level concepts, such as relative-position relations (e.g. in front of) and causal effects of actions (e.g. picking-up and moving objects causes a change in their location). The symbolic representation of the environment and the planning is performed with a sorted answer set programming approach.

At the execution level, the robot’s skills are encapsulated into general purpose modules. By doing so, programming the robot to solve different tasks becomes less time consuming and endows the architecture with scalability, which becomes more important as new modules are required.

Go top

January, 2023 17h00 Posted by dabyte

Hardware Architecture

The base platform comes from a Robotnik RB-1 model, optimized whith a series of after-market modifications to improve the robot's perception and interaction capabilities. The robot's components are as follows:

  • Pan-Tilt RGB-D Astra Camera: This component is used to scan the robots enviroment searching for persons or objects.
  • On board Intel NUC: It's used for running navigation and non processor demanding tasks.
  • Auxiliary Computers: They are used for running non continous and high processor-use tasks.
  • Articulated Torso: Used for interaction and object manipulation tasks.
  • 6 DOF Arm (Kinova Mico): Used for manipulation purposes.
  • Speakers: They are used for human interaction or to output different kinds of information, such as status, current task, etc.
  • Differential base: It contains the main computer (Intel NUC) and serves to move the robot to certain positions.
  • RGB-D Base Camera: It's used for obstacle avoiding tasks.
  • RGB-D Kinect Azure Camera: It's used to improve depth images, and audio capture purposes as well.
  • RGB-D Realsense Camera: It's used in manipulation and grasping tasks.

Go top