Смекни!
smekni.com

Разработка и проектирование робота для разминирования (стр. 4 из 6)


, (9)

, (10)

, (11)

и

, (12)

Если временной интервал hi заменен на

hi для i=1,2,…,n-1, тогда величины скорости, ускорения и скорости изменения ускорения будут уменьшены коэффициентами
соответственно. Эти изменения обеспечат скорость, ускорение и скорость изменения ускорения значениями, отвечающими требованиям.
называется коэффициентом возможного регулирования. Процедура, выполняющая приведение некорректных величин к удовлетворяющему виду называется преобразователь возможного решения (ПВР). В итоге, процедура имеет вид:

1) Вычисление

в уравнениях (9)-(12).

2) Замещение временных интервалов (h1, h2,…, hn-1) на (

).

3) Замещение wj,2, wj,3,…, wj,n-1 на

соответственно. j=1,2,…, N.

Алгоритм оптимизации

Матрица А(Х) определена как вектор временных интервалов между выбранными узлами, т.е. [h1, h2,…, hn-1]. Основной задачей Х является представление Т(Х) и соответствует (h1+h2+…+hn-1). Сначала выбирается n – максимальное количество вершин Хi , (i=1,2,…, n), для формирования исходного многогранника. Пусть Xg и Xs имеют максимальное и минимальное значения функции. Предположим, что Хn+1 – центроид многогранника, не включая Хg. Вычисляется это так:

. (13)

Алгоритм пытается выбрать наилучшие значения (в соответствии с минимальным значением функции) вдоль прямой, соединяющей Xg и Xn+1, для замещения неудовлетвори-тельной величины Xg. Если это ему не удается, то многогранник уменьшается. Процедура поиска необходимых величин и уменьшения размера многогранника включает в себя отображение, растяжение, сжатие и уменьшение. Все они представлены ниже:

1)Отображение: Отображение Xg через центроид вычисляется следующим образом:

Xn+2=Xn+1+a(Xn+1-Xg), (14)

где а>0 – коэффициент отображения. Отметим, что все элементы Xn+2 являются временными интервалами. Для того, чтобы все интервалы были положительными, коэффициент а должен быть правильно определен. Сначала, примем его равным 1. Если какой-нибудь элемент Xn+2 будет отрицательным, то коэффициент следует уменьшить. Пусть Xp=[

]. Для а=1 Xn+2 приобретает вид:

Xn+2=2Xn+1-Xg= [

].

Все элементы должны быть положительными, т.е.

для всех i. Если
для какого-либо i, тогда уменьшаем коэффициент а.

Из (14) получаем

. Если
, тогда
. Следовательно, коэффициент а должен быть меньше, чем
, чтобы
был положительным. Учитывая все выше сказанное, коэффициент а может быть определен как:

, (15)

где 0<

<1 выбрана для того, чтобы убирать Xn+2 от границы, где хотя бы один элемент Xn+2 = 0.

2) Растяжение: Растянуть вектор (Xn+2-Xn+1) можно следующим образом:

Xn+3=Xn+1+

(Xn+2-Xn+1), (16)

где

>1 – коэффициент растяжения. Для того, чтобы значения всех элементов Xn+3 были положительными, этот коэффициент должен быть определен следующим образом:

, (17)

где 0<

<1.

3) Сжатие: Сжать вектор (Xg-Xn+1) можно следующим образом:

Xn+4=Xn+1+

(Xg-Xn+1), (18)

где 0<

<1 – коэффициент сжатия.

4) Уменьшение: Уменьшить все вектора (Xi-Xs), i=1,2,…,n, деля их пополам начиная с Xs можно следующим образом:

, i=1,2,…,n, (19)

До начала поиска выберем n – максимальное количество вершин многогранника. Пусть qj,1, qj,3,…, qj,n-2, qj,n- присоединенные переменные, соответствующие положению схвата в j-й узловой точке. Из-за особенностей 2-ой и n-1 точек, qj,2 и qj,n-1 еще не определены. Временно они определены как qj,2=(qj,1+qj,3)/2 и qj,n-1=(qj,n-2+qj,n)/2. Таким образом, нижняя граница вектора временных интервалов оценивается как:

, (20)

Первая вершина Х10 вычисляется как

, если
нам подходит, или обозначается как подходящая вершина, преобразованная процедурой (ПВР) из
. Для вычисления остальных (n-1) вершин {
},
вычисляются как:

, (21)

где

D – выбранное расстояние. Поэтому,

вычисляется как
, если
нам подходит, или обозначается как подходящая вершина, преобразованная процедурой (ПВР) из
. D влияет на размер многогранника.