Покажи участието

От тук може да видиш всички публикации на този потребител.


Публикации - sv_shady

Страници: 1 [2] 3 4 ... 38
16
И в електронинвест ги има.

17
Електроника / схема на датчик за движение
« -: Февруари 17, 2012, 09:24:55 am »
Ами, ако става въпрос за линка в последния пост на westsiderz, то значи аз съм колегата. До колкото си спомням, това бяха картинки, които бях намерил в нета, но така като гледам ми прилича на Protel.

18
Други роботи / Робот играещ тенис на маса.
« -: Декември 30, 2011, 08:33:41 am »
В момемта им два основни фактора, които ограничават скоростта на следене. Първият е, че ПИД контролерите не са настроени все още и системата много лесно става нестаблина. Другият проблем е, че самите камери са бавни и ако движа топката по-бъзро тя се размазва прекалено много и не може да бъде сегментирана. Този проблем ще го разреща като в алгоритъма за намиране на топката заложа и предвижданите координати на топката. Така ще мога да търса в по-малък регион и много по-бързо, което очаквам да подобри скоростта на следене.
Разбира се и не на последно място това въри на един Pentium 4 на около 2 GHz, което може би също ограничава скоростта.

19
Други роботи / Робот играещ тенис на маса.
« -: Декември 30, 2011, 01:13:37 am »
Здравейте,

Искам да ви покажа с какво се занимавам тази година в университета. Става въпрос за робот, който трябва да може да играе тенис на маса.
Роботът е разделен на няколко абстрактни части:

- зрение
- глава
- мозък
- гръбначен стълб
- крайници

Зрението трябва да може да засича топката и да изчислява позицията и спрямо робота. Главата движи двете камери по две оси, като позлволява следене на топката. Мозъкът трябва да взима тази информация и да преценява какво ще е следващото действие. Информацията за следващото действие се праща до крайниците чрез гръбначния стълб. Гръбначният стълб трябва да осигурява свъзаността на всички компоненти в системата.

Тъй като трябва доста сериозни сметки да се изпълняват в реално време,  решихме да ползваме 6 компютъра, вместо един голям. Това е една от причините да изберем Robot Operating System (ROS) за проекта. ROS предлага пращане на събщения между различни компютри плюс много други разични екстри - от симулация на целия робот до автоматично конвертиране на иформацията в различни координатни системи по време на предаване на съощенията.

Моята задача в този проект е зрението и управлението на главата.
Всичко свързанео със зрението е написано на OpenCV и С++. Първо трябваше да се калибрират камерите по отделно, а след това като една стерео камера, за да може да се реконструира позицията на топката в 3Д координати спрямо робота. За да може да се сметне позицията на топката, то тя трябва да бъде намерена в изображенията от лявата и дясната камера. За сегментирането на топката ползвам както цвета, така и формата. След като се намери разликата в позицията на топката в лявото и дясното изображение, 3Д позицията на топката може бъде пресметната. Постигнатата точност е +-1мм по X и Y и +-3мм по Z oста. Всичко това работи в реално време за двете камери с по 16 фрейма за секунда.

Триангулираната позиция се праща на компютъра, който управлява главата. Компютърът е хPC Target, което означава, че върху него се пускат модели на системи проектирани чрез SIMULINK и MATLAB. Системата, която върви върху компютъра, включва два ПИД контролера за всеки мотор, като обратната връзка се осъществява чрез оптични ротационни енкодери.

На това филмче се вижда част от компютрите, както и как робота следи топката: http://www.youtube.com/watch?v=vGCVWb4WEm0

Следващата стъпка е да разработя алгоритъм, чрез който роботът ще предвижда къде ще бъде топката след няколко секунди, както и каква е равнината, върху която е топката.

За пълнота ще разкажа малко и за останалите модули.

На клипчето се вижда само една от ръцете на робота (другата още се прави), която е хаптик ръка и може да постигне изключително високи скорости. Тя също се контролира чрез xPC Target, като управлението ще се извършва от мозъка.
Планираме да ползваме два модела за мозъка на робота - единият класически, а другият изграден на базата на невронни мрежи.
Всички тези модули вървят върху различни машини и трябва да обменят информация в реално време. ROS е един отличен избор за решение на този проблем.

