gif gif

The interesting corner

gif gif

Notes on making a DIY drone

  • Analyse: Wat is er al?
    Wat ga ik analyseren?
    • Elk component wat besteld is
      • Hoe werkt het?
      • Hoe lees ik het uit/Hoe gebruik ik het?
      • Hoe past het in de drone?
      • Hoe gaat het samenwerken met andere onderdelen?
    • 5G
      • Wat is het precies?
      • Waarom is het goed om te gebruiken?
      • Toegevoegde waarde bij dit project?
  • Onderzoek: Wat moet er komen en hoe? (Onderzoeksvraag beantwoorden)
  • Ontwerpen: Hoe gaat het er uit zien en werken? (Hardware, software, verbinding)
  • Implementeren: Maken
  • Testen: Testen van software (unit tests?) en hardware (validation tests (HBO-i Lab))

5G

5G network exposure functions (NEF) is een techniek om APIs bloot te stellen aan de gebruiker, waardoor deze alleen maar hoeft na te denken over wat voor functionaliteit deze wil en niet hoe hij de API moet aanroepen

2 soorten 5G:

  • 5G samengevoegd met 4G, hierbij worden de frequentiebanden van 4G uitgebreid met 3.5GHz.
  • Standalone 5G, hierbij wordt alleen de 3.5GHz frequentieband gebruikt.

In Nederland 3.5GHz frequentieband gebruiken, maar deze wordt nog gebruikt door afluisterstation in Burum

3GPP (3rd Generation Partnership Project) is een overeenkomst tussen verschillende telecommunicatiestandaarden

Voor het gebruik van 5G en delen van het frequentiespectrum zijn LSA (License Shared Access) tests gedaan. LSA betekent dat (delen van) het spectrum gebruikt kunnen worden als deze niet door zittende (bestaande) gebruikers (die dat deel van het netwerk al hadden) wordt gebruikt.

Voordelen van 5G

  • Meer throughput en snelheid t.o.v. 4G bron. Hierdoor wel minder bereik, dus meerdere kleine antennes nodig
  • Gebruik van mmWave (radiogolven tussen 24 en 300 GHz) waardoor hogere datasnelheden bereikt kunnen worden.
  • Gebruik van beamforming (Het richten van een datastroom op een bepaalde gebruiker zodat de verbinding een hogere snelheid en throughput kan halen ten opzichte van een groot gebied bedekken)
  • Gebruik van Massive MIMO (Multi Input Multi Output) (Een grotere hoeveelheid antennes bij het basisstation waardoor meerdere mensen een aparte link kunnen maken met het basisstation en data via meerdere wegen bij eenzelfde apparaat kan komen (spatial multiplexing). Ook wordt hierbij MU-MIMO (Multi-User MIMO) gebruikt waarbij berichten via eenzelfde datapad bij verschillende specifieke gebruikers kunnen komen, zoals pakketjes in een bestelbusje.)
  • MPS (Multimedia Priority Service) waarbij bepaalde communicatie (b.v. met een ambulance) een hogere prioriteit gegeven kan worden als een netwerk vol zit of overbelast is. public safety prioritization.

Toegevoegde waarde bij dit project (Waarom niet gwn radio?)

  • volgens dit artikel low latency, ultra reliable
  • Met edge computing kan een vision applicatie met de drone samenwerken zonder veel latency

Meeste dingen van drone worden door usb gevoed, sommige hebben ook data nodig (lidar)

laptop kan ik gebruiken voor edge device als ik machine learning


punt sensoren (?) gebruiken of spanning of spanning + data

grote ronde gele is lidar

andere kleine array is voor obstacle avoidance


er is gekozen om de drone zelf te bouwen in plaats van een bestaande te kopen voor flexibiliteit. Niet alleen in de functies maar ook in fysieke eigenschappen: 6 motoren ipv 4 omdat dat minder geluit maakt


5G en edge computing

API

Make an API:

Realtime data streaming: Server-sent events

websockets in real-time applications

PPM (Pulse Position Modulation) is een soort PWM maar dan kan je meerdere signalen over 1 kabel sturen.

what you need to build a copter

A multicopter becomes a UAV or Drone when it is capable of autonomous flight.

Estimating Drone Attitude

Attitude Estimation Algorithms Using Low Cost IMU

