Cuprins:

Construiți un robot de telepresență controlat prin Wifi: 11 pași (cu imagini)
Construiți un robot de telepresență controlat prin Wifi: 11 pași (cu imagini)

Video: Construiți un robot de telepresență controlat prin Wifi: 11 pași (cu imagini)

Video: Construiți un robot de telepresență controlat prin Wifi: 11 pași (cu imagini)
Video: Cum să construiți o celulă robotică colaborativă cu KUKA cobot LBR iiwa 2024, Iulie
Anonim
Image
Image

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: -

  1. Nod MCU x 3
  2. Driver motor DC L298N x 1
  3. Alimentare 12V x 1
  4. LM2596 Regulator de tensiune redus x 1
  5. Senzori IMU MPU9250 x 2
  6. Servomotoare (cuplu de 10-20 kg) x 4
  7. lemn usor 1x1m
  8. Tije metalice filetate 8M 1m x 2
  9. Imprimantă 3D (30x30cm)
  10. tăietor de lemne și foraj
  11. Firele electrice, firele jumper și panoul de măsurare
  12. Manșon cu braț complet
  13. Motor 12V DC (25kg.cm) x 2
  14. Roată rotativă de 3 inci x 1
  15. Roată de cauciuc de 6cm cu șurub x 2
  16. Set de lipit

Pasul 1: Cum funcționează?

Proiecta
Proiecta

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

Imprimarea 3D a calculului brațului și cuplului
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

Fabricarea și asamblarea bazei
Fabricarea și asamblarea bazei
Fabricarea și asamblarea bazei
Fabricarea și asamblarea bazei
Fabricarea și asamblarea bazei
Fabricarea și asamblarea bazei

Iată pașii pe care îi puteți urma pentru fabricare: -

  1. Tăiați tija metalică filetată în punctul mediu folosind ferăstrăul
  2. Folosiți tăietorul de lemne pentru a face 2 bucăți de lemn de 40x30cm
  3. Găuriți găurile necesare în baza de sus și de jos, ca desenul de mai sus
  4. Începeți să atașați motorul de curent continuu și roțile de rulare pe baza inferioară
  5. 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
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

Circuitul controlerului brațului
Circuitul controlerului brațului
Circuitul controlerului brațului
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ță

Circuitul robotului de telepresență
Circuitul robotului de telepresență
Circuitul robotului de telepresență
Circuitul robotului de telepresență
Circuitul robotului de telepresență
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ă

Aplicatie mobila
Aplicatie mobila

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

Creați un cont pe Pubnub și obțineți cheile
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

Adăugați cheile la cod și încărcați
Adăugați cheile la cod și încărcați
Adăugați cheile la cod și încărcați
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

Concluzie
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

Concurs de robotică
Concurs de robotică
Concurs de robotică
Concurs de robotică

Locul doi în concursul de robotică

Recomandat: