roboforum.ru

Технический форум по робототехнике.

Система навигации с точностью +-2см

Re: Система навигации с точностью +-2см

Marvelmind » 08 апр 2015, 11:39

sned писал(а):У вас здесь http://marvelmind.com/pics/_IMG_6630_fu ... dgehog.jpg, кажется мобильный маяк, с одной "пищалкой" вместо четырех.Это просто опытный вариант или тоже возможно серийная плата?


Оба варианта мы выпускаем небольшими сериями. Маленький - до 10 метров в ультразвуке. Большой - до 50 метров в ультразвуке. По радио они одинаковые - до 100м в офисе.
Маленький и меньше в 2 раза по размеру и дешевле большого - 69 USD вместо 99 USD.

Re: Система навигации с точностью +-2см

sned » 08 апр 2015, 14:31

На "пищалке" металлический стаканчик вроде для получения узкой диаграммы направленности.Не пробовали его срезать для "расширения" излучения?

Re: Система навигации с точностью +-2см

Marvelmind » 08 апр 2015, 15:09

sned писал(а):На "пищалке" металлический стаканчик вроде для получения узкой диаграммы направленности.Не пробовали его срезать для "расширения" излучения?


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

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

Re: Система навигации с точностью +-2см

gandalvab » 02 дек 2015, 09:42

Ну просто на уровне идеи.
Ставим на робота 4 пьезоизлучателя(можно надергать из тех же hc-sr04) направленные в разные стороны. Фигачим пачки 40килогерц скажем с частотой 10 герц. На стены вешаем 3 приемника(в каждом приемнике по несколько пьезоприемников из тех же hc-sr04 и операционные усилители с микрухой(к примеру atmega8)). Как только приемник примет пачку он поднимает ногу в 1-ку например на 20мс. Все три приемника мы подключаем к одной микрухе к примеру atmega328. На 328-й мы ловим первую поднявшуюся ножку, затем начинаем считать время до следующих поднявшихся ножек. В итоге мы знаем 2 временных разницы прохождения звука до 3-х датчиков.

Что мы имеем
x1,y1,z1 - координаты датчика 1
x2,y2,z2 - координаты датчика 2
x3,y3,z3 - координаты датчика 3
zr - координата робота по высоте.
d1,d2 - разность расстояний от первого сработавшего датчика до 2-го и 3-го
Что нужно вычислить
d - расстояние до первого сработавшего датчика
xr,yr - координаты робота
После того как мега 328 вычислит координаты робота она может по сети отправить udp широковещательный пакет о текущих координатах или по http только тогда надо знать адрес и порт робота.
Мне кажется что система должна работать, поправьте если я не прав.

Re: Система навигации с точностью +-2см

Scorpio » 02 дек 2015, 18:07

Примерно на таком принципе, только в 2D, работают электронные мишени. У них по углам установлены 4 пьезомикрофона.

Re: Система навигации с точностью +-2см

gandalvab » 03 дек 2015, 14:05

Вот нашел, кто-то уже реализовал такую систему: тут
Только можно было сделать намного проще и с поддержкой нормальной сети LAN на 328-й меге. Плюсом легко можно сделать в такой системе поддержку нескольких роботов. Первый робот шлет по сети пакет мол давай определим мои координаты, система отвечает я готова или занята. Робот отправляет ультразвук, система его обрабатывает и вычисляет координаты, потом координаты отправляются роботу. Если скажем по квартире катается несколько роботов то каждому присваиваем уникальный идентификатор и при запросе они его указывают а система с координатами шлет и идентификатор того кому этот пакет.

Re: Система навигации с точностью +-2см

Marvelmind » 03 дек 2015, 17:39

День добрый, коллеги,

BR,
gandalvab писал(а):Ну просто на уровне идеи.
Ставим на робота 4 пьезоизлучателя(можно надергать из тех же hc-sr04) направленные в разные стороны. Фигачим пачки 40килогерц скажем с частотой 10 герц. На стены вешаем 3 приемника(в каждом приемнике по несколько пьезоприемников из тех же hc-sr04 и операционные усилители с микрухой(к примеру atmega8)). Как только приемник примет пачку он поднимает ногу в 1-ку например на 20мс. Все три приемника мы подключаем к одной микрухе к примеру atmega328. На 328-й мы ловим первую поднявшуюся ножку, затем начинаем считать время до следующих поднявшихся ножек. В итоге мы знаем 2 временных разницы прохождения звука до 3-х датчиков.

Что мы имеем
x1,y1,z1 - координаты датчика 1
x2,y2,z2 - координаты датчика 2
x3,y3,z3 - координаты датчика 3
zr - координата робота по высоте.
d1,d2 - разность расстояний от первого сработавшего датчика до 2-го и 3-го
Что нужно вычислить
d - расстояние до первого сработавшего датчика
xr,yr - координаты робота
После того как мега 328 вычислит координаты робота она может по сети отправить udp широковещательный пакет о текущих координатах или по http только тогда надо знать адрес и порт робота.
Мне кажется что система должна работать, поправьте если я не прав.


Да, примерно, так мы и работаем.
Пара вопросов:
- А вы уже знаете координаты маяков на стенах?

Добавлено спустя 3 минуты 7 секунд:
gandalvab писал(а):Вот нашел, кто-то уже реализовал такую систему: тут
Только можно было сделать намного проще и с поддержкой нормальной сети LAN на 328-й меге. Плюсом легко можно сделать в такой системе поддержку нескольких роботов. Первый робот шлет по сети пакет мол давай определим мои координаты, система отвечает я готова или занята. Робот отправляет ультразвук, система его обрабатывает и вычисляет координаты, потом координаты отправляются роботу. Если скажем по квартире катается несколько роботов то каждому присваиваем уникальный идентификатор и при запросе они его указывают а система с координатами шлет и идентификатор того кому этот пакет.



Да, и так тоже мы делаем. Time division multiple access.

Из ссылки: Единственным способом устранения этого недостатка является увеличение расстояния между Приёмниками — при его увеличении в 4 раза, то есть до 2 м, область разброса уменьшится более чем в 4 раза. Проведем расчеты:
Именно поэтому мы отказались от множественных датчиков на роботе - расстояние между ними малое. И, даже, малые погрешности измерения расстояния приводили к относительно большим погрешностям вычисления положения. Чем больше база между приемниками или передатчиками - сенсорами - тем выше точность.

На точность влияет, конечно, очень много показателей.

Добавлено спустя 2 минуты 16 секунд:
Scorpio писал(а):Примерно на таком принципе, только в 2D, работают электронные мишени. У них по углам установлены 4 пьезомикрофона.


Здесь достигается высокая точность за счет того, что высчитывается положение внутри фигуры, описанной микрофонами. Если бы нужно было бы измерять далеко мне поля мишени, точность бы падала очень быстро.


cron
Rambler\'s Top100 Mail.ru counter