Это общая проблема, и одна из многих. Акустическое зондирование является сложной областью исследования, значительная часть которой посвящена предположению, по какому пути прошла звуковая волна между ее отправкой и получением. Как вы уже заметили, если предположить, что все получилось и вернулось назад, на практике вы получите странные результаты.
Чтобы действительно решить эту проблему, вам нужно использовать систему, которая устанавливает уникальную частоту и / или длину тона на каждом датчике. Это может быть принято до значительных пределов, например, псевдослучайная широтно-импульсная модуляция со скачкообразной перестройкой частоты, чтобы устранить помехи от сонарных датчиков в мобильных роботах .
Существует также низкотехнологичное решение, которое довольно просто в концепции. Если вы хотите просто обнаружить перекрестные помехи, это будет вопрос запуска импульса одного датчика между импульсами всех датчиков. Если вы обнаружите обратный импульс с помощью любого другого датчика, вы знаете, что находитесь в ситуации перекрестных помех.
На практике это довольно расточительно: обратите внимание, что это фактически вдвое уменьшает количество проб, которые вы можете взять. Таким образом, вы можете улучшить реализацию, разделив датчики на группы, где каждый член группы находится достаточно далеко от других, чтобы он не получал перекрестные помехи. Наиболее надежная версия этого подхода заключается в том, чтобы сделать сами группы псевдослучайными, что не только позволяет усреднять ошибки во времени, но и помогает обнаруживать перекрестные помехи на основе отдельного датчика.
В вашем конкретном случае вы получаете дополнительное преимущество от показанного вами датчика камеры, который возвращает более правильное значение для диапазонов. Стратегии объединения отдельных (и, возможно, противоречивых) измерений в одну более точную оценку - это отдельная очень широкая тема (называемая объединением , пример 1 , пример 2 ), но очень важная для того, что вы здесь делаете.