Охотник

Обсуждаем рождающиеся мысли и результаты экспериментов.

Re: Охотник

Сообщение Nesenin » 04 ноя 2012, 19:01

Не совсем понял вопрос. Опишу планы\выводы по частям.
Гаус турель малость бесперспективная игрушка. Уныла по своим боевым показателям. Уныла из-за отсутствия обратной связи по углам наклона, что заставляет меня извращаться с лазером, машинным зрением и выдумыванием алгоритмов наведения.
Нормальная турель должна уметь сама устанавливать нужное положение (как сервопривод, но с ГОРАЗДО лучшей точностью и вообще нужными показателями). Тогда бы ПО на компе занималось только поиском целей и отправкой значений требуемых углов наклона.
Впрочем, турель я доделаю до уровня автономной стрельбы по мишеням (см. выше шарик на ездящей машинке).Что как бы симулирует стрельбу по мышам. И положу на полку. Тут ценней знания, которые я получаю пытаясь это все автоматизировать (особенно по arduino). В дальнейшем оч. пригодятся.

Машина с водометом, единственная игрушка, которой я постоянно пользуюсь.
SAM_1650.JPG
Причем видео\аудио трансляцию мне надоело включать. Я просто терроризирую кота, когда он бегает за мной.
SAM_1655.JPG
Удивительно, но он не воспринимает машину за врага или что то требующего внимания. Тем более он не связывает ее действия со мной. От настроения он или игнорирует ее или прячется куда-нибудь. Потом все равно приходит ко мне, моется
SAM_1663.JPG

и заваливается спать
SAM_1554.JPG

Машина с водометом получилась оч. самодостаточной игрушкой. как то ее менять, пока у меня в планах нет.

В планах у меня , закончить турель.Это будет мой второй стационарный робот (первый стационарный). А потом начну делать первый мобильный робот из этого
SAM_1649.JPG

Основной сенсор для сбора инфы о препятствиях Xtion Live. Сонары нужны для работы в мертвой зоне Xtion (80см). Будет тут IMU, буду пробовать различные пушки.
В качестве ПК хотел по началу поставить atom+ION2 на борт, даже купил БП M3-ATX для питания mini-ITX платы , но в свете последних событий, решил дождаться выхода Intel NUC. Он офигенно маленький (по площади платка 100см^2 vs 289см^2 у mini-ITX) легкий, процессор на ядре ivy bridge что обнадеживает. Но это уже отдаленная перспектива. Сначала наберусь знаний (в процесе работы над квадракоптером) по IMU, по осмысленному движению в пространстве (с учетом карты, данных сонаров, поиска проходов и пр) по поиску мишеней. и только потом уже озабочусь авто охотой
Аватара пользователя
Nesenin
 
Сообщения: 1341
Зарегистрирован: 26 янв 2012, 03:59
Откуда: Казань
прог. языки: LabVIEW
ФИО: Никита Есенин

Re: Охотник

Сообщение robovan » 05 ноя 2012, 00:20

вот это я понимаю, развернутый и внятный ответ. респект:-)

Добавлено спустя 15 минут 3 секунды:
завидую черной завистью:-) я сам еле на ардуинку накопил и то не оригинал взял....
Самое важное в жизни- найти человека , который смотрит на мир, так же как и ты:)
Аватара пользователя
robovan
 
Сообщения: 1536
Зарегистрирован: 04 сен 2012, 00:39
Откуда: Украина
ФИО: Владимир

Re: Охотник

Сообщение Nesenin » 11 ноя 2012, 01:11

Внезапно! кот научился управлять турелью (вторая часть видео не про это)

в кадре несколько светлых объектов, которые алгоритм распознает за "лазер".
по дефолту алгоритм в первой строчке объектов дает данные самого верхнего.
кот своей черной лапой уменьшает яркость отражения лазера так что в первую строчку попадают вторые по яркости пиксели с камеры (они ниже лазера; на видео их нет). вот алгоритм и пытается вновь скорректировать положение ствола.

во второй части кусочек работы нового алгоритма управления, учитывающий добавление расчета времени вкл. двиг. на arduino (см. post254884.html#p254884)
кстати точность наведения повысилась до 0.063гр то есть это на расстоянии 2,7м до стены минимальный шаг 3мм
теперь лазер всегда устанавливается с dX=0 (координаты метки и центра пятна от лазера совпадают).скорость конечно зависит от точности. так как dX=0 сбивается слабой вибрацией по столу, на котором стоит камера...
а еще можно взять в руки камеру, и ствол будет следовать за положением камеры)))
PS ПИД не освоил. у меня расчет ШИМ с квадратичной зависимостью; расчет t вкл.двиг. с пропорциональной с включением по условию от расстояния, и еще есть ограничения max \min ШИМ и t для каждого направления движения. ксати FPS очень сильно плавает, и как следствие частота записи новых каманд, что неизбежно приводит к ошибке. Как и куча неучтенных факторов вроде разного трения (по осям\направления\конкретным участкам в редукторе), инерции, не пропорциональности расстояний на картинке и угла поворота.
Последний раз редактировалось Nesenin 11 ноя 2012, 07:48, всего редактировалось 3 раз(а).
Аватара пользователя
Nesenin
 
Сообщения: 1341
Зарегистрирован: 26 янв 2012, 03:59
Откуда: Казань
прог. языки: LabVIEW
ФИО: Никита Есенин

Re: Охотник

Сообщение robovan » 11 ноя 2012, 01:28

как всегда респект и уважуха:-)
Самое важное в жизни- найти человека , который смотрит на мир, так же как и ты:)
Аватара пользователя
robovan
 
Сообщения: 1536
Зарегистрирован: 04 сен 2012, 00:39
Откуда: Украина
ФИО: Владимир

Re: Охотник

Сообщение Nesenin » 11 ноя 2012, 07:38

Видели когда нибудь в фильмах сцену, в которой герой бежит так быстро, что враги не успевают наводить оружие?
Вот это оно :D

И это я уже подкрутил коэффициенты увеличивающие скорость движения (при неподвижной мишени они слишком сильные - приводят к автоколебаниям). Только так есть шанс в какой то момент оказаться в зоне разрешенной для стрельбы (зеленая лампочка в нижнем правом углу загорается). на коэффицентах настроенных на неподвижной мишени, лазер тупо следовал на небольшом удалении (на котором скорость достаточно вырастает для преследования).
когда батарейка подсела дела улучшились ( разрешенную зону увеличил) :)

так сказать наглядная демонстрация нехватки скорости обратной связи и\или отсутствия прогнозирования движения мишени.
А вообще я рад что оно хоть как то работает. Я боялся что одновременно определять мишень по цвету и лазер по яркости не получится. Потому что, во-первых уже производительности не хватает (AMD Turion 2Ггц), а во вторых меняется цвет шарика при подсветке его лазером и меняется уровень освещенности лазера от места куда он светит (изолента, корпус машинки - все как с котом см. выше). Посему время от времени что-то не определяется или определяется не так (см. инфа в массивах верхний правый угол на видео).

PS По сути турель уже можно считать работоспособным роботом. Если в ПО нажать нужные кнопки (нижний правый угол на видео), то по попаданию лазера в разрешенную зону будет не только загораться индикатор, но и идти команда на выстрел. Просто включать не охота, так как и прицел не настроен и боюсь повредить машинку. Потом может защиту поставлю и сниму "боевые учения".
А пока финальные фото автоматической турели с гаус пушкой! :beer:
SAM_1712.JPG
SAM_1714.JPG
Последний раз редактировалось Nesenin 05 апр 2013, 17:20, всего редактировалось 1 раз.
Аватара пользователя
Nesenin
 
Сообщения: 1341
Зарегистрирован: 26 янв 2012, 03:59
Откуда: Казань
прог. языки: LabVIEW
ФИО: Никита Есенин

Re: Охотник

Сообщение robovan » 11 ноя 2012, 10:43

очень хорошая идея использовать лазер в качестве привязки:-) а то как еще в движении определять куда ствол смотрит)))
Самое важное в жизни- найти человека , который смотрит на мир, так же как и ты:)
Аватара пользователя
robovan
 
Сообщения: 1536
Зарегистрирован: 04 сен 2012, 00:39
Откуда: Украина
ФИО: Владимир

Re: Охотник

Сообщение dccharacter » 11 ноя 2012, 20:50

эт те брат надо теорию управления учить. Тогда лазер не будет тупо следовать за, а будет фигачить на упреждение.
(сам не учил. двойка, чо)
Мой волшебник это я сам. Всю архитектуру программы придумал лично, а ребята помогли воплотить её. Я бы и сам мог написать, но лень учить язык и его конструкции.
Аватара пользователя
dccharacter
 
Сообщения: 4995
Зарегистрирован: 10 дек 2010, 13:16
Откуда: Красногорск МО
прог. языки: C, Python, wiring/processing
ФИО: Андрей

Re: Охотник

Сообщение Nesenin » 11 ноя 2012, 22:44

тут есть хитрость. движение мишени идет по 2м координатам и не всегда прямолинейно. алгоритм не учитывает движение мишени. в случае когда у нас лазер попадает в близкую зону турель останавливается\замедляется. таким образом отставание будет всегда и тем больше чем медленнее обратная связь (как в нашем случае fps25 +задержки всей системы в результате которых исполняемая команда уже существенно опаздывает).

очевидно нужно брать в расчет движение мишени что б не останавливать турель, а наоборот после попадания в зону продолжать движение со скоростью мишени. И тут возникает вопрос о прогнозировании движения мишени.
(вспоминая фильмы\анимацию) мишень может ловко менять координаты двигаясь не линейно, тогда рассчитанные движения для турели будут не соответствовать движению мишени. все снова упирается в скорость обратной связи.

И все таки турель работает, благодаря существованию мест в которых мишень замедляется. А также сильно выкрученные коэффициенты на линейных участках движения мишени позволяют ее обгонять (но не позволят точно следить за движением и точно наводиться). В принципе этого достаточно. В момент кратковременного совпадения координат (попадание лазера в область) производится выстрел. А большего и не надо.

Если сравнивать с человеком, то он в лучшем случае может рассчитывать движение (по известному закону, составленному на раннем наблюдении и постулате что мишень поведет себя точно также) и с опережением туда наводится . Пример это дисциплина в спорте стрельба по тарелочкам. Там гуру прокачки скилов\тела, соревнуются кто круче натренировался))

Добавлено спустя 13 минут 6 секунд:
ах да. рассчитывать не линейное движение можно когда известны законы движения

другие супер быстрые роботы поголовно базируются на супербыстрой обратной связи.
и квадракоптеры MIT и другие. уже писал тут про специальную систему Vicon motion capture system
http://www.vicon.com/
в моем случае я только и могу что прикрутить расчет движения мишени на прямых участках (ну не описывать же всю карту из изоленты. да и машинка на удивление странно движется в зависимости от мусора под гусеницами уровня заряда и погоды на марсе...)
Аватара пользователя
Nesenin
 
Сообщения: 1341
Зарегистрирован: 26 янв 2012, 03:59
Откуда: Казань
прог. языки: LabVIEW
ФИО: Никита Есенин

Re: Охотник

Сообщение elmot » 11 ноя 2012, 22:50

Тем не менее, оно должно неплохо экстраполироваться. Настало время курить математику:)
Аватара пользователя
elmot
 
Сообщения: 5691
Зарегистрирован: 10 ноя 2011, 12:02
Откуда: Turku, Finland
Skype: elmot73
прог. языки: Java и все-все=все
ФИО: Илья

Re: Охотник

Сообщение robovan » 12 ноя 2012, 00:36

решающий миг настал так сказать))
Самое важное в жизни- найти человека , который смотрит на мир, так же как и ты:)
Аватара пользователя
robovan
 
Сообщения: 1536
Зарегистрирован: 04 сен 2012, 00:39
Откуда: Украина
ФИО: Владимир

Re: Охотник

Сообщение Duhas » 12 ноя 2012, 07:25

Nesenin писал(а):очевидно нужно брать в расчет движение мишени что б не останавливать турель, а наоборот после попадания в зону продолжать движение со скоростью мишени. И тут возникает вопрос о прогнозировании движения мишени.
(вспоминая фильмы\анимацию) мишень может ловко менять координаты двигаясь не линейно, тогда рассчитанные движения для турели будут не соответствовать движению мишени. все снова упирается в скорость обратной связи.

по идее нужно просто считать направление движения постоянно, и корректировать на него. из-за этого могут появиться бОльшие рассогласования на поворотах, но на линейных участках будет лучше.

также можно сбрасывать коррекцию на движение и менять коэффициенты регулятора при расхождении прогноза с реальностью
«Как сердцу выразить себя? … Мысль изреченная есть ложь!»
В этом мире меня подводит доброта и порядочность...
"двое смотрят в лужу, один видит лужу, другой отраженные в ней звезды"
Аватара пользователя
Duhas
 
Сообщения: 6338
Зарегистрирован: 15 сен 2007, 13:03
Откуда: Красноярск
прог. языки: ASM(МК), C(PC)
ФИО: Гагарский Андрей Александрович

Re: Охотник

Сообщение Nesenin » 12 ноя 2012, 10:45

можно. много над чем можно поработать.
я сейчас с другой математикой разбираюсь.
imu.png

