Sisällysluettelo:
- Vaihe 1: Rakenteen rakentaminen
- Vaihe 2: Tunne laitteistosi arvot
- Vaihe 3: eteenpäin kinematiikka
- Vaihe 4: Käänteinen kinematiikka
Video: Haptinen piirustusrobotti: 5 vaihetta (kuvilla)
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:03
Osana maisterintutkintoa Dep. Teollinen muotoilu Eindhovenin yliopistossa, loin haptisen piirustuslaitteen, jota voidaan käyttää navigoimaan puoliautomaattisessa autossa liikenteen läpi. Käyttöliittymää kutsutaan scribbleksi ja sen avulla käyttäjä voi kokea haptisia kalusteita 2D -tilassa vaihtelevan voiman ja sijainnin avulla. Vaikka tämä ohje ei olekaan käsite, voit lukea lisää Scribblestä täältä:
Scribble käyttää 5 baarin kytkentäkonfiguraatiota, jonka avulla se voi siirtää kahta sivuttaista vapausastetta (DoF). Tämä asetus on melko suosittu piirustusrobotteja luovien prototyyppien keskuudessa, tässä on muutamia esimerkkejä:
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
Mekaanisesti nämä robotit on helppo valmistaa. Ne tarvitsevat vain perusliitoksia ja niissä on kaksi toimilaitetta, jotka voivat luoda melko nestemäisiä liikkeitä. Tämä rakenne on ihanteellinen suunnittelijoille, jotka ovat kiinnostuneita liikkuvan rakenteen tekemisestä. Koska en kuitenkaan ollut mekaaninen insinööri, minusta kinematiikan kääntäminen koodiksi oli melko vaikeaa. Siksi annan Arduino -peruskoodin, joka selvittää eteenpäin ja käänteisen kinematiikan, jotta voit käyttää sitä helposti tulevissa malleissasi!;-)
Lataa alla oleva koodi!
* MUOKKAA: katso vastaavaa projektia osoitteesta https://haply.co *
Vaihe 1: Rakenteen rakentaminen
Tarkoituksestasi riippuen sinun tulee ensin suunnitella 5-kytkentärakenne. Mieti mittauksia, toimilaitteita, joita haluat käyttää, ja kuinka kiinnität nivelet sujuviin liikkeisiin.
Prototyyppini kohdalla suoritan koodini Arduino DUE -laitteella, jota sarjojen kautta ohjaa Mac -ohjelmani, joka on tehty Open Frameworksissa. Ohjelma käyttää UDP -yhteyttä kommunikoidakseen Unity 3D -pohjaisen ajosimulaattorin kanssa.
Scribble-prototyyppi käyttää 5 mm: n laakereita ja on valmistettu 5 mm: n laserleikatusta akryylistä. Toimilaitteet ovat Frank van Valeknhoefin Haptic -moottorit, jotka mahdollistavat toimimisen, asennon lukemisen ja muuttuvan voiman tuottamisen. Tämä teki niistä ihanteelliset Scribblen haluttuihin haptisiin ominaisuuksiin. Lisää hänen toimilaitteistaan löytyy täältä:
Vaihe 2: Tunne laitteistosi arvot
Eteenpäin suuntautuva kinematiikka perustuu SAP: n Plot-kellosääasemalle:
Kuten niiden kokoonpanossa on esitetty, käsivarsi on pidetty kiinni piirtäjästä. Tämä on poistettu, koska sillä ei ollut tarkoitusta piirtämisprototyypille. Tarkista heidän koodinsa, jos haluat lisätä tämän komponentin takaisin. Kuvan nimet pysyvät samoina kokoonpanossani.
Laitteistostasi riippuen algoritmin on tiedettävä laitteistosi ominaisuudet:
int leftActuator, rightActuator; // kulma kirjoittaa toimilaitteelle asteina, vaihda kellukkeiksi, jos haluat enemmän tarkkuutta
int posX, posY; // osoittimen sijainnin koordinaatit
Aseta syöttöarvojen resoluutio
int posStepsX = 2000;
int posStepsY = 1000;
Kokoonpanosi mitat, arvot ovat mm (katso SAP -kuva)
#define L1 73 // pituus moottorin varsi, katso SAP -kuva (vasen ja oikea ovat samat)
#define L2 95 // pituuden jatkovarsi, katso SAP -kuva (vasen ja oikea ovat samat)
#define rangeX 250 // X -suunnan maksimialue, jolla piste liikkuu (vasemmalta oikealle, 0 - maxVal)
#define rangeY 165 // pisteen liikkeen suurin sallittu alue Y -suunnassa (0: sta maksimaaliseen ulottuvuuteen keskittyen)
#define originL 90 // offset -etäisyys useimmista pienimmistä X -arvoista toimilaitteen keskiasentoon
#define originR 145 // offset -etäisyys useimmista pienimmistä X -arvoista toimilaitteen keskiasentoon, kahden moottorin välinen etäisyys on tässä tapauksessa
Vaihe 3: eteenpäin kinematiikka
Kuten edellisessä vaiheessa mainittiin, eteenpäin suuntautuva kinematiikka perustuu SAP: n algoritmiin.
Void päivittää vasemman ja oikean toimilaitteen halutut kulma -arvot, jotka on määritetty aiemmin. Liitettyjen X- ja Y -arvojen perusteella se laskee oikeat kulmat osoittimen saamiseksi tähän asentoon.
void set_XY (double Tx, double Ty) // syötä X- ja Y -arvosi {// jotkin tarvitsemamme arvot, mutta emme halua tallentaa pitkiä kaksinkertaisia dx, dy, c, a1, a2, Hx, Hy; // kartoita inpit -resoluutio määrityksesi alueelle todellisessa maailmassa int realX = map (Tx, 0, posStepsX, 0, rangeX); // vaihda, jos kartoitus käännetään int realY = map (Ty, posStepsX, 0, 0, rangeY); // vaihtaa, jos kartoitus, jos käännetty // laskea kulma vasemmalle toimilaitteelle // suorakulmainen dx/dy dx = realX - originL; // sisällytä offset dy = realY; // polaarinen pituus (c) ja kulma (a1) c = sqrt (dx * dx + dy * dy); a1 = atan2 (dy, dx); a2 = paluukulma (L1, L2, c); leftActuator = kerros ((((M_PI - (a2 + a1)) * 4068) / 71); // lopullinen kulma ja muunnos radista degiksi // oikean kulman toimilaitteen laskukulma dx = realX - originR; // sisällytä offset dy = realY; c = sqrt (dx * dx + dy * dy); a1 = atan2 (dy, dx); a2 = paluukulma (L1, L2, c); rightActuator = kerros ((((a1 - a2) * 4068) / 71); // lopullinen kulma ja muunna radista asteiksi}
Lisärako kulman laskemiseen:
double return_angle (double a, double b, double c) {// kosinisääntö c: n ja paluu acosin väliseen kulmaan ((a * a + c * c - b * b) / (2 * a * c)); }
Vaihe 4: Käänteinen kinematiikka
Käänteinen kinematiikka toimii toisinpäin. Kytket toimilaitteiden pyörimisen asteisiin ja tyhjä päivittää aiemmin määritetyn asennon.
Huomaa, että tarvitset toimilaitteita tai erillisen anturin, joka voi lukea käsivarren kulman. Minun tapauksessani käytin toimilaitteita, jotka voivat sekä lukea että kirjoittaa sijaintinsa samanaikaisesti. Voit kokeilla tätä ja harkita jonkinlaisen kalibroinnin lisäämistä, jotta olet varma, että kulmasi luetaan oikein.
Suositeltava:
Piirustusrobotti Adafruit Shieldillä (Make It Move -kilpailu): 10 vaihetta (kuvilla)
Piirustusrobotti Adafruit Shieldillä (Make It Move Contest): Hei, nimeni Jacob ja asun Isossa -Britanniassa. Tässä projektissa aion rakentaa robotin, joka piirtää sinulle. *Olen varma, että monet teistä haluavat nähdä sen, joten jos haluatte tietää, siirry suoraan toisesta viimeiseen vaiheeseen, mutta muista palata tänne katsomaan
Piirustusrobotti Arduinolle: 18 vaihetta (kuvilla)
Piirustusrobotti Arduinolle: Huomaa: Minulla on uusi versio tästä robotista, joka käyttää piirilevyä, on helpompi rakentaa ja jossa on IR -esteiden tunnistus! Tutustu osoitteeseen http://bit.ly/OSTurtle Suunnittelin tämän projektin 10 tunnin työpajaan ChickTech.org-sivustolle, jonka tavoitteena on
Edullinen, Arduino-yhteensopiva piirustusrobotti: 15 vaihetta (kuvilla)
Edullinen, Arduino-yhteensopiva piirustusrobotti: Huomautus: Minulla on uusi versio tästä robotista, joka käyttää piirilevyä, on helpompi rakentaa ja jossa on IR-esteiden tunnistus! Tutustu osoitteeseen http://bit.ly/OSTurtle Suunnittelin tämän projektin 10 tunnin työpajaan ChickTech.org-sivustolle, jonka tavoitteena on
Avatar -piirustusrobotti MESH: n avulla: 6 vaihetta (kuvilla)
Avatar -piirustusrobotti MESH: n avulla: Oletko kuullut, että liikunta voi tehdä sinusta luovampaa? Aktiivinen auttaa venyttämään ajattelua ja luomaan luovia ideoita. Jos et treenaile usein, mutta haluat lisätä luovuuttasi, älä huoli - tässä on sinulle jotain! Tämä
Humalassa piirustusrobotti!: 4 vaihetta (kuvilla)
Humalassa piirustusrobotti!: Taskuhumalassa olevan robotin innoittamana halusin antaa robotille tehtävän. Päätin antaa humalaisen robotin tehdä piirustuksia. Oman tekemiseen tarvitset seuraavat: materiaalit: 3 huopakärkistä merkkiä napin paristokotelo