Вражеский кот попался в HD больше видно с наведением гемор. камера дает данные в определенных участках не правильной геометрии. например боковая стена на срезе по вертикальной линии получается не ровная а выпуклая. сервы не надежно закреплены. любые манипуляции приводят к свдвигу координат. струя воды меняет траекторию в зависимости от мусора в форсунке. 1 крошку непонятно чего еле удалось извлечь. +дальность стрельбы вносит свои коррективы. я пол часа только константы менял чтоб настроить более-менее точную стрельбу в ту область. еще и расстояние большое нет запаса по дальности стрельбы. надо обязательно разработать расчет траектории струи и в будущем в алгоритме поведения учитывать расстояние. ЗЫ. старый кот не вернулся.видимо ослаб и нашел смерть от собак\колес. новый никуда не ушел, так и остался жить. все время рядом как будто я его родственник.
Добавлено спустя 29 минут 54 секунды: производительность радует. вывод обработка всех картинок + запись с экрана 30fps дается NUC'у легко. мой старый ноут загнулся бы. планы по развитию: прикрутить эту систему по контролю питания.
см http://www.mini-box.com/OpenUPS чтоб не было нужды в зарядке аккумулятора от специального зарядника lipo. а все само заряжалось как на ноуте при подключения клем питаняи. и аналогично ноуту автоматом переключалось на аккум в момент выключения БП. +организовать передачу в ПО инфы о заряде задействовать энкодеры на колесах и наконец то запустить робота кататься в автоматическом режиме. правда без алгоритма построения карты это малость бессмысленно...вообщем работы навалом.
Последний раз редактировалось Nesenin 09 авг 2013, 23:25, всего редактировалось 2 раз(а).
эта та самая соседская кошка что объедает меня каждый день. до того обнаглела, что мне приходится на руках относить её за дверь. при этом она рычит\ворчит и наровит лапой поцарапать. смешная. уверен скоро привыкнет к дождику и будет игнорировать робота.
Добавлено спустя 38 минут 49 секунд: ЗЫ включаю я в ручном режиме, так как надо запись сделать, иначе уже при появлении в проеме, кошкам приходится ретироваться. а так хотя бы 9 секунд видео вместо 2х. (собственно еще 1 кот появлялся только что и был полит в проеме;пушистая уже в 4 раз пытается поесть под дождиком. настырная собака ) другое дело будет, когда робот научится сам гоняться за объектом. а для этого как минимум надо сделать алгоритм слежения за объектом основывающийся на связности пятна(расстояния для соседних пикселей близки, цветовая картина не меняется на разных ракурсах), основываясь на предполагаемых перемещениях (выйти из кадра и оказаться на потолке объект не может, а вот скрывшись влево, есть велика вероятность что схожее по размеру пятно, при новом ракурсе съемки повернувшего на лево робота, это искомый кот). это позволит следить за объектом в движении (трудная задачка).
потом надо нахождение кота сделать по движению и связности. то есть в ситуации когда картинка уже содержит кота и он начинает двигаться. для этого нам опять же надо вычитать новый кадр из старого, только старый будет предыдущий(или близкий к новым), содержащий положение кота в мгновение ранее. из разницы мы найдем "передний" и "задний" фронт. то есть область где кот появился и область где появился фон. опять же фон по определению имеет большее расстояние от камеры(иначе он бы загораживал) эта область "задний" фронт. по крайней границе заднего фронта и передней границе с котом определятся координаты по горизонтали. по верхней и нижней точке "переднего" фронта определятся координаты вертикали. но это в теории. на практике надо к этой логике связность добавлять, иначе есть риск брать в расчет данные от разных объектов. причем не от 2х(3,4...n) движущихся объектов, а от "шума", который в разных ракурсах разный. как я ранее писал в случае с зеркалом диапазон гуляемых значений расстояния подобрался к 30см (!). а ведь еще надо учитывать слепые пятна. эх...
Добавлено спустя 3 минуты 19 секунд: и да при нахождении движущегося объекта в опорный кадр надо добавлять области открывшиеся при смещении объекта. иначе при его движении назад не будет видно областей...
Добавлено спустя 9 минут 47 секунд: и задача сведется к текущей - определение разницы с фоном. а когда робот научится строить 3D карту местности, получится как с человеком - зашел и видишь что что-то лежит не на своем месте. то есть внимание только на новое/подвижное и пр. все это гораздо проще чем пытаться по картинке (даже по карте расстояний) искать объект в произвольной обстановке( на любом фоне начиная от белой стены заканчивая зарослями травы кустов) классифицировать как кота. это задачка для ученых. а вот выделить движущийся объект и по размерам, формам отростков классифицировать существо это еще куда ни шло. собственно так человека в этих Kinect играх и определяют - по отросткам )))
Добавлено спустя 56 минут 24 секунды: найти все что скрыто (черный котенок)
это прелести ИК подсветки. приятно работать с камерой, данные с которой не меняются от смены освещения за окном и внутренних условий. целый день работает и никаких сбоев.основной шум укладывается в установленный порог 13см (после прогрева вначале)при максимальном расстоянии 6м (там за шкафом еще проем есть). шум на границах объектов достаточно легко фильтруется. по сравнению с этим моя турель с вебкой сущий ад. приходилось не только искать а еще и создавать фон см. http://youtu.be/XZMOrqSdP2w так что для робототехники штука нужная. тем кто захочет такое рекомендую дождаться новое поколение камеры forum51/topic12960.html
Уже опробовал OpenUPS... но в общем слегка капризная к параметрам штука. API для контроля к вящему сожалению нет, прошлось модифицировать исходный пример чтобы писал информацию раз в секунду в файл. Если у тебя будет батарея LiPo 6S, то поделюсь своими параметрами.. их.. гм.. методом тыка подобрал
6S эт много. куда столько? 4S под его диапозон вся моя электроника (окромя двигателей которые 12в но тут можно и ШИМ) вот про запись в файл уже интересно. я с программированием как то не очень (arduino,Labview не в счет). можно попросить подробностей на этот счет?
Добавлено спустя 1 минуту 40 секунд: PS по OpenUPS надо отдельную тему. ибо штука нужная должна тема жить и развиваться про такие универсальные штуки. может аналог кто замутит открытый.
В смысле куда столько? на вход можно любую батарею совать, на выходе будет то напряжение, которое выставишь в конфигурации. У меня выставлено 12В. На ХК можно взять 6S*8000mAh, это наверное максимум что переварит openups по емкости.
хорошие у вас идеи камрад, как только твой робот научится гонятся за обьектом, придут в гости ребята. и будет тогда робот гонятся за аборигенами стран 3 мира
спасибки. работаем-с потихоньку. решаем задачи не в последнюю очередь благодаря робофоруму.
вот замучило меня подергивание серв. стал гуглить решение. первая же ссылка на робофорум привела см. forum86/topic11665.html перепаял провода. подправил прошивку. теперь тишь да благодать. и у котов меньше подозрений нужная библиотека http://arduiniana.org/libraries/pwmservo/ (max 2-3серв, но это именно то число которое мне хватает пока). собственно исправленный код ардуинки
тут уже много всяких плюшек. опять же пропорциональное управление танковой платформой с приемом данных от модельного РУ осталось не тронутым. что само по себе приятно, так как позволяет использовать надежное оборудования для спасения "зарулившегося" робота.
+дальность стрельбы вносит свои коррективы. я пол часа только константы менял чтоб настроить более-менее точную стрельбу в ту область ... надо обязательно разработать расчет траектории струи и в будущем в алгоритме поведения учитывать расстояние.
Выскажу несколько сомнительных, возможно трудозатратных, но вроде бы оригинальных и достаточно сумасшедших идей. Всё это, безусловно, дикие гадания на кофейной гуще. Но может натолкнёт на какие-нибудь приемлемые в практическом плане решения.
А почему бы не править "константы" в реальном времени, делая поправки исходя из реальной траектории струи, учитывая отклонения от расчётной траектории? Собственно, разве не так работает реальная артиллерия? Репер, перенос огня, вот это всё...
Поскольку метеорологические факторы (давление, температура, и конечно же порывы ветра) константами не запрограммируешь. Кстати, надо будет объяснить роботу, чтобы не писал против сильного ветра.
Первая мысль была - срисовывать траекторию струи с обычной камеры. Вторая - подкрашивать эту струю. Подсвечивать фонариком, капельки хорошо преломляют свет... И третья - да подогреть же! И снимать инфракрасной камерой. Кот, опять же, не простынет от холодной воды.
Кстати, струя должна быстро остывать. Так что легко будет различить ближний и дальний конец траектории.
ну так то да. обратная связь и коррективы. вообще было бы можно заставить все рабочее пространство обстрелять в автоматическом режиме и найти нужные углы. я на звук ориентировался каждый раз как подстраивал константы. при попадании в шарик возникает громкий звук. микрофоны на камерах есть 2шт. вот запрограммировать все проблема. мне например реально проще переделать вращение форсунки с такого
на такой где ось вращения по вертикали находилась бы над ось вращения по горизонтали, чем учитывать вращение по дуге в ПО.
тут кстати платформа держится на отдельном подшипнике, а не на валу сервы. что добавляет точности перемещению (зубчатая передача убавляет). точность всех перемещений реально важна. потому что в одном месте люфт на пол градуса в другом и вот уже залп летит не туда. если переделать, то останется только баллистику считать
у меня на видео робот вообще со стола вниз стреляет. там хз что за формулы должны быть. и да. в который раз убедился что есть геометрические искажения на камере, в некоторых зонах насчитанные расстояния\углы менее точны. остается упавать на размеры кота и разбрызгивание струи.
для реальных боевых машин, ездящих по пересеченной местности (типа танков и БТР) важное значение играет наклон платформы к горизонту. то есть встал танк в наклонном положении и ось вертикальная уже не параллельна земле, надо по другому наводить( не пытаться же башню выравнивать). найденные углы цели по оптическим системам, надо пересчитывать по отношению к земле чтоб потом баллистика не поплыла. привет robovan'у если б у меня камеры подвижны были, нужно было бы обязательно данные с акселерометры читать, делать перерасчет углов с поправкой к земле. естественно все люфты и не точностив геометри мешают. вообщем не просто все это... пример реальной системы управления огнем http://topwar.ru/uploads/posts/2011-09/ ... 225_01.jpg точность тут на порядки выше.
PS по проекту никаких существенных изменений нет фото робота
спереди старый аккум засунул. не подключен. на место вентилтора сзади должна лезть плата управления питанием. но там надо программировать. да еще на С++. а я не любитель этих дел. мотивация минусовая
Добавлено спустя 8 минут 3 секунды: соседская кошка. которая крадет еду, рычит\ворчит и лапой царапает. http://youtu.be/mwslE57wYGE?t=38s