Computer Vision Group Prof. Daniel Cremers Visual Navigation for Flying Robots Dr. Jürgen Sturm Welcome
Computer Vision Group Prof. Daniel Cremers
Visual Navigation for Flying Robots
Dr. Jürgen Sturm
Welcome
2 Dr. Rudolph Triebel
Computer Vision Group
Advertisement: Machine Learning for Computer Vision
2
3 Dr. Rudolph Triebel
Computer Vision Group
Advertisement: Machine Learning for Computer Vision
• Lecture by Dr. Rudolph Triebel
• Starts Friday 26th April 9-11 am, weekly
• Exercise classes
every other week
• Room 02.09.023
• Topics: Probabilistic
Graphical Models,
Conditional Random Fields, Kernel Methods, Gaussian
Processes, Boosting, Random Forests, Clustering...
• Requirements: basic math (algebra, stochastic)
• More information:
http://vision.in.tum.de/teaching/ss2013/ml_ss13
3
Computer Vision Group Prof. Daniel Cremers
Visual Navigation for Flying Robots
Dr. Jürgen Sturm
Welcome
Organization
Tue 10:15-11:45
Lectures, discussions
Lecturer: Jürgen Sturm
Thu 14:00-15:30
Lab course, homework & programming exercises
Teaching assistant: Jakob Engel and Christian Kerl
Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM 5
Who Are We?
Computer Vision group: 1 Professor, 3 Postdocs, 11 PhD students
Research topics: Motion estimation, 3D reconstruction, image segmentation, convex optimization, shape analysis
My research goal: Apply solutions from computer vision to real-world problems in robotics.
Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM 6
Who Are You?
Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM 7
Goal of this Course
Provide an overview on problems/approaches for autonomous quadrocopters
Strong focus on vision as the main sensor
Areas covered: Mobile Robotics and Computer Vision
Hands-on experience in lab course
Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM 8
Course Website
Course Website: http://vision.in.tum.de/teaching/ss2013/visnav2013
Announcements
Schedule
Slides
Recordings
Exercises
We need your feedback to improve this course!
Let us know when you have ideas for improvement, find mistakes, …
Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM 9
Course Material
Probabilistic Robotics. Sebastian Thrun, Wolfram Burgard and Dieter Fox. MIT Press, 2005.
Computer Vision: Algorithms and Applications. Richard Szeliski. Springer, 2010. http://szeliski.org/Book/
Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM 10
Lecture Plan
1. Introduction 2. Robots, sensor and motion models 3. State estimation and control 4. Guest talks 5. Feature detection and matching 6. Motion estimation 7. Simultaneous localization and mapping 8. Stereo correspondence 9. 3D reconstruction 10. Navigation and path planning 11. Exploration 12. Evaluation and Benchmarking
Basics on mobile robotics
Camera-based localization and mapping
Advanced topics
Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM 11
Lab Course
Jakob Engel and Christian Kerl
Thu 14:00 – 15:30
Room 02.05.014
Alternation of exercises and robot lab:
Exercises: every two weeks, discussion of homework, participation is required
Robot lab: in weeks without exercises, help with quadrocopter programming, participation recommended
Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM 12
Exercises
Exercise sheets contain both theoretical and programming problems
3 exercise sheets + 1 mini-project
Deadline: before lecture (Tue 10:15)
Hand in by email ([email protected])
Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM 13
Group Assignment and Schedule
5 Parrot Ardrones
30 students in the course, 3 students per group 10 groups
Either use lab computers or bring own laptop (recommended)
List for groups and robot schedule
You have to sign up for a team before May 2nd (team list in lab room)
After May 2nd, remaining places will be given to students on waiting list
Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM 14
Lab Course
Starts this Thursday (room 02.05.014)
Introduction to ROS and the Ardrone
If you bring your own laptop:
Pre-install ROS
http://www.ros.org/wiki/ROS/Installation
If not:
Jakob and Christian will provide you with user accounts for the lab machines
Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM 15
VISNAV2013: Team Assignment
Team Name
Student Name
Student Name
Student Name
Team Name
Student Name
Student Name
Student Name
Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM 16
VISNAV2013: Robot Schedule
Each team gets one time slot with programming support
The robots/PCs are also available during the rest of the week (but without programming support)
Thursday Ardrone 1 Ardrone 2 Ardrone 3 Ardrone 4 Ardrone 5
2pm – 4pm
4pm – 6pm
Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM 17
Safety Warning
Quadrocopters are dangerous objects
Read the instructions carefully before you start
Always use the protective hull
If somebody gets injured, report to us so that we can improve safety guidelines
If something gets damaged, report it to us so that we can fix it
NEVER TOUCH THE PROPELLORS
DO NOT TRY TO CATCH THE QUADROCOPTER WHEN IT FAILS – LET IT FALL/CRASH!
Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM 18
Agenda for Today
History of mobile robotics
Brief intro on quadrocopters
Paradigms in robotics
Architectures and middleware
Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM 19
General background
Autonomous, automaton
self-willed (Greek, auto+matos)
Robot
Karel Capek in 1923 play R.U.R. (Rossum’s Universal Robots)
labor (Czech or Polish, robota)
workman (Czech or Polish, robotnik)
Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM 20
History
In 1966, Marvin Minsky at MIT asked his undergraduate student Gerald Jay Sussman to
“spend the summer linking a camera to a computer and getting the computer to describe what it saw”.
We now know that the problem is slightly more difficult than that. (Szeliski 2009, Computer Vision)
Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM 21
Stanford Cart (1961-80)
Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM 22
Shakey the Robot (1966-1972)
Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM 23
Shakey the Robot (1966-1972)
Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM 24
Rhino and Minerva (1998-99)
Museum tour guide robots
University of Bonn and CMU
Deutsches Museum, Smithsonian Museum
Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM 25
Roomba (2002)
Sensor: one contact sensor
Control: random movements
Over 5 million units sold
Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM 26
Neato XV-11 (2010)
Sensors:
1D range sensor for mapping and localization
Improved coverage
Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM 27
Darpa Grand Challenge (2005)
Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM 28
Kiva Robotics (2007)
Pick, pack and ship automation
Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM 29
Fork Lift Robots (2010)
Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM 30
Quadrocopters (2001-)
Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM 31
Aggressive Maneuvers (2010)
Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM 32
Autonomous Construction (2011)
Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM 33
Mapping with a Quadrocopter (2011)
Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM 34
Our Own Recent Work (2011-)
Visual odometry (Frank Steinbrücker, Christian Kerl)
Camera-based navigation (Jakob Engel)
3D Reconstruction (Erik Bylow)
Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM 35
Current Trends in Robotics
Robots are entering novel domains
Industrial automation
Domestic service robots
Medical, surgery
Entertainment, toys
Autonomous cars
Aerial monitoring/inspection/construction
Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM 36
Flying Robots
Recently increased interest in flying robots
Shift focus to different problems (control is much more difficult for flying robots, path planning is simpler, …)
Especially quadrocopters because
Can keep position
Reliable and compact
Low maintenance costs
Trend towards miniaturization
Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM 37
Application Domains of Flying Robots
Stunts for action movies, photography, sportscasts
Search and rescue missions
Aerial photogrammetry
Documentation
Aerial inspection of bridges, buildings, …
Construction tasks
Military
Today, quadrocopters are often still controlled by human pilots
Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM 38
Quadrocopter Platforms
Commercial platforms
Ascending Technologies
Parrot Ardrone
…
Community/open-source projects
Mikrokopter
Paparazzi
…
For more, see http://multicopter.org/wiki/Multicopter_Table
Used in the lab course
Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM 39
Flying Principles
Fixed-wing airplanes
generate lift through forward airspeed and the shape of the wings
controlled by flaps
Helicopters/rotorcrafts
main rotor for lift, tail rotor to compensate for torque
controlled by adjusting rotor pitch
Quadrocopter/quadrotor
four rotors generate thrust
controlled by changing the speeds of rotation
Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM 40
Helicopter
Swash plate adjusts pitch of propeller cyclically, controls pitch and roll
Yaw is controlled by tail rotor
Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM 41
Quadrocopter
Keep position: Torques of all four rotors sum to zero Thrust compensates for earth gravity Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM 42
Quadrocopter: Basic Motions
Ascend Descend
Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM 43
Quadrocopter: Basic Motions
Turn Left Turn Right
Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM 44
Quadrocopter: Basic Motions
Accelerate Forward
Accelerate Backward
Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM 45
Quadrocopter: Basic Motions
Accelerate to the Right
Accelerate to the Left
Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM 46
Autonomous Flight
Low level control (not covered in this course) Maintain attitude, stabilize
Compensate for disturbances
High level control Compensate for drift
Avoid obstacles
Localization and Mapping
Navigate to point
Return to take-off position
Person following
Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM 47
Challenges
Limited payload
Limited computational power
Limited sensors
Limited battery life
Fast dynamics, needs electronic stabilization
Quadrocopter is always in motion
Safety considerations
Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM 48
Roboticist Ethics
Where does the responsibility for a robot lie?
How are robots motivated?
Where are humans in the control loop?
How might society change with robotics?
Should robots be programmed to follow a code of ethics, if this is even possible?
Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM 49
Robot Ethics
Three Laws of Robotics (Asimov, 1942):
A robot may not injure a human being or, through inaction, allow a human being to come to harm.
A robot must obey the orders given to it by human beings, except where such orders would conflict with the First Law.
A robot must protect its own existence as long as such protection does not conflict with the First or Second Laws.
Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM 50
Robot Design
Imagine that we want to build a robot that has to perform navigation tasks…
How would you tackle this?
What hardware would you choose?
What software architecture would you choose?
Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM 51
Robot Hardware/Components
Sensors
Actuators
Control Unit/Software
Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM 52
Evolution of Paradigms in Robotics
Classical robotics (mid-70s) Exact models No sensing necessary
Reactive paradigms (mid-80s) No models Relies heavily on good sensing
Hybrid approaches (since 90s) Model-based at higher levels Reactive at lower levels
Current trends (since mid 2000s) Big data Cloud computing
Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM 53
Classical / hierarchical paradigm
Inspired by methods from Artificial Intelligence (70’s)
Focus on automated reasoning and knowledge representation
STRIPS (Stanford Research Institute Problem Solver): Perfect world model, closed world assumption
Shakey: Find boxes and move them to designated positions
Sense Plan Act
Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM 54
Classical paradigm: Stanford Cart
Take nine images of the environment, identify interesting points, estimate depth
Integrate information into global world model
Correlate images with previous image set to estimate robot motion
On basis of desired motion, estimated motion, and current estimate of environment, determine direction in which to move
Execute motion
Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM 55
Classical paradigm as horizontal/functional decomposition
Perc
epti
on
Mo
del
Pla
n
Exec
ute
Mo
tor
Co
ntr
ol
Sensing Acting
Environment
Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM 56
Characteristics of hierarchical paradigm
Good old-fashioned Artificial Intelligence (GOFAI):
Symbolic approaches
Robot perceives the world, plans the next action, acts
All data is inserted into a single, global world model
Sequential data processing
Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM 57
Reactive Paradigm
Sense-act type of organization Multiple instances of stimulus-response loops
(called behaviors) Each behavior uses local sensing to generate the
next action Combine several behaviors to solve complex tasks Run behaviors in parallel, behavior can override
(subsume) output of other behaviors
Sense Act
Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM 58
Reactive Paradigm as Vertical Decomposition
Sensing Acting
Environment
Avoid obstacles
Wander
Explore
…
Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM 59
Characteristics of Reactive Paradigm
Situated agent, robot is integral part of the world
No memory, controlled by what is happening in the world
Tight coupling between perception and action via behaviors
Only local, behavior-specific sensing is permitted (ego-centric representation)
Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM 60
Subsumption Architecture
Introduced by Rodney Brooks in 1986
Behaviors are networks of sensing and acting modules (augmented finite state machines)
Modules are grouped into layers of competence
Layers can subsume lower layers
Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM 61
Level 1: Avoid
sonar sensors
feel force
collide
runaway
move forward
turn
halt
heading
force
Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM 62
Level 2: Wander
sonar sensors
feel force
collide
runaway
move forward
turn
halt
heading
force
wander
avoid
Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM 63
Level 3: Follow Corridor
sonar sensors
feel force
collide
runaway
move forward
turn
halt
heading
force
wander
avoid stereo
integrate look stay in the
middle
modified heading
distance, direction traveled
heading to middle
stop motion
Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM 64
Roomba Robot
Exercise: Model the behavior of a Roomba robot.
Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM 65
Navigation with Potential Fields
Treat robot as a particle under the influence of a potential field
Robot travels along the derivative of the potential
Field depends on obstacles, desired travel directions and targets
Resulting field (vector) is given by the summation of primitive fields
Strength of field may change with distance to obstacle/target
Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM 66
Primitive Potential Fields
Uniform Perpendicular
Attractive Repulsive Tangential Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM 67
Example: reach goal and avoid obstacles
Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM 68
Corridor Following Robot
Level 1 (collision avoidance) add repulsive fields for the detected obstacles
Level 2 (wander) add a uniform field into a (random) direction
Level 3 (corridor following) replaces the wander field by three fields (two perpendicular, one parallel to the walls)
Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM 69
Characteristics of Potential Fields
Simple method which is often used
Easy to visualize
Easy to combine different fields (with parameter tuning)
But: Suffer from local minima Random motion to escape local
minimum
Backtracking
Increase potential of visited regions
High-level planner Goal
Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM 70
Hybrid deliberative/reactive Paradigm
Combines advantages of previous paradigms
World model used in high-level planning
Closed-loop, reactive low-level control
Sense Act
Plan
Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM 71
Modern Robot Architectures
Robots became rather complex systems
Often, a large set of individual capabilities is needed
Flexible composition of different capabilities for different tasks
Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM 72
Best Practices for Robot Architectures
Modular
Robust
De-centralized
Facilitate software re-use
Hardware and software abstraction
Provide introspection
Data logging and playback
Easy to learn and to extend
Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM 73
Robotic Middleware
Provides infrastructure
Communication between modules
Data logging facilities
Tools for visualization
Several systems available
Open-source: ROS (Robot Operating System), Player/Stage, CARMEN, YARP, OROCOS
Closed-source: Microsoft Robotics Studio
Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM 74
Example Architecture for Navigation
Robot Hardware
Actuator driver(s) Sensor driver(s)
Sensor interface(s) Actuator interface(s)
Localization module Local path planning +
collision avoidance
Global path planning
User interface / mission planning
Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM 75
Stanley’s Software Architecture
Touareg interface
Laser mapper
Wireless E-Stop
Top level control
Laser 2 interface
Laser 3 interface
Laser 4 interface
Laser 1 interface
Laser 5 interface
Camera interface
Radar interface Radar mapper
Vision mapper
UKF Pose estimation
Wheel velocity
GPS position
GPS compass
IMU interface Surface assessment
Health monitor
Road finder
Touch screen UI
Throttle/brake control
Steering control
Path planner
laser map
vehicle state (pose, velocity)
velocity limit
map
vision map
vehicle state
obstacle list
trajectory
RDDF database
driving mode
pause/disable command
Power server interface
clocks
emergency stop
power on/off
Linux processes start/stop heart beats
corridor
SENSOR INTERFACE PERCEPTION PLANNING&CONTROL USER INTERFACE
VEHICLE INTERFACE
RDDF corridor (smoothed and original)
Process controller
GLOBAL SERVICES
health status
data
Data logger File system
Communication requests
vehicle state (pose, velocity)
Brake/steering
Communication channels
Inter-process communication (IPC) server Time server
road center
Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM 76
PR2 Software Architecture
Two 7-DOF arms, grippers, torso, 2-DOF head
7 cameras, 2 laser scanners
Two 8-core CPUs, 3 network switches
73 nodes, 328 message topics, 174 services
Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM 77
Communication Paradigms
Message-based communication
Direct (shared) memory access
A B msg
var x var y
A B
memory
var x var y
Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM 78
Forms of Communication
Push
Pull
Publisher/subscriber
Publish to blackboard
Remote procedure calls / service calls
Preemptive tasks / actions
Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM 79
Push
Broadcast
One-way communication
Send as the information is generated by the producer P
P C data
Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM 80
Pull
Data is delivered upon request by the consumer C (e.g., a map of the building)
Useful if the consumer C controls the process and the data is not required (or available) at high frequency
P C
data
data request
Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM 81
Publisher/Subscriber
The consumer C requests a subscription for the data by the producer P (e.g., a camera or GPS)
The producer P sends the subscribed data as it is generated to C
Data generated according to a trigger (e.g., sensor data, computations, other messages, …)
P C
data (t=0)
subscription request
data (t=1)
data (…) Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM 82
Publish to Blackboard
The producer P sends data to the blackboard (e.g., parameter server)
A consumer C pull data from the blackboard B
Only the last instance of data is stored in the blackboard B
B C
data
data request
P data
Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM 83
Service Calls
The client C sends a request to the server S
The server returns the result
The client waits for the result (synchronous communication)
Also called: Remote Procedure Call
C S
result
request + input data
Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM 84
Actions (Preemptive Tasks)
The client requests the execution of an enduring action (e.g., navigate to a goal location)
The server executes this action and sends continuously status updates
Task execution may be canceled from both sides (e.g., timeout, new navigation goal,…)
Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM 85
Robot Operating System (ROS)
We will use ROS in the lab course
http://www.ros.org/
Installation instructions, tutorials, docs
Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM 86
Concepts in ROS
Nodes: programs that communicate with each other
Messages: data structure (e.g., “Image”)
Topics: typed message channels to which nodes can publish/subscribe (e.g., “/camera1/image_color”)
Parameters: stored in a blackboard
face_detector camera_driver Image
Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM 87
Software Management
Package: atomic unit of building, contains one or more nodes and/or message definitions
Stack: atomic unit of releasing, contains several packages with a common theme
Repository: contains several stacks, typically one repository per institution
Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM 88
Useful Tools
roscreate-pkg
rosmake
roscore
rosnode list/info
rostopic list/echo
rosbag record/play
rosrun
Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM 89
Tutorials in ROS
Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM 90
Summary
History of mobile robotics
Brief intro on quadrocopters
Paradigms in robotics
Architectures and middleware
Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM 91
Questions?
See you next week!
Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM 92