Моделирование реальных роботов.
Добавлено: 23.07.2008, Изменено: 07.02.6436
Ефремова П.В.
Малыгин И.В., к.т.н.,
УГТУ-УПИ, Екатеринбург
Моделирование реальных роботов.
Роботы все чаще внедряются в нашу жизнь, постепенно изменяя ее. Иногда – явно, иногда – исподволь, не обращая на себя много внимания. И мы все чаще пьем кофе, приготовленное автоматом, оплачиваем сотовую связь без кассира, доверяем уборку коврового покрытия автоматическому устройству. Разработка и производство роботов – высокозатратное и наукоемкое дело, частично облегчить которое может применение программного моделирования. Одному из примеров такого подхода посвящена настоящая статья.
Современная концепция уборки помещений подразумевает наличие уборщицы. Нет, безусловно,
существуют различные роботы – пылесосы и моющие пылесосы, которые в автоматическом режиме могут справиться с пылью. Однако авторам данной статьи не удалось найти на рынке автоматическое устройство, способное собрать мелкий мусор в помещении – пачки из под сигарет, пустые бутылки и т.д. Для заполнения столь существенного пробела клининговых технологий было решено такое устройство собрать самостоятельно. А чтобы не отставание от современных методов проектирования роботов было не столь заметно, пришлось воспользоваться средой Microsoft Robotics Studio для моделирования устройства.
Описание конструкции
Робот-уборщик представляет собой мобильную платформу, оснащенную двумя манипуляторами, с установленной на ней емкостью для мусора. Манипуляторы обладают датчиками захвата. Робот оснащен веб-камерой, расположенной в верхней части емкости по центру, а также двумя ультразвуковыми датчиками, находящимися по бокам мобильной платформы и направленными вперед по ходу ее движения. В прототипе робота используются следующие элементы:
- Два колесных узла, имеющих один моторедуктор и одно колесо с возможностью крепления на произвольную раму каждый.
Характеристики:
- тип используемого моторедуктора - МР1 или МР1-01
- диаметр используемого колеса - 200 мм
- диаметр оси используемого колеса - 20 мм
- рекомендуемая ширина кронштейна (рамы) в месте установки узла - 10..20 мм
- допустимая нагрузка на узел - 50 кг
- Частота вращения колеса при напряжении питания 12В составляет 50-60 об\мин, что при данном диаметре колеса даст скорость движения 30-35м/мин
- Двухканальный силовой контроллер 2ML-64
Данный силовой контроллер предназначен для создания малогабаритных мобильных устройств различного назначения, а также для управления коллекторными двигателями средней мощности при использовании различных алгоритмов (управление разгоном, стабилизация частоты вращения, позиционирование вала двигателя, ПИД-регулирование и т.д.). Контроллер может работать в распределенных системах управления с общей шиной на интерфейсе RS-485 с централизованным обменом в качестве как управляющего, так и подчиненного силового контроллера.
Технические характеристики:
Технические характеристики:
- Рабочее напряжение от 12 до 25В;
- Два силовых (ШИМ) выхода на рабочий ток 10A, импульсный до 30А (до 10мс);
- Реверсивное управление, рекуперация при торможении;
- Два управляемых выхода (открытый сток) на 6А/24В;
- Два управляемых выхода (открытый сток) на 2А/12В;
- Двенадцать входов/выходов TTL для подключения внешних устройств;
- Два аналоговых входа 0..12В;
- Возможность внешнего управления по интерфейсу RS-485 (дуплекс), в том числе возможность подключения терминала или персонального компьютера через конвертер RS-232/RS-485 или USB/RS-485;
- Возможность внешнего управления по интерфейсу RS-232;
- Встроенный DC/DC преобразователь на 12В (до 3А);
- Встроенный DC/DC преобразователь на 5В (до 3А);
- Разъем для внутрисхемного программирования;
- Габариты: 114мм х 80мм х 22мм;
- Вес: 110г.
- Два ультразвуковых датчика, состоящих из передатчика MA40B8S и приемника MA40B8R, каждый.
Характеристики:
- Номинальная частота 40 кГц
- Угол обзора 50 градусов
- Рабочие температуры от -30°C до 85°C
- Диапазон определяемых расстояний от 0,2 до 6 метров
- Разрешение 9 мм
- В качестве двигателей захвата используются сервомоторы HS-322HD
Характеристики:
Рабочее напряжение от 4,8 до 6В
Вращающий момент от 3 до 3,7 кг/см
Скорость при отсутствии нагрузки 400 об/мин
Габариты 40мм x 20мм x 36.5мм
Вес 43г
- Веб-камера Logitech QuickCam Messenger
Характеристики:
- Разрешение светочувствительного элемента: 640 x 480 pix
- Частота кадров в режиме видеосъемки: до 30 кадров в секунду
- Фиксированный фокус
На рис.1 представлен внешний вид прототипа робота.