MAVProxy is een GCS (Ground Control Station) net als QGroundControl om de drone in te stellen voordat hij op gaat stijgen. (from Ardupilot GCS website): A ground station is typically a software application, running on a ground-based computer, that communicates with your UAV via wireless telemetry. It displays real-time data on the UAVs performance and position and can serve as a “virtual cockpit”, showing many of the same instruments that you would have if you were flying a real plane. A GCS can also be used to control a UAV in flight, uploading new mission commands and setting parameters. It is often also used to monitor the live video streams from a UAV’s cameras.

How to set up mission planner without radio and receiver

The KV2550 Motors specs:

kv2550 motor specs
PX4 drone frame reference

ArduPilot vs PX4

From Ardupilot discuss

  • License: PX4 is BSD, ArduPilot is GPL -> Meer gebruikers en meer reliable codebase
  • Runnen allebei op PixHawk 4 mini
  • ArduPilot is er sinds 2009, PX4 sinds 2012
  • ArduPilot dev team flight test elke release, daarom zitten er 1 - 6 maanden tussen nieuwe releases, PX4 releaset bijna elke dag
  • ArduPilot heeft position hold (Loiter), PX4 niet echt. (we vliegen voor dit project binnen dus maakt opzich niet uit)
From Drone Dojo:
  • Beide open source
  • Beide supporten meerdere vehicle types
  • Allebei gebruiken ze MAVlink

Flight controller vs Flight computer

[VIDEO] Difference between drone flight controller and flight computer
drones have 2 levels of control:

  • Inner Loop: stabilize the vehicle at a desired angle or body rate. "Change the motor speeds so it doesn't fall out of the sky". Handled by the flight controller
  • Outer loop: generate angle or rate commands to get the drone from point A to B. "Simulated pilot". Handled by the flight computer
information flow between inner and outer loop
The outer loop requests the vehicle state from the inner loop

Inner control loop (flight controller):

  1. Get IMU (Inertial Measurement Unit) data (Gyro and Accelerometer)
  2. Fuse IMU data to estimate attitude (using Complementary filters (combining measurements from an accelerometer and a gyroscope (bron)) or a Kalman filter (a filter to reduce noise))
  3. Get desired state or SetPoint from pilot OR flight computer
  4. Compute Error (Actual position for each axis - Desired position for each axis) using a PID controller
  5. Control mixing. Assign stabilized PID commands to motors for dynamic configuration
  6. Actuator outputs: Send commands to motors
  7. Vehicle responds: the drone moves in the desired position
  8. Measure response as input for [1]
flight controller loop

Flight computer control:
This is not necessarily a loop, it can perform multiple processes at once

  1. Sensors generate data (camera, lidar, GPS etc)
  2. Interrupt handeler: process sensor data as it becomes available (ROS)
  3. Odometry: fuse sensor data and figure out where drone is in space
  4. Mission planner: Where does the drone need to go?
    1. Search: look for desired target
    2. Converge: make sure it's the right target
    3. Execute: do the specified maneuver
  5. Controller: determine what state will get the drone to its desired location (generate SetPoints)
  6. Send request to flight controller

Why not use only flight computer?

  • Flight computer speeds are not guaranteed to be constant, it's CPU can become overloaded
  • Flight computer can be prone to freezing or crashing
  • A dedicated, single-task microcontroller for stabilization guarantees safe operation at all times

Configuratie 5G drone:

  • Inner loop: PX4 op PixHawk 4 Mini
    • Alleen configureren en aansluiten
  • Outer loop: Ubuntu Server op Raspberry Pi
    • ROS voor sensoren
      • uitlezen positiedata van beacons
      • uitlezen objectdetectiedata van lidar of mini sensor array
      • uitlezen van hoogtedata van height sensor
      • Sturen commandos naar pixhawk
    • Communicate met API
    • Ontvangen data voor besturing
    • Versturen telemetriedata

Frame

schematic measurements

made sure all motor mounts are level:
drone level1 drone level2 drone level3 drone level4 drone level5 drone level6

placement of parts on frame:
parts placement

placement of ESCs and motors:
esc motor placement
Voor de motoren hebben we nog 24 (4x6) extra ringetjes nodig, van minimaal 1,5mm hoog (het liefst 2mm) (deze van de gamma?):
extra length screws length carbon mount
en het gat moet tussen de 2 en 5 mm passen:
max width screws min width screws

