
Мазмұны:
2025 Автор: John Day | [email protected]. Соңғы өзгертілген: 2025-01-23 14:51
Магистратура бөлімінде магистратураның бір бөлігі ретінде. Эйндховен университетінде өнеркәсіптік дизайн, мен жартылай автономды автокөлікті қозғалыс кезінде жылжытуға болатын хаптикалық сурет салу құрылғысын жасадым. Интерфейс 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 буынды құрылымды жобалауыңыз керек. Қолданғыңыз келетін өлшемдер, жетектер және тегіс қозғалыстар үшін буындарды қалай бекіту керектігі туралы ойланыңыз.
Менің прототипім үшін мен кодты Open Frameworks -те жасалған Mac жүйесіндегі бағдарлама арқылы басқарылатын Arduino DUE -де іске қосамын. Бағдарлама Unity 3D негізделген тренажермен байланысу үшін UDP қосылымын пайдаланады.
Scribble прототипі 5 мм подшипниктерді пайдаланады және 5 мм лазермен кесілген акриликтен жасалған. Іске қосқыштар - бұл Франк ван Валекнхофтың Haptic Engines қозғалтқыштары, олар іске қосуға, позицияны оқуға және айнымалы күш шығаруға мүмкіндік береді. Бұл оларды Scribble қалаған haptic қасиеттері үшін өте қолайлы етті. Оның жетектері туралы толығырақ мына жерден білуге болады:
2 -қадам: Жабдықтың құндылығын біліңіз

Алға қарай кинематика SAP бойынша Plot clock метеостанциясына негізделген:
Конфигурацияда көрсетілгендей, қолды салу үшін маркерді ұстап тұру үшін ұзартылады. Бұл жазбаның прототипі үшін ешқандай мақсат болмағандықтан жойылды. Егер сіз бұл компонентті қайта қосқыңыз келсе, олардың кодын тексеріңіз. Менің конфигурациямда суреттегі атаулар өзгеріссіз қалады.
Жабдыққа байланысты алгоритм аппараттық құралдардың қасиеттерін білуі керек:
int leftActuator, rightActuator; // бұранда, қозғағышқа градуста жазу, егер сіз дәлірек болғыңыз келсе, өзгермеліге ауысыңыз
int posX, posY; // көрсеткіштің орналасқан жерінің координаттары
Енгізілетін мәндердің ажыратымдылығын орнатыңыз
int posStepsX = 2000;
int posStepsY = 1000;
Орнатудың өлшемдері, мәндері мм (SAP суретін қараңыз)
#define L1 73 // ұзындығы қозғалтқыш тұтқасы, SAP суретін қараңыз (сол және оң жақ бірдей)
#define L2 95 // ұзартқыш тірек, SAP суретін қараңыз (сол және оң жақ бірдей)
#defineXX 250 // жылжу нүктесі үшін X бағыттағы максималды диапазон (солдан оңға, 0 - maxVal)
#анықтайтын ауқымы Y 165 // жылжу нүктесі үшін Y бағыты бойынша максималды диапазон (0 -ден максималды жетуге дейін орталықта)
#dinefine LL // ең кіші 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 realY = map (Ty, posStepsX, 0, 0, rangeY); // егер инверсия болса, егер салыстыру болса, ауыстыру // сол жақ жетектің калькуляциялық бұрышы // картесиялық dx/dy dx = realX - OrigL; // офсетті қосу dy = realY; // полярлық ұзындық (с) және бұрыш (a1) c = sqrt (dx * dx + dy * dy); a1 = atan2 (dy, dx); a2 = қайтару бұрышы (L1, L2, c); leftActuator = қабат (((M_PI - (a2 + a1)) * 4068) / 71); // түпкілікті бұрыш және радтан deg -ге түрлендіру // оң жақ жетегі үшін кальций бұрышы dx = realX - OrigR; // офсетті қосу dy = realY; c = sqrt (dx * dx + dy * dy); a1 = atan2 (dy, dx); a2 = қайтару бұрышы (L1, L2, c); rightActuator = қабат (((a1 - a2) * 4068) / 71); // соңғы бұрыш және радтан deg -ге түрлендіру}
Бұрышты есептеу үшін қосымша бос орын:
double return_angle (double a, double b, double c) {// c және aco қайтару арасындағы бұрыштың косинус ережесі ((a * a + c * c - b * b) / (2 * a * c)); }
4 -қадам: Кері кинематика

Кері кинематика керісінше жұмыс істейді. Сіз жетектердің айналуын градуспен қосасыз, ал бос орын бұрын анықталған орынды жаңартады.
Қолдың бұрышын оқитын жетектер немесе бөлек сенсор қажет болатынын ескеріңіз. Менің жағдайда мен өз позициясын бір мезгілде оқи алатын және жаза алатын жетектерді қолдандым. Бұған тәжірибе жасаңыз және калибрлеудің қандай да бір түрін енгізуді қарастырыңыз, осылайша сіздің бұрышыңыз дұрыс оқылғанына сенімді боласыз.
Ұсынылған:
Роботтық дауыс модуляторы: 14 қадам (суреттермен)

Роботтық дауыс модуляторы: бұл сіздің адамдық дауысыңызды жоғары робот дауысына айналдыратын құрылғы. Ол сонымен қатар барлық сүйікті аспаптарды, микрофондар мен музыкалық ойнатқышты қосуға болатын аудио ұясы сияқты көптеген тәтті мүмкіндіктерді қамтиды
ASL роботтық қолы (сол жақта): 9 қадам (суреттермен)

ASL роботтық қолы (сол жақта): Бұл семестрде жоба саңырау және есту қабілеті нашар адамдарға арналған ым тілінің әліпбиін көрсетуге қабілетті 3-D басып шығарылатын сол қолды құру болды. Америкалық ым тілін көрсетуге қол жетімділік
Қимылды басқару қаңқасы Bot - 4WD Hercules мобильді роботтық платформасы - Arduino IDE: 4 қадам (суреттермен)

Қимылмен басқару қаңқасы - 4WD Hercules мобильді роботтық платформасы - Arduino IDE: Seeedstudio Skeleton Bot - 4WD Hercules мобильді роботтық платформасы арқылы жасалған қимылды басқару құралы. Үйде коронарлық вирустың эпидемиясын басқару кезінде мен өте көңілді болдым. Менің досым маған 4WD Hercules мобильді роботтық платформасын жаңа ретінде берді
3D басып шығарылған роботтық қол: 6 қадам (суреттермен)

3D басып шығарылған роботтық қол: Бұл Райан Гросс жасаған робот қолының ремиксі: https://www.myminifactory.com/object/3d-print-humanoid-robotic-hand-34508
FRITZ - аниматронды роботтық бас: 39 қадам (суреттермен)

FRITZ - АНИМАТРОНИКАЛЫҚ РОБОТИКАЛЫҚ БАС: Ей, жігіт менің нұсқауларыма қош келдіңіз. Фритц - Аниматронды роботты бас. Фриз - бұл ашық дереккөз және таңғажайып. Оны кез келген нәрсеге қолдануға болады. Мысалы: адам эмоциясын үйрену, ресепшн, Хэллоуин студи, флирт, әнші және тағы басқалар