Upload
others
View
3
Download
0
Embed Size (px)
Citation preview
Computer Vision Group Prof. Daniel Cremers
VisNav Exercise 01
Dr. Jürgen Sturm
Jakob Engel Christian Kerl
Introduction to ROS
What is ROS?
Robot Operating System
Open-Source Middleware for Robotics
Drivers, Communication, Package System, …
Supports C++, Python, …
Dr. Jürgen Sturm, Computer Vision Group, TUM Visual Navigation for Flying Robots 2
ROS in Numbers
175+ organizational/individual contributors
90+ types of robots supported
3699+ packages
Dr. Jürgen Sturm, Computer Vision Group, TUM Visual Navigation for Flying Robots 3
Concepts – Nodes
Every ROS-enabled program is a node
Registers with ROS master
Unique name
Dr. Jürgen Sturm, Computer Vision Group, TUM Visual Navigation for Flying Robots 4
Concepts – Master
Registry for
Nodes
Topics
Services
Parameters
One instance per system
Dr. Jürgen Sturm, Computer Vision Group, TUM Visual Navigation for Flying Robots 5
Concepts – Topics
Message channel between nodes
Unique name
/ardrone/front/image_raw
Fixed type
sensor_msgs/Image
Dr. Jürgen Sturm, Computer Vision Group, TUM Visual Navigation for Flying Robots 6
namespace name
Concepts – Topics
Node sending messages is a publisher
Node receiving messages is a subscriber
Topic has to be advertised beforehand
Multiple publishers/subscribers per topic possible
Dr. Jürgen Sturm, Computer Vision Group, TUM Visual Navigation for Flying Robots 7
Concepts – Bags
Containers to store messages
Supports recording and playback of messages
Good for testing, debugging, logging
Dr. Jürgen Sturm, Computer Vision Group, TUM Visual Navigation for Flying Robots 8
Tools – roscore
Starts the ROS master
Dr. Jürgen Sturm, Computer Vision Group, TUM Visual Navigation for Flying Robots 9
Tools – rosrun/roslaunch
Starts a node
rosrun ardrone_autonomy ardrone_driver
Important environment variable $ROS_PACKAGE_PATH
Dr. Jürgen Sturm, Computer Vision Group, TUM Visual Navigation for Flying Robots 10
package node
Tools – rostopic
rostopic
list – display available topics
info – show details of a topic
hz – measure publishing rate
echo – print messages
Dr. Jürgen Sturm, Computer Vision Group, TUM Visual Navigation for Flying Robots 11
Tools – rosbag+rxbag
rosbag
record – create new bag file
play – playback a bag
info – display details about a bag
rxbag – GUI to view bag files
Dr. Jürgen Sturm, Computer Vision Group, TUM Visual Navigation for Flying Robots 12
Tools – rviz
Visualization tool
Dr. Jürgen Sturm, Computer Vision Group, TUM Visual Navigation for Flying Robots 13