Надявам се като започне следващия семестър да има какво още да ви покажа :)

20
Електроника / схема на датчик за движение
« -: Декември 25, 2011, 10:36:21 pm »
Може да пробваш с фотодиод и фототранзистор с модулирана светлина, но това може да се влияе от слънцето. Може да пробваш и ултразвук.

21
Общ форум / Теория на управлението
« -: Декември 16, 2011, 12:56:14 am »
Не, идеята не е да качваш код на МАТЛАБ върху микроконтролера. Просто да си напишеш малка програмка (например на С), която да си сложиш на микроконтролера, и да пращаш чрез нея инфромация до МАТЛАБ чрез серийния порт. От там нататък правиш всичко на МАТЛАБ върху компютъра.

22
Общ форум / Теория на управлението
« -: Декември 15, 2011, 11:54:33 pm »
Ами след като съм ти го написал значи може. Ако мислиш, че електрониката ти е по-силна от програмирането, тогава може да послушаш Vexorian.

23
Общ форум / Теория на управлението
« -: Декември 15, 2011, 10:49:44 pm »
Ами тук е по-добре да опиша, за да могат и другите да го видят. Най-лесният начин да видиш приложение на теория на контрола е да се пробваш да контролираш един DC мотор.
1. Намираш си един DC мотор и му правиш електроника, така че да може да му управляваш скоростта. Това най-лесно ще стане с един H-мост и ШИМ. За целта можеш да ползваш някой микроконтролер, в зависимост от твоите вкусове.
2. Намираш си един ротационен енкодер - можеш най-обикновен механичен от комет, може да си намериш някой оптичен от университета, а може и да си направиш оптичен - един диск с прорези и оптрон с въждушна междина. Енкодера е хубаво да го закрепиш на ротора на мотора или на изходния вал на редуктора, ако има такъв.
3. Правиш си малък софтуер, който може да мери интервалите между отделните стъпки на енкодера или брой стъпки за секунда - така всъщност ще мериш скоростта на въртене. Не е много точен подход, но върши работа за образователни цели.
4. Свързваш контролера чрез сериен порт с компютър. Трябва да можеш да пращаш показаният от енкодера (времетраенето на всяка стъпка или броя стъпки) по серийния порт до компютъра. Там най-добре една MATLAB програмка да го слуша и да plot-ва получената стойност. Така с времето ще видиш една графика, която представя скоростта на въртене.
5. От програмката под MATLAB трябва да можеш да контролираш коефициента на запълване на правоъгълната вълната, с която управляваш мотора. Тоест трябва да можеш да пращаш коефициента на запълване по серийната връзка до микроконтролера.
6. Ето ти готова система. Входът е скоростта, която искаш да поддържаш. Изходът е реалната скорост, а обратната ти връзка е реалното измерено време за 1 стъпка на енкодера или броят стъпки за 1 секунда. Всички тези величини ги имаш в МАТЛАБ, сега само остава да си разгледаш упражненията.
7. Моделираш си ситемата (първоначално можеш да я разгледаш като система от 2-ри ред).
8. Слагаш един пропорционален контролер и гледаш какво става на графиката отразяваща реалната измерена скорост. Да речем, че искаш да управляваш мотора с константна скорост - задаваш например 10 стъпки за секунда (100мс за стъпка респективно), Графиката с измерената скорост трябва след известно време да стигне се установи около 10. Как ще стигне до 10 и дали въобще ще се установи, а няма да почне да осцилира, зависи от стойноста коефициента на усилване на пропорционалния контролер. Но тези неща със сигурност ти ги има в лекциите и упражнения, щом ви говорят за Боде и Никуист.
9. След като направиш т.8 можеш да пробваш различни контролери ПИ и ПИД.

Всичко това може да го направиш и за позицията на мотра.