Batterij: Dimension: 13,9 x 4,5 x 3,8 cm. Weight: 486g

ESC: Dimension: 55x28x9mm. Weight: 30g (x6 = 180g)

  • Kabels: 14AWG (zoals dit), per ESC 25 cm rood en 25 cm zwart, 25*6=150cm per kleur (150cm rood en 150cm zwart), in totaal 3m kabel.

    OF de ESCs worden onder de rotors gemount, dan heb ik 55 cm rood en 55 cm zwart per ESC nodig, 55*6=330 cm per kleur, in totaal 6,6m kabel. Als ik dit doe heb ik ook een langere kabel nodig voor de ESCs aan de pixhawk te verbinden
    UPDATE mailtje gestuurd om ze te bestellen

Pi: Dimension: 56mm x 85mm x 17,3mm. Weight: 49g

Pixhawk: Dimension: 38x55x15.5mm. Weight: 37,2g

Buck-boost converter: Dimension: 34 x 67 x 22 mm. Weight: 70g

Lidar (Tower Evo): Dimension: 120mm diameter, 42mm heigth. Weight: 92g

Camera: Dimension: 38 x 38 x 21.2 mm.

Frame: Tarot 690 folding frame

Display: setup guide

  • Voeden met micro usb kabel
  • HDMI kabel aan Pi
  • miss geen touch

5G modem

motors

Motors: Dimension: 28mm diameter, 31mm heigth. Weight: 35g (x6 = 210g), specs

Met huidige motoren: 50% throttle geeft 527g thrust met 9,16A. Om te hoveren dus totaal 3162g met 54A,
100% throttle geeft 1259g thrust en 38,18A. Max totaal dus 7554g en 228A.
T/W ratio is 7554/2143=3,5, Hovering time is 5/54=0,09 uur = 0,09*60=8,3 minuten

  • Ik heb een reddit post gemaakt om te vragen over de placement, misschien moeten er wel nieuwe motoren gevonden worden

Motors zoals deze (ook hier) zijn voor die grootte frame gemaakt (650 to 700). Deze genereert 650g tot 800g thrust met 50% throttle. Ze zijn compatible met 4S lipo, dus lader, batterij en ESCs kunnen blijven

Nieuwe motoren genereren volgens bron

Nieuwe motoren:

Propellors: Grotere 1355 propellors zoals deze (ook hier) zijn ervoor gemaakt.

Het frame is niet van Tarot, maar van QWinOut. De motor mounts moeten ook anders, aangezien wij deze hebben, en zoals op de link van de motors te zien is, hebben die 3 mounting holes ipv 4 zoals op die mounts. Om de motoren te kunnen mounten zijn mounts zoals deze nodig.

Totale weight:

Product Gewicht
Frame 600g
Raspberry Pi 47g
pixhawk 4 mini 38
usb hub 40g
Camera 50g
ESCs (6) 180g
hoogtemeter 9g
mini object array 20g
LIDAR 92g
Batterij 487g
Scherm 150g
Beacons (2) 90g
5G modem 100g
Totaal 1903g
Oude motoren (6) 210g
Oude props (6) 30
Totaal met oude motoren en props 2143g
Nieuwe motoren (6) 492g
Nieuwe props (6) 84g
Totaal met nieuwe motoren en props 2479

Order of operations:

  1. Drone onderdelen op chassis monteren en kijken hoe ik het ga doen zodat ik eventuele dingen kan bestellen
  2. motoren en ESCs aan pixhawk verbinden zodat ik deze kan calibreren
    • Pi hoeft dan nog niet per se aan pixhawk, zolang alleen de pixhawk maar de ESCs en motoren aan kan sturen
  3. Als pixhawk en motoren zijn geconfigureerd, aparte onderdelen implementeren op raspberry pi
  4. motoren aansturen implementeren
  5. Als onderdelen zijn geimplementeerd, alles samenvoegen: motoren aansturen op basis van sensordata

Planning 7-3-23

VERSLAG

  • begin analyse informatie van onderdelen verwerken
  • begin onderzoek over aansturen pixhawk en pi verwerken (desk research)