January 2014
O N T H E R O C K S
ROS O N T H E R O C K S January 2014 ROS ROS O N T H E - - PowerPoint PPT Presentation
ROS O N T H E R O C K S January 2014 ROS ROS O N T H E R O C K S O N T H E R O C K S January 2014 RoadNarrows Robotics Designing Robotics and Intelligent Systems RoadNarrows Robotics Designing Robotics and Intelligent
January 2014
O N T H E R O C K S
January 2014
O N T H E R O C K S
O N T H E R O C K S
Designing Robotics and Intelligent Systems
Designing Robotics and Intelligent Systems Presenting: A Practical Introduction to ROS
Featuring: the Hekateros Manipulator Daniel Packard - January 2014
What is ROS?
ROS on the Rocks! - Jan 2014 5
What is ROS?
ROS is the: Robot Operating System
ROS on the Rocks! - Jan 2014 6
What is ROS?
ROS is the: Robot Operating System
ROS on the Rocks! - Jan 2014
…but not really an operating system.
7
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
Anatomy of a Robot
ROS on the Rocks! - Jan 2014 9
Anatomy of a Robot
ROS on the Rocks! - Jan 2014 Sensors Actuators Processors 10
Anatomy of a Robot
ROS on the Rocks! - Jan 2014 Sensors Actuators Processors Abstract Software Components (perception, cognition, planners) 11
Anatomy of a Robot
ROS on the Rocks! - Jan 2014 Sensors Actuators Processors Abstract Software Components (cognition, perception, planners) 12
Anatomy of a Robot
ROS on the Rocks! - Jan 2014 Sensors Actuators Processors Abstract Software Components (cognition, perception, planners) 13
Sensors Actuators Processors
Anatomy of a Robot
ROS on the Rocks! - Jan 2014 Abstract Software Components (cognition, perception, planners) 14
Sensors Actuators Processors
Anatomy of a Robot
ROS on the Rocks! - Jan 2014 Abstract Software Components (cognition, perception, planners) 15
Anatomy of a Robot
ROS on the Rocks! - Jan 2014 Abstract Software Components (cognition, perception, planners) 16
Anatomy of a Robot
ROS on the Rocks! - Jan 2014 Abstract Software Components (perception, cognition, planners) 17
Enter ROS
ROS on the Rocks! - Jan 2014
ROS helps you structure your robotics applications.
18
Enter ROS
ROS on the Rocks! - Jan 2014
The basic unit of a ROS application is a ROS node…
19
Enter ROS
ROS on the Rocks! - Jan 2014
The basic unit of a ROS application is a ROS node…
Node 20
Enter ROS
ROS on the Rocks! - Jan 2014
The basic unit of a ROS application is a ROS node…
Node 21
Enter ROS
ROS on the Rocks! - Jan 2014
The basic unit of a ROS application is a ROS node…
Node 22
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
Communicating Nodes
ROS on the Rocks! - Jan 2014 NODE 1 NODE 2 Request Response Topic 1 Subscribe P u b l i s h NODE 3 Subscribe
Compose your complex robotic system out of independent, but communicating “ROS Nodes”.
24
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
Communicating Nodes
ROS on the Rocks! - Jan 2014 NODE 1 NODE 2 Request Response
Topic 1 S u b s c r i b e Publish
NODE 3
S u b s c r i b e
Publish & Subscribe
Compose your complex robotic system out of independent, but communicating “ROS Nodes”.
26
Communicating Nodes
ROS on the Rocks! - Jan 2014 NODE 1 NODE 2 Request Response Topic 1 Subscribe P u b l i s h NODE 3 Subscribe
Action Servers
Compose your complex robotic system out of independent, but communicating “ROS Nodes”.
27
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
Why do we love ROS?
ROS on the Rocks! - Jan 2014
29
Node Examples!
ROS on the Rocks! - Jan 2014
hello_publisher /hello
“Hello ROS!”
Simple publisher
30
Node Examples!
ROS on the Rocks! - Jan 2014
hello_publisher /hello
“Hello ROS!” Node
Simple publisher
31
Node Examples!
ROS on the Rocks! - Jan 2014
hello_publisher /hello
“Hello ROS!” Node Message
Simple publisher
32
Node Examples!
ROS on the Rocks! - Jan 2014
hello_publisher /hello
“Hello ROS!” Node Message Topic
Simple publisher
33
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
Node Examples!
ROS on the Rocks! - Jan 2014 Node Topic
Simple subscriber
rostopic echo /hello
hello_subscriber /hello
35
Node Examples!
ROS on the Rocks! - Jan 2014
pub/sub /hello pub sub
36
Node Examples!
ROS on the Rocks! - Jan 2014
pub/sub /hello curly shemp moe larry
37
Node Examples!
ROS on the Rocks! - Jan 2014
pub/sub /hello curly shemp1 moe larry shemp2
38
Real Examples!
ROS on the Rocks! - Jan 2014 39
Real Examples!
ROS on the Rocks! - Jan 2014 40
Real Examples!
ROS on the Rocks! - Jan 2014 41
Real Examples!
ROS on the Rocks! - Jan 2014
/state
42
Real Examples!
ROS on the Rocks! - Jan 2014
/state
set_led ping set_rumble 43
Real Examples!
ROS on the Rocks! - Jan 2014
/state
/rumble_cmd
set_led ping set_rumble 44
Real Examples!
ROS on the Rocks! - Jan 2014
/state
/moves
start_game make_move resign_game 45
Real Examples!
ROS on the Rocks! - Jan 2014
/state
/trajectory
calibrate make_move resign_game
/speed /brake
/status
46
The big take-aways
ROS on the Rocks! - Jan 2014 NODE 1 NODE 2 Request Response Topic 1 Subscribe P u b l i s h NODE 3 Subscribe
Compose your complex robotic system out of independent, but communicating “ROS Nodes”.
47
The big take-aways
ROS on the Rocks! - Jan 2014 NODE 1 NODE 2 Request Response Topic 1 Subscribe P u b l i s h NODE 3 Subscribe
Compose your complex robotic system out of independent, but communicating “ROS Nodes”.
48
The big take-aways
ROS on the Rocks! - Jan 2014
http://ros.org http://github.com/roadnarrows-robotics http://github.com/pack3754
49
Bonus material: ROS Bridge
ROS on the Rocks! - Jan 2014
Ok - but what about integrating my ROS application with external resources?
50
Bonus material: ROS Bridge
ROS on the Rocks! - Jan 2014
Ok - but what about integrating my ROS application with external resources? ROS
51
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
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
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
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