Описание первоначального алгоритма работы.
1. Движение
После включения питания, в первую очередь проверяется наличие сигнала от ультразвуковых датчиков. Если сигнал от ультразвуковых датчиков отсутствует, на двигатели подается команда, обеспечивающая поворот робота на 90 градусов. В случае, если наличие сигнала обнаружено, выполняется сравнение расстояний до препятствия, полученных с помощью правого и левого датчиков. В случае равенства полученных расстояний и при условии, что они не меньше критического значения, робот движется вперед. При несовпадении расстояний, полученных с правого и левого датчиков, выполняется поворот робота, до их совпадения. Если полученные расстояния меньше критического, на двигатели робота подается команда, обеспечивающая поворот на 90 градусов, выполнение алгоритма возвращается на этап проверки наличия сигнала с ультразвуковых датчиков.
2. Уборка мусора
Проверка наличия мусора выполняется при помощи веб-камеры. После обнаружении мусора выполняется его захват манипуляторами. При успешном захвате – получен сигнал с датчика захвата – мусор помещается в корзину. Если сигнал с датчика захвата не сработал, выполняется движение вперед, операция захвата мусора повторяется. После помещения мусора в корзину, робот возвращается к выполнению этапа проверки наличия сигнала от ультразвуковых датчиков.
На Рис.2 первоначальный алгоритм работы робота представлен в виде блок-схемы.

