Агуулгын хүснэгт:

Дасан зохицох зургийн робот: 5 алхам (зурагтай)
Дасан зохицох зургийн робот: 5 алхам (зурагтай)

Видео: Дасан зохицох зургийн робот: 5 алхам (зурагтай)

Видео: Дасан зохицох зургийн робот: 5 алхам (зурагтай)
Видео: СУХИЕ ГЛАЗА? Я ЗНАЮ ЧТО ДЕЛАТЬ! 2024, Долдугаар сарын
Anonim

Магистрын дипломын нэг хэсэг. Эйндховен их сургуулийн аж үйлдвэрийн дизайны чиглэлээр би хагас бие даасан машиныг замын хөдөлгөөнд оролцуулах зориулалттай хаптик зурах төхөөрөмжийг бүтээсэн. Интерфэйсийг scribble гэж нэрлэдэг бөгөөд хэрэглэгчид 2D орон зайд мэдрэгчтэй бэхэлгээг хувьсах хүч, байршлаар дамжуулан мэдрэх боломжийг олгодог. Хэдийгээр ойлголт нь энэ зааварчилгааны тухай биш боловч та Scribble -ийн талаар эндээс уншиж болно:

Scribble нь 5 бар холболтын тохиргоог ашигладаг бөгөөд энэ нь хоёр талын эрх чөлөөг (DoF) шилжүүлэх боломжийг олгодог. Энэхүү тохиргоо нь зургийн робот бүтээх загвар зохион бүтээгчдийн дунд нэлээд түгээмэл хэрэглэгддэг бөгөөд зарим жишээг энд харуулав.

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

Механик байдлаар эдгээр роботуудыг хийхэд хялбар байдаг. Тэдэнд зөвхөн үндсэн холбоос хэрэгтэй бөгөөд нэлээд хөдөлгөөнтэй хөдөлгөөн хийх чадвартай хоёр идэвхжүүлэгчтэй. Энэхүү бүтэц нь хөдлөх бүтэц хийх сонирхолтой дизайнеруудад тохиромжтой. Гэхдээ би механик инженер биш ч гэсэн кинематикийг код руу орчуулахад хэцүү санагдсан. Тиймээс би урагш болон урвуу кинематикийг тодорхойлдог үндсэн Arduino кодыг өгөх болно, ингэснээр та үүнийг ирээдүйн дизайндаа хялбархан ашиглах боломжтой болно!;-)

Доорх кодыг татаж авна уу!

* EDIT: ижил төстэй төслийн хувьд https://haply.co хаягийг үзнэ үү *

Алхам 1: Бүтцийг бий болгох

Бүтцийг бий болгох
Бүтцийг бий болгох

Зорилгоосоо хамааран 5 холболттой бүтэц зохион бүтээх хэрэгтэй. Хэмжилт, ашиглахыг хүсч буй идэвхжүүлэгчид, гөлгөр хөдөлгөөн хийхэд үеийг хэрхэн яаж холбох талаар бодож үзээрэй.

Миний прототипийн хувьд би кодыг Arduino DUE дээр ажиллуулдаг бөгөөд үүнийг Open Frameworks -д хийсэн Mac дээрх програмаар удирддаг. Энэхүү програм нь UDP холболтыг ашиглан Unity 3D дээр суурилсан жолоодлогын симулятортай харилцдаг.

Scribble прототип нь 5 мм холхивч ашигладаг бөгөөд 5 мм-ийн лазераар зүссэн акриликаар хийгдсэн байдаг. Идэвхжүүлэгчид нь Франк ван Валекнхофын Хаптик хөдөлгүүрүүд бөгөөд идэвхжүүлэх, байрлалыг унших, хувьсах хүч гаргах боломжийг олгодог. Энэ нь тэднийг Scribble -ийн хүссэн haptic шинж чанаруудад хамгийн тохиромжтой болгосон юм. Түүний идэвхжүүлэгчийн талаар илүү ихийг эндээс олж болно:

Алхам 2: Тоног төхөөрөмжийн үнэ цэнээ мэдэж аваарай

Тоног төхөөрөмжийн үнэ цэнээ мэдэж аваарай
Тоног төхөөрөмжийн үнэ цэнээ мэдэж аваарай

Урагшлах кинематик нь SAP-ийн Plot цаг агаарын станц дээр суурилдаг:

Тэдний тохиргоонд үзүүлсэн шиг гар зурах маркер барихын тулд сунгасан байна. Энэ нь бичээчийн прототипт ямар ч ач холбогдол өгөөгүй тул үүнийг хассан болно. Хэрэв та энэ бүрэлдэхүүн хэсгийг дахин асаахыг хүсвэл тэдний кодыг шалгана уу. Зураг дээрх нэрс миний тохиргоонд ижил хэвээр байна.

