Kazalo:
- 1. korak: Gradnja strukture
- 2. korak: Spoznajte svoje vrednosti strojne opreme
- 3. korak: naprej kinematika
- 4. korak: Inverzna kinematika
Video: Haptični robot za risanje: 5 korakov (s slikami)
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:07
Kot del moje magistrske študije na dep. Industrijsko oblikovanje na univerzi v Eindhovenu sem ustvaril napravo za haptično risanje, ki jo lahko uporabljamo za krmarjenje po polavtonomnem avtomobilu skozi promet. Vmesnik se imenuje scribble in uporabniku omogoča spreminjanje sile in lokacije s pomočjo haptičnih napeljav v 2D prostoru. Čeprav ta pouk ne govori o konceptu, lahko več o Scribbleu preberete tukaj:
Scribble uporablja 5 -palčno konfiguracijo povezave, ki mu omogoča premikanje dveh stranskih stopenj svobode (DoF). Ta nastavitev je med prototipi zelo priljubljena za ustvarjanje risarskih robotov, tukaj je nekaj primerov:
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
Mehansko je te robote enostavno izdelati. Potrebujejo le osnovne spoje in imajo dva pogona, ki lahko ustvarita kar nekaj gibanja tekočine. Ta struktura je idealna za oblikovalce, ki jih zanima izdelava premične strukture. Ker pa nisem strojni inženir, se mi je kinematiko zdelo težko prevesti v kodo. Zato bom zagotovil osnovno kodo Arduino, ki določa prednjo in obratno kinematiko, tako da jo lahko preprosto uporabite v svojih prihodnjih modelih!;-)
Prosimo, prenesite spodnjo kodo!
* EDIT: za podoben projekt si oglejte https://haply.co *
1. korak: Gradnja strukture
Odvisno od namena, ki ga imate v mislih, morate najprej oblikovati 5-vezno strukturo. Razmislite o meritvah, aktuatorjih, ki jih želite uporabiti, in o tem, kako pritrditi spoje za nemoteno gibanje.
Za svoj prototip kodo izvajam na Arduino DUE, ki ga serijsko nadzira program na mojem Macu, izdelan v Open Frameworks. Program uporablja povezavo UDP za komunikacijo s simulatorjem vožnje, ki temelji na Unity 3D.
Prototip Scribble uporablja 5 mm ležaje in je izdelan iz 5 mm lasersko izrezanega akrila. Pogoni so haptični motorji Franka van Valeknhoefa, ki omogočajo aktiviranje, odčitavanje položaja in oddajanje spremenljive sile. Zaradi tega so bili idealni za Scribblejeve želene haptične lastnosti. Več o njegovih aktuatorjih najdete tukaj:
2. korak: Spoznajte svoje vrednosti strojne opreme
Predhodna kinematika temelji na vremenski postaji Ura za ploskev podjetja SAP:
Kot je prikazano v njihovi konfiguraciji, se roka raztegne tako, da drži oznako za risanje. To je bilo odstranjeno, ker prototipu za pisanje ni služilo. Preverite njihovo kodo, če želite znova dodati to komponento. Imena na sliki so v moji konfiguraciji enaka.
Odvisno od strojne opreme mora algoritem poznati lastnosti strojne opreme:
int leftActuator, rightActuator; // kot za zapis na aktuator v stopinjah, spremenite v plavajoče, če želite večjo natančnost
int posX, posY; // koordinate lokacije kazalca
Nastavite ločljivost vhodnih vrednosti
int posStepsX = 2000;
int posStepsY = 1000;
Mere vaše nastavitve, vrednosti so v mm (glejte sliko SAP)
#define L1 73 // dolžina motorne roke, glej sliko SAP (levo in desno sta enaka)
#define L2 95 // podaljšek dolžine, glej sliko SAP (levo in desno sta enaka)
#define rangeX 250 // največje območje v smeri X za premikanje točke (od leve proti desni, 0 - maxVal)
#define rangeY 165 // največje območje v smeri Y za premikanje točke (od 0 do največjega dosega, medtem ko ostane centrirano)
#define originL 90 // odmik razdalje od največje minimalne vrednosti X do sredinskega položaja aktuatorja
#define originR 145 // odmik razdalje od največje minimalne vrednosti X do sredinskega položaja aktuatorja, v tem primeru je razdalja med dvema motorjema
3. korak: naprej kinematika
Kot je bilo omenjeno v prejšnjem koraku, kinematika naprej temelji na algoritmu SAP.
Praznina posodobi željene vrednosti kota levega in desnega aktuatorja, opredeljene prej. Na podlagi vstavljenih vrednosti X in Y bo izračunal prave kote, da bo kazalec postavljen v ta položaj.
void set_XY (double Tx, double Ty) // vnesite vrednost X in Y {// nekaj vrednosti, ki jih potrebujemo, vendar jih ne želimo shraniti za dolge dvojne dx, dy, c, a1, a2, Hx, Hy; // preslikava začetno ločljivost na obseg vaše konfiguracije v resničnem svetu int realX = map (Tx, 0, posStepsX, 0, rangeX); // zamenjaj, če preslikava, če je obrnjena int realY = map (Ty, posStepsX, 0, 0, rangeY); // zamenjaj, če je preslikava obrnjena // kot izračuna za levi aktuator // kartezijski dx/dy dx = realX - originL; // vključuje odmik dy = realY; // polarna dolžina (c) in kot (a1) c = sqrt (dx * dx + dy * dy); a1 = atan2 (dy, dx); a2 = povratni kot (L1, L2, c); leftActuator = tla (((M_PI - (a2 + a1)) * 4068) / 71); // končni kot in pretvorba iz rad v deg // kot izračunavanja za desni pogon dx = realX - originR; // vključuje odmik dy = realY; c = sqrt (dx * dx + dy * dy); a1 = atan2 (dy, dx); a2 = povratni kot (L1, L2, c); rightActuator = tla (((a1 - a2) * 4068) / 71); // končni kot in pretvorba iz rad v deg}
Dodatna praznina za izračun kota:
double return_angle (double a, double b, double c) {// kosinusno pravilo za kot med c in povratnim acos ((a * a + c * c - b * b) / (2 * a * c)); }
4. korak: Inverzna kinematika
Obratna kinematika deluje obratno. Vklopite vrtenje pogonov v stopinjah in praznina bo posodobila položaj, ki je bil opredeljen prej.
Upoštevajte, da boste potrebovali aktuatorje ali ločen senzor, ki bo lahko prebral kot roke. V mojem primeru sem uporabil aktuatorje, ki lahko hkrati berejo in zapisujejo svoj položaj. S tem lahko eksperimentirate in razmislite o dodajanju neke vrste umerjanja, da boste prepričani, da je vaš kot pravilno prebran.
Priporočena:
Robot za risanje s ščitom Adafruit (tekmovanje Make it Move): 10 korakov (s slikami)
Robot za risanje s ščitom Adafruit (tekmovanje Make It Move): Pozdravljeni, moja imena, Jacob in jaz živimo v Združenem kraljestvu. V tem projektu bom zgradil robota, ki bo risal za vas. *Prepričan sem, da si ga mnogi želite ogledati, zato če želite vedeti, preskočite na drugi do zadnji korak, vendar se vsekakor vrnite sem in si oglejte
Arduino haptični krmilnik: 4 koraki
Arduino haptični krmilnik:
LEGO Delta Robot skeniranje in risanje: 7 korakov (s slikami)
LEGO Delta Robot skeniranje in risanje: uporaba LEGO NXT za izdelavo robota Delta. Kombinirano skeniranje in risanje
Robot za risanje Avatarja, ki uporablja MESH: 6 korakov (s slikami)
Avatar Drawing Robot Using MESH: Ste že slišali, da vas lahko telesna aktivnost naredi bolj ustvarjalnega? Dejavnost vam pomaga raztegniti razmišljanje in ustvariti ustvarjalne ideje. Če ne delate pogosto, vendar želite povečati svojo ustvarjalnost, ne skrbite - tukaj je nekaj za vas
LED pisala za risanje svetlobe: Orodja za risanje lahkih logotipov: 6 korakov (s slikami)
LED -pisala za risanje svetlobe: Orodja za risanje svetlobnih logotipov: Moja žena Lori je neprestana pisateljica in že leta se igram s fotografijo z dolgo osvetlitvijo. Navdihnjeni s skupino PikaPika lahke umetnosti in enostavnostjo digitalnih fotoaparatov smo si ogledali obliko risbe svetlobe, da vidimo, kaj lahko naredimo