Satura rādītājs:
Video: Localino izseko Roomba IRobot, kartē vidi un ļauj kontrolēt .: 4 soļi
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:57
Lai izveidotu WiFi-UART tiltu, varat pārbaudīt šo github repo:
Sākumam tam ir jauks pamats. Noteikti izlasiet vadlīnijas, jo Roomba VCC uzlādes laikā palielinās līdz 20 voltiem! Ja pievienosit ESP8266 bez atbilstoša buck-converter, kas darbojas pat līdz 20 V un pārvērš līdz 3.3 V, jūs sabojāsit savu ESP.
Noteikti izmantojiet arī līmeņa pārslēdzēju (piemēram, izmantojot sprieguma dalītāju), lai pārvietotu 5V UART loģikas līmeņus no Roomba uz 3.3V, ko izmanto ESP.
Vēl viena svarīga detaļa ir tāda, ka buks pārveidotājam vajadzētu būt 300 mA, bet daudz mazāk vai daudz vairāk (atkarībā no paša buks pārveidotāja). Ir daži, kas var radīt daudz lielāku strāvu, bet var izraisīt Roomba avāriju, jo tie iedarbina pārāk daudz strāvas palaišanas laikā. Mēs noskaidrojām, ka Pololu 3.3V, 300mA pazemināmā sprieguma regulators (D24V3F3) darbojas vienkārši perfekti. Alternatīvās versijas ar 500mA / 600mA izraisīja Roomba UART saskarnes avāriju. Būtībā Roomba reaģēja uz pogas nospiešanu, bet ne uz komandām, izmantojot UART saskarni. Kad tas notika, mums bija jāizņem Roomba akumulators un auksti jārestartē Roomba ar pievienotu WiFi-UART tiltu. Tomēr tikai D24V3F3 strādāja labi.
Papildus šai tehniskajai detaļai kodam jāpievieno papildu komandas, kuras varat atrast Roomba atvērtās saskarnes specifikācijās. Jums būs jāpievieno visas komandas, uz kurām vēlaties, lai jūsu roomba reaģētu (piemēram, atpakaļ, uz priekšu, ātrumu utt.).
piemēri arduino IDE:
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); }
void spinLeft () {char c = {137, 0x00, 0xc8, 0x00, 0x01}; Sērijas nospiedums (c); }
void spinRight () {char c = {137, 0x00, 0xc8, 0xff, 0xff}; Sērijas nospiedums (c); }
ja rakstāt lua valodā, tas izskatās nedaudz savādāk, pagrieziens pa kreisi varētu izskatīties šādi:
ja (_GET.pin == "LEFT"), tad izdrukā ('\ 137'); -VOR
tmr.delay (100);
drukāt ('\ 00'); -Ātrums = 200 = 0x00C8 -> 0 un 200
tmr.delay (100);
drukāt ('\ 200'); - Ātrums
tmr.delay (100);
drukāt ('\ 254'); - rādiuss = 500 = 0x01F4 = 0x01 0xF4 = 1 244
tmr.delay (100);
drukāt ('\ 12'); - Pagriezieties
beigas
Pārliecinieties, vai Roomba atvērtā interfeisa apraksts ir jālabo. Ir pieejamas vismaz divas atvērtās saskarnes specifikācijas.
Roomba 5xx sērijai:
Roomba 6xx sērijai:
Kad esat izveidojis savu WiFi-UART tiltu un pārbaudījis komandas, ko veicāt, soli tālāk. Šis video parāda, ka lietojumprogramma un pieeja darbojas. Mēs bijām nedaudz slinki, tīmekļa saskarnē trūkst visu pārējo vadības komandu, piemēram, uz priekšu, atpakaļ, ātruma, pa labi, pa kreisi un tā tālāk, bet jūs varat izdot komandas, izmantojot http. Jebkurā gadījumā tas ir tikai pierādījums tam, ka Roomba tālvadības pults darbojas ar vienkāršu aparatūru un programmatūru, izmantojot ESP8266.
Tagad, kad jūs varat attālināti vadīt savu Roomba no datora lietojumprogrammas, trūkst tikai iekštelpu lokalizācijas. Tas ir nepieciešams, lai aizvērtu atgriezenisko saiti, jo mūsu mērķis bija virzīt robotu noteiktā virzienā. Darām to.
3. darbība: iestatiet iekštelpu lokalizācijas sistēmu
Lai aizvērtu atgriezenisko saiti, mēs izmantojam iekštelpu lokalizācijas sistēmu. Šim nolūkam mēs izmantojam Localino. Localino sistēma sastāv no "enkuriem" un "tagiem". Enkuri ir novietoti fiksētās vietās telpas iekšpusē un atrod kustīgās birkas (kas novietota uz Roomba) pozīciju. Atrašanās vietas apstrāde tiek veikta datora lietojumprogrammā. Tam ir liela priekšrocība, jo jūs varat arī kontrolēt Roomba no tā paša datora! Vietnē Localino ir pieejams bezmaksas avota kods, tas ir rakstīts python, un ir pieejama arī reāllaika straume, kas piedāvā taga XYZ koordinātas. Datu plūsma ir pieejama, izmantojot UDP tīklu, taču varat pievienot arī MQTT vai citas izdomātas lietas, kas jums patīk. Ja jūs zināt Python, jums ir daudz bibliotēku, kas jums palīdz.
Šajā video ir parādīta Roomba lokalizācija. Tāpēc mums telpā ir uzstādīti 4 enkuri fiksētās vietās, kas ļauj Roomba 3D pozicionēt. Kopumā mums būtu nepieciešami tikai 3 enkuri, jo Roomba, iespējams, nepārvietosies Z asī, tāpēc pietiek ar 2D. Bet, tā kā enkuri atrodas maiņstrāvas galveno kontaktdakšu augstumā (kas ir aptuveni 30 cm virs zemes), 2D iestatīšana radītu mazas atrašanās vietas novērtēšanas kļūdas. Tāpēc mēs nolēmām iegūt 4 enkurus un lokalizēties 3D formātā.
Tagad, kad mums ir Roomba pozīcija, mūsu nākamais solis ir kontrolēt Roomba no tās pašas lietojumprogrammas. Ideja ir izmantot patiesību un novērtēt robota perfektu tīrīšanas ceļu. Izmantojot Localino, mēs varam aizvērt atgriezenisko saiti un vadīt robotu no datora lietojumprogrammas.
Iestatīšanas piezīmes
Novietojiet Localino enkurus telpā dažādās x, y pozīcijās un trīs no tiem vienā un tajā pašā z pozīcijā. Novietojiet vienu no četriem enkuriem citā augstumā z katrā istabā. Pārliecinieties, vai ir labs pārklājums no Localino taga, kas tiks pārvietots kopā ar Roomba.
Visiem enkuriem ir unikāls enkura ID, kas tiek parādīts Localino svītrkodā un ko var nolasīt, izmantojot rīku “localino configuration”.
Ievērojiet pozīcijas X, Y, Z un enkura ID. Tas ir nepieciešams Localino procesora programmatūrai, un tas ir jāpielāgo mapē “LocalinoProcessor” esošajā failā “localino.ini”.
Enkuriem jābūt vērstiem uz augšu vai uz leju Z (ja XY zona ir pārklāta), bet ne segtās zonas virzienā. Arī enkurus nedrīkst pārklāt ar metālu vai citiem bezvadu signālu traucējošiem materiāliem. Ja tas nav iespējams, starp jebkuru materiālu un enkuru jābūt arī noteiktai gaisa spraugai.
… Gaidāms vēl.
4. darbība: pielāgojiet Python programmatūru
sekojiet līdzi. vēl būs.
Ieteicams:
Ar vietni kontrolēta Ziemassvētku eglīte (ikviens to var kontrolēt): 19 soļi (ar attēliem)
Ar vietni kontrolēta Ziemassvētku eglīte (ikviens to var kontrolēt): Vai vēlaties uzzināt, kā izskatās vietnē kontrolēta Ziemassvētku eglīte? Šeit ir video, kurā parādīts mans Ziemassvētku eglītes projekts. Šobrīd tiešraide ir beigusies, bet es izveidoju videoklipu, fiksējot notiekošo: Šogad decembra vidū
Kā kontrolēt Bluetooth (HC-05) ar Arduino: 5 soļi
Kā kontrolēt Bluetooth (HC-05) ar Arduino: Sveiki, mani draugi, šajā nodarbībā mēs iemācīsimies vadīt līdzstrāvas motoru ar mūsu viedtālruni vai planšetdatoru. Lai to panāktu, mēs izmantosim L298N motora kontrolieri un Bluetooth moduli (HC- 05). Tātad sāksim
Kā kontrolēt līdzstrāvas motoru ar L298n un Arduino: 5 soļi
Kā kontrolēt līdzstrāvas motoru ar L298n un Arduino: Sveiki visiem. Iepazīstinām ar sevi. Mans vārds ir Dimitris un es esmu no Grieķijas. Es ļoti mīlu Arduino, jo tā ir gudra tāfele. Es centīšos pēc iespējas labāk aprakstīt šo pamācību, lai to padarītu ikviens. Tātad sāksim
Īpaši vienkāršs veids, kā kontrolēt servomotoru ar Arduino: 8 soļi
Ļoti vienkāršs veids, kā kontrolēt servomotoru ar Arduino: Šajā apmācībā mēs izmantosim Servo Motor un Arduino UNO un Visuino, lai kontrolētu servomotoru pakāpi, izmantojot tikai dažus komponentus, tādējādi padarot šo projektu par super vienkāršu. Noskatieties demonstrācijas video
Kā iestatīt AVR programmēšanas vidi operētājsistēmā Linux: 5 soļi
Kā iestatīt AVR programmēšanas vidi operētājsistēmā Linux: ja vēlaties programmēt AVR mikrokontrollerus operētājsistēmā Windows, jums ir Studio, bet operētājsistēmā Linux mums ir tikai puisis. AVRDUDE ir komandrindas saskarne, lai programmētu AVR mikroshēmas, tas var būt nedaudz sarežģīti vispirms iestatīt. Šajā pamācībā es būšu s