Separation of Concerns in Component-based Robotics

Similar documents
KUKA youbot a milestone for education and research in mobile manipulation R. Bischoff

Philosophy of GIMnet

Software Development - A Case Study in Robotic Design

Robotic motion planning for 8- DOF motion stage

Georgiana Macariu, Dana Petcu, CiprianCraciun, Silviu Panica, Marian Neagul eaustria Research Institute Timisoara, Romania

Project Development Plan

Robotic Home Assistant Care-O-bot: Past Present Future

Applications > Robotics research and education > Assistant robot at home > Surveillance > Tele-presence > Entertainment/Education > Cleaning

Robot Task-Level Programming Language and Simulation

Software Development Workflow in Robotics

Software Engineering/Courses Description Introduction to Software Engineering Credit Hours: 3 Prerequisite: (Computer Programming 2).

Software Engineering

OPART: Towards an Open Platform for Abstraction of Real-Time Communication in Cross-Domain Applications

Research and Design of Universal and Open Software Development Platform for Digital Home

A Management Tool for Component-Based Real-Time Supervision and Control Systems

Development of Integrated Management System based on Mobile and Cloud Service for Preventing Various Hazards

LEGO NXT-based Robotic Arm

Medical Device Design: Shorten Prototype and Deployment Time with NI Tools. NI Technical Symposium 2008

PERFORMANCE COMPARISON OF COMMON OBJECT REQUEST BROKER ARCHITECTURE(CORBA) VS JAVA MESSAGING SERVICE(JMS) BY TEAM SCALABLE

Development of Integrated Management System based on Mobile and Cloud service for preventing various dangerous situations

Implementing and Maintaining Microsoft SQL Server 2008 Reporting Services

Component-based Robotics Middleware

CPS221 Lecture: Operating System Structure; Virtual Machines

Integration of a Robotic Arm with the Surgical Assistant Workstation Software Framework

Middleware in robotics

CGI-based applications for distributed embedded systems for monitoring temperature and humidity

Impact of Control Theory on QoS Adaptation in Distributed Middleware Systems

OUR COURSES 19 November All prices are per person in Swedish Krona. Solid Beans AB Kungsgatan Göteborg Sweden

Software Development for Multiple OEMs Using Tool Configured Middleware for CAN Communication

DDS-Enabled Cloud Management Support for Fast Task Offloading

Effective Java Programming. efficient software development

Automation Services Orchestration with Function Blocks: Web-service Implementation and Performance Evaluation

Editorial NUMBER 01 NOVEMBER Editorial. Project overview. Reference architecture

A Study on Integrated Operation of Monitoring Systems using a Water Management Scenario

Version: July Windows 7

Cloud Manufacturing Olena Skarlat

Chap 1. Software Quality Management

A Java Framework for Multi-Tier Web-Centric Applications Development

Outline. Definitions. Course schedule

Java Web Services Training

Linux for Embedded and Real-Time Systems

Implementing and Maintaining Microsoft SQL Server 2005 Reporting Services COURSE OVERVIEW AUDIENCE OUTLINE OBJECTIVES PREREQUISITES

Embedded Software development Process and Tools: Lesson-4 Linking and Locating Software

Infrastructure as a Service (IaaS)

Common Operating-System Components

Motivation and Contents Overview

Self-Balancing Robot Project Proposal Abstract. Strategy. Physical Construction. Spencer Burdette March 9, 2007

Test Specification. Introduction

AUTOMATED DRIVING WITH ROS AT BMW.

RealTime Implementation of RTOS based Vehicle Tracking System

Software Life Cycle Processes

Advanced Techniques for Mobile Robotics Robot Software Architectures. Wolfram Burgard, Cyrill Stachniss, Kai Arras, Maren Bennewitz

How To Test A Robot Platform And Its Components

Chapter 4. Architecture. Table of Contents. J2EE Technology Application Servers. Application Models

System Structures. Services Interface Structure

Agent Languages. Overview. Requirements. Java. Tcl/Tk. Telescript. Evaluation. Artificial Intelligence Intelligent Agents

