+ All Categories
Home > Documents > Intelligent Robots Seminar · Middleware for robotic application - MIRA Designed for real world...

Intelligent Robots Seminar · Middleware for robotic application - MIRA Designed for real world...

Date post: 23-Jun-2020
Category:
Upload: others
View: 7 times
Download: 0 times
Share this document with a friend
36
Intelligent Robots Seminar Topic: Robotics Software Architectures MIRA, Jadex, Player / Stage 11/23/2015 1 Seyyed Morteza Haghshenas– M.Sc. IAS Supervisor: Lasse Einig
Transcript
Page 1: Intelligent Robots Seminar · Middleware for robotic application - MIRA Designed for real world applications, teaching and research Crossed-platform and opensource framework written

Intelligent Robots Seminar

Topic:Robotics Software Architectures

MIRA, Jadex, Player / Stage

11/23/2015 1Seyyed Morteza Haghshenas– M.Sc. IAS

Supervisor: Lasse Einig

Page 2: Intelligent Robots Seminar · Middleware for robotic application - MIRA Designed for real world applications, teaching and research Crossed-platform and opensource framework written

Outline

1. Background

2. Why a Middleware for robotics?

3. Middleware for robotic application – MIRA

4. Jadex

5. Player / Stage

6. Comparisons

7. Conclusion

8. References

11/23/2015 Seyyed Morteza Haghshenas– M.Sc. IAS 2

Page 3: Intelligent Robots Seminar · Middleware for robotic application - MIRA Designed for real world applications, teaching and research Crossed-platform and opensource framework written

Background

Robot functional architecture

system's control and data flows, data sources , data stores ,

data processing and data sinks (e.g. the actuators)

Robot component architecture

software structured in components

dependencies

communication

quality of service

Robot runtime architecture

Software components mapped onto processes

11/23/2015 Seyyed Morteza Haghshenas– M.Sc. IAS 3

Page 4: Intelligent Robots Seminar · Middleware for robotic application - MIRA Designed for real world applications, teaching and research Crossed-platform and opensource framework written

Definition of Software Architecture

Description of the subsystems

Components of a software system

Relationship between the components

Specified in different views to show functional and non-functional

properties of the system

11/23/2015 Seyyed Morteza Haghshenas– M.Sc. IAS 4

Page 5: Intelligent Robots Seminar · Middleware for robotic application - MIRA Designed for real world applications, teaching and research Crossed-platform and opensource framework written

Why a Middleware for robotics?

The Middlewear idea

Providing computational layer

A bridge between application and the low level details

It is not set of APIs or Library

Issuing the developing real robot

Cooperating between software and hardware

Architectural differences in robotic systems

Software usability and modularity

11/23/2015 Seyyed Morteza Haghshenas– M.Sc. IAS 5

Software Architecture in Practice (2nd Edition) Lens Bass, Paul Clemens, Rick Kazman

Page 6: Intelligent Robots Seminar · Middleware for robotic application - MIRA Designed for real world applications, teaching and research Crossed-platform and opensource framework written

Robotic Applications

11/23/2015 Seyyed Morteza Haghshenas– M.Sc. IAS 6

MIRA

Player / Stage

Page 7: Intelligent Robots Seminar · Middleware for robotic application - MIRA Designed for real world applications, teaching and research Crossed-platform and opensource framework written

Middleware for robotic application- MIRA

11/23/2015 Seyyed Morteza Haghshenas– M.Sc. IAS 7

https://en.wikipedia.org/wiki/Middleware_for_Robotic_Applications

Page 8: Intelligent Robots Seminar · Middleware for robotic application - MIRA Designed for real world applications, teaching and research Crossed-platform and opensource framework written

Middleware for robotic application- MIRA

Designed for real world applications, teaching and research

Crossed-platform and opensource framework written in C++

Interoperable with other languages i.e. Java, Python and etc.

Comminucation mechanism

RPC: Remote Procedure Calls

Message passing

