A Graphical Language for Real-Time Critical Robot Commands
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

A Graphical Language for Real-Time Critical Robot Commands

on

  • 862 views

 

Statistics

Views

Total Views
862
Views on SlideShare
862
Embed Views
0

Actions

Likes
1
Downloads
3
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

A Graphical Language for Real-Time Critical Robot Commands Presentation Transcript

  • 1. A Graphical Language for Real-Time Critical Robot CommandsAndreas Angerer,Remi Smirra, Alwin Hoffmann, Andreas Schierl, Michael Vistein, Wolfgang Reif
  • 2. Agenda1. Motivation – the SoftRobot architecture2. GSRAPID basics3. Parameter handling in GSRAPID4. Conclusion05.11.2012 A Graphical Language for Real-Time Critical Robot Commands
  • 3. Agenda1. Motivation – the SoftRobot architecture2. GSRAPID basics3. Parameter handling in GSRAPID4. Conclusion05.11.2012 A Graphical Language for Real-Time Critical Robot Commands
  • 4. Software Development for Industrial RobotsCurrent 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 time05.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 Hardware05.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 left19.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 tedious19.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 Drivers05.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 Drivers05.11.2012 A Graphical Language for Real-Time Critical Robot Commands
  • 11. Agenda1. Motivation – the SoftRobot architecture2. GSRAPID basics3. Parameter handling in GSRAPID4. Conclusion05.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 layout05.11.2012 A Graphical Language for Real-Time Critical Robot Commands
  • 14. GSRAPID editor layout Diagram Canvas Tool- boxPropertiesEditor05.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. Agenda1. Motivation – the SoftRobot architecture2. GSRAPID basics3. Parameter handling in GSRAPID4. Conclusion05.11.2012 A Graphical Language for Real-Time Critical Robot Commands
  • 18. Parametrization using Property Editor05.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 types05.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 class05.11.2012 A Graphical Language for Real-Time Critical Robot Commands
  • 24. Agenda1. Motivation – the SoftRobot architecture2. GSRAPID basics3. Parameter handling in GSRAPID4. Conclusion05.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 ApplicationsProc. 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 PrimitivesProc. 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 Commandsinto Real-Time Dataflow GraphsProc. 2012 Intl. Conf. on Informatics in Control, Automation and Robotics, Rome, Italy, 201205.11.2012 A Graphical Language for Real-Time Critical Robot Commands