Форум по Роботика

Проекти за роботи => Други роботи => Темата е започната от: Dimitar Kurtev в Юни 09, 2010, 11:56:31 pm

Титла: Хексапод Тори
Публикувано от: Dimitar Kurtev в Юни 09, 2010, 11:56:31 pm
Здравейте,

Преди около година почнах да се интересувам от роботика и този форум е един от първите, на който попаднах. Миналият септември реших, че ще правя за дипломната си работа робот от тип хексапод. Цели, които си поставих бяха:
-робот подобен на хексаподите на фирма Lynxmotion и Micromagic Systems с 3DOF(dimensions of freedom) на крак
-да не използвам готови части(говоря за скобите за сервотата, тялото и тн.)
-да не трябва да продам левия или десния бъбрек, за да събера пари за сервомотори ;)
-безжична комуникация (тогава си мислих за XBee модул, но стана с bluetooth)
-Софтуер за управлението му от PC да е лесен и интуитивен

В момента всичко това е готово. Резултат:
-Алуминиеви части - 1.5мм изрязани на водна CNC машина(отне ми около месец и половина да направя дизайна)
-19 серво мотора Hitec HS-325hb - не са достатъчно мощни, за масата на робота, но използвам ластици, които премахват натоварването върху моторчетата в изправено положение почти на 100%
-захранвам го от едно ATX захранване .. което купих за 20лв..- за батерии и зарадно не ми се даваха пари.
- управлението на сервотата става с SSC-32 контролер на фирма Lynxmotion.
-bluesmirf модул за комуникация
-инверсната кинематика е изцяло имплементирана в PC софтуера, който се получи доста приятен (писах го на C# .NET 3.5)

Стига приказки, ето и малко мат'рял :lol: :
http://www.youtube.com/watch?v=tEomme2tzkQ

Скоро ще му слагам глава със сензор за разстояние, линеен лазер и една стара web камера(направих си програмка с която мога да измервам разстоянието на обектите пред камерата с помощта на лазера и смятам да го пробвам с робота :))

PS. После ако искате ще кача и снимки, че много ми се спи сега  :(
Титла: Хексапод Тори
Публикувано от: sv_shady в Юни 10, 2010, 11:49:22 am
Браво! :) Наистина се е получило много добре :) Мисля, че лека по-лека в България ще започват да се появяват все повече роботи с толкова високо качество като твоя :) Много ще се радвам, ако се видим на сбирката на Роботев юли месец и да го видя паяка на живо :) Иначе за камерката и лазера мога да те посъветвам да сложиш инфрачервен лазер и един филтър на камерата, койото пропуска само инфрачервена светлина, така няма да си зависим от цвета на предмета (инфрачервения филтър може да си го направиш  от диска в дискетите за PC). А за камерката и интерфейсването с нея щом ползваш С# .NET силно ти препоръчвам AForge.NET Framework. Поздравления и успехи в начинанието :)
Титла: Хексапод Тори
Публикувано от: Dimitar Kurtev в Юни 10, 2010, 02:03:11 pm
Благодаря ти sv_shady. Рядко срещам хора, който могат да оценят подобно нещо, тъй като за повечето е "голямата хлебарка" и ми предлагат различни препарати да я отрепя :lol:. Идеята ти за инфрачервения лазер е наистина много добра, а програмката, която съм написал е точно с класовете от AForge.NET Framework. Няколко въпроса - от къде мога да си набавя подобен лазер? Или да го изкъртя от нещо ненужно? .. Ако го направя по този начин ще си реша проблемите с ярката светлина  :clap:
Титла: Хексапод Тори
Публикувано от: nmanchovski в Юни 10, 2010, 03:33:48 pm
Аз следвам същата логика за камера с лазер и си набавих два от:

http://tpetrov.com/search.php?prod=%D0%9F%D1%80%D0%BE%D0%B6%D0%B5%D0%BA%D1%82%D0%BE%D1%80+%D0%9A%D0%9B%D0%AE%D0%A7%D0%9E%D0%94%D0%AA%D0%A0%D0%96%D0%90%D0%A2%D0%95%D0%9B+4
Титла: Хексапод Тори
Публикувано от: sv_shady в Юни 10, 2010, 03:49:32 pm
Как ще го трепаш :) На мен това ми беше мечта като започнах да се занимавам с роботика, но нямах финансова възможност, а сега пък все си намирам нещо, което ми е по-интересно. :) Ами, ако бях на твое място бих си купил нов инфрачервен лазерен диод от TУК (http://bg.farnell.com/jsp/search/browse.jsp?N=500002+1004350&Ntk=gensearch_001&Ntt=laser&Ntx=mode+matchallpartial&No=0&getResults=true&appliedparametrics=true&locale=bg_BG&catalogId=&prevNValues=500002+1004350&filtersHidden=false&appliedHidden=false&originalQueryURL=%2Fjsp%2Fsearch%2Fbrowse.jsp%3FN%3D500002%2B1004350%26Ntk%3Dgensearch_001%26Ntt%3Dlaser%26Ntx%3Dmode%2Bmatchallpartial%26No%3D0%26getResults%3Dtrue%26appliedparametrics%3Dtrue%26locale%3Dbg_BG%26catalogId%3D%26prevNValues%3D500002%2B1004350). Иначе определено ще смегчиш проблема с ярката светлина, но пак ще съществува тъй като слънцето излъчва и в инфрачервения спектър.
Титла: Хексапод Тори
Публикувано от: Dimitar Kurtev в Юни 10, 2010, 03:53:32 pm
nmanchovski тези ключодържатели пак са с нормален маломощен червен лазерен диод. Идеята на sv_shady е да се ползва инфрачервен. Аз ползвам този лазер -> http://www.dealextreme.com/details.dx/sku.5928. Той има леща, която фокусира лазера в линия, а не в точка. Така мога да взимам разстоянието до обектите по цялата ширина на картината и да правя някакви предварителни изчисления накъде да тръгне робота или да си построя картана на помещението. Имплементацията не се различава от тази за фокусирана точка(просто се изчислява и ъгъл под който се вижда даден пиксел и тн.), но пък времето за обработка на изображението се увеличава. Доколкото знам в CD устройставата има инфрачервен лазер, но нямам сега под ръка ненужно, че да го разфасовам ..та ако има някъде да се продава такъв лазер ще е супер. Мисля че лещата за фокусираната линия ще свърши работа и върху IR лазер. Така че ако някой знае от къде да си взема .. да не крие  ;)
Титла: Хексапод Тори
Публикувано от: Dimitar Kurtev в Юни 10, 2010, 03:58:24 pm
sv_shady мерси за линка. Със сигурност разпознаването ще се подобри в домашни условия.., което е и моята цел. Най-вероятно ще поръчам и като го пробвам ще споделя резултатите.
Титла: Хексапод Тори
Публикувано от: Vexorian в Юни 10, 2010, 04:05:22 pm
Разработката ти е прекрасна! Браво, много се радвам, че има и други българи, които се занимават с роботика така детайлно! :)
Титла: Хексапод Тори
Публикувано от: anio в Юни 11, 2010, 11:05:38 am
Някой би ли обяснил как се измерва растоянието с лазер? Имаше някаква тема в letsmakerobots.com, но ми се видя много сложно, с няколко платки и тнт като на един вентилатор бяха сложили компакт диск, който като се върти лазера сочи в него...бе завъртяна работа :)
Титла: Хексапод Тори
Публикувано от: Dimitar Kurtev в Юни 11, 2010, 11:22:31 am
Благодаря ти,Vexorian!

