Përmbajtje:
- Hapi 1: Ndërtimi i strukturës
- Hapi 2: Njihni vlerat tuaja të harduerit
- Hapi 3: Kinematika përpara
- Hapi 4: Kinematika Inverse
Video: Roboti i vizatimit Haptic: 5 hapa (me fotografi)
2024 Autor: John Day | [email protected]. E modifikuara e fundit: 2024-01-30 12:27
Si pjesë e diplomimit tim master në dep. Dizajni Industrial në Universitetin Eindhoven, krijova një pajisje vizatimi haptike që mund të përdoret për të lundruar në një makinë gjysmë autonome përmes trafikut. Ndërfaqja quhet shkarravitje dhe i lejon përdoruesit të përjetojë pajisje haptike në një hapësirë 2D përmes një force dhe vendndodhjeje të ndryshueshme. Edhe pse koncepti nuk ka të bëjë me këtë udhëzues, mund të lexoni më shumë rreth Scribble këtu:
Scribble përdor një konfigurim të lidhjes me 5 shirita i cili e lejon atë të lëvizë dy shkallë anësore të lirisë (DoF). Ky konfigurim është mjaft i popullarizuar në mesin e prototiperëve për të krijuar robotë vizatimi, këtu janë disa shembuj:
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
Mekanikisht, këta robotë janë të lehtë për t'u bërë. Ata kanë nevojë vetëm për nyje themelore dhe kanë dy aktivizues që mund të krijojnë mjaft lëvizje të lëngshme. Kjo strukturë është ideale për stilistët që janë të interesuar të bëjnë strukturë lëvizëse Megjithatë, duke mos qenë një inxhinier mekanik, e kam gjetur kinematikën mjaft të vështirë për t'u përkthyer në kod. Prandaj, unë do të siguroj kodin bazë Arduino që përcakton kinematikën e përparme dhe të kundërt, në mënyrë që ta përdorni me lehtësi këtë në modelet tuaja të ardhshme!;-)
Ju lutemi shkarkoni kodin më poshtë!
* EDIT: për një projekt të ngjashëm, hidhini një sy https://haply.co *
Hapi 1: Ndërtimi i strukturës
Në varësi të qëllimit që keni në mendje, së pari duhet të hartoni një strukturë me 5 lidhje. Mendoni për matjet, aktivizuesit që dëshironi të përdorni dhe mënyrën e lidhjes së nyjeve për lëvizje të lëmuara.
Për prototipin tim, unë drejtoj kodin tim në një Arduino DUE që kontrollohet mbi serialin nga një program në Mac tim që është bërë në Open Frameworks. Programi përdor një lidhje UDP për të komunikuar me një imitues të drejtimit të bazuar në Unity 3D.
Prototipi Scribble përdor kushineta 5 mm dhe është bërë nga akrilikë 5 mm të prerë me lazer. Aktivizuesit janë Makinat Haptic të Frank van Valeknhoef që lejojnë aktivizimin, leximin e pozicionit dhe nxjerrjen e një force të ndryshueshme. Kjo i bëri ato ideale për vetitë haptike të dëshiruara të Scribble. Më shumë për aktivizuesit e tij mund të gjeni këtu:
Hapi 2: Njihni vlerat tuaja të harduerit
Kinematika e përparme bazohet në stacionin e motit Plot clock nga SAP:
Siç tregohet në konfigurimin e tyre është zgjatur që krahu të mbajë një shënues për të vizatuar. Kjo është hequr pasi nuk ka shërbyer për qëllim për prototipin e shkarravitjes. Kontrolloni kodin e tyre nëse dëshironi të shtoni përsëri këtë përbërës. Emrat në figurë mbahen të njëjtë në konfigurimin tim.
Në varësi të harduerit tuaj, algoritmi duhet të dijë vetitë tuaja të harduerit:
int leftActuator, rightActuator; // këndi për t'i shkruar aktivizuesit në deg, ndryshoni në nota nëse dëshironi më shumë saktësi
int posX, posY; // koordinatat e vendndodhjes së treguesit
Vendosni zgjidhjen e vlerave tuaja hyrëse
int posHapatX = 2000;
int posHapatY = 1000;
Dimensionet e konfigurimit tuaj, vlerat janë në mm (shiko foton SAP)
#define L1 73 // krahun motorik me gjatësi, shihni foton SAP (majtas dhe djathtas janë të njëjtë)
#define L2 95 // krahu i zgjatjes së gjatësisë, shihni foton SAP (majtas dhe djathtas janë të njëjtë)
#përcakto gamënX 250 // diapazoni maksimal në drejtimin X që pika të lëvizë (nga e majta në të djathtë, 0 - maxVal)
#përcakto gamënY 165 // diapazoni maksimal në drejtim Y që pika të lëvizë (nga 0 në arritjen maksimale duke qëndruar në qendër)
#përcaktoni origjinënL 90 // distanca e kompensuar nga vlera më e vogël minimale X në pozicionin e qendrës së aktivizuesit
#përcaktoni origjinënR 145 // distanca e kompensuar nga shuma minimale X në pozicionin e qendrës së aktivizuesit, distanca midis dy motorëve është në këtë rast
Hapi 3: Kinematika përpara
Siç u përmend në hapin e mëparshëm, kinematika e përparuar bazohet në algoritmin e SAP.
Boshllëku përditëson vlerat e këndit të dëshiruar të aktivit të majtë dhe të djathtë të përcaktuar më parë. Bazuar në vlerat X dhe Y që lidhen me të do të llogarisë këndet e drejta për ta çuar treguesin në këtë pozicion.
void set_XY (double Tx, double Ty) // futni vlerën tuaj X dhe Y {// disa vale që na duhen, por nuk duam t'i ruajmë për një kohë të gjatë dyfish dx, dy, c, a1, a2, Hx, Hy; // hartoni rezolucionin e inpitit në rangun e konfigurimit tuaj në botën reale int realX = hartë (Tx, 0, posStepsX, 0, rangeX); // ndërroj nëse hartëzohet nëse përmbyset int realY = hartë (Ty, posStepsX, 0, 0, rangeY); // shkëmbim nëse hartëzimi është i përmbysur // këndi calc për aktivizuesin e majtë // kartezian dx/dy dx = realX - origjinL; // përfshini offset dy = realY; // gjatësia polare (c) dhe këndi (a1) c = sqrt (dx * dx + dy * dy); a1 = atan2 (dy, dx); a2 = kthesa e kthimit (L1, L2, c); leftActuator = kati (((M_PI - (a2 + a1)) * 4068) / 71); // këndi përfundimtar dhe konvertohet nga rad në deg // këndi calc për aktivizuesin e drejtë dx = realX - origRR; // përfshini offset dy = realY; c = sqrt (dx * dx + dy * dy); a1 = atan2 (dy, dx); a2 = kthesa e kthimit (L1, L2, c); rightActuator = kati (((a1 - a2) * 4068) / 71); // këndi përfundimtar dhe konvertohet nga rad në deg}
Boshllëku shtesë për llogaritjen e këndit:
kthesë e dyfishtë e kthimit (dyshe a, dyshe b, dyshe c) {// rregulli i kosinusit për këndin midis c dhe një kthimi acos ((a * a + c * c - b * b) / (2 * a * c)); }
Hapi 4: Kinematika Inverse
Kinematika e kundërt punon anasjelltas. Ju lidhni rrotullimin e aktivizuesve tuaj në shkallë dhe zbrazëtia do të azhurnojë pozicionin e përcaktuar më parë.
Ju lutemi vini re se do t'ju nevojiten aktivizues ose një sensor i veçantë që mund të lexojë këndin e krahut. Në rastin tim, kam përdorur aktivizues që mund të lexojnë dhe shkruajnë pozicionin e tyre njëkohësisht. Ndjehuni të lirë të eksperimentoni me këtë dhe konsideroni të shtoni një lloj kalibrimi në mënyrë që të jeni të sigurt se këndi juaj është lexuar saktë.
Recommended:
Roboti i vizatimit me Adafruit Shield (Bëni atë të lëvizë konkurs): 10 hapa (me fotografi)
Roboti i vizatimit me Adafruit Shield (Make It Move Contest): Përshëndetje emrat e mi Jacob dhe unë jetojmë në MB. Në këtë projekt unë do të ndërtoj një robot që tërheq për ju. *Unë jam i sigurt se shumë prej jush duan ta shohin atë, kështu që nëse doni ta dini, kaloni menjëherë në hapin e dytë deri në të fundit, por sigurohuni që të ktheheni këtu për të parë
Roboti i vizatimit XY: 12 hapa
Roboti i Vizatimit XY: Sot po diskutoj një projekt mekatronik. Ky projekt është në të vërtetë një derivat i një video që kam postuar tashmë këtu: ROUTER AND PLOTTER WIFI ME WEBSERVER N E ESP32. Unë ju këshilloj ta shikoni këtë së pari, pasi shpjegon se si funksionon programi GRBL.
Roboti i vizatimit për Arduino: 18 hapa (me fotografi)
Roboti i vizatimit për Arduino: Shënim: Unë kam një version të ri të këtij roboti që përdor një tabelë qarku të shtypur, është më e lehtë për tu ndërtuar dhe ka zbulim të pengesave IR! Shikojeni atë në http://bit.ly/OSTurtle Unë e projektova këtë projekt për një punëtori 10-orëshe për ChickTech.org qëllimi i të cilit është të
Roboti i vizatimit Avatar duke përdorur MESH: 6 hapa (me fotografi)
Roboti i vizatimit Avatar duke përdorur MESH: A keni dëgjuar se aktiviteti fizik mund t'ju bëjë më kreativ? Të qenit aktiv ju ndihmon të shtrini të menduarit tuaj dhe të krijoni ide kreative. Nëse nuk punoni shpesh, por dëshironi të rritni kreativitetin tuaj, mos u shqetësoni - Këtu është diçka për ju! Kjo '
Roboti i Pikturuar i Vizatimit!: 4 Hapa (me Fotografi)
Roboti i Pikturuar i Vizatimit!: Frymëzuar nga roboti i dehur i xhepit, doja t'i jepja robotit një punë për të bërë. Vendosa ta lejoj robotin e dehur të bëjë disa vizatime. Për ta bërë vetë ju do të keni nevojë për sa vijon: materiale: 3 shënues me majë të ndjerë një qelizë butoni që mban shumë