请输入您要查询的百科知识:

 

词条 Middleware for Robotic Applications
释义

  1. Features

  2. Platforms

  3. Applications using MIRA

  4. Usability

      Reflection/Serialization    Remote Procedure Calls  

  5. References

  6. External links

{{Infobox software
| name = MIRA
| logo =
| developer = MetraLabs GmbH,
Ilmenau University of Technology
| operating system = Linux, Windows
| released = {{Start date and age|df=yes|2012|04|27}}
| latest_release_version = 2017-09-07
| latest_release_date = {{Start date and age|df=yes|2017|09|07}}
| programming_language = C++
| genre = Robotics suite, Middleware
| license = Dual License:
GPL Version 3,
Professional Edition License
| website = {{URL|www.mira-project.org}}
}}{{Portal|Robotics|Free Software|Computing}}Middleware for Robotic Applications (MIRA) is a cross-platform, open-source software framework written in C++ that provides a middleware, several base functionalities and numerous tools for developing and testing distributed software modules. It also focuses on easy creation of complex, dynamic applications, while reusing these modules as plugins. The main purpose of MIRA is the development of robotic applications, but as it is designed to allow type safe data exchange between software modules using intra- and interprocess communication it is not limited to these kinds of applications.[1]

MIRA is developed in a cooperation of the MetraLabs GmbH and the Ilmenau University of Technology/Neuroinformatics and Cognitive Robotics Lab. Therefore, MIRA was designed to fulfill the requirements of both commercial and educational purposes.

Features

General:
  • adds introspection/reflection and serialization to C++ with the usage of C++ language-constructs only (a meta-language or metacompilers are not necessary)
  • efficient data exchange between software modules
  • the used communication technique based on "channels" always allows non-blocking access to the transferred data [2]
  • for the user the communication is fully transparent no matter if the software modules are located within the same process, different processes or on different machines, the underlying transport layer will choose the fasted method for data transportation automatically[2]
  • beside data exchange via "channels", MIRA supports Remote Procedure Calls (RPC) and Remote Method Invokation.
  • MIRA is fully decentralized, hence there is no central server or central communication hub, making its communication more robust and allows its usage in multi-robot applications
Robotic Application specific:
  • easy configuration of software modules via configuration files
  • parameters of algorithms can be modified live at runtime to speed up the debugging and development process
  • huge amounts of robot sensor data can be recorded in Tapes for later playback, here different codecs can be used to compress the data

Platforms

MIRA supports and was successfully tested on the following platforms:

  • Linux – Ubuntu and derivates, OpenSuse, CentOS, Red Hat and Fedora[3]
  • Windows – Microsoft Windows XP, Windows Vista, Windows 7 (32bit and 64bit)[4]

Applications using MIRA

MIRA is used within the following applications:

  • Konrad and Suse - Guide Robots, that guide visitors within the Zuse-Building of the Ilmenau University of Technology[5][6]
  • Monitoring the air quality within clean rooms at Infineon Technologies using several SCITOS G5 robots[7][8]

and projects:

  • CompanionAble - Integrated Cognitive Assistive & Domotic Companion Robotic System for Ability & Security[9]
  • Robot-Era - Implementation and integration of advanced robotic systems and intelligent environments in real scenarios for the ageing population[10]

Usability

Reflection/Serialization

class Data

{
    int value;    std::map > complex;    Foo* ptr;
    template     void reflect(Reflector& r)     {        r.member("Value",   value,   "an int member");        r.member("Complex", complex, "a complex member");        r.member("Pointer", ptr,     "a pointer pointer");    }

};

  • arbitrary complex data types can be serialized by adding a simple reflect method to the class as shown above
  • after these minor changes, the objects of the class can be transported via inter-process communication, can be used as parameters in configuration files for software modules, can be recorded in "Tape" files, etc.

Remote Procedure Calls

class MyClass

{
    template     void reflect(Reflector& r)     {        r.method("compute", &MyClass::compute, this, "comment");    }

};

  • arbitrary methods can be turned into RPC methods by adding one line of code within the reflect() method. There is no need to write wrappers around the methods or to use meta description languages.

References

1. ^{{cite web|title=MIRA Project Website|url=http://www.mira-project.org}}
2. ^{{cite journal|last=Einhorn|first=Erik|author2=et.al|title=MIRA - Middleware for Robotic Applications|journal=Proc. IEEE/RSJ Int. Conf. on Intelligent Robots and Systems (IROS)|year=2012}}
3. ^{{cite web|title=MIRA Documentation - Linux Support|url=http://www.mira-project.org/MIRA-doc/RequirementsLinux.html}}
4. ^{{cite web|title=MIRA Documentation - Windows Support|url=http://www.mira-project.org/MIRA-doc/InstallationPage.html}}
5. ^{{cite news|title=TU Ilmenau: Konrad-Zuse-Bau eröffnet|url=http://ilmenau.thueringer-allgemeine.de/web/lokal/leben/detail/-/specific/TU-Ilmenau-Konrad-Zuse-Bau-eroeffnet-2021140944|newspaper=Thüringer Allgemeine Zeitung}}
6. ^{{cite journal|last=Stricker|first=Ronny|author2=et.al|title=Konrad and Suse, Two Robots Guiding Visitors in a University Building|journal=Proc. of Autonomous Mobile Systems (AMS)|year=2012|doi=10.1007/978-3-642-32217-4_6|series=Informatik aktuell|isbn=978-3-642-32216-7|pages=49}}
7. ^{{cite news|title=Ilmenauer Oberbürgermeister ließ sich von Roboter den Weg zeigen|url=http://ilmenau.thueringer-allgemeine.de/web/lokal/wirtschaft/detail/-/specific/Ilmenauer-Oberbuergermeister-liess-sich-von-Roboter-den-Weg-zeigen-496313255|newspaper=Thüringer Allgemeine Zeitung}}
8. ^{{cite news|title=Der Markt bietet hohe Potenziale für mobile Robotik|url=http://www.tria-online.eu/index.php/news-a-info/highlights/969-metra|newspaper=TRIA}}
9. ^{{cite web|title=CompanionAble|url=http://www.companionable.net/}}
10. ^{{cite web|title=Robot-Era|url=http://www.robot-era.eu/robotera/}}

External links

  • MIRA Website
  • MIRA Documentation
  • MIRA Questions & Answers

4 : Robotics software|Robotics suites|2012 software|2012 in robotics

随便看

 

开放百科全书收录14589846条英语、德语、日语等多语种百科知识,基本涵盖了大多数领域的百科知识,是一部内容自由、开放的电子版国际百科全书。

 

Copyright © 2023 OENC.NET All Rights Reserved
京ICP备2021023879号 更新时间:2024/9/20 13:25:00