Professional Documents
Culture Documents
Grup 31 Ayrıntılı Tasarım Raporu
Grup 31 Ayrıntılı Tasarım Raporu
GROUP :
1- Emrullah ÜLKER (151110072)
2- Oğuzhan BULUT (151112008)
3- Utku ÇELİKER (151112009)
4- Oğuz Kaan ULUIŞIK (161110071)
COUNSELOR:
Dr. Öğr. Üyesi Mehmet KARAKAYA
1. ENTRANCE………………………………………………………….………………..…….....1
4. ADMINISTRATION ………………………………………..…………….…..………...…….22
5. TEST PLAN…………………………………………………………………….……..………24
6. OTHERS………………………………………………………………………….….….….….27
7. RESULT…………………………………………………………….……………….….….….28
REFERENCES ………………………………………………………..………..…….………….29
ADDITIONS………………………………...……………………………..…………..…………30
v
SYMBOLS AND ABBREVIATIONS
The symbols and abbreviations used in this study are presented below with their
explanations.
Symbols Descriptions
0
C Santigrat Degree
cm Santimeter
gr Gram
m Meter
m² Meter square
Abbreviations Descriptions
A Amper
DSP Digital Signal Processor(Dijital sinyal işleyici)
ESC Electronic Speed Controller(Elektrik Hız Kontol)
FCB Flight Control Board(Uçuş kontrol kartı)
GPS Global Positioning System(Küresel konum sistemi)
KV Volt başına rpm
Li-Po Lityum-Polimer Batarya
mAh Mili amper hour(Miliamper -saat)
Prop Propeller(pervane)
Rpm Repeat per minute(Dakika başına devir)
TL Turkish Lira
UAV Unmanned Aerial Vehicle
V Volt
vi
1. ENTRANCE
This detailed design report gives detailed information about the design process
followed in the design stages of the project on "Cargo Delivery System with Drone" of the
"EEE491" course.
The main problem addressed in the project is that shipping systems are too
dependent on human beings, so the accidents and mistakes encountered can negatively
affect human, product and environmental factors.
Job descriptions and rules determined by our consultants in the design of the
transport system, today's scientific studies in this field, the necessity of having an
appropriate and affordable cost, and the environmental factors in the environments where
the use of the vehicle (drone) is aimed have played a major role.
1
3) The package should be left within an area of 1 m².
4) After the drone has delivered the cargo, it should return to its starting point
autonomously.
5) The system cost should be limited to a maximum of 3000 TL.
6) Electronic circuits must be able to function fully between -20 ° C and + 40 ° C.2.
2.CONCEPTUAL DESIGN
This section contains the final version of the conceptual design presented earlier.2.1.
Concept Development
Since this project addresses the design of an autonomous drone system that can fulfill the
requirements, previous studies have been investigated and several projects have been
found that address similar topics. The information obtained from these studies formed an
idea for the project to be designed. Two of the academic studies on similar fields are given
in the following titles together with the summary information from the thesis studies.
GPS GUİDED AUTONOMOUS DRONE
In this project; An autonomous flying drone, especially a quadcopter, is being
designed. The drone is equipped with a GPS tracking system and is programmed to fly
autonomously from one location to another using GPS coordinates. Safety and durability
have been taken into consideration considerably due to the possibility of collisions with
various objects. In addition to collisions, the drone is also rugged enough to operate in
moderately windy conditions. The aim of the project is to establish a small-scale
autonomous air delivery system similar to the future delivery system that Amazon is
targeting. The top and side views of the final version of the project are given in Image 1.
2
AUTOMATIC ROUTE DETERMINATION AND TRACKING FOR
DRONES
In this project, it is aimed that the drone (UAV) follows the assigned route and
returns to its starting point without any need for an operator. For this purpose, it is aimed to
be operated automatically through the GPS module and sensors to be added to the device.
Basic physical components for the operation of the drone; defined as energy source,
controller, sensors and modules. In this study, PixHawk flight controller, which is widely
used as a controller, and a 5200mAh 3S Li-Po battery was chosen as the energy source.
GPS module to determine the position of the drone, ultrasonic sensors to detect obstacles,
barometer to determine the height, and flow sensor to ensure the stability of the drone in
the air. In the application, DroneKit library was used to develop the necessary software to
control the drone, and Mission Planner was used to work with the flight controller to
monitor the instant sensor and status information of the device. Two different operating
environments, simulation and real systems, were designed to test whether autonomous
flights operate successfully and to perform the flight. Open source ArduCopter virtual
drone was used in the simulation environment. The simulation was installed in Windows
10 environment and a virtual simulation drone was created by compiling ArduCopter using
MavProxy in the Mavlink infrastructure. The created virtual simulation drone is monitored
through Mission Planner. Image 2 shows the route the drone follows.
3
2.2. Mission Requirements
The tasks that the drone will undertake are defined as follows in order to meet the need and
to provide problem solving;
Task 1 - Cargo handling: To ensure the delivery of the product; It must be able to carry the
cargo at the starting point and take it to the desired delivery area.
2. Task - Automatic routing: Delivery should be able to reach the desired point
automatically.
3. Mission - To follow the route without dropping the package: It is expected to deliver the
package without being affected by weather conditions such as wind and rain during
delivery.
4. Mission - To be able to land at the delivery point: When reaching the delivery area, it
should be able to land near the delivery point.
Mission 5 - Returning to the starting point: After the delivery is completed, the vehicle is
expected to return to the starting point.
Task requirements are summarized in Table 1.
2.3. Design Requirements
The design of the vehicle should be made to meet the mission requirements. For this;
• Selecting the engine to be selected with a power suitable for the load to be carried and the
weight of the vehicle
• Selecting the batteries that are strong enough to keep the vehicle in the air until the
vehicle leaves the starting point and returns to the starting point,
• Choosing the appropriate GPS module for the drone to determine the route.
• Selecting the engine and the appropriate ESC to control the speed adjustments of the
vehicle engines,
• Selection of propellers suitable for the engine and with a diameter that can lift the cargo,
• Choosing the appropriate motherboard for the integration of sensors and control units
• There should be a suitable cargo platform in order to prevent the cargo from being
affected by wind and rain.
2.4. Evaluated Concepts and Configurations
Our design is designed to be simple and similar to other designs in the same space.
Efficiency is prioritized and task-oriented work is aimed. All the specified criteria have
been evaluated and the appropriate hardware and software have been selected to complete
the task completely. Its maneuverability and speed capability has been adjusted according
to the equipment and the route layout. It is aimed to return to the starting point in case of
4
any malfunction or obstacle. Vehicle equipment has been selected in accordance with its
ease of operation under the specified conditions.
Unlike other existing projects, it was predicted that the change we made in the load
lifting mechanism would bring along a few problems and it was decided to place
appropriate equipment on the drone by producing appropriate solutions to these problems.
With the adjustments, tests and experiments to be made, the vehicle is expected to
complete the task completely in accordance with all criteria.
5
In the selection and design of the electronic equipment, priority was given to reducing the
cost and weight load on the vehicle, so it was thought that it would be appropriate to use
this loss in the transport of the load by minimizing the loss of movement caused by the
weight of the vehicle. In other words, with the reduction of the weight of the vehicle, it is
aimed to carry more weight by using less power. This directly affects the cost of the power
supply to be used and the efficiency of the vehicle by increasing the load carrying.
Due to the advantages of its cost and easy programming capability, compatibility with
sensors (camera, GPS) and motor drivers to be used, the number of available digital pins,
and its low power consumption, it can be used at low voltage values. It was designed by
taking.
DESIGN LEVEL ZERO(0)
Digital Signal
camera Proccessor Battery
(DSP)
Communication
Control unit
unit Power unit
The basic modules that should be approximately available in the autonomous drone are
shown in the figure. In addition, the basic connection scheme of these elements is
discussed. Connections or elements may change at the next design level. It is even possible
to experience the number of additional elements used.
6
In addition, in this connection diagram, the input output output, current and power data of
electronic or electromechanical systems are not specified. Only their relationship with each
other is given at an introductory level.
DESIGN LEVEL ONE(1)
At this design level, we will look at what is in the blocks we saw in the previous
stage and which individual elements they should be connected to, and what data they will
receive from them or what data they will transmit to them.
CAMERA
The system needs image data as it will operate on a computer vision basis. Therefore, the
camera is an essential component of this system. At this stage, it was decided to work with
a 480p camera in order not to take much memory. The camera would only send data to the
DSP module. Data is digital data.
480p
Vision data DSP
Camera
DSP
DSP is the unit that will process the data it
receives from the camera. At this stage, it was
decided to use a raspberry pi electronic card for
the DSP unit.
This card, which will be programmed in Python language, will process the image data and
transmit it to the central control unit in the most appropriate format.
7
BATTERY
The battery will serve as the power source for the drone. When deciding on its
size and type, the tare calculation of the drone should be chosen according to the
current to be drawn depending on the rotor RPM value required depending on the
weight of the package it will carry. In addition, since other circuit elements work
with electrical energy, these elements can be energized separately or can be
provided over the main battery.
POWER UNIT
The power unit is responsible for transmitting the
necessary power to the motors for the movement to take place.
In drones, this element is called ESC (Electronic Speed
Controller). ESC or ESCs must be compatible with the body of
the drone. For a drone with a short wingspan, the central ESC
called 4-in-1 should be used, or 1-1 or 2-1 ESCs can be used for
a drone with a long wingspan. The biggest advantage of 4-in-1
ESC is that it is a single element and is located in a safe place
on the body.
ESCs have essential 2 input and 1 output terminals. One of the input terminals is connected
to the power supply and one to the control unit. Thus, the ESC adjusts the power to be
transmitted to the motor according to the signal from the control unit. Output terminal is
connected only to the motor.
Reduces
Battery Energy ESC
energy propeller
Energy
control
signal
Control unit
8
PROPELLER AND MOTORS
Drone engines should be selected with the capacity
to produce the necessary torque to carry the tare weight of the
drone and the package load, if any. Similarly, propellers
should be selected in a width that can carry this torque and in
dimensions that can provide the required fluid movement.
Motors have KV ratings. It has been deemed appropriate to use
a 3100 KV motor. This means that this motor is rotating at
3100 rpm without any propellers attached under 10 V / 6A voltage and current. It has been
decided to use a 2 pole 6 inch diameter propeller as the propeller.
ESC Brushless
power torque propeller
Motor
COMMUNICATION UNIT
The communication unit is responsible for the
communication between the ground control center
and the drone, as well as the location determination
by using coordinates since it contains a GPS module.
Here, the ground control center is intended as a
control. It detects simple commands that will come
from the control and transmits them to the control unit. At the same time, the battery fill
rate, height, engine rotation speed, etc. from the sensor group. It is also responsible for
sending the data to the controller.
It was decided to use NRF24 module for bi-directional communication within the unit. The
communication band is 2.4 GHz and the communication between two stations can go up to
250 meters in an unobstructed environment. The module can work integrated with
Ardunio. In addition, PCB design can also be made.
Sensör Kontrol
Grubu ünitesi
Kumanda Haberleşme
ünitesi
9
REMOTE CONTROL
The controller represents a ground control station. Commands such as "cancel task",
"return" are transmitted to the drone by the
transmitter from the remote.
The remote also informs the drone operator about the
physical condition of the drone by reflecting the
sensor data sent by the drone's sensors with the help
of the communication unit with the display indicator.
In this way, the user can be sure that everything is
working well on the drone.
SENSORS
The drone has to use some data while performing its
mission. Some of these are data such as height, battery
charge rate, engine rotation speed. Our goal is to ask the
drone to send us the data that will answer questions such as
how accurately we are following the route we envisioned
while doing the drone mission, is it at the height it should
be right now, will its battery be enough to complete the mission.
The sensors that should be on the drone at this stage are:
1) Altimeter (for altitude information)
2) Gyroscope (for directional information)
3) Optical encoder sensor (to measure motor speed)
4) Ultrasonic proximity sensor (to avoid collision)
5) Battery charge sensor (for battery information)
10
CONTROL UNIT
The most important part of the drone is
its brain, the control unit. This unit is called the
"Flight Control Board (FCB)". Market review
has shown that some types have built-in
gyroscope and GPS modules.
Flight control card is the unit that
receives data from sensors, evaluates them and
makes final decisions. This unit also evaluates
the commands that will come from the control and implements them immediately.
Since our drone will be processing the image, it takes the processed image data
from the DSP module and whether it is where it should be, or whether it sees the signs or
images that will enable it to perform the task, whether to approach depending on this,
decide whether to reduce the height or do any of these, cancel the task and return to the
starting point. takes the necessary decision for.
Since the flight control card works in conjunction with the ESC, the flight control
card also monitors the speed of the motors and drives the ESC to change the speed data
where necessary.
DSP
Communication ESC
unit
FCB
11
3- DETAILED DESIGN
12
3.3. Selection, integration, architecture of systems and subsystems
The selection of the subsystems in the design has been designed in accordance with
the criteria of cost, efficiency, easy coding and being part of a user-friendly system.
3.3.1. Raspberry Pi
The first thing to do in the design is to choose a controller that mainly distributes
the tasks to be performed and controls the performance of the tasks. The fact that this
controller is compatible with other subsystems to be used, can operate at low power, is at
an acceptable level in terms of cost, and is easy to program, will add extra advantages to
the design.
Arduino family Raspberry Pi
It is included in the microcontroller It is included in the microprocessor family.
family. It contains units such as It is a central processing unit, it can only
processor, memory, input / output, ROM, manage and decide transactions, but cannot
RAM and does not need to be added perform transactions alone. Peripherals must
peripherals. Therefore, it can control and be added from outside.
perform transactions alone.
It is used to control simple systems. It is used for controlling complex systems.
It is open source, easy to program, easy Programming is complex and may take a
to learn and its programming interface is long time to learn. Requires installation of
more user-friendly. It does not require its own operating system.
installing an extra operating system.
It is low cost and easier to obtain. It can It is costly and more difficult to obtain. It is
be used in simple systems to further used in projects where high performance is
reduce costs. required.
Tablo 3. Arduino and Raspberry Pi Comparison
As seen in the table, it was seen that the Arduino family has more advantages over the
Raspberry Pi family. But the tasks to be done by the project are at certain levels, and
Arduino was removed from the options because it was not at a level to meet these
requirements.
13
DSP
DSP, raspberry pi was chosen in our drone vehicle. This card is of one type and we
have decided to use RASPBERERY-4.
This card can operate synchronously with the flight control card to be selected and
there are samples made.
Raspberry Pi 4 Technical Specifications:
Broadcom BCM2711, quad-core Cortex-A72 (ARM v8) 64-bit
SoC @ 1.5GHz
2GB / 4GB LPDDR4-3200 SDRAM
4 / 5.0 GHz 802.11ac supported wireless network, Bluetooth
5.0, BLE supported
2xUSB 3.0, 2xUSB 2.0 ports
2 × micro-HDMI ports (4K 60fps supported)
2-line MIPI DSI display port
2-line MIPI CSI camera port
265 (4kp60 decode), H264 (1080p60 decode, 1080p30 encode)
Graphics processor with OpenGL ES 3.0 support
Micro SD card slot for operating system and data storage
5V power input (minimum 3A) via USB-C
5V power input (minimum 3A) via GPIO connection
50 grams
Important Note: GPIO pins on Raspberry Pi work at 3.3V level. It is not compatible with
5V.
CAMERA
The system needs image data as it will operate on a computer vision basis.
Therefore, we took care that it is both cheap and high quality. As a result of the
comparisons made from different sales sites on the Internet, it was decided to use the
following camera.
ANGLE
VIDEO SENSOR
SYNCHRONIZATION SIZE(mm) RESOLUTION OF PRICE
SHOOTING TYPE
VISION
14
5MP 1080p OmniVision
Compatible with 54x41 129,99
25x20x9 (2592x1944 720p OV5647
Raspberry pi 3-4 degree TL
piksel) 640x480p (5 MP)
Estimated weight is 20 grams
SELLER
WEIG FEATUR INTERNAL
MODEL SIZE PACKAGE INCLUDED AND
HT ES SENSORS
PRICE
32 Bit Package Ichoroscope:
ICM-20689
Arm®
+ PIX
Cortex®- Accelerometer /
+
Pixhawk M7, gyroscope: BMI055 Robotista
+
PX4 44x84x12 15.8 216MHz, n.com
Magnetometer (compass): Security key
v2.4.8 2MB IST8310 599,96 TL
+
memory, +
Barometer (altitude Buzzer
512KB
sensor): MS5611
RAM Prunes
15
gyroscope: ICM-20689 MINI PIX
+ +
Buzzer
Accelerometer: ICM- +
20689 Neo-M8N Gps Module
+
SMT32f40 +
Black Gps Holder
Pixhawk Barometer: MS5607 +
7 (32bit Banggood
PX4 + Power module
36x36 200 Cortx-M7 + .com
v2.4.8 Compass: IST8310 Minim OSD w / shell
168Mhz Support for up to three + 689,83 TL
Mini I2C Expand Splitter Module
Arm) + +
Compass with built-in PPM Module w / shell
+
+
433 MHZ 100 mw / 500 MW telemetry
2x outer support 2 +
Cable
(maximum)
L3GD20 3 axis digital 16 bit PIX
32 bit 2M gyroscope +
16
1x 15A 4-in-
1 ESC
Programmable
HAKRC BLHELI_S 2-4S LIPO 15 20(5S) 27x31 4.8 1xCable 161,49
for racing
1x bag of
screws
1x ESC
1x8Px1mm
cable
1000uF/35V
Software
3-6S Filter
RACESTAR AIR50 55 - 30.5x30.5 12.1 support and 172,30
(12-36V) Capacitor
amperage
1x14AWG
Red Cable
1x14AWG
Black Cable
1xESC
JHEMCU EM25A 2-4S LIPO 25 30 29x31 4.9 1x6P 1mm - 172,38
Cable
Support
LDARC BLHELI_S 2-3S 12 15 25x28 4.0 1x ESC voltage 174,65
module
HAKRC BLHELI_S 2-4S 20 25(5S) 27x31 3.7 1x ESC programmable 188,05
Tryo89-
Programmable
EACHINE Racing- 2-4S 20 23(3S) 30x30 5.5 1x ESC 189,62
for racing
Drone
Includes
current sensor
RACESTAR BLheli_S 3-6S 35 40 36x36 13 1x ESC and use of no 195,81
extra
capacitors
COMMUNICATION UNIT
The communication unit is built into the flight control card. There is no need for an
external communication unit or GPS transceiver.
LAND CONTROL
There is no need to design or purchase and compile an external controller. On the
contrary, the interface of the flight control card is suitable for communication with the
computer.
SENSORS
The sensors that are internally on our flight control card are sufficient for us, and it
has been decided to use the following sensors as an option.
1) Optical reflection sensor (to measure motor speed)
2) Ultrasonic proximity sensor (to avoid collision)
3) Battery charge sensor (for battery information)
17
BODY
AXLE
SUGGESTI SPECIFICATI
IMAGE WEIGHT(gr) DISTANCE PRICE
ONS ONS
(mm)
4 x Motors
Emax XA2212
1400KV
Brushless Motor
PCB frame board
+
Optimized frame
4 x Hobbywing
design, making
SKYWALKER
20A Brushless the wiring of
ESC ESCs and battery
160 330 + safer and easier 96,53
4 x 8045 +
Propellers Plenty of
+
mounting space
1 x Battery 3S-
for autopilot
4S LiPo
systems.
+
1 x CC3D
Flight
Controller
FC mounting
hole: 30x30mm
118 250 - + 132,50
Camera mounting
distance: 27mm
Flight Control:
APM 2.6 /
Pixhawk 2.4.6
Flight Controller
Engine: EMAX
Can connect the
MT2213 935KV ESC and power
460 450 225,50
Engine cable directly to
ESC: 20-30A ESC
the center board
Propeller: 10/11
Inch Propeller
Battery: 3-4S Lipo
Battery
18
MOTOR
1.motor )
48,50TL
2. motor )
52,97 TL
3. motor
65,74 TL
19
4. motor)
77,57 TL
5. motor )
90,81 TL
DECISION
Weight factor is important in motor selection. The calculated weight, including the
body of the drone, was 534 grams. It is predicted to be 600 grams with internal sensors.
Although it is large, the maximum weight of the drone was calculated as 700 grams in case
of a 15% margin of error, and the engine selection was made in this regard and the 1st
engine was won. Depending on the choice of the propeller to be made later and the
selection of the battery, the engine may change, but since the selected engine is well above
the drone weight values, it will not be affected by the weight of the propeller, battery and
other connection elements.
20
PROPELLER
Manufacturers use numbers in two different
formats.
Here; L: length, P: pitch, B: number of palms.
Sometimes you can see the word "BN" on the impeller. The "BN" here indicates a
stubby nose propeller (bullnose). Sometimes you may
see the words "R" or "C" on the impeller. The
expressions here refer to the rotation of the propeller.
If you see the word "R" on the propeller, it means
"reversed". It should be attached to the propeller
rotating clockwise. If there is a "C" it must be
attached to the motor rotating counterclockwise.
Considering the engine to be used in the drone, the most suitable battery for us
ZOP Power 11.1V 1500mAh 40C 3S Lipo Battery.
Its price is 140.96 TL and its weight is 115 grams.
Please pay attention to the operating voltage of the motor and the operating voltage of the
battery.
21
4- ADMINISTRATION
The project group consists of four people. It is aimed for each group member to
have full knowledge of the project, and detailed research topics were given to the group
members in line with their interests and abilities. These people and their research topics are
given below.
4.1 Team Organization
Emrullah Ülker: Electronic components and connections are concerned with the
mechanical, structural design to fulfill the vehicle's requirements. With regard to the
personality of the researcher, he provided the literature research related to the project and
the examination of the examples.
Oğuzhan Bulut: In line with his interest in control systems, he is interested in researching
the necessary materials for determining the movement and route of the vehicle and their
integration into the vehicle.
Oğuz Kaan Uluışık: In line with his interest in image processing and software, he conducts
research on the sensor and electronic card that the vehicle will operate. It conducts research
on the platforms where the software will be built..
Utku Çeliker: Due to its familiarity with the market, it conducts market research in order to
achieve the minimum cost of equipment to be used. It focuses on battery, motor, motor
drivers and system integration.
Instead of choosing a single team leader throughout the project process, periodic
leadership practice was deemed appropriate. Each team member is set to lead the processes
in a two-month period. During the period between November and December, Oğuzhan
BULUT, Emrullah ÜLKER in the period between January and February, Oğuz Kaan
ULUIŞIK in the period between March and April, and Utku ÇELİKER in the period
between May and June will be the team leader. The team leader has created major work
packages and determined the distribution of tasks in line with the abilities.
22
Organization chart
Team Leader
Oğuzhan Bulut
Company
Counselor
Consultant
Emrullah Ülker
Utku Çeliker
Counselor
Oğuz Kaan Uluışık
Electronics and
Software and
Structural Design
Algorithm Engineer
Engineer
Utku Çeliker
Emrullah Ülker
4.2 Timeline
In this section, the work to be done during the design process is planned by dividing into
processes and shown on a work time chart. Gann diagram is preferred to show this scheme.
This diagram is shown in Table 1 in the "Annexes" section.
During the project process, this schedule will be followed. The processes completed from
October until the report delivery period are marked in red, and the planned process after
this process is marked in black on the timeline.
23
4.3 Job Packages
In this section, the work to be done during the design process is planned by
dividing into processes and shown on a work time chart. Gann diagram is preferred to
show this scheme. This diagram is shown in Table 1 in the "Annexes" section.
5. TEST PLAN
In this section, the components of the system to be produced and the tests to be performed
on all
plan will take place. The plans include how and when each test step will take place.
It should include a process to be implemented. Three types of test plans will be made. 1)
Unit testing,
2) Integration test, 3) Acceptance test.
5.1. Unit Tests
In unit tests, the components used on the vehicle and each of which has an important role
in the vehicle's task should be tested separately and checked whether it works as desired. In
other words, the subcomponents of the whole system should be examined unit by unit, the
expected result and the result data should be compared with the test forms, and the errors
should be removed and improved according to the result. The table of unit tests performed
is in the appendices.
5.1.1. Engine Thrust Test
Propellers are attached to the motors and a weight that cannot be lifted and a sensitive
scale is placed one by one. The motors operate at full power respectively and the measured
values are expected to be equal to each other. Finally, the data obtained are compared with
the values given by the manufacturer of the engine.
5.1.2.Raspberry Pi Tests
Camera is integrated into Raspberry Pi device. Display connection is made with an HDMI
cable. The camera hardware is powered up and tested.
GPS is integrated into the Raspberry Pi device. Display connection is made with an HDMI
24
cable. GPS positions are requested and the results obtained are compared with the current
GPS positions.
25
5.2.3. Target Recognition and Movement Towards Target
After the drone goes to the given GPS position, it is tested to detect the target introduced to
it and move towards it. The codes used are given in the appendices. (ANNEX-4)
(Integration test-2)
5.2.4. Landing and Cargo Drop Test
After the drone goes to the target introduced to it, it is tested to land on the ground and the
mechanical arm to release the cargo. The codes used and the test table are given in the
appendices. (ANNEX-5) (Integration test-3)
26
6. OTHER ISSUES
6.1. Ethic
During the project process, attention was paid to act in accordance with originality and
ethical principles. The topics such as showing the sources used in the research, awareness
of responsibility, confidentiality and security are handled in accordance with ethical rules.
In addition, group members always acted with courtesy and respect towards each other.
6.2. Standards to be followed
IEEE802.11p /LTE-V2V : It covers all vehicle communication systems as an
umbrella protocol where sensor data can be transferred at high speed with low
loss.
6.3. Sustainability
Sustainability is the ability to continue the project even after it is completed, in other
words, ensuring the permanence of the project. Updating the electronic devices and
software used in the project ensures the sustainability of the project.
Persons who damage living, non-living things and the environment as a result of using the
design outside of its intended purpose and not being used under the specified standards and
27
conditions will be legally subject to material and moral penal sanctions. In addition, the
manufacturer will face legal sanctions as a result of the failure to perform the tests and
trials required during the production of the product and this situation endangers the
primary person and the environment. In addition, as a result of unauthorized copying and
production of the electronic and mechanical design of the vehicle, our patent owner team
has the right to initiate a material and moral legal struggle against the real or legal persons
who perform this transaction. This legal process may result in the other party's
compensation or imprisonment.
7.RESULT
In this study, it is aimed to develop an autonomous drone for use in cargo delivery. With
the autonomy of the device, the workforce used has been reduced to almost zero. In
addition, accidents that may occur during today's cargo transportation process are
prevented. The vehicle goes to the GPS coordinates entered into it, thanks to the control
card and Python programming, and determines the point where it should leave the load via
the camera and positions itself. Then he leaves the mechanical arm he has to drop the cargo
with the programmed software again. After completing the cargo drop process, it
determines the return route to the starting point (can be the cargo distribution center) and
returns. Units to be used were determined with the tests performed and design plans were
made. Then the units were tested one by one and made ready for integration. After
successful completion of the tests with integrated systems, the project was made ready for
completion. During the project construction process, ethical values were complied with
and the design was shaped by considering health, environment and safety. Accordingly, it
is envisaged to be completed in the targeted time in the plans determined for the project.
28
REFERENCES
1. https://www.evansville.edu/majors/eecs/downloads/projects2016/CameronRobertsRep
ort.pdf
3. http://www.set-science.com/manage/uploads/ISAS2019-
ENS_0042/SETSCI_ISAS2019-ENS_0042_0011.pdf.
4. https://www.mathworks.com/videos/image-and-signal-processing-with-matlab-
simulink-82478.html
5. https://stackabuse.com/introduction-to-image-processing-in-python-with-opencv/
6. https://www.raspberrypi.org/documentation/hardware/raspberrypi/bcm2711/rpi_DATA_2711_
1p0_preliminary.pdf
7. https://projects.raspberrypi.org/tr-TR/projects/raspberry-pi-setting-up/5
8. https://github.com/ArduPilot/pymavlink
9. https://dronekit-python.readthedocs.io/en/latest/guide/copter/guided_mode.html
10. https://maker.robotistan.com/raspberry-pi-dersleri-12-dc-motor-kontrolu/
29
ADDITIONS
Finish Date
November
Start Date
December
February
January
(mouth)
BUSINESS PACKAGES and ACTIVITIES
March
April
June
Süre
May
1. Creating Conceptual Design 20.10.2020 15.12.2020 2
1.1 Literature Review 3
1.2 Conceptual Design 2
2. Detailed Design and Material Selection 15.12.2020 15.02.2021 2
2.1 Detailed Design 2
2.2 Material Selection and Mechanical Design 1
2.3 Updating the Design 1
3. Prototype Manufacturing and System Integration 15.02.2021 10.05.2021 3
3.1 Prototype Mechanical Manufacturing and Assembly 2
3.2 Electric Electronic System Integration 2
3.3 Creating Software and Algorithm 3
4. Creating the Final Report and Planning the Tests 10.05.2021 25.06.2021 1.5
4.1 Unit Tests 1
Communication Test 1
30
4.2 Integration Tests 1
Systematic Movement and Orientation Tests 1
Load Carrying Tests 1
System Function Tests 1
4.3 Acceptance Test 1
31
EK-1 EK-2
import cv2 from dronekit import connect, VehicleMode,
from collections import deque LocationGlobalRelative, Command
import numpy as np import time
boyut = 16
from pymavlink import mavutil
ddq = deque(maxlen = boyut)
import argparse
mavi1 = (84, 98, 0)
mavi2 = (179, 255, 255) parser = argparse.ArgumentParser(description='commands')
vid = cv2.VideoCapture(0) parser.add_argument('--connect')
vid.set(3,960) args = parser.parse_args()
vid.set(4,480) connection_string = args.connect
while True: print("Connection to the vehicle on %s"%connection_string)
goo, img1 = vid.read() vehicle = connect(connection_string, wait_ready=True)
if goo:
blur = cv2.GaussianBlur(img1, (11,11), 0)
hsv = cv2.cvtColor(blur, cv2.COLOR_BGR2HSV) EK 3
mask = cv2.inRange(hsv, mavi1, mavi2) Drone yükseklik ve hız ayarları yapılır:
mask = cv2.erode(mask, None, iterations = 2) def arm_and_takeoff(tgt_altitude):
mask = cv2.dilate(mask, None, iterations = 2) print("Arming motors")
(contours,_) = cv2.findContours(mask.copy(), cv2.RETR_EXTERNAL, while not vehicle.is_armable:
cv2.CHAIN_APPROX_SIMPLE) time.sleep(1)
center = None vehicle.mode = VehicleMode("GUIDED")
if len(contours) > 0: vehicle.armed = True
c = max(contours, key = cv2.contourArea) while not vehicle.armed: time.sleep(1)
rect = cv2.minAreaRect(c) print("Takeoff")
((x,y), (width,height), rotation) = rect vehicle.simple_takeoff(tgt_altitude)
s = "x: {}, y: {}, width: {}, height: {}, rotation: #-- wait to reach the target altitude
{}".format(np.round(x),np.round(y),np.round(width),np.round(height),np.round(rotation while True:
)) altitude = vehicle.location.global_relative_frame.alt
print(s) if altitude >= tgt_altitude -1:
rect1 = cv2.boxPoints(rect) print("Altitude reached")
rect1 = np.int64(rect1) break
m = cv2.moments(c) time.sleep(1)
center = (int(m["m10"]/m["m00"]), int(m["m01"]/m["m00"])) arm_and_takeoff(10)
cv2.drawContours(img1, [rect1], 0, (0,0,255),3) #-- set the default speed
cv2.circle(img1, center, 5, (255,255,255),-1) vehicle.airspeed = 7
cv2.putText(img1, s, (25,50), cv2.FONT_HERSHEY_COMPLEX_SMALL, 1, Drone’un gitmesi istenen GPS konumu enlem, boylam ve yükseklik
(255,255,255), 2) cinsinden verilir:
ddq.appendleft(center) print ("go to wp1")
for i in range(1, len(ddq)): wp1 = LocationGlobalRelative(35.9872609, -95.8753037,
if ddq[i-1] is None or ddq[i] is None: continue 10)
cv2.line(img1, ddq[i-1], ddq[i],(0,255,255),1) vehicle.simple_goto(wp1)
cv2.imshow("Orijinal Tespit",img1) Drone hareketleri tanımlama:
if cv2.waitKey(1) & 0xFF == ord("q"): break def set_velocity_body(vehicle, vx, vy, vz):
msg =
vehicle.message_factory.set_position_target_local_ned_encode(
0,
EK-4
0, 0,
import cv2
from collections import deque mavutil.mavlink.MAV_FRAME_BODY_NED,
import numpy as np 0b0000111111000111, #-- BITMASK -> Consider
boyut = 16 only the velocities
ddq = deque(maxlen = boyut) 0, 0, 0, #-- POSITION
mavi1 = (84, 98, 0) vx, vy, vz, #-- VELOCITY
mavi2 = (179, 255, 255) 0, 0, 0, #-- ACCELERATIONS
vid = cv2.VideoCapture(0)
0, 0)
vid.set(3,960)
vid.set(4,480) vehicle.send_mavlink(msg)
while True: vehicle.flush()
goo, img1 = vid.read() if BURASI UYGULAMA SONRASINDA KAMERA
if goo: KONUMUNA GÖRE BELİRLENİP EKLENECEK
blur = cv2.GaussianBlur(img1, (11,11), 0) set_velocity_body(vehicle, gnd_speed, 0, 0)
hsv = cv2.cvtColor(blur, cv2.COLOR_BGR2HSV) elif BURASI UYGULAMA SONRASINDA
mask = cv2.inRange(hsv, mavi1, mavi2)
KAMERA KONUMUNA GÖRE BELİRLENİP EKLENECEK
mask = cv2.erode(mask, None, iterations = 2)
mask = cv2.dilate(mask, None, iterations = 2) set_velocity_body(vehicle,-gnd_speed, 0, 0)
(contours,_) = cv2.findContours(mask.copy(), cv2.RETR_EXTERNAL, elif BURASI UYGULAMA SONRASINDA
cv2.CHAIN_APPROX_SIMPLE) KAMERA KONUMUNA GÖRE BELİRLENİP EKLENECEK
center = None set_velocity_body(vehicle, 0, -gnd_speed, 0)
if len(contours) > 0: elif BURASI UYGULAMA SONRASINDA
c = max(contours, key = cv2.contourArea) KAMERA KONUMUNA GÖRE BELİRLENİP EKLENECEK
rect = cv2.minAreaRect(c)
set_velocity_body(vehicle, 0, gnd_speed, 0)
((x,y), (width,height), rotation) = rect
s = "x: {}, y: {}, width: {}, height: {}, rotation: Drone başlangıç noktasına geri dönüş:
{}".format(np.round(x),np.round(y),np.round(width),np.round(height),np.round(rotation)) vehicle.mode = VehicleMode("RTL")
print(s)
rect1 = cv2.boxPoints(rect)
rect1 = np.int64(rect1)
m = cv2.moments(c)
center = (int(m["m10"]/m["m00"]), int(m["m01"]/m["m00"]))
cv2.drawContours(img1, [rect1], 0, (0,0,255),3)
cv2.circle(img1, center, 5, (255,255,255),-1)
cv2.putText(img1, s, (25,50), cv2.FONT_HERSHEY_COMPLEX_SMALL, 1,
(255,255,255), 2)
ddq.appendleft(center)
for i in range(1, len(ddq)):
if ddq[i-1] is None or ddq[i] is None: continue
cv2.line(img1, ddq[i-1], ddq[i],(0,255,255),1)
cv2.imshow("Orijinal Tespit",img1)
if cv2.waitKey(1) & 0xFF == ord("q"): break
32
EK-5
arm_and_takeoff(1)
import RPi.GPIO as GPIO
from time import sleep
GPIO.setmode(GPIO.BOARD)
Motor1A = 16
Motor1B = 18
Motor1E = 22
GPIO.setup(Motor1A,GPIO.OUT)
GPIO.setup(Motor1B,GPIO.OUT)
GPIO.setup(Motor1E,GPIO.OUT)
Print“Ileri hareket”
GPIO.output(Motor1A,GPIO.HIGH)
GPIO.output(Motor1B,GPIO.LOW)
GPIO.output(Motor1E,GPIO.HIGH)
sleep(2)
Print“Gerihareket”
GPIO.output(Motor1A,GPIO.LOW)
GPIO.output(Motor1B,GPIO.HIGH)
GPIO.output(Motor1E,GPIO.HIGH)
sleep(2)
print “Motor durdu”
GPIO.output(Motor1E,GPIO.LOW)
GPIO.cleanup()
Test
Test Plan Name Drone Unit Tests Identif 5.1.
ication
Numb
er:
Unit tests and results of all sub-elements in the cargo WhiteBox
Definition
drone system
Type ☒
Black box
☐
Experiment Performer
Project team Date
33
Test
Test Plan Name Integration Test-2 Identif 5.2.2. ve 5.2.3.
ication
Numb
er:
UD
G
Making the Successful take- The drone has correctly performed the ascent /
0
drone ready for off and landing of ✓ descent commands given to it in the Python
1
flight the drone interface. With the help of the meter, its height
was measured and verified with the desired
data.
Directional Correct East / West and North / South movements are
0
movements recognition of ✓ defined as X (+ -) and Y (+ -). Their movements
2
compass in these directions were tested and their controls
directions and were matched with the compass.
movement
Movement Accessing the It has completed the movement to the GPS
0
to given given GPS ✓ location entered. The distance difference is
3
location by position compared with the measured GPS data sheet
GPS data. The margin of error is due to GPS. The
system is working properly.
Fixing the Returning from Memorized the position of the starting point.
0
starting the shortest route ✓ The position received by the print function
4
point and to the starting coincided with the origin position. The return
return point assigned as a command in the resource library has returned to
GPS code the starting point with a tested success.
Recognizing the The camera detected the place defined by the
0
Image place determined ✓ cross by entering the field of view. The drone
5
detection with the cross and made the determination of the movement in a
and coming to the way to take the vertical position of the cross.
movement region so that the
to the area route
determination is
perpendicular
Overall Results ✓
P: Pass; F: Fail; CA: Could not apply
34
Test
Test Plan Name Integration Test-1 Identific 5.2.1.
ation
Number:
Experiment
Project team Date
Performer
UD
Step No
35
Test
Integration Test-3 Identif 5.2.4.
Test Plan Name ication
Numb
er:
Experiment
Project team Date
Performer
Hardware Version Time
UD
Adım
Descent The drone should The drone verifies its location in the Python
01
verify through its ✓ interface both in the GPS interface and via the
software that it has camera. With the outputs being "true", it made
reached the the descending movement in a controlled
coordination given manner and reached the desired height level..
to it and begin its
landing motion.
Cargo Cargo arm taking / The drone positioned perpendicular to the cargo
02
handle releasing the ✓ on the ground has successfully received /
opening 5x5x5 cm load released the cargo.
and closing given to it
Overall Results ✓
P: Pass; F: Fail; CA: Could not apply
36
GAZI IS THE FUTURE…
37