УДК 519.713
П. К. Лопатин
АЛГОРИТМ ЗАХВАТА МАНИПУЛЯТОРОМ ОБЪЕКТА В НЕИЗВЕСТНОЙ СТАТИЧЕСКОЙ СРЕДЕ
Рассматривается алгоритм управления п-звенным манипуляционным роботом (МР) в среде с неизвестными статическими препятствиями. Доказывается теорема, утверждающая, что, двигаясь по данному алгоритму, МР за конечное число шагов либо захватит объект, либо выдаст обоснованный ответ о том, что объект не может быть захвачен ни в одной из конфигураций.
Ключевые слова: робот, неизвестная среда, препятствия, достижимость.
При управлении МР типичной является следующая задача: МР должен выдвинуться из стартовой конфигурации ц0 и захватить своим схватом некоторый объект. При этом часто данный объект может быть захвачен не в одной, а в нескольких, а иногда и в бесконечном количестве целевых конфигураций цТ. Целевые конфигурации цт объединяются в целевое множество ВГ Множество Вт имеет произвольный вид.
Будем считать, что Вт не пополняется в течение всего времени движения МР. Считаем также, что координаты каждой точки из Вт известны и определены достоверно.
МР представляется в пространстве конфигураций (пространстве обобщенных координат) как точка. Функционирование МР должно происходить в пределах ограниченной области X конфигурационного пространства. Будем считать, что область X имеет такой вид, что для любого ц О X выполняются неравенства
а1 < ц < а2, (1)
где а1 = (а 11, а2', ..., ап1) - вектор нижних ограничений на значения обобщенных координат; а2 = (а12, а22, ., ап2) -вектор верхних ограничений на значения обобщенных координат; ц = (д1, д2, ., дп) - вектор обобщенных координат МР. Таким образом, область X представляет собой гиперпараллелепипед. Все точки, не удовлетворяющие (1), будем считать запрещенными.
Кроме того, следует учитывать, что и внутри X могут присутствовать запрещенные состояния. Во-первых, это те состояния (конфигурации), которые обусловлены конструктивными ограничениями МР, например те, в которых происходит недопустимое взаимопересечение звеньев. Такие запрещенные конфигурации удается вычислить заранее. Во-вторых, запрещенной является та конфигурация, в которой МР налегает на препятствия. В условиях неизвестной среды все такие конфигурации вычислить заранее невозможно. Итак, запрещенной конфигурацией является та конфигурация МР, в которой МР не может находиться в силу конструктивных ограничений либо в силу налегания на препятствие. Перед началом движения информации о запрещенных состояниях в Х нет или она неполна. Точки из Х, про которые нет достоверной информации о том, что они запрещенные, считаем разрешенными.
Рассмотрим теперь точки из Вт. Разрешенной точкой цт є Вт будем считать только ту точку, которая удовлетворяет следующим двум критериям: 1) она не является запрещенной в смыслах, описанных в предыдущих абзацах;
2) в нее можно попасть за конечное число шагов из ц0, двигаясь в Х по разрешенным состояниям. Точки из Вт, не удовлетворяющие хотя бы одному из двух таких критериев, считаем запрещенными. Поскольку требуется выяснить, достижимо ли множество Вт хотя бы в одной точке, то считаем, что до начала движения у МР ни про одну точку из Вт нет достоверной информации о том, является ли она разрешенной или запрещенной. Теперь сформулируем следующую Задачу управления МР в неизвестной статической среде: даны стартовая конфигурация МР ц0 и целевое множество Вт. Требуется предложить алгоритм, который за конечное число шагов либо передвинет МР из ц0 в хотя бы одно состояние из множества Вр либо выдаст обоснованный ответ о том, что ни одно состояние из целевого множества ВТ не является разрешенным.
К настоящему времени имеются работы по алгоритмам управления динамическими (ДС) и, в частности, робототехническими (РС) системами в известной и неизвестной среде. Имеются хорошие обзоры таких алгоритмов [1; 2]. Предложены алгоритмы, например, алгоритм полного перебора и алгоритм А*, которые за конечное число шагов либо находят путь из ц0 в точку из Вт, либо сообщают, что в Вт нет точки, достижимой из ц0.
Некоторые алгоритмы планирования в известной среде в принципе могут быть использованы для движения в неизвестной среде. Если мы дискретизируем пространство состояний, то тогда можно будет использовать графовые методы поиска траектории движения ДС [2; 3]. Однако эти алгоритмы имеют одно общее свойство, ко -торое затрудняет их применение для управления ДС в неизвестной среде, заключающееся в том, что они в том или ином объеме требуют осуществлять поиск в ширину, иначе не гарантируется достижение целевой точки [4]. Но при поиске в ширину часто возникает следующая ситуация: предположим, что мы только что закончили рассмотрение вершин, соседних к вершине ц и теперь нам надо рассматривать вершины, соседние вершине ц' и вершины ц и ц' не являются соседними. Для того, чтобы рассмотреть вершины, соседние к ц', ДС должна сначала передвинуться в ц'. Таким образом, вновь возникает задача планирования и осуществления маршрута из ц в ц'. При планировании же в известной среде ЭВМ просто «переключает свое внимание» от ц к ц', которые хранятся в памяти ЭВМ. Необходимость поиска и исполнения путей для многих различных ц и ц' делает общую сумму передвижений ДС очень большой [4]. В случае, когда мы
планируем путь в известной среде, компьютер просто переключает свое внимание от точки ц к точке ц', которые хранятся в памяти компьютера.
В соответствии с классификацией [2] представителями алгоритмов поиска в ширину являются собственно алгоритм поиска в ширину, алгоритм А*, эвристический поиск «первый-лучший», ленивый вероятностный маршрут, динамическое программирование. В методах, основанных на случайном потенциальном поле, алгоритме «Нить Ариадны», быстро исследующих случайных деревьях [2] новые вершины генерируются случайным образом и потому применение таких методов ведет к тем же трудностям. Подходы, основанные на разделении ячеек, (двунаправленных) графах видимости, диаграммах Вороного [2] сводятся к попеременному построению графа и поиску пути на нем, таким образом, им также присущ вышеописанный недостаток, связанный со множественными механическими перемещениями.
В алгоритме, представленном в настоящей статье, вершины ц и ц' всегда являются соседними, что сокращает количество движений.
Известно также, что алгоритмы поиска в глубину не всегда доводят до цели [4].
Имеется общая трудность для методов планирования пути в среде с известными препятствиями: очень трудно собрать полную информацию о рабочем пространстве робота заранее и представить эту информацию в виде, пригодном для планирования пути. При рассмотрении нашего алгоритма можно будет видеть, что для системы управления нет необходимости собирать полную информацию о рабочем пространстве заранее, МР будет собирать необходимую информацию сам в ограниченных количествах и в терминах обобщенных координат, что удобно для планирования пути.
Предпринимаются попытки разработки создания алгоритмов управления для среды с неизвестными препятствиями. Большинство из них рассматривают двумерные случаи [5].
В [6-9] рассмотрены различные подходы к управлению роботами в двумерном неизвестном пространстве. В [6; 9] представлен подход, основанный на диаграмме Вороного, в [8] - поиск на основе табу-подхода. Поскольку эти подходы требуют попеременного построения графа и поиска пути на нем, они ведут к многочисленным перемещениям робота. В [7] препятствия должны иметь многоугольную форму. Применение методов, предложенных в [6-9] к управлению я-звенным манипуляционным роботом в неизвестной среде, не представлено.
В [5] представлен алгоритм управления МР среди неизвестных препятствий, расположенных в трехмерном декартовом пространстве. МР должен иметь не более трех звеньев и последняя кинематическая пара должна быть поступательной. При вышеуказанных предварительных условиях алгоритм за конечное число шагов либо переводит МР в целевую конфигурацию, либо сообщает о том, что она недостижима.
В [10] рассмотрен я-мерный случай. Алгоритм основан на решении системы нелинейных уравнений методом Ньютона и потому не может гарантировать достижения целевой позиции.
В [2] рассмотрены алгоритмы движения роботов в присутствии неопределенности (включая случаи неизвестной среды). Алгоритмы основаны на теории последовательных решений. В общем случае алгоритмы не гарантируют достижения цели. В случаях, когда алгоритмы используют поиск на графе, возникает вышеупомянутая трудность, связанная со множественными механическими перемещениями.
В [11] предлагается алгоритм управления ДС в я-мер-ном пространстве состояний в присутствии неизвестных запрещенных статических состояний, за конечное число шагов либо переводящий ДС из стартовой точки ц0 в целевую цт, либо выдающий обоснованное сообщение о том, что цт недостижима. Алгоритм обладает таким недостатком: он предполагает, что во множестве Х каждое состояние достижимо из каждого. Данное требование в ряде случаев может входить в противоречие с целью самого алгоритма - за конечное число шагов выяснить достижимость или недостижимость целевого состояния из стартового.
В [4] предложен подход к управлению роботами (в том числе и манипуляционными) в я-мерном пространстве состояний. Суть подхода заключается в том, что робот планирует путь, соединяющий стартовую точку ц0 и целевую цт, обходящий известные запрещенные состояния, и пытается исполнить данный путь либо до достижения цт, либо до столкновения в некоторой точке с ранее неизвестным запрещенным состоянием. В последнем случае планируется новый путь Ь(ц”, цт), соединяющий и цт и обходящий все известные запрещенные состояния. Показано [4], что задача перевода робота из ц0 в цт в неизвестной среде сводится к решению конечного числа задач планирования и исполнения пути Ь (ця, цт) (другими словами, к решению конечного числа задач ПИ (планирования в известной среде)). При этом предполагается, что имеется априорное знание о том, что цт достижима.
В настоящей статье при решении Задачи мы опирались на подход [4]. Сформулированная Задача нами сводится к задаче исследования достижимости конечного числа ЫВтточек ц.т, / = 1, 2, ..., ЫВГ Требование априорного знания о достижимости ц .т,. = 1, 2, ., ЫВт снято. Сформулированы новые требования к процедуре ПИ, необходимые для решения Задачи.
В [12-15] даются алгоритмы, за конечное число шагов переводящие ДС в среде с неизвестными запрещенными статическими состояниями из ц0 в цт. Однако при этом предполагалось, что имеется априорная информация о том, что цт достижима.
Рассмотрим предварительные условия:
1. На множестве Вт выделяем конечное число ЫВт точек ц.т, . = 1, ., NВт: Это те целевые конфигурации, достижимость которых будет исследоваться. В дальнейшем Вт будем рассматривать как список конфигураций ц.т, . = 1, ., ЫВт. Считаем, что Вт не пополняется и потому ЫВт не увеличивается. Считаем, что координаты каждой точки из Вт определяются достоверно.
2. Считаем, что у нас есть процедура ПИ, которая за конечное число шагов либо планирует траекторию из произвольной разрешенной точки цяеХ в произвольную точку цт е X среди сообщенных ей известных запрещен-
ных состояний, либо выдает сообщение, что цт недостижима. Такие процедуры уже существуют, например алгоритм полного перебора или алгоритм А* [3], которые для любой начальной точки цп и любой целевой цт при заданных известных запрещенных состояниях за конечное число шагов либо находят путь из цп в цт, либо сообщают, что путь из цп в цт найден быть не может.
3. Расположение препятствий внутри рабочей зоны МР остается неизменным в течение всего времени движения МР.
4. Количество препятствий внутри рабочей зоны МР остается неизменным в течение всего времени движгния МР.
5. Все движение, в том числе и результирующая траектория, должно происходить в гиперпараллелепипеде (1).
6. МР имеет сенсорную систему (СС), которая доставляет информацию об г-окрестности текущей точки МР ц є X. Текущая точка МР - это та точка, в которой МР в настоящий момент находится. Под г-окрестностью ц понимаем гипершар в X с центром в ц и радиусом г > 0. Множество всех точек, входящих в г-окрестность точки ц, обозначаем У(ц). Слова «доставляет информацию об г-окрестности точки ц» означают, что относительно каждой точки из У(ц) СС определяет, является ли она разрешенной или запрещенной, при этом все запрещенные точки из У(ц) заносятся в множество Q(q), а все разрешенные точки из У(ц) заносятся в множество Z(q). Способ записи множеств У(ц), Z(q), Q(q) может быть разным -в виде формул, списков, таблиц и т. д., но мы считаем, что он есть. Устройство сенсорной системы в данной работе не рассматривается.
7. Считаем, что у нас есть программная Процедура 1 (Вт ЫВр Q (цп)). Процедура1(Вт, ЫВр Q(qn)) получает при вызове множество Вт , количество ЫВт точек в множестве Вр множество Q(qn), полученное при последнем запуске СС. Процедура 1(Вр ЫВР Q(qn)) выбрасывает из Вт те точки, которые совпадают с точками из Q(qn). После выброса оставшиеся точки в Вт перенумеровываются сплошной нумерацией начиная с 1 и в ЫВт записывается число точек, оставшихся в Вт после исполнения Процедуры1(Вр ЫВт, Q(qn)).
8. Считаем, что у нас есть программная Процедура2(Вт, ЫВр цт). Процедура2 (Вт, ЫВт, цт) получает при вызове множество Вт, количество ЫВтточек в множестве Вт и точку цт. Процедура2(Вт, ЫВР цт) выбрасывает из Вт точку цт. После этого точки перенумеровываются сплошной нумерацией начиная с 1 и в ЫВт записывается число точек, оставшихся в Вт после исполнения Процедуры2(Вр ЫВр цт).
Ниже приведен Алгоритм решения нашей Задачи. Перед началом движения текущей конфигурацией цс МР является ц0, по ходу движения Алгоритмі может вызываться из других текущих конфигураций МР.
Алгоритм. Если N=0, то происходит окончание работы алгоритма с сообщением о том, что объект захвачен быть не может. Иначе в качестве цт назначаем первую точку из Вт.
Шаг 1. МР находится в конфигурации цс. п:=0, цп:=цс. Исполнить
целевая_точка_запрещенная:=Алгоритм1(цс, цт, Вт,
*вт) .
Если целевая_точка_запрещенная=НЕТ, происходит успешное окончание работы Алгоритма с сообщением о том, что объект захвачен в точке цт.
Если целевая_точка_запрещенная=ДА, происходит переход на шаг 2.
Шаг 2. Если N^=0, происходит окончание работы алгоритма с сообщением о том, что объект не может быть захвачен МР ни в одной из целевых конфигураций. Если Ывт № 0, в качестве цт взять первую точку из Вт и перейти на шаг 1. Конец Алгоритма.
Алгоритмі получает значения в следующем формате : Алгоритмі (цп, цт, Вт, ЫВт) и посвящен выяснению вопроса о том, является ли точка цт достижимой из цп в неизвестной среде.
Алгоритмі. Шаг 1. МР находится в цп (назовем ее «точка смены маршрута). СС доставляет информацию о ¥(цп), 1(я% Q(qn).
Шаг 2. Выполняется
Мвт :=Процедура1 (ВТ ЫВР Q (цп)).
Если N=0, происходит присвоение целевая_точка_ запрещенная:=ДА и возврат в алгоритм. Если N^0, проверяем, оказалась ли выброшенной из Вт точка цт. Если да, то происходит присвоение целевая_точка_запрещен-ная:=ДА и возврат в алгоритм, если нет (т. е. цт осталась в Вт) - то происходит переход на шаг 3.
Шаг 3. Вызывается процедура ПИ с задачей сгенерировать линию Ь(цп, цт), удовлетворяющую следующим условиям:
- Ь(цп, цт) соединяет цп и цт; п
- Ь(цп, цт) не налегает на множество и), т. е. ни на
і=0
одну из запрещенных точек;
- Ь(цп, цт) удовлетворяет конструктивным ограничениям (1).
Результатов работы процедуры ПИ может быть два:
- ПИ возвращает сгенерированную траекторию и Алгоритмі переходит на шаг 4;
- ПИ сообщает о том, что Ь(цп, цт) сгенерирована быть не может, т. е. цт является недостижимой. В этом случае выполняется
ЫВт: = Процедура 2(Вт, ЫВт, цт),
производится присвоение: целевая_точка_запрещен-ная:=ДА и происходит возврат в Алгоритм.
Шаг 4. МР начинает движение по Ь(цп, цт). Исходов движения может быть два:
- МР попадает в некоторую точку ц.тєВт. В этом случае происходят присвоения цт:=цт и целевая_точка_зап-рещенная:=НЕТ и выполняется возврат в Алгоритм;
- МР придет в некоторую точку ц*, следующая за которой является запрещенной. В этом случае выполняем п:=п+1, цп:=ц* и Алгоритмі переходит на шаг 1. Конец Алгоритмаі.
Теорема. Исполняя Алгоритм, МР решит Задачу за конечное число шагов.
Доказательство. Алгоритм выясняет достижимость конечного числа точек из Вт. Выяснение достижимости в отношении каждой из точек цтєВт осуществляется путем исполнения Алгоритмаі. Отсюда видно, что исполнение Алгоритма сводится к конечному числу вызовов Алгоритмаі. Поэтому, чтобы доказать, что Алгоритм будет исполнен за конечное число шагов, тре-
буется показать, что исполнение Алгоритмаі для произвольных цп и цт будет осуществлено за конечное число шагов.
Алгоритмі посвящен выяснению вопроса о том, является ли точка цт достижимой в неизвестной среде из точки смены маршрута цп или нет. В Алгоритмеі, когда МР находится в точке цп, п = 0, 1, 2, ., происходит запуск СС и запуск процедуры ПИ. Если в результате исполнения этих действий точка цт будет определена как запрещенная (в силу налегания на препятствие, либо в силу недостижимости), произойдет возврат в алгоритм и для исследования достижимости будет назначена другая точка цтє Вт. Если в результате исполнения этих действий точка цт не будет определена как запрещенная, происходит генерация линии Ь(цп, цт) и МР начнет исполнять эту траекторию. Исполнение этой траектории может иметь два исхода: либо МР, не встретив на своем пути запрещенных точек, достигнет цт (и тогда произойдет успешное окончание работы Алгоритма) либо МР придет в точку цп, п = 1, 2, ., следующая за которой будет запрещенной. Покажем, что все точки смены маршрута цп, п = 0, 1, 2, ... будут различными и их число будет конечным.
Покажем, что все точки смены маршрута различны. Предположим, что МР сменил маршрут, находясь в точке ц5, а потом, находясь в точке цр, вновь сменил маршрут, т. е. 5 <р. Покажем, что ц5фцр. Предположим сначала, что ц5=цри тогда Q(qs)=Q(qp). Поскольку МР сменил маршрут, находясь в точке ц5, то он сгенерировал маршрут, не налегающий в том числе и на Q(qs). Но поскольку МР сменил маршрут в точке цр, то это означает, что его маршрут налег на Q(qp)=Q(qs) (при этом ц5=цр является центром г-окрестности точки ц5=цр и следующая за ней точка является запрещенной), т. е. Q(qp)=Q(qs) не было известным. Получили противоречие. Отсюда видно, что все точки смены маршрута различны.
Покажем теперь, что число точек смены маршрута конечно. Предположим, что, наоборот, оно бесконечно. Все точки смены маршрута должны удовлетворять ограничениям (1). Это означает, что последовательность этих точек ограничена. Согласно теореме Больцано-Вейерш-трасса из этой последовательности можно извлечь сходящуюся подпоследовательность ц', і = 1, 2, ... В соответствии со свойством Коши сходящихся последовательностей для любого е можно найти такой номер 5, что все точки ц', і > 5, будут лежать в е-окрестности точки ц5. Возьмем е < г. Рассмотрим произвольную точку смены маршрута ц', расположенную в е-окрестности точки ц5. Так как МР, находясь в ц', сменил свой маршрут, то это означает, что маршрут налег на множество Q(qs) (ц' и ее соседние точки принадлежат Q(qs)). Отсюда надо сделать вывод, что множество Q(qs) не было учтено при генерации маршрута, приведшего в ц', что невозможно при исполнении предписаний Алгоритмаі. Таким образом, если принять, что число точек смены маршрута беско -нечно, то неизбежно возникнет ситуация, которая не может наступить при исполнении предписаний Алгоритмаі. Следовательно, число точек смены маршрута конечно.
Итак, число точек смены маршрута цп, п = 0, 1, 2, ... конечно и они все различны. В каждой точке цп осуществляется запуск СС и вызов процедуры ПИ, генерирую-
щей L(qn, qT). В результате выполнения этих действий либо получаем информацию о том, что qT является запрещенной, либо нет. Если получаем, выяснение вопроса о достижимости qT заканчивается выводом о недостижимости qT. Если нет, происходит попытка исполнения траектории L(qn, qT). Если и в последней точке смены маршрута qn точка qT не была квалифицирована как запрещенная, то будет сгенерирована L(qn, qT), эта траектория будет исполнена и qT будет достигнута.
Таким образом, показано, что МР, исполняя Алгоритмі за конечное число шагов либо достигнет точки qT, либо сделает вывод о том, что qT недостижима. Алгоритм сводится к исполнению Алгоритмаі конечное число раз. Отсюда видно, что, исполняя Алгоритм, МР решит задачу за конечное число шагов. Теорема доказана.
Замечание і. Мы уже говорили, что Алгоритмі сводится к генерации и исполнению конечного числа пути L(qn, qT). Алгоритм сводится к исполнению конечного числа раз Алгоритмаі. Отсюда следует вывод о том, что Задача сводится к решению конечного числа задач ПИ планирования и исполнения пути в среде с известными запрещенными состояниями.
Замечание 2. При первом вызове Алгоритмаі qc =q0 исследуется достижимость первой точки из BT, назовем ее q^. При последующих вызовах Алгоритмаі исследуется достижимость точек qTєBT, i = 2, 3, ...,NBTи, вообще говоря, qc^q°. Но, поскольку МР прибыл в qc из q0 по непрерывно следующим одна за другой разрешенным точкам, то вывод о достижимости/недостижимости qlTєBT, i = 2, 3, ., NBT из qc^q° будет квалифицироваться как вывод о достижимости/недостижимости точки qjє BT, i = 2, 3, ...,NBTиз q0.
Библиографические ссылки
1. Ahrikhencheikh C., Seireg A. Optimized-Motion Planning: Theory And Implementation. John Wiley Л Sons, Inc, 1994.
2. LaValle S. M. Planning Algorithms. 1999-2006. [Electronic resource]. URL: http://msl.cs.uiuc.edu/planning.
4. Ильин В. А. Интеллектуальные роботы: Теория и алгоритмы / Сиб. аэрокосмич. акад. Красноярск, 1995.
3. Nilson N. Problem-Solving Methods in Artificial Intelligence // New York : McGraw-Hill Book Company, 1971.
5. Lumelsky V. J. Sensing, intelligence, motion. How robots and humans move in an unstructured world / John Wiley Л Sons, 2006.
6. Chen C., Li H.-X., Dong D. Hybrid Control for Robot Navigation. A hierarchical Q-learning algorithm // IEEE Robotics Л Automation Magazine. 200В. June. Vol. 15, N° 2. P. 37-47.
7. Online Algorithms with Discrete Visibility. Exploring Unknown Polygonal Environments / S. K. Ghosh [et al.] // IEEE Robotics Л Automatiom Magazine. 200В. June. Vol. 15, № 2. P. 67-76.
В. Masehian E., Amin-Nasari M. R. Sensor-Based Robot Motion Planning. A Tabu Search Approach // IEEE Robotics Л Automation Magazine. 200В. June. Vol. 15, № 2. P. 4В-57.
9. Rawlinson D., Jarvis R. Ways to Tell Robots Where to Go. Directing autonomous robots using topological
instructions // IEEE Robotics & Automation Magazine. 2008. June. Vol. 15, № 2. P. 27-36.
10. Yegenoglu F., Erkmen A. M., Stephanou H. E. On-line Path Planning Under Uncertainty. Proc. 27th IEEE Conf. Decis. and Contr. (Austin, Tex., Dec. 7-9, 1988). Vol. 2. New York, 1988. P. 1075-1079.
11. Отчет о госбюджетной научно-исследовательской работе Б6-12 за 1996 г. Алгоритмическое и программное обеспечение интеллектуальных манипуляционных роботов в условиях неопределенности. Теория и моделирование задач управления, планирования траекторий и действий манипуляционными интеллектуальными роботами в условиях неопределенности : отчет о НИР / Сиб. аэрокосмич. акад. ; Ильин В. А. Красноярск, 1997. № ГР 01.9.80.001231. Инв. № 02.9.8.0 0 00526.
12. Лопатин П. К. Компьютерная имитация управления манипуляционными роботами в неизвестной среде на основе точного и упрощенного алгоритмов // Мехат-роника, автоматизация, управление. Приложение. 2006. № 8. С. 7-14.
13. Лопатин П. К. Алгоритм2 управления динамическими системами в неизвестной статической среде // Вестник СибГАУ Вып. 4 (11). 2006. С. 28-32.
14. Лопатин П. К. Алгоритм управления динамическими системами в неизвестной статической среде // Ме-хатроника, автоматизация, управление. 2007. № 2. С. 9-13.
15. Lopatin P. K. Algorithm of a manipulator movement amidst unknown obstacles // Proc. of the 10 th Intern. Conf. on Advanced Robotics (ICAR 2001) (Budapest, Aug. 22-25, 2001). Hungary, 2001. P. 327-331.
P. K. Lopatin
ALGORITHM FOR AN OBJECT GRASPING BY A MANIPULATOR IN AN UNKNOWN STATIC ENVIRONMENT
An algorithm for n-link manipulating robot (MR) control in environment with unknown static obstacles is considered and theorem, which states that following the algorithm, MR for finite number of steps either grasps the object or gives proved conclusion that the object cannot be grasped in no configuration, is proved in the article.
Keywords: robot, unknown environment, obstacles, reachability.
© Лопатин П. К., 2010
УДК 004.4’2
А. Ю. Сыщиков
КОНЦЕПЦИЯ И ТЕХНОЛОГИЯ ПАРАЛЛЕЛЬНОГО ПРОГРАММИРОВАНИЯ НЕОДНОРОДНЫХ СИСТЕМ НА КРИСТАЛЛЕ
Неоднородные вычислительные системы на кристалле - это быстрорастущий сегмент распределенных параллельных вычислительных систем. Такие системы не могут эффективно программироваться вручную, тем не менее существуют только базовые инструменты для их программирования. Предлагается концепция и технология параллельного программирования неоднородных систем на кристалле. Концепция представляет визуальный подход к программированию, среднегранулярную организацию параллельных вычислений с последовательными блоками и динамику параллельных вычислений. Представлен разработанный пакет инструментов VIPE (VPL Integrated Programming Environment). VIPE включает в себя формальную математическую модель параллельных вычислений, визуальный язык параллельного программирования для среднегранулярного дизайна программ, транслятор и прекомпилятор схем программ и программный симулятор выполнения параллельных программ на неоднородной системы на кристалле.
Ключевые слова: система на кристалле, параллельное программирование, динамические вычисления, интегрированная среда разработки.
Многопроцессорные системы на кристалле Одним из важнейших вопросов в области разработки
(Multiprocessor Systems-on-Chips, СнК) - одно из ключе- СнК является технологии и средства программирования вых современных приложений технологий сверхбольших таких систем. В коллективах, создающих СнК, существу -интегральных схем. Требования приложений и ограни- ют программные средства, позволяющие разработать не-чения реализации вынуждают создавать заказные, нестан- обходимый код для функционирования системы: компи-дартные, неоднородные архитектуры для оптимизации ляторы для ядер, загрузчики, возможно, отладчики. Но скорости вычислений, энергопотребления, стоимости, такой подход является фрагментарным: части системы размеров и других критериев. программируются независимо, взаимосвязи между ними