Описание окружающей среды в моделируемом мире:
Необходимо смоделировать работу робота в помещении. В помещении должны иметься предметы мебели и другие препятствия. Рассмотрим типичный алгоритм передвижения бытового робота, а в частности робота-пылесоса. Простейшие роботы-пылесосы оборудованы датчиками столкновения, расположенными под бампером. При столкновении такой робот прекращает движение, отъезжает назад, разворачивается на заданный угол и продолжает движение по прямой до следующего столкновения. Такая конструкция и алгоритм передвижения имеют существенные недостатки: несмотря на низкую скорость передвижения мобильной платформы, в результате столкновения могут быть повреждены особо хрупкие предметы (например, легкие вазы, стоящие на полу), также такой робот может представлять некоторую опасность для домашних животных, так как он огибает препятствия только после столкновения с ними, соответственно он будет наезжать и на животных, если таковые есть в помещении.
Датчики столкновения использовались для ориентации в пространстве только на первом поколении роботов-пылесосов. Впоследствии, на более современных моделях, производители стали устанавливать ультразвуковые датчики для определения наличия препятствий. Как правило, используется не один, а несколько датчиков, расположенных по периметру мобильной платформы, и образующих массив датчиков. В простейшем случае робот, оснащенный такими датчиками, движется по прямой до тех пор, пока определяемое расстояние до препятствий превышает заданное критическое расстояние. Как только расстояние, определенное каким-либо из ультразвуковых датчиков, будет меньше критического, робот должен остановиться, сменить направление движения и только после этого продолжить движение по прямой. Несомненно, использование ультразвуковых датчиков гораздо эффективнее и безопаснее использования датчиков столкновения для ориентации в пространстве. В результате исключения столкновений при нормальном функционировании робота экономится время на маневры: роботу не требуется передвигаться назад после столкновения, а потом поворачивать, необходимо лишь повернуть после обнаружения препятствия, - особенно заметно это, если рабочее пространство представляет собой не прямоугольник, ограниченный стенами, а более наполненное мебелью и другими предметами помещение. Также при использовании ультразвуковых датчиков продлевается время службы прибора по сравнению со случаем использования датчиков столкновения: последние имеют некоторый, достаточно ограниченный, резерв работоспособности, связанный с механическим износом, таким образом, при использовании ультразвуковых датчиков, срок службы робота может быть ограничен износом любых других элементов, но износом датчиков в последнюю очередь. Несомненным плюсом является практически исключение столкновений с животными и людьми.
Наиболее сложные модели роботов-уборщиков передвигаются не хаотически от препятствия к препятствию, а по заданным алгоритмам: по спирали, зигзагом, вдоль стены, - некоторые роботы при движении формируют в памяти схему помещения и используют ее при последующей работе. Тем не менее, при этом применяется описанный выше алгоритм, при котором используются данные, полученные с ультразвуковых датчиков. Конечно, использование более сложных алгоритмов повышает эффективность работы этих устройств, но при этом повышается и цена на них – в настоящее время роботы-пылесосы стоят от 100 до 2000$
Модель робота.
Для создания наиболее реалистичных результатов работы модели робота, она должна иметь в своем составе все или как минимум основные смоделированные узлы прототипа робота, а также обладать реалистичными весом и размерами.
Так как в прототипе робота используются подручные детали, а модель нацелена на представление версии более пригодной для коммерческого выпуска, было решено использовать следующие физические параметры для модели:
- Ширина корпуса 30 см
- Высота корпуса 40 см
- Длина корпуса 40 см
Такие размеры выбраны исходя из следующих соображений: робот-уборщик не должен быть слишком большим, чтобы исключить возможность дискомфорта человека при внезапной встрече с движущимся роботом. Выбранные размеры робота сравнимы с размерами обычной корзины для мусора или пылесоса. Ширина корпуса выбрана экспериментально: изначально предполагалось сделать модель робота уже – порядка 20-25 см, что позволило бы, во-первых, лучше обнаруживать препятствия при использовании того же количества датчиков с теми же параметрами, а во-вторых, проще маневрировать и проходить в узкие проемы между столами, стульями, стеллажами, витринами. Чем больше ширина робота, тем больший угол обзора должен быть у датчиков препятствий, чтобы исключить столкновения с ними, либо тем больше датчиков должно использоваться в случае, если невозможно использовать датчики с бóльшим углом обзора. Как выяснилось в результате тестирования модели робота с простейшим алгоритмом, имеющей при таких же (40 х 40 см) высоте и длине ширину 20 см, робот в этом случае становится неустойчивым и при поворотах возможны его падения. С увеличением ширины до 25см устойчивость робота повышается, но при поворотах он может «дергаться» и раскачиваться из стороны в сторону, что при неровной поверхности пола может спровоцировать падение. Таким образом, была выбрана ширина в 30см, что минимизирует описанные проблемы.
Учитывая выступы колес и манипуляторов, а так же расстояние от нижней части робота до пола, которое составляет 3см, его габариты составляют примерно 55 см – высота, 60 см - длина, 45 см – ширина.
Вес робота составляет 10 кг, центр тяжести смещен на 10 см вниз, так как именно в нижней части платформы в реальном роботе располагается основная часть оборудования – двигатели, управляющая часть, аккумулятор, составляющий основной вес робота.
В прототипе робота-уборщика использованы два датчика, расположенные на одном уровне по бокам робота и направленные в сторону его движения. В модели было решено немного изменить алгоритм движения робота, и использовать для его ориентации в пространстве тоже два датчика, но расположенных на оси робота друг под другом: один на верхнем краю корпуса – для непосредственно нахождения препятствий, второй на нижнем краю корпуса – для нахождения препятствий и мусора; оба датчика направлены так же как и в прототипе - строго по направлению движения робота.
Также в модели робота-уборщика установлен третий датчик, предупреждающий падение робота, например, с лестницы. Такие датчики используются во всех выпускаемых в настоящее время роботах-пылесосах, они установлены на днище и направлены вниз; в случае если с датчика поступает сигнал, соответствующий расстоянию, большему, чем обычное расстояние между днищем робота и полом, это расценивается как «пропасть» и выполняется соответствующий этап алгоритма, предупреждающий падение робота вниз. Соответственно, в нижней части корпуса модели, ближе к его переднему краю, установлен третий ультразвуковой датчик, направленный вниз.
Характеристики моделей ультразвуковых датчиков:
- максимальное распознаваемое расстояние 6 метров
- частота обновления данных 5 раз в секунду
- угол обзора 100 градусов
Максимальное распознаваемое датчиком модели расстояние равно максимальному распознаваемому расстоянию датчика, установленного на прототипе робота.
Частота приема данных в реальном роботе зависит от скорости приема и обработки данных процессором и не зависит непосредственно от ультразвукового датчика. В модели робота существует ограничение на частоту получения данных от датчика, по умолчанию оно установлено 0,2 сек, что вполне позволяет своевременно корректировать движение робота по полученным с датчика данным.
Угол обзора не соответствует углу обзора датчиков, установленных на прототипе, он выбран экспериментально, в ходе тестирования робота с простейшим алгоритмом передвижения, с учетом реальных значений углов обзора для ультразвуковых датчиков. При меньшем угле обзора необходимо либо использовать большее количество датчиков, расположенных рядом друг с другом на одной горизонтальной линии, либо увеличивать критические расстояния до препятствий, при достижении которых необходимо изменить направление движения робота. Первое возможно, но повышает стоимость продукта, второе – недопустимо, так как в этом случае робот не сможет подъехать к мусору достаточно близко для того чтобы захватить и убрать его. Таким образом, угол обзора для датчиков был установлен в 100 градусов.
В модели использована система из двух двигателей. Для этого был использован стандартный сервис MSRS – SimulatedDifferentialDrive, моделирующий именно такую конструкцию. Использование отдельного двигателя для каждого из двух ведущих колес является обычным для такого типа мобильных платформ, в частности бытовых роботов-уборщиков. Использование данного сервиса позволяет задавать мощность или скорость для каждого из колес, расстояние или угол поворота. Фактически этот сервис моделирует два отдельных колесных узла, каждый из которых оснащен двигателем, объединенных в массив.
Применение такой модели полностью соответствует реальной системе двигателей, используемых для движения в прототипе робота: поворот осуществляется за счет включения одного из двигателей и одновременного отключения другого. Поворот может осуществляться также посредством запуска двигателей в противоположных направлениях, но в этом нет необходимости, так как большая скорость поворота не требуется. Кроме того, точности расположения робота проще добиться при минимальном его перемещении по инерции, чему тоже способствует низкая скорость передвижения. Невысокая скорость движения при разворотах еще более важна, так как необходимо как можно точнее расположить робота к обнаруживаемому мусору. В модели робота использованы колеса такого же размера, как и в прототипе, их диаметр составляет 20 см
Веб-камера, установленная на роботе, направлена на поверхность пола перед ним. Камера располагается в верхней части передней стенки корпуса робота. Угол наклона камеры составляет 45 градусов относительно горизонтальной плоскости. Угол обзора камеры составляет 50 градусов – этого вполне достаточно для получения изображения рабочего пространства, и не превышает реальных значений угла обзора веб-камер. Размер получаемого с камеры изображения составляет 620х480 пикселей.
Веб-камера, установленная на роботе, позволяет обнаруживать мусор, используя различие в цвете между ним и поверхностью пола. При моделировании существует возможность просматривать изображение не только с основной камеры, но и с камеры, установленной на роботе.
Модель окружающего мира
Для моделирования окружающего нашего робота мира создано помещение размером 6м на 10м. Помещение представляет собой комнату с дверью и тремя окнами на ее длинных сторонах. Также в помещении имеются перегородки высотой 1м, отделяющие небольшие помещения от основной части комнаты. В помещении имеются столы, тумбы и стеллажи. Размеры стола:
- высота 70см
- ширина 100см
- глубина 60см
- толщина перегородки 2 см
- высота проема в передней части – 40см
- вес 20кг
Внешний вид модели стола приведен на рис.3

