SlideShare a Scribd company logo
Distributed Architecture,
Deployment and Introspection


                          Pablo Iñigo Blasco
              Grupo de Investigación RTCAR
     Robotica y Tecnología de Computadores
                         Universidad de Sevilla
Contents
●   Distributed Architecture
●   ROS Architecture
●   Nodes
●   Communication mechanisms
●   Introspection Tools
Complex Robotic Software
                Architectures
●   Non-Functional requirements
    ●   Ubiquity
    ●   High computation power
    ●   Real Time
    ●   Fault Tolerance and Robustness

●   Problems
    ●   Integration Problems
    ●   Deployment and Debugging Problems → Need of
        complex and powerful tools
Problems
●   Deployment Problems
    ●   Multiple cpus, multiple cores
    ●   Multiple computers distributed in a network
    ●   Software Engienering related (scalability, reusability, etc.)

●   Integration of huge sets of software technologies
    ●   Need of Package reutilization (impossible reinvent the wheel)
    ●   Libraries
    ●   Programming languages
ROS Distributed Architecture
●   Hybrid P2P Architecture
●   Distributed Components
●   Severals Node communication
    mechanisms (message passing based)
●   Focused on node communication
    mechanisms
●   Free internal node design
Nodes (I)
                                                Parameters(*)
●   Minimal building block
●   Own control flow
                                                 Services
●   Operative system process
●   Reactive and/or proactive            NODE
●   Any supported language
●   Communication mechanisms
    ●   Services
    ●   Topics
    ●   Parameters
                                                  Startup
                                Topics
                                                configuration
                                                   .yaml
Nodes (II) Example
                                               Parameters
                                                 P 1.0
                                                 I 1.0
                                                 D 1.0
                                  Services
                                        goHome
                                        shutdown
               Dyxinamel Servo




                                 Startup_config.yaml
current_pose

                                   P 1.0
                                   I 1.0
                                   D 1.0
       goal
ROS Distributed Architecture (II) -
             Example
    Computer A                                           Computer B

                 RPC            RPC
        Node     services       services   Node

                 topic


                                                  Node
Central Node       Node
   Node
                            topic



                                                          Actuators
ROS Distributed Architecture:
                 Pros & Cons
●   Advantages:
    ●   Paralelism
    ●   Ubiquity
    ●   Fault Tolerance
    ●
        Modularity – low coupling
    ●   Language Abstraction

●
    Disadvantages:
    ●   Real Time applications
    ●
        Heavier Robotic Systems

●   Additional requirements:
    ●   Deployment tools for distributed architecture
    ●   Distributed logging System
    ●
        Remote Introspection Tools

    ●
Message
●   Data Structure
                                     my_package/msg/example.msg
●   Message Interface Description
    File                                 string field1
                                         int8 field2
●   Code generation                      bool field3
                                         other_pkg_msg/custom_msg field4
●   Specific language proxy code
    generation
    ●   C++, Python..
●   Conveys
●   Message packages
    ●


    ●
        geometry_msgs
        sensor_msgs
                                    .h
                                    .h             .py             .java
    ●   navigation_msgs