anio ето ти линк, който първоначално гледах:http://sites.google.com/site/todddanko/home/webcam_laser_ranger. Честно да ти кажа от този пример погледнах само картинката и от там добих представа какво трябва да направя. Погледни го и ако не ти е ясно нещо ще се опитаме да ти обясним с по-прости думи.
Титла: Хексапод Тори
Публикувано от: anio в Юни 11, 2010, 11:39:26 am
Мерси много :) даже и с++ код са дали. А ти каква точно камера ползваш в случая?
Титла: Хексапод Тори
Публикувано от: Dimitar Kurtev в Юни 11, 2010, 11:54:27 am
Уеб камерата, която ползвам, е толкова стара, че не мога да намеря линк, за да ти покажа, но се сещам, че е на фирмата Trust и мисля, че вадеше резолюция от 640х480, което за мен е предостатъчно тъй като не гоня висока точност. Не мога да намеря точно какъв е модела, защото съм на работа сега, но мисля, че придоби представата за "високото" качество на камерата  :lol:
Титла: Хексапод Тори
Публикувано от: anio в Юни 11, 2010, 12:12:08 pm
Ясно :) аз питах да не е някаква по-особена, а тя била обикновена ъеб камера :) Ще пробвам с някой лазер като тези, за които nmanchovski е дал линк по-нагоре.
Титла: Хексапод Тори
Публикувано от: sv_shady в Юни 11, 2010, 12:58:52 pm
Сега се сетих, че ако ще ползваш обикновенна камера трябва да провериш дали има филтър, който спира инфрачервената светлина (най-вероятно е да има). Ако има такъв трябва да го спреш, иначе нищо няма да видиш, като сложиш и втория филтър, който проуска само инфрачервена светлина.
Титла: Хексапод Тори
Публикувано от: anio в Юни 11, 2010, 04:48:12 pm
Забравих да попитам. Аз тук се мъча на аутодеск да си направя някои елементи за това, което ми е в главата и гледам, че си писал за CNC машина. На елемент ли се плаща това ако идеш примерно някой да ти изреже елементите или на площ?
Титла: Хексапод Тори
Публикувано от: Dimitar Kurtev в Юни 11, 2010, 05:13:37 pm
Ами по принцип на площ, но цената е комплексна и зависи от сложността на елемента, материал, дебелина... аз когато го правих пратих на една фирма тук във Варна .dwg файлове .. и те за 1-2 дена ми казаха цена за всеки елемент на лазерно рязане и на водно.
Титла: Хексапод Тори
Публикувано от: Simeon в Юни 14, 2010, 03:09:18 pm
роботът е невероятен, браво! и аз се надявам да има повече такива проекти защото те определено вдигат нивото на всички в България, които се занимават с роботика.

следващото ни събиране ще е на 4 юли - заповядай да го демонстрираш. Убеден съм, че ще е интересно не само за sv_shady.
Титла: Хексапод Тори
Публикувано от: Dimitar Kurtev в Юни 14, 2010, 08:13:09 pm
Благодаря! .. За съжаление няма да мога да дойда тъй като съм от Варна и наближава крайния срок за предаването на дипломната работа, а и много работа се отвори напоследък. Дано на някое следващо събиране да имам възможност да дойда.
Относно Роботев... бях купил едно Ардуино ама сега седи в шкафа, защото му заключих SPI интерфейса на atmega-ta без да искам :oops: .. а ми се искаше да изтряскам един сензор за разтояние (имам някакъв Sharp) и да го направя Тори автономно да не се блъска в стени и да не пада от маси :? . Та ми се искаше да покажа на преподавателите, колко лесно може да се използва подобна прототипна платка както за обучение така и за някакви по сериозни цели(98% от мойте колеги си мислят, че програмирането на чип е нещо непостижимо и се стряскат само от мисълта(пък уж ставаме компютърни инженери)). Някъде из кашоните трябва да имам една atmega8 .. ще я изнамеря, ще сменя 328-цата(само bootloader и настрйките ми трябват ама мисля,че ги имаше в някоя от папките на редакторчето; нямам никакъв програматор така, че първо ще трябва един bit-bashing да му изиграя ;) ) и ще пробвам с нея някак си да навържа arduinoto, bluesmirf-a и ssc-32. Не съм много навътре с електрониката(хич даже) и още не съм мислил как ще го направя. Ако имате идея как точно да навържа TX и RX на трите платки, така че и ардуиното и серво контролера да получават и пращат по bluesmirf-a, но в същото време да може ардуиното да праща директно на серво контролера без да има конфликти? :roll:  

Ето визуално как сега е свързано:
 (http://www.lynxmotion.com/images/assembly/bluessc.gif)

Идеята за камерата и лазера оставям за през лятото като имам повече свободно време. :)
Титла: Хексапод Тори
Публикувано от: Simeon в Юни 15, 2010, 03:44:10 pm
Наистина сега е сезонът на изпитите и дипломните/курсови работи така че разбирам, но поканата разбира се остава и за всяко следващо събиране което ще организираме.

Относно заключването на атмегите - често се случва и дори има и шийлдове за отключването (http://mightyohm.com/blog/products/avr-hv-rescue-shield) им. Надявам се схемата да е полезна.

А ако имаш паралелен порт на компютъра можеш много лесно да си качиш бутлоадера на атмега8. Можеш да направил евтин и лесен програматор като на  инструкциите (http://www.arduino.cc/en/Hacking/ParallelProgrammer).

След това в Ардуино IDE менюто Tools>Bootloader избираш подходящ бутлоадер за чипа и натискаш Tools>Burn Bootlader> w/ Parallel Programmer. Ако ползваш Windows ще трябва предварително да свалиш giveo (http://web.mit.edu/6.115/www/miscfiles/giveio.zip) и да ръннеш .bat файла.

Въпросът за TX и RX-овете е по-труден и не съм пробвал подобно нещо досега. Вероятно има (или да може да се напише) протокол с който тези три модула да могат да си комуникират едновременно, но не съм попадал на такъв. Възможно ли е ако на Ардуино му се наложи да "спасява" Тори първо да изключи приемането на сигнали от bluesmirf-а към ssc-32 и започне то да командва серво контролера. Съответно след като кризата премине да възстанови комуникацията с bluesmirf-а. Предполагам, че Ардуино може да вдига някой от пиновете си на HIGH когато има опасност и ssc-32 да усеща това.

Желая успех с ъпгрейда на Тори и с дипломирането!
Титла: Хексапод Тори
Публикувано от: Dimitar Kurtev в Юни 18, 2010, 10:02:34 pm
Simeon благодаря за подробното обяснение. На настолния компютър имам LPT порт и мисля, че и кабел имам ..ще издялам един такъв кабел като ми остане време:) А относно трите платки си мислех и за вариант, в който да използвам Ардуиното като "proxy" ако мога така да се изразя- тоест всичко да минава през него, за да стигне до серво контролера и вече вътре с някаква логика да управлявам тази комуникация. От тук идва следващият въпрос - мога ли да използвам два от пиновете на ардуиното като отделни RX и TX за контролера(или да предефинирам пинове 0 и 1 ?). Съжелявам ако въпросите ми са безсмислени- имаше една шега .. "програмист с поялник - кофти комбинация" така и аз съм малко зле с електрониката .. ама се уча. :)
Титла: Хексапод Тори
Публикувано от: Dimitar Kurtev в Юни 18, 2010, 10:16:56 pm
И все забравям. Ето и Тори сниман 70 пъти(в начален стадий на разработка), за да се получи този photosynth: http://photosynth.net/view.aspx?cid=339e116b-c349-49fc-8dac-e560c786de1b

Мисля, че това е един добър начин за представяне на всякакви проекти свързани с роботиката и е лесно за използване! Опитайте и нека видим роботите си в 3D! :)
Титла: Хексапод Тори
Публикувано от: Dimitar Kurtev в Юни 18, 2010, 11:48:00 pm
Мисля, че открих отговора на въпроса си - една библиотека NewSofrSerial за arduino. Тя потдържа последоватлна връзка с няколко устройства едновременно(но не и в един и същ момент, което ме удовлетворява), което е и моята цел! Може би трябваше сам да се разровя преди да питам. :)
Титла: Хексапод Тори
Публикувано от: Simeon в Юни 24, 2010, 10:29:08 pm
Извинявам се за бавния отговор... няколко дни не успях да влезна във форума...