а) б)

Размеры стеллажа:
- высота 200 см;
- ширина 80 см;
- глубина 40 см;
- вес 22 кг
Размеры тумбы:
- высота 50 см;
- ширина 40 см;
- глубина 40 см;
- вес 13 кг.
Внешний вид моделей стеллажа и тумбы представлен на рис.4

а б

В результате было сформировано помещение, схема которого показана на рис.5, внешний вид – на рис.6


Платформа программного продукта Microsoft Robotics Studio (MSRS), ориентированная на разработчиков робототехнических систем, реализована на технологии CLR 2.0. Все компоненты в Robotics Studio представляют собой независимо исполняемые сервисы и выступают как основополагающие элементы MSRS. Иначе выражаясь, не существует физического двигателя - есть сервис с интерфейсом, с помощью которого разработчик обращается к исполнительному устройству через написанную им программу. Сервис может быть представлен всем, от чего можно получать данные. Для разработки приложений могут применяться языки Visual C# и Visual Basic, входящие в состав Microsoft Visual Studio или Microsoft Visual Studio Express , а также Microsoft IronPython и сторонние языки, совместимые с архитектурой Microsoft Robotics Studio.
Создание приложения с помощью среды разработки Microsoft Robotics Studio — это просто организация взаимодействия нескольких служб. Службы представляют собой интерфейс к программному обеспечению или аппаратуре робота. Они позволяют организовать обмен данными между процессами, выполняющими определенные функции.
Язык программирования Microsoft Visual Programming Language (VPL) представляет собой средство разработки приложений, в котором используется модель программирования на основе графического потока данных, а не на базе логики управления, которая обычно применяется в программировании. Язык VPL хорошо подходит для программирования различных сценариев с параллельной или распределенной обработкой данных.
Язык VPL понятен начинающим программистам, которые знакомы с переменными и логическими операциями. Возможность композиционного программирования с помощью этого языка может понравиться и более опытным программистам, поскольку это позволяет быстро разрабатывать программы и создавать прототипы. Кроме того, хотя инструментарий этого языка и предназначен для разработки приложений для роботов, лежащую в его основе архитектуру можно применить и в других приложениях. В результате язык VPL может оказаться привлекательным для широкого круга пользователей, в том числе, студентов, энтузиастов-любителей, и даже веб-разработчиков и профессиональных программистов.
Важной частью пакета Microsoft Robotics Studio является среда моделирования Microsoft Visual Simulation Environment. Она создана таким образом, что ее можно использовать в различных сложных сценариях с высокими требованиями к точности, качеству визуализации и масштабированию. И в то же начинающие программисты могут использовать моделирование, практически не имея опыта создания программ. Для моделирования физики используется AGEIA PhysX Technology.
Сервис является простейшим структурным элементом, обеспечивающим выполнение определенного ограниченного набора функций, отделенного от других сервисов.
Манифест представляет собой xml документ, описывающий набор сервисов, которые необходимо использовать в процессе выполнения программы. Манифест может использоваться для перезаписи указанных по умолчанию свойств сервисов, например имени. При 3d моделировании совместно с непосредственно манифестом используется xml файл, содержащий описание объектов моделируемого мира: как различных статичных предметов, так и самого робота. Диаграмма – графическое представление программы, код, написанный при помощи Microsoft Visual Programming Language.
Моделирование системы производится с целью сократить расходы на реальные компоненты устройства, и рассмотреть различные ситуации в его работе без непосредственно физического представления робота. Таким образом снижаются затраты за счет отсутствия на этапе проектирования затрат на детали устройства, отсутствие необходимости их замены или дополнительной покупки в случае если обнаружатся какие-либо проблемы с использованием элементов с определенными характеристиками. Применение компьютерного моделирования позволяет проверить различные варианты сочетания элементов устройства, выбрать лучший и использовать в реальном устройстве элементы, обеспечивающие наилучший результат по выполнению необходимых требований – в данном случае это качественная работа по обнаружению и уборке мусора, безопасность для людей и животных, т.е. строгое выполнение заданного алгоритма, а также устойчивость робота.
Также использование модели системы полезно, если невозможно проверить ее в реальных условиях. В нашем случае это не так, поскольку возможность проверить в реальных условиях существует, но в любом случае проверка будет осуществляться в некоторой искусственной обстановке – невозможно изучить работу робота во множестве различных помещений и его взаимодействие со всеми возможными предметами. Хотя моделирование так же не дает возможности рассмотреть все множество окружения, но оно позволяет протестировать варианты поведения устройства с какими-либо ключевыми объектами, а так же его работу например в помещении магазина, либо любом другом большом помещении, что в действительности может быть затруднительно.
На первом этапе разработки использовался стандартный манифест, включенный в установочный пакет MSRS. Манифест содержал описание мобильной платформы, включающей помимо двигателей, видеокамеру, лазерный датчик, датчики столкновения, а также предполагал использование дополнительного файла, описывающего физические параметры мобильной платформы: ее размеры, расположение датчиков, - и окружающий мир, состоящий из различных стандартных объектов: блоков, сфер, конусов.
На этом этапе была сформирована диаграмма, управляющая движением робота по следующему алгоритму: если расстояние по оси робота до объекта, определенное при помощи лазерного датчика, составляет более 1500 мм, робот движется вперед, если определенное расстояние меньше, - робот поворачивает за счет вращения колес в противоположных направлениях, при этом расстояние до объекта определяется постоянно, с частотой 5 раз в секунду. Лазерный датчик был использован ввиду того, что он является стандартным в пакете MSRS и его действие аналогично действию ультразвукового датчика. Используемый алгоритм приведен на рис.7.

