+ All Categories
Home > Documents > A Software Architecture for Model-Based Programming of Robot … · 2009-06-10 · A Software...

A Software Architecture for Model-Based Programming of Robot … · 2009-06-10 · A Software...

Date post: 04-Mar-2020
Category:
Upload: others
View: 1 times
Download: 0 times
Share this document with a friend
15
1 Technische Universität München, Germany Department of Informatics, Unit VI: Robotics and Embedded Systems A Software Architecture for Model-Based Programming of Robot Systems Michael Geisinger Joint work with Simon Barner, Martin Wojtczyk, and Alois Knoll German Workshop on Robotics (GWR09) June 9 and 10, 2009, Braunschweig, Germany
Transcript
Page 1: A Software Architecture for Model-Based Programming of Robot … · 2009-06-10 · A Software Architecture for Model-Based Programming of Robot Systems Michael Geisinger Joint work

1

Technische Universität München, GermanyDepartment of Informatics, Unit VI: Robotics and Embedded Systems

A Software Architecture for Model-Based Programming of Robot Systems

Michael Geisinger

Joint work with

Simon Barner, Martin Wojtczyk, and Alois Knoll

German Workshop on Robotics (GWR09)

June 9 and 10, 2009, Braunschweig, Germany

Page 2: A Software Architecture for Model-Based Programming of Robot … · 2009-06-10 · A Software Architecture for Model-Based Programming of Robot Systems Michael Geisinger Joint work

2

Technische Universität München, GermanyDepartment of Informatics, Unit VI: Robotics and Embedded Systems

Motivation

Robot systems consist of highlyheterogeneous sub-components

Microcontroller platforms

Processing power

With/without operating system

Need for tool support

Model-driven design ata high level of abstraction

Equal design process forcomponents on all levels

Required model semantics

Different levels of “model execution” (code generation, …)

Use single tool to program many components of a concrete robot system

Example: TAMS Service Robot System Architecture (Westhoff, Zhang; 2007)

Page 3: A Software Architecture for Model-Based Programming of Robot … · 2009-06-10 · A Software Architecture for Model-Based Programming of Robot Systems Michael Geisinger Joint work

3

Technische Universität München, GermanyDepartment of Informatics, Unit VI: Robotics and Embedded Systems

Outline

1.

Model-Driven Development Tool EasyLab

2.

Modes of Model Execution

3.

Conclusion and Outlook

Page 4: A Software Architecture for Model-Based Programming of Robot … · 2009-06-10 · A Software Architecture for Model-Based Programming of Robot Systems Michael Geisinger Joint work

4

Technische Universität München, GermanyDepartment of Informatics, Unit VI: Robotics and Embedded Systems

EasyLab: Model-Driven Development Tool

Software tool for modeling,

simulation, code generation, debugging

Primary focus: mechatronic systems

(i.e., small units with “local intelligence”)

Supports different microcontroller platforms

Currently used to program

smart sensors and actuators

Model

Simulation

Code Generation

Debugging Formal Verification

Deployment

Page 5: A Software Architecture for Model-Based Programming of Robot … · 2009-06-10 · A Software Architecture for Model-Based Programming of Robot Systems Michael Geisinger Joint work

5

Technische Universität München, GermanyDepartment of Informatics, Unit VI: Robotics and Embedded Systems

EasyLab: Models

Device model

Specification of (controller) hardware

Resource management

Easily extensible device library

Application model

System behavior

Two visual modeling languages

Page 6: A Software Architecture for Model-Based Programming of Robot … · 2009-06-10 · A Software Architecture for Model-Based Programming of Robot Systems Michael Geisinger Joint work

6

Technische Universität München, GermanyDepartment of Informatics, Unit VI: Robotics and Embedded Systems

EasyLab: Modeling Languages

Structured Data Flow (SDF)

Function blocks as primitives with associated code templates

Advantages:

Widely accepted in application domain (“black boxes“)

Static scheduling and memory allocation

State Flow Chart (SFC)

State sequences withBoolean transition conditions

Alternative/parallel branches, jumps

State as reference to SDF program

Advantages:

Automaton-like semantics

Explicit representation of parallelism

Page 7: A Software Architecture for Model-Based Programming of Robot … · 2009-06-10 · A Software Architecture for Model-Based Programming of Robot Systems Michael Geisinger Joint work

7

Technische Universität München, GermanyDepartment of Informatics, Unit VI: Robotics and Embedded Systems

EasyLab: Code Generation

Efficient and robust implementation on resource-constrained systems

Approach:

Code templates for primitive model elements

Templates are based on platform-specific runtimelibrary (abstraction of low-level hardware features)

Execution platform informationinfluence code generator

Codetemplates

ExecutionplatformCode generator

Runtime library

Hardware

OS

Middleware

Generated code

Applicationmodel

Analysis

Hardwaremodel

Page 8: A Software Architecture for Model-Based Programming of Robot … · 2009-06-10 · A Software Architecture for Model-Based Programming of Robot Systems Michael Geisinger Joint work

8

Technische Universität München, GermanyDepartment of Informatics, Unit VI: Robotics and Embedded Systems

Modes of Model Execution

Different ways to actually run the modeled application

Native execution

Local execution

Remote execution

Page 9: A Software Architecture for Model-Based Programming of Robot … · 2009-06-10 · A Software Architecture for Model-Based Programming of Robot Systems Michael Geisinger Joint work

9

Technische Universität München, GermanyDepartment of Informatics, Unit VI: Robotics and Embedded Systems

Native Execution

Code generation

Application executed natively on target hardware

No operating system required

Application scenario: smart sensors and actuators without operating system

Page 10: A Software Architecture for Model-Based Programming of Robot … · 2009-06-10 · A Software Architecture for Model-Based Programming of Robot Systems Michael Geisinger Joint work

10

Technische Universität München, GermanyDepartment of Informatics, Unit VI: Robotics and Embedded Systems

Native Execution Example

Intelligent pneumatic cylinder: piston positioning

Scope: Demonstration of simple controller tasks,“local intelligence”

Hardware: cylinder, 2 valves, position sensor

Controller: Match-X construction kit(modular micro system) with PIC18F 8-bit CPU

Page 11: A Software Architecture for Model-Based Programming of Robot … · 2009-06-10 · A Software Architecture for Model-Based Programming of Robot Systems Michael Geisinger Joint work

11

Technische Universität München, GermanyDepartment of Informatics, Unit VI: Robotics and Embedded Systems

Local Execution

Application executed by interpreting application model on target

Requires OS and command-line interpreter for target platform

No code generation required, platform independent application

model may be directly modified

Application scenario: main controllers of robot systems

Page 12: A Software Architecture for Model-Based Programming of Robot … · 2009-06-10 · A Software Architecture for Model-Based Programming of Robot Systems Michael Geisinger Joint work

12

Technische Universität München, GermanyDepartment of Informatics, Unit VI: Robotics and Embedded Systems

Local Execution Example

F5 platform/Leonardo:image processing, localization, mapping, path planning

Scope: advanced service tasks in industrialor research environments, education

Hardware:

Laser range scanner, motors

Extensions:Camera/force-torque basedmobile manipulator

Box transportation system

Controller: Powerful standard PC

Page 13: A Software Architecture for Model-Based Programming of Robot … · 2009-06-10 · A Software Architecture for Model-Based Programming of Robot Systems Michael Geisinger Joint work

13

Technische Universität München, GermanyDepartment of Informatics, Unit VI: Robotics and Embedded Systems

Remote Execution

Application simulated on a remote machine

Control and sensor signals redirected to target

Target has proxy application that relays between simulator/hardware

Application scenarios: “slow” target systems, during development

(adaptation of model during runtime possible)

Page 14: A Software Architecture for Model-Based Programming of Robot … · 2009-06-10 · A Software Architecture for Model-Based Programming of Robot Systems Michael Geisinger Joint work

14

Technische Universität München, GermanyDepartment of Informatics, Unit VI: Robotics and Embedded Systems

Remote Execution Example

Mobile robot platform Robotino®:camera-based navigation,path planning, odometry

Scope: educational area

Hardware: 3 motors, infrareddistance sensors, camera,bumper, I/O for adding extensions

Controller: PC104(not suitable for compu-tation intensive tasks)

Page 15: A Software Architecture for Model-Based Programming of Robot … · 2009-06-10 · A Software Architecture for Model-Based Programming of Robot Systems Michael Geisinger Joint work

15

Technische Universität München, GermanyDepartment of Informatics, Unit VI: Robotics and Embedded Systems

Conclusion and Outlook

EasyLab is suitable for model-driven developmentof components of robot systems at different levels

Native execution (code generation) onresource-constrained embedded targets

Local execution (interpretation) on targets withoperating system if easy reconfiguration is required

Remote execution (simulation) duringdevelopment/debugging and on “slow”target systems with OS

Future work:Addition of distribution model

Interfaces for service oriented architecture

Optimized support for multi-core architectures


Recommended