Obsah:
Video: Localino sleduje Roomba IRobot, mapuje prostredie a umožňuje ovládanie .: 4 kroky
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 12:00
Ak chcete postaviť most WiFi-UART, môžete sa pozrieť na toto repo servera github:
Na začiatok to má pekný základ. Uistite sa, že ste si dobre prečítali pokyny, pretože Roomba VCC sa počas nabíjania zvyšuje až na 20 voltov! Ak pridáte ESP8266 bez riadneho prevodníka buck, ktorý funguje dokonca až do 20 V a down-konvertuje na 3,3 V, poškodíte svoje ESP.
Nezabudnite tiež použiť radič úrovní (napr. Pomocou deliča napätia) na posunutie 5V logických úrovní UART z robota Roomba na 3,3 V, ktoré používa ESP.
Ďalším dôležitým detailom je, že prevodník buck by mal mať 300 mA, ale oveľa menej alebo oveľa viac (v závislosti od samotného prevodníka buck). Existujú niektoré, ktoré môžu robiť oveľa viac prúdu, ale spôsobujú poruchu robota Roomba, pretože pri spustení odoberajú príliš veľa prúdu. Zistili sme, že Pololu 3,3 V, 300 mA regulátor napätia (D24V3F3) funguje perfektne. Alternatívne verzie, ktoré majú 500mA / 600mA, spôsobili zlyhanie rozhrania Roomba UART. Roomba v zásade reagovala na stlačenie tlačidla, ale nie na príkazy cez rozhranie UART. Akonáhle sa to stalo, museli sme vybrať batériu Roomba a reštartovať Roombu za studena s pripojeným mostíkom WiFi-UART. Dobre však fungoval iba D24V3F3.
Okrem týchto technických podrobností musíte do kódu pridať ďalšie príkazy, ktoré nájdete v špecifikáciách otvoreného rozhrania Roomba. Budete musieť pridať všetky príkazy, na ktoré chcete, aby váš robot Roomba reagoval (napríklad dozadu, dopredu, rýchlosť atď.).
príklady v arduino IDE:
void goForward () {char c = {137, 0x00, 0xc8, 0x80, 0x00}; // 0x00c8 == 200 Serial.print (c); }
neplatné goBackward () {char c = {137, 0xff, 0x38, 0x80, 0x00}; // 0xff38 == -200 Serial.print (c); }
neplatný spinLeft () {char c = {137, 0x00, 0xc8, 0x00, 0x01}; Serial.print (c); }
neplatné spinRight () {char c = {137, 0x00, 0xc8, 0xff, 0xff}; Serial.print (c); }
Ak píšete lua, vyzerá to trochu inak, príklad ľavého odbočenia by vyzeral takto:
if (_GET.pin == "LEFT") then print ('\ 137'); --VOR
tmr.zdržanie (100);
tlač ('\ 00'); -Rýchlosť = 200 = 0x00C8 -> 0 a 200
tmr.zdržanie (100);
tlač ('\ 200'); - Rýchlosť
tmr.zdržanie (100);
tlač ('\ 254'); - Polomer = 500 = 0x01F4 = 0x01 0xF4 = 1 244
tmr.zdržanie (100);
tlač ('\ 12'); - Otoč sa
koniec
Uistite sa, že ste opravili popis otvoreného rozhrania pre svoju Roomba. K dispozícii sú najmenej dve špecifikácie otvoreného rozhrania.
pre sériu Roomba 5xx:
pre sériu Roomba 6xx:
Akonáhle postavíte svoj most WiFi-UART a vyskúšate si príkazy, urobili ste veľký krok ďalej. Toto video ukazuje, že aplikácia a prístup fungujú. Boli sme trochu leniví, vo webovom rozhraní chýbajú všetky ostatné ovládacie príkazy, ako napríklad dopredu, dozadu, rýchlosť, doprava, doľava a podobne, ale príkazy môžete zadávať prostredníctvom http. Každopádne je to len ukážka toho, že diaľkové ovládanie Roomba funguje s jednoduchým hardvérom a softvérom pomocou ESP8266.
Teraz, keď môžete Roombu ovládať na diaľku z PC aplikácie, chýba už len vnútorná lokalizácia. Potrebujeme to na uzavretie slučky spätnej väzby, pretože naším cieľom bolo nasmerovať robota do určitého smeru. Poďme to spraviť.
Krok 3: Nastavte svoj vnútorný lokalizačný systém
Na uzatvorenie spätnej väzby používame vnútorný lokalizačný systém. Na to používame Localino. Systém Localino sa skladá z „kotiev“a „značiek“. Kotvy sú umiestnené na pevných miestach vo vnútri miestnosti a lokalizujú polohu pohyblivého štítku (ktorý je umiestnený na robote Roomba). Spracovanie polohy sa vykonáva v počítačovej aplikácii. To je veľká výhoda, pretože Roombu môžete ovládať aj z rovnakého počítača! Na webovej stránke Localino je k dispozícii bezplatný zdrojový kód, je napísaný v jazyku Python a je k dispozícii aj stream v reálnom čase, ktorý ponúka súradnice XYZ značky. Dátový tok je k dispozícii prostredníctvom siete UDP, ale môžete tiež pridať MQTT alebo akékoľvek iné obľúbené položky, ktoré sa vám páčia. Ak poznáte Python, existuje veľa knižníc, ktoré vám pomôžu.
V tomto videu je demonštrovaná lokalizácia robota Roomba. Preto máme v miestnosti na pevných miestach nainštalované 4 kotvy, ktoré umožňujú 3D polohovanie Roomby. Vo všeobecnosti by sme požadovali iba 3 kotvy, pretože Roomba sa pravdepodobne nebude pohybovať v osi Z, preto by stačilo 2D. Pretože sú však kotvy umiestnené vo výške hlavných konektorov striedavého prúdu (čo je približne 30 cm nad zemou), 2D nastavenie by spôsobilo malé chyby pri odhadovaní polohy. Preto sme sa rozhodli mať 4 kotvy a lokalizovať v 3D.
Keď už máme pozíciu robota Roomba, ďalším krokom je ovládanie robota Roomba z tej istej aplikácie. Cieľom je použiť základnú pravdu a odhadnúť perfektnú čistiacu cestu pre robota. Použitím Localina môžeme uzavrieť spätnoväzbovú slučku a ovládať robota z PC aplikácie.
Poznámky k inštalácii
Umiestnite kotvy Localino do miestnosti v rôznych polohách x, y a tri z nich v rovnakej polohe z. Umiestnite jednu zo štyroch kotiev do inej výšky z na izbu. Zaistite dobré pokrytie zo značky Localino, ktorá sa bude pohybovať spolu s robotom Roomba.
Všetky kotvy majú jedinečné ID ukotvenia, ktoré je zobrazené na čiarovom kóde Localino a je možné ho načítať pomocou nástroja „konfigurácia localino“.
Poznamenajte si polohy v X, Y, Z a ID kotvy. Vyžaduje sa to pre procesorový softvér Localino a musí sa prispôsobiť v súbore „localino.ini“v priečinku „LocalinoProcessor“
Kotvy by mali smerovať nahor alebo nadol v Z (keď je oblasť XY zakrytá), ale nie v smere krytej oblasti. Kotvy by tiež nemali byť zakryté kovom alebo iným materiálom, ktorý ruší bezdrôtový signál. Ak to nie je možné, medzi akýmkoľvek materiálom a kotvou by mala byť aj určitá vzduchová medzera.
…čaká nás viac.
Krok 4: Prispôsobte softvér Python
Zostaňte naladení. čaká nás viac.
Odporúča:
S.H.I.E.L.D - Sleduje vás niekto?: 4 kroky (s obrázkami)
S.H.I.E.L.D - Sleduje vás niekto ?: Videl som veľa videí zahanbených ľudí, keď si nevšimli, že majú zapnutý mikrofón alebo kameru, a to mi dalo nápad na tento projekt. Napísal som jednoduchú aplikáciu v C#, ktorá detekuje, kedy sa používa kamera alebo mikrofón
ESP8266 RGB LED STRIP WIFI ovládanie - NODEMCU Ako IR diaľkové ovládanie pre LED pás ovládané cez Wifi - Ovládanie smartfónu RGB LED STRIP: 4 kroky
ESP8266 RGB LED STRIP WIFI ovládanie | NODEMCU Ako IR diaľkové ovládanie pre LED pás ovládané cez Wifi | Ovládanie smartfónu RGB LED STRIP: Ahoj, v tomto návode sa naučíme, ako používať nodemcu alebo esp8266 ako IR diaľkové ovládanie na ovládanie RGB LED pásu a Nodemcu budete ovládať smartfónom cez wifi. V zásade teda môžete RGB LED STRIP ovládať pomocou svojho smartfónu
LED lampa Lotus (udržateľné prírodné prostredie): 4 kroky
LED lampa Lotus (prírodné prostredie udržateľnosti): Abstrakt: Lampa tvaru podobného známemu lotosovému kvetu. Myšlienka žiarovky je, že môže byť použitá v rôznych konfiguráciách v závislosti od preferencií koncových používateľov, pretože bude mať žiariace svetlo, keď (Lotus flo
Umožňuje vytvoriť aplikáciu s rozšírenou realitou pre MEMES !: 8 krokov
Umožňuje vytvoriť aplikáciu s rozšírenou realitou pre MEMES !: V tomto návode vytvoríme aplikáciu pre rozšírenú realitu pre Android a IOS v Unity3D, ktorá používa rozhranie Google API na vyhľadávanie mémov. V Unity použijeme detekciu pozemnej roviny Vuforie, aby táto mobilná aplikácia fungovala pre
Wi-Fi umožňuje takmer čokoľvek: 4 kroky
Wi-Fi umožňuje takmer čokoľvek: Ak ste Blynk nikdy predtým nepoužívali, mali by ste to skontrolovať. Tento výtvor sa dá použiť na veľa vecí - nielen na lávovú lampu. Môžete si to nechať zapnúť kávovar ráno alebo vytvoriť automatické nočné svetlo. Naozaj však len