0
ROSRobot Operating System                  Dr. Radu Bogdan Rusu                  Research Scientist, Willow Garage
What is ROS?●   Meta operating system for robotics●   Obtain, build, write, and run code across    multiple computers, and...
ROS ConceptsI. computational graph  •   how programs run: master, node, topic, message,      service, parameterII. file sy...
(I) Architecture Overview●   distributed processes called nodes●   synchronous services●   asynchronous topics●   data is ...
(I) Nodes●   principal programming entities in ROS●   they connect to each other and pass data    via topics●   the discov...
(I) ROS Messages●     defined in package-name/msg/.msg files,      sent over topics●     basic data types: int{8,16,32,64}...
(I) ROS Messages: example#This message holds a collection of nD points, as a binary blob.Header header# 2D structure of th...
(I) master, roscore●   Master    ●   Name service for ROS         ●   Nodes register topics and services with Master      ...
(I) ROS parameters●   have unique names●   can represent primitive data types:    ●   integers    ●   floats    ●   boolea...
(II) Packages & Stacks●   Packages = directories with a certain structure,    can contain anything: nodes, messages, tools...
(III) Repositories• collection of packages and stacks, hosted online• many repositories (>20): Stanford, CMU, TUM, etc•
Upcoming SlideShare
Loading in...5
×

Cvpr2010 open source vision software, intro and training part vi robot operating system - rusu - unknown - 2010

654

Published on

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
654
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
28
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Transcript of "Cvpr2010 open source vision software, intro and training part vi robot operating system - rusu - unknown - 2010"

  1. 1. ROSRobot Operating System Dr. Radu Bogdan Rusu Research Scientist, Willow Garage
  2. 2. What is ROS?● Meta operating system for robotics● Obtain, build, write, and run code across multiple computers, and multiple robots Hello, I am Texai418 Hi, Im a PR2 Beta
  3. 3. ROS ConceptsI. computational graph • how programs run: master, node, topic, message, service, parameterII. file system • how programs are organized and built: packages, stacks, msg, srvIII. repositories • how files are distributed online: ros-pkg, wg-ros-pkg, tum-ros-pkg, sail-ros-pkg, ...
  4. 4. (I) Architecture Overview● distributed processes called nodes● synchronous services● asynchronous topics● data is passed via ROS messages message Talker Listener * service request Node1 Node2 service reply
  5. 5. (I) Nodes● principal programming entities in ROS● they connect to each other and pass data via topics● the discovery of who publishes on what topic is done via a ROS master (0. I am publishing on /chatter) 1. who publishes on /chatter? ROS master 2. node Talker 3. connect to Talker Talker Listener 4. start sending messages
  6. 6. (I) ROS Messages● defined in package-name/msg/.msg files, sent over topics● basic data types: int{8,16,32,64}, float{32,64}, string, time, duration, array[]Point.msgfloat64 xfloat64 yfloat64 z● used in ROS services, defined in package- name/srv/*.srvService = Request msg + Response msg
  7. 7. (I) ROS Messages: example#This message holds a collection of nD points, as a binary blob.Header header# 2D structure of the point cloud. If the cloud is unordered,# height is 1 and width is the length of the point cloud.uint32 heightuint32 width# Describes the channels and their layout in the binary data blob.PointField[] fieldsbool is_bigendian # Is this data bigendian?uint32 point_step # Length of a point in bytesuint32 row_step # Length of a row in bytesuint8[] data # Actual point data, size is (row_step*height)bool is_dense # True if there are no invalid points
  8. 8. (I) master, roscore● Master ● Name service for ROS ● Nodes register topics and services with Master ● Nodes find each other using Master ● XML-RPC based● roscore ● Master ● parameter server ● rosout: logs /rosout topic for debugging
  9. 9. (I) ROS parameters● have unique names● can represent primitive data types: ● integers ● floats ● boolean ● dictionaries ● maps, etc● can be set and remapped at runtime● stored on the parameter server
  10. 10. (II) Packages & Stacks● Packages = directories with a certain structure, can contain anything: nodes, messages, tools● in their most basic form:package_name/package_name/Makefilepackage_name/CMakeLists.txtpackage_name/manifest.xml● ROS core = small, but ROS world = many packages !!!● Stacks = collection of packages● in their most basic form:stack_name/stack_name/package_name_1stack_name/package_name_Nstack_name/stack.xml
  11. 11. (III) Repositories• collection of packages and stacks, hosted online• many repositories (>20): Stanford, CMU, TUM, etc•
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×