24
Общ форум / Теория на управлението
« -: Декември 14, 2011, 11:25:51 pm »
Взимаш един обикновен DC мотор слагаш един ротационен енкодер и се пробвай да контролираш позицията на мотора, скоростта и ускорението. Ще видиш, че проблемът не е лесен. Пробвай се да логваш информация в реално време и да рисуваш графики на променливите в реално време, това ще ти помогно много бързо да свържеш теорията с практика. (МАТЛАБ е идеална за тази цел)

25
Общ форум / Теория на управлението
« -: Декември 14, 2011, 08:37:04 pm »
Абе далеч не е програмист. Това, че в днешно време голямата част от контрола се извършва върху компютри е друга тема. В теория на управлението се използват неща като трансформация на Лаплас, честотен анализ на поведението на системата, проектиране на контролер за системата и още куп други неща. Цялата тази теория може да се реализира на цифров компютър, но може и с аналогова електроника например, но това не прави дисциплината електроника.

26
Механика / задача по приложна механика
« -: Декември 07, 2011, 03:26:52 pm »
Ползвай, следното:
p = 1.234 rad
L = 2 m
Q = 3 N/m

... поне като някой ти върши работата, да се беше постарал, да си поставиш проблемът разбираемо...
Според правилата на форума нямаш право да ползваш латинска азбука, както и трябва да си напишеш двете имена, възрастта и града, в който живееш, в подписа. Ако не си оправиш поста, ще трябва да го заключа и изтрия.

27
Ами основното ограничение е изчислителната мощ, а не управлението с голятма скорост. Ако роботът обаче е строго профилиран може много предположения да се внедрят в поведението му, което улеснява сметките. Текущия ми проект в университета е робот, който трябва да играе тенис на маса. Аз отговарям за зрението и управлението на глават. Главата мога да я движа със страшно голяма скорост, но разпознаването за сег съм го докарал до 14FPS от стерео чифта камери общо. Ръката, която удря топчето е от така наречените "haptic" устройства (на български не съм чувал термина), тоест обратната връзка е по сила и моторите са доста бързи също. В края на краищата системата ще бъде сравнително в реално време.
Роботът "Сянка" например (проектът на ЕС) е многофункционален и има страшно много задачи, които трябва да решава. Само да реши как да хване обект е сериозен проблем (има цял екип, който работи по него), пък представи си да го засече, да се позиционира правилно и да реши оптимално обратната кинематична задача на ръката с 7 степени на свобода. Сами факт, че работи е серизно постижение.

П.С. Ето нещо забавно http://www.youtube.com/watch?v=t_qN3dgYGqE

28
Аз лично ползвам Proteus, знам че не се ползва от много хора професионално, но на мен ми върши работа. Харесва ми, че можеш първо да си начертаеш схемата, да я симулираш (поддържа дори разни микроконтролери) и като ти хареса всичко с едно натискане на бутона минаваш да чертаеш платка като показва кой с кой пин трябва да се свържат. Ако трябва да бъда честен бих искал вместо да симулирам на компютър да мога да седна и да налепя на бързо прототип и да го тествам, но понеже пътувам доста нямам възможност да си с нося с мен поялници и прочее.

29
Общ форум / RF приемник и предавател.
« -: Ноември 26, 2011, 10:48:52 pm »
През чисто USB е сравнително трудно за начинаещ. Ардуиното със сигурност има сериен порт. Купуваш си един конвертор от сериен към usb и след това на С# е песен, има готови класове за комуникация.

30
Общ форум / Теория на управлението
« -: Ноември 24, 2011, 11:31:54 pm »
Ами според мен това е едно от най-важните направления в инженерството. Идеята е много просто - на всяка система може да бъде изграден модел, набор от зависимости, които я описват. Имайки този модел, системата може да бъде моделирана и съответно как се държи при различни смущения, входящи сигнали, може да се изследва проблема как да се управлява тази система, трябва ли обратна връзка и така нататък, Най-интересното накрая е, че тази теория можеш да ползваш за каквото се сетиш: електроника, механика, мделиране на всякакви процеси дори и в биологията и химията. Смятам, че ако искаш наистина да се занимаваш с роботика няма как да не знаеш поне основни неща. Ако си добре с английския разгледай това:
http://en.wikipedia.org/wiki/Control_theory

Страници: 1 [2] 3 4 ... 38