Component Based Development Methods - comparison

ESE566 REPORT3. Design Methodologies for Core-based System-on-Chip HUA TANG OVIDIU CARNU

Exploring the Synergistic Relationships Between BPC, BW and HANA

Embedded and mobile fingerprint. technology. FingerCell EDK

Does function point analysis change with new approaches to software development? January 2013

SIMERO Software System Design and Implementation

Outline SOA. Properties of SOA. Service 2/19/2016. Definitions. Comparison of component technologies. Definitions Component technologies

Design-Simulation-Optimization Package for a Generic 6-DOF Manipulator with a Spherical Wrist

A STRATEGIC PLANNER FOR ROBOT EXCAVATION' by Humberto Romero-Lois, Research Assistant, Department of Civil Engineering

How do Users and Processes interact with the Operating System? Services for Processes. OS Structure with Services. Services for the OS Itself

W H I T E P A P E R SYSTEMS MANAGEMENT

Arcade Game Maker Product Line Production Plan

This course will also teach how to create various kinds of dashboards using Reporting Services.

Patterns in Software Engineering

Hirschmann Networking Interoperability in a

Example of Standard API

ORACLE BUSINESS INTELLIGENCE WORKSHOP. Prerequisites for Oracle BI Workshop

Invitation to OASIS CAMP A Cirrus View (high level)

Migrating Scientific Applications from Grid and Cluster Computing into the Cloud Issues & Challenges

CS 377: Operating Systems. Outline. A review of what you ve learned, and how it applies to a real operating system. Lecture 25 - Linux Case Study

Operating System Organization. Purpose of an OS

Chapter 3: Operating-System Structures. Common System Components

How To Understand Cloud Computing

SharePoint 2010/2013 Course

MICHIGAN TEST FOR TEACHER CERTIFICATION (MTTC) TEST OBJECTIVES FIELD 050: COMPUTER SCIENCE

Peter Mileff PhD SOFTWARE ENGINEERING. The Basics of Software Engineering. University of Miskolc Department of Information Technology

ROS Robot Operating System. Robotica Prof. Davide Brugali Università degli Studi di Bergamo

Chapter 3: Operating-System Structures. System Components Operating System Services System Calls System Programs System Structure Virtual Machines

Fast Innovation requires Fast IT

NanopowerCommunications: Enabling the Internet of Things OBJECTS TALK

OKLAHOMA SUBJECT AREA TESTS (OSAT )

ISOBUS s Past, Present and Future role in Agricultural Robotics and Automation

ZEN LOAD BALANCER EE v3.02 DATASHEET The Load Balancing made easy

Overview of Routing between Virtual LANs

CycurHSM An Automotive-qualified Software Stack for Hardware Security Modules

Cloud Computing for Agent-based Traffic Management Systems

Performance aware open-world software in a 3-layer architecture

Hosting Performance-Sensitive Applications in the Cloud

CORBA Component Model(CCM)

Course Contents CCNP (CISco certified network professional)

Arduino Training - Basics of Micro-controllers Programming Basics

Robot Service Network Protocol Developed by Robot Service initiative

HPC Wales Skills Academy Course Catalogue 2015

Programming languagesfor PLC: International Standard IEC (part one)

Transcription:

Separation of Concerns in Component-based Robotics Davide Brugali Università degli Studi di Bergamo, Italy

Robot Control Architectures Typical functions implemented in software Acquiring and interpreting input from sensors Controlling the motion of all moving parts Representing the robot s and environment s state Managing all kinds of resources (power, CPU, memory, devices) Planning future activities Reacting to unpredictable events Typical control paradigms Sense Plan Act Behavior-based control Layered control 2

Robot Software Architectures Typical aspects of software architectures decomposition of the robot control system into a collection of software components encapsulation of functionality and control activities into components definition of data flow and control flow among components Typical software quality factors Reusability Portability Interoperability Maintainability 3

Control vs Software Architecture W. Li, H. I. Christensen, A. Orebäck, D. Chen, An Architecture for Indoor Navigation, ICRA 2004 4

5