и да, new software serial библиотеката позволява да се ползват кои да е от дигиталните пинове за TX и RX.
Титла: Хексапод Тори
Публикувано от: Dimitar Kurtev в Август 21, 2010, 08:20:07 pm
Здравейте! Плановете за добавянето на arduino към робота се провалиха, защото се оказа, че датчикът за разстояние, който имах е изгорял и не ми се даваха пари за нов(+ не малко количество мързел). Но за сметка на това добавих Face Detection към голямата хлебарка :). Точно преди предаването на дипломната работа добавих още една скоба и серво мотор към предната част на робота и закрепих една стара USB web камера. Оказа се, че съм затрил aforge.net fremawork-a и ми се стори по-лесно използването на една .Net-ска имплементация на openCV. За около 4-5 часа си направих долу-горе удовлетворяващо разпознаване на лица. После имаше повечко борба с движението на хлебарката спрямо позицията на лицето както и с синхронизирането на нишките в приложението, но ги пооправих и сега резултатът е задоволителен. Ето и ново клипче: http://www.youtube.com/watch?v=gegWLwK5usQ
Титла: Хексапод Тори
Публикувано от: hunter в Август 22, 2010, 12:32:46 pm
Здравей, резултата енаистина добър станало е споучливо може ли да те помоля за разяснение относно софтуерите за следене движението на лицето с камерата ти ли го пишеш или ползваш някаква готова разработка и предаването на дани чрез блутот ли е и там ако може малко инфо.:)
Титла: Хексапод Тори
Публикувано от: Dimitar Kurtev в Август 22, 2010, 01:43:50 pm
Здравей hunter, за разпознаването на лицето използва Emgu CV - това  са .net библиотеки, които обвиват unmanaged C++ библиотеките на OpenCV - всеизвестната библиотека за image processing и computer vision. Защо ползвам Emgu CV - тъй като не гоня някаква неверятна производителност  и ме мързи да пиша много код. С Emgu разпознаването на лицето става буквално на 5-6 реда(ако искаш код - самата библиотека идва с примери и един от тях е за разпознаване на лице :)). Аз използвам готова функция на библиотеките имплементираща Haar Cascade алгоритъма за намиране на лице(може да се настрои да търси очи, устни, горна част на тялото, долна част на тялото, цялото тяло(има готови xml file-ove в една от директориите на библиотеката)). Относно следенето на лицето: имам usb камера - тя е свързана чрез usb кабел към лаптопа, на моето приложение пускам нишка, която взима текущото изображение от камерата, обработва го като намира най-голямото лице, обграждам лицето в правоъгълник и търся неговият център и спрямо разположението на центъра на правогълника(респективно лицето) изпращам по bluetooth-a на къде да се премести главата и тялото на робота като се опитвам да "наместя" видяното лице в близост до центъра на изображението, след което се взима следващият кадър и отново се обработва и тн. Пфф дано съм успял да обясна. Щеше да стане по- добре с безжична камера, но не ми се дават пари за такава. Ако искаш мога да покажа и код и да го обясня, но той не е по различен от примера даден в самата библиотека- само добавям сметките и изпращането на данни към хексапода по bluetooth-a.
Ако имаш още въпроси, ще се радвам да отговоря, пък и не знам дали успях на този да отговоря както трябва.
Титла: Хексапод Тори
Публикувано от: hunter в Август 22, 2010, 03:36:16 pm
Като цяло ми е много интересно защото неведнъж съм желал да направя и аз такъв принцип тоест глава и да следи движение но не разбирам от С и Английски както на много пъти съм повтарял и все ми казват да го уча. Схванах идеята ти (обяснението) но не нацяло имено поради тези две пречини, може ли повече инфо за комуникация между компютър и контролер през блутота:)
Титла: Хексапод Тори
Публикувано от: Dimitar Kurtev в Септември 10, 2010, 09:49:19 am
Здравейте,

Съжелявам, че нямах време да пиша по- рано :oops:.
Относно комуникацията между PC и контролера използвам BlueSMiRF модул, който е свързан към серво контролера по начина указан малко по- нагоре в отговорите на тази тема. PC-то ти трябва да има вграден bluetooth приемник или да си намериш някакъв USB Bluetooth Dongle (Този е 2-3лв :) http://www.dealextreme.com/details.dx/sku.11866). За да установиш връзка с модула не се изисква допълнителен софтуер или знания по програмиране- операционната система на компютъра се справя сама(Говоря за Windows, с UNIX-базираните ОС-и подозирам, че ще има зор с драйверите за виртуален COM порт и тн.). Аз съм с windows 7 и откриването на модула става както се открива и bluetooth мишка или друга bluetooth периферия. След като бъде открит и добавен модула в Device List-a вече ще имаш инсталирани нужните драйвери заедно с един виртуализиращ драйвер, който представя модула като COM порт( моят е на COM10 ) и вече си готов да го ползваш като стандартен сериен порт за комуникация. От тук нататук ще ти трябват знания по програмиране и някакви основни разбирания за серийна комуникация, затова не мисля, че ще ти е от полза да почна да пиша за инстанции/фукции/указатели(или какъвто и да е било код) и тн без да имаш представа от програмиране. Но ако решиш да се занимаваш с твоята идея ще се опитам да помогна (пък и не е много сложно:)- първият ми проект беше точно такъв - камера която следи лицето, но не беше с bluetooth, а с проста usb връзка).

P.S. Ако не е искаш да ограничиш мирогледа и знанията си само в рамките на България почни да учиш Английски език до някакво минимално ниво- езикът е супер лесен и се среща навсякъде, а информацията в интернет на английски език е неизчерпаема!. Успех! :)
Титла: Хексапод Тори
Публикувано от: westsiderz в Януари 11, 2011, 10:29:04 pm
Проектът е страхотен, просто нямам думи. Човече, ти си гений  :clap:  Мен лично много ме надъха. Искам да питам, ти си ползвал 19 сервота - преполагам по 3 за един крак. Колко ти излезе това, не се е налагало да продаваш органи нали :lol:  Елементите на коя програма си ги чертал - AutoCad или някоя друго. Колко ти взеха за изрязването на всички елементи, скъпо ли е? Още веднъж поздравления за добрата работа, това сигурно е най-добрия проект направен от сам човек, който съм виждал до сега  :clap:
Титла: Хексапод Тори
Публикувано от: Dimitar Kurtev в Януари 12, 2011, 01:09:50 pm
Много ти благодаря westsiderz!
Когато ги купувах сервотата бяха по около 12-13$ една бройка! И това е най-евтиният вариант, който успях да намеря за робот с такива размери и маса(около 1.5-2кг). Елементите от конструкцята съм ги чертал на AutoCad. За изрязването не си спомням точно колко излезе- приблизително около 150лв без материала (алуминий си купих 2кв.м. на цена около 50лв и след изрязването ми остана още доста)  ;)
Титла: Хексапод Тори
Публикувано от: westsiderz в Януари 20, 2011, 11:34:18 pm
Знаеш ли, проекта ти така ме впечатли че сега искам и аз да направя подобно нещо за моята курсова работа. Тя ще ми бъде за догодина така че имам достатъчно време да го изпипам и най-важното да събера частите. Ако е възможно да се свържа с теб по някакъв начин(skype, e-mail, facebook) и да те питам някои и други неща, свързани с робота, за мен би било страхотно и много полезно. Снимките и видеотата ти ги разглеждам постоянно но все още има някои неща които не са ми напълно ясни.
Титла: Хексапод Тори
Публикувано от: Dimitar Kurtev в Януари 21, 2011, 06:09:09 pm
Радвам се, че Тори те е вдъхновил по този начин. ;)  Идеята на този форум е да споделяме информацията тук, така че питай направо тук; ще се радвам да отговарям на въпросите ти. Ако наитстина искаш да правиш подобна хлебарка ще те посъветвам едно... мисли да я направиш по- малка от Тори: ще ти излезе по евтино, ще можеш да ползваш друг материал, а не алуминий, ще впечатлява повече околните заради малкият си размер!
Титла: Хексапод Тори
Публикувано от: westsiderz в Януари 21, 2011, 10:49:55 pm
Като спомена за размери нека да попитам какви са размерите на Тори. Смятам да сложа към 18 сервота, платката с микроконтролера и смятам да си купя тази http://www.mikroe.com/eng/products/view/475/wifi-proto-board/
или тази
http://www.mikroe.com/eng/products/view/572/easywifi-board/
платка. Искам да свържа робота към компютъра посредством WIFI. Така че горе-долу какви размери да превидя?

П.П Имам още много въпроси, но тях ще ги задавам по-късно, когато почна да напредвам с проекта  :clap:
Титла: Хексапод Тори
Публикувано от: Dimitar Kurtev в Януари 23, 2011, 07:26:50 pm
Приблизителни размери:32см х 35см х 15см в средно изправено положение. Ако в момента трябваше да правя пак хексапод бих го направил с размерите на µBug (Micro bug) на Мат Дентон, направо е въшка в сравнени с Тори ->
 (http://www.hexapodrobot.com/images/MSR_uBug/uBug_MSR_H01.jpg)
Титла: Хексапод Тори
Публикувано от: westsiderz в Януари 24, 2011, 07:09:25 pm
На мен пък твоя хексапод повече ми харесва. Какво мислиш за идеята ми да ползвам тези готови WIFI модули на MikroE? Дали ще е по-трудно от колкото с Bluetooth или няма да има разлика.
Титла: Хексапод Тори
Публикувано от: Dimitar Kurtev в Януари 27, 2011, 12:38:20 pm
Със сигурност ще е по- сложно от Bluetooth-a, но зависи за какво ще го ползваш- ако ще имаш някаква видео връзка bluetooth не можеш да ползваш. Ето ти една хубава статия, която съпоставя различните начини на комуникация: http://forums.trossenrobotics.com/tutorials/introduction-129/wireless-communications-3170/.

Мисля също, че начина за комуникация не трябва да е първото, което да обмисляш.
Не съм се занимавал с wifi модули; този изглежна на приемлива цена, но нямам опит, за да ти препоръчам този или някой друг.
Титла: Хексапод Тори
Публикувано от: westsiderz в Януари 27, 2011, 07:09:26 pm
Нямам намерение да ползвам видео връзки. Ще напиша една програмка на Visual Basic с която да пращам различни команди на робота или да получавам данни от датчици и сензори. Ще го ползвам само за serial communication(май съм позабравил някоя и друга дума на български  :lol: ) между компа и контролера. Иначе темата за която си дал линк е добра, веднага ще я прегледам. Прав си че комуникацията не е най-важното нещо. Всъщност в момента най-много ме интересува как управяваш 18 сервота с един микроконтролер. PWM модула ли използва или чрез подаване на импулси от някой порт. Има още много работи, които ме интересуват но ще питам по-късно  :-D
Титла: Хексапод Тори
Публикувано от: sv_shady в Януари 27, 2011, 10:56:04 pm
Предлагам ти да помислишвърху следното:
Даваш 40-50лв за един нов рутер, качваш му OpenWRT. Това е линукс дистрибуция за рутери и съответно имаш нещо, което търкаля операционна система, WiFi, бърз процесор, сериен порта за да накачиш други неща към него, като контролер за сервата. Единствения проблем, който виждам е, че обинкновен рутер ще е голям и трябва да потърсиш някой малък, може би дори само access point (но пък за много от тях няма версия на OpenWRT).
Титла: Хексапод Тори
Публикувано от: westsiderz в Януари 29, 2011, 09:56:29 am
И мен това ме притеснява, че е доста голям, ще заеме доста голяма част от робота. Затова се бях спрял на продуктите на MikroE. Малки на размер, свързвам към контролера и чрез EUART модула смятам да комуникирам между компа и контролера. Или в действителност това не толкова лесно колкото звучи  8)
Титла: Хексапод Тори
Публикувано от: westony в Февруари 18, 2011, 04:19:50 pm
Здравей, исках да ти кажа че е невероятна тази Тори може скоро да и намерим мъж :D според това кога завърша моя, но нямаше как да не забележа, как тромаво се движеше смисъл като оставим сервотата настрана, но пробвал ли си да подобриш механиката на движение ? Защото съм виждал и други хексоподчета как се движат дори бавно но "по-качестветно", ето едно примерче:
http://www.youtube.com/watch?v=l280_5fA_Ho


пак казвам БРАВО!!! и продължавай все така :P
Поздрави
Титла: Хексапод Тори
Публикувано от: Dimitar Kurtev в Февруари 18, 2011, 06:23:32 pm
westony, благодаря! Благодаря и за това, че ме накара да преодолея мързела си и да извадя Тори и да се разровичкам в кода. Като се замислих защо наистина изглежда така тромаво стигнах до следните изводи: първо сервотата са слаби и обикновено ги щадя и ги пускам бавно да се движат; второ- ластиците, които съм сложил при вдигане на крака нагоре малко или много му пречат, а при спускане надолу му помагат и затова се получава една разлика във времената за вдигане и спускане на крака; трето кодът ми който съм написал е чисто геометричен- тоест указвам в координатна система къде са стъпалата на краката и не съм се опитвал да придам някакъв буболечковски реализъм към движенията; четвърто походката, която използвам по принцип е леко тромава..., и пето опитвам се да държа тялото по ниско, за да не товаря сервотата а ластиците, което придава към тромавостта;

Това което мога да променя е кода ... ще го променя, за по- плавни движения на краката!...

