Difference between revisions of "MRT"
m (→Introduction) |
m (→Introduction) |
||
Line 10: | Line 10: | ||
Most of the content of these pages comes from a cleanup (under construction) of the [[Media:MRTmanual.pdf | MRT manual]] written by [[User:LuigiMalago | Luigi Malago']]. These WIKI pages are intended for continuous update and completion. Anybody wishing to cooperate is welcome! | Most of the content of these pages comes from a cleanup (under construction) of the [[Media:MRTmanual.pdf | MRT manual]] written by [[User:LuigiMalago | Luigi Malago']]. These WIKI pages are intended for continuous update and completion. Anybody wishing to cooperate is welcome! | ||
− | MRT, Modular Robotic Toolkit, is a framework where a set of off-the- | + | MRT, Modular Robotic Toolkit, is a framework where a set of off-the-shelf modules can be easily combined and customized to realize robotic applications with minimal effort and time. The framework has been designed to |
− | shelf modules can be easily combined and customized to realize robotic | + | |
− | + | ||
be used in different applications where a distributed set of robot and sensors | be used in different applications where a distributed set of robot and sensors | ||
interact to accomplish tasks, such as: playing soccer in RoboCup, guiding | interact to accomplish tasks, such as: playing soccer in RoboCup, guiding |
Revision as of 19:14, 28 April 2009
Modular Robotic Toolkit
Contents
- 1 Introduction
- 2 MRT Architecture
- 3 MrBrian: Multilevel Ruling Brian Reacts by Inferential ActioNs
- 4 DCDT: The Middleware
- 5 MAP Anchors Percepts
- 6 MUREA: Multi-Resolution Evidence Accumulation
- 7 SCARE Coordinates Agents in Robotic Environments
- 8 SPIKE Plans In Known Environments
Introduction
This is the Modular Robotic Toolkit user manual, a comprehensive guide to the software architecture for autonomous robots developed by the AIRLab, Artificial Intelligence and Robotic Laboratory of the Dept. of Electronics and Information at Politecnico di Milano.
Most of the content of these pages comes from a cleanup (under construction) of the MRT manual written by Luigi Malago'. These WIKI pages are intended for continuous update and completion. Anybody wishing to cooperate is welcome!
MRT, Modular Robotic Toolkit, is a framework where a set of off-the-shelf modules can be easily combined and customized to realize robotic applications with minimal effort and time. The framework has been designed to be used in different applications where a distributed set of robot and sensors interact to accomplish tasks, such as: playing soccer in RoboCup, guiding people in indoor environments, and exploring unknown environments in a space setting.
The aim of this manual is to present the software architecture and make the user comfortable with the use and configuration of the different modules that can be integrated in the framework, so that it will be easy to develop robotic applications using MRT. For this reason, each chapter will include some examples of code and configuration files.
MRT Architecture
The MRT architecture is described in the paper published on the Springer STAR Series.
MrBrian: Multilevel Ruling Brian Reacts by Inferential ActioNs
The Behavior-based Paradigm
The Overall Architecture
Fuzzy predicates
CANDO and WANT Conditions
Informed Hierarchical Composition
Output Generation
Modules
Fuzzyfier
Preacher
Predicate Actions
Candoer
Wanter
Behavior Engine
Rules Behavior
Composer
Defuzzyfier
Parser and Messenger
Configuration Files and Examples
Fuzzy Sets
Fuzzy Predicates
Predicate Actions
CANDO and WANT Conditions
Playing with activations TODO
Defuzzyfication
Behavior Rules
Behavior List
Behavior Composition
Parser and Messenger
Using Mr. BRIAN
DCDT: The Middleware
DCDT, Device Communities Development Toolkit, is the framework used to integrate all the modules in MRT. This middleware has been implemented to simplify the development of applications where different tasks run si- multaneously and need to exchange messages. DCDT is a publish/sub- scribe framework able to exploit different physical communication means in a transparent and easy way.
The use of this toolkit helps the user dealing with processes and inter process communication, since it makes the interaction between the processes transparent with respect to their allocation. This means that the user does not have to take care whether the processes run on the same machine or on a distributed environment.
DCDT is a multi-threaded architecture consisting in a main active ob- ject, called Agora, hosting and managing various software modules, called Members. Members are basically concurrent programs/threads executed pe- riodically or on the notification of an event. Each Member of the Agora can exchange messages with other Members of the same Agora or with other Agoras on different machines.
The peculiar attitude of DCDT toward different physical communication channels, such as RS-232 serial connections, USB, Ethernet or IEEE 802.11b, is one of the main characteristics of this publish/subscribe middleware.
Agora and Members
Messages
Configuration Files and Examples
MAP Anchors Percepts
Paper about the concepts supported by MAP.
MUREA: Multi-Resolution Evidence Accumulation
MUREA, MUlti-Resolution Evidence Accumulation, is a module that im- plements a localization algoritm.
This module has several configurable parameters that allow its reuse in different context, e.g., the map of the environment, the required accuracy, a timeout.
MUREA completely abstracts from the sensors used for acquiring localization information, since its interface relies on the concept or perception, which is shared with the processing sub-module of each sensor