Search Code

Kurz Lekcia 9 z 10: Vyhýbanie sa prekážkam pomocou inteligentného auta Raspberry Pi Pico 4WD

This lesson is part of: Raspberry Pi Pico 4WD Smart Car

Kurz Lekcia 9 z 10: Vyhýbanie sa prekážkam pomocou inteligentného auta Raspberry Pi Pico 4WD

Úvod

Táto príručka, založená na lekcii 9 z 10 kurzu od Robojax, ukazuje, ako postaviť robota vyhýbajúceho sa prekážkam pomocou súpravy SunFounder Raspberry Pi Pico 4WD Smart Car. Projekt kombinuje servom riadený ultrazvukový senzor s riadením motorov, čím vytvára robota, ktorý sa dokáže autonómne pohybovať vo svojom prostredí. Snímaním okolia senzorom ako radarom auto deteguje prekážky a inteligentne si vyberá voľnú cestu, čo z neho robí ideálny úvod do robotiky, integrácie senzorov a autonómnej navigácie.

Tento projekt nie je len hračka; je základom pre mnohé praktické aplikácie. Tu je niekoľko nápadov na inšpiráciu:

  • Autonómny prieskumný robot: Postavte robota, ktorý dokáže mapovať a preskúmať miestnosť alebo vonkajší priestor bez zásahu človeka.
  • Inteligentný vysávač: Použite rovnaké princípy na vytvorenie robota, ktorý sa pohybuje po miestnosti, vyhýba sa nábytku a stenám a zároveň upratuje.
  • Bezpečnostný hliadkovací robot: Naprogramujte auto na obchádzanie perimetra a používajte ultrazvukový senzor na detekciu a hlásenie neočakávaných prekážok alebo narušení.
  • Vzdelávacia platforma pre AI: Použite tento projekt ako odrazový mostík na učenie sa zložitejších algoritmov, ako je hľadanie cesty a simultánna lokalizácia a mapovanie (SLAM).

Táto lekcia sa zameriava na základnú logiku a kód, ktoré umožňujú autu robiť rozhodnutia. Auto používa servomotor na otáčanie ultrazvukového senzora, ktorý funguje ako radar na meranie vzdialeností od 0 do 180 stupňov. Kód analyzuje tieto údaje, aby našiel najširšiu voľnú cestu, a podľa toho nasmeruje auto dopredu, doľava alebo doprava. Video demonštruje celý proces, od testovania jednotlivých komponentov až po spustenie finálneho algoritmu vyhýbania sa prekážkam v reálnom bludisku.

Hardvér/Komponenty

Tento projekt je založený na súprave SunFounder Raspberry Pi Pico 4WD Smart Car. Základné komponenty použité v tejto lekcii sú:

  • Mikrokontrolér Raspberry Pi Pico
  • Podvozok SunFounder 4WD Smart Car so štyrmi motormi
  • Doska ovládača motorov
  • Ultrazvukový senzor vzdialenosti (typ HC-SR04)
  • Servomotor (na otáčanie ultrazvukového senzora)
  • Napájanie (batérie pre auto)

Sprievodca zapojením

Súprava SunFounder je navrhnutá na jednoduchú montáž a zapojenie je zvyčajne vopred prepojené cez špeciálnu rozširujúcu dosku. Ultrazvukový senzor je namontovaný na servomotore, ktorý je potom pripojený k hlavnej riadiacej doske. Toto usporiadanie umožňuje otáčať senzorom na skenovanie prostredia. Podrobnú schému zapojenia špecifickú pre vašu súpravu nájdete v oficiálnej dokumentácii SunFounder.

Základné zapojenie zahŕňa triger a echo piny ultrazvukového senzora a signálny pin servomotora, ktoré sú pripojené na konkrétne GPIO piny na Raspberry Pi Pico. Ovládač motorov je tiež pripojený k Pico na riadenie štyroch hnacích motorov. Video spomína, že kompletná dokumentácia vrátane schém zapojenia je k dispozícii na stiahnutie so súpravou.

Vysvetlenie kódu