P.S. Тори според мен няма пол :) Тори от бойните изкуства е човек, който изпълнява бойната техниката. Но ако има пол ще да е мъжкар! :D
Титла: Хексапод Тори
Публикувано от: westony в Февруари 18, 2011, 06:30:02 pm
Радвам се, че съм помогнал ;), но да попитам защо изобщо ползваш ластици ? Не може ли просто сервото да свърши работата :? или си ги сложил заради слабото серво ?
Титла: Хексапод Тори
Публикувано от: Dimitar Kurtev в Февруари 18, 2011, 07:19:27 pm
Много са слаби сервотата, ластиците са най-доброто решение което измислих като го сглобявах .. успяват да задържат тори изправен без да са пуснати сервотата.
Титла: Хексапод Тори
Публикувано от: westony в Февруари 19, 2011, 11:03:04 pm
Какви сервота купи ? Може ли линк :?
Титла: Хексапод Тори
Публикувано от: Dimitar Kurtev в Февруари 20, 2011, 10:50:11 am
http://www.servocity.com/html/hs-325hb_bb_deluxe.html
Титла: Хексапод Тори
Публикувано от: westony в Февруари 20, 2011, 11:15:21 am
Така, може ли да попитам няколко нещица, щото съм и новичък де :) :

1. Каква е тази мерна единица oz/in ??? Какво означава как се измерва ?

2. (3.0 kg/cm) достатъчно, предостатъчно или недостатъчно  е ?

3. Ти какво глегаш като избираш серво мотор ?

Благодаря предварително
Титла: Хексапод Тори
Публикувано от: Dimitar Kurtev в Февруари 20, 2011, 12:03:17 pm
oz/in е същото като кг/см но в други мерни единици. Килограм на сантиметър означава че серво мотора може да вдигне 3 килограма закачени на рамо с дължина 1 сантиметър(говоря за примера ти 3кг/см); ако рамото се удължи до 2 см .. ще може да вдигне 1,5 кг и тн. В моят случай фемур-ът на крака (успоредната на пода част на крака) на Тори е 7 сантиметра и тъй като съм пуснал сервотата на 5 волта се получава че сервото на фемура може да вдигне едва 0,43кг, а роботът е 2-2.5кг. Затова ластиците са неизбежни :) Като купувах сервотата гледах точно тези параметри както и цената. По принцип за хлебарка с такива размери се ползват сервота с 8-10 кг/см, но те струват по 30-40$ бройката. Не се подлъгвай с китайстките серво мотори от типа на TowerPro - 10кг/см, наистина са здрави, но никога не могат да си намерят позицията и не спират да потреперват защото са калпаво направени(имам три такива).
Титла: Хексапод Тори
Публикувано от: Dimitar Kurtev в Февруари 20, 2011, 12:12:25 pm
Такааа... след като реших да преправя походката на Тори реших да използвам друг начин за неговото управление. В момента мога да го управлявам с мишката тоест мога да променям само по един параметър в даден момент. Преди година когато поръчвах разни глупости от deal extreme реших да си купя два китайски wii nunchuck- това са тези джойстици за wii, които имат акселерометър, за да засичат движението на ръката. Единият беше разфасован още като престигна за да разгледам какво има вътре и за да разбера, кой кабел за какво е, но тогава не успях да го подкарам по незнайни причини. Преди два дена извадих вторият. Малко ровене из интернет и ето какъв е резултатът: http://www.youtube.com/watch?v=X1hMC1_Oqew

Целта ми е да използвам този джойстик за да контролирам Тори! След малко се залавям с кода!
Титла: Хексапод Тори
Публикувано от: sv_shady в Февруари 20, 2011, 12:48:45 pm
Добре изглежда :)
Понеже знам, че пишеш на С#, с какво рисуваш 3D? За С/С++ OpenGL е идеално, но портовете за С# са много дървени...
Титла: Хексапод Тори
Публикувано от: Dimitar Kurtev в Февруари 20, 2011, 01:02:41 pm
Всичко е крадено! :) Използвам код от пример, който намерих в нет-а, използва се Processing - http://www.processing.org/; Има IDE подобно на Arduino IDE-to но библиотеките са java-джийски доколкото виждам. Дори не съм гледал кода- ползвам го за тестване. Относно OpenGL-a и C# нямам никакъв опит- подозирам, че може да се напише един activex и да се плясне в кода на C#. Другия вариант е да се ползва WPF- той направо си рисува с DirectX. Но целта на заниманието не е това а хлебарката :)
Титла: Хексапод Тори
Публикувано от: westony в Февруари 20, 2011, 05:17:50 pm
Аз, пък си мислех ето за това серво >ЦЪК (http://cgi.ebay.com/MG946R-13KG-Torque-Metal-Servo-MG946-Upgraded-MG945-TP-/180627910876?pt=Radio_Control_Parts_Accessories&hash=item2a0e4330dc)<

Представа да ли е куча марка ?
Титла: Хексапод Тори
Публикувано от: westsiderz в Февруари 20, 2011, 06:37:32 pm
Аз да питам ти от интернет ли ги поръча и колко ти струваше доставката. За колко време пристига поръчката?
Титла: Хексапод Тори
Публикувано от: Dimitar Kurtev в Февруари 20, 2011, 07:41:47 pm
westony точно за тези говорих, че са много калпави дори името им се различава понякога .. тези например вместо TowerPro  са TowerdPro. Не ти ги препоръчвам.

westsiderz от Интернет ги поръчах, но преди да влезе гадния лимит за митата-> успях с две поръчки да се измъкна от мито. Поръчах ги от http://towerhobbies.com/
Титла: Хексапод Тори
Публикувано от: westony в Февруари 20, 2011, 07:46:04 pm
Аз няколко часа се разрових и видях това клипче във YouTube: http://www.youtube.com/watch?v=ZMcoOSoMEos :?

Другото което виждам в нета, че се използва е MG-995 (http://cgi.ebay.com/2-SETx-MG995-Hi-Speed-Metal-Gear-RC-Servo-Horns-/350441211465?pt=Radio_Control_Parts_Accessories&hash=item5197ec8649), http://www.youtube.com/watch?v=6nKnlEey-go

мерак ми е да се свържа с този човек да видя спесификациите на робота му ... защото сервотата изглеждат поносимо добре :)
Титла: Хексапод Тори
Публикувано от: viko в Февруари 21, 2011, 11:21:15 am
Няма смисъл за тези сервото по 10 долара /18 лева/. Най-добре е да се регистрираш в моделистика и да си вземеш от там. Там са модеисти и имат не само сервота, но и други интересни неща. А и като ги вземаш ще можеш да ги видиш наживо!

И аз се заинтересувах от тия хексаподи. Да знаеш някои добър сайт с чертежи и идеи?
Плексигласът дали става за изработка? Има го във всякакви дебелини 2,3,4 и тн милиметра и така може да се езбере от сравнително твърд до сравнително "еластичен". Реже се лесно, а и може да се даде на лазерно рязане.
Титла: Хексапод Тори
Публикувано от: westony в Февруари 21, 2011, 11:23:37 am
Тук е въпроса, колко ще тежи ?! Защото тънкия е лек но се огъва, но по-дебелия няма да се огъва но, ще тежи повече. Следвателно ще ти трябва по-хубаво серво ;)
Титла: Хексапод Тори
Публикувано от: westony в Февруари 21, 2011, 07:19:05 pm
Цитат на: "viko"


И аз се заинтересувах от тия хексаподи. Да знаеш някои добър сайт с чертежи и идеи?
Плексигласът дали става за изработка? Има го във всякакви дебелини 2,3,4 и тн милиметра и така може да се езбере от сравнително твърд до сравнително "еластичен". Реже се лесно, а и може да се даде на лазерно рязане.

