Если вы хотите избежать препятствий, вероятно, проще всего использовать ультразвуковые датчики. Если робот движется со скоростью, подходящей для среды обитания человека, то его радиус действия 10 м дает вам достаточно времени, чтобы остановить робота. Имейте в виду, что ни одна система не гарантирует, что вы случайно ничего не ударили.
(2) Возможно ли создать разумную трехмерную реконструкцию, основанную только на двух видах на таком небольшом расстоянии между ними? Если да, то в какой степени я могу использовать это для избежания препятствий и лучшего построения маршрута?
Да, это возможно. Посмотрите на ROS и их vSLAM. http://www.ros.org/wiki/vslam и http://www.ros.org/wiki/slam_gmapping будут двумя из многих возможных ресурсов.
однако, когда 3D-реконструкция выполняется в одном направлении, как она может определить, была ли она уже там, если она идет в противоположном направлении
Ну, вы пытаетесь найти свою позицию по измерениям и карте. Это должно быть возможно, и не имеет значения, в каком направлении была создана карта. Однако существует проблема с замыканием цикла. Поскольку вы создаете 3D-карту в то же время, когда пытаетесь найти дорогу, вы не знаете, находитесь ли вы в новом месте или в месте, которое вы видели раньше.
ЗАКЛЮЧЕНИЕ
Это сложная задача!
На самом деле, это больше, чем один. Сначала у вас есть простое уклонение от препятствий (т. Е. Don't drive into things.
). Затем вы хотите выполнить одновременную локализацию и отображение (SLAM, прочитайте об этом в Википедии) и, наконец, вы хотите выполнить планирование пути (то есть дважды подметать пол без покрытия).
Надеюсь, это поможет?