освоил расчет углов по гироскопам (интеграция угловых скоростей). они очень быстро накапливают ошибки.
есть расчет углов по акселерометру. при отсутствии собственного ускорения акселерометр позволяет измерить углы к вектору ускорения свободного падения, но имеются проблемы при переходе 90гр поворота. так как один из рассчитываемых углов попадает в плоскость параллельную земле, в которой ориентацию можно точно определить только по компасу.
а компас на данный момент у меня показывает не расположение магнитного полюса планеты, а расположение магнитов в столе\сервах и х.з. чего еще...
вот надо будет это все грамотно связать с быстрой коррекцией ошибок каким-нибудь крутым фильтром (вроде Калмана).

еще я вывел данные с обеих камер xtion разом. покрасивей картинку расстояний сделал. отдельные цвета для области вне поля зрения (а по сути там идут числа - расстояние в мм. см шкала справа).
xtion.png

производитель утверждает что область измеряемых расстояний 0.8-3.5м про 0.8 верно (и это большая печаль) а вот максимальное расстояние как видно гораздо больше. и это при освещении из окон в светлый день (технология то основана на подсветке ИК прожектором поэтому фоновая засветка играет роль).
я тут параллельно над решением задачи думаю см. forum17/topic11989.html
так вот получается что если дальность xtion >8м, то очень даже вариант... на картинке аж 2 проема за раз видно и все в виде готовых матриц чисел (integer16) красота!

PS думаю вот одометрию на основе компьютерной мыши освоить. в ПО данные идут в виде "+-N px" за каждое обращение. точность (настройки не повышал) с моей >23px на 1мм. вместе с данными от 3D компаса будет очень не плохо смотреться на линолеуме. если оптику поменять может и высоту приподнять удастся
Аватара пользователя
Nesenin
 
Сообщения: 1341
Зарегистрирован: 26 янв 2012, 03:59
Откуда: Казань
прог. языки: LabVIEW
ФИО: Никита Есенин

Re: Охотник

Сообщение Nesenin » 20 янв 2013, 07:46

Любопытное видео 3D Building Reconstruction + тепловизор Gobi 640 GigE.

не понятно зачем автор с видеочками ходит. хочет почувствовать себя хищником?
мне бы USB тепловизор не помешал (хотяб такой http://www.metrologia.ru/catalog/teplovizory/PI400/) . жаль цены запредельные.
Аватара пользователя
Nesenin
 
Сообщения: 1341
Зарегистрирован: 26 янв 2012, 03:59
Откуда: Казань
прог. языки: LabVIEW
ФИО: Никита Есенин

Re: Охотник

Сообщение Nesenin » 05 фев 2013, 05:04

Давно нужно было собрать воедино новую платформу. Стандартная для роботов - 4 мотор\колеса с танковым разворотом. Планируется под Intel NUC с последующей полной автоматизацией.
SAM_2024.JPG
SAM_2034.JPG

имеем:
DC 12V 100RPM Micro Gear Box
колеса из частей 1\2\3
3.7V 10000mAh 5C Lipo 2шт. напряжение 2х штук для двигателей маловато, но 3 сувать не хотелось. 2 в днище хорошо лежат.
редкая в продаже штука для крепления колес Fitting brass plated nickel
H-bridge Motor Driver мощные штуки при желании можно сделать зверь танк.
Arduino Pro Mini
приемник\передатчик 3-х канальный хоббийный.
SAM_2044.JPG

управление с приемника
платка arduino занимается тем что нужно любым танко строителям:
1) захват PWM сигналов с приемника и их обработка (есть выкл при потери сигнала и управления вкл кнопкой с пульта)
2) управление драйверами двигателей левого и правого бортов.
прошивка
tank_rc.rar
(3.33 КиБ) Скачиваний: 0

за основу взял вот этот пакетик http://forum.rcdesign.ru/f87/thread2405 ... ost3000083
ну и конечно видео с котиком
Последний раз редактировалось Nesenin 06 фев 2013, 01:34, всего редактировалось 1 раз.
Аватара пользователя
Nesenin
 
Сообщения: 1341
Зарегистрирован: 26 янв 2012, 03:59
Откуда: Казань
прог. языки: LabVIEW
ФИО: Никита Есенин

Re: Охотник

Сообщение robovan » 05 фев 2013, 18:01

вижу работа кипит:-) котэ мучитель)))

Добавлено спустя 5 минут 23 секунды:
все внутренние органы небось оттдавил:-D
Самое важное в жизни- найти человека , который смотрит на мир, так же как и ты:)
Аватара пользователя
robovan
 
Сообщения: 1536
Зарегистрирован: 04 сен 2012, 00:39
Откуда: Украина
ФИО: Владимир

Пред.След.

Вернуться в Идеи

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 7