11/23/2015 Seyyed Morteza Haghshenas– M.Sc. IAS 8

Page 9: Intelligent Robots Seminar · Middleware for robotic application - MIRA Designed for real world applications, teaching and research Crossed-platform and opensource framework written

MIRA Software Modules

Having one or more software module (unit) in each process

Placing units with other units in every process at run time without

coding

Supporting multi threading and data synchronization

11/23/2015 Seyyed Morteza Haghshenas– M.Sc. IAS 9

MIRA, Middleware for Robotic Applications, IEEE/RSJ International Conference on Intelligent Robots and Systems, October 7-12, 2012. Vilamoura, Algarve, Portugal

Page 10: Intelligent Robots Seminar · Middleware for robotic application - MIRA Designed for real world applications, teaching and research Crossed-platform and opensource framework written

Message Passing

11/23/2015 Seyyed Morteza Haghshenas– M.Sc. IAS 10

MIRA, Middleware for Robotic Applications, IEEE/RSJ International Conference on Intelligent Robots and Systems, October 7-12, 2012. Vilamoura, Algarve, Portugal

Page 11: Intelligent Robots Seminar · Middleware for robotic application - MIRA Designed for real world applications, teaching and research Crossed-platform and opensource framework written

Serialization and Reflection

Reflection

Retrive information on the structure of program at run-time

Make a run-time query of the names and type of variables,

classes, methods, etc.

Serialization

Process of converting data structure or objects to a sequence of

bits

Parameter tuning

11/23/2015 Seyyed Morteza Haghshenas– M.Sc. IAS 11

Page 12: Intelligent Robots Seminar · Middleware for robotic application - MIRA Designed for real world applications, teaching and research Crossed-platform and opensource framework written

Design Goals of using MIRA

High performance and low latency

Easy to learn and use

High usability

Foolproof

Robust and reliable

Reflection

Serialization

11/23/2015 Seyyed Morteza Haghshenas– M.Sc. IAS 12

Page 13: Intelligent Robots Seminar · Middleware for robotic application - MIRA Designed for real world applications, teaching and research Crossed-platform and opensource framework written

BDI Abstraction

Deciding on which goals to achieve and how to achieve them

Beliefes: The Information and agent has about its surroundings

Desires: The things that an agent would like to see achieved

Intentions: The desires that an agent is working on; also

involves a deeper personal commitment

Example:

Beliefe: My students are unhappy

Desire: I want to make my students happy

Intention: I will buy 22 ʺ LCD for each of them!

11/23/2015 Seyyed Morteza Haghshenas– M.Sc. IAS 13

Page 14: Intelligent Robots Seminar · Middleware for robotic application - MIRA Designed for real world applications, teaching and research Crossed-platform and opensource framework written

Requirements for BDI Architecture

A BDI architecture addresses how beliefes, desires and intentions

are represented, updated, and proceed

In BDI architecture an agent should (Bratman et al.1987):

Monitor its plans when it changes its believes,

Check compatibility with prior plans (intentions)

Propose new plans when environments changes

The processes should be performed in timely fashion (Bratman et

al.1987)

11/23/2015 Seyyed Morteza Haghshenas– M.Sc. IAS 14

Page 15: Intelligent Robots Seminar · Middleware for robotic application - MIRA Designed for real world applications, teaching and research Crossed-platform and opensource framework written

What is Jadex?

Is a Agent-based computing with a BDI reasoning engine model

Integrates agent theories with object-orientation and XML descriptions

Object-oriented represent of BDI concept

Explicit representation of goals allows reasoning about (manipulaton of)

goals

Jadex is based on JADE platform

11/23/2015 Seyyed Morteza Haghshenas– M.Sc. IAS 15

Page 16: Intelligent Robots Seminar · Middleware for robotic application - MIRA Designed for real world applications, teaching and research Crossed-platform and opensource framework written

What is Jadex?

11/23/2015 Seyyed Morteza Haghshenas– M.Sc. IAS 16http://jade.tilab.com

