Технология. 9 класс. Авторский коллектив: Е. С. Глозман, Е. Н. Кулакова, Ю. Л. Хотунцев, О. А. Кожина, И. В. Воронин, В. В. Воронина, А. Е. Глозман
Мы уже довольно много знаем о роботах: имеем представление о том, как они могут быть устроены, каким образом осуществляется программное управление роботизированными устройствами. Для чего в управляемых устройствах необходим контроллер?
Какое программное обеспечение необходимо, чтобы управлять контроллером?
В предыдущих классах вы ознакомились с некоторыми электронными устройствами (светодиодами, транзисторами и т. д.), получили представление о программировании. Пришло время поработать с более сложным электронным конструктором. Теперь к контроллеру вы сами будете подключать различные компоненты (кнопки, датчики и т. д.) и составлять программы на языке программирования.
В качестве контроллера будем использовать платформу Arduino Uno, которая состоит из двух основных частей — аппаратного обеспечения (непосредственно платы Arduino, рис. 9.17) и программного обеспечения, которое запускается на компьютере.
Основная деталь платы — это микроконтроллер, в который и будут записываться программные коды (скетчи).
Электрическое питание может быть подано на плату через USB-порт от компьютера или от источника питания. Источником питания может быть батарейка, аккумулятор или подключение в сеть через адаптер. Главное, при подключении не перепутать плюс с минусом и учесть, что подключаемый источник должен давать напряжение в диапазоне от 3 до 12 В. Провода от батареи подключаются к выводам Gnd и Vin разъёма питания. Плата может сама выбирать источник питания: если она подключена к компьютеру через USB- кабель и к разъёму питания подключён адаптер, то плата выберет адаптер.
Программное обеспечение представляет собой интегрированную среду Arduino IDE, которую можно бесплатно скачать на официальном сайте (https://www.arduino.ee/en/Main/Donate).
В операционной системе Linux запуск программы осуществляется сразу, в системе Windows может потребоваться запуск от имени администратора. Тогда правой кнопкой мыши следует открыть контекстное меню и выбрать пункт «Запуск от имени администратора» (рис. 9.18).
Когда программа запустится, откроется окно Arduino IDE (рис. 9.19).
Обратите внимание — вы ещё не подключали плату Arduino к компьютеру, а в правом нижнем углу уже присутствует надпись «Arduino Leonardo on COM4». Таким образом Arduino IDE сообщает вам, что она настроена на работу с платой Arduino Leonardo. А когда плата будет подключена, Arduino IDE будет искать Arduino Leonardo на порту COM4. И по умолчанию уже заготовлен шаблон для будущего скетча (программы — эскиз для Arduino), содержащий команды, необходимые для его работы.
Используя меню «Инструменты» → «Плата», нужно указать программе, что работа предстоит с другой платой семейства Arduino, т. е. выбрать из списка контроллер, который будет подключён к компьютеру (Arduino Uno, рис. 9.20).
Теперь плата готова к работе.
После установки Arduino IDE и выбора нужной платы можно подключить плату к компьютеру и произвести окончательные настройки. Рассмотрим процесс в операционной системе Windows.
Компьютер опознаёт подключённое устройство как плату Arduino Uno и запускает его установку (рис. 9.21).
Когда на плате загорится светодиод ON и начнут мигать светодиоды L2 и L3 (см. рис. 9.17), значит, на плату подано питание и микроконтроллер Arduino Uno начал выполнять заданную производителем программу Blink (мигание светодиодом).
Чтобы окончательно настроить плату на работу с Arduino Uno, необходимо уточнить, какой номер COM-порта присвоил компьютер Arduino Uno. Для этого в Панели управления нужно зайти в «Диспетчер устройств» Windows и открыть вкладку «Порты (СОМ и LPT)» (рис. 9.22).
Это означает, что операционная система распознала плату Arduino как COM-порт, подобрала для неё правильный драйвер и назначила этому COM-порту номер 5. Если мы подключим к компьютеру другую плату Arduino, то операционная система назначит ей другой номер. Поэтому при работе одновременно с несколькими платами очень важно внимательно соотносить их с номерами СОМ-портов.
Теперь следует сообщить Arduino IDE, что плата, с которой ей предстоит общаться, находится на COM-порту СОМ5. Для этого необходимо перейти в меню «Инструменты» → «Порт» и выбрать порт СОМ5 (рис. 9.23).
Основные понятия и термины:
контроллер, аппаратное обеспечение, программное обеспечение, СОM-порт.
Вопросы и задания:
1. Для чего роботу нужен контроллер?
2. Зачем нужно программное обеспечение контроллеру?
3. Как настроить программу Arduino IDE для работы с конкретной платой семейства Arduino?
4. Могут ли платы Arduino оказаться на разных СОМ-портах?
5. Какое максимальное питание можно подать на плату Arduino?
Задание 1
Скачайте с официального сайта и установите программу Arduino IDE.
Задание 2
Осуществите настройки Arduino IDE соответственно имеющейся плате Arduino.
Для чего роботу нужен контроллер
§ 25. Робототехника. Системы автоматического управления
Во все времена люди пытались представить себе будущее. Писатели-фантасты рассказывали об удивительных городах, машинах, летательных аппаратах и роботах. Подумайте, что такое робот. Что он может делать? Как использование роботов может изменить жизнь людей? Что представляет себе человек, когда звучит слово «робот»?
В современном мире использование роботов стало обыденным явлением. По квартирам ползают роботы-пылесосы. На автомобилях и самолётах автопилоты-роботы ведут управление по круиз-контролю. Готовят пищу роботы-хлебопечки и роботы-мультиварки.
Что такое робот? Какие роботы бывают? Как ими управлять и как создать робота самому? В какой момент наши добрые помощники – пылесос, автомобиль, кофеварка – так поумнели, что превратились из просто агрегатов в наших интеллектуальных друзей? Чем отличается робот от неробота?
Рассмотрим в качестве примера обычную радиоуправляемую машинку (рис. 1). Она не является роботом, так как сможет поехать вперёд-назад и в сторону только после того, как на пульте нажмут рычажок в нужную сторону. Хотя команды движения и приходят на машинку по радиоканалу, но машинка не анализирует ситуацию и не принимает никаких решений.
Рис. 1. Радиоуправляемая машинка
Если рассмотреть управляемый с подобного пульта и тоже по радио каналу квадрокоптер, то его можно считать полноценным роботом (рис. 2). Это связано с тем, что на борту квадрокоптера стоит специальное устройство – чип-микропроцессор , в нём по заранее разработанной и за груженной в запоминающее устройство программе идёт анализ полученных команд, учитывается направление и скорость ветра, появление препятствия, рассчитываются изменения скорости вращения моторов.
Рис. 2. Радиоуправляемый квадрокоптер
Подумаем, когда становится роботом пылесос. Обычный включённый пылесос (рис. 3, а) будет долго шуметь, стоя на одном месте, если его никто никуда не передвинет. Но робот-пылесос в виде таблетки (рис. 3, б) сам передвигается от одной стены комнаты до другой, причём таким образом, что проходит над каждым участком пола не более чем 2 – 3 раза. Как это он делает? Откуда робот-пылесос берёт координаты и как запоминает свой путь?
Рис.3. Пылесос: а — обыкновенный; б — робот-пылесос
Оказывается, что, как и в случае с квадрокоптером, в роботе-пылесосе есть специальные датчики. Они установлены на колёсах, и они называются энкодерами. Эти датчики собирают информацию о движении пылесоса относительно препятствий в комнате. Полученная таким образом информация обрабатывается специальным устройством – центральным процессором пылесоса, в который заложена программа анализа передвижения пылесоса. Робот ползёт и как будто мысленно «закрашивает» часть комнаты, где он уже побывал, а далее, уперевшись в стенку и развернувшись, он прокладывает маршрут по ещё «не закрашенному» пути. И так продолжается до тех пор, пока он не «закрасит» своим следом все свободное пространство либо пока не кончится заряд батареи на его борту.
Итак, робот (чеш. robot, от robota – «подневольный труд») – это такое устройство, которое способно действовать по заложенной в него программе. Слово « робот » было придумано чешским писателем Карелом Чапеком и его братом Йозефом и впервые использовано в пьесе Чапека « Р. У. Р .» («Россумские универсальные роботы», 1920).
Вот как сам Карел Чапек это описывает: – «…в один прекрасный день … автору пришёл в голову сюжет … пьесы. И пока железо было горячо, он прибежал с новой идеей к своему брату Йозефу, художнику, который в это время стоял у мольберта… Автор изложил сюжет так коротко, как только мог…
– „Но я не знаю, – сказал автор, – как мне этих искусственных рабочих назвать. Я бы назвал их лаборжи [по-видимому, от английского слова labour – работники, трудящиеся, рабочая сила ], но мне кажется, что это слишком книжно“.
– „Так назови их роботами “, – пробормотал художник, … продолжая грунтовать холст …».
В ранних русских переводах использовалось слово « работарь ».
Назначения роботов могут быть самыми разнообразными, от увеселительных и прикладных и до сугубо производственных. Внешний вид роботов также может быть каким угодно, хотя нередко в конструкциях узлов заимствуют элементы анатомии различных живых существ, подходящие для выполняемой задачи.
Настоящий робот – это машина, которую можно обучить, т. е. подобно компьютеру запрограммировать (задать ему набор действий, которые он должен выполнять) делать разнообразные виды движений, реагировать на изменения в окружающем мире и выполнять множество видов работ и заданий.
Все роботы можно разделить на две большие группы:
• стационарные роботы на фундаменте, которые обычно используются в промышленности, на линиях сборки и сварки кузовных деталей автомобилей;
• мобильные роботы, которые могут перемещаться и выполнять работу везде, куда смогут добраться.
Мобильные роботы различаются по способу передвижения: есть передвигающиеся на колёсах или гусеницах, шагающие, плавающие и летающие.
Роботы могут выполнять различные функции.
Промышленные роботы – это, как правило, мощные роботы-манипуляторы, установленные на неподвижном фундаменте, они способны выполнять действия в радиусе, равном длине их «руки». На конвейере их ставят несколько в ряд, и каждый выполняет определённые операции (рис. 4).
Рис. 4. Сборочная линия с промышленными роботами
Медицинские роботы используются для выполнения хирургических операций, при этом применяются системы дистанционного слежения (рис. 5).
Рис. 5. Использование медицинских роботов в хирургии
К медицинским роботам относятся экзоскелеты, которые помогают людям передвигаться (рис. 6).
Рис. 6. Люди, использующие экзоскелеты
Роботы могут быть использованы в качестве протезов рук. Управлять электронными мышцами возможно уже сейчас, снимая датчиками сигналы с мышц человеческого тела. Наука, занимающаяся подобными проблемами, называется бионика.
Сельскохозяйственные роботы используются в растениеводстве и животноводстве (рис. 7). Они помогают кормить животных, удобрять и поливать растения, возделывать почву.
Рис. 7. Роботы, используемые в растениеводстве
Подводные роботы используются в морском деле для проведения аварийно-спасательных работ и различных исследований на дне моря (рис. 8).
Рис. 8. Подводный робот
Работа таких роботов осложняется тем, что ими невозможно управлять дистанционно, по радиоканалу. Радиоволны очень плохо распространяются в водной среде, поэтому таких автономных роботов надо заранее тщательно программировать, чтобы они смогли выполнить поставленную задачу и вернуться на базу самостоятельно.
Первым космическим роботом можно считать луноход, отправленный на Луну ещё во времена СССР — в далёком 1970 году (рис. 9)
Рис. 9. Советский луноход
В 2011 году американцами к Марсу был направлен робот «Кьюриосити» (рис. 10), название которого переводится на русский язык как «любознательность». Для него была разработана специальная платформа на реактивных двигателях, которая, подлетев к поверхности Марса, «зависла» над ней, и марсоход очень бережно на лебёдке сам спустился с неё на поверхность.
Рис. 10. Американский марсоход «Кьюриосити»
Робот был отправлен и к комете Чурюмова — Герасименко. Он проводил исследования поверхности в точке высадки, брал пробы грунта и анализировал их прямо на месте, передавая на Землю в цифровом виде данные о составе почвы и поверхности, на которой он работал.
Сервисные роботы помогают нам в повседневной жизни. К ним, например, относится робот-пылесос. В местах большого скопления людей используют роботы телеприсутствия (рис. 11), которые помогают сориентироваться, подсказывают, куда сейчас стоит сходить, и отвечают на вопросы посетителей.
Рис. 11. Робот телеприсутствия
В школе такие роботы телеприсутствия помогут ребятам, которые не пришли в школу, почувствовать себя в коллективе, побродить на переменке по коридорам, пообщаться с друзьями, получить задания на дом или пойти с одноклассниками в музей (рис. 12).
Рис. 12. Робот в музее
Самым известным шагающим сервисным роботом является японский робот Асимо (рис. 13). Такие роботы уже используются в некоторых кафе как разносчики заказанной еды.
Рис. 13. Японский робот Асимо
К сервисным роботам можно отнести систему круиз-контроля в автомобилях. Причём если раньше такие системы только поддерживали определённую скорость при движении по трассе, то сейчас появились значительно более умные системы круиз-контроля, которые определяют ещё и расстояние до идущего впереди автомобиля и позволяют двигаться со скоростью, задаваемой лидером в колонне.
В роботе, как и в любом компьютере, есть центральный процессор (чип), постоянная память и оперативная память. Центральный процессор – это «мозг» компьютера, устройство для обработки информации. Постоянная память, или постоянное запоминающее устройство (ПЗУ) , используется для хранения неизменяемых данных в компьютере. Она способна хранить данные даже тогда, когда нет энергопитания компьютера. Оперативная память, или оперативное запоминающее устройство (ОЗУ ), – это та часть компьютерной памяти, в которой во время работы компьютера хранится выполняемая программа и все данные, обрабатываемые процессором. ОЗУ – это энергозависимая часть компьютерной памяти.
Программу в робот загружают. Способы загрузки бывают разные, например с помощью специального устройства – программатора – или по радиоканалу. Загрузка программы в постоянную память устройства ещё называется прошивкой устройства.
Когда робот выключен, загруженная в него программа хранится в ПЗУ. Как только на робот подаётся питание, процессор отправляет программу из постоянной в оперативную память и запускает выполнение программы.
Таким образом, роботом называют такое устройство, которое можно запрограммировать на выполнение каких-то действий.
Роботом можно считать современный гугл-автомобиль , на который уже установлен бортовой вычислительный комплекс и активный круиз-контроль. Такой автомобиль может не только сохранять постоянную скорость на трассе, но и оставлять неизменным расстояние до впереди идущего автомобиля и реагировать в автоматическом режиме на внезапно появляющееся препятствие.
Теперь мы можем определить, чем же отличаются роботы от простых механических устройств или радиоуправляемых игрушек. Итак, в роботах должно быть устройство, которое позволит ему «думать» и каким-то образом «общаться» с человеком. Такое устройство, которое используется для управления в электронике и вычислительной технике, получило название «контроллер». Контроллер – это микросхема, внутри которой находится настоящий компьютер (рис. 14). В контроллере есть всё, что необходимо для самостоятельной работы: процессор, оперативная и постоянная память, порты ввода и вывода, таймеры, многое другое.
Рис. 14. Контроллер
Во все планшеты, телефоны и другие гаджеты встроены контроллеры. Контроллеры отличаются друг от друга размерами, мощностью (которая определяет, какое количество операций может выполняться), рабочей частотой (скоростью выполнения операций).
Главная часть любого контроллера – микропроцессор.
Рис. 15. Микропроцессоры
Это арифметико-логическое устройство, которое производит арифметические и логические операции с двоичными числами (об этом мы будем говорить, когда станем рассматривать команды, которые понимают роботы).
Электроника в робототехнике
Приведите примеры электронных устройств, которыми вы пользуетесь в школе и дома. Как вы думаете, нужна ли для их работы электрическая энергия? Обоснуйте свой ответ.
Рассмотрим самую главную часть любого робота – контроллер.
В качестве индикаторного устройства в современных устройствах часто применяются светодиоды. Светодиод – это электронный прибор, который начинает светиться при прохождении через него электрического тока. Светодиод излучает свет, когда ток протекает от анода, который обозначен знаком «+» (это длинный вывод светодиода), к катоду, который обозначен знаком «–» (короткий вывод). Светодиод обязательно нужно подключать к источнику питания с соблюдением полярности, т. е. «+» светодиода – к «+» источника тока, а «–» светодиода – к «–» источника тока. Раньше светодиоды выпускали только красного и зелёного цветов, затем придумали, как изготавливать светодиоды жёлтого цвета. Но только когда японец Судзи Накамура изобрёл синий светодиод, стало возможно добиться свечения любым цветом.
Основной частью контроллера является микропроцессор . Приставка микро, как вы знаете, означает «маленький».
Рис. 16. Принципиальная схема простейшего процессора
Сейчас процессор такой маленький, что даже в керамическом корпусе имеет размер, сравнимый с размером рисового зёрнышка, несмотря на то, что он состоит из огромного количества электронных компонентов. Принципиальная схема простейшего процессора имеет приблизительно такой вид, как показано на рисунке 16, а он умещается на кончике пальца (рис. 17).
Рис. 17. Микропроцессор и рисовое зернышко
Но процессоры не всегда были маленьких размеров.
Раньше вычислительные машины, выполняющие такие же операции, как микропроцессор, были огромного размера и занимали целый зал (рис. 18).
Рис. 18. Вычислительная машина второй половины XX в.
Основные понятия и термины:
роботы: стационарные, мобильные, промышленные, медицинские, подводные, сельскохозяйственные, космические, сервисные, шагающие, круиз-контроль; микропроцессор, постоянная память, оперативная память, контроллер.
? Вопросы и задания
1. Объясните, чем робот отличается от неробота. Верно ли, что радиоуправляемые игрушки – это настоящие роботы?
2. Какое устройство управляет всеми действиями робота? Для чего нужно большое количество разнообразных контроллеров?
3. Какую систему классификации вы можете предложить для роботов?
4. Каких роботов целесообразно использовать для работы на конвейере автомобильного предприятия (шагающих, стационарных, мобильных)?
5. Какими должны быть подводные роботы: программно управляемыми (автономными) или дистанционно управляемыми? Почему?
6. Что можно считать первым космическим роботом? Какие ещё космические роботы вам известны?
Придумайте и нарисуйте собственного робота. Дайте роботу имя, придумайте, что он будет делать, какие команды он сможет выполнять.
Как работает контроллер для роботов манипуляторов?
Так как современный мир все больше углубляется в необходимость автоматизации промышленных процессов, многочисленные роботизированные направления становятся все более распространенными.
Поэтому такое устройство как контроллер робота манипулятора относится к часто встречающимся темам, реализовать которые сейчас и внедрить стараются не только на специализированных предприятиях, но и для индивидуального использования. Рассмотрим подробнее.
Актуальность и необходимость решений
Контроллер для роботов манипуляторов помогает:
- рациональное распределение трудовых ресурсов персонала разного уровня;
- повышение качественных показателей на производстве;
- снижение временных затрат на исполнение;
- снижение себестоимости товаров;
- увеличение выпуска за счет ускорения операций;
- и ряд других плюсов.
Управляющие контроллеры роботов предназначены, в первую очередь, для техники в виде манипуляторов. Это связано с тем, что именно такой формат больше всего сейчас распространен в промышленных условиях.
Сам манипуляционный робот представляет собой технику, которая снабжена специальными манипуляторами и способна без помощи оператора выполнять определенный набор операций в рамках установленного рабочего пространства.
Контроллеры необходимы для участия в управлении роботами манипуляторами, так как оборудование должно соответствовать высоким требованиям, которые касаются точности положений и позиционирования, числу степеней свободы и подвижности каждого из звеньев. По этой причине разработка такой техники состоит из целого ряда этапов.
К особенностям роботов манипуляторов с использованием программируемых контроллеров необходимо причислить:
- наличие сложной кинематической структуры с большим числом взаимосвязанных или независимых между собой звеньев;
- необходимость контроля положения каждого из конструктивных элементов системы;
- управление в синхронном режиме целого ряда двигателей.
Конструктивные особенности и принципы работы
Прежде, чем разобраться с составляющим компонентом в виде контроллера для роботов манипуляторов, необходимо рассмотреть основные аспекты конструктивного плана у последних.
Такие устройства предназначены для обеспечения перемещения различных объектов (с разными параметрами) с заданными ориентациями и по определенной траектории. Для решения этой задачи в системе расположено порядка 6-ти степеней свободы.
Роботы манипуляторы имеют разное назначение, поэтому для них используют разные типы приводов. Но главными задачами оборудования все равно при этом являются позиционирование рабочего элемента в пространстве и перемещение по подходящей траектории.
Электрический привод используют наиболее часто благодаря его очевидным достоинствам:
- высокий показатель КПД;
- небольшие габаритные размеры и вес;
- удобное и понятное управление;
- настройка широкого интервала мощностей.
В зависимости от целей контроллер робота манипулятора отвечает за функционирование двигателей постоянного тока, шаговых или вентильных двигателей. Чаще всего в качестве эффективного решения применяют первый или последний варианты.
Управление приводами манипуляционного робота
Управляющие контроллеры роботов манипуляторов работают при взаимодействии с персональными компьютерами, которые отвечают за расчеты и формирование программ. Микроконтроллер по этой причине должен соответствовать ряду критериев:
- у прибора должен присутствовать набор цифровых и аналоговых входных каналов, которые необходимы для датчиков и других периферийных приборов;
- стандартный интерфейс с определенным протоколом;
- разрешение шины должно составлять не менее 1 мкс;
- управление скоростью и ускорением должно быть организовано по отдельности для каждого из каналов;
- высокие показатели производительности;
- высокоточная поддержка вычислений.
Подбор совместимости должен базироваться на технических характеристиках устройств, которые будут впоследствии взаимодействовать между собой. Сегодня контроллеры для роботов манипуляторов разрабатываются как отечественными, так и зарубежными производителями, и выбор очень широк.
Поэтому при самостоятельной сборке такой аппаратуры логично воспользоваться уже разработанными другими специалистами схемами или примерами от самих производителей.
Основной список систем управления
Чтобы не совершать распространенных ошибок, можно подобрать не сам контроллер для управления роботом, а сразу полноценную систему, в которой уже будет присутствовать подходящий для решения конкретных задач прибор.
Сегодня к одним из наиболее популярных и эффективных относят следующие бренды: Yaskawa Motoman, ABB, Fanuc, Kuka. Их отличие от самостоятельных сборок заключается в присутствии закрытых решений.
Это означает, что такие устройства включают в себя все компоненты от одного разработчика. Такой подход позволяет обеспечить максимальную совместимость и минимизирует потенциальное возникновение поломок.
Некоторые из систем базируются на принципах модульной структуры, которые позволяют посредством одного контроллера через Ethernet подключать целый набор других микроконтроллеров. Последние предназначены для управления отдельными роботами манипуляторами, что крайне удобно для производственных условий.
Другим решением становятся роботы, выполненные на базе промышленных компьютерах, но использующих классическую и максимально простую ОС Windows. Но при этом они оснащены специальными расширениями. В таком случае управление роботами манипуляторами производится при помощи плат ввода и вывода. В соответствии с требованиями разработчиков могут применяться разные протоколы.
Есть также и более простые вариации. Например, отечественная разработка Сфера-36, которая с помощью контроллера робота манипулятора отвечает за управление Puma-560. Системы позволяют вводить максимально простые текстовые программы и последовательности требуемых перемещений в пространстве.
То есть в режиме реального времени происходит обучение. Но такой формат предполагает наличие недостатков. Качество управляющих процессов снижается за счет необходимости применения аналоговых сигналов.
Програмирование промышленных роботов
А давайте поговорим сегодня о программировании роботов. Да роботов, но не игрушек роботов, а промышленных роботов. Роботов, которые каждый день всё больше и больше завоёвывают своё место в промышленности.
Оставим в стороне программирование САПР (SPS Step S7 н/р) и робота в одну систему, предположим, у нас уже есть настроенная установка с роботом, которая соответствует нашим требованиям и она работает без ошибок. Осталось дело за малым: закинуть на робота нужную программку и нажать СТАРТ.
И вот тут и возникает первые вопросы. Если настройка установки с роботом более менее соответствуют общим требованиям промышленности и тех. безопастности, то программа робота — это ваша личная идея, ну и реализация соответсвенно тоже.
Нет, конечно же можно пригласить специалиста с фирмы производителя робота и он вам сделает одну две простенькие программки за счет покупки робота, но последующие программы будут вам уже стоить денег. И денег не малых.
Тут и возникает идея — самому писать программы для робота. Производитель роботов обычно и предлагает курсы по программированию. Тут есть обычно два варианта: Teach-in и Off-Line программирование.
Первое предусматривает метод «обучения» робота, при котором оператор с помощью джостика или пульта управления подводит робота к каждой точке будущей программы и «запоминает эту точку в мозгах робота».
Система простая, но удовольствие конечно мало, если точек очень много и доступ к точкам ограничен самой деталью (её геометрией). Нужно добавить сюда ещё тот факт, что каждый производитель роботов по своему решает систему управления роботом. Н/р, у одних движение робота по осям x, y, z, идёт через нажатие/вращение джостика в нужном направлении. И наклон робота по углам A, B, C, то же этим же джостиком, но сперва вам необходимо перейти в другое меню управления движением. Такие прыжки туда сюда отнимают очень много времени и нервов. У других, на все движения есть свои отдельные кнопки, две для каждого направления.
Если учесть ещё тот факт, что для каждой точки необходимо выставить определённое растояние и угол, и при этом держать на пульте управления нажатой клавишу включения робота (тех.безопастности), и двигать робот, то обычно не хватает 3-й, а то и 4-й руки.
Написать программку на 5000 точек, в зависимости от необходимой точности и геометрии детали, таким методом затянется на пару месяцев. При этом вам будет необходимо занять установку с роботом, т.е. установка будет стоять, так же как и продукция. Конечно, если у вас есть ещё один робот, на котором вы будете писать программу не останавливая робот на установке. Это позволит не останавливать работу установки, но не сократит время программирования. И тут еше добавится тот факт, что при переносе программы с программного робота, на робот в установке, прийдётся программу «немного» подгонять.
Но есть и позитивная сторона у этого метода: объезжая все эти точки в реальности, можно уверено сказать, что робот при объезде не врежется в деталь или в какой-либо другой объект установки, т.к. это было бы заметно уже на стадии «запоминания» этих точек. Но это не совсем верно, так как в режиме автоматики на 100%, робот может ехать не совсем так, как на этапе программирования в ручном режиме.
Второй вариант программирования предусматривает создание программы на компьютере. Для этого необходим конечно эдитор (обычно от роботопроизводителя или же другого разработчика), CAD модель детали (иногда с механизмом крепления), CAD модель рабочего инструмента на роботе и CAD модель измерительного инструмента (необходимого для калибровки программы непосредственно в установке). CAD робота, а так же его кинетическая модель обычно уже заложены в эдиторе.
И в зависимости от эдитора нам открываются по истине великолепные возможности программирования.
Самыми важными пунктами является возможность работы с поверхностью и гранями CAD детали. Кстати CAD формат должен поддерживаться эдитором (н/р .igs или .stp) иначе программирование значительно затрудняется и приходится импровизировать, что сказывается на времени, точности ну и качестве программы.
Предположим, нам необходимо сделать программу для обработки всей поверхности простой детали, как на фото.
И обработка подразумевает под собой объезд всей верхней поверхности «змейкой» с определённым растоянием между дорожками (растер) и с углами 90°. Такое применяется н/р для пескоструя или покраски поверхности.
При использовании первого метода, необходимо иметь саму деталь, расчертить на ней дорожки, закрепить на рабочем столе и задавать все эти точки (обычно это те места, где меняется направление движения) роботу в необходимой последовательности с необходимыми условиями (растояние и угол инструмента к каждой точке). Задавать такие данные, как тип движения (линейное, свободное или по окружности), точность движения (насколько точно робот должен подъехать к этой точке, н/р 1мм или 5мм), скорость движения к этой точке и каким инструментом робот должен подъехатъ к ней. Одни из этих параметров перенимаются автоматически от предыдущей точки, другие надо задавать каждый раз заново.
Задав таким образом все точки, вы создаёте часть программы, которая отвечает за движение робота. (Другая часть — контакт с внешним миром через САПР или подача/считывание сигнала на выход/вход, делается обычно один раз и перенимается от программы к программе и здесь не будет расматриваться.) После этого программа контролируется в ручном, в тестовом и автоматическом режимах. Если всё ОК — работа сделана. Можно пойти за кофеёчком.
А что, если завтра или через месяц прийдёт другая пластина для обработки, которая чуток длиннее или шире? Можно конечно измерить изменения и в текстовом эдиторе изменять координаты X, Y, Z точкам в старой программе не останавливая робот и надеятся, что всё получится ОК. Ну или же менять старую программу непосредственно на роботе перезабивая старые точки на новые. При этом сперва накидав новые дорожки на новой детали.
Более продвинутые программисты, н/р от производителя робота, для таких задач/деталей могут написать программку, которая сама генерирует программу для движения. Для неё будет только необходимо объехать три точки детали и запомнить их. Из этих точек программа считает координаты X, Y, Z, определит размер поверхности, расчитает сдвиг от дорожки к дорожке и сгенерирует движение на всю поверхность детали. Контроллер робота — это же компьютер и позволяет производить логические, арифметические операции. Главное тут правильно разработать алгоритм.
Но если детали каждый раз имеют разную форму, то облегчить себе работу вышеописанным образом не получится.
Вот тут и приходит на помощь Off-Line программирование.
Для простых задач этот вариант в принципе не нужен, но для более серьёзных ему нет замены.
Давайте разберём сперва тот же первый пример с фото выше.
(Настройку эдитора мы не будем тут расматривать)
Помещаем в эдитор CAD детали и распологаем её по возможности точно так же по отношению к роботу, как в установке. Желательно на этом этапе произвести калибровку детали, т.е. промерить её положение в установке и перенести это положение в эдитор. Этим достигается то, что робот действительно достанет все точки детали, плюс, можно увидеть уже в эдиторе как поведёт себя робот при обработке детали, н/р перекрутятся у него оси или нет.
Создаём дорожку на парралельных рёбрах детали методом их захвата.
Полученные дорожки сегментируем (делим точками) под длину будущего растера.
Создаём змеевидную дорожку методом захвата раннее созданных точек в необходимой последовательности.
Выделяем нашу дорожку, заносим уже известные нам параметры (скорость движения, точность итд.), оптимируем угол инструмента к точкам. Включаем симуляцию программы
(убрал инструмент из фото, т.к. всё под авторскими правами, синяя полоска — симулирует н/р струю пескоструя)
и если всё прошло без «танцев с бубнами в исполнении робота», то генерируем программный код/файл, который переписываем на контролер робота. Контролируем программу в установке, жмём на СТАРТ, идём за кофе.
Давайте расмотрим другой пример задачи.
На эту деталь необходимо нанести клей на верхнюю плоскость, от края рёбр 15мм по периметру и от края круглых, больших отверстий 5мм то же по периметру.
Так же как и в впредыдущем примере, захватываем рёбра поверхности. (серая линия — предложения эдитора для захвата ребра, белая — будущая дорожка, если мы подтвердим её)
Создаём паралельную дорожку со сдвигом 15 мм внутрь предыдущей. (Кстати, цвертные стрелки показывают направление инструмента, во всех точках, оно при создании разное и его надо будет потом исправлять)
Добавляем точки въезда и выезда. Повторяем то же самое с круглыми отверстиями.
Заносим нужные параметры точкам как и в предыдущем примере, исправляем ориентирование инструмента, включаем симуляцию.
При необходимости заносим команды вкл./выкл. контроль, входов/выходов, генерируем программу, заносим на робот, тестируем, запускаем в автоматике, хлопаем себя по плечу и со словами: «ай какой молодца» — идём за кофем.
Теперь немного про $$$.
За работу продвинутого программиста из примера выше (создание программы для генерирования программы движения исходя из трех точек) производитель роботов возмёт
200€/час, солидно да?
И ещё пример, на ebay.de был один программист, который продавал свои услуги по программированию робота первым методом, teach-in. За неделю работы: 5 дней по 8-10 часов в день он просил 5000€ вместе с приездом и жильём. За 5 дней продажи, за этим предложением наблюдало около 50 покупателей. Правда, мне не известно, сколько раз он смог так «продать» свой сервис.
Ну, вот такой краткий обзор по программированию роботов.
Тут кажется нет вообще ничего на эту тему и решил исправить этот пробел.
Не пинайте сильно, да и вообще не пинайте :-), первая попытка в таком роде.