Táto lekcia sa zameriava na logiku v príklade `obstacle_avoid`. Kód je napísaný v MicroPythone. Hoci je celý program k dispozícii na stiahnutie, zameriame sa na kľúčové, používateľom konfigurovateľné parametre, ktoré riadia správanie auta. Tie sa zvyčajne nachádzajú na začiatku skriptu.

Tu sú hlavné premenné, ktoré môžete upraviť na doladenie výkonu vášho robota:


# Parametre radaru a pohybu
radar_reference = 20  # Minimálna vzdialenosť v cm považovaná za bezpečnú
step_angle = 10       # Prírastok uhla pre každý krok skenovania radaru
forward_speed = 30    # Rýchlosť motora pri pohybe vpred (0-100)
turn_speed = 50       # Rýchlosť motora pri otáčaní (0-100)
forward_scan_angle = 50  # Uhol, ktorý servomotor skenuje, keď nie je detegovaná žiadna prekážka
  • radar_reference: Toto je kľúčová bezpečnostná vzdialenosť v centimetroch. Ak je prekážka detegovaná bližšie ako táto hodnota, auto ju bude považovať za „nebezpečenstvo" a spustí manéver vyhýbania sa. Vo videu je nastavená na 20 cm.
  • step_angle: Toto definuje rozlíšenie radarového skenovania. Menšia hodnota (napr. 10 stupňov) znamená podrobnejšie skenovanie, ale trvá dlhšie. Väčšia hodnota by bola rýchlejšia, ale mohla by prehliadnuť úzke prekážky.
  • forward_speed & turn_speed: Tieto hodnoty riadia výkon posielaný do motorov. Môžete ich upraviť na zmenu celkovej rýchlosti a obratnosti auta. Rýchlosť otáčania je často nastavená vyššie, aby sa zabezpečilo, že sa auto dokáže efektívne otočiť.
  • forward_scan_angle: Keď bezprostredné nebezpečenstvo nie je vpredu, auto zúži skenovanie na tento uhol (vycentrovaný dopredu), aby častejšie kontrolovalo prekážky v priamej dráhe, čo umožňuje plynulejší pohyb vpred.

Video tiež vysvetľuje hlavnú logiku rozhodovania. Funkcia `get_direction()` analyzuje zoznam hodnôt vzdialeností (prevedených na 1 a 0 pre bezpečné/nebezpečné), aby našla najširšiu súvislú cestu jednotiek „1". Na základe toho, kde sa táto najširšia cesta nachádza, funkcia vráti smer: „forward", „left" alebo „right". Hlavná slučka potom vykoná príslušnú akciu, otočí auto a znova skenuje, kým nie je cesta vpredu voľná.

Živý projekt/Demonštrácia

Video poskytuje dôkladnú ukážku projektu. Začína testovaním ultrazvukového senzora samostatne, aby ukázal, ako meria vzdialenosť a vypisuje hodnoty do shellu. Inštruktor potom vysvetľuje algoritmus vyhýbania sa prekážkam pomocou vývojového diagramu, pričom podrobne opisuje proces rozhodovania pri odbočovaní vľavo a vpravo. Nakoniec je auto umiestnené do malého bludiska vytvoreného z krabíc, aby demonštrovalo úplné správanie sa pri vyhýbaní sa prekážkam v praxi. Auto úspešne prechádza bludiskom, odbočuje vľavo a vpravo, aby našlo voľnú cestu vpred.

Kapitoly videa

  • [00:00] Úvod do vyhýbania sa prekážkam
  • [01:31] Prehľad súpravy inteligentného auta SunFounder a jej funkcií
  • [02:47] Ako funguje funkcia vyhýbania sa prekážkam
  • [03:34] Testovanie ultrazvukového senzora
  • [07:45] Vysvetlenie algoritmu vyhýbania sa prekážkam a vývojového diagramu
  • [12:49] Analýza hlavného kódu vyhýbania sa prekážkam
  • [15:43] Živá ukážka logiky vyhýbania sa prekážkam
  • [22:53] Záverečná ukážka s bludiskom prekážok
  • [24:35] Záver a ďalšie kroky
No code attached.

Resources & references

No resources yet.

Files📁

No files available.