roboforum.ru

Технический форум по робототехнике.
Текущее время: 13 апр 2025, 12:00

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 20 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: Прицеливание. Ведение огня.
СообщениеДобавлено: 07 авг 2007, 22:57 
Не в сети
Аватара пользователя

Зарегистрирован: 08 окт 2004, 16:43
Сообщения: 2114
Откуда: St. Petersburg
Skype: quark-bot
ФИО: Клебан Виталий
Я потихонечку подготавливаю проект стреляющего робота на defconbots.org
Напомню, что недавно выложил описание: http://www.roboforum.ru/viewtopic.htm?t=2841

Итак стоит задача создания системы прицеливания и ведения огня. Вот как она выглядит в моем случае...

- Есть орудие управляемое по азимуту и углу (наклону).
- Известна начальная скорость и вес пули.
- Инерцией орудия можно пренебречь.
- Известна максимальная и минимальная скорость управления орудием по азимуту и по углу.
- Известны координаты целей на экране.

Задача: разработать алгоритм позволяющий как можно быстрее поразить все цели. Есть идеи?

Пример целей:
Изображение

Видео работы аналогичного робота:
http://defconbots.org/defcon14/20060326 ... _small.avi

_________________
Все новости о моих проектах http://savethebest.ru


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 07 авг 2007, 23:10 
Не в сети
Аватара пользователя

Зарегистрирован: 21 дек 2006, 19:56
Сообщения: 4468
Откуда: Украина, г.Одесса
прог. языки: Delphi и С
[off]Идей валом. Времени нет. А когда время есть, то лень. Это у всех так или я один такой особенный?[/off]
Короче тебе нужен проект Diana, там рассказывается как сделать дальномер на основе Web-камеры. А дальше крепишь камеру на орудие и вперед. Тока нада чтоб мишени выделялись на фоне, ну были там красные.
Тока я не совсем понял там на видео в одну мишень целая обойма. Лучше один выстрел - один труп.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 08 авг 2007, 00:01 
Не в сети
Аватара пользователя

Зарегистрирован: 08 окт 2004, 16:43
Сообщения: 2114
Откуда: St. Petersburg
Skype: quark-bot
ФИО: Клебан Виталий
Цитата:
там рассказывается как сделать дальномер

Мне не нужен дальномер расстояние до целей известно.

Цитата:
Тока нада чтоб мишени выделялись на фоне, ну были там красные.

Мы считаем, что мишени уже выделены и их координаты известны. Благо как решить эту задачу я знаю.

Цитата:
Тока я не совсем понял там на видео в одну мишень целая обойма. Лучше один выстрел - один труп.

Системы ПВО так и работают, расход патронов не принципиален.

_________________
Все новости о моих проектах http://savethebest.ru


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 08 авг 2007, 19:41 
Не в сети
Аватара пользователя

Зарегистрирован: 21 дек 2006, 19:56
Сообщения: 4468
Откуда: Украина, г.Одесса
прог. языки: Delphi и С
Чета я не понял, если все известно, то в чем проблема? Расстояние одинаковое значит поправка на высоту одинаковая.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 08 авг 2007, 21:12 
Не в сети
Аватара пользователя

Зарегистрирован: 15 янв 2007, 19:23
Сообщения: 1058
Откуда: Беларусь, Барановичи
прог. языки: С для МК, Delphi для ПК
Если всё известно, то расчет углов - чистой воды физика+дополнение из поправок, обусловленных сопротивлением воздуха. А снаряд у вас не вращается? А то тоже поправку нужно вводить. Как я понял нужен алгоритм, который позволял бы погасить мишени с наименьшими временными затратами по ориентированию пушки. Может быть тут поможет математическое моделирование (отдаленно напоминает задачу коммивояжера)?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 09 авг 2007, 00:35 
Не в сети
Аватара пользователя

Зарегистрирован: 08 окт 2004, 16:43
Сообщения: 2114
Откуда: St. Petersburg
Skype: quark-bot
ФИО: Клебан Виталий
Цитата:
Может быть тут поможет математическое моделирование (отдаленно напоминает задачу коммивояжера)?


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

Двигаться и останавливаться в момент выстрела?
Или стрелять во время движения?
Если второе, то хотелось бы узнать как можно смоделировать поправку на движение?

И последний вопрос, у кого-нибудь хватило бы смелости реализовать подобный алгоритм?

_________________
Все новости о моих проектах http://savethebest.ru


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 09 авг 2007, 23:55 
Не в сети
Аватара пользователя

Зарегистрирован: 15 янв 2007, 19:23
Сообщения: 1058
Откуда: Беларусь, Барановичи
прог. языки: С для МК, Delphi для ПК
Виталий писал(а):
Если второе, то хотелось бы узнать как можно смоделировать поправку на движение?

Вряд ли она понадобится, если вылет снаряда будет происходить в нужное время.
Цитата:
И последний вопрос, у кого-нибудь хватило бы смелости реализовать подобный алгоритм?