Аз лично намерих това:
http://www.lynxmotion.com/images/html/build139.htm
Титла: Хексапод Тори
Публикувано от: viko в Февруари 21, 2011, 08:36:25 pm
Видях линка, но мен ме интересуват по-скоро чергежи.

Въпроса колко тежи не може да се реши по-форума. Намираш, правиш си чертеж. Купуваш плексиглас и даваш да ти го изрежат на лазерно рязане. Взимаш нарязаните части, едно арудино или контролната платка и всичкото го мериш, колко тежи.

От там лесно ще видиш какви сервота ти трябват. Двете най-важни неща са ти мат`риала за изработка и големината.
- Ако е голямо ще излезне по-скъпо, по-тежко, НО и ще имаш повече място на платформата.
- Ако е твърде малко ще трябва да се съобразяваш доста с наличното пространство.

Според мен е задължително да е с външно захранване. Интерсно е и да се направи сравнително автономно, а не амо да се командва от компютър!
Титла: Хексапод Тори
Публикувано от: westony в Февруари 21, 2011, 08:39:34 pm
Цитат на: "viko"
Интерсно е и да се направи сравнително автономно, а не амо да се командва от компютър!

Това е моята цел с моя робот дето ще направя, но няма да бъде с външно захранване, аз ще е със собствено и затова ме тормози малко чертежа, че имам няколко опции трябва да избера най-добрия вариант!
Титла: Хексапод Тори
Публикувано от: westsiderz в Февруари 23, 2011, 06:15:49 pm
И аз като westony искам да ползвам собствено захранване. Не искам да има никакви кабели идващи от вън и ограничаващи движението. Някакви идеи. Мислех за някое акумулаторче, но теглото им е доста и това допълнително ще натовари сервотата. Ако ползвам обикновени батерии, ще трябва да ползвам доста от тях и с толкова много сервота и други модули сигурно няма да траят дълго.
До като сме на вълна сервота да питам по какъв начин ще ги управлявате. С някоя специална ИС, с PWM модула или чрез подаване на сигнали директно от някой порт.
Титла: Хексапод Тори
Публикувано от: westony в Февруари 23, 2011, 06:18:57 pm
Аз мисля по въпроса със соларни панели, мисля че с 2 или 3 ще постигна добър резултат и ще мога да го накарам да не черпи много от батериите, а относно свервотата "SSC-32 Servo Controller" това ти трябва или Arduino 0017 мисля че се казваше!
Титла: Хексапод Тори
Публикувано от: westsiderz в Февруари 25, 2011, 08:05:35 pm
Контролера изглежда много добре, би ми свършил много добра работа, но предполагам ще трябва да го поръчвам от чужбина. На мен ми трябват неща, които да могат да се намерят и в БГ. Идеята със соларни панели ми харесва но ще усложни проекта. Ако трябва ще ползвам външно захранване.
Титла: Хексапод Тори
Публикувано от: zen в Март 27, 2011, 07:22:28 pm
Цитат на: "Dimitar Kurtev"
oz/in е същото като кг/см но в други мерни единици. Килограм на сантиметър означава че серво мотора може да вдигне 3 килограма закачени на рамо с дължина 1 сантиметър(говоря за примера ти 3кг/см); ако рамото се удължи до 2 см .. ще може да вдигне 1,5 кг и тн. В моят случай фемур-ът на крака (успоредната на пода част на крака) на Тори е 7 сантиметра и тъй като съм пуснал сервотата на 5 волта се получава че сервото на фемура може да вдигне едва 0,43кг, а роботът е 2-2.5кг. Затова ластиците са неизбежни :) Като купувах сервотата гледах точно тези параметри както и цената. По принцип за хлебарка с такива размери се ползват сервота с 8-10 кг/см, но те струват по 30-40$ бройката. Не се подлъгвай с китайстките серво мотори от типа на TowerPro - 10кг/см, наистина са здрави, но никога не могат да си намерят позицията и не спират да потреперват защото са калпаво направени(имам три такива).


Теглото на буболечката не се пренася само на 1 крак. Следователно като смяташ теглото трябва да го разделиш на 4 (предполагам, че на толкова крака седи едновременно буболечката). Всъщност на колко крака се пада да седи най-малко? 3-4?
Титла: Хексапод Тори
Публикувано от: Borislav в Март 27, 2011, 09:19:44 pm
Цитат на: "zen"
Теглото на буболечката не се пренася само на 1 крак. Следователно като смяташ теглото трябва да го разделиш на 4 (предполагам, че на толкова крака седи едновременно буболечката). Всъщност на колко крака се пада да седи най-малко? 3-4?


Наставката "хекса" значи шест... Т.е. опорните точки трябва да са най-малко 3 (2 крака от едната страна и средния крак от другата). Иначе забрави за баланс. :)
Поздрави!
Титла: Хексапод Тори
Публикувано от: zen в Март 28, 2011, 06:14:34 am
Т.е. теглото от 2 кг се разпределя на 3 крака, т.е. около 660 г на крак.
Титла: Хексапод Тори
Публикувано от: Dimitar Kurtev в Март 28, 2011, 09:24:30 am
Да ще се пада по 660гр на крак. От тук нататък трябва да се пресметне колко излиза на всеки серво мотор и да се сравни с възможностите. Другото нещо което се забравя е че роботът не винаги има един и същ център на тежестта; ако аз преместя тялото настрани центъра се променя, ако вдигна в този момент три от краката и центъра на тежеста остане по-близо до крака, който е самичак от едната страна сигурно 70-80% от тежестта пада на него. Също не забравяйте и простите изчисления по физика свързани с лост и опорни точки .. тялото на хексапода може да се върти по- различни начини и краката често са в много неудобно положение.

За серво моторите.. намерих доста мощни и евтини мотори, но още не съм ги получил. Поръчах 12, за да сменя сервотата на тибията и фемура; натоварването на коксата не е голямо затова няма да ги сменям. http://www.hobbypartz.com/kahaoubrmo14.html Поръчах от ebay, но ще се влачат чак от китай и става баавно! Като ги получа ще пиша как се представят.
Титла: Хексапод Тори
Публикувано от: westony в Март 28, 2011, 10:36:34 pm
Не ми харесват сервотата, че са с пластмасов редуктор, което води до по-бързо износване на зъбните.
Титла: Хексапод Тори
Публикувано от: hunter в Март 29, 2011, 04:06:52 pm
westony извинявай но за какво са ти по сериозни предавки, струг ли ще правиш?
Титла: Хексапод Тори
Публикувано от: emil74 в Март 29, 2011, 10:14:08 pm
Скоро си купих микросерво с метални колела. Има и по-сериозни като параметри.
Титла: Хексапод Тори
Публикувано от: Dimitar Kurtev в Март 29, 2011, 10:44:48 pm
Металните зъбни колела винаги са предимство, но цената на добри серво мотори с такива зъбни колела е много по- висока от тази, на която купих тези серво мотори. По мои наблюдения, при конструиране на такива роботи с помощта на хоби серво мотори, най-често се използват HS-625MG, но цената им е от от порядъка на 30-40$ парчето. По сериозните роботохилици на запад ползват мотори на Dynamixel като най- ниската цена почва от около 45$ - серво мотора има обратна връзка за позиция, натоварване, скорост и тн, плюс това е програмируем самият мотор. Както и да е, мисълта ми беше, че в зависимост от материалното положение както и от ентусиазма можеш да намериш невероятни мотори за направата на един робот. В моят случай нямам желание и възможност да отделя такива суми за хобито си все още.  ;)
Титла: Хексапод Тори
Публикувано от: emil74 в Март 29, 2011, 10:53:32 pm
Грешиш за цената. Ако не прекаляваш с изискванията, можеш да намериш сносни неща, на прилични цени. Моторчето, което имам, купих за по-малко от 15 лева. Виж си "лични".
Титла: Хексапод Тори
Публикувано от: Dimitar Kurtev в Март 29, 2011, 11:03:09 pm
Разбира се, че можеш да си купиш за 15 лв серво мотор с метални зъбни колела. Аз имам и за около 10лв TowerPro 10кг/см, но като точност, скорост, токови характеристики и въобще като конструкция са далеч от тези, за които споменах.
Титла: Хексапод Тори
Публикувано от: emil74 в Март 29, 2011, 11:30:56 pm
Според целта на проекта и бюджета му, се решава и дали си заслужава. А за споменатите качествени моторчета, със сигурност може да се набавят на под половината от цитираната цена. Срещу повече губене на време, естествено.
Титла: Хексапод Тори
Публикувано от: westony в Март 30, 2011, 03:08:22 am
Ами всеки си преценява, лично аз ако тръгна да правя нещо, ще го направя както трябва. Поне да ми достави някакво удоволствие, нищо лично но в моментното състояние на "Тори" това бавно движение, по-скоро би ме изнервило, отколкото да ми достави удоволствие, пак казвам нищо лично, това е мое лично мнение.
Титла: Хексапод Тори
Публикувано от: Dimitar Kurtev в Март 30, 2011, 09:53:13 am
Бавен, бавен колко да е бавен. ;)  На видеото сигурно се движи с 40% от възможностите си. Плюс това походката е от тип "малката вълна" - ripple gait .. и в един момент само един крак се вдига - това е една от най-бавните походки. В момента съм го направил да върви с tripple gait - най- бързата походка, но честно казано му е тежичко да върви така, а не искам да стопявам тези сервота. Като дойдат новите пак ще говорим. .. И като/ако правиш подобно нещо самичък сигурен съм, че скоростта на ходене ще е последното нещо. което ще те притеснява.
Титла: Хексапод Тори
Публикувано от: westony в Март 31, 2011, 12:06:49 am
Ами има нещо вярно в това, но наистина ще ме изнерви познавам се много добре и наистина ще ме изнерви... :D
Титла: Хексапод Тори
Публикувано от: Dimitar Kurtev в Май 06, 2011, 05:13:28 pm
Здравейте. Отдавна не съм писал, но през това време чаках нови серво мотори и около 1 месец разучавах инверсна кинематика, използваща хомогенни матрици за изчисление на ъглите. Отне ми доста време, за да разбера как се борави с тези матрици и после да изчисля ъглите, но в крайна сметка резултатът е налице- много по стабилна работа без проблеми от тригонометричните функции както и много по- лесна промяна на позицията на краката и тялото. Сервотата са доста по-здрави-махнах ластиците, но не са толкова точни. Както и да е ето клип- http://www.youtube.com/watch?v=yFbeZ9rzFeg
Титла: Хексапод Тори
Публикувано от: emil74 в Май 06, 2011, 06:09:14 pm
Стабилно и контролирано движение! Отлично, според мен. Няма ли начин да махнеш тези кабели? Загрозяват дизайна и впечатлението от робота, като цяло.
Титла: Хексапод Тори
Публикувано от: Dimitar Kurtev в Май 06, 2011, 06:13:48 pm
Трябва да купя зарядно и акумулаторче и ще ги махна. :)
Титла: Хексапод Тори
Публикувано от: sv_shady в Май 06, 2011, 06:29:53 pm
Доста добре се държи :) Иначе най-добре ще е да сложиш една литиево полимерна батерия, а не обикновен оловен акумулатор.
Титла: Хексапод Тори
Публикувано от: nmanchovski в Юли 02, 2011, 06:22:05 pm
Здравей Димитър,

Запалих се да построя и аз един Хексапод (може би като основа на моят робот), но все още чета за кинематичната инверсия и трансформации. Мислиш ли да споделиш тази част от кода или поне литературата която си използвал?

Благодаря,
Николай.
Титла: Хексапод Тори
Публикувано от: Dimitar Kurtev в Юли 02, 2011, 07:21:40 pm
Здрасти Николай,

Да ти давам кода е безсмислено тъй като представлява 10-15 реда изчисления, които както ги гледам в момента са ми тъмна Индия. Но все пак за да видиш резултата от смятанията ето:
public void TransformCoord(Leg leg,out double XTrans,out double YTrans,out double ZTrans)
        {
            double SinX = Math.Sin(m_currentPitchAngle);
            double SinY = Math.Sin(m_currentTiltAngle);
            double SinZ = Math.Sin(leg.Rotate?m_currentRotateAngle:0);
            double SinJ = Math.Sin(leg.MAngleFromBodyCenter);
            double CosX = Math.Cos(m_currentPitchAngle);
            double CosY = Math.Cos(m_currentTiltAngle);
            double CosZ = Math.Cos(leg.Rotate?m_currentRotateAngle:0);
            double CosJ = Math.Cos(leg.MAngleFromBodyCenter);
            int offx = leg.Offset ? m_currentXoffset.Value : 0;
            int offy = leg.Offset ? m_currentYoffset.Value : 0;
            int offz = m_currentZoffset.Value;

            double a = CosY * SinJ * SinX - CosJ * SinY;
            double a1 = SinJ * (CosX * CosZ + CosZ * SinX * SinY) + CosJ * CosY * SinZ;
            double a2 = CosJ * CosY * CosZ + SinJ * (CosZ * SinX * SinY - CosX * SinZ);

            double b = CosJ * CosY * SinX + SinJ * SinY;
            double b1 = CosJ * (CosX * CosZ + CosZ * SinX * SinY) - CosY * SinJ * SinZ;
            double b2 = -CosY * CosZ * SinJ + CosJ * (CosZ * SinX * SinY - CosX * SinZ);

            double c = offx + leg.MDecX1 * CosY * CosZ + leg.MDecY1 * (CosZ * SinX * SinY - CosX * SinZ);
            double c1 = -offz - leg.MDecY1 * CosY * SinX + leg.MDecX1 * SinY;
            double c2 = offy + leg.MDecY1 * (CosX * CosZ + CosZ * SinX * SinY) + leg.MDecX1 * CosY * SinZ;
            double c3 = -CosZ * SinX + CosX * CosZ * SinY;
            double c4 = CosX * CosZ * SinY + SinX * SinZ;

            XTrans = a * (leg.CurrentZ + c1) + a1 * (leg.CurrentY - c2) + a2 * (leg.CurrentX - c);
            YTrans = b * (leg.CurrentZ + c1) + b1 * (leg.CurrentY - c2) + b2 * (leg.CurrentX - c);
            ZTrans = CosX * CosY * (leg.CurrentZ + c1) + c3 * (leg.CurrentY - c2) + c4 * (leg.CurrentX - c);
        }

        public void CalculateAngles()
        {
            double X;
            double Y;
            double Z;
            double K;
           
            //transform body coordinates to leg coordinates
            BodyMovement.Instance().TransformCoord(mCurrentLeg,out X,out Y,out Z);
           
            //get coxa angle
            Leg.CoxaAngle = Atan2(Y, X);
            K = Leg.MCoxaLenght - X * Cos(Leg.CoxaAngle) - Y * Sin(Leg.CoxaAngle);

            //get tibia angle
            double CosTibia = (Math.Pow(K,2) +Math.Pow(Z,2) - Math.Pow(Leg.MFemurLenght,2) -Math.Pow(Leg.MTibiaLenght,2))/(2*Leg.MFemurLenght*Leg.MTibiaLenght);
            Leg.TibiaAngle = Atan2(Sqrt(1 - Math.Pow(CosTibia, 2)), CosTibia);

            //get femur angle
            double f1 = Leg.MFemurLenght + Leg.MTibiaLenght * Cos(Leg.TibiaAngle);
            double f2 = -Leg.MTibiaLenght * Sin(Leg.TibiaAngle);
            Leg.FemurAngle = Atan2(f1,f2) - Atan2(Sqrt(Math.Pow(f1, 2) + Math.Pow(f2, 2) - Math.Pow(Z, 2)),Z);
        }


Това са двете най- важни функции за изчисленията: Първата трансформира координатите на върха на крака зададени първоначално с точка от координатната система на тялото(с начална точка центъра на тялото) в точка от координатната система на дадения крак(с начална точка лежаща на оста на кокса сервото). Втората функция спрямо тази точка изчислява ъглите на крака.

Наистина е трудно да се намери добро обяснение за изчисляването на трансформациите и от там ъглите. За мен най- полезни бяха следните неща:

http://www.youtube.com/watch?v=0yD3uBshJB0 - това е лекция от станфордския университет, гледах ги до към part 6 - по нататък почва да се говори за ускорения и тн., което мен не ме интересуваше в случая. Също така на сайта им има лекциите и упражненията от този курс.

http://www.intechopen.com/source/pdfs/379/InTech-Robot_kinematics_forward_and_inverse_kinematics.pdf - след като изгледах по няколко пъти лекциите това най- много ми помогна тъй като има няколко реални примера.

Като стъпки какво трябва да се направи, за да изразиш инверсната кинематика на робота си:
1) описваш кракът на робота с помощта на D-H(Denavit-Hartenberg) параметри
2) с тяхна помощ намираш трансформиращите матрици
3) извършваш различни трансформации, за да можеш да изразиш ъглите на връзките(сервотата).

Ако си по- наясно с матриците и трансформациите мисля, че ще ти по- лесно. Аз никога не съм си обяснявал за какво по дяволите са ми тези матрици въпреки бакалавърската ми степен, но ето че се наложи и наистина става много елегантно :)

Почети и гледай лекциите; ако ти е необходима помощ пиши тук и ще се опитам да помогна.

ПС. Другият вариант(първоначалната ми имплементация) е чисто геометрично решение, но това решение ще ти създаде много проблеми в бъдеще заради грешки в изчисленията и тригонометрични граници.
Титла: Хексапод Тори
Публикувано от: Dimitar Kurtev в Юли 02, 2011, 07:28:31 pm
И .... айде ... правете такива хлебарки и други подобни и да си спретнем Mech Warfere като в Щатите и Япония.... да се постреляме малко :) http://www.youtube.com/watch?v=rIfK5JFTftc
Титла: Хексапод Тори
Публикувано от: nmanchovski в Юли 02, 2011, 07:53:54 pm
Мерси много. Дори това ще ми е от полза. И аз намерих няколко теоретични пдф-а и Стандродските лекции ама и аз не мислех, че някога ще ми потрябват матрици и е трудно :).
Разглеждам и вероятността да опитам с някой генетичен алгоритъм като functional approximation + някоя друга за дообработка, но и за това още чета.
Титла: Хексапод Тори
Публикувано от: westony в Юли 02, 2011, 08:10:00 pm
Цитат на: "nmanchovski"
Мерси много. Дори това ще ми е от полза. И аз намерих няколко теоретични пдф-а и Стандродските лекции ама и аз не мислех, че някога ще ми потрябват матрици и е трудно :).
Разглеждам и вероятността да опитам с някой генетичен алгоритъм като functional approximation + някоя друга за дообработка, но и за това още чета.


Ако намериш инфо за генетичните алгоритми постни тук някой друг линк :)
Титла: Хексапод Тори
Публикувано от: nmanchovski в Юли 02, 2011, 08:15:10 pm
Ето нещо което намерих днес за основа...
http://freespace.virgin.net/hugo.elias/models/m_ik2.htm
Титла: Хексапод Тори
Публикувано от: Dimitar Kurtev в Юли 05, 2011, 07:34:51 pm
Искахте батерия .. ето ви батерия ;) (LiPo 3500mAh) http://www.youtube.com/watch?v=1IYAoP8BsaA
Титла: Хексапод Тори
Публикувано от: Dimitar Kurtev в Октомври 02, 2011, 11:27:48 am
Идва време за дипломната работа за магистратурата. Смятам да upgrade-на Тори по този повод. Ето някои от нещата, които възнамерявам да направя:
-сензори за допир на краката - странични и на "стъпалата"
-имплементиране на инверсната кинематика върху самият робот (не на лаптопа както е в момента), използвайки Fez Mini.
-управление на робота от всякакви устройства с Android OS
-пренос на изображение по bluetooth-a в реално време (размерът на изображението ще е минимален) с помощта на LinkSprite JPEG Color Camera TTL Interface

За сега оправям механичната част от робота - ето идеята ми за странични сензори на краката : http://www.youtube.com/watch?v=clIbvYFrl1g

Някакви предложения как да направя сензор за допир на стъпалата?
Титла: Хексапод Тори
Публикувано от: westony в Октомври 04, 2011, 12:14:38 am
Имаше едно време едни pressure button/натискаш го с два пръста и то прави връзката с проводниците/ , колкото по-силно го натискаш толкова по-добра връзка правиш ... съответно можеш да го използваш но точно не се сещам как се казваше точно... :(

Друго като идея ми идва само чрез код.... но това ще стане доста по-сложно защото ще трябва да изследваш как местенето на "крачето" влияе на основата... ако започва да я повдига значи се е престарал и трябва да върне ако пък не влияе значи не е близо до желаната цел...
Както имаш уравнения за намирането на точното местоположение на крака, така можеш и да изследваш как това местоположение влияе на основата и другите крака от математическа гледна точка... ако пречи следва това и това, ако не дава никакъв резултат прави това и това ... и тн :))) С програмиране има мн начини по които можеш да го направиш, щото има голямо поле на изява и на идея :) Докато ако трябва да го направиш с някаква механика хем ще ти излезе по-скъпо хем пък и трябва да го измислиш...

Успех и като имаш резултати пиши :)
Титла: Хексапод Тори
Публикувано от: westony в Ноември 16, 2011, 11:24:00 pm
Намерих някое друго обяснение, за уравненията, но си трябват знания по математика, механика и мехатроника:

https://docs.google.com/open?id=0B3hDTknDHqyGYTRlYjhiMTgtYjA0YS00ZDE2LWI1ZmEtZDVkNGM5OWFlYjlm

Още го разгадавам целия, че има някои неясни нещица...
Титла: Хексапод Тори
Публикувано от: Dimitar Kurtev в Ноември 17, 2011, 10:32:58 am
Това е първият вариант за инверсна кинематика - тригонометричния. Такъв ползвах първоначално, но често се получават грешки в изчисленията заради стойностите на ъглите. Този документ съм го чел преди години и съм се опитвал да го приложа, но има някъде грешка/и. Знания не ти трябват- проста тригонометрия от 10 клас. Можеш сам да си ги изчислиш зависимостите.

П.С. Търси решение използващо Atan2 функцията.