ROS-Industrial Community Forum 12-5-13

  • 1,263 views
Uploaded on

Virtual community meeting for the ROS-Industrial open source project: http://rosindustrial.org

Virtual community meeting for the ROS-Industrial open source project: http://rosindustrial.org

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
1,263
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
33
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide
  • Overzicht van wat we gedaanhebben, en watikwilgaandoen
  • Voorbeeld van shaun
  • Voorbeeld van shaun

Transcript

  • 1. ROS-Industrial Forum December 5th, 2013
  • 2. Attendee Sound(Chat) Off • Send a chat message to everyone with: – Your Name / Company / Developer or User or Watcher – E.g.: Clay Flannigan / SwRI / Developer
  • 3. Contact Information Clay Flannigan Manager, Robotics & Automation Engineering Southwest Research Institute 6220 Culebra Rd. San Antonio, TX 78251 US Phone: 210-522-6805 Email: clay.flannigan@swri.org http://swri.org http://robotics.swri.org 6 March 2013 Managed by: Southwest Research Institute 3
  • 4. Logistics • Your microphone or telephone is muted • During Q&A, you can unmute (click on microphone) or use the chat window • Majority of meeting will be presentations with time for open discussion at end • Send us a chat message if you can’t hear or see the content • Meeting is RECORDED • Slides will be shared after the meeting
  • 5. Agenda • 10:00 – 10:10 – Introduction (Shaun Edwards – SwRI) • 10:10 – 10:35 – BRIDE Presentation (Alexander Bubeck – Fraunhofer IPA) • 10:35 – 11:10 – Contributions/Wishlist (Community, 4 min/presenter) • 11:10 – 11:30 – General discussion and Q&A (Shaun Edwards – SwRI)
  • 6. Motivation • • • • • • Gather the community Open the lines of communications Promote others contributions Discuss technology needs Disseminate information Answer questions
  • 7. ROS-Industrial ROS-Industrial is an open-source ROS-Industrial Program: project that extends the • Is supported by a community of advanced capabilities of the industrial robotics researchers and professionals. Robot Operating System (ROS) • Provides a one-stop location for industryrelated ROS software. software to new industrial • Possesses software robustness and applications. reliability that meets the needs of • • • • DATA FOR 1993 FROM IFR STATISTICS. DATA FOR 2003 AND 2013 FROM RIA STATISTICS industrial applications. Does not replace any one technology entirely, rather it combines the relative strengths of ROS and existing technology Stimulates the development of hardware-agnostic software by standardizing interfaces. Provides an "easy" path to apply cuttingedge research to industrial applications by using a common ROS architecture. Provides simple, easy-to-use, welldocumented application programming interfaces. For more information: • “What Can ROS do?” - http://www.youtube.com/watch?v=5zO46F1xEzk • “1 Year Montage” - http://www.youtube.com/watch?v=Ek8GKqmJ7n0
  • 8. ROS-Industrial Stats (10/13) ROS-Industrial Repository Stats ROSindustrial.org Traffic (Since July move to new site) (source: https://www.ohloh.net/p/ros-industrial ) 1,000 500 0 • 32 total contributors • 94,870 lines of code • 27% comments 23 October 2013 • • • • Other Media Stats 50,030 YouTube views 213 Twitter followers 164 user group members 29 related press articles Managed by: Southwest Research Institute 8
  • 9. Why BRIDE? Current ROS-I Required Skills 1. Bash scripts/Linux command line 2. ROS command line 3. C++/Python 4. Launch files 5. Configuration files: rviz, SRDF, URDF, YAML 6. Doxygen 7. Moin markup for the Wiki 8. Version Control/Git 9. IDE (e.g. Eclipse) 10. CAD Future ROS-I Required Skills 1. GUI Interaction 2. Python Scripting (for the hard stuff)
  • 10. BRIDE Alexander Bubeck – Fraunhofer IPA
  • 11. Improve your ROS code with ModelDriven-Engineering and save development time while doing it ROS-Industrial Quarterly Community Meeting December 5, 2013 Alexander Bubeck © Fraunhofer IPA
  • 12. Current challenges in the ROS community Software quality and reuse  Reuse …  Understandable code …  Standards / Best practices …  Learning curves …  Fast releases …  Distributed development … ROS-Industrial Quarterly Community Meeting, December 5, 2013 © Fraunhofer IPA 12
  • 13. Model driven engineering In a nutshell  Development and use of domain models to represent abstract knowledge to M3 Meta-Meta-Model MOF • Mechanisms to describe component frameworks  Encapsulate complexity M2 Meta-Model UML  Differentiate user roles • Model of a component framework  Enforce architectures Model of class Code M1 Model  Support reuse • Models of components or systems  Object management group defines multi-layer architecture M0 Implementation • Implementation of specific components ROS-Industrial Quarterly Community Meeting, December 5, 2013 © Fraunhofer IPA 13
  • 14. Software engineering in robotics Transfer of MDE to ROS Ecore M3 M2 OROCO SDSL ROS DSL UML SysML SysML model M2M M1 ROS model M2T M0 ROS Component M2M OROCOS model M2T OROCOS Conponent ROS-Industrial Quarterly Community Meeting, December 5, 2013 © Fraunhofer IPA 14
  • 15. Software engineering in robotics Separation of concerns  Behavior of components correspond to specific concerns of a developer Computation Communication reuse Coordination Configuration Composition Composition  Concerns for software components: Computation Communication Coordination Configuration Leuze laser scanner Sick laser scanner  Reuse of software means exchange or modification of specific concerns Separation of concerns improves reuse ROS-Industrial Quarterly Community Meeting, December 5, 2013 © Fraunhofer IPA 15
  • 16. Software engineering in robotics Different types of ROS users  Domain expert  System integrator  Application engineer  End user (WIP)  Architect (SysML) ROS-Industrial Quarterly Community Meeting, December 5, 2013 © Fraunhofer IPA 16
  • 17. BRIDE – An Eclipse based MDE-toolchain for ROS Overview The BRICS IDE (BRIDE) is an Eclipse distribution including:  Graphical model editors for different developer roles in a ROS development  Automatic generation of  C++ or Python ROS nodes  Launch files configuring ROS topics, services and parameters  Separation of ROS independent user code and ROS skeletons  Integration with Eclipse development environments for C++ and python (CDT and pydev) ROS-Industrial Quarterly Community Meeting, December 5, 2013 © Fraunhofer IPA 17
  • 18. BRIDE – An Eclipse based MDE-toolchain for ROS Implementation of MDE in BRIDE Ecore M3 M2 ROS DSL ROS capability editor ROS capability model M1 M2T M0 ROS components (C++, python) ROSMSG DSL SMACH DSL ROS system editor ROS system model ROS coordinator editor ROS coordinator model M2T M2T ROS launch files ROS yaml configuration files ROS-Industrial Quarterly Community Meeting, December 5, 2013 © Fraunhofer IPA 18 SMACH python state machines
  • 19. BRIDE – An Eclipse based MDE-toolchain for ROS Work flow in practice  Model driven engineering work flow in practice Computation Communication Coordination Configuration Computation Communication Coordination Configuration ROS-Industrial Quarterly Community Meeting, December 5, 2013 © Fraunhofer IPA 19 Coordination building Composition System deployment Composition Composition Capability building Computation Communication Coordination Configuration
  • 20. BRIDE – An Eclipse based MDE-toolchain for ROS Examples  Capability editing  System editing  Coordinator editing ROS-Industrial Quarterly Community Meeting, December 5, 2013 © Fraunhofer IPA 20
  • 21. Further features Textual workflow + graphical configuration • What about textual workflows? • Standalone M2T compilers • Xtext based DSL’s • Integration into the rosbuild system (catkin wip) • Teaching of application configuration • Graphical configuration of application during modeling of coordinator • Example: “touch-up” of MoveIt! targets ROS-Industrial Quarterly Community Meeting, December 5, 2013 © Fraunhofer IPA 21
  • 22. Further work Roundtripping + more  Roundtripping WIP (working for rospy):  Generating AST based on python-ast and clang  Parsing of AST for roslib calls  Generation of DSL based on AST  Web-based editors  Automated test generation ROS-Industrial Quarterly Community Meeting, December 5, 2013 © Fraunhofer IPA 22
  • 23. Current challenges in the ROS community Software quality and reuse -- Recap  Reuse components by adapting  Understandable code is created because crosscutting concerns are separated and the component models document the structure of a ROS node  Standards / Best practices can be enforced by reuse of models  Learning curves change because beginners don’t fight with boost pointers etc.  Fast releases can be handled by updating the code templates  Distributed development is endorsed by communicating with models ROS-Industrial Quarterly Community Meeting, December 5, 2013 © Fraunhofer IPA 23
  • 24. Summary BRIDE for ROS development  Separation of concerns, user roles and code can improve reusability and quality of software components  BRIDE, a model driven engineering tool chain, disseminates these Software Engineering techniques in the ROS community  Current released version 0.2: BRIDE for ROS: http://wiki.ros.org/bride sudo apt-get install ros-groovy-bride  Capability Development and System Deployment  Coordinator Development Contact: Alexander Bubeck alexander.bubeck@ipa.fraunhofer.de Tel: +49 711 970 1314  Standalone compiler Acknowledgement to the project FP7-ICT231940-BRICS (Best Practice in Robotics) www.best-of-robotics.org ROS-Industrial Quarterly Community Meeting, December 5, 2013 © Fraunhofer IPA 24
  • 25. BRIDE for ROS development Q&A Example video of developing a component: http://vimeo.com/63575691 ROS-Industrial Quarterly Community Meeting, December 5, 2013 © Fraunhofer IPA 25
  • 26. Contributions & Wish List
  • 27. Logistics • Purpose is to promote a contribution and/or engage the community to meet a need • Each person has 4 min. to present (I will be strict) – The Gettysburg address wasn’t much longer • Contact slide will be presented last • No Q&A, interested parties are encouraged to follow up outside of the meeting.
  • 28. Presenter Order • • • • • • • • Yaskawa Motoman- Eric Marcil Caterpillar - Joe Spanier Canada NRC- Jason Michel Lambert Delft Robotics Institute - Gijs vd Hoorn (Presented by Shaun Edwards) Fraunhofer IPA – Florian Weisshardt Los Alamos National Laboratory – Brian O’Neil Alten Mechatronics – Simon Jansen Georgia Tech - Kelsey Hawkins
  • 29. YASKAWA MOTOMAN- ERIC MARCIL
  • 30. Contact Info. Eric Marcil Senior Project Engineer Yaskawa America Inc. Motoman Robotic Division Phone: 514-693-6788 Email: eric.marcil@motoman.com www.motoman.com 4 June 2013 30
  • 31. CATERPILLAR - JOE SPANIER
  • 32. Need • Point Creation in MoveIt! • Ability to create goal points in space based on coordinates or clicking on geometry in Move it • Currently able to create joint positions in MoveIt! Setup wizard, but is clunky and not useful for any hard points where fine positioning is needed. – Staple function in traditional OLP • Simple point to point programming for controlled processes
  • 33. Need • Keyence LJ-V Laser scanner Driver • Driver to take data input from Keyence sensor and compile it into surface data that can be used to make decisions on the process • No Driver implementations available atm. • Current data processing done in Keyence’s box but raw data output available • Would like enable: – On the fly decision about weld processing – Automated quality checks – Elimination of touch sensing for welding
  • 34. Contact Info. Joe Spanier Automation Engineer Caterpillar Inc Phone: 309-494-0494 Email: Spanier_Joseph_M@cat.com 4 June 2013 34
  • 35. CANADA NRC- JASON MICHEL LAMBERT
  • 36. Contribution – Canada NRC • Hardware-In-The Loop environment for haptic teleoperation • SW/HW environment for prototyping collaborative manufacturing tasks – Contact-related tasks – Tasks requiring empirical knowledge – E.g. Deburring/polishing, assembly • Bridges the gap between manual and fully automated robotic cells – Keeps experts in the loop – Broadens the range of applicability – Programming and execution
  • 37. Contribution – Canada NRC • Provides and environment that combines virtual and hardware elements – HIL – Flexibility, fast prototyping • Medium/long term (2-5 yrs) • Availability – Low-level modules part of ROS-I – Application-specific through licensing – Components of robot manufacturing cells
  • 38. Need – Canada NRC • Real-time interface • Integrated package for real-time communication with ROS-I and associated components (MoveIt, Gazebo) • Compatibility with graphical simulation software e.g. Simulink • Most of the building blocks already exists (need HW interfaces)
  • 39. Need – Canada NRC • Would enable – Development of real-time components • Dynamics • Control – Interaction with industrial manipulators at the ms-level (KUKA, Comau…) – Use of high-level tools for control/algorithm development – Brings ROS-I closer to the shop floor
  • 40. Contact Info. Jason Michel Lambert Research Officer, Robotics and Automation Canada’s National Research Council Phone: 514.283.9175 Email: michel.lambert@cnrcnrc.gc.ca www.nrcaerospace.com 4 June 2013 40
  • 41. DELFT ROBOTICS INSTITUTE - GIJS VD HOORN (PRESENTED BY SHAUN EDWARDS)
  • 42. Contributions Current: Future: • Fanuc & experimental stack • Improve fanuc_driver (ongoing) • REP: Standardizing repository layout and artefact naming • REP: Generic IO (and reference / Fanuc implementation) • Expand set of ROS-I supported manufacturers • Fixing bugs, contributing to other ROS-I projects – Support packages (urdf, meshes, config) – MoveIt configurations – Kinematics plugins • Wireshark dissector simple_message protocol • Fixing bugs, contributing to other ROS-I projects
  • 43. Need • Joint torque / tool force feedback – Make it possible to measure / report forces on the TCP / tool – Currently no support in simple_message protocol – Also needs manufacturer controller support – Allows: • Non-vision based collision handling / teach in / by example • Applications where tool needs controlled contact with a surface (or other tool), ie: glueing, scratching, multi-arm manipulation of objects (holding a box)
  • 44. Need • Tool velocity control – Make it possible to control Cartesian tool velocity – Currently no standardized support – Allows: visual servoing types of tasks with any ROS-I compatible manipulator
  • 45. Contact Info Gijs vd Hoorn Researcher Delft Robotics Institute Technical University Delft The Netherlands GitHub: gavanderhoorn Email : g.a.vanderhoorn@tudelft.nl robotics.tudelft.nl 4 June 2013 45
  • 46. FRAUNHOFER IPA – FLORIAN WEISSHARDT
  • 47. Factory-in-a-Day • • • • Project goal: “Develop technologies and business models to reduce the installation time (and the related cost) from months to one single day.” 18 partners ranging from research institutions and universities to small and medium-sized companies and industrial partners Project funded by European Union (EU-FP7), around 8M€ Budget More details and list of partners at http://www.factory-in-a-day.eu
  • 48. Needs • Integrated tool chain for developing, testing, installing and deploying SW components SW components, tools SW components, tools, quality metrics Continuous integration and automated testing Model-Driven Engineering
  • 49. Contribution • Unified Model-Driven-Engineering Toolchain for – – – – component development System integration Automated testing deployment • Release date: – Working prototype: June 2014 – First Released Prototype: October 2014 – Final: October 2015 • Will be open sourced within ROS Industrial under BSD license
  • 50. Contact Info Florian Weisshardt Fraunhofer IPA Stuttgart, Germany <Your pic here> Phone: +49 711 970 1046 Email: florian.weisshardt@ipa.fraunhofer.de http://www.ipa.fraunhofer.de 4 June 2013 51
  • 51. LOS ALAMOS NATIONAL LABORATORY – BRIAN O’NEIL
  • 52. Contact Info. Brian O’Neil Postdoctoral Research Associate Los Alamos National Laboratory Phone: 505-667-9322 Email: oneil@lanl.gov 4 June 2013 53
  • 53. ALTEN MECHATRONICS – SIMON JANSEN
  • 54. Contribution • RQT plugin for industrial operators: Select Robot Model Select launch files and edit parameters Integrated RVIZ window Tool for graphical debugging
  • 55. Contribution • • • • • • Combines & expands existing plugins to make ROS usable for industrial operators (rather than ROS developers) Edit and save parameters in launch files Easy (graphical) selection of robot model Release date: Beginning 2014 Seperate RQT plugin Further ambitions: use ROS for assembly tasks and imitation learning
  • 56. Needs • Support for dual-arm robots  Planning  Execution • Expand/create simple message protocol to include standardized interface for I/O devices on robot motion controller  Gripper  Conveyor  Proximity sensor • Quantitative measure of code quality (demand of industry)
  • 57. Contact Info. Berend Küpers Simon Jansen Sonja Peters Alten Mechatronics Phone: +31 (0)40 256 30 80 Email: rosindustrial@alten.nl www.alten.nl
  • 58. GEORGIA TECH - KELSEY HAWKINS
  • 59. Universal Robot C API Drivers • Alternative to existing python drivers – Faster control loop (125 Hz) – More functionality exposed • Exposed control modes – Velocity control – Position/Velocity/Acceleration – Torque control (TBA) • Useful for sensor-based control – Fast and direct closed loop – Force control • First alpha release today – Support release over next few months – Add new functionality/controllers as needed • Same repo, hydro-devel-c-api branch – https://github.com/rosindustrial/universal_robot/tree/hydro-devel-c-api • Tutorial code: http://wiki.ros.org/ur_c_api_bringup
  • 60. C API System Design
  • 61. C API System Design • Control loop wrapper running on control box – Sockets communication w/ simple_message • UR ROS master controller manager – Off-robot, ROS-enabled machine – Mediates communication b/w ROS and robot • ros_control framework – Interfaces for joint actuation modes (velocity, torque, etc.) – Controllers are plugins, read/command interfaces • Controller plugins – Communicate w/ ROS through action servers, topics, services – Loaded into real-time loop using controller_manager
  • 62. C API System Design • Controller manager lets you load, start, stop, unload controllers – ROS services, cmd line utility • Several default controllers already written – – – – Joint trajectory controller Velocity forward Position/Velocity/Acceleration forward Various ROS communication controllers • rqt plugins for starting robot/joint control – *Can’t use tablet interface to control robot* (can use run stop) – UR Dashboard – buttons for powering on robot, resetting safety stop, viewing robot state – UR Joint Control GUI – moving joints, reading positions, viewing state – Very useful for calibration process
  • 63. C API Needs • Initial testing and bug finding • Need new controllers written – Position/Velocity/Acceleration joint trajectory controller – Torque controllers – Better velocity controllers • Tutorials for writing controllers • Code cleanup, better documentation • Joint limits for controller interfaces • Backend controller needs some development – Not all functionality exposed yet (low-level debug info) • Expand python helper functionality • Integrate some controllers into official ros_controllers repo
  • 64. Contact Info. Kelsey Hawkins Robotics PhD Student Georgia Tech <Your pic here> Phone: 919-280-5739 Email: kphawkins@gatech.edu kelseyhawkins.com 4 June 2013 65
  • 65. General Discussion
  • 66. ROS-I Survey Results What do you like about ROS-I? What could be improved? You can still respond! http://www.surveymonkey.com/s/XRKNVMK
  • 67. ROS-I Update • Training material http://aeswiki.datasys.swri.edu/rositraining/E xercises • Code review policy http://wiki.ros.org/Industrial/Tutorials/Industr ialPullRequestReview • ROS-I Hydro Release in late ‘13 or early ‘14
  • 68. ROS-I Community Forum • Next meeting: topic focused • At least 1 in person meeting per year coinciding with some other conference • Next meeting: TBD • Feedback is welcome
  • 69. Thanks to Supporters I could overload this slide with logos from all around the world…but I don’t have permission to use them. So instead, thanks to all of you. You know who you are. GO OPEN SOURCE!!!
  • 70. General Q&A
  • 71. Contact Information Shaun Edwards Senior Research Engineer Southwest Research Institute 6220 Culebra Rd. San Antonio, TX 78251 US Phone: 210-522-3277 Email: sedwards@swri.org www.rosindustrial.org www.ros.org/wiki/Industrial 6 March 2013 Managed by: Southwest Research Institute 72
  • 72. Backups
  • 73. SOUTHWEST RESEARCH INSTITUTE CHRIS LEWIS
  • 74. Contribution • • Extrinsic Camera Calibration GUI Performing and Scripting Extrinsic Calibration – – – multi-camera resection camera to robot, igps, or other frame User Selects • • • • • • • • – • • • z y x Built in locators • • • • – Cameras Targets Triggers Sequences Parameters ROIs Control -vs- Tie point Structure only or Resection Only AR-Tags Checkerboards Grid of Circles Circles Google Ceres BA implementation YAML Scripts saved for repeating calibration Documents Procedure for Consistent re-cal ROS-I Repo: industrial_calibration in February 2014
  • 75. Need • Robot kinematic calibration • Calibrate robot kinematic parameters (URDF) using an accurate external reference system (possibly a camera?) • No open source implementations (that I am aware of) • Commercial solutions are cost prohibitive (partially due to equipment costs) • Better kinematics enable: – CAD to path – Sensor to path • Non-precision robot manufacturing http://medesign.seas.upenn.edu/index.php/Courses/MEAM420-09C-P1
  • 76. Contact Info. Chris Lewis Principal Research Engineer Southwest Research Institute <Your pic here> 4 June 2013 Phone: 210 522 6662 Email: clewis@swri.org 77