ISSN 0236-3933. Вестник МГТУ им. Н.Э. Баумана. Сер. “Приборостроение”. 2012
89
(
)
,
T
x y
v
W
ϕ
ω
=
s
(4)
где
x
,
y
положение объекта в абсолютной системе координат;
ϕ
угол поворота объекта относительно оси
X
абсолютной системы ко-
ординат;
v
,
ω
скорости перемещения и вращения объекта соответ-
ственно;
W
радиус описанной вокруг объекта окружности.
Будем считать, что габаритный размер
W
объекта не меняется во
времени, т. е. объект является твердым телом с неизменяемой фор-
мой. Кроме того, примем допущение, что скорости
,
v
ω
объекта по-
стоянны в окрестности
0
t
.
Тогда значение оставшихся переменных
вектора (4) в произвольный момент времени
t
можно вычислить с
помощью уравнений кинематики:
0
0
( )
( );
t
t
t
dt
t
ϕ
ω
ϕ
= +
(5)
0
0
( )
cos ( )
( );
t
t
x t
v
t dt x t
ϕ
=
+
(6)
0
0
( )
sin ( )
( ).
t
t
y t
v
t dt y t
ϕ
=
+
(7)
Отметим, что выражения (5–7) справедливы только в области,
близкой к
t
0
(
0
t t
).
Следующий этап – очистка клеток участка карты – является три-
виальной задачей. Однако необходимо уточнить, что с этого момента
и далее алгоритм работает не с картой, сохраненной в памяти, а с ко-
пией участка в окрестности положения робота (с динамическим
участком). На данном этапе всем клеткам, находящимся внутри
окружности с центром в точке
(
)
0
0
( );
( )
x t
y t
и радиусом
W
присва-
ивается состояние «свободна». Таким образом, если ранее объект был
добавлен на карту как статический, то после данной процедуры эта
область карты считается свободной.
Для расчета точки пересечения используется итерационный под-
ход. Так как интегрирование уравнений (5–7) проводится численным
методом, на каждой итерации имеется отрезок малой длины, описы-
вающий часть траектории движения объекта-препятствия. В качестве
текущей траектории робота принимается кусочно-линейный марш-
рут, данный в условии задачи, с допущением, что отклонение реаль-
ного движения робота от заданной траектории незначительно. Тогда