SlideShare una empresa de Scribd logo
1 de 27
Descargar para leer sin conexión
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

Más contenido relacionado

La actualidad más candente

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
 

La actualidad más candente (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
 

Destacado

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
 

Destacado (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
 

Similar a 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
 

Similar a 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
 

Más de 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
 

Más de 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
 

Último

Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Victor Rentea
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Zilliz
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelDeepika Singh
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistandanishmna97
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusZilliz
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Orbitshub
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWERMadyBayot
 

Último (20)

Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 

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