Cuprins:
- Provizii
- Pasul 1: Cum funcționează?
- Pasul 2: Proiectare
- Pasul 3: Imprimarea 3D a calculului brațului și cuplului
- Pasul 4: Fabricarea și asamblarea bazei
- Pasul 5: Asamblarea brațului robotizat
- Pasul 6: Circuitul controlerului brațului
- Pasul 7: Circuitul robotului de telepresență
- Pasul 8: aplicație mobilă
- Pasul 9: Creați un cont pe Pubnub și obțineți cheile
- Pasul 10: Adăugați cheile la cod și încărcați
- Pasul 11: Concluzie
Video: Construiți un robot de telepresență controlat prin Wifi: 11 pași (cu imagini)
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:43
Acest proiect este despre construirea unui robot care poate interacționa cu un mediu îndepărtat și poate fi controlat din orice parte a lumii folosind Wifi. Acesta este ultimul meu proiect de inginerie și am învățat multe despre electronică, IoT și programare. Acest proiect se concentrează asupra persoanelor cu dizabilități de locomoție, deoarece le este greu să se deplaseze, astfel încât un robot de telepresență să le poată ajuta cu ușurință.
Există 2 sisteme în cadrul proiectului pentru a avea succes. Controlul mișcării mâinii pentru a muta mâna robotică și aplicația mobilă care controlează baza motorului.
Mai jos sunt documentul și prezentarea Telepresence V1, astfel veți obține o înțelegere mai aprofundată.
E timpul să-l construiești!
Provizii
Pentru acest proiect sunt necesare o mulțime de instrumente și componente. M-a costat în jur de 1000 AED (270 $), deci asigurați-vă că aveți acel buget. Iată componentele de care veți avea nevoie: -
- Nod MCU x 3
- Driver motor DC L298N x 1
- Alimentare 12V x 1
- LM2596 Regulator de tensiune redus x 1
- Senzori IMU MPU9250 x 2
- Servomotoare (cuplu de 10-20 kg) x 4
- lemn usor 1x1m
- Tije metalice filetate 8M 1m x 2
- Imprimantă 3D (30x30cm)
- tăietor de lemne și foraj
- Firele electrice, firele jumper și panoul de măsurare
- Manșon cu braț complet
- Motor 12V DC (25kg.cm) x 2
- Roată rotativă de 3 inci x 1
- Roată de cauciuc de 6cm cu șurub x 2
- Set de lipit
Pasul 1: Cum funcționează?
Aceasta este diagrama fluxului de comunicare pentru a vă face să înțelegeți modul în care componentele comunică între ele. Folosim rețeaua de transfer de date numită PubNub ca o platformă IoT care poate trimite mesaje în timp real în doar 0,5 secunde! Acesta este cel mai rapid răspuns pe care îl putem obține și acest lucru este și mai important în proiectul nostru, deoarece ne vom folosi mâna pentru a controla brațul robotului în timp real.
Toate Nodemcu sunt utilizate pentru trimiterea și primirea de date. Există 2 sisteme individuale implicate aici în care Nodemcu pe braț trimite datele senzorului de mișcare către PubNub și care este primit de Nodemcu pe brațul robotizat. pentru mișcarea bazei, aplicația mobilă trimite datele pentru coordonatele x, y de la joystick și care sunt primite de Nodemcu pe bază, care poate controla motorul prin intermediul șoferului. Asta este tot pentru acum.
Pasul 2: Proiectare
Designul de mai sus vă va oferi o idee despre cum arată structura. Puteți descărca fișierele cad pentru a avea un aspect mai bun. Baza rover-ului este susținută de 3 roți unde 2 sunt motor DC în spate și o roată rotativă în față. Datorită mișcării brațului robotizat, am observat instabilitate pe bază, așa că s-ar putea să vă gândiți să adăugați 2 roți rotative în față. Baza inferioară și superioară din lemn sunt susținute de tije filetate, care sunt împrăștiate cu piulițe. Asigurați-vă că utilizați piulița de blocare, deoarece aceasta o va strânge permanent pe termen lung.
Descărcați fișierul sursă de proiectare - Telepresence Design
Pasul 3: Imprimarea 3D a calculului brațului și cuplului
Brațul robotului de telepresență este un design simplu în formă de cutie, astfel încât să poată fi imprimat cu ușurință în 3D, cu o cantitate minimă de filament. Lungimea sa este de aproximativ 40cm, care este la fel de lungă ca un braț uman. Lungimea brațului robotizat se bazează pe cuplul ridicat de servo-motoare. Puteți găsi calculul cuplului în imaginea de mai sus, împreună cu specificațiile servomotorului pe care l-am folosit, astfel încât să puteți personaliza designul în funcție de nevoile dvs. Evitați însă utilizarea cuplului maxim al servomotorului, deoarece acest lucru va duce la deteriorarea motorului pe termen lung.
Descărcați fișierele de imprimare 3D de mai jos, imprimați-le și continuați să mergeți înainte.
Pasul 4: Fabricarea și asamblarea bazei
Iată pașii pe care îi puteți urma pentru fabricare: -
- Tăiați tija metalică filetată în punctul mediu folosind ferăstrăul
- Folosiți tăietorul de lemne pentru a face 2 bucăți de lemn de 40x30cm
- Găuriți găurile necesare în baza de sus și de jos, ca desenul de mai sus
- Începeți să atașați motorul de curent continuu și roțile de rulare pe baza inferioară
- Pentru a face o gaură dreptunghiulară pe baza superioară, faceți mai întâi o gaură circulară cu burghiul și apoi introduceți tăietorul de lemn prin gaură și tăiați-o peste margini pentru a face un dreptunghi.
dacă vă întrebați de ce gaura din dreapta-sus este plasată înapoi, atunci este pentru că nu eram sigur dacă voi plasa brațul robotizat în colțul din dreapta, în centru. Plasarea în centru a fost o alegere mai bună datorită echilibrului în greutate.
Pasul 5: Asamblarea brațului robotizat
Asamblarea brațului robotizat necesită o atenție specială. În afară de asamblarea mecanică, trebuie să vă asigurați că servomotorul este la unghiul corect atunci când este asamblat. Urmați diagrama de mai sus pentru a vă face o idee despre unghiul în care servomotorul trebuie setat pe toate motoarele înainte de a asambla ceva deasupra. Încercați să faceți acest lucru corect, altfel veți ajunge să îl reasamblați din nou.
Utilizați șablonul de cod de mai jos pentru a seta unghiul servo exact folosind Arduino sau Nodemcu. Există deja o mulțime de informații despre acest lucru online, așa că nu voi merge în detaliu.
#include
Servo servo;
int pin =; // puneți numărul pinului unde pinul servo de date este atașat pe arduino
configurare nulă () {
servo.attach (pin);
}
bucla nulă () {
int angle =; // unghiul la care trebuie să setați
servo.scrie (unghi);
}
Pasul 6: Circuitul controlerului brațului
Asamblarea controlerului de braț este ușor de realizat. Am folosit un manșon lung și am atașat senzorii, Nodemcu și panoul de măsurare cu cusut. Asigurați-vă că orientarea senzorului este în aceeași direcție ca imaginea controlerului de mai sus. În cele din urmă, urmați schema circuitului și descărcați codul de mai jos.
Pasul 7: Circuitul robotului de telepresență
Urmați schema circuitului în același mod. Verificați încrucișat pinouts de alimentare pe care îl utilizați pentru a evita scurtcircuitele. Setați tensiunea de ieșire a convertorului buck la 7V, deoarece aceasta este tensiunea medie a tuturor servomotorelor. Singurul loc pe care s-ar putea să-l lipiți este terminalele motorului de bază DC, deoarece consumă mult curent, așa că trebuie să fie strâns cu un fir electric puțin mai gros. Odată ce circuitul este complet, ulterior veți încărca „arm_subscriber.ino” pe Nodemcu care se conectează cu brațul și „base.ino” pentru a fi încărcat pe baza Nodemcu.
Pasul 8: aplicație mobilă
Acesta este dispozitivul mobil pentru controlul locomoției. Când mutați joystick-ul, acesta trimite coordonatele X, Y pe cercul joystick-ului către Pubnub și este primit de Nodemcu la bază. Această coordonată X, Y este convertită în unghi și folosind-o putem găsi în ce direcție va merge robotul. Mișcarea se face prin pornirea / oprirea și schimbarea direcției celor două motoare. Dacă comanda este înainte, ambele motoare merg înainte la viteză maximă, dacă sunt lăsate atunci motorul stâng va merge înapoi și motorul drept merge înainte și așa mai departe.
funcția de mai sus poate fi realizată pur și simplu cu butoane și în loc de joystick, dar aleg joystick-ul pentru a controla viteza motorului. Cu toate acestea, pinul meu de activare nu a funcționat cu Nodemcu, așa că am părăsit acea parte. Am adăugat un cod de control al vitezei în base.ino pentru orice eventualitate ca un comentariu.
Puteți obține fișierul sursă.aia de mai jos, care poate fi editat folosind inventatorul aplicației MIT. Va trebui să faceți o configurație de bază în aplicație, pe care o voi spune în pasul următor.
Pasul 9: Creați un cont pe Pubnub și obțineți cheile
Acum este timpul să faceți ultimul pas, care este să vă configurați platforma IoT. Pubnub este cel mai bun, deoarece transferul de date are loc în timp real și durează doar 0,5 secunde pentru a fi transferat. Mai mult, puteți trimite 1 milion de puncte de date pe lună, deci este platforma mea personală preferată.
Accesați PubNub și creați-vă contul. Apoi accesați meniurile Aplicații din meniul din stânga și faceți clic pe butonul numit „+ Creați o aplicație nouă” din dreapta. După ce ați denumit aplicația, veți vedea imaginea de mai sus a editorului și a cheii de abonat. Asta vom folosi pentru a conecta dispozitivele.
Pasul 10: Adăugați cheile la cod și încărcați
Avem nevoie de 4 lucruri pentru ca dispozitivul să poată comunica între ele: - pubkey, subkey, channel & wifi.
pubkey & subkey vor rămâne aceleași pe toate aplicațiile Nodemcu și mobile. 2 dispozitive care se comunică ar trebui să aibă același nume de canal. Deoarece aplicația mobilă și baza comunică, astfel încât să aibă același nume de canal similar pentru controler și mâna robotică. În cele din urmă, trebuie să puneți acreditări wifi pe fiecare Nodemcu, astfel încât să se poată conecta la wifi la început. Am adăugat deja numele canalului, astfel încât wifi și cheia pub / sub sunt ceea ce va trebui să adăugați din contul dvs.
Notă: - Nodemcu se poate conecta numai cu wifi, care poate fi accesat fără pagină web ca intermediar. Chiar și pentru prezentarea mea finală a trebuit să folosesc hotspot-ul mobil, deoarece wifi-ul universitar a fost drag.
Pasul 11: Concluzie
Dacă ați ajuns până aici, atunci MINUNAT! Sper că ați câștigat ceva de valoare din acest articol. Acest proiect are mici limitări pe care vreau să vi le spun înainte de al executa. Iată câteva de mai jos: -
Mișcarea bruscă a brațului robotizat: -
Există o mulțime de mișcare bruscă a brațului robotizat. Acest lucru se datorează decalajului de 0,5 secunde pentru ca informațiile senzorului să fie transferate ca mișcare servo. Am deteriorat chiar și 2 din servomotor, așa că nu vă mișcați brațul prea repede. Puteți rezolva această problemă adăugând pași intermediari între mișcarea originală pentru a crea mișcare lină.
Fără oprire a mișcării bazei: -
când fac robotul să se miște într-o direcție printr-o aplicație mobilă, robotul continuă să se miște în aceeași direcție chiar și atunci când ridic degetele. Acest lucru a fost enervant, deoarece a trebuit să opresc întotdeauna puterea pentru a opri mișcarea. Am inserat codul de oprire în aplicație, dar tot nu a funcționat. Ar putea fi o problemă în aplicația însăși. Poate puteți încerca să o rezolvați și să mă anunțați.
Fără flux video: -
Fără ca fluxul video să vină de la robot la persoană, nu putem implementa niciodată pe departe de utilizator. Am vrut să adaug acest lucru inițial, dar ar necesita mai mult timp și investiții, așa că l-am lăsat.
Puteți duce acest proiect mai departe rezolvând problema de mai sus. Atunci când o faci, anunță-mă. Ramas bun
Pentru mai multe proiecte vizitați site-ul meu portofoliu
Locul doi în concursul de robotică
Recomandat:
Robot de telepresență de dimensiuni umane cu braț de prindere: 5 pași (cu imagini)
Robot de telepresență umană cu braț de prindere: MANIFESTO Un frenemy al meu m-a invitat la o petrecere de Halloween (peste 30 de persoane) în timpul unei pandemii, așa că i-am spus că voi participa și m-am apucat să proiectez un robot de telepresență pentru a provoca ravagii la petrecerea din loc. Dacă nu sunteți familiarizați cu ce telefon
Robot de telepresență: platformă de bază (partea 1): 23 de pași (cu imagini)
Robot de telepresență: platformă de bază (partea 1): un robot de telepresență este un tip de robot care poate fi controlat de la distanță prin internet și poate funcționa ca un surogat pentru cineva în altă parte. De exemplu, dacă vă aflați în New York, dar doriți să interacționați fizic cu o echipă de oameni din California
RC Car Hack - Controlat prin Bluetooth prin aplicația Android: 3 pași (cu imagini)
RC Car Hack - Controlat prin Bluetooth prin intermediul aplicației Android: Sunt sigur că fiecare dintre voi puteți găsi acasă mașină RC neutilizată. Această instrucțiune vă va ajuta să schimbați vechea mașină RC în cadou original :) Datorită faptului că mașina RC pe care o aveam avea dimensiuni mici, am ales Arduino Pro Mini ca controler principal. O alta
Braț robot antrenabil controlat prin gest prin Bluetooth către Arduino: 4 pași
Braț robot antrenabil controlat prin gest prin Bluetooth către Arduino: Există două moduri în braț. În primul rând este modul manual, care poate muta brațul cu bluetooth în telefonul mobil, mutând glisoarele din aplicație. În același timp, îți poți salva pozițiile și poți juca … Al doilea este modul Gesturi care folosește ph-ul tău
Construiți un robot controlat prin gesturi: 4 pași (cu imagini)
Construiți un robot controlat prin gesturi: în acest instructabil construim un robot Arcbotics Sparki care poate fi controlat cu gesturi 3D. O caracteristică frumoasă a acestui proiect este că nu este nevoie de niciun dispozitiv suplimentar, cum ar fi un smartphone sau o mănușă, pentru a controla robotul. Mutați-vă mâna peste element