Upload
giang-nguyen
View
215
Download
0
Embed Size (px)
Citation preview
7/30/2019 Project14 Final Paper
1/23
HEAT SEEKING FIRE EXTINGUISHER
By
Frisco Sembel
Tony Winoto
ECE 445, SENIOR DESIGN PROJECT
FALL 2011
TA: Jane Tu
December 7, 2011
Project No. 14
7/30/2019 Project14 Final Paper
2/23
7/30/2019 Project14 Final Paper
3/23
ii
TABLE OF CONTENTS
1. INTRODUCTION ............................................................................................................................................. 1
1.1 Purposes ....................................................................................................................................................... 1
1.2 Features and Benefits .................................................................................................................................. 2
1.3 Specification ................................................................................................................................................. 2
2. DESIGN PROCEDURE .................................................................................................................................... 3
2.1 Pulse Width Modulation .............................................................................................................................. 3
2.2 Vision System ............................................................................................................................................... 3
3. DESIGN DETAILS .......................................................................................................................................... 5
3.1 Beagleboard (Microprocessor) and Operating System ................................................................................ 5
3.2 Panning and Tilting Mechanism .................................................................................................................. 5
3.3 Extinguisher................................................................................................................................................. 6
3.4 Alarm ........................................................................................................................................................... 7
3.5 Voltage Converter Circuit ............................................................................................................................ 7
3.6 IR Camera .................................................................................................................................................... 8
3.7 Power Supply ............................................................................................................................................... 9
3.8 Vision System .............................................................................................................................................. 9
3.9 Main Control .............................................................................................................................................. 12
4. DESIGN VERIFICATION .............................................................................................................................. 13
4.1 Beagleboard (Microprocessor)................................................................................................................... 13
4.2 Panning and Tilting Mechanism ................................................................................................................ 13
4.3 Extinguisher and Alarm ............................................................................................................................. 13
4.4 Vision System ............................................................................................................................................ 14
5. ETHICAL ISSUE ............................................................................................................................................ 15
6. COST ............................................................................................................................................................... 16
7. CONCLUSIONS.............................................................................................................................................. 17
7.1 Accomplishments....................................................................................................................................... 17
7.2 Challenges.................................................................................................................................................. 17
7. 3 Recommendations ..................................................................................................................................... 17
9. REFERENCES .................................................................................................................................................... 18
APPENDIX A ............................................................................................................................................................. A.1
APPENDIX B ............................................................................................................................................................. A.2
7/30/2019 Project14 Final Paper
4/23
1
1. INTRODUCTIONThe main goal of this project was to build an extinguisher that can detect fire or moving heat source in
this case using webcam. Since we are not allowed to use any form of fire, we will use light bulb to testour project. We got the idea about this project from damages caused by sprinkler in event of false alarm
or just a small source of fire. Common sprinkler will spray water all over the area and will cause great
damage to electronics. Since our system will only apply extinguisher on the source of fire/heat, the
property damages caused by extinguisher are expected to be greatly reduced.
The project is mainly divided into two crucial subprojects which are vision system and pulse width
modulation (PWM) for servo. After these two subprojects are completed, there will another subproject
that will bring these two subprojects together as one. The PWM subproject involves connection between
BeagleBoard and the servos which is linked through voltage converter(shifter). On the other hand, the
vision system involves BeagleBoard and the IR camera. Both the vision system and pulse widthmodulation are software based, so in order to bring them together we will use them as functions that can
be called in the BeagleBoard. The illustration how we connect our device is shown on Fig. 1 below.
Fig. 1. Block diagram
1.1 Purposes
The purpose of our project was to develop an extinguisher that is equipped with a modified webcam andservos. The modified extinguisher will be able to track and pinpoint the source of fire/heat and turn on
the LED to indicate the triggered extinguisher. The main goal of this project is to minimize the damages
caused by common sprinkler system. If our device does not detect the fire/heat in the image from the
webcam, it will continue to scan until the whole area is covered.
7/30/2019 Project14 Final Paper
5/23
2
1.2 Features and Benefits
Features
Portable fire extinguisher system. Fast fire detection Low power consumption Modular systemBenefits
Extinguishes fire source right on the source Reduce damage cost in case of fire
1.3 SpecificationsThe device is able to locate heat sources and differentiate heat emitting objects and real fire sources. The
device also extinguishes the fire sources based on size of the fire sources from the largest to the smallest
The fire detection algorithm is also able to detect a fire source in less than 50 seconds for each panning
angle. It should also be able to withstand the operating temperature between 0-85oC1.
1Based on the operating temperature of Beagleboard. Refers to Beagleboard-xM Reference Manual on the reference page
7/30/2019 Project14 Final Paper
6/23
3
2. DESIGN PROCEDURESThis project consists of two major subprojects which are pulse width modulation system and vision
system. Both subprojects are software based projects which are coded in c++ format. We also used
OpenCV library functions to access some features such as detecting contour edges and calculatingcontour areas. The pulse width modulation subproject involves understanding of servos such as duty
cycle at which servos should stop moving and time required to do full rotation. Both subprojects will be
connected using control algorithm which calls both subprojects as functions.
2.1 Pulse Width Modulation
For the pulse width modulation there are two ways to access and generate signal from the PWM pins
from the BeagleBoard: first is by a direct access to the OMAPs processor general-purpose timer
mechanism and second is by using a servo driver for angstrom distribution.
The first choice required interaction with the timer register in Linux kernel module which we do not
have the knowledge of. Thus, we used the other method which helps us a little by providing us the
driver2 to interact with the timer register. This method still took us sometimes to get it up and running
To get the driver work, we need to compile other codes using OpenEmbedded and Bitbake 3 to get
executable file from a Linux host computer. Afterwards, the file is then copied to the boagleboard to get
access to the PWM.
The servos used for our device are HS7954SH which were chosen based on the amount of torque
generated. Each servo can generate 20 kg.cm torques at 4.8 Volt which is strong enough to operate our
device. The torque of the servos is the most critical part of the system, since there will be high backward
momentum from the high pressure extinguisher. The servos also have the capability to turn 360o, this is
necessary for angle turning.
2.2 Vision System
For the vision system, we modified a normal webcam's filter by adding additional negative film on the
filter. We use a normal webcam since commercial thermal cameras are relatively really expensive and
we don't think it is necessary to use such expensive and detail thermal cameras which are used in
manufacturing or monitoring company which require high precision temperature measurement. We alsochose Logitech webcam which is supported by Angstrom distribution on the BeagleBoard since some
other webcams are not working on Angstrom.
2The driver are available as open source package from Scott Ellis. For more information, refer Scott Ellis on the reference
page.3
Cross-compile environment. Facilitate developers to create a complete Linux distribution for embedded system.
7/30/2019 Project14 Final Paper
7/23
4
Our other consideration beside cost is the fire detection algorithm memory efficiency. Initially, we used
haarcascade technique for our fire detection algorithm. However, this technique has many disadvantages
for our device. It requires a lot of sample images to get accurate detection of an object. The minimum
sample images to get at least 70% detection is around 6000 samples. The samples will be compiled into
xml file that will be used in main control code. Since the file consists of many samples, it requires a
significant amount of memory to run. Thus, it is really slow to run this technique on BeagleBoard which
only has 512 Mb RAM.
Finally, we decided to use moving contour detection technique for our detection algorithm. It basically
works by comparing contour location of current and previous frames. The process is continuous until the
device returns to its original position. This technique is really suitable for our device. It runs faster than
the haarcascade technique on BeagleBoard. Furthermore, this technique is also easier to implement since
it does not require additional file that consists of sample images.
7/30/2019 Project14 Final Paper
8/23
5
3. DESIGN DETAILS
3.1 Beagleboard (Microprocessor) and Operating System
The main control and process of our project rely heavily on the microprocessor on the system. Since the
project involves real time image streaming and processing, we decided to use Beagleboard-xM as our
microprocessor, considering time it takes to do the image processing algorithm. Beagleboard-xM is alow cost, low powered single board computer produce by Texas Instrument. It runs on OMAP3530
system with ARM-Cortex-A8 CPU. It delivers 1 GHz clock speed with 512 RAM. The board also
comes with various peripheral connections such as USB port, Serial port, DVI-D, expansion ports and
many more. Those various types on peripheral over a large range of interfaces that can be connected to
our modules, infrared camera, servos and I/O signal from and to extinguisher and alarm system.
Beagleboard also has a large and active community that will come in handy when stuck with problems.
Because Beagleboard is a single board computer, it needs an operating system that will run the board
We choose Linux Angstrom Distribution because there are more information available on how to build
custom angstrom distribution and access the ports on the board. This allows us to choose only thenecessary package to be included on the operating system and that increase the performance of the
board. A particular important package needed is OpenCv.
OpenCv is a library of programming function for real time computer vision. This helps us simplify our
image processing algorithm by allowing us to call some necessary functions to process the real time
images from the IR camera. Such functions are capturing images, extract images per frame, save images
and background extraction, etc.
3.2 Panning and Tilting Mechanism
The mechanism used for controlling the panning and tilting of the simple robotic arm is done using the
expansion header on the Beagleboard. The OMAP35304 system offers four PWM pins that can be
accessed trough available headers. For Beagleboard-xM, only three of the pins are available for PWM
connection on expansion port, they are port 4 - GPT9_PWMEVT, port 10 - GPT11_PWMEVT and por
6GPT10_PWMEVT. There are two ways to access and generate signal from the PWM pins: first is by
a direct access to the OMAPs processor general-purpose timer mechanism and second is by using a
servo driver for angstrom distribution.
The first choice required interaction with the timer register in Linux kernel module which we do not
have the knowledge. The other alternative helps us a little by providing us the driver5 to interact with the
timer register. This method still took us sometime to get it up and running. To get the driver work, we
need to compile the codes using OpenEmbedded and Bitbake6 to get the .ko executable file from a
4Texas instrument general purpose f ARM architecture processor.
5The driver are available as open source package from Scott Ellis. For more information, refer Scott Ellis on the reference
page.6
Cross-compile environment. Facilitate developers to create a complete Linux distribution for embedded system.
7/30/2019 Project14 Final Paper
9/23
6
Linux host computer. The file is then copied to the boagleboard and run to get access to the PWM.
There is another thing to do before the PWM works. By default the kernel 7 version that is used on our
system enable the kernel config option CONFIG_OMAP_RESET_CLOCKS. This is a default kernel
config that help save power consumption on Linux. In order to the get the PWM running, the option
needs to be disabled. It is done by modifying the deconfig file inside the OpenEmbeded recipes folder
and recompiling the kernel.
The servos used for the pan and tilt mechanism are HS7954SH. HS7954SH were chosen based on the
amount of torque generated. Each servo generates 20 kg.cm torques at 4.8 Volt. The torque of the servos
is a critical part of the system, since the there will be high feedback force generated by the high pressure
extinguisher. The servos also have the capability to turn 360o, this is necessary of panning.
Since these are continuous servos, to control the angle produced, we need to keep the duty cycle of the
PWM signal constant, for constant angular speed, and time how long does it take for the servo to do a
full 360o rotation at current duty cycle. The angular speed can be adjusted accordingly. The time is then
used to calculate how long it takes for the servo to do one step rotation (capture angle of the IR camera).
Our measurement showed that our camera is able to view ~37 degrees for panning and ~30 degree for
tilting. For the complete view of the entire area, the camera needs to take 360 degrees view which means
the camera angle will be turned 10 times until all area is covered.
3.3 Extinguisher
The extinguisher is simply a fire extinguisher tube with some modification on the release mechanism.
The release mechanism works just like an automatic restroom faucet. When release signal is high, i
triggers the valve on the tip of the fire extinguisher tubing. One thing to note is that for the purpose of
demo, we are not going to use a real fire extinguisher; instead we are going to use LED to indicate the
trigger signal is high or low.
Compared to PWM, accessing the general-purpose input-output (GPIO) pin on the board is much less
complicated. The GPIO pins are also available through some of the ports on the expansion header
There is no need for driver. The GPIO can be access using sysfs 8 from C code. The signal for the
extinguisher is set to port 17GPIO 132 of the expansion port.
7Kernel is a bridge between applications and the actual date processing done at the hardware level.
8Virtual file system. Exports information about devices and drivers from the kernel device model to user space (Source :
Wikipedia)
7/30/2019 Project14 Final Paper
10/23
7
3.4 Alarm
Alarm system is what starts all the process of fire detection. When the alarm goes off, it sends signal to
the control system to start look for fire sources. The control then sends a feedback signal to turn off the
alarm signal. All these are done using the GPIO capability of the board. Unlike the extinguisher who
only needs an output GPIO direction, the alarm system needs input and output GPIO direction. For the
purpose of demo, the input signal from the alarm signal is replaced with a push switch and the output of
the alarm signal is replaced with a LED. When being pushed, the switch shorts port 9GPIO136 on the
expansion port to the ground. The output is showed through the LED that is connected to port 19
GPIO 131 on the expansion board.
3.5 Voltage Converter Circuit
Unfortunately, beagleboard only output maximum 1.8 V on its expansion port, this includes PWM and
GPIO signals. So, in order to accommodate the required pulse signal for the servos, which is greater than
4.8V, we need to have a voltage converter circuit that will elevate output voltage from 1.8V to 4.8Vwithout altering the original PWM signal from the beagleboard. We built the circuit using a general
purpose low-power NPN bipolar junction transistor, 2N2222 and some 1000 Ohm resistors. Fig. 2 and
Fig. 3 show the schematic and the simulation of the voltage converter circuit. The simulation shows
three values, the 1.8V output from the beagleboard, the amplified but inverted signal from the left
transistor and the amplified signals from the transistor on the right. It can be seen that by using this
voltage converter circuit will satisfies the input pulse requirement for the servos.
Fig. 2. Voltage Converter Circuit (1.8V-5V)
7/30/2019 Project14 Final Paper
11/23
8
Fig. 3. Voltage Converter Simulation
3.6 IR Camera
For the IR camera, we modified a regular Logitech webcam. Originally the Logitech webcam capture
RGB( Red, Green, Blue) spectrum and combine them to get color images. However, we want to
maximize the fire detection using the infrared camera. Thus, the filter inside the Logitech webcam is
removed and replaced with a black photographic negative which technically will block all other lights
and only allow infrared radiation to enter the camera sensor. This feature helps us to eliminate other
objects that do not radiate infrared from the images taken and maximize the hit rate or accuracy of
fire/heat source detection. The camera will be powered by BeagleBoard and connected to the USB port
on the BeagleBoard. Fig. 4 and 5 shows how we modified the filter inside the webcam by inserting the
photographic negative strip in between the camera sensor and its optical lens.
Figure 4. Logitech Webcam Figure 5. Logitech webcam with
modified filter (circled in red)
7/30/2019 Project14 Final Paper
12/23
9
3.7 Power Supply
For the project, we are using [email protected] power supply adaptor that connects to the 120V AC voltage.
This adaptor will be connected to the power pins of both beagle-board and the servos. Other than those
the other components are going to be powered by the beagle-board.
3.8 Vision System
The image processing algorithm is coded in c++. We use some OpenCV functions and libraries in the
code to process the images from the camera. The algorithm mainly works based on the threshold values
of images to identify whether the heat/fire source is spotted in the image. We initially used haarcascade
technique to provide the algorithm with threshold comparison. However, this technique did not work
well for detecting fire since fire does not have certain shape. Finally, we decided to use moving contour
detection technique which is much more suitable for our case.
The haarcascade xml file requires three types of samples: positive, negative, and natural samples. The
positive images are the images that only contain the object we want; in our case, the object is heat
source. Since we are detecting fire/heat source in our project, we are just going to use the threshold
values from the heat source (light bulb) for the positive image (Fig. 6). The negative images are images
that contain background images without the object as illustrated in Fig. 7. The natural images are images
that contain both background images and the object shown in Fig. 8. The positive sample will provide
the threshold for the heat source while the negative will give the threshold for the background which
will be dark for most of the images since we are using IR camera.
Fig. 6. Positive Image Fig. 7. Negative Image Fig. 8. Natural Image
The hit rate is quite high (~70%) for the current algorithm and threshold value around 0.5. However, the
test was conduct using light bulb instead of real fire. Since fire has unpredictable pattern, this method of
detection will not be suitable in real life cases. Thus, we change our method of detection into moving
contour detection.
The moving contour detection also uses opencv library which provide functions that return value of
edges of the contour. First of all, the first frame of the video will be converted into black and white
7/30/2019 Project14 Final Paper
13/23
10
image by applying threshold to original image in Fig. 9. After the image is already in black and white, it
is clearly shown when there is heat source in the image shown in Fig. 10. Then, we connect the edges of
the contour detected illustrated in Fig. 11 and compare the location of contour with the next frame to
detect movement. Moreover, the areas of each fire sources are also stored. These values will be used to
sort the fire source from the largest to the smallest. Thus, our device will extinguish the fire source
according this sorting. This method is used to distinguish the real fire from static heat source.
Fig. 9. Original Image Fig. 10. Black and White Image
Fig. 11. Detected Contour Image
7/30/2019 Project14 Final Paper
14/23
11
3.8.1 Vision System Flowchart
Fig. 12. Vision System Flowchart
7/30/2019 Project14 Final Paper
15/23
12
3.9 Main Control
The main control is the main code that will call functions from the fire detection algorithm and the
servos control to get inputs and give outputs for panning, tilting, extinguisher and alarm system. The
control starts out by loading the PWM driver module to the Angstrom operating system. It then waits for
the signal from the smoke detector alarm to be able to proceed to the next state. If the alarm signal is
triggered by the smoked detector, the control will activate servos and the IR camera and start positioning
the whole system to 10 pan angles and 3 tilt angles until it covers all the area below the ceiling of a
room. While at each particular angle position, it will process each frame of the real time video stream
from the IR camera using the image fire detection algorithm described on the vision system. If fire is
detected, then the angle position and the size of the fire source are saved in arrays which will then be
sorted based on the area of the fire sources detected. It will then extinguishes the fire sources based on
the angle position with the largest area of fire sources first then to rest of the fire sources detected. After
all fire sources have been extinguished, the system will go back to halt and wait the alarm signal.
Fig. 13. Main Control Flowchart
7/30/2019 Project14 Final Paper
16/23
13
4. DESIGN VERIFICATION4.1 Beagleboard (Microprocessor)
Verification for the Beagleboard was more of qualitative processes. It started out by building the image
of the Angstrom-Distribution OS with the necessary libraries or packages and porting it to micro SDHC
card which will then be inserted into the Beagleboard to boot. The booting process could be seendirectly on the monitor that was connected to the boardboard trough DVI connection. Errors during the
booting process of the Operating System will be listed on the monitor. It took us some trials to get jus
the right packages for the OS to run and the OpenCV to compile9.
4.2 Panning and Tilting Mechanism
Testing the panning and tilting mechanism of the simple robotic arm was done by varying the duty cycle
of the PWM signals through the servo driver to get just the right angular speed needed. The
configuration for 50Hz pulse was 20seconds/360o for panning (running at 7.53% CW and 7.4% CCW
duty cycle) and 3seconds/90o for tilting (running at 7.09% CW and 7.31% CCW duty cycle). The neutral
duty cycle was at 7.21% for tilting and 7.45% for panning. To make sure the output duty cycles matchthe input, we connected the pulse generated by the beagleboard to an oscilloscope. The outputs are
attached on the appendix A.
Servo Duty Cycle(PWM pulse signals run at 50Hz)
Neutral % Clockwise % Counter CW %
Panning 7.45 7.53 7.40 (20s)
Tilting 7.21 7.09 (3s) 7.31 (3s)
Table 1. PWM Signal Configurations
4.3 Extinguisher and Alarm
Verifying signals that goes and comes from the alarm system and the extinguisher was done by watching
the signals generated by the Beagleboard GPIO pins using oscilloscope and see if they match the desired
signals. Fig. 14 below shows the signal generated from the GPIO pin that is used to trigger the fire
extinguisher which in this case is an LED. The wave form runs at frequency of 2 kHz with 50% duty
cycle and maximum voltage of 2V.
9We used references from angstrom-distribution.org and http://elinux.org/Category:ECE497.
7/30/2019 Project14 Final Paper
17/23
14
4.4 Vision System
We used bright LED to test our fire detection algorithm by moving the LED around to imitate real fire
or just put the LED static to illustrate static heat source. The moving contour detection technique has
high detection rate up to 90%. Our device can clearly distinguish the moving LEDs and static LEDs.
However, since our device is rotated around the room and the algorithm is continuously running until al
angles are covered, there might be false detections when our device is rotated to static LEDs which
reduce the detection rate. The average processing time for each angle can be maintained at 1 second
without including time to rotate the device. Since it takes 20 seconds to cover 360 o, the total time spen
at certain angle is around 3 seconds. Thus, the whole time to cover entire areas is around 3 minutes max.
This time calculation is measured without showing the processed images on the screen since putting the
image will slow down the entire system. The average frame rate per second for the camera is also
measured around 17 fps and it is below Nyquist rate of real fire flicker frequency by 3 fps. However, theoverall detection works pretty high.
Fig. 14 Extingusher's output signal when triggered.
7/30/2019 Project14 Final Paper
18/23
15
5. ETHICAL ISSUE
The original goal is mainly to minimize the property damages caused by sprinkler system. Despite a lot
of effort put into developing the device so that damage is minimized, there is still a possibility that the
device is considered causing damage by some people. In this case, our device can sprays water toelectronics which is currently very near to the heat source or actually is burning. This case related to
IEEE Code of Ethics 9: to avoid injuring others, their property, reputation, or employment by false or
malicious action. At first, we have the robotic arm that moves our system throughout the entire room.
However, because of the complex mechanical system of the robotic arms, we decided just to mount the
device on the ceiling. Therefore, this will avoid injuring people since the device is static on the ceiling.
7/30/2019 Project14 Final Paper
19/23
16
6. COST
Name Salary($/hr) Hours Total +Extras(2.5)
Frisco
Sembel
$40.00 180(18hr/week) $7,200 $18,000
Tony Winoto $40.00 180(18hr/week) $7,200 $18,000
Total $36,000.00
Part Cost Quantity Total
Aluminum Plate $20.00 2 $40.00
Webcam Camera $25.00 1 $25.00
Infrared Filter $1.00 1 $1.00
HS-7954SH (RoboticServos)
$100.00 2 $200.00
Transistor 2N2222 $0.25 4 $1.00
LED $1.00 2 $2.00
Wires $10 1 $10.00
Switch $1.00 1 $1.00
Circuit board $3.00 1 $3.00
Resistor 1k $0.20 6 $1.20
Mini extinguisher $30.00 1 $30.00
Beagle-Board $150.00 1 $150.00
Power [email protected]
$25.00 1 $25.00
Total $489.20
Labor Cost Parts Cost Grand Total
$36,000.00 $489.20 $36,489.20
7/30/2019 Project14 Final Paper
20/23
17
7. CONCLUSIONS7.1 Accomplishments
The standalone vision system which consists of fire detection algorithm has successfully detected light
emitting objects and distinguished whether they are fire sources or just light sources in less than 5
seconds which is one of the specifications. The panning and tilting mechanisms respond accurately tothe input commands with various duty cycles. These mechanisms are able to move the extinguisher to
the right position angles that are specified. The system is able to take input from the alarm system
(switch) and output to the LED when the extinguisher is triggered.
7.2 Challenges
There were some challenges we encountered in integrating the whole project. The main control of the
system processes and stores a lot of information when the system runs. Thus, a considerable problem on
the overall processing time arises. On the specification, the system should be able to perform the fire
detection process in less than 50 seconds for each tilt angle or one full panning rotation. In the end, the
result shows slower detection time at around 1 minute for each tilt angle.
Detecting fire sources in a very bright room also raises a problem. Since the camera uses physical filter
(negative photographic film), the camera will see a wider range of objects when the room is too bright
Therefore, even a plain wall will appear as a light emitting object. This will confuse the fire detection
algorithm and result in a bad decision taken by the algorithm.
In order to create a modular system, we did not connect the subsystems permanently. Instead, we made
connectors for each subsystem. During the demonstration, lose connectors between the beagleboard
PWM ports and the servos caused the servos to behave unpredictably. We figured that the lose
connectors caused unexpected spikes on the pulses for controlling the servos.
7. 3 Recommendations
For future works of the project, we need to optimize the control system and the fire detection algorithm
in order to speed up the whole process. Another way to speed up the fire detection process is to take
advantage of the DSP chip on the beagleboard. Additionally, for precise angular control, we will replace
the continuous servos with regular servos.
7/30/2019 Project14 Final Paper
21/23
18
9. REFERENCES
[1] S. Ellis. (2010, June 8). Omap3-pwm [Online]. Available:https://github.com/scottellis/omap3-pwm
[2] Beagleboard.org. (2010, April 4).BeagleBoard-xM Rev-B System Reference Manual[Online].
Available: http://beagleboard.org/static/BBxMSRM_latest.pdf
[3] How to Install OpenEmbedded and Bitbake [Online]. Available: http://pixhawk.ethz.ch/wiki
/tutorials/omap/openembedded_bitbake_installation
[4] Linux kernel, PWM and GPIO [Online]. Available: http://elinux.org/Category:ECE497
[5] Robotzone, LLC. (2011).HS 7954sh Servo [Online]. Available: http://www.servocity.com /html/hs-
7954sh_servo.html
[6] K. Koen. (2011, March 21). The Angstrom Distribution [Online]. Available: http://www. angstrom -
distribution.org/
[7] V. Pisarevsky. (2011, August 24). OpenCv [Online]. Available: http://opencv.willowgarage.com/wiki/
7/30/2019 Project14 Final Paper
22/23
A.1
APPENDIX A
7/30/2019 Project14 Final Paper
23/23
APPENDIX B