Я работаю над хобби-проектом с детьми.
Мы строим небольшой вездеход, которому можно будет отправлять координаты и управлять им.
Я хочу устанавливаем три точки - п1, п2, п3
Эти точки находятся в известных местах, отмеренных рулеткой.
Также известен угол р1-п2-р3
Мы хотим решить xy для марсохода.
Теперь мы хотим построить маленького робота, который будет передвигаться.
У этого робота будет специальное устройство, которое будет вращаться, наверху.
К этому устройству подключен 24-битный энкодер, поэтому мы можем определить угол вращения этого устройства.
Теперь мы прикрепим к этому лазеру вращающееся устройство вместе с приемником.
Итак, оно будет вращаться, а затем, когда лазер окажется точно на одной линии с точкой p1, мы получим показания -
одинаковые для точек p2 и p3.
Мы не будем знать расстояние, однако мы можем получить угол от энкодера.
Мы знаем расположение точек p1, p2 и p3, и мы знаем угол между p1, p2 и p3.
Как нам получить xy ровера (т.е. PX)?
Я помню, как делал это еще в школе, много лет назад... но, хоть убей, я не могу получить именно то, что ищу...
известная информация
расстояние p1-p2 = 240
расстояние p2-p3 = 120
угол p1,p2,p3 = 101,387259 град
Известная информация ровера: «PX — центральная точка ровера»
p1-px-p2 = 68,848678 градусов
p2-px-p3 = 35,912409 градусов
Я добавляю изображение, надеюсь, оно поможет объяснить.
пример ровера
Я пробовал искать в Google, триангуляция... так и не смог понять. точные результаты, которые я ищу. Я попробовал погуглить пересечение, обратную засечку и несколько других формульных терминов... опять же, безрезультатно для моего конкретного вопроса.
Подробнее здесь: https://stackoverflow.com/questions/788 ... gles-at-po
Найти местоположение x по 3 заданным точкам, 1 заданному углу в точках и двум углам в точке x ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение