Наш робот имеет круглую матрицу из 12 датчиков сонара, которая выглядит следующим образом:
Сами датчики гидролокатора довольно хороши. Мы используем фильтр нижних частот для борьбы с шумом, и показания кажутся довольно точными. Однако, когда робот сталкивается с плоской поверхностью, такой как стена, происходит нечто странное. Сонары не показывают показания, которые указывали бы на стену, вместо этого это похоже на кривую поверхность.
Сюжет ниже был сделан, когда робот стоял лицом к стене. Посмотрите кривую в синих линиях, по сравнению с прямой красной линией. Красная линия была получена с помощью камеры для обнаружения стены, где синие линии показывают отфильтрованные показания сонара.
Мы полагаем, что эта ошибка вызвана перекрестными помехами, когда импульс одного датчика сонара отражается от стены под углом и принимается другим датчиком. Это систематическая ошибка, поэтому мы не можем справиться с ней так же, как с шумом. Есть ли какие-либо решения, чтобы исправить это?
источник
Ответы:
Это общая проблема, и одна из многих. Акустическое зондирование является сложной областью исследования, значительная часть которой посвящена предположению, по какому пути прошла звуковая волна между ее отправкой и получением. Как вы уже заметили, если предположить, что все получилось и вернулось назад, на практике вы получите странные результаты.
Чтобы действительно решить эту проблему, вам нужно использовать систему, которая устанавливает уникальную частоту и / или длину тона на каждом датчике. Это может быть принято до значительных пределов, например, псевдослучайная широтно-импульсная модуляция со скачкообразной перестройкой частоты, чтобы устранить помехи от сонарных датчиков в мобильных роботах .
Существует также низкотехнологичное решение, которое довольно просто в концепции. Если вы хотите просто обнаружить перекрестные помехи, это будет вопрос запуска импульса одного датчика между импульсами всех датчиков. Если вы обнаружите обратный импульс с помощью любого другого датчика, вы знаете, что находитесь в ситуации перекрестных помех.
На практике это довольно расточительно: обратите внимание, что это фактически вдвое уменьшает количество проб, которые вы можете взять. Таким образом, вы можете улучшить реализацию, разделив датчики на группы, где каждый член группы находится достаточно далеко от других, чтобы он не получал перекрестные помехи. Наиболее надежная версия этого подхода заключается в том, чтобы сделать сами группы псевдослучайными, что не только позволяет усреднять ошибки во времени, но и помогает обнаруживать перекрестные помехи на основе отдельного датчика.
В вашем конкретном случае вы получаете дополнительное преимущество от показанного вами датчика камеры, который возвращает более правильное значение для диапазонов. Стратегии объединения отдельных (и, возможно, противоречивых) измерений в одну более точную оценку - это отдельная очень широкая тема (называемая объединением , пример 1 , пример 2 ), но очень важная для того, что вы здесь делаете.
источник
Некоторые датчики, такие как Maxbotix MB1200 XL-MaxSonar-EZ0, имеют встроенную систему последовательного подключения, в которой один датчик запускает следующий датчик после завершения измерения. Таким образом, вы можете иметь N датчиков и убедиться, что только один срабатывает одновременно, но там срабатывает следующий датчик, как только первый из них соберет свое возвращение. Это простое решение, но, очевидно, значительно сокращает объем данных, которые вы получаете за единицу времени. Решения Яна намного ближе к оптимальным.
источник
Можно ли использовать несколько ультразвуковых датчиков на одном роботе? Да: «Использование нескольких датчиков сонара» .
Как вы уже поняли, один датчик часто получает эхо-сигналы, отправленные другим датчиком. Есть несколько способов справиться с перекрестной чувствительностью, примерно в порядке простоты:
PS: Вы видели "Инфракрасный против Ультразвукового - Что вы должны знать" ?
(Да, я уже говорил об этом раньше, на «Вопросе о нескольких ультразвуковых дальномерах» .)
источник