Lecture 8 Part 1
-
Upload
akshay-babbar -
Category
Documents
-
view
217 -
download
1
description
Transcript of Lecture 8 Part 1
-
Computer Vision Group Prof. Daniel Cremers
Autonomous Navigation for Flying Robots Lecture 8.1: Visual Navigation with a Parrot Ardrone Jrgen Sturm
Technische Universitt Mnchen
-
Parrot Ardrone
Low-cost platform (300 USD)
Controllable via wifi
API is open-source
Many language bindings
C/C++
Python
JavaScript
Jrgen Sturm Autonomous Navigation for Flying Robots 2
-
Software Architecture for Robotics
Robots became rather complex systems
Often, a large set of individual capabilities is needed
Flexible composition of different capabilities for different tasks
Jrgen Sturm Autonomous Navigation for Flying Robots 3
-
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
Jrgen Sturm Autonomous Navigation for Flying Robots 4
-
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
Jrgen Sturm Autonomous Navigation for Flying Robots 5
-
Example Architecture for Navigation
Jrgen Sturm Autonomous Navigation for Flying Robots 6
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
-
Robot Operating System (ROS)
http://www.ros.org/
Installation instructions, tutorials, docs
Jrgen Sturm Autonomous Navigation for Flying Robots 7
-
Camera-based Navigation [Engel, Sturm, Cremers; IROS 2012; RAS 2014]
Jrgen Sturm Autonomous Navigation for Flying Robots 8
Monocular SLAM Extended Kalman
Filter PID Control
Quadrocopter
Control @100Hz
Video @18Hz
IMU @200Hz
-
Camera-based Navigation [Engel, Sturm, Cremers; IROS 2012; RAS 2014]
Jrgen Sturm Autonomous Navigation for Flying Robots 9
Monocular SLAM Extended Kalman
Filter PID Control
Quadrocopter
Control @100Hz
Video @18Hz
IMU @200Hz
-
Monocular SLAM
Based on PTAM library [Klein and Murray, ISMAR 2007]
Visual SLAM
Match visual features between keyframes
Optimize camera poses and 3D feature points
Optimized for dual cores, highly efficient, open-source
Jrgen Sturm Autonomous Navigation for Flying Robots 10
Thread 1 (real-time)
Thread 2 (not real-time)
Track camera
Optimize map Optimize map
Track camera Track camera
image image image
-
Camera-based Navigation [Engel, Sturm, Cremers; IROS 2012; RAS 2014]
Jrgen Sturm Autonomous Navigation for Flying Robots 11
Monocular SLAM Extended Kalman
Filter PID Control
Quadrocopter
Control @100Hz
Video @18Hz
IMU @200Hz
3D feature positions and camera poses
Visual features
-
Camera-based Navigation [Engel, Sturm, Cremers; IROS 2012; RAS 2014]
Based on PTAM
Our contributions:
Enhanced reliability by incorporating IMU into PTAM
Maximum likelihood scale estimation from ultrasound altimeter and IMU
Jrgen Sturm Autonomous Navigation for Flying Robots 12
Monocular SLAM Extended Kalman
Filter PID Control
Quadrocopter
Control @100Hz
Video @18Hz
IMU @200Hz
-
Camera-based Navigation [Engel, Sturm, Cremers; IROS 2012; RAS 2014]
Input: PTAM estimate, IMU, controls
Output: pose estimate
State vector:
Full, calibrated model of the flight dynamics
Delay compensation (~200ms)
Jrgen Sturm Autonomous Navigation for Flying Robots 13
Monocular SLAM Extended Kalman
Filter PID Control
Quadrocopter
Control @100Hz
Video @18Hz
IMU @200Hz
-
Time Delays [Engel, Sturm, Cremers; IROS 2012; RAS 2014]
Jrgen Sturm Autonomous Navigation for Flying Robots 14
Last visual observation
Last IMU observation
Now Command received
-
Camera-based Navigation [Engel, Sturm, Cremers; IROS 2012; RAS 2014]
Based on predicted state from EKF
Approach and hold target position
High level control: Hold position, assisted control, follow waypoints
Jrgen Sturm Autonomous Navigation for Flying Robots 15
Monocular SLAM Extended Kalman
Filter PID Control
Quadrocopter
Control @100Hz
Video @18Hz
IMU @200Hz
-
Results [Engel, Sturm, Cremers; IROS 2012; RAS 2014]
Jrgen Sturm Autonomous Navigation for Flying Robots 16
Camera-Based Navigation of a Low-Cost Quadrocopter (J. Engel, J. Sturm, D. Cremers), In Proc. of the International Conference on Intelligent Robot Systems (IROS), 2012. http://youtu.be/tZxlDly7lno
-
Results [Engel, Sturm, Cremers; IROS 2012; RAS 2014]
Jrgen Sturm Autonomous Navigation for Flying Robots 17
Camera-Based Navigation of a Low-Cost Quadrocopter (J. Engel, J. Sturm, D. Cremers), In Proc. of the International Conference on Intelligent Robot Systems (IROS), 2012. http://youtu.be/eznMokFQmpc
-
Lessons Learned
Parrot Ardrone
ROS as a middleware
Monocular SLAM with PTAM
Example: Visual navigation with the Parrot Ardrone
Fast & accurate navigation (with up to 2 m/s)
Source code available on http://www.ros.org/wiki/tum_ardrone
Jrgen Sturm Autonomous Navigation for Flying Robots 18