Upgrade to Pro — share decks privately, control downloads, hide ads and more …

ros-on-the-rocks-wednesday-jan-29

 ros-on-the-rocks-wednesday-jan-29

Provides a high-level introduction to the Robot Operating System (ROS), and its role in developing advanced robotics applications.

Daniel Packard

January 28, 2014
Tweet

More Decks by Daniel Packard

Other Decks in Technology

Transcript

  1. January 2014 O N T H E R O C

    K S ROS O N T H E R O C K S ROS
  2. RoadNarrows Robotics Designing Robotics and Intelligent Systems Presenting: A Practical

    Introduction to ROS Featuring: the Hekateros Manipulator Daniel Packard - January 2014
  3. What is ROS? ROS is the: Robot Operating System ROS

    on the Rocks! - Jan 2014 …but not really an operating system. 7
  4. What is ROS? ROS is the: Robot Operating System ROS

    on the Rocks! - Jan 2014 ROS is a software framework for developing advanced robotic systems. …but not really an operating system. 8
  5. Anatomy of a Robot ROS on the Rocks! - Jan

    2014 Sensors Actuators Processors 10
  6. Anatomy of a Robot ROS on the Rocks! - Jan

    2014 Sensors Actuators Processors Abstract Software Components (perception, cognition, planners) 11
  7. Anatomy of a Robot ROS on the Rocks! - Jan

    2014 Sensors Actuators Processors Abstract Software Components (cognition, perception, planners) 12
  8. Anatomy of a Robot ROS on the Rocks! - Jan

    2014 Sensors Actuators Processors Abstract Software Components (cognition, perception, planners) 13
  9. Sensors Actuators Processors Anatomy of a Robot ROS on the

    Rocks! - Jan 2014 Abstract Software Components (cognition, perception, planners) 14
  10. Sensors Actuators Processors Anatomy of a Robot ROS on the

    Rocks! - Jan 2014 Abstract Software Components (cognition, perception, planners) 15
  11. Anatomy of a Robot ROS on the Rocks! - Jan

    2014 Abstract Software Components (cognition, perception, planners) 16
  12. Anatomy of a Robot ROS on the Rocks! - Jan

    2014 Abstract Software Components (perception, cognition, planners) 17
  13. Enter ROS ROS on the Rocks! - Jan 2014 ROS

    helps you structure your robotics applications. 18
  14. Enter ROS ROS on the Rocks! - Jan 2014 The

    basic unit of a ROS application is a ROS node… 19
  15. Enter ROS ROS on the Rocks! - Jan 2014 The

    basic unit of a ROS application is a ROS node… Node 20
  16. Enter ROS ROS on the Rocks! - Jan 2014 The

    basic unit of a ROS application is a ROS node… Node 21
  17. Enter ROS ROS on the Rocks! - Jan 2014 The

    basic unit of a ROS application is a ROS node… Node 22
  18. Enter ROS ROS on the Rocks! - Jan 2014 The

    basic unit of a ROS application is a ROS node… … ROS is the communication framework that ties multiple ROS nodes together Node 23
  19. Communicating Nodes ROS on the Rocks! - Jan 2014 NODE

    1 NODE 2 Request Response Topic 1 Subscribe Publish NODE 3 Subscribe Compose your complex robotic system out of independent, but communicating “ROS Nodes”. 24
  20. Communicating Nodes ROS on the Rocks! - Jan 2014 NODE

    1 NODE 2 Request Response Topic 1 Subscribe Publish NODE 3 Subscribe Services Compose your complex robotic system out of independent, but communicating “ROS Nodes”. 25
  21. Communicating Nodes ROS on the Rocks! - Jan 2014 NODE

    1 NODE 2 Request Response Topic 1 Subscribe Publish NODE 3 Subscribe Publish & Subscribe Compose your complex robotic system out of independent, but communicating “ROS Nodes”. 26
  22. Communicating Nodes ROS on the Rocks! - Jan 2014 NODE

    1 NODE 2 Request Response Topic 1 Subscribe Publish NODE 3 Subscribe Action Servers Compose your complex robotic system out of independent, but communicating “ROS Nodes”. 27
  23. What is ROS? ROS on the Rocks! - Jan 2014

    ROS is a framework for developing complex robotics applications through the composition of simple, communicating software components called nodes. 28
  24. Why do we love ROS? ROS on the Rocks! -

    Jan 2014 • Encourages code reuse • Promotes the use of standards • Free and Open Source • Builds community!!! 29
  25. Node Examples! ROS on the Rocks! - Jan 2014 hello_publisher

    /hello “Hello ROS!” Simple publisher 30
  26. Node Examples! ROS on the Rocks! - Jan 2014 hello_publisher

    /hello “Hello ROS!” Node Simple publisher 31
  27. Node Examples! ROS on the Rocks! - Jan 2014 hello_publisher

    /hello “Hello ROS!” Node Message Simple publisher 32
  28. Node Examples! ROS on the Rocks! - Jan 2014 hello_publisher

    /hello “Hello ROS!” Node Message Topic Simple publisher 33
  29. Node Examples! ROS on the Rocks! - Jan 2014 hello_publisher

    /hello “Hello ROS!” Node Message Topic Simple publisher rostopic pub /hello std_msgs/String “Hello ROS!” -r1 34
  30. Node Examples! ROS on the Rocks! - Jan 2014 Node

    Topic Simple subscriber rostopic echo /hello hello_subscriber /hello 35
  31. Node Examples! ROS on the Rocks! - Jan 2014 pub/sub

    /hello curly shemp moe larry 37
  32. Node Examples! ROS on the Rocks! - Jan 2014 pub/sub

    /hello curly shemp1 moe larry shemp2 38
  33. Real Examples! ROS on the Rocks! - Jan 2014 /state

    /rumble_cmd set_led ping set_rumble 44
  34. Real Examples! ROS on the Rocks! - Jan 2014 /state

    /moves start_game make_move resign_game 45
  35. Real Examples! ROS on the Rocks! - Jan 2014 /state

    /trajectory calibrate make_move resign_game /speed /brake /status 46
  36. The big take-aways ROS on the Rocks! - Jan 2014

    NODE 1 NODE 2 Request Response Topic 1 Subscribe Publish NODE 3 Subscribe Compose your complex robotic system out of independent, but communicating “ROS Nodes”. 47
  37. The big take-aways ROS on the Rocks! - Jan 2014

    NODE 1 NODE 2 Request Response Topic 1 Subscribe Publish NODE 3 Subscribe Compose your complex robotic system out of independent, but communicating “ROS Nodes”. • code reuse • standards • open source • community! 48
  38. The big take-aways ROS on the Rocks! - Jan 2014

    http://ros.org http://github.com/roadnarrows-robotics http://github.com/pack3754 49
  39. Bonus material: ROS Bridge ROS on the Rocks! - Jan

    2014 Ok - but what about integrating my ROS application with external resources? 50
  40. Bonus material: ROS Bridge ROS on the Rocks! - Jan

    2014 Ok - but what about integrating my ROS application with external resources? ROS 51
  41. Bonus material: ROS Bridge ROS on the Rocks! - Jan

    2014 Ok - but what about integrating my ROS application with external resources? Web Browsers Wolfram Engine OpenCog Simulink ROS 52
  42. Bonus material: ROS Bridge ROS on the Rocks! - Jan

    2014 Ok - but what about integrating my ROS application with external resources? Web Browsers Wolfram Engine OpenCog Simulink ROS 53
  43. Bonus material: ROS Bridge ROS on the Rocks! - Jan

    2014 Ok - but what about integrating my ROS application with external resources? Web Browsers Wolfram Engine OpenCog Simulink ROS ROS Bridge 54
  44. Bonus material: ROS Bridge ROS on the Rocks! - Jan

    2014 Ok - but what about integrating my ROS application with external resources? Web Browsers Wolfram Engine OpenCog Simulink ROS ROS Bridge ROS Bridge provides a json RPC interface for communicating with arbitrary port-based applications. 55