ISSN 0236-3933. Вестник МГТУ им. Н.Э. Баумана. Сер. “Приборостроение”. 2012
87
что новая опорная точка
E*
должна находиться на пересечении
окружностей (
P
,
W
)
и (
O
,
R
).
Координаты новой точки находим, зная
угол
,
ϕ
под которым направлен вектор
OP
(
рис. 3,
б
),
и определив
угол
l
POE
∗
=
α
из теоремы косинусов:
( )
2
2 2
2
cos .
W R
R
ρ
ρ
α
= + − ⋅
(1)
Отметим, что уравнение (1) имеет два решения, отличающиеся
знаком. Эти решения соответствуют положению опорной точки слева
и справа от препятствия. Положительное решение уравнения (1) име-
ет вид
2 2
2
arccos
.
2
R
W
R
ρ
α
ρ
⎛
⎞
+ −
=
⎜
⎟
⎝
⎠
(2)
Координаты новой опорной точки
E
*
относительно препятствия
зависят от расположения старой опорной точки
E
.
Зная векторы
OE
и
,
OP
определим ориентацию
эффективного пути и найдем скоррек-
тированный вектор
:
∗
OE
(
)
(
)
(
)
(
)
(
)
(
)
cos
,
sin
,
0,
cos
,
sin
,
0.
R
R
R
R
ϕ α
ϕ α
ϕ α
ϕ α
∗
⎧
−
−
× >
⎪= ⎨
+
+
× ≤
⎪⎩
OE OР
OE
OE OР
(3)
По мере движения робота рассчитывается следующая опорная
точка и сравнивается с предыдущей. Из всех точек выбирается та,
которая наиболее удалена от препятствия. Проверка удаленности
проводится отдельно для точек, расположенных слева и справа от
препятствия. Отметим, что робот начнет объезжать препятствие
непосредственно перед столкновением с ним.
Итак, предлагаемая модификация метода эффективного пути поз-
воляет определить координаты текущей опорной точки
E*
(
см. рис. 2)
и обеспечить движение робота по заданной траектории без столкно-
вения с неподвижными препятствиями.
Динамические препятствия.
Перейдем к задаче определения
координат опорной точки при наличии движущихся препятствий.
Учет параметров динамических препятствий, с одной стороны, поз-
воляет избежать столкновений с ними, а с другой – оптимизировать
траекторию движения. Рассмотрим простой пример, показанный на
рис. 4. Пусть робот
1
движется по прямой на некотором участке
спланированной траектории. При этом робот
2
(
динамическое пре-
пятствие) движется по пересекающему маршруту, являясь помехой
для первого.