А что он так виляет? Там не пропорциональное управление, просто вкл-выкл? А с инерцией - это круто, играл както на кампе в какуюто аркаду - прикольно так... только там по двум координатам (типа космос), тут так не получтся заносить. Хотя можно повороты сделать более пологими, не знаю то ли это будет. Класная игруха! Можно не вдвоем а в 10ром! Тогда такая драка начнется!
Виляет - ну это я сделал тупые IF-ы вместо настройки пропорционального управления а в целом, если честно - просто не заморачивался пока серьёзно на эту тему.
Думаю, как будут новые модули Open Robotics - на них переделаю и попробую там приличное управление сделать и скорость повысить.
Инерцию тоже можно будет попробовать но тоже с новыми модулями уже.
На всякий случай выложу сюда пару приёмов применённые в программе (bolt, это не тебе, можешь сразу успокоиться и не кричать тут что это какие-то куски и где полный исходник, это скорее мне, чтобы не потерялось, и народу, кто понимает чего-то в азах технического зрения и OpenCV):
Препроцессинг картинки с камеры, после которого всё, кроме ярких пятен, будет сброшено писал(а): cvResize(frame,image,CV_INTER_LINEAR);
Поиск нужного нам пятна писал(а): long int lx=-1; long int ly=-1; long int datastep=img->widthStep; long int channels=img->nChannels; mycvGetImage(Image1,img); for(long int y=0; y<240; y++){ for(long int x=0; x<320; x++){ if(lx==-1){ unsigned char pix=img->imageDataOrigin[(239-y)*datastep+x*channels]; if(pix>100){ lx=x; ly=y; }; }; }; };
Добавлено спустя 2 минуты 36 секунд: А еще у меня есть:
Тупые IF-ы, которые я написал, потому что лень было делать полноценный ПИД писал(а):AnsiString cmd="xf00x\n"; if(lx>=0){ long int dx=lx-160; long int dy=ly;
Сама идея конструктора не нова. Все РС именно так и собраны – материнка с ЦП и модули со своими МК. На Форуме мысль о создании своего конструктора для ботов впервые видимо всплыла здесь http://forum.roboclub.ru/IPBoard/index. ... #entry7007, хотя к этому моменту за бугром эту идею давно уже реализовали в нескольких вариантах и всю КД выложили. Подход обсудили и на этом дело закончилось Реально роботами занимался лишь Lex сделавший своего минибота http://forum.roboclub.ru/IPBoard/index. ... wtopic=803 На мой вкус очень интересного. Он же /Клебан Виталий /, если не ошибаюсь, и видеозахват на КПК организовал, с распознаванием цели. Вот скин программы http://bp0.blogger.com/_fdCHWsVk87k/RnU ... 00-h/2.JPG (обратите внимание, что на русском) Т.е. чек проделал огромную работу, что вызывает не меньшее уважение.
Те фрагменты кода, что представил в свое оправдание Dead ничего, кроме уже не раз озвученных вопросов не вызывают. Где сама программа? Где качественное фото робота? О каком ПИД идет речь, если РС находится вне бота и не получает данных от энкодеров, моторов etc?
Предлагаю Dead снести тему LaserBall и не позорится