ceas-reu project # 1 multi-uav cooperative control
DESCRIPTION
CEAS-REU Project # 1 Multi-UAV Cooperative Control. Michael Alio : Mechanical Engineering, California State Polytechnic University, Pomona Dan Champion : Aerospace Engineering, University of Cincinnati Emma Dorgan : Mechanical Engineering, University of Cincinnati - PowerPoint PPT PresentationTRANSCRIPT
1
CEAS-REU PROJECT # 1MULTI-UAV COOPERATIVE CONTROL
Michael Alio: Mechanical Engineering, California State Polytechnic University, Pomona
Dan Champion: Aerospace Engineering, University of Cincinnati
Emma Dorgan: Mechanical Engineering, University of Cincinnati
Graduate Research Assistant -Balaji Sharma: Graduate Student in the School of Dynamic Systems, University of Cincinnati
Faculty Mentor – Dr. Manish Kumar: Assistant Professor, Mechanical Engineering, Cooperative Distributed Systems (CDS) Lab, School of Dynamic Systems
2
Purpose• Existing control algorithms have been better
suited for land vehicles• Create a better control algorithm for
simultaneous robots that fly• The algorithm is based on swarming which can
be seen in nature such as a flock of birds or a school of fish
3
Photo credit: http://3.bp.blogspot.com/_wmhnFztZURE/TJawxMxwivI/AAAAAAAAAiw/1ZezslZbXL8/s1600/204.JPG
4
Photo credit: http://www.jacobdavisphotography.com/images/20100112100232_school_of_fish_800.jpg
5
Project Goals:• To gain experience in research
• Help develop a working swarm control algorithm
• Have multiple Skybotix coaxial helicopters fly autonomously and simultaneously by using wireless Local Area Network (LAN)
• Have a working quad-rotor helicopter fly autonomously (optional)
6
Objectives:• Learn how to affectively use the Optitrack system in the
IMAGE Lab• Develop and edit a MatLab program to plot position
vectors in both 2 and 3-Dimensional Space• Use an emulated Linux environment to connect and
program individual Skybotix Coaxial helicopters• Create a control algorithm for the UAVs to follow a pursuit
pattern in a confined space
7
Optitrack Progress:
• We have familiarized ourselves with the Optitrack system
• We learned to calibrate it to recognize specific objects, while ignoring extraneous markers
8
We are working with some very sensitive equipment in the lab!
9
MATLAB Progress:
• Found a MATLAB Tool to collect data from the Natural Point program Written by Glen Lichwark, University of Queensland, Australia
• We were able to use this code to track our object on MATLAB
• It makes 3D and 2D plots in real time
Image Source: Mathworks.com
10
3D and 2D data plots using MATLAB
11
• We changed the code to fit our capture volume
• Also creates a data set of position values while making the graphs
12
MATLAB would also crash frequently and unpredictably
13
Demonstrations• http://
www.youtube.com/watch?v=kHpy_Ou0YFo&feature=plcp
• http://www.youtube.com/watch?v=Zp3rp4XDnPQ&feature=plcp
14
Skybotix CoaX Helicopters• We were each assigned
a Skybotix Helicopter to work with
• The first step was to get them to send and receive information through Serial Connection
• We are using a program called PuTTY to open the connection to the robot.
15
Skybotix Coax Progress• Configuration with Linux is proving to be
difficult
• Skybotix setup forums are extremely vague in their instructions
• Help Forums are proving to be useful (special thanks to Dr. Cedric Pradalier)
Image Source: http://www.neohide.com/operating-systems/linux
16
Work Ahead• Finish configuration of CoaX helicopters for wireless
telemetry• Make sure it functions properly with live video feed, optic
sensors, and height sensors• Run a working simulation environment• Create an algorithm to have multiple UAVs fly and
cooperate with each other simultaneously • Test this algorithm with a simulation
Image Source: Skybotix.com
17
Project TimelineTask/Week 1 2 3 4 5 6 7 8
Learn lab & hardware resources
Learn motion tracking system
Learn UAV systems capabilities
Learn communication protocols & UAV control
Learn UAV control
Develop simulation model
Experiment cooperative control algorithm
Documentation & presentation
Green: CompleteRed: Not StartedYellow: Incomplete