Messages (II) – Example
                    $ rospack find geometry_msgs`/msg

    Point32.msg                        PoseWithCovarianceStamped.msg
    Polygon.msg                        Transform.msg
    PoseArray.msg                      TwistStamped.msg
    PoseWithCovariance.msg             Vector3.msg
                                       WrenchStamped.msg
    QuaternionStamped.msg
                                       PointStamped.msg
    Twist.msg
                                       Pose2D.msg
    TwistWithCovarianceStamped.msg
                                       PoseStamped.msg
    Wrench.msg
                                       Quaternion.msg
    Point.msg
                                       TransformStamped.msg
    PolygonStamped.msg
                                       TwistWithCovariance.msg
    Pose.msg
                                       Vector3Stamped.msg

●
Message (III) Examples
geometry_msgs/PoseWithCovariance        sensor_msgs/LaserScan

                                        Header header
geometry_msgs/Pose pose
                                         uint32 seq
 geometry_msgs/Point position
                                         time stamp
  float64 x
                                         string frame_id
  float64 y
                                        float32 angle_min
  float64 z
                                        float32 angle_max
 geometry_msgs/Quaternion orientation
                                        float32 angle_increment
  float64 x
                                        float32 time_increment
  float64 y
                                        float32 scan_time
  float64 z
                                        float32 range_min
  float64 w
                                        float32 range_max
float64[36] covariance                  float32[] ranges
                                        float32[] intensities
Topics
●   Publish/Subscribe Models
    ●   Proactive nodes (agents)
    ●   NxM

●   Promotes the instrospection
    mechanisms
●   Asynchronous
●   Several configurations (buffer,
    latching, etc.)

●   Underlying Transport Layer:
    ●   TCP, UDP, Shared Memory
    ●   Others Transport → rosserial,
        ethercat
Services
●   RPC                            my_package/srv/example.srv

●   Purely Reactive            string request_field1
                               int8 request_field2
                               ---
    ●   Request/Response       string response_field1
                               other_pkg_msg/custom_msg response_field2

●   Stable Functionality
    Interface
●   Specific language
    proxy code generation
    ●   C++, Python..          .h
                               .h             .py             .java
●   Typical in others RSFs
ROS MASTER
●   Hybrid P2P Distributed
    Architecture
●   Central Information Node

●   Capabilities
    ●   Parameter Server
    ●   Resource Localization (White
        Pages)
    ●   Service Lookup (Yellow Pages)
Nodelets
●   Threads
●   Compatible node
    communication               nl
                                             nl
    mechanisms                        NODE
                                 nl
●   Zero copy
    communication
    between nodelets
●   Share Machine
                               NODE
●   Only C++
Macro - Components (Components
         of Components)
    Robot A                           Robot B
                 Launch                         Launch




                                             Ros
       Robot C            Launch            Master




                                   Launch
Parameters
●   Client/Server Model
●   Common Variable Information
●   Not automatically update inside nodes
●   Can be seen as node properties thanks to the
    ramming convention
Advanced mode communication
            mechanisms
●   Actions
●   Dynamic Reconfigure
●   (Custom) Based on state machines and
    workflows (SMACH)

●   They are based on basic primitives
    ●   Nodes
    ●   Parameters
    ●   Services
Actions
●   Preemptive tasks
●   Non immediate tasks
●   Cancelable tasks
●   Based on topics
●   Examples
    ●   Moving the robot to a target
        location
    ●   Performing a laser scan and
        returning the resulting point
        cloud
    ●   Detecting the handle of a
        door
Deployment: Launch Files
●   Deployment layout of building blocks (nodes)
●   Naming pushing
●   Startup configuration (direct or yaml files)
●   XML syntax
●   Itself can be seen as an complex component or
    building block
Tools - Remote Introspection
●   Topics (rostopic)
●   Services (rosservice)
●   Nodes (rosnode)
●   Parameters (rosparam)
●   Messages (rosmsg)
●   Services (rossrv)
●   General debugging (roswtf)
Tools - RX-Graph
DEMO AMCL
Introspection tools - Rxplot




●   Monitor numerical data field at runtime
●   Example
    $ rxplot /odom/pose/pose/position/x /odom/pose/pose/position/y
Introspection tools - Rviz

●   Graphical
    Representation of
    message

●   Typical messages
    visualization plugins
DEMO AMCL
References
(1) Iñigo-Blasco, Pablo, Fernando Diaz-del-Rio, Ma Carmen Romero-Ternero, Daniel Cagigas-Muñiz, and Saturnino
    Vicente-Diaz. 2012. “Robotics software frameworks for multi-agent robotic systems development” Robotics and
(2) ROS Wiki - http://ros.org
(3) Quigley, Morgan, Brian Gerkey, Ken Conley, Josh Faust, Tully Foote, Jeremy Leibs, Eric Berger, Rob Wheeler,
    and Andrew Ng. 2009. ROS: an open-source Robot Operating System. In Open-Source Software workshop of
    the International Conference on Robotics and Automation (ICRA). Autonomous Systems (February).

More Related Content

What's hot

Guide to ROS tools
Guide to ROS tools Guide to ROS tools
Guide to ROS tools
Ashwin Rajendran
 
Phase Noise and Jitter Measurements
Phase Noise and Jitter MeasurementsPhase Noise and Jitter Measurements
Phase Noise and Jitter Measurements
Rohde & Schwarz North America
 
Robotics Localization
Robotics LocalizationRobotics Localization
Robotics Localization
cairo university
 
Fourier descriptors & moments
Fourier descriptors & momentsFourier descriptors & moments
Fourier descriptors & moments
rajisri2
 
Cpld fpga
Cpld fpgaCpld fpga
Cpld fpga
anishgoel
 
ARM CORTEX M3 PPT
ARM CORTEX M3 PPTARM CORTEX M3 PPT
ARM CORTEX M3 PPT
Gaurav Verma
 
Introduction to FreeRTOS
Introduction to FreeRTOSIntroduction to FreeRTOS
Introduction to FreeRTOS
ICS
 
Human robot interaction
Human robot interactionHuman robot interaction
Human robot interaction
PrakashSoft
 
Robotics: Forward and Inverse Kinematics
Robotics: Forward and Inverse KinematicsRobotics: Forward and Inverse Kinematics
Robotics: Forward and Inverse KinematicsDamian T. Gordon
 
Lentin joseph learning robotics using python design, simulate, program, an...
Lentin joseph   learning robotics using python  design, simulate, program, an...Lentin joseph   learning robotics using python  design, simulate, program, an...
Lentin joseph learning robotics using python design, simulate, program, an...
Rajmeet Singh
 
PIC Microcontrollers
PIC MicrocontrollersPIC Microcontrollers
PIC Microcontrollers
Abdullah Saghir Ahmad
 
ROS vs ROS2
ROS vs ROS2ROS vs ROS2
ROS vs ROS2
Asit Deva
 
Fpga Knowledge
Fpga KnowledgeFpga Knowledge
Fpga Knowledge
ranvirsingh
 
ARM 32-bit Microcontroller Cortex-M3 introduction
ARM 32-bit Microcontroller Cortex-M3 introductionARM 32-bit Microcontroller Cortex-M3 introduction
ARM 32-bit Microcontroller Cortex-M3 introduction
anand hd
 
Arm cm3 architecture_and_programmer_model
Arm cm3 architecture_and_programmer_modelArm cm3 architecture_and_programmer_model
Arm cm3 architecture_and_programmer_model
Ganesh Naik
 
micro-ROS: Developing ROS 2 professional applications based on MCUs
micro-ROS: Developing ROS 2 professional applications based on MCUsmicro-ROS: Developing ROS 2 professional applications based on MCUs
micro-ROS: Developing ROS 2 professional applications based on MCUs
eProsima
 
Robot Control using ROS: Kinematic Modelling of Mobile Robots
Robot Control using ROS: Kinematic Modelling of Mobile RobotsRobot Control using ROS: Kinematic Modelling of Mobile Robots
Robot Control using ROS: Kinematic Modelling of Mobile Robots
Jago Robotika Indonesia
 

What's hot (20)

Guide to ROS tools
Guide to ROS tools Guide to ROS tools
Guide to ROS tools
 
Phase Noise and Jitter Measurements
Phase Noise and Jitter MeasurementsPhase Noise and Jitter Measurements
Phase Noise and Jitter Measurements
 
Robotics Localization
Robotics LocalizationRobotics Localization
Robotics Localization
 
Arm
ArmArm
Arm
 
Fourier descriptors & moments
Fourier descriptors & momentsFourier descriptors & moments
Fourier descriptors & moments
 
Cpld fpga
Cpld fpgaCpld fpga
Cpld fpga
 
ARM CORTEX M3 PPT
ARM CORTEX M3 PPTARM CORTEX M3 PPT
ARM CORTEX M3 PPT
 
Introduction to FreeRTOS
Introduction to FreeRTOSIntroduction to FreeRTOS
Introduction to FreeRTOS
 
Asic pd
Asic pdAsic pd
Asic pd
 
Lecture 09: Localization and Mapping III
Lecture 09: Localization and Mapping IIILecture 09: Localization and Mapping III
Lecture 09: Localization and Mapping III
 
Human robot interaction
Human robot interactionHuman robot interaction
Human robot interaction
 
Robotics: Forward and Inverse Kinematics
Robotics: Forward and Inverse KinematicsRobotics: Forward and Inverse Kinematics
Robotics: Forward and Inverse Kinematics
 
Lentin joseph learning robotics using python design, simulate, program, an...
Lentin joseph   learning robotics using python  design, simulate, program, an...Lentin joseph   learning robotics using python  design, simulate, program, an...
Lentin joseph learning robotics using python design, simulate, program, an...
 
PIC Microcontrollers
PIC MicrocontrollersPIC Microcontrollers
PIC Microcontrollers
 
ROS vs ROS2
ROS vs ROS2ROS vs ROS2
ROS vs ROS2
 
Fpga Knowledge
Fpga KnowledgeFpga Knowledge
Fpga Knowledge
 
ARM 32-bit Microcontroller Cortex-M3 introduction
ARM 32-bit Microcontroller Cortex-M3 introductionARM 32-bit Microcontroller Cortex-M3 introduction
ARM 32-bit Microcontroller Cortex-M3 introduction
 
Arm cm3 architecture_and_programmer_model
Arm cm3 architecture_and_programmer_modelArm cm3 architecture_and_programmer_model
Arm cm3 architecture_and_programmer_model
 
micro-ROS: Developing ROS 2 professional applications based on MCUs
micro-ROS: Developing ROS 2 professional applications based on MCUsmicro-ROS: Developing ROS 2 professional applications based on MCUs
micro-ROS: Developing ROS 2 professional applications based on MCUs
 
Robot Control using ROS: Kinematic Modelling of Mobile Robots
Robot Control using ROS: Kinematic Modelling of Mobile RobotsRobot Control using ROS: Kinematic Modelling of Mobile Robots
Robot Control using ROS: Kinematic Modelling of Mobile Robots
 

Viewers also liked

Raspberry Pi + ROS
Raspberry Pi + ROSRaspberry Pi + ROS
Raspberry Pi + ROS
ArnoldBail
 
Robot operating systems (ros) overview & (1)
Robot operating systems (ros) overview & (1)Robot operating systems (ros) overview & (1)
Robot operating systems (ros) overview & (1)
Piyush Chand
 
ROS - Robotics Operation System
ROS - Robotics Operation SystemROS - Robotics Operation System
ROS - Robotics Operation Systemhudvin
 
An Introduction to ROS-Industrial
An Introduction to ROS-IndustrialAn Introduction to ROS-Industrial
An Introduction to ROS-IndustrialClay Flannigan
 
ROS Hands-On Intro/Tutorial (Robotic Vision Summer School 2015) #RVSS #ACRV
ROS Hands-On Intro/Tutorial (Robotic Vision Summer School 2015) #RVSS #ACRVROS Hands-On Intro/Tutorial (Robotic Vision Summer School 2015) #RVSS #ACRV
ROS Hands-On Intro/Tutorial (Robotic Vision Summer School 2015) #RVSS #ACRV
Juxi Leitner
 
COSCUP 2016 - ROS + Gazebo機器人模擬器工作坊
COSCUP 2016 - ROS + Gazebo機器人模擬器工作坊COSCUP 2016 - ROS + Gazebo機器人模擬器工作坊
COSCUP 2016 - ROS + Gazebo機器人模擬器工作坊
Po-Jen Lai
 
My ROS Experience
My ROS ExperienceMy ROS Experience
My ROS Experience
Seongjun Kim
 
Cvpr2010 open source vision software, intro and training part vi robot operat...
Cvpr2010 open source vision software, intro and training part vi robot operat...Cvpr2010 open source vision software, intro and training part vi robot operat...
Cvpr2010 open source vision software, intro and training part vi robot operat...zukun
 
Gazebo, 9개의 파일로 간단히 시작하는 로봇 시뮬레이션
Gazebo, 9개의 파일로 간단히 시작하는 로봇 시뮬레이션Gazebo, 9개의 파일로 간단히 시작하는 로봇 시뮬레이션
Gazebo, 9개의 파일로 간단히 시작하는 로봇 시뮬레이션
Seongjun Kim
 
Modeling and Control Robot Arm using Gazebo, MoveIt!, ros_control
Modeling and Control Robot Arm using Gazebo, MoveIt!, ros_controlModeling and Control Robot Arm using Gazebo, MoveIt!, ros_control
Modeling and Control Robot Arm using Gazebo, MoveIt!, ros_control
ByeongKyu Ahn
 
Creating the Competitive Edge: Successfully establish, lead and mentor a stud...
Creating the Competitive Edge: Successfully establish, lead and mentor a stud...Creating the Competitive Edge: Successfully establish, lead and mentor a stud...
Creating the Competitive Edge: Successfully establish, lead and mentor a stud...
Conny Liegl
 
GESTURE BASED WIRELESS SHADOW ROBOT !
GESTURE BASED WIRELESS SHADOW ROBOT !GESTURE BASED WIRELESS SHADOW ROBOT !
GESTURE BASED WIRELESS SHADOW ROBOT !
Sharif Raihan Kabir
 
모두가 함께하는ROS 워크숍
모두가 함께하는ROS 워크숍모두가 함께하는ROS 워크숍
모두가 함께하는ROS 워크숍
Suhan Park
 
Yauc2015 publish
Yauc2015 publishYauc2015 publish
Yauc2015 publish
Kazushi Yamashina
 
自律移動ロボット向けハード・ソフト協調のためのコンポーネント設計支援ツール
自律移動ロボット向けハード・ソフト協調のためのコンポーネント設計支援ツール自律移動ロボット向けハード・ソフト協調のためのコンポーネント設計支援ツール
自律移動ロボット向けハード・ソフト協調のためのコンポーネント設計支援ツール
Kazushi Yamashina
 
FPGA処理をROSコンポーネント化する自動設計環境
FPGA処理をROSコンポーネント化する自動設計環境FPGA処理をROSコンポーネント化する自動設計環境
FPGA処理をROSコンポーネント化する自動設計環境
Kazushi Yamashina
 
20161006 rsp2016 ohkawa-presen
20161006 rsp2016 ohkawa-presen20161006 rsp2016 ohkawa-presen
20161006 rsp2016 ohkawa-presen
Takeshi Ohkawa
 
cReComp : Automated Design Tool for ROS-Compliant FPGA Component
cReComp : Automated Design Tool  for ROS-Compliant FPGA Component cReComp : Automated Design Tool  for ROS-Compliant FPGA Component
cReComp : Automated Design Tool for ROS-Compliant FPGA Component
Kazushi Yamashina
 
Drones in the Cloud
Drones in the CloudDrones in the Cloud
Drones in the Cloud
Guada Casuso
 

Viewers also liked (20)

Raspberry Pi + ROS
Raspberry Pi + ROSRaspberry Pi + ROS
Raspberry Pi + ROS
 
Robot operating systems (ros) overview & (1)
Robot operating systems (ros) overview & (1)Robot operating systems (ros) overview & (1)
Robot operating systems (ros) overview & (1)
 
ROS - Robotics Operation System
ROS - Robotics Operation SystemROS - Robotics Operation System
ROS - Robotics Operation System
 
An Introduction to ROS-Industrial
An Introduction to ROS-IndustrialAn Introduction to ROS-Industrial
An Introduction to ROS-Industrial
 
ROS Hands-On Intro/Tutorial (Robotic Vision Summer School 2015) #RVSS #ACRV
ROS Hands-On Intro/Tutorial (Robotic Vision Summer School 2015) #RVSS #ACRVROS Hands-On Intro/Tutorial (Robotic Vision Summer School 2015) #RVSS #ACRV
ROS Hands-On Intro/Tutorial (Robotic Vision Summer School 2015) #RVSS #ACRV
 
COSCUP 2016 - ROS + Gazebo機器人模擬器工作坊
COSCUP 2016 - ROS + Gazebo機器人模擬器工作坊COSCUP 2016 - ROS + Gazebo機器人模擬器工作坊
COSCUP 2016 - ROS + Gazebo機器人模擬器工作坊
 
My ROS Experience
My ROS ExperienceMy ROS Experience
My ROS Experience
 
Cvpr2010 open source vision software, intro and training part vi robot operat...
Cvpr2010 open source vision software, intro and training part vi robot operat...Cvpr2010 open source vision software, intro and training part vi robot operat...
Cvpr2010 open source vision software, intro and training part vi robot operat...
 
Gazebo, 9개의 파일로 간단히 시작하는 로봇 시뮬레이션
Gazebo, 9개의 파일로 간단히 시작하는 로봇 시뮬레이션Gazebo, 9개의 파일로 간단히 시작하는 로봇 시뮬레이션
Gazebo, 9개의 파일로 간단히 시작하는 로봇 시뮬레이션
 
Modeling and Control Robot Arm using Gazebo, MoveIt!, ros_control
Modeling and Control Robot Arm using Gazebo, MoveIt!, ros_controlModeling and Control Robot Arm using Gazebo, MoveIt!, ros_control
Modeling and Control Robot Arm using Gazebo, MoveIt!, ros_control
 
Creating the Competitive Edge: Successfully establish, lead and mentor a stud...
Creating the Competitive Edge: Successfully establish, lead and mentor a stud...Creating the Competitive Edge: Successfully establish, lead and mentor a stud...
Creating the Competitive Edge: Successfully establish, lead and mentor a stud...
 
GESTURE BASED WIRELESS SHADOW ROBOT !
GESTURE BASED WIRELESS SHADOW ROBOT !GESTURE BASED WIRELESS SHADOW ROBOT !
GESTURE BASED WIRELESS SHADOW ROBOT !
 
모두가 함께하는ROS 워크숍
모두가 함께하는ROS 워크숍모두가 함께하는ROS 워크숍
모두가 함께하는ROS 워크숍
 
Yauc2015 publish
Yauc2015 publishYauc2015 publish
Yauc2015 publish
 
自律移動ロボット向けハード・ソフト協調のためのコンポーネント設計支援ツール
自律移動ロボット向けハード・ソフト協調のためのコンポーネント設計支援ツール自律移動ロボット向けハード・ソフト協調のためのコンポーネント設計支援ツール
自律移動ロボット向けハード・ソフト協調のためのコンポーネント設計支援ツール
 
FPGA処理をROSコンポーネント化する自動設計環境
FPGA処理をROSコンポーネント化する自動設計環境FPGA処理をROSコンポーネント化する自動設計環境
FPGA処理をROSコンポーネント化する自動設計環境
 
20161006 rsp2016 ohkawa-presen
20161006 rsp2016 ohkawa-presen20161006 rsp2016 ohkawa-presen
20161006 rsp2016 ohkawa-presen
 
cReComp : Automated Design Tool for ROS-Compliant FPGA Component
cReComp : Automated Design Tool  for ROS-Compliant FPGA Component cReComp : Automated Design Tool  for ROS-Compliant FPGA Component
cReComp : Automated Design Tool for ROS-Compliant FPGA Component
 
ROS ROS
ROS ROSROS ROS
ROS ROS
 
Drones in the Cloud
Drones in the CloudDrones in the Cloud
Drones in the Cloud
 

Similar to ROS distributed architecture

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 古賀一博
 
4th European Lisp Symposium: Jobim: an Actors Library for the Clojure Program...
4th European Lisp Symposium: Jobim: an Actors Library for the Clojure Program...4th European Lisp Symposium: Jobim: an Actors Library for the Clojure Program...
4th European Lisp Symposium: Jobim: an Actors Library for the Clojure Program...Antonio Garrote Hernández
 
Ultra-scalable Architectures for Telecommunications and Web 2.0 Services
Ultra-scalable Architectures for Telecommunications and Web 2.0 ServicesUltra-scalable Architectures for Telecommunications and Web 2.0 Services
Ultra-scalable Architectures for Telecommunications and Web 2.0 Services
Mauricio Arango
 
Lowcode: Extending Smalltalk with C Types to Improve Performance
Lowcode: Extending Smalltalk with C Types to Improve PerformanceLowcode: Extending Smalltalk with C Types to Improve Performance
Lowcode: Extending Smalltalk with C Types to Improve Performance
ESUG
 
Presentation of the open source CFD code Code_Saturne
Presentation of the open source CFD code Code_SaturnePresentation of the open source CFD code Code_Saturne
Presentation of the open source CFD code Code_Saturne
Renuda SARL
 
From Silicon to Software - IIT Madras
From Silicon to Software - IIT MadrasFrom Silicon to Software - IIT Madras
From Silicon to Software - IIT MadrasAanjhan Ranganathan
 
Unmanaged Parallelization via P/Invoke
Unmanaged Parallelization via P/InvokeUnmanaged Parallelization via P/Invoke
Unmanaged Parallelization via P/InvokeDmitri Nesteruk
 
25-MPI-OpenMP.pptx
25-MPI-OpenMP.pptx25-MPI-OpenMP.pptx
25-MPI-OpenMP.pptx
GopalPatidar13
 
Protocol Buffers
Protocol BuffersProtocol Buffers
Protocol Buffers
Software Infrastructure
 
고급컴파일러구성론_개레_230303.pptx
고급컴파일러구성론_개레_230303.pptx고급컴파일러구성론_개레_230303.pptx
고급컴파일러구성론_개레_230303.pptx
ssuser1e7611
 
CS 626 - March : Capsicum: Practical Capabilities for UNIX
CS 626 - March : Capsicum: Practical Capabilities for UNIXCS 626 - March : Capsicum: Practical Capabilities for UNIX
CS 626 - March : Capsicum: Practical Capabilities for UNIXruchith
 
Metrics ekon 14_2_kleiner
Metrics ekon 14_2_kleinerMetrics ekon 14_2_kleiner
Metrics ekon 14_2_kleiner
Max Kleiner
 
Close encounters in MDD: when Models meet Code
Close encounters in MDD: when Models meet CodeClose encounters in MDD: when Models meet Code
Close encounters in MDD: when Models meet Code
lbergmans
 
Close Encounters in MDD: when models meet code
Close Encounters in MDD: when models meet codeClose Encounters in MDD: when models meet code
Close Encounters in MDD: when models meet code
lbergmans
 
Understanding the Dalvik bytecode with the Dedexer tool
Understanding the Dalvik bytecode with the Dedexer toolUnderstanding the Dalvik bytecode with the Dedexer tool
Understanding the Dalvik bytecode with the Dedexer tool
Gabor Paller
 
Hunting and Exploiting Bugs in Kernel Drivers - DefCamp 2012
Hunting and Exploiting Bugs in Kernel Drivers - DefCamp 2012Hunting and Exploiting Bugs in Kernel Drivers - DefCamp 2012
Hunting and Exploiting Bugs in Kernel Drivers - DefCamp 2012DefCamp
 
Introduction to ZeroMQ - eSpace TechTalk
Introduction to ZeroMQ - eSpace TechTalkIntroduction to ZeroMQ - eSpace TechTalk
Introduction to ZeroMQ - eSpace TechTalk
Mahmoud Said
 
Helidon Nima - Loom based microserfice framework.pptx
Helidon Nima - Loom based microserfice framework.pptxHelidon Nima - Loom based microserfice framework.pptx
Helidon Nima - Loom based microserfice framework.pptx
Dmitry Kornilov
 

Similar to ROS distributed architecture (20)

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
 
4th European Lisp Symposium: Jobim: an Actors Library for the Clojure Program...
4th European Lisp Symposium: Jobim: an Actors Library for the Clojure Program...4th European Lisp Symposium: Jobim: an Actors Library for the Clojure Program...
4th European Lisp Symposium: Jobim: an Actors Library for the Clojure Program...
 
Ultra-scalable Architectures for Telecommunications and Web 2.0 Services
Ultra-scalable Architectures for Telecommunications and Web 2.0 ServicesUltra-scalable Architectures for Telecommunications and Web 2.0 Services
Ultra-scalable Architectures for Telecommunications and Web 2.0 Services
 
Lowcode: Extending Smalltalk with C Types to Improve Performance
Lowcode: Extending Smalltalk with C Types to Improve PerformanceLowcode: Extending Smalltalk with C Types to Improve Performance
Lowcode: Extending Smalltalk with C Types to Improve Performance
 
Presentation of the open source CFD code Code_Saturne
Presentation of the open source CFD code Code_SaturnePresentation of the open source CFD code Code_Saturne
Presentation of the open source CFD code Code_Saturne
 
From Silicon to Software - IIT Madras
From Silicon to Software - IIT MadrasFrom Silicon to Software - IIT Madras
From Silicon to Software - IIT Madras
 
Unmanaged Parallelization via P/Invoke
Unmanaged Parallelization via P/InvokeUnmanaged Parallelization via P/Invoke
Unmanaged Parallelization via P/Invoke
 
25-MPI-OpenMP.pptx
25-MPI-OpenMP.pptx25-MPI-OpenMP.pptx
25-MPI-OpenMP.pptx
 
Protocol Buffers
Protocol BuffersProtocol Buffers
Protocol Buffers
 
Concept of thread
Concept of threadConcept of thread
Concept of thread
 
고급컴파일러구성론_개레_230303.pptx
고급컴파일러구성론_개레_230303.pptx고급컴파일러구성론_개레_230303.pptx
고급컴파일러구성론_개레_230303.pptx
 
05 defense
05 defense05 defense
05 defense
 
CS 626 - March : Capsicum: Practical Capabilities for UNIX
CS 626 - March : Capsicum: Practical Capabilities for UNIXCS 626 - March : Capsicum: Practical Capabilities for UNIX
CS 626 - March : Capsicum: Practical Capabilities for UNIX
 
Metrics ekon 14_2_kleiner
Metrics ekon 14_2_kleinerMetrics ekon 14_2_kleiner
Metrics ekon 14_2_kleiner
 
Close encounters in MDD: when Models meet Code
Close encounters in MDD: when Models meet CodeClose encounters in MDD: when Models meet Code
Close encounters in MDD: when Models meet Code
 
Close Encounters in MDD: when models meet code
Close Encounters in MDD: when models meet codeClose Encounters in MDD: when models meet code
Close Encounters in MDD: when models meet code
 
Understanding the Dalvik bytecode with the Dedexer tool
Understanding the Dalvik bytecode with the Dedexer toolUnderstanding the Dalvik bytecode with the Dedexer tool
Understanding the Dalvik bytecode with the Dedexer tool
 
Hunting and Exploiting Bugs in Kernel Drivers - DefCamp 2012
Hunting and Exploiting Bugs in Kernel Drivers - DefCamp 2012Hunting and Exploiting Bugs in Kernel Drivers - DefCamp 2012
Hunting and Exploiting Bugs in Kernel Drivers - DefCamp 2012
 
Introduction to ZeroMQ - eSpace TechTalk
Introduction to ZeroMQ - eSpace TechTalkIntroduction to ZeroMQ - eSpace TechTalk
Introduction to ZeroMQ - eSpace TechTalk
 
Helidon Nima - Loom based microserfice framework.pptx
Helidon Nima - Loom based microserfice framework.pptxHelidon Nima - Loom based microserfice framework.pptx
Helidon Nima - Loom based microserfice framework.pptx
 

More from Pablo Iñigo Blasco

Introducción a la navegación de robots en ambientes inteligentes
Introducción a la navegación de robots en ambientes inteligentesIntroducción a la navegación de robots en ambientes inteligentes
Introducción a la navegación de robots en ambientes inteligentes
Pablo Iñigo Blasco
 
Ros platform overview
Ros platform overviewRos platform overview
Ros platform overview
Pablo Iñigo Blasco
 
ROS Overview - Málaga 2012
ROS Overview - Málaga 2012ROS Overview - Málaga 2012
ROS Overview - Málaga 2012
Pablo Iñigo Blasco
 
Ros y sistemas multi agentes
Ros y sistemas multi agentesRos y sistemas multi agentes
Ros y sistemas multi agentes
Pablo Iñigo Blasco
 
ROS - Jornadas de la ingeniería cádiz-2011
ROS - Jornadas de la ingeniería cádiz-2011ROS - Jornadas de la ingeniería cádiz-2011
ROS - Jornadas de la ingeniería cádiz-2011
Pablo Iñigo Blasco
 
Introducción a ROS
Introducción a ROSIntroducción a ROS
Introducción a ROS
Pablo Iñigo Blasco
 
Computación en la Nube con Amazon EC2
Computación en la Nube con Amazon EC2Computación en la Nube con Amazon EC2
Computación en la Nube con Amazon EC2
Pablo Iñigo Blasco
 

More from Pablo Iñigo Blasco (8)

Introducción a la navegación de robots en ambientes inteligentes
Introducción a la navegación de robots en ambientes inteligentesIntroducción a la navegación de robots en ambientes inteligentes
Introducción a la navegación de robots en ambientes inteligentes
 
Ros platform overview
Ros platform overviewRos platform overview
Ros platform overview
 
ROS Overview - Málaga 2012
ROS Overview - Málaga 2012ROS Overview - Málaga 2012
ROS Overview - Málaga 2012
 
Ros y sistemas multi agentes
Ros y sistemas multi agentesRos y sistemas multi agentes
Ros y sistemas multi agentes
 
ROS - Jornadas de la ingeniería cádiz-2011
ROS - Jornadas de la ingeniería cádiz-2011ROS - Jornadas de la ingeniería cádiz-2011
ROS - Jornadas de la ingeniería cádiz-2011
 
Introducción a ROS
Introducción a ROSIntroducción a ROS
Introducción a ROS
 
Computación en la Nube con Amazon EC2
Computación en la Nube con Amazon EC2Computación en la Nube con Amazon EC2
Computación en la Nube con Amazon EC2
 
Simulation in Robotics
Simulation in RoboticsSimulation in Robotics
Simulation in Robotics
 

Recently uploaded

Operation Blue Star - Saka Neela Tara
Operation Blue Star   -  Saka Neela TaraOperation Blue Star   -  Saka Neela Tara
Operation Blue Star - Saka Neela Tara
Balvir Singh
 
1.4 modern child centered education - mahatma gandhi-2.pptx
1.4 modern child centered education - mahatma gandhi-2.pptx1.4 modern child centered education - mahatma gandhi-2.pptx
1.4 modern child centered education - mahatma gandhi-2.pptx
JosvitaDsouza2
 
Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...
Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...
Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...
Dr. Vinod Kumar Kanvaria
 
STRAND 3 HYGIENIC PRACTICES.pptx GRADE 7 CBC
STRAND 3 HYGIENIC PRACTICES.pptx GRADE 7 CBCSTRAND 3 HYGIENIC PRACTICES.pptx GRADE 7 CBC
STRAND 3 HYGIENIC PRACTICES.pptx GRADE 7 CBC
kimdan468
 
The Diamond Necklace by Guy De Maupassant.pptx
The Diamond Necklace by Guy De Maupassant.pptxThe Diamond Necklace by Guy De Maupassant.pptx
The Diamond Necklace by Guy De Maupassant.pptx
DhatriParmar
 
The Challenger.pdf DNHS Official Publication
The Challenger.pdf DNHS Official PublicationThe Challenger.pdf DNHS Official Publication
The Challenger.pdf DNHS Official Publication
Delapenabediema
 
Chapter 4 - Islamic Financial Institutions in Malaysia.pptx
Chapter 4 - Islamic Financial Institutions in Malaysia.pptxChapter 4 - Islamic Financial Institutions in Malaysia.pptx
Chapter 4 - Islamic Financial Institutions in Malaysia.pptx
Mohd Adib Abd Muin, Senior Lecturer at Universiti Utara Malaysia
 
Model Attribute Check Company Auto Property
Model Attribute  Check Company Auto PropertyModel Attribute  Check Company Auto Property
Model Attribute Check Company Auto Property
Celine George
 
TESDA TM1 REVIEWER FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...
TESDA TM1 REVIEWER  FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...TESDA TM1 REVIEWER  FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...
TESDA TM1 REVIEWER FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...
EugeneSaldivar
 
Pride Month Slides 2024 David Douglas School District
Pride Month Slides 2024 David Douglas School DistrictPride Month Slides 2024 David Douglas School District
Pride Month Slides 2024 David Douglas School District
David Douglas School District
 
How to Make a Field invisible in Odoo 17
How to Make a Field invisible in Odoo 17How to Make a Field invisible in Odoo 17
How to Make a Field invisible in Odoo 17
Celine George
 
South African Journal of Science: Writing with integrity workshop (2024)
South African Journal of Science: Writing with integrity workshop (2024)South African Journal of Science: Writing with integrity workshop (2024)
South African Journal of Science: Writing with integrity workshop (2024)
Academy of Science of South Africa
 
The Accursed House by Émile Gaboriau.pptx
The Accursed House by Émile Gaboriau.pptxThe Accursed House by Émile Gaboriau.pptx
The Accursed House by Émile Gaboriau.pptx
DhatriParmar
 
S1-Introduction-Biopesticides in ICM.pptx
S1-Introduction-Biopesticides in ICM.pptxS1-Introduction-Biopesticides in ICM.pptx
S1-Introduction-Biopesticides in ICM.pptx
tarandeep35
 
CACJapan - GROUP Presentation 1- Wk 4.pdf
CACJapan - GROUP Presentation 1- Wk 4.pdfCACJapan - GROUP Presentation 1- Wk 4.pdf
CACJapan - GROUP Presentation 1- Wk 4.pdf
camakaiclarkmusic
 
JEE1_This_section_contains_FOUR_ questions
JEE1_This_section_contains_FOUR_ questionsJEE1_This_section_contains_FOUR_ questions
JEE1_This_section_contains_FOUR_ questions
ShivajiThube2
 
Advantages and Disadvantages of CMS from an SEO Perspective
Advantages and Disadvantages of CMS from an SEO PerspectiveAdvantages and Disadvantages of CMS from an SEO Perspective
Advantages and Disadvantages of CMS from an SEO Perspective
Krisztián Száraz
 
June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...
June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...
June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...
Levi Shapiro
 
A Strategic Approach: GenAI in Education
A Strategic Approach: GenAI in EducationA Strategic Approach: GenAI in Education
A Strategic Approach: GenAI in Education
Peter Windle
 
Synthetic Fiber Construction in lab .pptx
Synthetic Fiber Construction in lab .pptxSynthetic Fiber Construction in lab .pptx
Synthetic Fiber Construction in lab .pptx
Pavel ( NSTU)
 

Recently uploaded (20)

Operation Blue Star - Saka Neela Tara
Operation Blue Star   -  Saka Neela TaraOperation Blue Star   -  Saka Neela Tara
Operation Blue Star - Saka Neela Tara
 
1.4 modern child centered education - mahatma gandhi-2.pptx
1.4 modern child centered education - mahatma gandhi-2.pptx1.4 modern child centered education - mahatma gandhi-2.pptx
1.4 modern child centered education - mahatma gandhi-2.pptx
 
Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...
Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...
Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...
 
STRAND 3 HYGIENIC PRACTICES.pptx GRADE 7 CBC
STRAND 3 HYGIENIC PRACTICES.pptx GRADE 7 CBCSTRAND 3 HYGIENIC PRACTICES.pptx GRADE 7 CBC
STRAND 3 HYGIENIC PRACTICES.pptx GRADE 7 CBC
 
The Diamond Necklace by Guy De Maupassant.pptx
The Diamond Necklace by Guy De Maupassant.pptxThe Diamond Necklace by Guy De Maupassant.pptx
The Diamond Necklace by Guy De Maupassant.pptx
 
The Challenger.pdf DNHS Official Publication
The Challenger.pdf DNHS Official PublicationThe Challenger.pdf DNHS Official Publication
The Challenger.pdf DNHS Official Publication
 
Chapter 4 - Islamic Financial Institutions in Malaysia.pptx
Chapter 4 - Islamic Financial Institutions in Malaysia.pptxChapter 4 - Islamic Financial Institutions in Malaysia.pptx
Chapter 4 - Islamic Financial Institutions in Malaysia.pptx
 
Model Attribute Check Company Auto Property
Model Attribute  Check Company Auto PropertyModel Attribute  Check Company Auto Property
Model Attribute Check Company Auto Property
 
TESDA TM1 REVIEWER FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...
TESDA TM1 REVIEWER  FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...TESDA TM1 REVIEWER  FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...
TESDA TM1 REVIEWER FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...
 
Pride Month Slides 2024 David Douglas School District
Pride Month Slides 2024 David Douglas School DistrictPride Month Slides 2024 David Douglas School District
Pride Month Slides 2024 David Douglas School District
 
How to Make a Field invisible in Odoo 17
How to Make a Field invisible in Odoo 17How to Make a Field invisible in Odoo 17
How to Make a Field invisible in Odoo 17
 
South African Journal of Science: Writing with integrity workshop (2024)
South African Journal of Science: Writing with integrity workshop (2024)South African Journal of Science: Writing with integrity workshop (2024)
South African Journal of Science: Writing with integrity workshop (2024)
 
The Accursed House by Émile Gaboriau.pptx
The Accursed House by Émile Gaboriau.pptxThe Accursed House by Émile Gaboriau.pptx
The Accursed House by Émile Gaboriau.pptx
 
S1-Introduction-Biopesticides in ICM.pptx
S1-Introduction-Biopesticides in ICM.pptxS1-Introduction-Biopesticides in ICM.pptx
S1-Introduction-Biopesticides in ICM.pptx
 
CACJapan - GROUP Presentation 1- Wk 4.pdf
CACJapan - GROUP Presentation 1- Wk 4.pdfCACJapan - GROUP Presentation 1- Wk 4.pdf
CACJapan - GROUP Presentation 1- Wk 4.pdf
 
JEE1_This_section_contains_FOUR_ questions
JEE1_This_section_contains_FOUR_ questionsJEE1_This_section_contains_FOUR_ questions
JEE1_This_section_contains_FOUR_ questions
 
Advantages and Disadvantages of CMS from an SEO Perspective
Advantages and Disadvantages of CMS from an SEO PerspectiveAdvantages and Disadvantages of CMS from an SEO Perspective
Advantages and Disadvantages of CMS from an SEO Perspective
 
June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...
June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...
June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...
 
A Strategic Approach: GenAI in Education
A Strategic Approach: GenAI in EducationA Strategic Approach: GenAI in Education
A Strategic Approach: GenAI in Education
 
Synthetic Fiber Construction in lab .pptx
Synthetic Fiber Construction in lab .pptxSynthetic Fiber Construction in lab .pptx
Synthetic Fiber Construction in lab .pptx
 

ROS distributed architecture

  • 1. Distributed Architecture, Deployment and Introspection Pablo Iñigo Blasco Grupo de Investigación RTCAR Robotica y Tecnología de Computadores Universidad de Sevilla
  • 2.
  • 3. Contents ● Distributed Architecture ● ROS Architecture ● Nodes ● Communication mechanisms ● Introspection Tools
  • 4. Complex Robotic Software Architectures ● Non-Functional requirements ● Ubiquity ● High computation power ● Real Time ● Fault Tolerance and Robustness ● Problems ● Integration Problems ● Deployment and Debugging Problems → Need of complex and powerful tools
  • 5. Problems ● Deployment Problems ● Multiple cpus, multiple cores ● Multiple computers distributed in a network ● Software Engienering related (scalability, reusability, etc.) ● Integration of huge sets of software technologies ● Need of Package reutilization (impossible reinvent the wheel) ● Libraries ● Programming languages
  • 6. ROS Distributed Architecture ● Hybrid P2P Architecture ● Distributed Components ● Severals Node communication mechanisms (message passing based) ● Focused on node communication mechanisms ● Free internal node design
  • 7. Nodes (I) Parameters(*) ● Minimal building block ● Own control flow Services ● Operative system process ● Reactive and/or proactive NODE ● Any supported language ● Communication mechanisms ● Services ● Topics ● Parameters Startup Topics configuration .yaml
  • 8. Nodes (II) Example Parameters P 1.0 I 1.0 D 1.0 Services goHome shutdown Dyxinamel Servo Startup_config.yaml current_pose P 1.0 I 1.0 D 1.0 goal
  • 9. ROS Distributed Architecture (II) - Example Computer A Computer B RPC RPC Node services services Node topic Node Central Node Node Node topic Actuators
  • 10. ROS Distributed Architecture: Pros & Cons ● Advantages: ● Paralelism ● Ubiquity ● Fault Tolerance ● Modularity – low coupling ● Language Abstraction ● Disadvantages: ● Real Time applications ● Heavier Robotic Systems ● Additional requirements: ● Deployment tools for distributed architecture ● Distributed logging System ● Remote Introspection Tools ●
  • 11. Message ● Data Structure my_package/msg/example.msg ● Message Interface Description File string field1 int8 field2 ● Code generation bool field3 other_pkg_msg/custom_msg field4 ● Specific language proxy code generation ● C++, Python.. ● Conveys ● Message packages ● ● geometry_msgs sensor_msgs .h .h .py .java ● navigation_msgs
  • 12. Messages (II) – Example $ rospack find geometry_msgs`/msg Point32.msg PoseWithCovarianceStamped.msg Polygon.msg Transform.msg PoseArray.msg TwistStamped.msg PoseWithCovariance.msg Vector3.msg WrenchStamped.msg QuaternionStamped.msg PointStamped.msg Twist.msg Pose2D.msg TwistWithCovarianceStamped.msg PoseStamped.msg Wrench.msg Quaternion.msg Point.msg TransformStamped.msg PolygonStamped.msg TwistWithCovariance.msg Pose.msg Vector3Stamped.msg ●
  • 13. Message (III) Examples geometry_msgs/PoseWithCovariance sensor_msgs/LaserScan Header header geometry_msgs/Pose pose uint32 seq geometry_msgs/Point position time stamp float64 x string frame_id float64 y float32 angle_min float64 z float32 angle_max geometry_msgs/Quaternion orientation float32 angle_increment float64 x float32 time_increment float64 y float32 scan_time float64 z float32 range_min float64 w float32 range_max float64[36] covariance float32[] ranges float32[] intensities
  • 14. Topics ● Publish/Subscribe Models ● Proactive nodes (agents) ● NxM ● Promotes the instrospection mechanisms ● Asynchronous ● Several configurations (buffer, latching, etc.) ● Underlying Transport Layer: ● TCP, UDP, Shared Memory ● Others Transport → rosserial, ethercat
  • 15. Services ● RPC my_package/srv/example.srv ● Purely Reactive string request_field1 int8 request_field2 --- ● Request/Response string response_field1 other_pkg_msg/custom_msg response_field2 ● Stable Functionality Interface ● Specific language proxy code generation ● C++, Python.. .h .h .py .java ● Typical in others RSFs
  • 16. ROS MASTER ● Hybrid P2P Distributed Architecture ● Central Information Node ● Capabilities ● Parameter Server ● Resource Localization (White Pages) ● Service Lookup (Yellow Pages)
  • 17. Nodelets ● Threads ● Compatible node communication nl nl mechanisms NODE nl ● Zero copy communication between nodelets ● Share Machine NODE ● Only C++
  • 18. Macro - Components (Components of Components) Robot A Robot B Launch Launch Ros Robot C Launch Master Launch
  • 19. Parameters ● Client/Server Model ● Common Variable Information ● Not automatically update inside nodes ● Can be seen as node properties thanks to the ramming convention
  • 20. Advanced mode communication mechanisms ● Actions ● Dynamic Reconfigure ● (Custom) Based on state machines and workflows (SMACH) ● They are based on basic primitives ● Nodes ● Parameters ● Services
  • 21. Actions ● Preemptive tasks ● Non immediate tasks ● Cancelable tasks ● Based on topics ● Examples ● Moving the robot to a target location ● Performing a laser scan and returning the resulting point cloud ● Detecting the handle of a door
  • 22. Deployment: Launch Files ● Deployment layout of building blocks (nodes) ● Naming pushing ● Startup configuration (direct or yaml files) ● XML syntax ● Itself can be seen as an complex component or building block
  • 23. Tools - Remote Introspection ● Topics (rostopic) ● Services (rosservice) ● Nodes (rosnode) ● Parameters (rosparam) ● Messages (rosmsg) ● Services (rossrv) ● General debugging (roswtf)
  • 26. Introspection tools - Rxplot ● Monitor numerical data field at runtime ● Example $ rxplot /odom/pose/pose/position/x /odom/pose/pose/position/y
  • 27. Introspection tools - Rviz ● Graphical Representation of message ● Typical messages visualization plugins
  • 29. References (1) Iñigo-Blasco, Pablo, Fernando Diaz-del-Rio, Ma Carmen Romero-Ternero, Daniel Cagigas-Muñiz, and Saturnino Vicente-Diaz. 2012. “Robotics software frameworks for multi-agent robotic systems development” Robotics and (2) ROS Wiki - http://ros.org (3) Quigley, Morgan, Brian Gerkey, Ken Conley, Josh Faust, Tully Foote, Jeremy Leibs, Eric Berger, Rob Wheeler, and Andrew Ng. 2009. ROS: an open-source Robot Operating System. In Open-Source Software workshop of the International Conference on Robotics and Automation (ICRA). Autonomous Systems (February).