Таким образом, была получена 3D-модель, содержащая простейшие физические объекты, в которой передвигался робот, огибая препятствия.
Затем, для использования с полученной диаграммой, манифест был изменен: исключены датчики столкновения, так как их использование не предполагалось в реальной модели. Также при помощи Microsoft Visual Simulation Environment было создано описание моделируемой среды, в которую помещен робот. Параметры робота были откорректированы путем изменения xml-файла с описанием его характеристик и характеристик окружающего мира.
В результате была получена 3D-модель помещения размером 6х10 метров с тремя окнами и дверью, расположенными на длинных сторонах. В этом помещении были расположены несколько столов, являющихся стандартными объектами моделирования в MSRS, различные перегородки и стеллажи.
Описанный выше алгоритм обнаружения препятствий является примитивным и не позволяет учесть препятствия, расположенные не на оси робота, поэтому возможны его столкновения с препятствиями, не попадающими на ось движения. Поэтому алгоритм обнаружения препятствий и движения робота был изменен.
Для исключения возможности столкновений необходимо получать данные обо всем пространстве перед роботом. Физически это трудноосуществимо – в первую очередь необходимо большое количество датчиков. Даже если предположить возможность их установки, для обработки получаемых от них данных потребуется много ресурсов: больше оперативной памяти, больше частота процессора, что неприемлемо для массово выпускаемой бытовой техники, так как ведет к ее усложнению и удорожанию. Поэтому необходимо использовать минимальное количество датчиков, располагая их так, чтобы они давали необходимое количество информации для избежания столкновений.
На этом этапе по-прежнему использовался один ультразвуковой датчик, но он был установлен на максимальной высоте, которую могут достигать отдельные части робота, т.е. на высоте, достигаемой манипуляторами в поднятом состоянии. Датчик закреплен на задней стенке корпуса робота для того чтобы исключить помехи для движения манипуляторов.
Помимо местоположения датчика изменен и алгоритм использования получаемых с него данных. Так как необходимо по максимуму получать информацию о препятствиях, расположенных на пути робота, необходимо обрабатывать данные со всего угла действия датчика, и учитывать расстояния до препятствий, получаемые на всей области действия датчика, а не только расстояние по центру. Зона действия датчика показана на рис.8.

