Mundarija:
Video: Localino Roomba IRobot -ni kuzatib boradi, atrof -muhitni xaritaga kiritadi va nazorat qilish imkonini beradi: 4 qadam
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:28
WiFi-UART ko'prigini qurish uchun siz github repo-ni tekshirishingiz mumkin:
Buni boshlash uchun yaxshi asos bor. Qo'llanmani yaxshi o'qiganingizga ishonch hosil qiling, chunki zaryadlash paytida Roomba VCC 20 voltgacha ko'tariladi! Agar siz ESP8266-ni mos keladigan pul o'tkazgichisiz qo'shsangiz, u hatto 20Vgacha ishlaydi va 3.3V ga pastga o'zgartiradi, siz ESP-ga zarar etkazasiz.
5V UART mantiq darajasini ESP tomonidan ishlatilgan Roomba -dan 3.3V -ga o'tkazish uchun, shuningdek, daraja almashtirgichidan (masalan, kuchlanish taqsimlagichidan) foydalaning.
Yana bir muhim tafsilot shundaki, konvertor 300mA ga ega bo'lishi kerak, lekin undan kam yoki ko'p emas (konvertorning o'ziga bog'liq). Ba'zilar borki, ular ko'proq oqim o'tkaza oladilar, lekin Roomba qulab tushishiga olib keladi, chunki ular ishga tushirish vaqtida juda ko'p oqim tortadi. Biz bildikki, Pololu 3.3V, 300mA pastga tushadigan kuchlanish regulyatori (D24V3F3) juda zo'r ishlaydi. 500mA / 600mA bo'lgan muqobil versiyalar Roomba UART interfeysining ishdan chiqishiga olib keldi. Asosan, Roomba tugmalarni bosish bilan javob berdi, lekin UART interfeysi orqali buyruqlarga emas. Bu sodir bo'lgach, biz Roomba batareyasini olib tashlashimiz va WiFi-UART ko'prigi ulangan holda Roombani sovuq qaytadan ishga tushirishimiz kerak edi. Biroq, faqat D24V3F3 yaxshi ishladi.
Texnik tafsilotlardan tashqari, siz kodga Roomba ochiq interfeysining texnik xususiyatlaridan topishingiz mumkin bo'lgan qo'shimcha buyruqlarni qo'shishingiz kerak. Siz xonangizga javob berishni xohlagan barcha buyruqlarni kiritishingiz kerak bo'ladi (masalan, orqaga, oldinga, tezlik va boshqalar).
arduino IDE ichidagi misollar:
void goForward () {char c = {137, 0x00, 0xc8, 0x80, 0x00}; // 0x00c8 == 200 Serial.print (c); }
void goBackward () {char c = {137, 0xff, 0x38, 0x80, 0x00}; // 0xff38 == -200 Serial.print (c); }
bo'sh spinLeft () {char c = {137, 0x00, 0xc8, 0x00, 0x01}; Ketma -ket chop etish (c); }
bo'sh spinRight () {char c = {137, 0x00, 0xc8, 0xff, 0xff}; Ketma -ket chop etish (c); }
agar siz lua bilan yozsangiz, bu biroz boshqacha ko'rinadi, chapga burilish misoli shunday bo'ladi:
agar (_GET.pin == "LEFT") keyin chop eting ('\ 137'); --VOR
tmr.delay (100);
chop etish ('\ 00'); -Tezlik = 200 = 0x00C8 -> 0 va 200
tmr.delay (100);
bosib chiqarish ('\ 200'); - Tezlik
tmr.delay (100);
chop etish ('\ 254'); - Radius = 500 = 0x01F4 = 0x01 0xF4 = 1244
tmr.delay (100);
bosib chiqarish ('\ 12'); - Burilish
oxiri
Roomba uchun ochiq interfeys tavsifini to'g'rilashingizga ishonch hosil qiling. Kamida ikkita ochiq interfeys spetsifikatsiyasi mavjud.
Roomba 5xx seriyasi uchun:
Roomba 6xx seriyasi uchun:
WiFi-UART ko'prigini qurganingizdan va buyruqlarni sinab ko'rganingizdan so'ng, siz katta qadam tashladingiz. Bu video dastur va yondashuv ishlayotganini ko'rsatadi. Biz biroz dangasa edik, veb -interfeysda oldinga, orqaga, tezlikka, o'ngga, chapga va boshqalarga o'xshash boshqa boshqaruv buyruqlari yo'q, lekin siz buyruqlarni http orqali berishingiz mumkin. Qanday bo'lmasin, bu Roomba -ning masofadan boshqarish pulti ESP8266 yordamida oson apparat va dasturiy ta'minot bilan ishlashining ko'rsatuvidir.
Endi siz Roomba -ni kompyuter dasturidan masofadan boshqarishingiz mumkin, chunki etishmayotgan yagona narsa - bu ichki lokalizatsiya. Bu bizga teskari aloqa davrasini yopish uchun kerak, chunki bizning maqsadimiz robotni ma'lum bir yo'nalishga yo'naltirish edi. Keling buni qilamiz.
3 -qadam: yopiq lokalizatsiya tizimini o'rnating
Qayta aloqa tizimini yopish uchun biz yopiq lokalizatsiya tizimidan foydalanamiz. Buning uchun Localino -dan foydalanamiz. Localino tizimi "langarlar" va "teglar" dan iborat. Ankrajlar xona ichidagi aniq joylarga joylashtiriladi va harakatlanuvchi tegning joylashishini aniqlaydi (u Roombaga joylashtirilgan). Joylashuvni qayta ishlash kompyuter dasturida amalga oshiriladi. Bu katta afzallik, chunki siz Roomba -ni bitta kompyuterdan boshqarishingiz mumkin! Localino veb-saytida bepul manba kodi mavjud, u pythonda yozilgan, shuningdek, tegning XYZ koordinatalarini taklif qiladigan real vaqtda oqim mavjud. Ma'lumotlar oqimi UDP tarmog'i orqali mavjud, lekin siz MQTT yoki sizga yoqadigan boshqa narsalarni qo'shishingiz mumkin. Agar siz Python -ni bilsangiz, sizga yordam beradigan ko'plab kutubxonalar mavjud.
Ushbu videoda Roombaning lokalizatsiyasi ko'rsatilgan. Shunday qilib, bizda xonada 4 ta langar o'rnatiladi, bu Roomba -ni 3D joylashuvini aniqlash imkonini beradi. Umuman olganda, bizga faqat 3 ta langar kerak bo'ladi, chunki Roomba ehtimol Z o'qida harakat qilmaydi, shuning uchun 2D etarli bo'ladi. Langarlar AC asosiy vilkalari balandligida joylashganligi sababli (erdan taxminan 30 sm balandlikda), 2D o'rnatish joyni aniqlashda xatolarga olib keladi. Shunday qilib, biz 4 ta langarga ega bo'lishga va 3D formatida lokalizatsiya qilishga qaror qildik.
Endi biz Roomba -ning pozitsiyasiga ega bo'lganimizda, keyingi qadamimiz - Roombani xuddi shu ilovadan boshqarishdir. Maqsad - bu haqiqatdan foydalanish va robot uchun mukammal tozalash yo'lini baholash. Localino yordamida biz teskari aloqa davrini yopamiz va kompyuter dasturidan robotni boshqaramiz.
O'rnatish izohlari
Localino langarlarini xona ichidagi har xil x, y va uchtasini bir xil z pozitsiyasiga joylashtiring. Har bir z balandlikdagi to'rtta langardan birini joylashtiring. Roomba bilan harakatlanadigan Localino tegidan yaxshi qamrov mavjudligiga ishonch hosil qiling.
Barcha langarlarning identifikatori identifikatorga ega, u Localino shtrix -kodida ko'rsatiladi va uni "localino konfiguratsiyasi" vositasi yordamida o'qish mumkin.
X, Y, Z va langar identifikatorlari pozitsiyalariga e'tibor bering. Bu Localino protsessor dasturiy ta'minoti uchun talab qilinadi va "LocalinoProcessor" papkasidagi "localino.ini" fayliga moslashtirilishi kerak.
Ankrajlar Z bilan yuqoriga yoki pastga ishora qilishi kerak (XY maydoni yopilganda), lekin yopiq maydon yo'nalishi bo'yicha emas. Langarlar metall yoki boshqa simsiz signalni bezovta qiladigan materiallar bilan yopilmasligi kerak. Agar buning iloji bo'lmasa, har qanday material va langar o'rtasida ma'lum bir havo bo'shlig'i bo'lishi kerak.
… yana oldinda.
4 -qadam: Python dasturini moslashtiring
yangiliklarni kuzatib boring, xabardor bo'lib boring; Biz bilan qoling. yana keladi.
Tavsiya:
Raspberry Pi yopiq iqlimni nazorat qilish va nazorat qilish tizimi: 6 qadam
Raspberry Pi yopiq iqlimni nazorat qilish va nazorat qilish tizimi: Odamlar o'z uylarida qulay bo'lishni xohlashadi. Bizning hududimizdagi iqlim o'zimizga mos kelmasligi uchun, biz sog'lom ichki muhitni saqlash uchun ko'plab asboblardan foydalanamiz: isitgich, havo sovutgichi, namlagich, namlagich, tozalash moslamasi va boshqalar. Hozirgi kunda bu
Xaritaga oid maslahatlar: 3 qadam
Xaritaga oid maslahatlar: Qaysi faoliyatingiz bo'lishidan qat'i nazar, piyoda, piyoda, velosipedda yoki hatto haydashda, siz olgan marshrutlarni yozib olishingiz mumkin. Keyin siz ushbu yo'llarni do'stlaringiz va oilangiz bilan bo'lishishingiz mumkin. Bundan tashqari, siz yozib olingan marshrut yordamida siz xohlagan rasmlarga joy qo'shishingiz mumkin
13003 tranzistoridan foydalangan holda kuchlanish nazorat qilish sxemasini qanday qilish kerak: 6 qadam
13003 tranzistorli kuchlanish nazorat qilish sxemasini qanday qilish kerak: do'stim, bugun men o'zgaruvchan kuchlanishli elektr ta'minotini ta'minlaydigan kuchlanish nazorat qilish sxemasini yaratmoqchiman. Elektron loyihalarni ishlab chiqsak, kontaktlarning zanglashiga olib kelishi uchun bizga har xil kuchlanish kerak bo'ladi. Men buni qilmoqchiman
Elektr tezligini nazorat qilish uchun alternativ nazorat signallari generatori (ESC): 7 qadam
Elektr tezligini boshqarish uchun alternativ nazorat signallari generatori (ESC): Bir muncha vaqt oldin men YouTube kanalimda shamol turbinini yasashni ko'rsatgan videoni (https://www.youtube.com/watch?v=-4sblF1GY1E) e'lon qilganman. cho'tkasi bo'lmagan shahar motoridan. Men videoni ispan tilida qildim va bu dvigatel unga berilganligini tushuntirdi
Hisoblagich uchun atrof -muhit yoritgichini qanday qilish kerak: 6 qadam
Hisoblagichingiz uchun qanday muhit chirog'ini yasash mumkin: bu sizning kompyuteringizga atrof -muhit yoritilishini beradigan oddiy loyiha. Bu, albatta, sizning hisoblagichlaringiz ham olinadigan, ham ventilyatsiya qilingan bo'lishi kerak, shuning uchun ularga kirish va yorug'likni ko'rish yo'lini beradi