Search Code

Kurz Lekcia 6 z 10: Ovládanie jednosmerných motorov pomocou Raspberry Pi Pico 4WD Smart Car Kit

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

Kurz Lekcia 6 z 10: Ovládanie jednosmerných motorov pomocou Raspberry Pi Pico 4WD Smart Car Kit

Tento projektový sprievodca je založený na lekcii 6 kurzu Robojax Raspberry Pi Pico Smart Car. V tejto časti sa naučíte, ako integrovať servomotor a ultrazvukový senzor na vytvorenie inteligentného systému na vyhýbanie sa prekážkam pre vaše 4WD auto. Namiesto jednoduchého zastavenia pri zistení objektu tento projekt premení vaše auto na mini autonómneho robota, ktorý aktívne skenuje svoje okolie, určuje najvoľnejšiu cestu a obchádza prekážky.

Toto nie je len teoretické cvičenie; je to základný projekt pre budovanie zložitejších robotických systémov. Tu je niekoľko praktických aplikácií tejto logiky vyhýbania sa prekážkam:

  • Autonómny prieskumný robot: Postavte robota, ktorý sa dokáže sám pohybovať po miestnosti alebo bludisku bez akéhokoľvek diaľkového ovládania.
  • Inteligentný vysávač: Použite rovnakú logiku na vytvorenie jednoduchého robotického vysávača, ktorý sa dokáže vyhýbať nábytku a stenám pri upratovaní podlahy.
  • Bezpečnostný hliadkovací robot: Naprogramujte auto na hliadkovanie po obvode a použite ultrazvukový senzor na detekciu a obchádzanie neočakávaných objektov.
  • Vzdelávacia robotická platforma: Použite to ako základ pre experimentovanie s pokročilejšími algoritmami na hľadanie ciest a fúziou senzorov.

Základnou myšlienkou je použiť servomotor na otáčanie ultrazvukového senzora, ktorý funguje ako „radar" skenujúci oblasť zľava doprava. Meraním vzdialeností v rôznych uhloch si auto dokáže vytvoriť mapu svojho bezprostredného okolia a rozhodnúť sa, či sa má pohybovať vpred, odbočiť doľava alebo doprava, aby našlo voľnú cestu (vo videu o 02:47).

Hardvér/Komponenty

Tento projekt je postavený okolo súpravy SunFounder Raspberry Pi Pico 4WD Smart Car Kit. Kľúčové komponenty použité v tejto lekcii sú:

  • Doska Raspberry Pi Pico
  • Podvozok 4WD Smart Car s motormi
  • Doska ovládača motora (súčasť súpravy)
  • Ultrazvukový senzor (typ HC-SR04)
  • Servomotor
  • Batériový blok

Sprievodca zapojením

Video spomína, že súprava obsahuje kompletnú dokumentáciu, podrobné pokyny a schémy zapojenia. Zapojenie serva a ultrazvukového senzora je zvyčajne pripojené k doske ovládača motora, ktorá konsoliduje pripojenia pre Pico.

Pozrite si prosím diagram nižšie pre konkrétne pripojenia pinov pre vašu súpravu.

Vysvetlenie kódu

Video sa zameriava na logiku v súbore obstacle_avoid.py. Zatiaľ čo plný kód je dostupný so súpravou, táto lekcia zdôrazňuje používateľom konfigurovateľné parametre, ktoré riadia správanie auta. Toto sú premenné, ktoré budete pravdepodobne chcieť upraviť na doladenie výkonu vášho robota.

Na začiatku hlavného programu nájdete kľúčové nastavenia, ktoré definujú správanie auta (vo videu o 13:07):

# Nastavenia vyhýbania sa prekážkam
RADAR_REFERENCE = 20  # Vzdialenosť v cm na považovanie objektu za prekážku
STEP_ANGLE = 10       # Stupne, o ktoré sa servo pohne pri každom kroku skenovania
FORWARD_SPEED = 30    # Rýchlosť motora pri pohybe vpred
TURN_SPEED = 50       # Rýchlosť motora pri otáčaní
FORWARD_SCAN_ANGLE = 50  # Stupne pre rýchle skenovanie dopredu
  • RADAR_REFERENCE: Toto je najdôležitejšie nastavenie. Definuje minimálnu bezpečnú vzdialenosť v centimetroch. Ak ultrazvukový senzor zistí objekt bližšie ako táto hodnota, auto to považuje za „nebezpečenstvo" a spustí rutinu vyhýbania sa (vo videu o 22:03).
  • STEP_ANGLE: Toto určuje rozlíšenie radarového skenovania. Menšia hodnota (napr. 10 stupňov) robí skenovanie presnejším, ale pomalším. Väčšia hodnota ho robí rýchlejším, ale menej detailným.
  • FORWARD_SPEED & TURN_SPEED: Toto sú hodnoty PWM (0-100), ktoré riadia výkon motorov. Môžete ich upraviť, aby ste zmenili, ako rýchlo auto jazdí vpred a ako rýchlo sa otáča (vo videu o 13:33).
  • FORWARD_SCAN_ANGLE: Po obídení prekážky auto vykoná rýchle skenovanie, aby sa uistilo, že cesta vpred je voľná. Táto premenná nastavuje uhol pre toto skenovanie. Hodnota 50 znamená, že skenuje od -25 do +25 stupňov vzhľadom na stred (vo videu o 13:40).

Živý projekt/Demonštrácia

Vo videu inštruktor demonštruje projekt v etapách. Najprv spustí jednoduchý test, aby ukázal, ako ultrazvukový senzor meria vzdialenosť a vypisuje hodnoty do shellu, čím potvrdzuje, že „0" predstavuje prekážku a „1" predstavuje voľnú cestu (vo videu o 03:48).

Potom vysvetlí vývojový diagram rozhodovania, ktorý je mozgom operácie. Auto používa funkciu nazvanú get_direction() na analýzu radarových údajov. Táto funkcia rozdeľuje údaje zo skenovania na segmenty voľného priestoru a identifikuje najširší z nich. Na základe toho, kde sa táto široká cesta nachádza (vľavo, v strede alebo vpravo), sa auto rozhodne, ktorým smerom sa otočí (vo videu o 11:19).

Nakoniec inštruktor postaví bludisko z prekážok a demonštruje, ako sa auto cez ne naviguje. Môžete vidieť, ako auto skenuje doľava a doprava, cúva, ak sa zasekne, a nakoniec nájde cestu cez prekážky bez akéhokoľvek manuálneho ovládania (vo videu o 22:53).

Kapitoly

  • [00:00] Úvod do vyhýbania sa prekážkam s autom Pico
  • [01:31] Prehľad funkcií súpravy a dokumentácie
  • [02:47] Demonštrácia funkcie vyhýbania sa prekážkam
  • [03:48] Testovanie ultrazvukového senzora a meranie vzdialenosti
  • [07:45] Vysvetlenie algoritmu vyhýbania sa prekážkam a vývojového diagramu
  • [12:49] Analýza hlavného kódu pre vyhýbanie sa prekážkam
  • [15:50] Živá ukážka kódu a interpretácia údajov
  • [18:11] Hlbší pohľad na logiku určovania smeru a otáčania
  • [22:53] Záverečný živý test s bludiskom prekážok
No code attached.

Resources & references

No resources yet.

Files📁

No files available.