Obsah:
Video: Localino sleduje Roomba IRobot, mapuje prostředí a umožňuje ovládání: 4 kroky
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:23
Chcete-li vytvořit most WiFi-UART, můžete se podívat na toto repo github:
Na začátek to má pěkný základ. Ujistěte se, že jste si dobře přečetli pokyny, protože Roomba VCC se během nabíjení zvyšuje až na 20 voltů! Pokud přidáte ESP8266 bez správného převodníku buck, který funguje dokonce až do 20 V a převede dolů na 3,3 V, poškodíte svůj ESP.
Ujistěte se také, že používáte posunovač úrovně (např. Pomocí děliče napětí) k posunu logických úrovní 5V UART z Roomby na 3,3V, které používá ESP.
Dalším důležitým detailem je, že převodník buck by měl mít 300mA, ale mnohem méně nebo mnohem více (v závislosti na samotném převodníku buck). Tam jsou některé, které mohou dělat mnohem více proudu, ale způsobit, že se Roomba zhroutí, protože během spouštění odebírají příliš mnoho proudu. Zjistili jsme, že Pololu 3.3V, 300mA regulátor napětí (D24V3F3) funguje perfektně. Alternativní verze, které mají 500mA / 600mA, způsobily zhroucení rozhraní Roomba UART. Roomba v zásadě reagovala na stisknutí tlačítka, ale ne na příkazy přes rozhraní UART. Jakmile se to stalo, museli jsme vyjmout baterii Roomba a restartovat Roombu s připojeným mostem WiFi-UART za studena. Dobře však fungoval pouze D24V3F3.
Kromě tohoto technického detailu musíte do kódu přidat další příkazy, které najdete ve specifikacích otevřeného rozhraní Roomba. Budete muset přidat všechny příkazy, na které chcete, aby vaše robota Roomba reagovala (například zpět, vpřed, rychlost atd.).
pří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); }
pokud píšete lua, vypadá to trochu jinak, příklad pro LEVOU zatáčku by vypadal takto:
if (_GET.pin == "LEFT") then print ('\ 137'); --VOR
tmr. zpoždění (100);
tisk ('\ 00'); -Rychlost = 200 = 0x00C8 -> 0 a 200
tmr. zpoždění (100);
tisk ('\ 200'); - Rychlost
tmr. zpoždění (100);
tisk ('\ 254'); - Rádius = 500 = 0x01F4 = 0x01 0xF4 = 1 244
tmr. zpoždění (100);
tisk ('\ 12'); -- Otáčet se
konec
Ujistěte se, že jste u svého robota Roomba opravili popis otevřeného rozhraní. K dispozici jsou nejméně dvě specifikace otevřeného rozhraní.
pro řadu Roomba 5xx:
pro řadu Roomba 6xx:
Jakmile vytvoříte most WiFi-UART a vyzkoušíte příkazy, udělali jste velký krok dále. Toto video ukazuje, že aplikace a přístup fungují. Byli jsme trochu líní, ve webovém rozhraní chybí všechny ostatní ovládací příkazy, jako vpřed, vzad, rychlost, vpravo, vlevo atd., Ale příkazy můžete zadávat prostřednictvím http. Každopádně je to jen ukázka toho, že dálkové ovládání Roomby funguje na jednoduchém hardwaru a softwaru pomocí ESP8266.
Nyní, když můžete Roombu ovládat na dálku z PC aplikace, chybí už jen vnitřní lokalizace. Potřebujeme to k uzavření zpětnovazební smyčky, protože naším cílem bylo nasměrovat robota do určitého směru. Pojďme to udělat.
Krok 3: Nastavte svůj vnitřní lokalizační systém
K uzavření smyčky zpětné vazby používáme vnitřní lokalizační systém. K tomu používáme Localino. Systém Localino se skládá z „kotev“a „štítků“. Kotvy jsou umístěny na pevných místech uvnitř místnosti a vyhledávají polohu pohyblivého štítku (který je umístěn na robotě Roomba). Zpracování polohy se provádí v počítačové aplikaci. To je velká výhoda, protože Roombu můžete ovládat také ze stejného počítače! Na webových stránkách Localino je k dispozici bezplatný zdrojový kód, je napsán v pythonu a k dispozici je také stream v reálném čase, který nabízí souřadnice XYZ značky. Datový tok je k dispozici prostřednictvím sítě UDP, ale můžete také přidat MQTT nebo jiné fantazie, které se vám líbí. Pokud znáte Python, existuje spousta knihoven, které vám pomohou.
V tomto videu je ukázána lokalizace robota Roomba. Proto máme v místnosti na pevných místech 4 kotvy, které umožňují 3D polohování Roomby. Obecně bychom požadovali pouze 3 kotvy, protože Roomba se pravděpodobně nebude pohybovat v ose Z, proto by 2D stačilo. Protože jsou však kotvy umístěny ve výšce hlavních zástrček střídavého proudu (což je přibližně 30 cm nad zemí), způsobilo by 2D nastavení malé chyby v odhadu polohy. Rozhodli jsme se tedy mít 4 kotvy a lokalizovat ve 3D.
Nyní, když máme pozici Roomby, je naším dalším krokem ovládání Roomby ze stejné aplikace. Cílem je použít základní pravdu a odhadnout perfektní čisticí cestu pro robota. Pomocí Localino můžeme uzavřít zpětnovazební smyčku a ovládat robota z PC aplikace.
Poznámky k nastavení
Umístěte kotvy Localino uvnitř místnosti do různých poloh x, y a tři z nich do stejné polohy z. Umístěte jednu ze čtyř kotev do jiné výšky z na místnost. Zajistěte dobré pokrytí tagem Localino, který se bude pohybovat s robotem Roomba.
Všechny kotvy mají jedinečné ID ukotvení, které je zobrazeno na čárovém kódu Localino a lze je načíst pomocí nástroje „localino configuration“.
Poznamenejte si pozice v X, Y, Z a ID kotvy. To je vyžadováno pro procesorový software Localino a musí být upraveno v souboru „localino.ini“ve složce „LocalinoProcessor“
Kotvy by měly směřovat nahoru nebo dolů v Z (když je oblast XY pokryta), ale ne ve směru kryté oblasti. Kotvy by také neměly být kryty kovem nebo jiným materiálem narušujícím bezdrátový signál. Pokud to není možné, měla by také existovat určitá vzduchová mezera mezi jakýmkoli materiálem a kotvou.
… Další.
Krok 4: Přizpůsobte software Pythonu
zůstaňte naladěni. další přijít.
Doporučuje:
S.H.I.E.L.D - Sleduje vás někdo?: 4 kroky (s obrázky)
SHI. Napsal jsem jednoduchou aplikaci v C#, která detekuje, kdy se používá kamera nebo mikrofon
MyPetBot (robot, který vás sleduje): 10 kroků (s obrázky)
MyPetBot (Bot, který vás sleduje): Ai je jednou z nejkrásnějších aplikací matematiky. Je to v podstatě spousta operací s maticemi optimalizovaných tak, aby odpovídaly výsledku, který hledáte. Naštěstí existuje spousta open source nástrojů, které nám umožňují toho využít. Původně jsem
ESP8266 RGB LED STRIP WIFI ovládání - NODEMCU jako IR dálkový ovladač pro LED pásek ovládaný přes Wifi - RGB LED STRIP Smartphone Ovládání: 4 kroky
ESP8266 RGB LED STRIP WIFI ovládání | NODEMCU jako IR dálkový ovladač pro LED pásek ovládaný přes Wifi | Ovládání smartphonu RGB LED STRIP: Ahoj kluci, v tomto tutoriálu se naučíme, jak používat nodemcu nebo esp8266 jako IR dálkové ovládání k RGB LED pásku a Nodemcu bude ovládat pomocí smartphonu přes wifi. V zásadě tedy můžete RGB LED STRIP ovládat pomocí svého smartphonu
Hlava pana Wallplateho vás sleduje: 9 kroků (s obrázky)
Hlava Mr. Wallplate vás sleduje: Toto je pokročilejší verze robota Mr. Wallplate’s Eye Illusion Robot https://www.instructables.com/id/Mr-Wallboards-Eye-Illusion. Ultrazvukový senzor umožňuje hlavě pana Wallplateho sledovat vás, když jdete před ním. Proces lze shrnout
Dálkové ovládání X10 v novém prostředí: 10 kroků
Dálkové ovládání X10 v novém prostředí: Toto je dálkový ovladač klíčů X-10, který jsem před lety dostal od společnosti RadioShack. Tahle ošklivá věc seděla v šuplíku, protože jsem ji dostal. Nebudu se hlouběji zabývat tím, jak X-10 funguje. Pokud nevíte, proveďte vyhledávání na Googlu. Tato konkrétní