Таким образом, алгоритм был изменен следующим образом:
- если расстояния, определенные датчиком на всей области действия больше 1500 мм, робот движется вперед с постоянной скоростью
- если расстояние до препятствия хотя бы в одной области действия датчика меньше величины в 1500 мм, робот поворачивает в сторону большего расстояния до препятствия. Например, в результате обработки данных с датчика обнаружено, что расстояние до препятствия меньше критической величины, и это значение получено в точке -30 градусов, т.е. слева от робота, следовательно, на двигатели должен быть подан сигнал, обеспечивающий поворот робота вправо. Так как существует вероятность того, что расстояние до препятствия будет ниже критической величины и справа и слева от робота, необходимо это учесть для того чтобы исключить конфликты в оборудовании. Данные с датчика обрабатываются последовательно слева направо, в качестве точки, в которой расстояние до препятствия меньше критического, помечается последняя найденная такая точка, таким образом, если было обнаружено, что расстояние до препятствия меньше критического в точках -20 и 35 градусов, робот должен повернуть влево, так как точка 35 градусов обнаружена позже.
В итоге на этом этапе получен алгоритм движения робота, представленный на рис.9.

Окончательный алгоритм работы модели
Робот движется автономно при помощи двух двигателей, определение направления движения и наличия мусора выполняется при помощи видео- и ультразвуковых датчиков.
1.Определение препятствий.
При движении робота в первую очередь проверяется сигнал с верхнего ультразвукового датчика. Если определенное расстояние меньше критической величины, расстояние, определенное с помощью нижнего датчика больше или равно расстоянию, полученному с верхнего датчика, на двигатели подается сигнал, обеспечивающий поворот робота.
В случае если расстояние, определенное при помощи верхнего датчика меньше критической величины, и расстояние, определенное при помощи нижнего датчика, меньше первого, выполняется функция определения наличия мусора.
Если расстояния, определенные при помощи верхнего и нижнего датчиков больше критической величины, робот движется вперед.
В случае если расстояние, полученное с верхнего датчика больше критической величины, а расстояние, полученное с нижнего датчика – меньше, выполняется функция определения наличия мусора.
2.Определение наличия мусора
Обнаружение мусора выполняется в случае, если расстояние, определенное при помощи нижнего датчика, меньше критического и меньше расстояния, определенного при помощи верхнего датчика.
В случае если ближайшее расстояние, полученное с помощью нижнего датчика, меньше критического, проверяется, на какой области действия датчика, расстояние до объекта не превышает минимальное полученное расстояние более чем на 200 мм, если размеры области превышают угол в 20 градусов, объект расценивается как препятствие, на двигатели подается сигнал, обеспечивающий поворот робота. Если предыдущее условие не выполняется, робот поворачивается до установления минимального расстояния до объекта на линии, проходящей через центр робота, выполняется повторная проверка наличия и уборка мусора.
3.Уборка мусора
При определении наличия мусора выполняется его захват манипуляторами, проверка успешности захвата и помещение мусора в корзину. После этого возобновляется движение робота.
Заключение.
С целью минимизации расходов на аппаратное проектирование роботов и их поведения в окружающей среде допустимо применение программного моделирования, как самих роботов, так и окружающих их среды.
« Назад
