introduction to ros - computer vision group€¦ · tools – rosbag+rxbag rosbag record – create...

Post on 19-Aug-2020

1 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

top related