Vision Based Autonomous Control of a Quadcopter
|
|
- Julian Williamson
- 5 years ago
- Views:
Transcription
1 Department of Electrical and Computer Engineering Vision Based Autonomous Control of a Quadcopter By Zack Woods, Jeff Deeds, Zach Engstrom, and Caleb Gill Advised by Drs. Y. Lu, J. Wang, and I. S. Ahn May 2, 2017
2 Agenda Motivation Objectives Previous Work System Design and Implementation Results and Discussion Project Management Conclusion and Future Work 2
3 Motivation 3
4 Agenda Motivation Objectives Previous Work System Design and Implementation Results and Discussion Project Management Conclusion and Future Work 4
5 Objectives This project accomplishes a simple set of instructions to test initial functionality and form a basis for future endeavors. Autonomously control a quadcopter to execute a mission using visual feedback. 5
6 Step 1 - Take off 6
7 Step 2 - Navigate to GPS Coordinate 7
8 Step 3 - Search and Detect Target 8
9 Step 4 - Center Over Target 9
10 Step 5 - Land Near Target 10
11 Agenda Motivation Objectives Previous Work System Design and Implementation Results and Discussion Project Management Conclusion and Future Work 11
12 Previous Work - Colored Target Project Research project from University of Queensland, Brisbane (2016) Color detection vision control: Red target square OpenCV and MAVProxy 12
13 Previous Work - AprilTag Visual fiducial system developed at the University of Michigan Similar to ARtags Uses 9 step detection process Benefits Detectable at high skew Binary image for computation efficiency Low/high light performance Calculates distance and orientation based on the size of the AprilTags 13
14 Previous Work - AprilTag Step 1: Grayscale and Blur Step 2: Local Gradient Step 3: Edge Detection 14
15 Previous Work - AprilTag Step 4: Edge Thinning Step 5: Line Segments Step 6: Lines Connected 15
16 Previous Work - AprilTag Step 7: Quad Detection Step 8: Quads Decoded Step 9: Refine Detections 16
17 Agenda Motivation Objectives Previous Work System Design and Implementation Results and Discussion Project Management Conclusion and Future Work 17
18 System Specifications - Quadcopter Quadcopter: 3D Robotics Iris+ Max Payload: 0.8 lbs Payload used: 0.17 lbs Controller Range: 300 meters Battery Capacity: 5100mAh Flight Time (Current Load): 10 minutes 18
19 System Specifications - Peripherals Peripherals GPS Module: ublox with integrated magnetometer Camera: 8 Megapixels Pi camera V2 Telemetry/Radio Control Frequency: 915 MHz GPS RC/Telemetry Camera 19
20 System Specifications - Onboard Autopilot Onboard Autopilot: PX4 (Pixhawk) CPU: 168 MHz Cortex M4F RAM: 256 KB Flash Memory: 2 MB Sensors: 3D Accelerometer Gyroscope Magnetometer Barometer Ports: 5x UARTs CAN I2C SPI ADC 20
21 System Specifications - Embedded System Embedded System: Raspberry Pi 3 SoC: Broadcom BCM2837 CPU: Quad Core ARM Cortex-A53, 1.2GHz GPU: Broadcom VideoCore IV RAM: 1GB LPDDR2 (900 MHz) Networking: 10/100 Ethernet, 2.4GHz n wireless Bluetooth: Bluetooth 4.1 Classic, Bluetooth Low Energy Storage: microsd GPIO: 40-pin header, populated Ports: HDMI 3.5mm analogue audio-video jack 4 USB 2.0 Ethernet Camera Serial Interface (CSI) Display Serial Interface (DSI) 21
22 System Connections Use wireless ssh connection to program the Raspberry Pi 3 Camera is connected to the Raspberry Pi 3 through the Camera Serial Interface Raspberry Pi 3 GPIO pins 1,3,4,5 connected to Telem 2 port on Pixhawk CSI 2 22
23 System Block Diagram PixHawk: An industry-standard advanced autopilot MAVLink (Micro Air Vehicle Link): A protocol for communicating with a small unmanned vehicle 23
24 Subsystems - AprilTag Detector AprilTag Detection Request AprilTag Detector Video Feed AprilTag s Position and Orientation Receives detection request from Control Algorithm. Receives a video feed from a camera that is external to the quadcopter. Uses the video feed to detect the desired AprilTag and determine its position and orientation, with respect to the camera s position and orientation. Sends the AprilTag s position and orientation to the control algorithm subsystem. 24
25 Subsystems - Control Algorithm AprilTag s Position and Orientation Quadcopter s Position and Heading Mission Commands AprilTag Detection Request Control Algorithm Desired Movement Commands Receives mission commands from the ground station. Sends detection request to AprilTag detector subsystem. Receives position and orientation of a detected AprilTag from the AprilTag detector subsystem. Receives the quadcopter s position and heading from the Pixhawk. Uses mission commands, AprilTag position and orientation, and quadcopter s position and heading to determine commands needed for moving to a desired location. Sends desired movement commands to the MavLink command encoder subsystem. 25
26 Subsystems - Control Algorithm 26
27 Subsystems - Control Algorithm 27
28 Subsystems - Control Algorithm 28
29 Subsystems - Control Algorithm 29
30 Subsystems - Control Algorithm 30
31 Subsystems - Control Algorithm 31
32 Subsystems - Control Algorithm 32
33 Subsystems - MAVLink Command Encoder Desired Movement Commands MavLink Command Encoder Movement Commands Receives desired movement commands from the control algorithm subsystem. Converts the desired movement commands into MAVLink commands. Sends converted desired movement commands to the Pixhawk. Handles serial I/O to and from the airborne embedded system. 33
34 Subsystems - MAVLink Command Encoder MAVLink is a protocol for communicating with a small unmanned vehicle. Encoder used is DroneKit-Python which is a Python API Each MAVLink Command has bytes 6 bytes of header bytes of payload 2 bytes of checksum Transmitted at a baud rate of 57,600 bits/s 34
35 Interprocess Communication Vision Detection and Control Algorithm subsystems run in concurrent processes Project has library dependencies in both C++ and Python Client-Server Communication Model Vision Detection C++ application is Server Control Algorithm Python script is Client 35
36 Agenda Motivation Objectives Previous Work System Design and Implementation Results and Discussion Project Management Conclusion and Future Work 36
37 AprilTag Detector Utilize C++ AprilTag library Library Functionality Video4Linux Camera Setup and Initialization Captures and processes frames from video feed Report information on tag detections of target family ID Position Orientation Processing Time 37
38 AprilTag Detector - Testing Detection Delay vs Resolution Resolution = 320 x 240, Detection Delay = 0.62 sec Resolution = 640 x 480, Detection Delay = 2.04 sec 38
39 AprilTag Detector - Testing Detection Reliability vs. AprilTag Family AprilTag Family = 36h11 39
40 AprilTag Detector - Testing Detection Reliability vs. AprilTag Family AprilTag Family = 25h9 40
41 AprilTag Detector - Specifications Resolution (pixel per frame) : 640 x 480 Detection Delay : 2.04 s Max Detectable Distance : 8 m Hovering Distance : 5 m AprilTag Family : 25h9 Field of View : 62.2 x 48.8 ( 6 m x 4.5 m ) 41
42 Quadcopter - Simpler Mission 42
43 Quadcopter - Simpler Mission Take off to an altitude of 5 meters. Land at a location 8 meters north and 5 meters west of the launch site. 43
44 Interprocess Communication Python Client C++ Server Integration for AprilTag Detection and Control Algorithm subsystems Client-server communication model using Linux named pipes Two handled requests CHECK - Verify IPC functionality GET - Request tag detection 44
45 Quadcopter - Objective Mission 45
46 Quadcopter - Objective Mission 46
47 Agenda Motivation Objectives Previous Work System Design and Implementation Results and Discussion Project Management Conclusion and Future Work 47
48 Project Schedule and Division of Labor 48
49 Bill of Materials 49
50 Agenda Motivation Objectives Previous Work System Design and Implementation Results and Discussion Project Management Conclusion and Future Work 50
51 Conclusion Able to successfully execute defined objectives Work that is applicable to all PX4 Autopilot platforms AprilTag Detector DroneKit-Python Control Algorithm Recommendations for improvement: New quadcopter platform with a better thrust to weight ratio 51
52 Future Work Obstacle avoidance algorithms to operate in more complex environments (extra sensors would be required). Search algorithms to cover a larger viewing area. Multiagent configuration for swarm intelligence. 52
53 References H. Choi, M. Geeves, B. Alsalam, and L. F. Gonzalez, Open Source Computer-Vision Based Guidance System for UAVs On-Board Decision Making, in Australian Research Centre for Aerospace Automation; School of Electrical Engineering & Computer Science; Institute for Future Environments; Science & Engineering Faculty, Yellowstone Conference Center, Big Sky, Montana, E. Olson, AprilTag: A Robust and Flexible Visual Fiducial System, in 2011 IEEE International Conference on Robotics and Automation (ICRA), 2011, pp L. Meier, D. Honegger, and EagleUp, Home - Pixhawk Flight Controller Hardware Project. [Online]. Available: [Accessed: 02-May-2017]. Raspberry Pi 3 is out now! Specs, benchmarks & more, The MagPi Magazine, 29-Feb First Time Setup Copter Documentation. [Online]. Available: [Accessed: 30-Nov-2016]. MAVLink Micro Air Vehicle Communication Protocol - QGroundControl GCS. [Online]. Available: [Accessed: 30-Nov-2016]. Iris Operation Manual, V2. (2013). 3DR Robotics. 53
54 References - Photos Anthony, 3DR IRIS+ review : many good and only few bad sides, DronesGlobe.com, 19-Sep [Online]. Available: [Accessed: 02-May-2017]. D. Kriege, Obsession Telescopes / Accessories / ServoCAT. [Online]. Available: [Accessed: 02-May-2017]. Aditi, 15 Best Drones for Aerial Photography, Dronomag, 17-Jun Panoptes Systems Introduces ebumper4 Drone Obstacle Avoidance System, Unmanned Systems Technology, 19-Mar B. C. Life, Drones and Condo Associations: Welcome Your Tiny Overlords, Better Condo Life, 21-Jan China has a flamethrower drone, and an awesome use for it, Daily Trendsetter, 24-Feb [Online]. Available: [Accessed: 02-May-2017]. Pizza delivery in the drone, Shutterstock.com. [Online]. Available: [Accessed: 02-May-2017]. Search and Rescue, an Application of Drones, Trackimo, 28-May New Law Allows Weaponized Police Drones, Exposing The Truth, 28-Aug [Online]. Available: [Accessed: 02-May-2017]. 54
55 55