В настоящее время udacity предлагает бесплатный онлайн-курс « Программирование роботизированной машины», который научит вас, как Google это делает для своих автомобилей. В основном они используют GPS для определения местоположения, а также сохраненные карты и зрение для локализации с высокой степенью точности. Программное обеспечение использует фильтры частиц.
Вы можете сделать это только с помощью GPS, если используете дорогостоящее дифференциальное GPS-оборудование, используемое геодезистами, но это вряд ли будет экономически эффективным. Как вы предлагаете, если вы используете пару недорогих (возможно, Xbee) приемопередатчиков, вы можете легко измерить расстояние с чрезвычайно высокой степенью точности, передавая импульс и измеряя время, необходимое для перемещения от передатчика робота к дистанционный ретранслятор и обратно. Это похоже на RADAR, за исключением того, что вместо того, чтобы отражать сигнал от пассивной поверхности, он отправляется обратно вашими стационарными транспондерами.
РЕДАКТИРОВАТЬ: Так как мне позвонил Кевин по этому вопросу, возможно, я лучше объясню ;-) (Все в порядке, я очень уважаю Кевина, и он совершенно прав, что я не предоставил достаточно деталей, чтобы показать, как реализовать это).
Для точного измерения задержки распространения между двумя точками необходимо, в первую очередь, две вещи: 1) Прямой путь прохождения сигнала, поскольку отражения будут создавать искажения. 2) Некоторые электронные устройства на обоих концах используют синхронизированные часы и возможность измерять временные интервалы с требуемой точностью.
Синхронизированные часы относительно просты, так как принимающая станция может получить свои часы из сигнала, передаваемого другой станцией. Это стандартная синхронная передача данных с восстановлением тактовой частоты.
Вот статья « Измерение задержки распространения по двунаправленному каналу передачи данных со скоростью 1,25 Гбит / с», где они легко получают такую точность на отрезке оптоволокна длиной 10 км. Они заявляют: «Он должен быть способен синхронизировать ~ 1000 узлов с субнаносекундной точностью на длинах до 10 км».
В этой заметке описан способ определения временного смещения между двумя узлами. Эти узлы соединены через двунаправленный последовательный двухточечный канал связи со скоростью 1,25 Гбит / с, кодируемый 8B / 10B, как, например, 1000BASE-X (Gigabit Ethernet). Смещение по времени определяется путем измерения задержки распространения с использованием сигнала маркера. Сигнал отправляется от ведущего к подчиненному узлу и обратно с использованием функций сериализатора / десериализатора (SerDes) в (Virtex-5) FPGA. Восстановленные часы на подчиненном узле используются в качестве часов передачи ведомого, поэтому вся система работает синхронно. Для последовательного канала связи со скоростью 1,25 Гбит / с задержка известна с разрешением в один единичный интервал (т. Е. 800 пс). Это разрешение может быть дополнительно улучшено путем измерения фазового отношения между часами передачи и приема главного узла. Было продемонстрировано, что этот метод работает на одном 10-километровом волокне, которое используется на двух длинах волн, для облегчения двунаправленного соединения точка-точка между ведущим и подчиненным узлами.
также
Первая тестовая установка была построена для проверки принципа измерения задержки распространения между передатчиком и приемником с использованием кодированного последовательного канала связи, работающего на скорости 3,125 Гбит / с. Передатчик и приемник находятся в FPGA на двух отдельных платах разработки. Эта первая тестовая установка показала, что можно измерить задержку распространения по оптоволоконному кабелю длиной 100 км с разрешением в один единичный интервал (т. Е. 320 пс при 3,125 Гбит / с).
ИСПОЛЬЗОВАНИЕ ОБОРУДОВАНИЯ:
Тестовая установка состоит из двух плат разработки ML507 Xilinx [7]. Плата Virtex-5 установлена на каждой плате. Одна плата разработки ML507 обозначена как главный узел, а другая - как подчиненный. Ведущий и ведомый соединяются через приемопередатчики малого форм-фактора (SFP) и 10 км оптоволокна, создавая двунаправленную связь. Используется одиночное волокно, работающее на двух длинах волн.
Теперь очевидно, что эта конкретная установка является избыточной для большинства хобби-проектов робототехники, но ее можно легко воспроизвести дома, поскольку она использует готовые макетные платы и не требует особых талантов для работы. В случае с роботом соединение будет радио, а не волоконно-оптический кабель. Возможно, это может быть даже ИК-канал, такой как пульт от телевизора, хотя я подозреваю, что на улице при ярком солнце это может быть проблематично. Ночью это может работать отлично!