Model-Driven Software Development for Robotics: an overview - - PowerPoint PPT Presentation

model driven software development for robotics an overview
SMART_READER_LITE
LIVE PREVIEW

Model-Driven Software Development for Robotics: an overview - - PowerPoint PPT Presentation

Model-Driven Software Development for Robotics: an overview IEEE-ICRA2011 Workshop on Software Development and Integration in Robotics Jan F. Broenink , Maarten M. Bezemer Control Engineering, University of Twente, The Netherlands Contents


slide-1
SLIDE 1

Model-Driven Software Development for Robotics: an overview

IEEE-ICRA2011 Workshop on Software Development and Integration in Robotics Jan F. Broenink, Maarten M. Bezemer Control Engineering, University of Twente, The Netherlands

slide-2
SLIDE 2

MD SD for Robotics: an overview 2 9-5-’11

Contents

  • Introduction
  • Context: Robots and software
  • Model-driven design
  • From both worlds
  • Approach
  • Categorization of the tools
  • The overview
  • Highlights from each category
  • Conclusion
  • Compatibility and reuse via components
slide-3
SLIDE 3

MD SD for Robotics: an overview 3 9-5-’11

Context, MD SD, Motivation

  • Model-driven design: models of
  • Embedded control software
  • Behavior of the robot mechanism
  • The combination is relevant
  • Early integration of models
  • Early testing: virtual prototyping
  • Simulation / Co-simulation
  • Systematic design steps
  • => SW for Robots can really be engineered
  • Integration phase better supported
slide-4
SLIDE 4

MD SD for Robotics: an overview 4 9-5-’11

Embedded Control Systems

  • Essential Properties Embedded Control Software
  • Dynamic behavior of the physical system essential for SW
  • Real-time constraints with low-latency requirement
  • Dependability: Safety, Reliability
  • Layered Software structure
  • Model-driven Design
  • Heterogeneous modeling
  • Multiple Models of Computation
  • Multiple Modeling formalisms
slide-5
SLIDE 5

MD SD for Robotics: an overview 5

Models & Views

  • Continuous time / Discrete time
  • Dynamic behavior & control
  • Block diagrams / Bond graphs / FEM models
  • Signal processing
  • Discrete event
  • Software framework
  • Process / Block diagrams,
  • UML diagrams, …
  • Signal processing
  • Construction
  • Mechanical Structure
  • Kinematics

Many different types, different Models of Computation (MoC): Translation not always effective, Co-operation easier

9-5-’11

slide-6
SLIDE 6

MD SD for Robotics: an overview 6

Early Integration

  • Approach
  • Heterogeneous models
  • Simulation as verification means
  • Modeling
  • Start from overall model
  • Refine – more detail
  • Basis for model repository
  • Combine models of parts
  • Bottom up
  • Co-simulation
  • Benefit
  • More effective way of working

9-5-’11

slide-7
SLIDE 7

MD SD for Robotics: an overview 7 9-5-’11

Co-design using models (MDD)

  • Way of Working
  • Abstraction
  • Hierarchy
  • Split into Subsystems
  • Cope with complexity
  • Model-driven design
  • Design Space Exploration
  • Aspect models
  • Make choices
  • Limit solution space
  • Step-wise refinement
  • Add detail
  • Lower abstraction
  • Implementation
  • Realization
  • Concurrent design trajectory
  • Early Integration where possible
slide-8
SLIDE 8

MD SD for Robotics: an overview 8 9-5-’11

Concurrent Design Flow

Concurrently: Software, Electronics, Mechanics

  • 1. Architecture and Dynamic behavior
  • 2. Model-based control law design
  • 3. Software: co-sim, and real-time sim
  • 4. First-time right realization
slide-9
SLIDE 9

MD SD for Robotics: an overview 9

Implication for tools

  • Different nature of models
  • Relevant modeling approaches be covered
  • So, not necessary everything on previous slide
  • Co-operating tools that cover it
  • One simulation model / Co-simulation of more models
  • Iterative design
  • Support for hierarchical models
  • Model administration / management
  • Also for experiments and simulation results
  • MDD from different / both worlds
  • Application-specific versus Generic
  • MDD with different completeness
  • Complete tool, chain of tools / filters, library, framework

9-5-’11

slide-10
SLIDE 10

MD SD for Robotics: an overview 10

Approach: A categorization of tools

  • Generic Design tools from Control / Mechatronics
  • Matlab, Simmechanics, Labview
  • Generic Design tools / approaches from Software Engineering
  • Mostly UML / SysML based
  • IBM Rational Rhapsody, and – Rose
  • Multidisciplinary model-based design tools
  • Dynamics and control in one tool
  • 20-sim, Simulink
  • Co-operating model-based design tools
  • Co-simulation is used, combining different models of computation
  • PtolemyII, DESTECS
  • Generic / Specific robot software design tools
  • Mostly for a specific brand of robots
  • SmartSoft

9-5-’11

slide-11
SLIDE 11

MD SD for Robotics: an overview 11

Generic from Control / Mechatronics

  • Matlab, Simmechanics
  • Market leader as control engineering and signal processing tool
  • Tool specifics
  • Signal level
  • Mix model and

experiment

  • Lot of toolboxes
  • For Robot SW
  • Algorithm -> code
  • Dedicated HW

9-5-’11

slide-12
SLIDE 12

MD SD for Robotics: an overview 12

Generic from Control / Mechatronics

  • Labview
  • Emerged from measurement company
  • Tool Specifics
  • Testing, Rtsim
  • Only graphs
  • For Robot SW
  • Dedicated HW
  • Various HIL sim

9-5-’11

slide-13
SLIDE 13

MD SD for Robotics: an overview 13

Generic from Control / Mechatronics

  • Labview
  • Emerged from measurement company
  • Tool Specifics
  • Testing, Rtsim
  • Only graphs
  • For Robot SW
  • Dedicated HW
  • Various HIL sim

9-5-’11 Control Unit

slide-14
SLIDE 14

MD SD for Robotics: an overview 14

Generic from Software Engineering

9-5-’11

  • Mostly UML / SysML based
  • IBM: Rhapsody, Rose
  • Eclipse: GEF, MDF
  • Rhapsody
  • UML IDE for real-time software
  • Animation facilities
  • For Robot SW
  • Code gen ->

framework

  • Adaptable
  • Quite heavy
slide-15
SLIDE 15

MD SD for Robotics: an overview 15

Multidisciplinary MBD design tools

9-5-’11

  • Dynamics and control in one tool
  • 20-sim, Simulink, Modelica
  • 20sim
  • Physics based
  • Mix types
  • Robot models
  • Simulation
  • Animation
  • For Robot SW
  • Code gen templates
slide-16
SLIDE 16

MD SD for Robotics: an overview 16

Co-operating co-modeling

  • Co-operating model-based design tools
  • Co-simulation: combining different models of computation
  • PtolemyII, DESTECS
  • PtolemyII
  • Research tool
  • Dedicated drawing symbols
  • DESTECS
  • Research tool
  • Starting phase
  • 20sim + Overture (VMD++)

9-5-’11

slide-17
SLIDE 17

MD SD for Robotics: an overview 17

Co-operating co-modeling: PtolemyII

9-5-’11

Loop Controller Motion Profiles State Machine Synchronous Dataflow Director Encoder Magnet

  • Sync. to next unit
  • Sync. from previous unit

Sensor Setpoints Select Ready

slide-18
SLIDE 18

MD SD for Robotics: an overview 18

Dedicated robot software tools

  • Generic / Specific robot software design tools
  • Specific for a specific brand of robots
  • So, not open, not usable for other robots
  • Often not adaptable
  • See ICRA-2010 workshop on Robot Control Architectures:

How to Modify and Enhance Commercial Controllers

  • SmartSoft
  • Communication patterns as core of the robot component model
  • Code-driven to real model-driven
  • Strict component-based approach separates concerns:
  • Algorithms / middleware
  • (see presentation later today)

9-5-’11

slide-19
SLIDE 19

MD SD for Robotics: an overview 19

Frameworks / libraries etc

  • Quite a few are around
  • YARP, RoboFrame, OROCOS, ROS
  • OROCOS
  • Component: ports are categorized
  • Supports hard-real time
  • Separating normal activity from configuration
  • Can use other frameworks like ROS
  • ROS – Willow Garage
  • Open source framework for service robots
  • Oriented from SW engineering
  • Very active, also here at ICRA

9-5-’11

slide-20
SLIDE 20

MD SD for Robotics: an overview 20

Conclusion

  • Demands for tools is diverse
  • Different contexts -> different goals / questions
  • -> Different models -> different tools
  • Trends
  • Towards model-driven design (and thus support)
  • From document-based; From code-based; From model-based
  • Towards components to support reusability
  • Tools can interface to each other
  • Better: need to interface, i.e. be compatible
  • End users can choose the best tool they like
  • Models / Software solutions as components
  • To effectively reuse existing results
  • To follow / stimulate new developments

9-5-’11

slide-21
SLIDE 21

Model-Driven Software Development for Robotics: an overview

IEEE-ICRA2011 Workshop on Software Development and Integration in Robotics Jan F. Broenink, Maarten M. Bezemer Control Engineering, University of Twente, The Netherlands