SlideShare uma empresa Scribd logo
1 de 27
Baixar para ler offline
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

Mais conteúdo relacionado

Mais procurados

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
 

Mais procurados (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
 

Destaque

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
 

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

Semelhante 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
 

Semelhante 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
 

Mais 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
 

Mais 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

Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 

Último (20)

Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 

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