Search Code

Kursusles 9 van 10: Hindernisvermyding met behulp van Raspberry Pi Pico 4WD Slimme Motor

Hierdie les is deel van: Raspberry Pi Pico 4WD Smart Car

Kursusles 9 van 10: Hindernisvermyding met behulp van Raspberry Pi Pico 4WD Slimme Motor

Inleiding

Hierdie gids, gebaseer op Kursusles 9 van 10 van Robojax, demonstreer hoe om 'n obstakel-vermydende robot te bou met behulp van die SunFounder Raspberry Pi Pico 4WD Smart Car-stel. Die projek kombineer 'n servo-aangedrewe ultrasoniese sensor met motorbeheer om 'n robot te skep wat sy omgewing outonoom kan navigeer. Deur die sensor soos 'n radar te swaai, bespeur die motor obstakels en kies intelligensie 'n duidelike pad om voort te gaan, wat dit 'n perfekte inleiding tot robotika, sensorintegrasie en outonome navigasie maak.

Hierdie projek is nie net 'n speelding nie; dit is 'n fondament vir baie praktiese toepassings. Hier is 'n paar idees om jou te inspireer:

  • Outonome Verkenningrobot: Bou 'n robot wat 'n kamer of buite-area kan karteer en verken sonder menslike ingryping.
  • Slim Stofsuier: Gebruik dieselfde beginsels om 'n robot te skep wat 'n kamer navigeer, meubels en mure vermy terwyl dit skoonmaak.
  • Veiligheidspatrollie-Bot: Programmeer die motor om 'n omtrek te patrolleer en gebruik die ultrasoniese sensor om onverwagte obstakels of indringing te bespeur en aan te meld.
  • Opvoedkundige Platform vir KI: Gebruik hierdie projek as 'n springplank om meer komplekse algoritmes soos padsoektog en gelyktydige lokalisering en kartering (SLAM) te leer.

Hierdie les fokus op die kernlogika en kode wat die motor in staat stel om besluite te neem. Die motor gebruik 'n servo-motor om 'n ultrasoniese sensor te roteer, wat as 'n radar optree om afstande van 0 tot 180 grade te meet. Die kode ontleed hierdie data om die wydste leë pad te vind en rig die motor om vorentoe, links of regs te beweeg dienooreenkomstig. Die video demonstreer die hele proses, van die toets van die individuele komponente tot die uitvoer van die finale obstakel-vermydingsalgoritme in 'n werklike doolhof.

Hardeware/Komponente

Hierdie projek is gebaseer op die SunFounder Raspberry Pi Pico 4WD Smart Car-stel. Die noodsaaklike komponente wat in hierdie les gebruik word, is:

  • Raspberry Pi Pico-mikrobeheerraad
  • SunFounder 4WD Smart Car-onderstel met vier motors
  • Motorbestuurderraad
  • Ultrasoniese afstandsensor (HC-SR04-tipe)
  • Servo-motor (vir die rotering van die ultrasoniese sensor)
  • Kragtoevoer (batterye vir die motor)

Bedradingsgids

Die SunFounder-stel is ontwerp vir maklike samestelling, en die bedrading is tipies vooraf gekoppel via 'n toegewyde uitbreidingsraad. Die ultrasoniese sensor is op die servo-motor gemonteer, wat dan aan die hoofbeheerraad gekoppel is. Hierdie opstelling laat die sensor toe om te roteer om die omgewing te skandeer. Vir 'n gedetailleerde bedradingsdiagram spesifiek vir jou stel, verwys asseblief na die amptelike SunFounder-dokumentasie.

Die kernverbindings behels die ultrasoniese sensor se trigger- en eggo-penne, en die servo-motor se seinpen, wat almal aan spesifieke GPIO-penne op die Raspberry Pi Pico gekoppel is. Die motorbestuurder is ook aan die Pico gekoppel om die vier dryfmotors te beheer. Die video noem dat die volledige dokumentasie, insluitend bedradingsdiagramme, beskikbaar is vir aflaai met die stel.

Kodeverduideliking

