embedded microcomputer systems andrew karpenko 1 prepared for technical presentation february 25 th,...
TRANSCRIPT
Embedded Microcomputer SystemsAndrew Karpenko
1
Prepared for
Technical PresentationFebruary 25th, 2011
A.R.Drone by Parrot
• A helicopter with four rotors
• Internally stabilized
• Controlled by any device with WiFi
• Originally designed as a game accessory for the Apple iPhone and iPod touch platforms
• On-board computer vision• Front and down facing cameras
for video streaming and object detection
• Down facing ultrasonic distance telemeter
• 6 Degree Of Freedom inertial measurement unit
• 4 ARM7 Microprocessors• 1 ARM9 Microprocessor
2
Augmented Reality Drone
Make Platform
• Make Controller Kit• ARM7 Microprocessor• Ethernet• USB• 8 Analog Inputs• 8 Digital Inputs/Outputs• 4 LEDs
• ARM7 Microprocessor• 48MHz• 256KB Memory
3
Development Board
4
KeypadLCD
Speaker
Motor
Bread Board
Make Controller
Kit
Custom development platform designed by Department of Electrical Engineering at UW.
ProjectsCompleted over a 10 week period in groups of two and four:
• Lab 1• Introduction
• Lab 2• Scheduling, Input/Output
• Lab 3• FreeRTOS, PWM and Drone
Control
• Lab 4• Manual and Autonomous
Drone Control
5
Lab 1 - Introduction
6
• Learn the basics of the Make Controller and the Development BoardController
• Review and get familiar with the C programming languageC
• Flash Light Emitting Diodes at different frequenciesLEDs
• Display a message on the Liquid Crystal DisplayLCD
Lab 2 – Scheduling, Input/Output
7
• Create a simple Operating System for handling multiple tasks
• Build a scheduler that runs tasks in a given time frame
OS
• Read values from an analog sensor• Write to and Read from digital Input/Output pinsI/O
• Drive a motor using pulses• Vary the motor speed using values gathered from
the analog sensorsMotor
• Output motor speed and sensor values on the displayLCD
Lab 3 – FreeRTOS, PWM and Drone Control
8
• Transition to the FreeRTOS embedded Real Time Operating System that guarantees executed code will meet deadlinesRTOS
• Implement Pulse Width Modulation to drive the motor based on sensor inputPWM
• Implement an Interrupt Service Routine to measure the revolutions of the motor using a speed encoderISR
• Read values from the keypad• Generate drone commands based on keypad input• Fly the AR.Drone by sending commands to it
Control
Lab 4 – Manual and Autonomous Control
9
• Manually control the drone to navigate a physical obstacle course
ManualControl
• Use a Wii Classic Controller as the control interface for the droneController
• Create an algorithm that will autonomously navigate the drone in a predefined path
AutonomousControl
10
Quadrotor OperationManual Control
Front
Spin Directions Roll(Left and Right)
Pitch(Forward and Back)
Yaw(Rotation)
front
back
left
right
front
back
left
right
front
back
left
right
front
back
left
right
CommunicationManual Control
• Drone acts as a Router
• 3 Port UDP Communication• 5556: Commands to the drone
• 5555: Video feeds from drone
• 5554: Navigation data from the drone
• Different devices can connect to different ports
11
Ethernet
WiF
i
CommandsManual Control
• Send directional commands• Forward/Back
• Left/Right
• Rotate
• Up/Down
• Send all parameters in one command• Back while rotating and
ascending
• Control motor speeds directly (Dangerous)
12
Forward
ControllerManual Control
13
Wii Classic Controller Pro
Forw
ard
Up
Left/RightRotate
Back
Dow
n
Takeoff
Land
ChangeCamera
• Requires implementing the I2C (Inter-Integrated Circuit) bus
Computer VisionAutonomous Control
• Drone can detect 2D tags and other drones• Up to 4 tags
• Can tell them apart
• Estimates distance to tags
• Detection works based on color pattern of outdoor hull, or stickers for the indoor hull
• Used for Augmented Reality games on the iPhone and iPod touch platforms
14
A. Color pattern on outdoor hull
B. Stickers on indoor hull
PathAutonomous Control
15
A
B
Target
Target1 m height
2 m height
1 m height
Points are awarded based on how close the drone is to the starting point at the end of the flight
4m x 4m envelope
H Start
End
Summary• A.R. Drone by Parrot
• Make Platform
• Development Board
• Projects 1 - 3• Lab 1 – Introduction
• Lab 2 – Scheduling, Input/Output
• Lab 3 – FreeRTOS, PWM and Drone Control
• Project 4 – Manual and Autonomous Drone Control• Manual Control
• Quadrotor Operation
• Communication
• Commands
• Controller
• Autonomous Control• Computer Vision
• Path
• Our Approach
17
Embedded Microcomputer Systems
Andrew KarpenkoUniversity of WashingtonSeattle
18
Prepared for
ELP Onsite Visit Technical PresentationFebruary 25th, 2011
All images are property of their respected owners.The following images were obtained online:
• http://makezine.com/images/06/intefacecontroller1.jpg• http://images.bit-tech.net/content_images/2010/07/parrot-ar-drone-review/AR.Drone-06-
b.jpg• http://www.uncrate.com/men/images/2010/01/wii-classic-controller-pro-xl.jpg• http://www.prepaid-wireless-guide.com/images/wifi-router.jpg• http://media.digikey.com/photos/NXP%20Semi%20Photos/568-64-LQFP,SOT314-2.jpg• http://www.makingthings.com/store/media/catalog/product/cache/1/image/5e06319eda0
6f020e43594a9c230972d/k/i/kit20_askew.jpg
• http://cheesycam.com/wp-content/uploads/2010/10/ar-drone-parrot-quadricopter.JPG• http://lasarobotics.org/downloads/Association/Fundraising/sponsor-supporter_logos/NI%2
0Logo_large2.JPG
Any other images found herein have been personally taken by Andrew Karpenko.