Page 17: Intelligent Robots Seminar · Middleware for robotic application - MIRA Designed for real world applications, teaching and research Crossed-platform and opensource framework written

Jadex Abstracts Agent Architecture

11/23/2015 Seyyed Morteza Haghshenas– M.Sc. IAS 17Agent-based computing, Jadex, Maciej Gawinecki, 2014, IEEE/ International conference on intelligent robotics

Page 18: Intelligent Robots Seminar · Middleware for robotic application - MIRA Designed for real world applications, teaching and research Crossed-platform and opensource framework written

Beliefs

Belief base contains the knowledge of an agent

Beliefs : (single facts stored as Java objects)

Beliefsets (sets of facts as Java objects)

object-oriented representation

No support for logical reasoning

Advantages of storing information as facts

Central place for knowledge (accessible to all plans)

Allows queries over agent‘s beliefs

Allows monitoring of beliefs and conditions (e.g. to trigger

events / goals)

11/23/2015 Seyyed Morteza Haghshenas– M.Sc. IAS 18

Page 19: Intelligent Robots Seminar · Middleware for robotic application - MIRA Designed for real world applications, teaching and research Crossed-platform and opensource framework written

Jadex Abstracts Agent Architecture

11/23/2015 Seyyed Morteza Haghshenas– M.Sc. IAS 19Agent-based computing, Jadex, Maciej Gawinecki, 2014, IEEE/ International conference on intelligent robotics

Page 20: Intelligent Robots Seminar · Middleware for robotic application - MIRA Designed for real world applications, teaching and research Crossed-platform and opensource framework written

Goals (desires)

Generic goal types

Perform (some action)

Achieve (a specified world state)

Query (some information)

Maintain (reestablish a specified world state whenever violated)

Goals are strongly typed with

Name, type, parameters

BDI-flags enable non-default goal-processing

Goal creation/deletion possibilities

Initial goals for agents

Goal creation/drop conditions for all goal kinds

Top-level / sub goals from within plans

11/23/2015 Seyyed Morteza Haghshenas– M.Sc. IAS 20

Page 21: Intelligent Robots Seminar · Middleware for robotic application - MIRA Designed for real world applications, teaching and research Crossed-platform and opensource framework written

Jadex Abstracts Agent Architecture

11/23/2015 Seyyed Morteza Haghshenas– M.Sc. IAS 21Agent-based computing, Jadex, Maciej Gawinecki, 2014, IEEE/ International conference on intelligent robotics

Page 22: Intelligent Robots Seminar · Middleware for robotic application - MIRA Designed for real world applications, teaching and research Crossed-platform and opensource framework written

Plans (Intentions)

Represent procedural knowledge

Means for goal achievement and reacting to events

Agent has library of pre-defined plans

Execution

Realization of a plan

Plan head specified in ADF (Application Development

Framework)

Plan body coded in pure Java

Assigning plans to goals/events

Plan head indicates ability to handle goals/events

Plan context / precondition refines set of applicable plans

11/23/2015 Seyyed Morteza Haghshenas– M.Sc. IAS 22

Page 23: Intelligent Robots Seminar · Middleware for robotic application - MIRA Designed for real world applications, teaching and research Crossed-platform and opensource framework written

Jadex Abstracts Agent Architecture

11/23/2015 Seyyed Morteza Haghshenas– M.Sc. IAS 23Agent-based computing, Jadex, Maciej Gawinecki, 2014, IEEE/ International conference on intelligent robotics

Page 24: Intelligent Robots Seminar · Middleware for robotic application - MIRA Designed for real world applications, teaching and research Crossed-platform and opensource framework written

Events

Three types of events

Message event denotes arrival/sending messages

Goal event denotes a new goal to be processed or that the state of

an existing goal is changed

Internal event

Time out

Execute Plan

Condition Triggered

11/23/2015 Seyyed Morteza Haghshenas– M.Sc. IAS 24