Control vs Software Architecture M. Kim, S. Kim, S. Park, M. Choi, M. Kim and H. Gomaa Service Robot Software Development with the COMET/UML Method, IEEE Robotics and Automation Magazine, March 2009 6

Control vs Software Architecture 7

Control vs Software Architecture W. Li, H. I. Christensen, A. Orebäck, D. Chen, An Architecture for Indoor Navigation, ICRA 2004 8

Control vs Software Architecture W. Li, H. I. Christensen, A. Orebäck, D. Chen, An Architecture for Indoor Navigation, ICRA 2004 9

Control vs Software Architecture M. Kim, S. Kim, S. Park, M. Choi, M. Kim and H. Gomaa Service Robot Software Development with the COMET/UML Method, IEEE Robotics and Automation Magazine, March 2009 10

Control vs Software Architecture M. Kim, S. Kim, S. Park, M. Choi, M. Kim and H. Gomaa Service Robot Software Development with the COMET/UML Method, IEEE Robotics and Automation Magazine, March 2009 11

PUSH 12

Control vs Software Architecture READ 13

Control vs Software Architecture The same sensor component is not reusable in two different robotic systems Where is the problem? Not in the control architecture Both architectures indicate that the sensors supply data to the control modules Not in the software architecture The interaction pattern (push / pull) depends on specific requirements of each application 14

Separation of concerns The implementation of the sensor components mixes two different aspects: The component functionality The interaction mechanism 15

Separation of concerns The implementation of the sensor components mixes two different aspects: The component functionality is stable should be reusable The interaction mechanism 16

Separation of concerns The implementation of the sensor components mixes two different aspects: The component functionality is stable should be reusable The interaction mechanism is variable should be flexible 17

Separation of Concerns System Specification 1 * 1..* 1..* Communication Coordination Component Extra-Functional Specification 1 * 1..* 1..* Computation Configuration Component Functional Specification 1 * 1..* 1..* 1..* Provided Interface Required Interface Contract * System 1 * * Container 1 * Component Implementation * 1 Connector Connections E2E QoS Port Resource Service * Object * 1 instance Class IEEE RAM Tutorial on Component Based Robotic Engineering Part I : December 2009 Part II : March 2010 18

Component Interface & Implementation 19

Component Interface & Implementation Refactoring aims at restructuring a set of existing software libraries without affecting their external behavior in order to harmonize their architecture, data structures, and APIs. 20

Refactoring Mobile Manipulation libraries CONFIGURATION C-SPACE INTERFACES FOR COLLISION DETECTION PATH 21

Component Interface & Implementation 22

Computation Path Planner Configuration Space Service Components Sequential Components Collision Checker Cartesian Space Map Updater Navigator Resource Manager Container Component Scheduler 23

Configuration Path Planner Configuration Space Service Components Sequential Components Collision Collision Checker Checker Collision Checker Collision Checker Cartesian Space Map Updater Navigator Resource Manager QoS Negotiation Container Component Scheduler 24

Communication Path Planner Navigator Potential Field Obstacle Avoider Container Event Manager Container Event Manager Distributed Middleware 25

Communication Path Planner Navigator Motor Driver Locomotor Container Stub Container Scheleton Distributed Middleware 26

Communication Path Planner Navigator Assembly Motor Driver Locomotor Assembly Container Stub Container Scheleton Distributed Middleware 27

Coordination Connector 28

Coordination 29

BRICS Research Camps on Mobile Manipulation Malaga, Costa de Sol, Spain - October 24-29, 2010 Invite best Ph.D. students AND PostDocs from all over the world We will provide travel grants (1250 EUR for European students, 2000 EUR for international students) the latest and coolest pieces of robot hardware in mobile manipulation a DVD with best practice software for mobile manipulation a fast Internet access typical mobile manipulation tasks We expect in return a competitive solution to the given tasks either using the provided or self-developed algorithms for mobile manipulation demonstrated in two competitions on the last day of the research camp critical feedback and revisions of the provided hardware and software

31

Thank you for your attention! Davide Brugali Università degli Studi di Bergamo, Italy 32