Идейно и теоретически помочь могу. Целиком (на программирование) - нет времени. Хотя... :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 12 авг 2007, 22:46 
Не в сети
Аватара пользователя

Зарегистрирован: 06 окт 2004, 18:01
Сообщения: 24218
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов
Если мы говорим чисто про алгоритм выбора порядка обработки целей, то задача эквивалентна задаче коммивояжора (только функция расстояния специфическая = максимуму модулей разности), которая на 100% может решаться только полным перебором. Насколько я знаю, существуют алгоритмы, позволяющие найти за разумное время решение, близкое к оптимальному с точностью до константы.


Последний раз редактировалось =DeaD= 12 авг 2007, 22:51, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 12 авг 2007, 22:48 
Не в сети
Аватара пользователя

Зарегистрирован: 21 дек 2006, 19:56
Сообщения: 4468
Откуда: Украина, г.Одесса
прог. языки: Delphi и С
Я думаю для начала можно сделать просто как развертка в телевизоре.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 12 авг 2007, 22:53 
Не в сети
Аватара пользователя

Зарегистрирован: 06 окт 2004, 18:01
Сообщения: 24218
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов
Ссылочки по существу темы:

Задача коммивояжера в общей википедии: http://ru.wikipedia.org/wiki/%D0%97%D0% ... 1%80%D0%B0

В специализированной вики: http://lib.custis.ru/index.php/%D0%97%D ... 1%80%D0%B0 (там внизу ссылка на приближенное решение метрической версии алгоритмом Кристофидеса - это для вас как раз, у вас именно метрическая версия с такой функцией расстояния).


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 13 авг 2007, 01:02 
Не в сети
Аватара пользователя

Зарегистрирован: 15 янв 2007, 19:23
Сообщения: 1058
Откуда: Беларусь, Барановичи
прог. языки: С для МК, Delphi для ПК
Цитата:
Я думаю для начала можно сделать просто как развертка в телевизоре.

Ну тогда хотя бы и на обратном пути тоже стрелять.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 13 авг 2007, 01:08 
Не в сети
Аватара пользователя

Зарегистрирован: 21 дек 2006, 19:56
Сообщения: 4468
Откуда: Украина, г.Одесса
прог. языки: Delphi и С
SSG писал(а):
Цитата:
Я думаю для начала можно сделать просто как развертка в телевизоре.

Ну тогда хотя бы и на обратном пути тоже стрелять.

А что телек тока в одну сторону рисует?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 13 авг 2007, 11:00 
Не в сети
Аватара пользователя

Зарегистрирован: 15 янв 2007, 19:23
Сообщения: 1058
Откуда: Беларусь, Барановичи
прог. языки: С для МК, Delphi для ПК
Master писал(а):
А что телек тока в одну сторону рисует?

[off]Ну да. Вот, например, в самом простом случае примитивного осциллографа прогон луча осуществляется пилообразным наприжением.  :roll: [/off]
А вообще методов решения задачи коммивояжера много. Тут и графы можно привлечь, и генетические алгоритмы. А вообще алгоритмы грубо можно разделить на 2 вида:
1) точные, которые позволяют найте абсолютно точное или наиболее лучшее решение. В задаче коммивояжера это метод перебора.
2) приближенные, которые позволяют найти "хорошее решение" за некоторое ограниченное время. К ним можно отнести, например, генетические алгоритмы. Вот, к примеру, задачу составления расписания в учебном заведении очень сложно решить "точно", т.е. получить абсолютно удовлетворящее всех расписание. Но достаточно хорошее, с некоторыми допущениями, получить можно достаточно быстро (при наличии нужного софта и головы :D).
Какой алгоритм выбрать для решения конкретной задачи зависит от начальных условий. В данном случае, если мишеней немного и хватает вычислительной мощности, то простой перебор можно осуществить оч. быстро и не нежно будет лезть в дебри мат. моделирования.  :D


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 13 авг 2007, 18:23 
Не в сети

Зарегистрирован: 22 окт 2005, 11:15
Сообщения: 345
Откуда: Красноярск
Перебором какой-бы мощной системой не был считать будет ооочень долго. На рисунке 20 мишеней число вариантов 20! это число с 15 знаками. Можно взять 1000 случайных маршрутов расчитать их и выбрать самый короткий.
Однако тут нужно учитывать параметры двигателей. Если ускорение которое могут создать двигатели маленькое, то как мне кажется оптимальным будет движение по спирали.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 13 авг 2007, 20:27 
Не в сети
Безбашенный Теоретик
Аватара пользователя

Зарегистрирован: 07 янв 2006, 18:30
Сообщения: 1137
Откуда: Подмосковье
а может наводить на ближнюю цель к текущей линии наводки? по оптимальности конечно хуже, чем перебор,
зато по скорости :twisted:


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 20 ]  На страницу 1, 2  След.

Часовой пояс: UTC + 4 часа


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

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


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
phpBB SEO