Hierdie les fokus op die logika binne die `obstacle_avoid`-voorbeeld. Die kode is in MicroPython geskryf. Terwyl die volledige program beskikbaar is vir aflaai, sal ons fokus op die sleutel, gebruikerskonfigureerbare parameters wat die motor se gedrag beheer. Dit word tipies aan die bokant van die skrip gevind.

Hier is die hoofveranderlikes wat jy kan aanpas om jou robot se prestasie fyn te stel:


# Radar- en bewegingsparameters
radar_reference = 20  # Minimum afstand in cm om as veilig beskou te word
step_angle = 10       # Die hoekinkrement vir elke radar-skanderingstap
forward_speed = 30    # Motorspoed vir vorentoe beweging (0-100)
turn_speed = 50       # Motorspoed vir draai (0-100)
forward_scan_angle = 50  # Die hoek wat die servo skandeer wanneer geen obstakel bespeur word nie
  • radar_reference: Dit is die deurslaggewende veiligheidsafstand in sentimeter. As 'n obstakel nader as hierdie waarde bespeur word, sal die motor dit as 'n "gevaar" beskou en 'n vermydingsmaneuver begin. In die video is dit op 20 cm gestel.
  • step_angle: Dit definieer die resolusie van die radar-skandering. 'n Kleiner waarde (bv. 10 grade) beteken 'n meer gedetailleerde skandering maar neem langer. 'n Groter waarde sal vinniger wees maar kan smal obstakels mis.
  • forward_speed & turn_speed: Dit beheer die krag wat na die motors gestuur word. Jy kan dit aanpas om die motor se algehele spoed en behendigheid te verander. Die draaispoed word dikwels hoër gestel om te verseker dat die motor effektief kan draai.
  • forward_scan_angle: Wanneer geen onmiddellike gevaar voor is nie, vernou die motor sy skandering tot hierdie hoek (gesentreer op vorentoe) om obstakels meer gereeld in sy direkte pad te kontroleer, wat gladder vorentoe beweging moontlik maak.

Die video verduidelik ook die hoofbesluitnemingslogika. 'n Funksie `get_direction()` ontleed die lys van afstandslesings (omgeskakel na 1'e en 0'e vir veilig/onveilig) om die wydste deurlopende pad van "1"s te vind. Gebaseer op waar hierdie wydste pad is, gee die funksie 'n rigting terug: "forward", "left" of "right". Die hooflus voer dan die ooreenstemmende aksie uit, draai die motor en herskandeer totdat die pad voor duidelik is.

Lewende Projek/Demonstrasie

Die video bied 'n deeglike demonstrasie van die projek. Dit begin deur die ultrasoniese sensor alleen te toets om te wys hoe dit afstand meet en die waardes na die doplyn druk. Die instrukteur verduidelik dan die hindernisvermydingsalgoritme met behulp van 'n vloeidiagram, wat die besluitnemingsproses vir links- en regsdraai uiteensit. Laastens word die motor in 'n klein doolhof geplaas wat uit bokse gemaak is om die volledige hindernisvermydingsgedrag in aksie te demonstreer. Die motor navigeer die doolhof suksesvol, draai links en regs om 'n duidelike pad vorentoe te vind.

Video Hoofstukke

  • [00:00] Inleiding tot Hindernisvermyding
  • [01:31] Oorsig van die SunFounder Slimmotorkit en Kenmerke
  • [02:47] Hoe die Hindernisvermydingsfunksie Werk
  • [03:34] Toets van die Ultrasoniese Sensor
  • [07:45] Verduideliking van die Hindernisvermydingsalgoritme en Vloeidiagram
  • [12:49] Ontleding van die Hoof Hindernisvermydingskode
  • [15:43] Lewendige Demonstrasie van die Hindernisvermydingslogika
  • [22:53] Finale Demonstrasie met 'n Doolhof van Hindernisse
  • [24:35] Gevolgtrekking en Volgende Stappe
Geen kode aangeheg.

Hulpbronne en verwysings

Geen hulpbronne nog.

Lêers📁

Geen lêers beskikbaar.