Таны техник хангамжаас хамааран алгоритм нь таны тоног төхөөрөмжийн шинж чанарыг мэдэх ёстой.

int leftActuator, rightActuator; // өнцөг нь идэвхжүүлэгчид deg дээр бичих, хэрэв та илүү нарийвчлалтай байхыг хүсч байвал хөвөх хэлбэрээр солино

int posX, posY; // заагчийн байршлын координат

Оруулсан утгуудынхаа нарийвчлалыг тохируулна уу

int posStepsX = 2000;

int posStepsY = 1000;

Таны тохиргооны хэмжээ, утга мм -ээр байна (SAP зургийг үзнэ үү)

#define L1 73 // урт хөдөлгүүрийн гар, SAP зургийг үзнэ үү (зүүн ба баруун ижил байна)

#define L2 95 // уртыг сунгах гар, SAP зургийг үзнэ үү (зүүн ба баруун ижил байна)

#define rangeX 250 // шилжих цэгийн X чиглэл дэх хамгийн их муж (зүүнээс баруун тийш, 0 - maxVal)

Y 165 // зайг тодорхойлох хамгийн дээд хүрээ Y чиглэлд (0 -ээс хамгийн дээд хэмжээнд хүрэх хүртэл)

#тодорхойлох гарал үүсэл L 90 // хамгийн бага X утгаас идэвхжүүлэгчийн төвийн байрлал хүртэлх офсет зай

#тодорхой гарал үүсэл R 145 // хамгийн бага X утгаас идэвхжүүлэгчийн төвийн байрлал хүртэлх офсет зай, хоёр мотор хоорондын зай энэ тохиолдолд байна.

Алхам 3: Кинематикийг урагшлуул

Урагш Кинематик
Урагш Кинематик

Өмнөх алхамд дурдсанчлан урагшлах кинематик нь SAP -ийн алгоритм дээр суурилдаг.

Хоосон зай нь өмнө тодорхойлсон зүүн ба баруун чиглүүлэгчийн хүссэн өнцгийн утгыг шинэчилдэг. Үүнийг залгасан X ба Y утгууд дээр үндэслэн заагчийг энэ байрлалд оруулахын тулд зөв өнцгийг тооцоолно.

void set_XY (double Tx, double Ty) // X ба Y утгуудаа оруулна уу {// бидэнд хэрэгтэй боловч удаан dx, dy, c, a1, a2, Hx, Hy -д хадгалахыг хүсэхгүй байгаа зарим вальс; // бодит ертөнц дэх өөрийн тохиргооны хүрээг багтаасан газрын зургийн нарийвчлал int realX = map (Tx, 0, posStepsX, 0, rangeX); // int reY = map (Ty, posStepsX, 0, 0, rangeY) урвуу байрлалтай бол зураглалыг солих; // хэрэв урвуу байвал зураглал хийвэл солих // зүүн идэвхжүүлэгчийн тооцоолох өнцөг // cartesian dx/dy dx = realX - origL; // offset dy = realY оруулах; // туйлын урт (c) ба өнцөг (a1) c = sqrt (dx * dx + dy * dy); a1 = atan2 (dy, dx); a2 = return_angle (L1, L2, c); leftActuator = шал (((M_PI - (a2 + a1)) * 4068) / 71); // эцсийн өнцөг ба rad -аас deg руу хөрвүүлэх // зөв идэвхжүүлэгчийн тооцоолох өнцөг dx = realX - OrigR; // оруулах офсет dy = realY; c = sqrt (dx * dx + dy * dy); a1 = atan2 (dy, dx); a2 = return_angle (L1, L2, c); rightActuator = шал (((a1 - a2) * 4068) / 71); // эцсийн өнцөг ба рад -аас градус руу хөрвүүлэх}

Өнцөг тооцоолох нэмэлт хоосон зай:

double return_angle (double a, double b, double c) {// c ба буцах acos хоорондын өнцгийн косинус дүрэм ((a * a + c * c - b * b) / (2 * a * c)); }

Алхам 4: Урвуу кинематик

Урвуу кинематик
Урвуу кинематик

Урвуу кинематик нь эсрэгээрээ ажилладаг. Та идэвхжүүлэгчийнхээ эргэлтийг градусаар залгаж, хоосон зай нь өмнө тодорхойлсон байрлалыг шинэчлэх болно.

Танд гарын өнцөгийг унших боломжтой идэвхжүүлэгч эсвэл тусдаа мэдрэгч хэрэгтэй болно гэдгийг анхаарна уу. Миний хувьд би байр сууриа нэгэн зэрэг уншиж, бичиж чаддаг идэвхжүүлэгчийг ашигласан. Үүнийг туршиж үзээд ямар нэгэн шалгалт тохируулга хийх талаар бодож үзээрэй, ингэснээр таны өнцгийг зөв уншсан гэдэгт итгэлтэй байна.

Зөвлөмж болгож буй: