Форум программистов, компьютерный форум, киберфорум
Наши страницы
Микроконтроллеры Atmega AVR
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.51/92: Рейтинг темы: голосов - 92, средняя оценка - 4.51
domoyri
0 / 0 / 0
Регистрация: 16.07.2013
Сообщений: 7
1

"Спутниковая" система позиционирования

20.07.2013, 03:16. Просмотров 16556. Ответов 36
Метки нет (Все метки)

Добрый день. Хочу сделать такую систему: над макетом-столом (размеры 5м*2м) висят 3 спутника (макеты). На столе передвигаются объекты (машинки, паровозики). На каждом спутнике стоит дальномер, постоянно определяющий расстояние до объекта внизу (пока у нас будет один объект для простоты). Определив расстояние передатчик со спутника посылает данные на базовую станцию. Станция принимает сигналы с 3х спутников, обрабатывает их методом триангуляции определяет координаты объекта. Что-то аналогичное сделали немцы (пока система не поступила в продажу): http://www.faller.de/App/WebObjects/XSe ... r-Set.html
Главный вопрос у меня такой - как сделать дальномер? Датчик на спутнике (желательно инфракрасный, хотя не важно какой) должен определять расстояние не вообще до стола (стенки, препятствия), как это делают датчики-дальномеры в роботах, а до конкретного объекта на столе. То есть это должно быть как-то системой приёмник-передатчик. Контроллеры для вычислений AVR.
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.07.2013, 03:16
Ответы с готовыми решениями:

Теория Спутниковая система
1) Что такое spot beam? В чем заключается проблема с ними? В Интернете есть всего парочка...

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

Система локального позиционирования
система локального позиционирования посоветуйте литературу и материал по сетям

Спутниковая тарелка
Поставили спутниковую тарелку. Она всё грузит, качает, а страницы не отображает. Что делать???

Спутниковая рыбалка
Подскажите как настроить спутниковую рыбалку. У меня была но настраивал не я. Все необходимое...

36
Stiit.mi
0 / 0 / 0
Регистрация: 26.04.2010
Сообщений: 1,445
20.07.2013, 11:12 2
Спутник (или объект) посылает ультразвуковой и радио импульсы, ловим, определяет сдвиг, вычисляем расстояние
0
domoyri
0 / 0 / 0
Регистрация: 16.07.2013
Сообщений: 7
20.07.2013, 20:29 3
Это понятно-) А алгоритм какой? Самый лучший? Может есть образцы аналогичных решений?
0
OtixPM
0 / 0 / 0
Регистрация: 11.01.2013
Сообщений: 5,483
20.07.2013, 22:15 4
Цитата Сообщение от domoyri
Это понятно-) А алгоритм какой? Самый лучший? Может есть образцы аналогичных решений?
Это то же самое что GPS. И, как и в GPS, без точного временнОй базы на каждом паровозике (либо на каждом "спутнике", висящем над столом) система уравнений для определения сдвига-->рассстояний-->координат не решается.
0
20.07.2013, 22:15
oomomstir
0 / 0 / 0
Регистрация: 07.02.2106
Сообщений: 1,864
20.07.2013, 22:19 5
Э... если вы не можете с ходу придумать алгоритм для данной задачи - то вряд ли вы сможете разработать такую систему самостоятельно.

Кстати, при трёх "спутниках" для определения двух координат (машинки ведь не летают, а макет плоский или по крайней мере рельеф известен заранее) радиоимпульс не нужен. Достаточно (ультра)звукового. Итого, пищалка на машинке (которая тупо через определённые промежутки времени выдаёт импульсы), три микрофона, фиксируем моменты прихода импульсов t1, t2, t3, независимых чисел два (например, t2-t1 и t3-t1). Для N машинок надо будет как-то идентифицировать импульсы от каждой.
Да, GPS получается "наоборот" - машинки излучают, спутники принимают... так проще.

Самый простой метод обсчёта для вашей задачи - разбить макет на квадраты и для угла каждого квадрата заранее рассчитать (или померить) t2-t1 и t3-t1. Получится таблица - из x,y в задержки.
После чего для измеренных задержек находите ближайшее из таблицы (ну а потом можно уточнить результат с помощью билинейной интерполяции по ближайшим соседям), и вуаля.
Но можно и честно (численно) решать систему уравнений для каждой точки...
0
oomomstir
0 / 0 / 0
Регистрация: 07.02.2106
Сообщений: 1,864
20.07.2013, 22:28 6
Кстати, а вам критично именно со "спутниками"? Потому как повесить сверху камеру, а на машинки навесить светодиоды (можно для каждой заставить диод мигать в своём ритме, или для небольшого количества машинок - просто диоды разных цветов) - на два порядка проще.
0
Bottyk
0 / 0 / 0
Регистрация: 27.01.2010
Сообщений: 1,182
20.07.2013, 22:52 7
Пищалку и микрофоны можно синхронизировать...тогда будет известна точка отсчета времени. Синхронизация через ИК или видимую мигалку.
0
oomomstir
0 / 0 / 0
Регистрация: 07.02.2106
Сообщений: 1,864
20.07.2013, 23:30 8
Bottyk, при трёх спутниках (и двух координатах) - нет необходимости синхронизировать с ними ещё и пищалку, достаточно синхронизировать их между собой (что тривиально - они всё равно подключаются к одному контроллеру).
0
Ommykytotor
0 / 0 / 0
Регистрация: 13.06.2013
Сообщений: 584
20.07.2013, 23:34 9
А может на машинки поставить ИК и "стенки" вкруг стола как для робота-пылесоса (стол же плоский), а спутники для виду повесить. Они будут для рельефного стола хороши.
0
oomomstir
0 / 0 / 0
Регистрация: 07.02.2106
Сообщений: 1,864
20.07.2013, 23:58 10
Ommykytotor, стенки для робота-пылесоса - совсем уж примитивная вещь, они просто излучают сигнал "сюда не ходи" (два излучателя, один узким лучом, другой засвечивает место вокруг генератора стенки, чтобы пылесос его не сбил случайно). Так что именно такое не подойдёт.
Но всякие не-гпс-подобные варианты imho не хуже gps-подобных... например, два сервопривода, вращающих два "радара".
0
Ommykytotor
0 / 0 / 0
Регистрация: 13.06.2013
Сообщений: 584
21.07.2013, 00:06 11
Ну да, что какие-нибудь вращающиеся на 90? по углам пеленгаторы, на модельках отражатели и приемники где нибудь. В принтере лазерном 1 диод, фигня крутится и на линию распространяет. Можно так же, можно обратным образом.
0
oomomstir
0 / 0 / 0
Регистрация: 07.02.2106
Сообщений: 1,864
21.07.2013, 00:39 12
Ommykytotor, тут речь не идёт о полноценном распознавании - достаточно найти самую яркую точку на изображении (где диод светит). Или даже ещё проще: самую яркую вертикальную линию + самую яркую горизонтальную линию (т.е. реально нужна не полноценная матрица камеры, а две линейки фотоприёмников).
Но вообще и для распознавания есть готовые решения - OpenCV. Правда, это уже на 8-битных AVR вряд ли раскочегарить удастся (да и с камерой - не знаю, реально ли... Вот если бы взять две линейки фотоэлементов - это atmega точно потянет... но на самом деле довольно-таки уверен, что у топикстартера в систему будет включён комп - так что обработку изображений можно было бы вести на нём).

... Пардон, я неправ: есть проект avrcam - там, кажется, камера цепляется непосредственно на atmega и может отслеживать объект заданного цвета. Разрешение, правда, довольно низкое (176x144), но, подозреваю, этого хватит (особенно если добавить к этому вычисление скорости машинок и вести "правильное" сглаживание траектории с учётом скорости).

А для одномерного варианта - google "CCD line camera". А ещё можно погуглить "Position Sensitive Device" - это вообще наполовину готовое решение, для счастья достаточно научиться сигналить нужной машинке, чтобы включила светодиод.
0
Ommykytotor
0 / 0 / 0
Регистрация: 13.06.2013
Сообщений: 584
21.07.2013, 01:15 13
На машинках ИК диоды мигают вверх в своё время каждый, без коллизий чтоб получалось. Ноутбучная вебкамера в темноте, с одного метра точка пульта не больше 10х10, но чуть в сторону - её уже уводит за обзор. Нужны широкофокусные камеры. И еще фильты для ик, только наоборот чтоб пропускали только его если есть в природе - иначе не хватит микроконтроллера. Или ик камеру.
Кадр как обрабатывать, с ходу или сперва где нибудь хранить?
0
Bottyk
0 / 0 / 0
Регистрация: 27.01.2010
Сообщений: 1,182
21.07.2013, 02:52 14
Цитата Сообщение от oomomstir
Bottyk, при трёх спутниках (и двух координатах) - нет необходимости синхронизировать с ними ещё и пищалку, достаточно синхронизировать их между собой (что тривиально - они всё равно подключаются к одному контроллеру).
Точность повысится. Там все не так тривиально....
0
ImTuTb!
0 / 0 / 0
Регистрация: 04.03.2011
Сообщений: 594
21.07.2013, 11:03 15
Я бы отслеживал по рельсам.
А если роботы на столе однородного цвета - по камере.
0
oomomstir
0 / 0 / 0
Регистрация: 07.02.2106
Сообщений: 1,864
21.07.2013, 14:19 16
Bottyk, для повышения точности удобнее повесить лишний спутник, чем синхронизировать часы спутников и машинок (кстати, на gps синхронизация часов всё равно идёт за счёт количества спутников). А ещё удобней отказаться от идеи gps-подобия.
В общем, вернётся топик-стартер - узнаем, какие у него на самом деле требования, а то любопытно.

