David Lukas Wenzler
What is ROS
           ROS = Robot Operating System
           • First stable release 2009/02/10 (ROS 0.4)
           History / Development of ROS
             2007                                             2009               Community all over the
                                                                                 World
             • Stanford University                            • Willow Garage    • Hobbyist
             • Stanford-AI-Robot-                             • Silicon Valley   • Researcher
               Projektes (STAIR)
                                                              • Menlo Park,      • Industry
                                                                California
http://www.ros.org/wp-content/uploads/2018/05/melodic_with_bg.png
           Why ROS?
           • Unified communication framework for sensors,
             actuators and computers
           • Software can be reused
           • Easy simulation of the robot
           • Record and play back sensor data
           • → Standardized framework for robot development
http://www.ros.org/wp-content/uploads/2017/05/lunar_with_bg.png
ROS-Video
           How does ROS work?
           PUB-SUB design pattern
           • ROS uses a publish–subscribe design pattern
                                                            Topics
      publishes a message to a topic                        (named logical channels)
                                                                                       Subscribes to a topic
         Publishers                                                                              Subscribers
         (senders of messages)                                                                   (receiver of messages)
    → Important: Subscriber will only receive messages of subscribed topics
    → Filtering of the messages
http://www.ros.org/wp-content/uploads/2016/05/kinetic.png
              How does ROS work?
              PUB-SUB design pattern
              • Example of the PUP-SUB pattern
         → Important: Puplisher and Subscriber don´t know each other
http://www.code2succeed.com/pub-sub/
How does ROS work?
ROS basic architecture
• Nodes: Executables, the computation is done here
• Master: Registration and lookup service for al other nodes
• Parameter Server: Central data storage for the nodes during runtime
• Messages: Data send to other nodes
• Topic: Buses used by nodes to transmit data
• Services: Used to communicate with nodes and receive a reply
• Bags: All information of the communication is stored here
How does ROS work?
ROS basic architecture
        ROS-Industrial
    • Open source project
    • Interfaces for common industrial devices
      (manipulators, grippers, sensors, and device networks)
    • Includes libraries for common industrial applications
      (2D/3D sensor calibration, process path/motion planning, ...)
    • Collaboration with the industries big players like Microsoft or BMW
https://rosindustrial.org/
ROS industrial - Video
Live ROS Example
A lsmall live example using a virtual machine and ROS to control a
turtle simulation of the “turtlesim” package
1.   Starting of the Master node: roscore
2.   Starting of the visualization tool: rqt_graph
3.   Starting of the simulation node: turtlesim turtlesim_node
4.   Starting of the keyboard input node to control the velocity of the
     turtle: turtlesim turtle_teleop_key
Thank you for your attention
       Any questions?
References
• Fernández, Enrique, et al. Learning ROS for Robotics Programming, Packt
  Publishing Ltd, 2013. ProQuest Ebook Central,
  https://ebookcentral.proquest.com/lib/erlangen/detail.action?docID=3564
  787.
• http://wiki.ros.org/
• Quigley, Morgan, et al. "ROS: an open-source Robot Operating
  System." ICRA workshop on open source software. Vol. 3. No. 3.2. 2009.
• Jason M. O'Kane. A Gentle Introduction to ROS. CreateSpace Independent
  Publishing Platform, 1st edition, 2014. ISBN 978-14-92143-23-9
• http://www.willowgarage.com/pages/about-us/history
• https://rosindustrial.org/about/description