Cover
ابدأ الآن مجانًا 2a_Drone Technology 2 - Opbouw ground robot.pdf
Summary
# Opbouw van ground robots
Dit deel van het document beschrijft de algemene structuur en componenten van grondrobots, met een focus op de hardware- en softwarelagen en hun besturing.
### 1.1 Algemene architectuur van grondrobots
Grondrobots kunnen over het algemeen worden opgedeeld in een hardwarelaag en een softwarelaag. Deze lagen zijn essentieel voor zowel de fysieke interactie met de omgeving als de intelligente verwerking van informatie en besluitvorming [16](#page=16) [2](#page=2) [6](#page=6).
#### 1.1.1 Hardwarelaag
De hardwarelaag omvat alle fysieke componenten van de robot die verantwoordelijk zijn voor waarneming, beweging en interactie. Dit kan bestaan uit sensoren, actuatoren en de fysieke structuur van de robot [16](#page=16) [2](#page=2) [6](#page=6).
* **Sensoren:** Deze componenten verzamelen informatie uit de omgeving. Voorbeelden hiervan zijn lidars (zoals de LDS-02 / 2D lidar) voor het meten van afstanden en het creëren van kaarten, en mogelijk andere sensoren voor het detecteren van obstakels, positie of omgevingscondities [6](#page=6).
* **Actuatoren:** Dit zijn de componenten die beweging mogelijk maken, zoals motoren, wielen of andere mechanismen om de robot voort te bewegen of armen te manipuleren [6](#page=6).
* **Controle-eenheden:** De robot bevat ook fysieke verwerkingshardware, zoals een Raspberry Pi 5 (RPI5) of een Open CR controller, die de directe aansturing van de sensoren en actuatoren mogelijk maakt [6](#page=6).
* **Stroomvoorziening:** Batterijen, zoals Lithium-ion 3s batterijen, leveren de benodigde energie voor de robot [6](#page=6).
#### 1.1.2 Softwarelaag
De softwarelaag is verantwoordelijk voor het verwerken van de door de hardware verzamelde data, het nemen van beslissingen en het aansturen van de robot. Deze laag kan verder worden onderverdeeld in verschillende niveaus van controle en verwerking [16](#page=16) [2](#page=2) [6](#page=6).
* **Low-level controlling:** Dit niveau is verantwoordelijk voor de directe aansturing van de hardware, zoals het regelen van de snelheid van motoren of het uitlezen van ruwe sensor data. De Dynamixel motoren zijn hier een voorbeeld van componenten die op dit niveau worden aangestuurd [16](#page=16) [6](#page=6).
* **High-level processing:** Dit niveau behandelt complexere taken zoals het interpreteren van sensorinformatie, navigatieplanning, objectherkenning en besluitvorming. Hier worden algoritmes toegepast om de robot autonoom te laten functioneren [16](#page=16) [6](#page=6).
* **Robot Operating System (ROS):** ROS is een veelgebruikt framework in de robotica dat communiciatie tussen verschillende softwarecomponenten faciliteert en een gestandaardiseerde manier biedt om robotsoftware te ontwikkelen [16](#page=16) [6](#page=6).
* **Aanvullende softwarecomponenten:** Afhankelijk van de specifieke toepassing, kunnen er gespecialiseerde softwaremodules of controllers worden geïntegreerd, zoals APEX.AI of controllers van fabrikanten als IFM en Nuvo [16](#page=16).
> **Tip:** Het onderscheid tussen de hardware- en softwarelaag, en de verdere onderverdeling van de software in low-level en high-level processing, is cruciaal voor het begrijpen van hoe een grondrobot functioneert en hoe deze wordt bestuurd.
#### 1.1.3 Besturing en Autonomie
De architectuur van een grondrobot is ontworpen om autonome operatie mogelijk te maken. Dit betekent dat de robot in staat is om zonder constante menselijke tussenkomst te navigeren, taken uit te voeren en te reageren op zijn omgeving. Dit wordt bereikt door een synergie tussen de sensoren die data verzamelen, de software die deze data analyseert en beslissingen neemt, en de actuatoren die de beweging uitvoeren [16](#page=16) [2](#page=2) [6](#page=6).
#### 1.1.4 Voorbeeld: Turtlebot3
De Turtlebot3 is een specifiek voorbeeld van een grondrobot die deze algemene opbouw demonstreert. Het toont de integratie van een hardwarelaag met componenten zoals lidars en motoren, en een softwarelaag die gebruik maakt van ROS voor de besturing en autonome functionaliteit [6](#page=6).
> **Example:** Een typische workflow voor een grondrobot kan er als volgt uitzien: de lidar meet de afstand tot obstakels (hardware), deze data wordt verwerkt door ROS en navigatiealgoritmes (software high-level) om een pad te plannen, en vervolgens stuurt de low-level control de motoren aan (hardware) om het pad te volgen [16](#page=16) [6](#page=6).
---
# TurtleBot3 specificaties
Dit gedeelte beschrijft de gedetailleerde hardwarecomponenten van de TurtleBot3, een veelzijdig open-source robotplatform voor educatie en onderzoek [5](#page=5).
### 2.1 Algemene architectuur
De TurtleBot3 is opgebouwd uit een hardwarelaag en een softwarelaag. De hardwarelaag omvat sensoren en actuatoren, aangestuurd door de Raspberry Pi 5 en de OpenCR controller. De softwarelaag, grotendeels gebaseerd op ROS (Robot Operating System), verwerkt de data van de sensoren en stuurt de actuatoren aan voor zowel laag-niveau controle als hoog-niveau verwerking [6](#page=6).
### 2.2 Raspberry Pi 5 (RPI5)
De Raspberry Pi 5 fungeert als de hoofdcomputer van de TurtleBot3 en is uitgerust met krachtige specificaties voor verwerking en connectiviteit [7](#page=7).
#### 2.2.1 Processor en geheugen
* **Processor:** Broadcom BCM2712, een 2.4 GHz quad-core 64-bit ARM Cortex-A76 CPU met cryptografische extensies, 512 KB per-core L2-caches en een 2 MB gedeelde L3-cache [7](#page=7).
* **Grafische processor (GPU):** VideoCore VII GPU, die OpenGL ES 3.1 en Vulkan 1.2 ondersteunt [7](#page=7).
* **Video-uitvoer:** Ondersteunt dual 4Kp60 HDMI-display met HDR, en een 4Kp60 HEVC decoder [7](#page=7).
* **RAM:** LPDDR4X-4267 SDRAM, beschikbaar in configuraties van 2GB, 4GB, 8GB en 16GB [7](#page=7).
#### 2.2.2 Connectiviteit
* **Draadloos:** Dual-band 802.11ac Wi-Fi® en Bluetooth 5.0/Bluetooth Low Energy (BLE) [7](#page=7).
* **Opslag:** microSD-kaartsleuf met ondersteuning voor high-speed SDR104-modus [7](#page=7).
* **USB:** 2x USB 3.0-poorten met gelijktijdige 5Gbps-operatie, en 2x USB 2.0-poorten [7](#page=7).
* **Netwerk:** Gigabit Ethernet met PoE+-ondersteuning (vereist een aparte PoE+ HAT) [7](#page=7).
* **Camera/Display:** 2x 4-lane MIPI camera/display transceivers [7](#page=7).
* **PCIe:** PCIe 2.0 x1-interface voor snelle randapparatuur (vereist een aparte M.2 HAT of adapter) [7](#page=7).
* **Voeding:** 5V/5A DC-voeding via USB-C met Power Delivery-ondersteuning [7](#page=7).
* **Expansie:** Raspberry Pi standaard 40-pin header [7](#page=7).
* **Extra functies:** Real-time clock (RTC) gevoed door een externe batterij, en een aan/uit-knop [7](#page=7).
### 2.3 OpenCR controller
De OpenCR (Open-source ControlR) is een microcontroller-gebaseerd bord dat dient als de primaire besturingseenheid voor de actuatoren en het verzamelen van sensorinformatie op laag niveau [6](#page=6) [8](#page=8).
#### 2.3.1 Microcontroller en sensoren
* **Microcontroller:** STM32F746ZGT6, een 32-bit ARM Cortex®-M7 met FPU, werkend op 216MHz met 462DMIPS [9](#page=9).
* **Sensoren:**
* Voorheen: MPU9250 (3-assige gyroscoop, 3-assige accelerometer, 3-assige magnetometer) [9](#page=9).
* Huidig: ICM-20648 (3-assige gyroscoop, 3-assige accelerometer, digitale bewegingsprocessor) [9](#page=9).
#### 2.3.2 Programmering en connectiviteit
* **Programmering:** ARM Cortex 10-pin JTAG/SWD-connector en USB Device Firmware Upgrade (DFU) [9](#page=9).
* **Digitale I/O:** 32 pins (14 links, 18 rechts), compatibel met Arduino [9](#page=9).
* **Specifieke poorten:** 5-Pin OLLO x 4, GPIO x 18 pins, PWM x 6, I2C x 1, SPI x 1 [9](#page=9).
* **Analoge ingangen:** Maximaal 6 ADC-kanalen met 12-bit resolutie [9](#page=9).
#### 2.3.3 Communicatiepoorten
* **USB:** 1x Micro-B USB-connector (USB 2.0, Host/Peripheral/OTG) [10](#page=10).
* **Dynamixel-poorten:** 3x TTL (B3B-EH-A) en 3x RS485 (B4B-EH-A) [10](#page=10).
* **UART:** 2x (20010WS-04) [10](#page=10).
* **CAN:** 1x (20010WS-04) [10](#page=10).
#### 2.3.4 LEDs, knoppen en voeding
* **LEDs:** LD2 (rood/groen voor USB-communicatie), 4x User LEDs (LD3-LD6), en LD1 (rood, 3.3V voeding aan) [10](#page=10).
* **Knoppen:** 2x User buttons, 1x Reset button (voor power reset), en 1x Power on/off switch [10](#page=10).
* **Voeding ingangen:** 5V (USB VBUS), 5-24V (batterij of SMPS) [10](#page=10).
* Standaard batterij: LI-PO 11.1V, 1800mAh, 19.98Wh [10](#page=10).
* Standaard SMPS: 12V, 4.5A [10](#page=10).
* **RTC batterijpoort:** Molex 53047-0210 [10](#page=10).
* **Voeding uitgangen:** 12V max 4.5A, 5V max 4A, 3.3V @ 800mA [10](#page=10).
* **Afmetingen en gewicht:** 105(B) x 75(D) mm, 60g [10](#page=10).
### 2.4 Wiel aandrijving
De wielaandrijving van de TurtleBot3 maakt gebruik van motoren met geïntegreerde positie-encodermogelijkheden voor precieze bewegingscontrole [11](#page=11).
* **MCU:** ARM Cortex-M3 (72 MHz, 32-bit) [11](#page=11).
* **Positie Sensor:** Contactloze absolute encoder (12-bit, 360 graden) van ams (AS5601) [11](#page=11).
* **Motor:** Coreless motor [11](#page=11).
* **Baud Rate:** 9,600 bps tot 4.5 Mbps [11](#page=11).
* **Control Algorithm:** PID-regeling [11](#page=11).
* **Resolutie:** 4096 pulsen per omwenteling [11](#page=11).
* **Werkingsmodi:** Snelheidsregeling, Positieregeling (0-360 graden), Uitgebreide Positieregeling (multiturn), en PWM-regeling (spanningsregeling) [11](#page=11).
* **Gewicht:** 65 gram [11](#page=11).
### 2.5 2D Lidar
De TurtleBot3 is uitgerust met een 2D Lidar-sensor voor het scannen van de omgeving en het bepalen van afstanden [12](#page=12) [6](#page=6).
#### 2.5.1 Elektrische en optische specificaties
* **Bedrijfsspanning:** 5V DC ± 10% [12](#page=12).
* **PWM Frequentie:** 10-30 KHz (blokgolf, hoog: 3.3V, laag: 0V) [12](#page=12).
* **PWM Duty Cycle:** 0-100% [12](#page=12).
* **Laser Golflengte:** Laagvermogen infraroodlaser (λ=793 nm) [12](#page=12).
* **Laser Veiligheid:** Klasse I, conform 21 CFR 1040.10 en 1040.11 [12](#page=12).
* **Stroomverbruik:** 240 mA (opstartstroom 400 mA) [12](#page=12).
* **Omgevingslicht weerstand:** 25,000 lux [12](#page=12).
* **Levensduur:** 1,000 uur [12](#page=12).
* **Bedrijfstemperatuur:** -10 tot 40 °C [12](#page=12).
* **Opslagtemperatuur:** -30 tot 70 °C [12](#page=12).
* **Afmetingen:** 70(W) x 90(D) x 42(H) mm [12](#page=12).
* **Massa:** 131 gram [12](#page=12).
#### 2.5.2 Meetbereik en prestaties
* **Afstandsbereik:** 160 tot 8,000 mm [12](#page=12) [13](#page=13).
* **Afstandsnauwkeurigheid:** ±10 mm (160-300 mm) [13](#page=13).
* **Afstandsnauwkeurigheid:** ±3.0% (300-6,000 mm) [13](#page=13).
* **Afstandsprécisie:** ±5.0% (6,000-8,000 mm) [13](#page=13).
* **Scanfrequentie:** 5 Hz of hoger [13](#page=13).
* **Hoekbereik:** 360 ° [13](#page=13).
* **Hoekresolutie:** 1 ° [13](#page=13).
* **Sampling Rate:** 2.3 kHz (vast) [12](#page=12).
* **Interface:** 3.3V USART (115200 bps, 8 databits, geen pariteit, 1 stopbit), Tx Only [12](#page=12).
### 2.6 Batterij
De TurtleBot3 wordt aangedreven door een lithium-ion batterij die beveiligingscircuits bevat [14](#page=14) [6](#page=6).
* **Gewicht:** 106 gram [14](#page=14).
* **Afmetingen:** 88mm x 35mm x 26mm [14](#page=14).
* **Voltage:** 11.1V (3S) [14](#page=14).
* **Capaciteit:** 1800mAh [14](#page=14).
* **Ontlaadsnelheid:** 5C [14](#page=14).
* **Extra functies:** Ingebouwd PCM (PCM built-in) ter bescherming tegen overladen, ontladen en overstroom [14](#page=14).
---
# Overige robotplatforms
Hieronder volgt een gedetailleerde samenvatting over andere robotplatforms, gebaseerd op de verstrekte documentatie.
## 3. Overige robotplatforms
Dit deel van de studiehandleiding introduceert alternatieve robotplatforms, zoals de Golfkar en RBCAR, om de veelzijdigheid in toepassingen en configuraties te illustreren.
### 3.1 De Golfkar als Robotplatform
De Golfkar wordt gepresenteerd als een voorbeeld van een robotplatform dat aangepast kan worden voor autonome toepassingen [15](#page=15).
**Hardware- en softwarelagen**
Het document schetst een architectuur die de hardware- en softwarelagen van een dergelijk platform onderscheidt [16](#page=16).
* **Hardware laag:** Omvat de fysieke componenten zoals sensoren en actuatoren, die direct interageren met de omgeving [16](#page=16).
* **Software laag:** Bestaat uit meerdere niveaus, van laag-niveau aansturing tot hoog-niveau verwerking. Specifieke software frameworks zoals ROS (Robot Operating System) en APEX.AI worden genoemd als mogelijke implementaties voor deze laag. Controllers, zoals die van IFM, kunnen ook deel uitmaken van de laag-niveau aansturing [16](#page=16).
> **Tip:** Begrijpen hoe de hardware- en softwarelagen gestructureerd zijn, is essentieel voor het ontwikkelen en implementeren van autonome systemen op verschillende robotplatforms.
### 3.2 Het RBCAR Robotplatform
Het RBCAR platform wordt eveneens genoemd als een specifiek robotplatform dat in deze context relevant is [17](#page=17).
> **Tip:** De vermelding van verschillende platforms zoals de Golfkar en RBCAR benadrukt dat de principes van robotica en autonome systemen toepasbaar zijn op een breed scala aan hardware configuraties.
### 3.3 Componenten
Het document verwijst naar "Componenten" in relatie tot deze platforms wat impliceert dat de specifieke samenstelling en integratie van componenten cruciaal is voor de functionaliteit van elk robotplatform. Hoewel de specifieke componenten niet verder worden uitgewerkt op de genoemde pagina's, is het duidelijk dat deze de basis vormen van elk robotplatform [19](#page=19).
---
## Veelgemaakte fouten om te vermijden
- Bestudeer alle onderwerpen grondig voor examens
- Let op formules en belangrijke definities
- Oefen met de voorbeelden in elke sectie
- Memoriseer niet zonder de onderliggende concepten te begrijpen
Glossary
| Term | Definition |
|------|------------|
| Ground robot | Een robot die ontworpen is om zich over de grond voort te bewegen, vaak uitgerust met wielen, rupsbanden of poten. |
| TurtleBot3 | Een veelgebruikt open source platform voor robotica-onderwijs en onderzoek, dat de Robot Operating System (ROS) ondersteunt en diverse sensoren bevat. |
| ROS (Robot Operating System) | Een flexibele framework voor het schrijven van robotsoftware. Het bestaat uit een verzameling tools en bibliotheken die de ontwikkeling van complexe robotapplicaties vereenvoudigen. |
| LIDAR | Light Detection and Ranging, een methode voor afstandmeting en beeldvorming waarbij laserlicht wordt gebruikt om de afstand tot objecten te bepalen en een 3D-kaart van de omgeving te creëren. |
| SLAM | Simultaneous Localization and Mapping, een techniek die een robot in staat stelt om gelijktijdig zijn positie te bepalen binnen een bekende of onbekende omgeving, terwijl hij een kaart van die omgeving opbouwt. |
| AI | Artificial Intelligence (kunstmatige intelligentie), het vermogen van computers of machines om taken uit te voeren die normaal menselijke intelligentie vereisen, zoals leren, probleemoplossing en besluitvorming. |
| Hardware layer | Het fysieke gedeelte van een robot, bestaande uit componenten zoals processors, sensoren, actuatoren en aandrijfsystemen. |
| Software layer | Het gedeelte van een robot dat bestaat uit de instructies en programma"s die de hardware besturen en de intelligentie van de robot bepalen, inclusief besturingssystemen en algoritmes. |
| Raspberry Pi 5 (RPI5) | Een kleine, goedkope computer die veelzijdig inzetbaar is, met een krachtige processor en diverse aansluitmogelijkheden, vaak gebruikt als de centrale processor in robots. |
| OpenCR | Een open-source controllerbord voor robots, uitgerust met een krachtige microcontroller en diverse interfaces voor sensoren en actuatoren, specifiek ontworpen voor platformen zoals de TurtleBot3. |
| Dynamixel | Een type intelligente servomotoren die veel gebruikt worden in robotica vanwege hun programmeerbaarheid, feedbackmogelijkheden en daisy-chaining functionaliteit. |
| Lithium-ion batterij | Een oplaadbare batterijtechnologie die een hoge energiedichtheid biedt en vaak wordt gebruikt als stroombron voor mobiele robots. |
| Encoderwielen | Wielen uitgerust met encoders die de draaibeweging meten, essentieel voor het bepalen van de afgelegde afstand en snelheid van een robot. |
| Gyroscoop | Een sensor die hoeksnelheid meet, essentieel voor het bepalen van de oriëntatie en stabiliteit van een robot. |
| Accelerometer | Een sensor die versnelling meet, nuttig voor het detecteren van beweging, oriëntatie en schokken. |
| Magnetometer | Een sensor die magnetische velden meet, vaak gebruikt om het magnetische veld van de aarde te detecteren voor richtingbepaling (kompas). |
| Microcontroller | Een kleine computer op een enkele geïntegreerde schakeling, ontworpen om specifieke taken uit te voeren binnen een ingebed systeem zoals een robot. |
| ARM Cortex-M7 | Een familie van 32-bit microcontrollers ontworpen door ARM Holdings, bekend om hun hoge prestaties en energie-efficiëntie, vaak gebruikt in embedded systemen. |
| PID control | Proportioneel-integraal-afgeleide regeling, een veelgebruikte control loop feedback mechanisme in technische systemen, waaronder robotica, om de output te regelen op basis van de fout tussen een gewenste en gemeten waarde. |
| 2D Lidar | Een type lidar-sensor dat de omgeving scant in een plat vlak (2D) om afstanden te meten en een gedetailleerde kaart te creëren van obstakels en de omgeving. |
| USART | Universal Synchronous/Asynchronous Receiver/Transmitter, een hardwarecommunicatiepoort die seriële communicatie tussen apparaten mogelijk maakt. |
| PWM | Pulse-Width Modulation (pulsbreedtemodulatie), een techniek om de gemiddelde spanning van een signaal te regelen door de breedte van de puls aan te passen, vaak gebruikt voor motorbesturing. |
| Battery | Een apparaat dat chemische energie omzet in elektrische energie om een robot van stroom te voorzien. |
| Autonomous | Verwijst naar systemen die zonder menselijke tussenkomst kunnen opereren, plannen en beslissingen kunnen nemen om doelen te bereiken. |
| IFM Controller | Een controller die mogelijk door IFM Electronic wordt geleverd, gespecialiseerd in industriële automatisering en sensortechnologie, mogelijk gebruikt voor specifieke robotbesturingstaken. |
| Nuvo | Mogelijk een referentie naar een specifieke robotica-onderdeel of een softwareplatform, afhankelijk van de context, dat bijdraagt aan de verwerking op hoog niveau. |
| Golfkar robot | Een robot die is gebaseerd op de structuur van een golfkar, aangepast voor autonome navigatie en mogelijk voor toepassingen zoals het vervoeren van golfuitrusting of personen in een gecontroleerde omgeving. |
| RBCAR | Een robotplatform dat mogelijk een schaalmodel of een specifieke configuratie van een auto vertegenwoordigt, ontworpen voor onderzoek of demonstratie van autonome rijtechnologieën. |