Составление роботом растровой карты — различия между версиями
=DeaD= (обсуждение | вклад) (Новая: Пожалуй это самый простой вариант составления карты. Типичная информация поступающая от обоих видов ...) |
=DeaD= (обсуждение | вклад) |
||
Строка 1: | Строка 1: | ||
− | Пожалуй это самый простой вариант составления карты. Типичная информация поступающая от | + | Пожалуй это самый простой вариант составления карты. |
+ | |||
+ | |||
+ | Типичная информация поступающая от сенсоров - "на расстоянии D в направлении A обнаружено препятствие". | ||
+ | |||
+ | |||
+ | При этом, если нет препятствий размером меньше клетки, то здесь есть 2 составляющие: | ||
А) В клетке с координатами D*cos(A),D*sin(A) относительно нашего робота есть препятствие. | А) В клетке с координатами D*cos(A),D*sin(A) относительно нашего робота есть препятствие. | ||
− | Б) Во всех клетках с локальными координатами относительно нашего робота от 0,0 до D*cos(A),D*sin(A) препятствий нет. Простейший способ выявить все эти клетки - запустить цикл по переменной V с шагом в полдлины стороны клетки от 0 до D-K и ставить в клетку с локальными координатами относительно робота V*cos(A),V*sin(A) пометку "есть проход". | + | Б) Во всех клетках с локальными координатами относительно нашего робота от 0,0 до D*cos(A),D*sin(A) препятствий нет. |
+ | |||
+ | |||
+ | Простейший способ выявить все эти клетки - запустить цикл по переменной V с шагом в полдлины стороны клетки от 0 до D-K и ставить в клетку с локальными координатами относительно робота V*cos(A),V*sin(A) пометку "есть проход". |
Версия 11:30, 19 декабря 2007
Пожалуй это самый простой вариант составления карты.
Типичная информация поступающая от сенсоров - "на расстоянии D в направлении A обнаружено препятствие".
При этом, если нет препятствий размером меньше клетки, то здесь есть 2 составляющие:
А) В клетке с координатами D*cos(A),D*sin(A) относительно нашего робота есть препятствие.
Б) Во всех клетках с локальными координатами относительно нашего робота от 0,0 до D*cos(A),D*sin(A) препятствий нет.
Простейший способ выявить все эти клетки - запустить цикл по переменной V с шагом в полдлины стороны клетки от 0 до D-K и ставить в клетку с локальными координатами относительно робота V*cos(A),V*sin(A) пометку "есть проход".