SlideShare ist ein Scribd-Unternehmen logo
1 von 27
Downloaden Sie, um offline zu lesen
A Graphical Language for Real-Time Critical Robot Commands
Andreas Angerer,
Remi Smirra, Alwin Hoffmann, Andreas Schierl, Michael Vistein, Wolfgang Reif
Agenda

1. Motivation – the SoftRobot architecture

2. GSRAPID basics

3. Parameter handling in GSRAPID

4. Conclusion




05.11.2012      A Graphical Language for Real-Time Critical Robot Commands
Agenda

1. Motivation – the SoftRobot architecture

2. GSRAPID basics

3. Parameter handling in GSRAPID

4. Conclusion




05.11.2012      A Graphical Language for Real-Time Critical Robot Commands
Software Development for Industrial Robots

Current situation                                 Vision
• Sophisticated mechanical                        • Apply modern software
  components and control                            engineering to industrial robots
  algorithms
                                                  • Facilitate robotics software
• High precision, reliability and                   development by providing
  repeatability                                     “robotics” as just another API in
                                                    a popular programming
• Specialized, proprietary                          language (the “Robotics API”)
  programming languages and
  outdated software concepts                      • Thus increase reuse and reduce
  (e.g. KUKA KRL)                                   development time



05.11.2012             A Graphical Language for Real-Time Critical Robot Commands
The SoftRobot Architecture
                     Robot                Domain-Specific             Service-Oriented
                   Applications             Languages                   Automation
   Programming
    Application




                                                                         [Angerer2010]
                                    Robotics API
                                     (standard Java/C#)
                                                                                             Automated
                                                                                           transformation
                                                                                            into real-time
                             Realtime Primitives Interface                                 dataflow graphs
                                                                                             [Schierl2012]
   Robot Control




                              Robot Control Core
    Real-Time




                                      (C++, Linux/RTAI)                    [Vistein2010]



                                        Robot Hardware
05.11.2012                  A Graphical Language for Real-Time Critical Robot Commands
SoftRobot Architecture – Details

• Commands can be combined flexibly
                                                    start/stop Command
                                                    throw an error
                                                    start Java thread
                                                    …
                                                    state entered
                                                    state left




19.05.2011      Oberseminar ISSE - Das Programmiermodell der Robotics API   7
SoftRobot Architecture – Details

• Commands can be combined flexibly
• RPI dataflow graphs are generated at runtime



                                                       OrocosRuntime
                                                      .load(Command)




19.05.2011      Oberseminar ISSE - Das Programmiermodell der Robotics API   8
SoftRobot Architecture – Details

• Commands can be combined flexibly
• RPI dataflow graphs are generated at runtime



                                                       OrocosRuntime
                                                      .load(Command)




• Downside: programming Commands is tedious
19.05.2011      Oberseminar ISSE - Das Programmiermodell der Robotics API   9
Refining the Robotics API interface (I)

• Introducing the Activity Layer

                                                                    Activity Layer
             Robotics API
                            standard Java/C#



                                               Meta Data                  Activity              Actuator Interface



                                                 Action                  Command                    Actuator


                                                  PTP             Command Layer                       Robot
             RCC




                                               Calculation                                           Device
                            C++




                                                Modules         Robot Control Core                   Drivers



05.11.2012                                      A Graphical Language for Real-Time Critical Robot Commands
Refining the Robotics API interface (II)

• Introducing the GSRAPID Language


                                               Graphical SoftRobot Robotics API Diagram
             Robotics API
                            standard Java/C#



                                                               Language


                                                 Action                  Command                    Actuator


                                                  PTP             Command Layer                       Robot
             RCC




                                               Calculation                                           Device
                            C++




                                                Modules         Robot Control Core                   Drivers



05.11.2012                                      A Graphical Language for Real-Time Critical Robot Commands
Agenda

1. Motivation – the SoftRobot architecture

2. GSRAPID basics

3. Parameter handling in GSRAPID

4. Conclusion




05.11.2012      A Graphical Language for Real-Time Critical Robot Commands
What is GSRAPID?

• A graphical language for specifying complex
  Robotics API Commands

• Diagrams can be edited, saved/loaded and
  syntactically checked

• Integrated code generator: Creates Java code that
  instantiates the specified Robotics API Command
  => Command can be used as black-box in Java code

• Realized in Eclipse with GMF (EMF + GEF)
05.11.2012      A Graphical Language for Real-Time Critical Robot Commands
GSRAPID editor layout




05.11.2012     A Graphical Language for Real-Time Critical Robot Commands
GSRAPID editor layout




 Diagram
 Canvas                                                                     Tool-
                                                                            box




Properties
Editor



05.11.2012     A Graphical Language for Real-Time Critical Robot Commands
Basic GSRAPID elements (I)




05.11.2012     A Graphical Language for Real-Time Critical Robot Commands
Basic GSRAPID elements (II)




05.11.2012     A Graphical Language for Real-Time Critical Robot Commands
Agenda

1. Motivation – the SoftRobot architecture

2. GSRAPID basics

3. Parameter handling in GSRAPID

4. Conclusion




05.11.2012      A Graphical Language for Real-Time Critical Robot Commands
Parametrization using Property Editor




05.11.2012     A Graphical Language for Real-Time Critical Robot Commands
Dynamic Properties

                                 • Properties are dynamic and
                                   context sensitive

                                 • Java reflection is used to
                                   determine possible sources
                                   of property values (by type)

                                 • Challenge: How to deal with
                                   method arguments?



05.11.2012    A Graphical Language for Real-Time Critical Robot Commands
Property arguments: Primitive types




05.11.2012     A Graphical Language for Real-Time Critical Robot Commands
Property arguments: Recursive method calls

                                      • Arguments for method
                                        parameters can be provided
                                        by further method calls

                                      • Possible methods again
                                        determined by type

                                      • Challenge: How to deal with
                                        “intermediate” types?
                                        E.g.:
                                          lwr.getForceTorqueSensor()
                                                .getForceX()
                                                                            Returned type
                                                                            not expected!
05.11.2012     A Graphical Language for Real-Time Critical Robot Commands
Variables as property arguments

• Solution: Treat un-set properties as variables

• All variables have to be set at code level by developers
  that use Commands defined with GSRAPID

• Challenge: What about the context of a property
  variable?
  Again: lwr.getForceTorqueSensor().getForceX()
                Exactly this instance of a robot (defined in
                the GSRAPID diagram) has to be accessed!

• Solution: The ISetter ”pattern”
05.11.2012       A Graphical Language for Real-Time Critical Robot Commands
Defining ISetters for variables

• Generic interface ISetter:
             public interface ISetter<T> {
                      T set();
             }

• Developer has to supply concrete instances of ISetters
  that serve as callbacks for setting unresolved variables

• ISetters are called only once the variable‘s context (e.g.
  ‚lwr‘ in the previous example) has been initialized

• Context is accessible via static fields of the generated class

05.11.2012                 A Graphical Language for Real-Time Critical Robot Commands
Agenda

1. Motivation – the SoftRobot architecture

2. GSRAPID basics

3. Parameter handling in GSRAPID

4. Conclusion




05.11.2012      A Graphical Language for Real-Time Critical Robot Commands
Conclusion

• GSRAPID is an approach to quickly and intuitively
  specify real-time critical Robotics API Commands

• Focus on visualizing Command structure

• Eclipse-based DSL tools proved to be a good platform
      – Complex, but flexible and powerful
      – GSRAPID was created in a 6-month master thesis!

• First (informal) evaluations of GSRAPID are promising,
  yet many improvements possible!
05.11.2012          A Graphical Language for Real-Time Critical Robot Commands
This work presents results of the research
               project SoftRobot which was funded by
                the European Union and the Bavarian
             government. The project was carried out
              together with KUKA Laboratories GmbH
              and MRK-Systeme GmbH and was kindly
                   supported by VDI/VDE-IT GmbH




                   Thank you for your attention!
05.11.2012          A Graphical Language for Real-Time Critical Robot Commands
References

[Angerer2010] Angerer, A.; Hoffmann, A.; Schierl, A.; Vistein, M. & Reif, W.
The Robotics API: An Object-Oriented Framework for Modeling Industrial Robotics Applications
Proc. 2010 IEEE/RSJ Intl. Conf. on Intelligent Robots and Systems (IROS2010), Taipeh, Taiwan,
IEEE, 2010, 4036-4041


[Vistein2010] Vistein, M.; Angerer, A.; Hoffmann, A.; Schierl, A. & Reif, W.
Interfacing Industrial Robots using Realtime Primitives
Proc. 2010 IEEE Intl. Conf. on Automation and Logistics (ICAL~2010), Hong Kong, China, IEEE,
2010, 468-473

[Schierl2012] Schierl, A.; Angerer, A.; Hoffmann, A.; Vistein, M. & Reif, W.
From Robot Commands To Real-Time Robot Control - Transforming High-Level Robot Commands
into Real-Time Dataflow Graphs
Proc. 2012 Intl. Conf. on Informatics in Control, Automation and Robotics, Rome, Italy, 2012




05.11.2012                   A Graphical Language for Real-Time Critical Robot Commands

Weitere ähnliche Inhalte

Was ist angesagt?

New integrations for synergy and change - Sean Innes
New integrations for synergy and change - Sean InnesNew integrations for synergy and change - Sean Innes
New integrations for synergy and change - Sean InnesRoopa Nadkarni
 
2 rft simplified_scripting_shinoj_z
2 rft simplified_scripting_shinoj_z2 rft simplified_scripting_shinoj_z
2 rft simplified_scripting_shinoj_zIBM
 
Verteilte SoftwareEntwicklung 2011 - von klassischen Modellen bis Scrum und S...
Verteilte SoftwareEntwicklung 2011 - von klassischen Modellen bis Scrum und S...Verteilte SoftwareEntwicklung 2011 - von klassischen Modellen bis Scrum und S...
Verteilte SoftwareEntwicklung 2011 - von klassischen Modellen bis Scrum und S...Intland Software GmbH
 
Migrating Legacy Waveforms to the Software Communications Architecture (SCA)
Migrating Legacy Waveforms to the Software Communications Architecture (SCA)Migrating Legacy Waveforms to the Software Communications Architecture (SCA)
Migrating Legacy Waveforms to the Software Communications Architecture (SCA)ADLINK Technology IoT
 
Florian adler minute project
Florian adler   minute projectFlorian adler   minute project
Florian adler minute projectDmitry Buzdin
 
Cloud Biocep
Cloud BiocepCloud Biocep
Cloud BiocepInria
 
An introduction to smart use cases
An introduction to smart use casesAn introduction to smart use cases
An introduction to smart use casesSander Hoogendoorn
 
Обзор продуктов IBM Rational
Обзор продуктов IBM RationalОбзор продуктов IBM Rational
Обзор продуктов IBM RationalAlexander Novichkov
 
Model driven development using smart use cases and domain driven design
Model driven development using smart use cases and domain driven designModel driven development using smart use cases and domain driven design
Model driven development using smart use cases and domain driven designSander Hoogendoorn
 

Was ist angesagt? (12)

Parking Lot App
Parking Lot AppParking Lot App
Parking Lot App
 
New integrations for synergy and change - Sean Innes
New integrations for synergy and change - Sean InnesNew integrations for synergy and change - Sean Innes
New integrations for synergy and change - Sean Innes
 
2 rft simplified_scripting_shinoj_z
2 rft simplified_scripting_shinoj_z2 rft simplified_scripting_shinoj_z
2 rft simplified_scripting_shinoj_z
 
Generator
GeneratorGenerator
Generator
 
Verteilte SoftwareEntwicklung 2011 - von klassischen Modellen bis Scrum und S...
Verteilte SoftwareEntwicklung 2011 - von klassischen Modellen bis Scrum und S...Verteilte SoftwareEntwicklung 2011 - von klassischen Modellen bis Scrum und S...
Verteilte SoftwareEntwicklung 2011 - von klassischen Modellen bis Scrum und S...
 
Java withrealworldtechnology
Java withrealworldtechnologyJava withrealworldtechnology
Java withrealworldtechnology
 
Migrating Legacy Waveforms to the Software Communications Architecture (SCA)
Migrating Legacy Waveforms to the Software Communications Architecture (SCA)Migrating Legacy Waveforms to the Software Communications Architecture (SCA)
Migrating Legacy Waveforms to the Software Communications Architecture (SCA)
 
Florian adler minute project
Florian adler   minute projectFlorian adler   minute project
Florian adler minute project
 
Cloud Biocep
Cloud BiocepCloud Biocep
Cloud Biocep
 
An introduction to smart use cases
An introduction to smart use casesAn introduction to smart use cases
An introduction to smart use cases
 
Обзор продуктов IBM Rational
Обзор продуктов IBM RationalОбзор продуктов IBM Rational
Обзор продуктов IBM Rational
 
Model driven development using smart use cases and domain driven design
Model driven development using smart use cases and domain driven designModel driven development using smart use cases and domain driven design
Model driven development using smart use cases and domain driven design
 

Andere mochten auch

General Structure of a Robot - V2
General Structure of a Robot - V2General Structure of a Robot - V2
General Structure of a Robot - V2David Bensoussan
 
The Light Bulb Moment – Learning to-identify-robotic-automation-opportunities
The Light Bulb Moment – Learning to-identify-robotic-automation-opportunitiesThe Light Bulb Moment – Learning to-identify-robotic-automation-opportunities
The Light Bulb Moment – Learning to-identify-robotic-automation-opportunitiesOpenSpan
 
Natural Language in Human-Robot Interaction
Natural Language in Human-Robot InteractionNatural Language in Human-Robot Interaction
Natural Language in Human-Robot InteractionSeokhwan Kim
 
ROS-Industrial Kuka LBR-iiwa community meeting
ROS-Industrial Kuka LBR-iiwa community meetingROS-Industrial Kuka LBR-iiwa community meeting
ROS-Industrial Kuka LBR-iiwa community meetingClay Flannigan
 
Textual Robot programming
Textual Robot programmingTextual Robot programming
Textual Robot programmingCHEMGLOBE
 
What You Need to Know About Robotic Process Automation: How It Works & Real-W...
What You Need to Know About Robotic Process Automation: How It Works & Real-W...What You Need to Know About Robotic Process Automation: How It Works & Real-W...
What You Need to Know About Robotic Process Automation: How It Works & Real-W...Captricity
 
Robotic Process Automation: A Cohesive View
Robotic Process Automation: A Cohesive ViewRobotic Process Automation: A Cohesive View
Robotic Process Automation: A Cohesive ViewChristopher Manfredi
 
Industrial robots
Industrial robotsIndustrial robots
Industrial robotsOhgoma
 
Applying Robotic Process Automation in Banking: Innovations in Finance and Risk
Applying Robotic Process Automation in Banking: Innovations in Finance and RiskApplying Robotic Process Automation in Banking: Innovations in Finance and Risk
Applying Robotic Process Automation in Banking: Innovations in Finance and Riskaccenture
 
Robot programming
Robot programmingRobot programming
Robot programmingGopal Saini
 

Andere mochten auch (11)

General Structure of a Robot - V2
General Structure of a Robot - V2General Structure of a Robot - V2
General Structure of a Robot - V2
 
The Light Bulb Moment – Learning to-identify-robotic-automation-opportunities
The Light Bulb Moment – Learning to-identify-robotic-automation-opportunitiesThe Light Bulb Moment – Learning to-identify-robotic-automation-opportunities
The Light Bulb Moment – Learning to-identify-robotic-automation-opportunities
 
Natural Language in Human-Robot Interaction
Natural Language in Human-Robot InteractionNatural Language in Human-Robot Interaction
Natural Language in Human-Robot Interaction
 
ROS-Industrial Kuka LBR-iiwa community meeting
ROS-Industrial Kuka LBR-iiwa community meetingROS-Industrial Kuka LBR-iiwa community meeting
ROS-Industrial Kuka LBR-iiwa community meeting
 
Textual Robot programming
Textual Robot programmingTextual Robot programming
Textual Robot programming
 
What You Need to Know About Robotic Process Automation: How It Works & Real-W...
What You Need to Know About Robotic Process Automation: How It Works & Real-W...What You Need to Know About Robotic Process Automation: How It Works & Real-W...
What You Need to Know About Robotic Process Automation: How It Works & Real-W...
 
Robotic Process Automation: A Cohesive View
Robotic Process Automation: A Cohesive ViewRobotic Process Automation: A Cohesive View
Robotic Process Automation: A Cohesive View
 
Industrial robots
Industrial robotsIndustrial robots
Industrial robots
 
Applying Robotic Process Automation in Banking: Innovations in Finance and Risk
Applying Robotic Process Automation in Banking: Innovations in Finance and RiskApplying Robotic Process Automation in Banking: Innovations in Finance and Risk
Applying Robotic Process Automation in Banking: Innovations in Finance and Risk
 
Industrial robotics
Industrial roboticsIndustrial robotics
Industrial robotics
 
Robot programming
Robot programmingRobot programming
Robot programming
 

Ähnlich wie A Graphical Language for Real-Time Critical Robot Commands

Titanium Mobile: flexibility vs. performance
Titanium Mobile: flexibility vs. performanceTitanium Mobile: flexibility vs. performance
Titanium Mobile: flexibility vs. performanceomorandi
 
[2011-17-C-4] Heroku & database.com
[2011-17-C-4] Heroku & database.com[2011-17-C-4] Heroku & database.com
[2011-17-C-4] Heroku & database.comMitch Okamoto
 
Building single page applications
Building single page applicationsBuilding single page applications
Building single page applicationsSC5.io
 
Topics in robotics
Topics in roboticsTopics in robotics
Topics in roboticsBushra Jbawi
 
What is Google App Engine?
What is Google App Engine?What is Google App Engine?
What is Google App Engine?weschwee
 
FIWARE Wednesday Webinars - How to Develop FIWARE NGSI Interfaces for Robots
FIWARE Wednesday Webinars - How to Develop FIWARE NGSI Interfaces for RobotsFIWARE Wednesday Webinars - How to Develop FIWARE NGSI Interfaces for Robots
FIWARE Wednesday Webinars - How to Develop FIWARE NGSI Interfaces for RobotsFIWARE
 
App Engine overview (Android meetup 06-10)
App Engine overview (Android meetup 06-10)App Engine overview (Android meetup 06-10)
App Engine overview (Android meetup 06-10)jasonacooper
 
Developing intelligent robots with AWS RoboMaker
Developing intelligent robots with AWS RoboMakerDeveloping intelligent robots with AWS RoboMaker
Developing intelligent robots with AWS RoboMakerThomas Moulard
 
Robots in Human Environments
Robots in Human EnvironmentsRobots in Human Environments
Robots in Human EnvironmentsAndreas Heil
 
mRuby - Powerful Software for Embedded System Development
mRuby - Powerful Software for Embedded System DevelopmentmRuby - Powerful Software for Embedded System Development
mRuby - Powerful Software for Embedded System DevelopmentKazuhiro Koga 古賀一博
 
A 4-Axis Robot Arm
A 4-Axis Robot ArmA 4-Axis Robot Arm
A 4-Axis Robot Armsouriguha
 
MDE based FPGA physical Design Fast prototyping with Smalltalk
MDE based FPGA physical Design Fast prototyping with SmalltalkMDE based FPGA physical Design Fast prototyping with Smalltalk
MDE based FPGA physical Design Fast prototyping with SmalltalkESUG
 
Plugin-able POS Solutions by Javascript @HDM9 Taiwan
Plugin-able POS Solutions by Javascript @HDM9 TaiwanPlugin-able POS Solutions by Javascript @HDM9 Taiwan
Plugin-able POS Solutions by Javascript @HDM9 TaiwanRack Lin
 
A Software Factory Integrating Rational Team Concert and WebSphere tools
A Software Factory Integrating Rational Team Concert and WebSphere toolsA Software Factory Integrating Rational Team Concert and WebSphere tools
A Software Factory Integrating Rational Team Concert and WebSphere toolsProlifics
 
Highly Surmountable Challenges in Ruby+OMR JIT Compilation
Highly Surmountable Challenges in Ruby+OMR JIT CompilationHighly Surmountable Challenges in Ruby+OMR JIT Compilation
Highly Surmountable Challenges in Ruby+OMR JIT CompilationMatthew Gaudet
 
What Your Jvm Has Been Trying To Tell You
What Your Jvm Has Been Trying To Tell YouWhat Your Jvm Has Been Trying To Tell You
What Your Jvm Has Been Trying To Tell YouJohn Pape
 
Enterprise apps using ruby droid con berlin 2012
Enterprise apps using ruby droid con berlin 2012Enterprise apps using ruby droid con berlin 2012
Enterprise apps using ruby droid con berlin 2012Droidcon Berlin
 
(ATS3-GS02) Accelrys Enterprise Platform in Enterprise Architectures
(ATS3-GS02) Accelrys Enterprise Platform in Enterprise Architectures(ATS3-GS02) Accelrys Enterprise Platform in Enterprise Architectures
(ATS3-GS02) Accelrys Enterprise Platform in Enterprise ArchitecturesBIOVIA
 

Ähnlich wie A Graphical Language for Real-Time Critical Robot Commands (20)

Project Zero Php Quebec
Project Zero Php QuebecProject Zero Php Quebec
Project Zero Php Quebec
 
Titanium Mobile: flexibility vs. performance
Titanium Mobile: flexibility vs. performanceTitanium Mobile: flexibility vs. performance
Titanium Mobile: flexibility vs. performance
 
[2011-17-C-4] Heroku & database.com
[2011-17-C-4] Heroku & database.com[2011-17-C-4] Heroku & database.com
[2011-17-C-4] Heroku & database.com
 
Blue Ruby SDN Webinar
Blue Ruby SDN WebinarBlue Ruby SDN Webinar
Blue Ruby SDN Webinar
 
Building single page applications
Building single page applicationsBuilding single page applications
Building single page applications
 
Topics in robotics
Topics in roboticsTopics in robotics
Topics in robotics
 
What is Google App Engine?
What is Google App Engine?What is Google App Engine?
What is Google App Engine?
 
FIWARE Wednesday Webinars - How to Develop FIWARE NGSI Interfaces for Robots
FIWARE Wednesday Webinars - How to Develop FIWARE NGSI Interfaces for RobotsFIWARE Wednesday Webinars - How to Develop FIWARE NGSI Interfaces for Robots
FIWARE Wednesday Webinars - How to Develop FIWARE NGSI Interfaces for Robots
 
App Engine overview (Android meetup 06-10)
App Engine overview (Android meetup 06-10)App Engine overview (Android meetup 06-10)
App Engine overview (Android meetup 06-10)
 
Developing intelligent robots with AWS RoboMaker
Developing intelligent robots with AWS RoboMakerDeveloping intelligent robots with AWS RoboMaker
Developing intelligent robots with AWS RoboMaker
 
Robots in Human Environments
Robots in Human EnvironmentsRobots in Human Environments
Robots in Human Environments
 
mRuby - Powerful Software for Embedded System Development
mRuby - Powerful Software for Embedded System DevelopmentmRuby - Powerful Software for Embedded System Development
mRuby - Powerful Software for Embedded System Development
 
A 4-Axis Robot Arm
A 4-Axis Robot ArmA 4-Axis Robot Arm
A 4-Axis Robot Arm
 
MDE based FPGA physical Design Fast prototyping with Smalltalk
MDE based FPGA physical Design Fast prototyping with SmalltalkMDE based FPGA physical Design Fast prototyping with Smalltalk
MDE based FPGA physical Design Fast prototyping with Smalltalk
 
Plugin-able POS Solutions by Javascript @HDM9 Taiwan
Plugin-able POS Solutions by Javascript @HDM9 TaiwanPlugin-able POS Solutions by Javascript @HDM9 Taiwan
Plugin-able POS Solutions by Javascript @HDM9 Taiwan
 
A Software Factory Integrating Rational Team Concert and WebSphere tools
A Software Factory Integrating Rational Team Concert and WebSphere toolsA Software Factory Integrating Rational Team Concert and WebSphere tools
A Software Factory Integrating Rational Team Concert and WebSphere tools
 
Highly Surmountable Challenges in Ruby+OMR JIT Compilation
Highly Surmountable Challenges in Ruby+OMR JIT CompilationHighly Surmountable Challenges in Ruby+OMR JIT Compilation
Highly Surmountable Challenges in Ruby+OMR JIT Compilation
 
What Your Jvm Has Been Trying To Tell You
What Your Jvm Has Been Trying To Tell YouWhat Your Jvm Has Been Trying To Tell You
What Your Jvm Has Been Trying To Tell You
 
Enterprise apps using ruby droid con berlin 2012
Enterprise apps using ruby droid con berlin 2012Enterprise apps using ruby droid con berlin 2012
Enterprise apps using ruby droid con berlin 2012
 
(ATS3-GS02) Accelrys Enterprise Platform in Enterprise Architectures
(ATS3-GS02) Accelrys Enterprise Platform in Enterprise Architectures(ATS3-GS02) Accelrys Enterprise Platform in Enterprise Architectures
(ATS3-GS02) Accelrys Enterprise Platform in Enterprise Architectures
 

Mehr von Serge Stinckwich

Pure Coordination Using the Coordinator-Configurator Pattern
Pure Coordination Using the Coordinator-Configurator PatternPure Coordination Using the Coordinator-Configurator Pattern
Pure Coordination Using the Coordinator-Configurator PatternSerge Stinckwich
 
Dealing with Run-Time Variability in Service Robotics: Towards a DSL for Non-...
Dealing with Run-Time Variability in Service Robotics: Towards a DSL for Non-...Dealing with Run-Time Variability in Service Robotics: Towards a DSL for Non-...
Dealing with Run-Time Variability in Service Robotics: Towards a DSL for Non-...Serge Stinckwich
 
Introduction to DYROS'10 Workshop
Introduction to DYROS'10 WorkshopIntroduction to DYROS'10 Workshop
Introduction to DYROS'10 WorkshopSerge Stinckwich
 
A DSL for the visualization of Multi-Robot Systems
A DSL for the visualization of Multi-Robot SystemsA DSL for the visualization of Multi-Robot Systems
A DSL for the visualization of Multi-Robot SystemsSerge Stinckwich
 
Using Smalltalk for controlling robotics systems
Using Smalltalk for controlling robotics systemsUsing Smalltalk for controlling robotics systems
Using Smalltalk for controlling robotics systemsSerge Stinckwich
 
Visit to Vung Vieng Village - OLPC Vietnam
Visit to Vung Vieng Village - OLPC VietnamVisit to Vung Vieng Village - OLPC Vietnam
Visit to Vung Vieng Village - OLPC VietnamSerge Stinckwich
 
Pharo, an innovative and open-source Smalltalk
Pharo, an innovative and open-source SmalltalkPharo, an innovative and open-source Smalltalk
Pharo, an innovative and open-source SmalltalkSerge Stinckwich
 
Smalltalk合同勉強会@名古屋 talk: Pharo introduction
Smalltalk合同勉強会@名古屋 talk: Pharo introductionSmalltalk合同勉強会@名古屋 talk: Pharo introduction
Smalltalk合同勉強会@名古屋 talk: Pharo introductionSerge Stinckwich
 
Smalltalk合同勉強会@名古屋 talk : ESUG Introduction
Smalltalk合同勉強会@名古屋 talk : ESUG IntroductionSmalltalk合同勉強会@名古屋 talk : ESUG Introduction
Smalltalk合同勉強会@名古屋 talk : ESUG IntroductionSerge Stinckwich
 
An instrument whose music is ideas
An instrument whose music is ideasAn instrument whose music is ideas
An instrument whose music is ideasSerge Stinckwich
 
Smalltalk Bar Camp Hanoi 2009
Smalltalk  Bar Camp Hanoi 2009Smalltalk  Bar Camp Hanoi 2009
Smalltalk Bar Camp Hanoi 2009Serge Stinckwich
 

Mehr von Serge Stinckwich (11)

Pure Coordination Using the Coordinator-Configurator Pattern
Pure Coordination Using the Coordinator-Configurator PatternPure Coordination Using the Coordinator-Configurator Pattern
Pure Coordination Using the Coordinator-Configurator Pattern
 
Dealing with Run-Time Variability in Service Robotics: Towards a DSL for Non-...
Dealing with Run-Time Variability in Service Robotics: Towards a DSL for Non-...Dealing with Run-Time Variability in Service Robotics: Towards a DSL for Non-...
Dealing with Run-Time Variability in Service Robotics: Towards a DSL for Non-...
 
Introduction to DYROS'10 Workshop
Introduction to DYROS'10 WorkshopIntroduction to DYROS'10 Workshop
Introduction to DYROS'10 Workshop
 
A DSL for the visualization of Multi-Robot Systems
A DSL for the visualization of Multi-Robot SystemsA DSL for the visualization of Multi-Robot Systems
A DSL for the visualization of Multi-Robot Systems
 
Using Smalltalk for controlling robotics systems
Using Smalltalk for controlling robotics systemsUsing Smalltalk for controlling robotics systems
Using Smalltalk for controlling robotics systems
 
Visit to Vung Vieng Village - OLPC Vietnam
Visit to Vung Vieng Village - OLPC VietnamVisit to Vung Vieng Village - OLPC Vietnam
Visit to Vung Vieng Village - OLPC Vietnam
 
Pharo, an innovative and open-source Smalltalk
Pharo, an innovative and open-source SmalltalkPharo, an innovative and open-source Smalltalk
Pharo, an innovative and open-source Smalltalk
 
Smalltalk合同勉強会@名古屋 talk: Pharo introduction
Smalltalk合同勉強会@名古屋 talk: Pharo introductionSmalltalk合同勉強会@名古屋 talk: Pharo introduction
Smalltalk合同勉強会@名古屋 talk: Pharo introduction
 
Smalltalk合同勉強会@名古屋 talk : ESUG Introduction
Smalltalk合同勉強会@名古屋 talk : ESUG IntroductionSmalltalk合同勉強会@名古屋 talk : ESUG Introduction
Smalltalk合同勉強会@名古屋 talk : ESUG Introduction
 
An instrument whose music is ideas
An instrument whose music is ideasAn instrument whose music is ideas
An instrument whose music is ideas
 
Smalltalk Bar Camp Hanoi 2009
Smalltalk  Bar Camp Hanoi 2009Smalltalk  Bar Camp Hanoi 2009
Smalltalk Bar Camp Hanoi 2009
 

Kürzlich hochgeladen

Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 

Kürzlich hochgeladen (20)

Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 

A Graphical Language for Real-Time Critical Robot Commands

  • 1. A Graphical Language for Real-Time Critical Robot Commands Andreas Angerer, Remi Smirra, Alwin Hoffmann, Andreas Schierl, Michael Vistein, Wolfgang Reif
  • 2. Agenda 1. Motivation – the SoftRobot architecture 2. GSRAPID basics 3. Parameter handling in GSRAPID 4. Conclusion 05.11.2012 A Graphical Language for Real-Time Critical Robot Commands
  • 3. Agenda 1. Motivation – the SoftRobot architecture 2. GSRAPID basics 3. Parameter handling in GSRAPID 4. Conclusion 05.11.2012 A Graphical Language for Real-Time Critical Robot Commands
  • 4. Software Development for Industrial Robots Current situation Vision • Sophisticated mechanical • Apply modern software components and control engineering to industrial robots algorithms • Facilitate robotics software • High precision, reliability and development by providing repeatability “robotics” as just another API in a popular programming • Specialized, proprietary language (the “Robotics API”) programming languages and outdated software concepts • Thus increase reuse and reduce (e.g. KUKA KRL) development time 05.11.2012 A Graphical Language for Real-Time Critical Robot Commands
  • 5. The SoftRobot Architecture Robot Domain-Specific Service-Oriented Applications Languages Automation Programming Application [Angerer2010] Robotics API (standard Java/C#) Automated transformation into real-time Realtime Primitives Interface dataflow graphs [Schierl2012] Robot Control Robot Control Core Real-Time (C++, Linux/RTAI) [Vistein2010] Robot Hardware 05.11.2012 A Graphical Language for Real-Time Critical Robot Commands
  • 6. SoftRobot Architecture – Details • Commands can be combined flexibly start/stop Command throw an error start Java thread … state entered state left 19.05.2011 Oberseminar ISSE - Das Programmiermodell der Robotics API 7
  • 7. SoftRobot Architecture – Details • Commands can be combined flexibly • RPI dataflow graphs are generated at runtime OrocosRuntime .load(Command) 19.05.2011 Oberseminar ISSE - Das Programmiermodell der Robotics API 8
  • 8. SoftRobot Architecture – Details • Commands can be combined flexibly • RPI dataflow graphs are generated at runtime OrocosRuntime .load(Command) • Downside: programming Commands is tedious 19.05.2011 Oberseminar ISSE - Das Programmiermodell der Robotics API 9
  • 9. Refining the Robotics API interface (I) • Introducing the Activity Layer Activity Layer Robotics API standard Java/C# Meta Data Activity Actuator Interface Action Command Actuator PTP Command Layer Robot RCC Calculation Device C++ Modules Robot Control Core Drivers 05.11.2012 A Graphical Language for Real-Time Critical Robot Commands
  • 10. Refining the Robotics API interface (II) • Introducing the GSRAPID Language Graphical SoftRobot Robotics API Diagram Robotics API standard Java/C# Language Action Command Actuator PTP Command Layer Robot RCC Calculation Device C++ Modules Robot Control Core Drivers 05.11.2012 A Graphical Language for Real-Time Critical Robot Commands
  • 11. Agenda 1. Motivation – the SoftRobot architecture 2. GSRAPID basics 3. Parameter handling in GSRAPID 4. Conclusion 05.11.2012 A Graphical Language for Real-Time Critical Robot Commands
  • 12. What is GSRAPID? • A graphical language for specifying complex Robotics API Commands • Diagrams can be edited, saved/loaded and syntactically checked • Integrated code generator: Creates Java code that instantiates the specified Robotics API Command => Command can be used as black-box in Java code • Realized in Eclipse with GMF (EMF + GEF) 05.11.2012 A Graphical Language for Real-Time Critical Robot Commands
  • 13. GSRAPID editor layout 05.11.2012 A Graphical Language for Real-Time Critical Robot Commands
  • 14. GSRAPID editor layout Diagram Canvas Tool- box Properties Editor 05.11.2012 A Graphical Language for Real-Time Critical Robot Commands
  • 15. Basic GSRAPID elements (I) 05.11.2012 A Graphical Language for Real-Time Critical Robot Commands
  • 16. Basic GSRAPID elements (II) 05.11.2012 A Graphical Language for Real-Time Critical Robot Commands
  • 17. Agenda 1. Motivation – the SoftRobot architecture 2. GSRAPID basics 3. Parameter handling in GSRAPID 4. Conclusion 05.11.2012 A Graphical Language for Real-Time Critical Robot Commands
  • 18. Parametrization using Property Editor 05.11.2012 A Graphical Language for Real-Time Critical Robot Commands
  • 19. Dynamic Properties • Properties are dynamic and context sensitive • Java reflection is used to determine possible sources of property values (by type) • Challenge: How to deal with method arguments? 05.11.2012 A Graphical Language for Real-Time Critical Robot Commands
  • 20. Property arguments: Primitive types 05.11.2012 A Graphical Language for Real-Time Critical Robot Commands
  • 21. Property arguments: Recursive method calls • Arguments for method parameters can be provided by further method calls • Possible methods again determined by type • Challenge: How to deal with “intermediate” types? E.g.: lwr.getForceTorqueSensor() .getForceX() Returned type not expected! 05.11.2012 A Graphical Language for Real-Time Critical Robot Commands
  • 22. Variables as property arguments • Solution: Treat un-set properties as variables • All variables have to be set at code level by developers that use Commands defined with GSRAPID • Challenge: What about the context of a property variable? Again: lwr.getForceTorqueSensor().getForceX() Exactly this instance of a robot (defined in the GSRAPID diagram) has to be accessed! • Solution: The ISetter ”pattern” 05.11.2012 A Graphical Language for Real-Time Critical Robot Commands
  • 23. Defining ISetters for variables • Generic interface ISetter: public interface ISetter<T> { T set(); } • Developer has to supply concrete instances of ISetters that serve as callbacks for setting unresolved variables • ISetters are called only once the variable‘s context (e.g. ‚lwr‘ in the previous example) has been initialized • Context is accessible via static fields of the generated class 05.11.2012 A Graphical Language for Real-Time Critical Robot Commands
  • 24. Agenda 1. Motivation – the SoftRobot architecture 2. GSRAPID basics 3. Parameter handling in GSRAPID 4. Conclusion 05.11.2012 A Graphical Language for Real-Time Critical Robot Commands
  • 25. Conclusion • GSRAPID is an approach to quickly and intuitively specify real-time critical Robotics API Commands • Focus on visualizing Command structure • Eclipse-based DSL tools proved to be a good platform – Complex, but flexible and powerful – GSRAPID was created in a 6-month master thesis! • First (informal) evaluations of GSRAPID are promising, yet many improvements possible! 05.11.2012 A Graphical Language for Real-Time Critical Robot Commands
  • 26. This work presents results of the research project SoftRobot which was funded by the European Union and the Bavarian government. The project was carried out together with KUKA Laboratories GmbH and MRK-Systeme GmbH and was kindly supported by VDI/VDE-IT GmbH Thank you for your attention! 05.11.2012 A Graphical Language for Real-Time Critical Robot Commands
  • 27. References [Angerer2010] Angerer, A.; Hoffmann, A.; Schierl, A.; Vistein, M. & Reif, W. The Robotics API: An Object-Oriented Framework for Modeling Industrial Robotics Applications Proc. 2010 IEEE/RSJ Intl. Conf. on Intelligent Robots and Systems (IROS2010), Taipeh, Taiwan, IEEE, 2010, 4036-4041 [Vistein2010] Vistein, M.; Angerer, A.; Hoffmann, A.; Schierl, A. & Reif, W. Interfacing Industrial Robots using Realtime Primitives Proc. 2010 IEEE Intl. Conf. on Automation and Logistics (ICAL~2010), Hong Kong, China, IEEE, 2010, 468-473 [Schierl2012] Schierl, A.; Angerer, A.; Hoffmann, A.; Vistein, M. & Reif, W. From Robot Commands To Real-Time Robot Control - Transforming High-Level Robot Commands into Real-Time Dataflow Graphs Proc. 2012 Intl. Conf. on Informatics in Control, Automation and Robotics, Rome, Italy, 2012 05.11.2012 A Graphical Language for Real-Time Critical Robot Commands