Реферат: Система автовождения карьерного автосамосвала
Следовательно стоит предписать алгоритмам, чтобы точка излома траектории находилась не в реальном начале поворота, а была смещена назад на указанное выше количество дискрет в зависимости от направления. Следует также запретить излом траектории в случае диагонального движения менее чем в семи дискретах от предыдущего излома и трёх дискретах при движении вдоль осей.
1.4 Сравнительная характеристика
приведённых алгоритмов.
Для сравнения рассмотрим два имеющихся алгоритма планирования траектории: метод пробных траекторий и однослойная нейронная сеть. Метод пробных траекторий заключается в переборе вариантов траекторий, представляющих собой ломанные линии, соединяющие начальную и конечную точки по определённым правилам. Этот алгоритм применим только на достаточно простых площадках, допускающих небольшое количество вариантов траекторий. Преимуществом является то, что траектория планируется сразу от начала до конца, недостатки - 1) при необходимости внесения изменений в траекторию требуется её заново планировать, 2) невозможно спланировать разворот и подъезд задним ходом.
Алгоритм планирования по однослойной нейронной сети заключается в формировании оценки для каждого возможного (учитывая дискретность) направления. В формировании оценки участвуют следующие показатели: расстояние до ближайшего препятствия, текущая ориентация транспортного средства, скачёк расстояний до препятствия, направление на цель движения. По данному алгоритму принимается решение лишь о небольшом ближайшем участке движения, траектория не выстраивается как единое целое, из - за чего может быть не оптимальной. Данный алгоритм также не позволяет планирование разворота и учёт движения препятствий.
В связи с этим был разработан алгоритм планирования траектории, позволяющий быстро соединить две точки поверхности кратчайшей линией, проведённой с учётом легко вводимых и легко реализуемых критериев оптимальности. Кроме того разработанный алгоритм позволяет легко учесть геометрические особенности транспортного средства и легко к ним адаптируется.
Сравнительная характеристика приведённых и предлагаемого алгоритмов приведена в таблице 1.1
Таблица 1.1 Сравнение алгоритмов планирования траектории.
Критерий | Наименование алгоритма | ||
Нейронная сеть | Пробных траекторий | Предлагаемый алгоритм | |
1 | 2 | 3 | 4 |
Требования к памяти | 6*n2 чисел с плавающей запятой[1] | 18*Xmax *Ymax байт | |
Реализуемость на языке низкого уровня | Неудобно | Удобно | |
Качество полученной траектории | Не гарантируется | Гарантируется | |
Время работы | Зависит от 6*n2 | Неопределённо | Небольшое, чем ближе к концу - тем быстрее |
Полнота использования информации | Использует только видимый в данный момент участок поля | Полученная информация используется полностью | |
Сложность адаптации | Не требуется | Для адаптации требуется замена карты в памяти ЭВМ. | |
Влияние формы зоны осмотра | Нормально применим только при обзоре на 3600 | Не влияет | |
От чего зависит дискрета | От количества направлений n | От требуемых точности, быстродействия, качества траектории | |
Учёт участка движения задним ходом | Невозможен | Легко выполняется. | |
Дальнейшая оптимизация | Не требуется | Требуется «срезание» углов |
2 Описание предлагаемого алгоритма
автоматического построения траектории
и навигации по счислению.
2.1 Предварительное планирование траектории.
В разработанном алгоритме строится карта местности в дискретах 1,25х1,25 м (связано с адекватным отображением самосвала на карте), считается, что самосвал занимает на карте площадь 5х9 дискрет. Траектория, получаемая по алгоритму является траекторией центра самосвала. Возможность перемещения центра самосвала на новую позицию определяется возможностью позиционирования центра самосвала в данной точке, при этом учитывается любая возможная ориентация самосвала.
Для ускорения планирования предполагается, что самосвал может поворачивать на угол 450 . т. е. Мы получаем восемь возможных направлений перемещения самосвала. Траектория строится по следующим критериям: минимальная длина, минимальное количество повротов.
Алгоритм заключается в следующем:
1) составляется массив 8х a x b, где a и b - стороны прямоугольника, в который вписывается карта.
2) перед началом поиска этот массив заполняется нулями;
3) определяется точка конца траектории;
4) счётчик расстояния и искатель устанавливается на ноль;
5) из найденной точки делается шаг в любом возможном направлении;
6) если шаг параллельно осям координат - к счётчику расстоянияприбавляется 10, иначе - 14;
7) значение счётчика записывается в ячейку N x X x Y, где N - направление; X, Y - координаты текущей позиции;
8) искатель увеличивается на 1;
9) происходит поиск ячеек со значением равным искателю;
10) если такая ячейка найдена, то от неё делаются ходы во всех возможных направлениях, при этом счётчики расстояний соответствующим образом модифицируются и записываются в новые ячейки;
11) если искатель достиг входа увеличиваем счётчик достижений на 1, иначе переход к пункту 8;
12) если счётчик достижений равен менее двух переходим к пункту 8;
13) обратный поиск маршрута: в точке входа находим направление, оценка расстояния которого минимальна;
14) делаем ход навстречу этому направлению;
15) если достигли входа - конец;
16) отыскиваем направление, оценка расстояния в котором минимальна;
17) переход к пункту 14.
Реальный поворот самосвала на карте и в виде траектории моделируется участком ломанной (приложение 2), содержащим излом на ±450 (в зависимости от направления) предполагается, что поворот начинается (заканчивается) раньше (позже) точки излома для ортогонального перемещения на одну дискрету, а для наклонного к осям координат на три. Вид поворота на карте приведён на рис. 2.1. В связи с этим длина прямого горизонтального участка допускается не менее трёх шагов, а наклонного - не менее семи шагов.
Приблизительный вид массива в конце траектории по окончании работы алгоритма будет иметь вид, показанный на рисунке 2.2 (траектория проходит через закрашенные клетки закрашенные клетки). В результате работы алгоритма будет получена траектория, представляющая собой незамкнутую ломанную, соседние звенья которой наклонены друг относительно друга на угол ±450 . Время работы этого алгоритма на процессоре PENTIUM S - 75 приблизительно 0,2 с., если учесть, что для проезда от начала до конца требуется запускать алгоритм лишь однажды, то быстродействие его можно считать достаточным.
Описанный алгоритм применим не только к самосвалу, но и после геометрической адаптации к любому транспортному средству, в частности он позволит двигаться транспортному роботу в недетерминированной (не разбитой на кварталы) среде.
В связи с тем, что поиск конкретного числа в трёхмерном массиве, содержащем десятки тысяч чисел слишком долог, был применён стековый метод накопления координат и направлений. Он заключается в следующем. В области данных программы выделено шестнадцать одинаковых областей для хранения данных. Эти области поочерёдно заполняются данными о координатах, направлении и длине последнего ровного участка. При обработке одна из шестнадцати областей служит источником данных, а остальные накапливают информацию о новых достигнутых клетках. По окончании обработки одной области программа приступает к извлечению данных из следующей, а область, обработанная только что используется для накопления следующей порции данных. Для упрощения обслуживания областей используется массив дескрипторов, в котором хранится информация об адресе области и о глубине её заполнения, а также введён специальный флаг, который устанавливается при исчерпании текущей области стека.
61 | 71 | 81 | ||||||||||||||
11 | 19/1 | 1A/1 | 1B/1 | 11 | 1C/1 | 21 | 1D/1 | 31 | 1E/1 | 41 | 1F/1 | 51 | 20/1 | 61 | 21/1 | 71 |
19/2 | 1A/2 | 1B/2 | 1C/2 | 26 | 1D/2 | 36 | 1E/2 | 46 | 1F/2 | 56 | 20/2 | 66 | 21/2 | 76 | ||
15 | 11 | 15 | 26 | 36 | 46 | 56 | 66 | 76 | ||||||||
1F/3 | 20/3 | 21/3 | ||||||||||||||
61 | 71 | 81 | ||||||||||||||
20/4 | 21/4 | |||||||||||||||
75 | 85 | |||||||||||||||
21/5 | ||||||||||||||||
89 |