Cov txheej txheem:

Haptic Drawing Robot: 5 Kauj Ruam (nrog Duab)
Haptic Drawing Robot: 5 Kauj Ruam (nrog Duab)

Video: Haptic Drawing Robot: 5 Kauj Ruam (nrog Duab)

Video: Haptic Drawing Robot: 5 Kauj Ruam (nrog Duab)
Video: Playstation 5 | Astro's Playroom | Augmented reality controller 2024, Hlis ntuj nqeg
Anonim

Raws li ib feem ntawm kuv tus tswv kawm tiav ntawm qhov chaw. Kev Tsim Qauv Hauv Tsev Kawm Qib Siab Eindhoven, Kuv tau tsim cov cuab yeej kos duab haptic uas tuaj yeem siv rau kev tsav tsheb ib nrab ntawm tus kheej los ntawm tsheb. Lub interface tau hu ua kev sau ntawv thiab tso cai rau cov neeg siv ntsib teeb meem haptic nyob hauv 2D qhov chaw los ntawm qhov sib txawv quab yuam thiab qhov chaw nyob. Txawm hais tias lub tswv yim tsis yog qhov kev qhia no yog hais txog, koj tuaj yeem nyeem ntxiv txog Scribble ntawm no:

Scribble siv 5 bar kev teeb tsa kev sib txuas uas tso cai rau nws txav ob sab ntawm qib kev ywj pheej (DoF). Qhov teeb tsa no tau haum haum ntawm cov neeg tsim qauv los tsim cov neeg hlau kos duab, ntawm no yog qee qhov piv txwv:

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

Mechanically cov neeg hlau no yooj yim ua. Lawv tsuas yog xav tau cov pob qij txha yooj yim thiab muaj ob lub tshuab ua haujlwm uas tuaj yeem tsim qee qhov kev ua kua. Cov qauv no yog qhov zoo tshaj plaws rau cov tsim qauv uas txaus siab ua kev txav chaw Txawm li cas los kuv tsis yog tus kws kho tshuab, kuv pom kinematics nyuaj rau txhais lus rau tus lej. Vim li no kuv yuav muab cov lej Arduino yooj yim uas suav tawm ua ntej thiab rov qab kinematics yog li koj tuaj yeem siv qhov no yooj yim hauv koj cov qauv tsim yav tom ntej!;-)

Thov rub cov cai hauv qab no!

* Kho: rau qhov haujlwm zoo sib xws, saib ntawm https://haply.co *

Kauj Ruam 1: Txhim Kho Cov Qauv

Txhim Kho Cov Qauv
Txhim Kho Cov Qauv

Nyob ntawm lub hom phiaj koj muaj hauv siab koj yuav tsum xub tsim tus qauv 5-txuas. Xav txog kev ntsuas, tus actuators koj xav siv, thiab yuav txuas cov pob qij txha li cas rau kev txav mus los yooj yim.

Txog kuv tus qauv, kuv tau sau kuv cov cai ntawm Arduino DUE uas tau tswj hwm ntau ntxiv los ntawm ib qho program ntawm kuv Mac uas tau ua hauv Open Frameworks. Qhov kev zov me nyuam siv UDP kev sib txuas los sib tham nrog Unity 3D raws kev sim tsav tsheb.

Scribble tsab ntawv siv 5mm bearings thiab yog ua los ntawm 5 mm laser-cut acrilic. Tus actuators yog Frank van Valeknhoef's Haptic Engines uas tso cai rau kev ua haujlwm, nyeem tawm txoj haujlwm, thiab tawm dag zog sib txawv. Qhov no ua rau lawv zoo tagnrho rau Scribble qhov xav tau haptic zog. Xav paub ntau ntxiv txog nws tus actuators tuaj yeem pom ntawm no:

Kauj Ruam 2: Paub Koj Cov Khoom Muaj Nqis

Paub Koj Cov Khoom Muaj Nqis
Paub Koj Cov Khoom Muaj Nqis

Cov kinematics rau pem hauv ntej yog raws li Plot moos huab cua chaw nres tsheb los ntawm SAP:

Raws li qhia hauv lawv cov teeb tsa tau txuas ntxiv rau sab caj npab kom tuav tus cim kos. Qhov no tau raug tshem tawm txij li nws tau ua haujlwm tsis muaj lub hom phiaj rau daim ntawv sau ua qauv. Txheeb xyuas lawv cov cai yog tias koj xav ntxiv cov khoom tiv thaiv no rov qab rau. Cov npe hauv daim duab khaws cia zoo ib yam hauv kuv qhov kev teeb tsa.

Nyob ntawm koj lub khoos phis tawj algorithm xav paub koj cov cuab yeej kho vajtse:

int sab laugActuator, sab xisActuator; // lub kaum sab xis los sau rau tus actuator hauv deg, hloov mus rau ntab yog tias koj xav tau qhov tseeb dua

int posX, posY; // kev tswj hwm ntawm qhov chaw ntawm tus pointer

Teem qhov kev daws teeb meem ntawm koj qhov kev nkag siab

int posStepsX = 2000;

int posStepsY = 1000;

Qhov ntev ntawm koj teeb tsa, qhov tseem ceeb yog hli (saib daim duab SAP)

#define L1 73 // ntev lub cev muaj zog caj npab, saib daim duab SAP (sab laug thiab sab xis zoo ib yam)

#define L2 95 // ntev txuas caj npab, saib daim duab SAP (sab laug thiab sab xis zoo ib yam)

#define rangeX 250 // ntau qhov ntau hauv X kev taw qhia rau qhov taw tes txav (ntawm sab laug mus rau sab xis, 0 - maxVal)

#define rangeY 165 // qhov ntau kawg hauv Y kev taw qhia rau qhov taw tes txav (los ntawm 0 mus txog qhov siab tshaj plaws thaum nyob nruab nrab)

#define originL 90 // offset nrug los ntawm feem ntau minumim X tus nqi rau qhov chaw ua haujlwm

#define originR 145 // offset nrug los ntawm feem ntau minumim X tus nqi rau qhov chaw ua haujlwm nruab nrab, qhov nrug nruab nrab ntawm ob lub cav yog qhov no

Kauj ruam 3: Forward Kinematics

Forward Kinematics
Forward Kinematics

Raws li tau hais hauv cov kauj ruam dhau los, kinematics rau pem hauv ntej yog ua raws SAP's algorithm.

Qhov khoob khoob hloov tshiab rau sab laug thiab sab xis tus xav tau lub kaum sab xis qhov txiaj ntsig tau piav qhia ua ntej. Raws li X thiab Y qhov tseem ceeb uas tau ntsaws rau hauv nws yuav suav lub kaum sab xis kom tau tus pointer rau txoj haujlwm no.

tsis muaj teeb meem set_XY (ob Tx Tx, ob npaug Ty) // nkag koj tus X thiab Y tus nqi {// qee cov vals peb xav tau tab sis tsis xav khaws ntev ntev ob npaug dx, dy, c, a1, a2, Hx, Hy; // daim ntawv qhia kev daws teeb meem rau thaj tsam ntawm koj kev teeb tsa hauv ntiaj teb tiag intX = daim ntawv qhia (Tx, 0, posStepsX, 0, rangeX); // sib pauv yog kuas yog inversed int realY = daim ntawv qhia (Ty, posStepsX, 0, 0, rangeY); // Sib pauv yog daim duab qhia kev yog inversed // lub kaum sab xis rau sab laug actuator // cartesian dx/dy dx = realX - originL; // suav offset dy = realY; // ncov qaumteb qabteb ntev (c) thiab kaum (a1) c = sqrt (dx * dx + dy * dy); a1 = atan2 (dy, dx); a2 = return_angle (L1, L2, c); leftActuator = pem teb (((M_PI - (a2 + a1)) * 4068) / 71); // kawg lub kaum ntse ntse thiab hloov pauv los ntawm rad mus rau deg // kaum sab xis rau txoj cai actuator dx = realX - originR; // suav offset dy = realY; c = sqrt (dx * dx + dy * dy); a1 = atan2 (dy, dx); a2 = return_angle (L1, L2, c); rightActuator = pem teb (((a1 - a2) * 4068) / 71); // lub kaum ntse ntse kawg thiab hloov pauv los ntawm rad rau deg}

Tsis muaj qhov khoob ntxiv rau kev xam lub kaum sab xis:

ob npaug return_angle (ob npaug a, ob b, ob c) {// cosine txoj cai rau kaum ntawm c thiab rov qab acos ((a * a + c * c - b * b) / (2 * a * c)); }

Kauj Ruam 4: Kinematics Pauv

Inverse Kinematics
Inverse Kinematics

Kev sib hloov kinematics ua haujlwm nyob ib puag ncig. Koj ntsaws rau hauv kev sib hloov ntawm koj tus actuators hauv qib thiab qhov khoob yuav hloov kho txoj haujlwm uas tau hais tseg ua ntej.

Thov nco ntsoov tias koj yuav xav tau tus actuators lossis cais lub sensor uas tuaj yeem nyeem lub kaum sab xis ntawm caj npab. Hauv kuv qhov xwm txheej, kuv tau siv tus actuators uas tuaj yeem nyeem thiab sau lawv txoj haujlwm ib txhij. Xav tias yuav sim nrog qhov no thiab txiav txim siab ntxiv qee qhov kev ntsuas kom koj thiaj li paub tseeb tias koj lub kaum sab xis raug nyeem raug.

Pom zoo: