README.md 2.18 KB
Newer Older
thsm's avatar
thsm committed
1
2
# Fantastic Quads Final Project

3
4
5
6
7
8
This repository containts the code for the Fantastic Quads' final Engineering
100 project. The Fantastic Quads were tasked with creating an autonomous
controller for a quadcopter that could traverse a designated obstacle course
while minimizing collisions and optimizing completion time. In addition, they
were asked to add a team-defined innovation to the quadcopter.

thsm's avatar
thsm committed
9
10
11
12
13
14
15
16
17
## Contributors
This code was created based on the ArduPilot source code as provided by the
Winter 2019 Engineering 100 staff. It was then modified by the Fantastic Quads,
who are:
 - Quintin Harter
 - Ali Ibrahim
 - William Kang
 - Thomas Smith

18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
## Compiling the Autonomous Controller
Follow the following instructions to compile the autonomous controller. Note
that you must login with your UMich uniqname to clone the Engineering 100
version of ArduPilot.

Run the following shell code on an Ubuntu Linux machine:
```sh
$ git clone https://gitlab.eecs.umich.edu/thsm/fantastic-quads-final-project.git
$ cd fantastic-quads-final-project/AutonomousController/
$ git clone https://gitlab.eecs.umich.edu/engr100-400/ardupilot.git
$ cd ardupilot/
$ cp ../control_autonomous.cpp ../FantasticQuads.h ./ArduCopter/
$ ./configure
```
You may need to run `./configure` twice if prompted to do so.

Next, run:
```
$ ./compile
```

Then, to upload the resulting executable to a quadcopter, connect to the
quadcopter's WiFi network and run the following shell code while in the same
directory:
```sh
$ ./upload
```

46
47
48
49
Note that in order for serial communication to function, you must designate
the UART-F channel in ArduPilot as the `/dev/ttyO1` device in Linux. This must
be done outside of the code.

50
51
52
53
54
55
56
## Compiling Code for the Innovation
Note: Compiling the innovation requires you to install the
[Adafruit NeoPixel library](https://github.com/adafruit/Adafruit_NeoPixel/) in
your Arduino IDE.

To compile the Arduino code for the innovation, open the file at
`LEDRingInnovation/LEDRingInnovation.ino` in the Arduino IDE. Select Tools >
thsm's avatar
thsm committed
57
Board > Arduino/Genuino Uno. Then, click the "Verify" button (a checkmark).
58
59
60

To upload the Arduino code, connect an Arduino Uno to your computer and click
the "Upload" button (a right-facing arrow).