ImTuTb!, +1 (только для камер бы светодиоды на машинки повесил - можно ИК).
0
domoyri
0 / 0 / 0
Регистрация: 16.07.2013
Сообщений: 7
24.07.2013, 05:19 17
Спасибо за советы. Но главное, что я хотел узнать, как именно делается по науке ИК дальномер приёмник-передатчик?
0
oomomstir
0 / 0 / 0
Регистрация: 07.02.2106
Сообщений: 1,864
24.07.2013, 13:11 18
domoyri, именно ИК? См. http://roboforum.ru/wiki/ИК-дальномеры_SHARP
Дёшево и сердито =)
Кстати, как раз матрица от такого дальномера вам бы, наверное, идеально подошла для спутника (пикселов мало - avr справится), но вот линза не подойдёт.
0
domoyri
0 / 0 / 0
Регистрация: 16.07.2013
Сообщений: 7
25.07.2013, 19:59 19
А всё же, может кто опишет алгоритм такого дальномера?
Если делать подобно GPS, получится так. Сигнал идёт со скоростью света. Скорость света 300 млн. метров в сек, если в дециметрах (допустим, делать с точностью 10 см), то 3*10 в 9й степени дм/сек. Это значит, что каждые 330 наносекунд сигнал проходит 1 дм. То есть частота нужна 330 ГГц. Передатчик должен посылать сигнал с частотой более 330 ГГц, а приёмник его должен с такой частотой ловить. Синхронизация, следовательно, должна быть с точностью до сотых долей наносекунды. Как это сделать? Ведь расстояние, на котором приёмник-передатчик синхронизируются, должно быть так же точным, допустим, 2 метра с точностью до миллиметров - чтобы знать, сколько времени идёт сигнал.
Если делать датчик, определяющий расстояние по отражённому сигналу, тогда синхронизация как бы не нужна, он просто внутри отсчитывает время, за которое сигнал отразится и вернётся, делит его на 2 и вычисляет расстояние. Но как сделать в этом случае, чтобы отражение шло именно от нужного маленького объекта на столе, а не от стола?
Если посылать сигнал на приёмник (а приёмник в ответ должен отправить обратный сигнал), дожидаться ответного сигнала от приёмника и вычислять время прохождения аналогично второму варианту с отражением, то как учитывать задержки обработки в приёмнике?
0
kpk
0 / 0 / 0
Регистрация: 07.04.2013
Сообщений: 461
25.07.2013, 20:27 20
Где то вроде неправильно т.к. 100 нс (это при 10МГц такте) время выполнения 1-й команды в МК. (где 330ГГЦ?)
Частоту колебаний света в импульсе не нужно учитывать. (не найдёте? вы таких фото элементов)

P.S.
Код
 Скорость звука в газах 0 °C, 101325 Па;
м/с[1]; км/ч
Азот   334   1202.4
Аммиак   415   1494.0
Ацетилен   327   1177.2
Водород   1284   4622.4
Воздух   331   1191.6
Гелий   965   3474.0
Кислород   316   1137.6
Метан   430   1548.0
Угарный газ   338   1216.8
Углекислый газ   259   932.4
Хлор   206   741.6
В воде примерно в 5 раза больше
0
25.07.2013, 20:27
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.07.2013, 20:27

Спутниковая рыбалка
давно пользуюсь спутниковым ТВ, устанавливал сам... настроенна на Сириус 5 Е + Хотбирд 13 Е + Астра...

Спутниковая антенна
Имеется спутниковая антенна, ресивер (или как его там, короче - тюнер) на котором есть порт с...

iMac и спутниковая тарелка
Доброго времени суток. Есть iMac, можно ли смотреть на нем телевидение через спутниковую тарелку....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru