Sisukord:
- Samm: struktuuri ehitamine
- 2. samm: teadke oma riistvara väärtusi
- 3. samm: kinemaatika edasisuunamine
- Samm: pöördkinemaatika
Video: Haptiline joonistusrobot: 5 sammu (piltidega)
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:49
Osana oma magistriõppest dep. Tööstusdisain Eindhoveni ülikoolis lõin haptilise joonistusseadme, mille abil saab liikluses liikuda poolautonoomses autos. Liidese nimi on kritseldus ja see võimaldab kasutajal kogeda haptilisi seadmeid 2D -ruumis muutuva jõu ja asukoha kaudu. Kuigi kontseptsioon ei ole see, mida see juhend sisaldab, saate Scribble'i kohta rohkem lugeda siit:
Scribble kasutab 5 -baarilist haakeseadistust, mis võimaldab tal liigutada kahte külgmist vabadusastet (DoF). See seadistus on joonistusrobotite loomiseks prototüüpide seas üsna populaarne, siin on mõned näited:
www.projehocam.com/arduino-saati-yazan-kol-…
blogs.sap.com/2015/09/17/plot-clock-weathe…
www.heise.de/make/meldung/Sanduhr-2-0-als-Bausatz-im-heise-shop-erhaeltlich-3744205.html
Neid roboteid on mehaaniliselt lihtne valmistada. Neil on vaja ainult põhilisi liigendeid ja neil on kaks täiturmehhanismi, mis võivad tekitada üsna vedelaid liigutusi. See struktuur sobib ideaalselt disaineritele, kes on huvitatud liikuva konstruktsiooni valmistamisest. Kuna ma ei olnud mehaanikainsener, leidsin, et kinemaatikat on koodiks tõlkida üsna raske. Seetõttu pakun välja Arduino põhikoodi, mis selgitab välja ja vastupidine kinemaatika, nii et saate seda hõlpsalt oma tulevastes kujundustes kasutada!;-)
Palun laadige alla kood alla!
* EDIT: sarnase projekti jaoks vaadake aadressi https://haply.co *
Samm: struktuuri ehitamine
Sõltuvalt eesmärgist, mida silmas peate, peaksite kõigepealt kavandama 5-lülilise konstruktsiooni. Mõelge mõõtmistele, ajamitele, mida soovite kasutada, ja kuidas liigesed sujuvaks liikumiseks kinnitada.
Oma prototüübi jaoks käivitan oma koodi Arduino DUE -l, mida seeria kaudu kontrollib minu Maci programm, mis on loodud avatud raamistikes. Programm kasutab UDP ühendust, et suhelda Unity 3D -põhise sõidusimulaatoriga.
Scribble'i prototüüp kasutab 5 mm laagreid ja on valmistatud 5 mm laserlõigatud akrüülist. Täiturmehhanismid on Frank van Valeknhoefi haptilised mootorid, mis võimaldavad käivitada, positsiooni välja lugeda ja muuta jõudu. See muutis need ideaalseks Scribble'i soovitud haptiliste omaduste jaoks. Lisateavet tema ajamite kohta leiate siit:
2. samm: teadke oma riistvara väärtusi
Edasine kinemaatika põhineb SAP-i graafikakella ilmajaamal:
Nagu on näidatud nende konfiguratsioonis, on käsi sirutatud, et hoida joonistamiseks markerit. See on eemaldatud, kuna sellel pole kritselduse prototüübil mingit otstarvet. Kontrollige nende koodi, kui soovite selle komponendi uuesti lisada. Pildil olevad nimed jäävad minu konfiguratsioonis samaks.
Sõltuvalt teie riistvarast peab algoritm teadma teie riistvara omadusi:
int leftActuator, rightActuator; // nurk ajamile kirjutamiseks kraadides, muutke ujukiteks, kui soovite rohkem täpsust
int posX, posY; // osuti asukoha koordinaadid
Määrake sisendväärtuste eraldusvõime
int posStepsX = 2000;
int posStepsY = 1000;
Teie seadistuse mõõtmed, väärtused on millimeetrites (vt SAP -pilti)
#define L1 73 // mootori õla pikkus, vt SAP -pilti (vasak ja parem on samad)
#define L2 95 // pikendusvarras, vt SAP -pilti (vasak ja parem on samad)
#define rangeX 250 // maksimaalne vahemik X suunas, kus punkt liigub (vasakult paremale, 0 - maxVal)
#define rangeY 165 // maksimaalne vahemik Y -suunas punkti liigutamiseks (0 -st maksimaalse ulatuseni, jäädes tsentreerituks)
#define originL 90 // nihkekaugus enamikust minimaalsest X väärtusest ajami keskmisesse asendisse
#define originR 145 // nihutatud kaugus enamikust minimaalsest X väärtusest ajami keskmisesse asendisse, sel juhul on kahe mootori vaheline kaugus
3. samm: kinemaatika edasisuunamine
Nagu eelmises etapis mainitud, põhineb edasine kinemaatika SAP -i algoritmil.
Tühjus uuendab vasakpoolse ja parema täiturmehhanismi eelnevalt määratud nurkväärtusi. Ühendatud X- ja Y -väärtuste põhjal arvutab kursor sellesse asendisse õige nurga.
void set_XY (double Tx, double Ty) // sisestage oma X ja Y väärtus {// mõned valud, mida vajame, kuid ei taha pikaajalise topelt dx, dy, c, a1, a2, Hx, Hy jaoks salvestada; // kaardista inpit resolutsioon reaalses maailmas oma konfiguratsiooni vahemikku int realX = map (Tx, 0, posStepsX, 0, rangeX); // vaheta kaardistamise korral, kui see on ümber pööratud int realY = map (Ty, posStepsX, 0, 0, rangeY); // vahetus, kui kaardistamine, kui see on ümber pööratud // vasakpoolse täituri kalkulatsiooninurk // desartesian dx/dy dx = realX - originL; // kaasata nihke dy = realY; // polaarpikkus (c) ja nurk (a1) c = sqrt (dx * dx + dy * dy); a1 = atan2 (dy, dx); a2 = tagasipöördenurk (L1, L2, c); leftActuator = korrus ((((M_PI - (a2 + a1)) * 4068) / 71); // lõplik nurk ja teisendamine radast degreemiks // parema täiturmehhanismi kalkuleerimisnurk dx = realX - originR; // kaasata nihke dy = realY; c = sqrt (dx * dx + dy * dy); a1 = atan2 (dy, dx); a2 = tagasipöördenurk (L1, L2, c); rightActuator = korrus ((((a1 - a2) * 4068) / 71); // lõplik nurk ja teisendamine radist degradesse}
Täiendav tühimik nurga arvutamiseks:
double return_angle (double a, double b, double c) {// koosinusreegel nurga c ja tagasipöördumise acos vahel ((a * a + c * c - b * b) / (2 * a * c)); }
Samm: pöördkinemaatika
Pöördkineetika töötab vastupidi. Ühendate ajamite pöörlemise kraadidega ja tühimik värskendab varem määratletud asendit.
Pange tähele, et vajate täiturmehhanisme või eraldi andurit, mis loeb käe nurka. Minu puhul kasutasin täiturmehhanisme, mis suudavad oma positsiooni samaaegselt lugeda ja kirjutada. Katsetage seda julgelt ja kaaluge mõne kalibreerimise lisamist, et olla kindel, et teie nurk on õigesti loetud.
Soovitan:
Joonistusrobot Adafruit Shieldiga (võistlus "Tee liikuma"): 10 sammu (piltidega)
Joonistusrobot Adafruit Shieldiga (Make It Move Contest): Tere, mu nimed Jacob ja ma elan Ühendkuningriigis. Selles projektis kavatsen ehitada roboti, mis teile joonistab. *Olen kindel, et paljud teist tahavad seda näha, nii et kui soovite teada, siis minge otse teise ja viimase sammu juurde, kuid tulge kindlasti siia tagasi, et näha
MXY juhatus - madala eelarvega XY plotteri joonistusrobot: 8 sammu (piltidega)
MXY -plaat - madala eelarvega XY -plotteri joonistusrobotiplaat: Minu eesmärk oli kujundada mXY -plaat nii, et see oleks väikese eelarvega XY -plotteri joonistusmasin. Nii et ma kavandasin tahvli, mis muudab selle projekti tegemise lihtsamaks. Eelmises projektis, kasutades 2 tk Nema17 samm -mootorit, kasutas see plaat
Haptiline lähedusmoodul - odav ja lihtne: 5 sammu (piltidega)
Haptilise läheduse moodul - odav ja lihtne: Jumala kingitud nägemismeel inimesele on meie elu oluline aspekt. Kuid on ka õnnetuid inimesi, kellel puudub võime asju visualiseerida. Kogu maailmas on umbes 37 miljonit pimedat inimest, üle 15 miljoni
Joonistusrobot Arduino jaoks: 18 sammu (piltidega)
Joonistusrobot Arduino jaoks: Märkus: mul on selle roboti uus versioon, mis kasutab trükkplaati, on lihtsam ehitada ja millel on IR takistuste tuvastamine! Vaadake seda aadressil http://bit.ly/OSTurtleMa kujundasin selle projekti ChickTech.org jaoks mõeldud 10-tunniseks töötoaks, mille eesmärk on
Odav, Arduino-ühilduv joonistusrobot: 15 sammu (piltidega)
Odav, Arduino-ühilduv joonistusrobot: Märkus: mul on sellest robotist uus versioon, mis kasutab trükkplaati, on lihtsam ehitada ja millel on IR-takistuste tuvastamine! Vaadake seda aadressil http://bit.ly/OSTurtleMa kujundasin selle projekti ChickTech.org jaoks mõeldud 10-tunniseks töötoaks, mille eesmärk on