Page 25: Intelligent Robots Seminar · Middleware for robotic application - MIRA Designed for real world applications, teaching and research Crossed-platform and opensource framework written

Jadex in Summary

Objective

Supporting the construction of open multi agent systems by making

use of mentalistic notions

Supports easy agent construction with XML-based agent description

and procedural plans in Java

Supports reusability through the capability concept

BDI-Viewer allows to observe and modify the internal state

The BDI-Introspector allows to control the agent

The Logger agent collects log-outputs of any agents

11/23/2015 Seyyed Morteza Haghshenas– M.Sc. IAS 25

Page 26: Intelligent Robots Seminar · Middleware for robotic application - MIRA Designed for real world applications, teaching and research Crossed-platform and opensource framework written

Player Server: an interface for communicating with a robot‘s

resources(sensors and actuators) over an IP network

Player is a network server for robot control

Runs on robot and on PC – Linux, Solaris OS

Client program talks to Player over a TCP socket

Modular architecture makes it easy to support new hardware

Player allows multiple devices to present the same interface

11/23/2015 Seyyed Morteza Haghshenas– M.Sc.. IAS 26

What is Player / Stage?

Page 27: Intelligent Robots Seminar · Middleware for robotic application - MIRA Designed for real world applications, teaching and research Crossed-platform and opensource framework written

11/23/2015 Seyyed Morteza Haghshenas– M.Sc. IAS 27

Player Architecture

Physical Device DO

Physical Device DN

Device DO Command

Buffer

Device DO Data Buffer

Device DN Command

Buffer

Device DN Data Buffer

Device DO Thread

Device DN Thread

Client CO Writer Thread

Client DN Reader Thread

Client CO Reader Thread

Client DN Writer Thread

Client CO Program

Client CN Program

Device Specific Connection e.g. Serial line

TCP Connection

Shared Global Address Area

Commands

Data

Commands

Data

Player/Stage – Player Driver Implementation for ESRP Journal – By Bue Petersen and Jonas Fonseca, 2013

Page 28: Intelligent Robots Seminar · Middleware for robotic application - MIRA Designed for real world applications, teaching and research Crossed-platform and opensource framework written

11/23/2015 Seyyed Morteza Haghshenas– M.Sc. IAS 28

Key concepts in Player

Interface

Player Driver

OS

Stage Driver

Lib stage plugin

Hide hardware detailsComply with defined interfaces

Player runs on OS

Communication with Hardware

Sensor/robot hardware connectedthrough e.g.. Serial port, USB etc.

Device definition

Player/Stage – Player Driver Implementation for ESRP Journal – By Bue Petersen and Jonas Fonseca, 2013

Page 29: Intelligent Robots Seminar · Middleware for robotic application - MIRA Designed for real world applications, teaching and research Crossed-platform and opensource framework written

11/23/2015 Seyyed Morteza Haghshenas– M.Sc. IAS 29

Key Architectural Concepts

1. Interface:

Define the syntax of how to issue commands to actuators and

how to read inputs from sensors through messages

2. Driver:

software that talks with the actual hardware

translates its I/O to conform to relevant interface

Virtual Drivers – special purpose functionality

3. Device:

Top most abstraction in Player for the hardware

Used through a fully-qualified device address

Page 30: Intelligent Robots Seminar · Middleware for robotic application - MIRA Designed for real world applications, teaching and research Crossed-platform and opensource framework written

Player is a queue based message passing system

Message Types

Data Messages - used by drivers to publish sensor readings

plus changes in device state, such as motor stalls.

Command Messages – sent by clients ordering driver to

change stateof a specific device it controls

Configuration messages – provide a way for clients to

configure device properties say poses of individual sensors

11/23/2015 Seyyed Morteza Haghshenas– M.Sc. IAS 30

Message Passing System

Page 31: Intelligent Robots Seminar · Middleware for robotic application - MIRA Designed for real world applications, teaching and research Crossed-platform and opensource framework written

Advantages of Player

Supports a wide range of devices like lasers, sonars, camera etc

Programs written for the simulated environment can work on the actual robot

Sensor models and odometry are the same as those used in actual robot

Open source, supports a number of programming languages, windows

Virtual drivers allow for error correction in hardware

Disadvantages

Latency in client / server model

Interface / driver model

11/23/2015 Seyyed Morteza Haghshenas– M.Sc. IAS 31

Player / Stage in Summary

Page 32: Intelligent Robots Seminar · Middleware for robotic application - MIRA Designed for real world applications, teaching and research Crossed-platform and opensource framework written

11/23/2015 Seyyed Morteza Haghshenas– M.Sc. IAS 32

Survey of the examined Middleware

Page 33: Intelligent Robots Seminar · Middleware for robotic application - MIRA Designed for real world applications, teaching and research Crossed-platform and opensource framework written

Conclusion Mira, Jadex and player / stage are relatively good tools for development of Robot

Software

Mira

High performance (Low latency time and low CPU usage)

Fully decentralize

Reliable architecture

Migration of unit at run-time

Message-based communication

Jadex:

Powerful and flexible security mechanism

Allows for the construction of rational agents

11/23/2015 Seyyed Morteza Haghshenas– M.Sc. IAS 33

Page 34: Intelligent Robots Seminar · Middleware for robotic application - MIRA Designed for real world applications, teaching and research Crossed-platform and opensource framework written

Conclusion

Supports an explicit and declarative representation of goals

In testing phase supplying a debugger and a logger agent (usability)

Player / Stage

The most popular robot software systems outside of industrial robots

Flexible communication architecture

Easy to use

Abstracts higher level components from the actual hardware (robot/sensors)

Centralized parameter handling

Logged everything transparency

11/23/2015 Seyyed Morteza Haghshenas– M.Sc. IAS 34

Page 35: Intelligent Robots Seminar · Middleware for robotic application - MIRA Designed for real world applications, teaching and research Crossed-platform and opensource framework written

References

Software Architecture in Practice (2nd Edition) – Lens Bass, Paul Clemens, Rick

Kazman

MIRA - Middleware for Robotic Applications, 2012 IEEE/RSJ International

Conference on intelligent Robots and Systems, October 7-12, 2012. Vilamoura,

Algarve, Portugal

Agent-based computing, Jadex, Maciej Gawinecki, 2014, IEEE/ International

conference on intelligent robotics

H.-M. Gross, H.-J. B¨ohme, C. Schr¨oter, S. M¨uller, A. K¨onig, E. Einhorn, C.

Martin, M. Merten, and A. Bley, “Interactive Shopping Guide Robots in Everyday

Use - Final Implementation and Experiences from Long-term Field Trials,” in Proc.

IEEE/RJS International Conference on Intelligent Robots and Systems (IROS), pp.

2005–2012, 2009.

11/23/2015 Seyyed Morteza Haghshenas– M.Sc. IAS 35

Page 36: Intelligent Robots Seminar · Middleware for robotic application - MIRA Designed for real world applications, teaching and research Crossed-platform and opensource framework written

References

Player/Stage – Player Driver Implementation for ESRP Journal – By Bue Petersen

and Jonas Fonseca, 2013

ROS: an open-source Robot Operating System - Morgan Quigley, Brian Gerkey,

Ken Conley, Josh Faust ,Tully Foote, Jeremy Leibs, Eric Berger, Rob Wheeler,

Andrew N.

Journal on Three Layer Architectures – Erann Gat Jet Propulsion Laboratory-

California Inst. Of Technology

Journal: On devise abstractions for portable, re-usable robot code - Richard T.

Vaughan, Brian P. Gerkey, Andrew Howard (University of Southern California,)

A. Elkady and T. M. Sobh, “Robotics Middleware: A Comprehensive Literature

Survey and Attribute-Based Bibliography,” Journal of Robotics, 2012

11/23/2015 Seyyed Morteza Haghshenas– M.Sc. IAS 36


Recommended