Технология RPA с каждым днем набирает популярность. Сегодня фраза «написать робота» уже мало кого удивляет. Более того, для этой несложной задачи достаточно базовых навыков программирования. А в сочетании с хорошо выбранной платформой, дополненной машинным обучением, процесс создания робота будет состоять из набора последовательных шагов. Расскажу о них подробнее.
RPA — удобное и надежное решение для автоматизации процессов. В современных платформах с каждым обновлением увеличивается и модернизируется функционал. Для создания роботов требуется все меньше навыков программирования.
К примеру, ведущий российской разработчик программного обеспечения для роботизации бизнес-процессов, компания Pix Robotics, дополнила свою платформу PIX RPA модулем машинного обучения Machine Learning (ML). Machine Learning — класс методов искусственного интеллекта, характерной чертой которых является способность к самостоятельному обучению путем решения множества сходных задач. В нашем случае именно ML позволяет роботам самостоятельно работать с информацией, используя инструменты аналитики. Преимуществом использования ML является возможность написать робота, имея только входные данные.
Программируем своего робота на плате Iskra JS
5 шагов создания робота
Для того, чтобы получился «правильный» робот (оптимальный в плане выполнения задачи и затрат на разработку, корректный, долгосрочный) в большинстве случаев достаточно сделать 5 основных шагов:
Выберите процесс, подходящий для автоматизации. Для этого есть ряд критериев. Рассмотрим основные:
- Процесс, основанный на правилах (алгоритмизируемый)
Процесс должен осуществляться в соответствии с заранее известной логикой.
- Регулярно повторяющийся процесс
Последовательность действий сотрудника, являющаяся процессом, должна систематически повторяться.
- Стандартизированные входные данные
Входные данные должны предоставляться в соответствии с единым шаблоном.
- Процесс, способный быть автономным
Автоматизируемый процесс должен быть способен выполняться без участия человека.
Составьте схемы «Как есть» и «Как будет» для выбранного процесса. В схеме «Как есть» перечислите действия сотрудника на данный момент, т.е. до автоматизации. Например:
В схеме «Как будет» отобразите процесс после автоматизации. Блоков, где необходимо вмешательство человека, может не быть, но встречаются и случаи, когда участие сотрудника необходимо. Пример простейшей схемы «Как будет»:
Составьте архитектуру робота. Лучше разбивать участки процесса на отдельные блоки, чтобы использовать их повторно вызовом этих блоков, а не копированием. Старайтесь, чтобы каждый блок выполнял свой функционал, не пересекаясь с функционалами других блоков. Благодаря такому подходу вы сможете видеть весь процесс и избежите ошибок, следствием которых могут стать неоптимальность, длительная разработка, переделывание, корректировки.
Теперь можно смело приступать к разработке робота. Опираясь на архитектуру из 3 шага, начните с малых подпроцессов. Держите в голове участки, где возможны ошибки. Настройте оповещения об ошибках.
Вы почти у цели! Заключительный этап включает в себя полный цикл тестирования робота. Для этого подавайте на него различные варианты входных данных. Не лишним будет и проверить работу робота, используя заведомо неверные данные.
Источник: vc.ru
Шаг 10. Программирование роботов.
Программирование роботов обычно является заключительным этапом, связанным с созданием роботов.
Если вы изучали уроки, то вы выбрали приводы, электронику, датчики и т.д. И кто-то, наверное, смог собрать робота, которого придумал ранее. Но без программирования, робот является очень красивый и дорогим макетом, не умеющим делать ничего.
Чтобы научить вас программировать роботов, потребуется не один урок. Поэтому этот урок поможет вам лучше понять, как начать и что нужно изучить именно вам.
Какой язык выбрать?
Какой язык программирования выбрать для вашего робота? Существует много языков программирования, которые можно использовать для программирования микроконтроллеров. Наиболее распространенными языками программирования роботов являются:
- Ассемблер
- Basic
- C / C ++
- Java
- C #
- Python
- Программное обеспечение Arduino
Ассемблер
Это язык низкого уровня максимально приближенный к машинному коду. Программирование роботов очень сильно зависит от архитектуры процессора и достаточно трудоемко в использовании.
Ассемблер нужно использовать только тогда, когда вам необходим абсолютный контроль над вашим кодом на уровне инструкций;
Basic
Один из первых широко используемых языков программирования. Он по-прежнему используется некоторыми микроконтроллерами ( Basic Micro , BasicX , Parallax ) для программирования учебных роботов;
C / C ++
Один из самых популярных языков. Язык Си обеспечивает высокоуровневую функциональность, сохраняя при этом хороший контроль низкого уровня;
Java
Он более современный, чем Си. Он обеспечивает множество функций безопасности в ущерб контролю низкого уровня. Некоторые производители делают микроконтроллеры специально для использования с Java.
C #
Запатентованный язык Microsoft используется для разработки приложений в Visual Studio;
Программирование для контроллеров Arduino
Используется вариант C ++. Программирование роботов на нём включает некоторые упрощения для того, чтобы сделать программирование не таким сложным;
Python
Один из самых популярных языков сценариев. Он очень прост в освоении и поэтому может использоваться для быстрой и эффективной передачи программ.
На уроке 4 вы выбрали микроконтроллер на основе необходимых вам функций (количество операций ввода-вывода, специальные функции и т. д.). Часто микроконтроллер предназначен для программирования на определенном языке.
- Микроконтроллеры Arduino используют программное обеспечение Arduino и перепрограммируются в процессе обработки.
- Базовые микроконтроллеры Stamp используют PBasic.
- Микроконтроллеры Basic Atom используют Basic Micro.
- Javelin Stamp из Parallax запрограммирован на Java.
Если вы выбрали микропроцессор известного или популярного производителя то, скорее всего, существует много литературы по этой теме. Следовательно вы сможете научиться программировать на выбранном языке программирования. В этом случае программирование роботов не вызовет больших трудностей.
Если же вместо этого вы выбрали микроконтроллер у небольшого, малоизвестного производителя (например, потому что у него было много функций, которые, по вашему мнению, были бы полезны для вашего проекта), то важно посмотреть, на каком языке должен быть запрограммирован контроллер и какие средства разработки доступны (обычно от производителя контроллеров).
Программирование роботов — начало.
Первой программой, которую вы, вероятно, будете писать, является «Hello World». По историческим причинам большинство учебников по программированию начинаются с этой фразы.
Это одна из простейших программ, которые могут быть сделаны на компьютере.
Она предназначена для печати строки текста (например, «Hello World») на мониторе компьютера или на ЖК-экране контроллера.
В случае с микроконтроллером другой очень простой программой, которую вы можете сделать — это переключение вывода IO. Присоединение светодиода к выходному контакту. Затем установление контакта I / O в положение ON и OFF приведет к миганию светодиода. При помощи контактов I / O можно запрограммировать много сложных функций. Например, включение многосегментных светодиодов для отображения текста и цифр, управления электромагнитными реле, сервоприводами и т.д.
Шаг 1.
Убедитесь, что у вас есть все компоненты, необходимые для программирования микроконтроллера. Не все микроконтроллеры поставляются со всем необходимым для их программирования. Большинство микроконтроллеров необходимо подключить к компьютеру через USB-штекер.
Если ваш микроконтроллер не оснащен разъемом USB, возможно вам понадобится отдельный USB-адаптер для последовательного интерфейса. Этот адаптер нужно правильно подключить. Многие микроконтроллеры программируются либо через порт RS-232, либо через USB. Часто они включают в себя разъем USB на плате. Разъем USB используется не только для двусторонней связи, но и для питания платы микроконтроллера.
Шаг 2.
Подключите микроконтроллер к компьютеру и проверьте, к какому COM-порту он подключен.
Не все микроконтроллеры смогут быть обнаружены компьютером. Поэтому вы должны прочитать в руководстве «Начало работы. И тогда вы будете точно знать, что нужно сделать, чтобы компьютер распознал его и смог с ним общаться. Вам может быть придется загрузить «драйверы» (специфичные для каждой операционной системы), чтобы ваш компьютер мог понять, как общаться с микроконтроллером и / или USB-конвертером последовательного преобразователя.
Шаг 3.
Прочитайте руководство пользователя продукта. Проверьте работоспособность при помощи приведенных в нем примеров написания кода с нужным протоколом связи.
Не нужно изобретать велосипед. Большинство производителей предоставляют некоторый код (или псевдокод), объясняющий, как заставить контроллер работать. Пример кода может быть на языке программирования, который вы не знаете, но не стоит отчаиваться. Просто выполните поиск в Интернете, чтобы узнать, создали ли другие люди необходимый код.
- Изучите руководства по продуктам и руководство пользователя.
- Посетите форум производителя.
- Проверьте публикации в Интернете для продукта и кода.
- Прочтите руководство, чтобы понять, как написать код.
Полезные советы.
Создавайте управляемые куски функционального кода.
Создавая сегменты кода, специфичные для каждого продукта, вы постепенно создаете библиотеку. Создайте файловую систему на своем компьютере, чтобы легко найти необходимый код.
Документируйте все в коде, используя комментарии.
Документирование всего необходимо практически для всех рабочих мест, особенно для робототехники. По мере того, как вы становитесь все более и более продвинутыми, вы можете добавлять комментарии к общим разделам кода. Но при запуске вы должны добавить комментарий к (почти) каждой строке.
Сохраняйте разные версии кода.
Не всегда перезаписывайте один и тот же файл. Если вы обнаружите, что ваши 200+ строк кода не будут компилироваться, не стоит останавливаться только на этой версии кода. Вместо этого вы можете вернуться к ранее сохраненной (и функциональной) версии и добавить или изменить ее по мере необходимости. Код не занимает много места на жестком диске. Поэтому вы можете спокойно сохранять несколько копий.
При отладке робота поднимите его.
Нужно, чтобы колеса, гусеницы или ноги не касались поверхности. Тогда ваш робот не сможет себе навредить даже случайно. Не закрывайте деталями кнопку отключения питания. Это пригодится для того, чтобы в случае необходимости можно было его отключить.
Если код делает что-то, что кажется неработоспособным.
Через несколько секунд, выключите питание. Скорее всего проблема не исчезнет сама собой и нужна корректировка, а пока вы можете уничтожить часть механики. Сначала подпрограммы могут быть трудны для понимания, но они значительно упрощают ваш код. Если сегмент кода повторяется много раз в коде, он является хорошим кандидатом для замены подпрограммой.
Практический пример
Для нашего проекта был выбран набор Lego Mindstorms EV3. Для него есть специальная графическая среда программирования EV3 Programmer. Её можно бесплатно скачать с официального сайта Лего и сразу приступать к программированию робота.
Программирование происходит при помощи пиктограмм и является доступным для понимания.
Способы управления роботами
Источник: legoteacher.ru
Начало работы с TRIK, Vex и Makeblock
Для работы с TRIK надо скачать TRIK Studio по ссылке.
Подключение робота к компьютеру
Робота можно подключить к компьютеру, ноутбуку или смартфону по инструкции.
Датчики
Как проверить работу датчиков, моторов и сервоприводов с контроллера можно узнать здесь.
Работа в TRIK Studio
Среда TRIK Studio содержит в себе симулятор, на котором можно тренироваться в написании алгоритмов и оттачивать правильность программы. Также эта среда предназначена для непосредственной работы с роботом. Все, что нужно для того, чтобы запустить робота и начать с ним взаимодействовать, можно найти в этой методичке.
VEX EDR Clawbot
Сборка
Инструкцию по сборке можно найти здесь.
Установка ПО
Для работы с этим роботом надо скачать программу ROBOTC для VEX Robotics.
Шаг 9
Откроется черная консоль. В ней ничего писать не надо, подождите окна с кнопкой «Установить».
Далее надо подождать, нажать «Установить» еще раз и нажать «Finish».
Начало работы
Шаг 1
На рабочем столе у вас появятся 4 иконки. Запустите выделенную.
Подключите робота к компьютеру или ноутбуку через кабель. Для робота — USB, для компьютера любой (зависит от имеющихся разъемов). Потом включите робота с помощью переключателя на контроллере. Светодиоды должны мигать зеленым.
Шаг 2
Находим в программе вкладку Robot нажимаем на неё и проходим по следующему пути:
Robot->Platform type->Vex Robotics->Vex 2.0 Cortex
Шаг 3
Загрузите в робота прошивку (1) и создайте новый файл (2).
Шаг 4
Нажмите на кнопку:
1 — Выберите вкладку «Motors»;
2 — Напишите название мотора, для дальнейшего обращения к нему в коде программы;
3 — Нажмите и выберите из открывшегося списка тип вашего мотора;
Номер порта (самая левая колонка) зависит от того, к какому порту на контроллере вы подключили мотор.
Аналогично указываются названия и типы подключенных датчиков во вкладке «Devices».
В конце нажмите «ОК».
Шаг 5
Теперь можем приступить к написанию первой программы. Подробный синтаксис языка можно посмотреть перейдя по ссылке. Также в этой ссылке можно найти пару примеров. Для ознакомления напишем программу для движения робота по прямой со скоростью 50, с ограничением по времени, в нашем случае — пару секунд. Выглядит она следующим образом:
Makeblock Ultimate 2.0
Сборка Makeblock Ultimate 2.0
Для подробного ознакомления с инструкцией по сборке перейдите по ссылке. Потом скачайте rar-файл, в котором лежит инструкция:
В нашем примере используется Robotic Arm Tank:
Установка ПО для программирования блоками (scratch)
Для начала программирования Makeblock нужно знать, какая плата используется. Заходим на официальный сайт и открываем страницу робота. В нашем случае это MegaPi.
Программу на scratch лучше писать в веб-версии приложения потому, что она открывается на всех компьютерах и с ней меньше проблем, чем с приложением для скачивания.
Шаг 1
Выбираем вкладку «Устройства»:
Шаг 2
Нажимаем на кнопку «Добавить», появится большой выбор плат и роботов от Makeblock. Далее выбираем нашего робота:
Шаг 3
Подключаем робота к компьютеру и нажимаем на кнопку «Подключение»:
При необходимости программа предложит скачать драйвер на устройство. Качаем драйвер, затем нажимаем на кнопку «Подключение» ещё раз. Программа автоматически выберет COM-порт, в котором находится ваш робот. Если на выбор предлагается больше 1-го COM-порта, то проверьте порт робота в компьютере через диспетчер устройств. Далее, после выбора порта, нажимаем кнопку «OK».
Шаг 4
Нам на выбор предоставляется два режима: «Загрузить в» и «Жить».
В режиме «Загрузить в» можно загрузить программу в самого робота, и при включении он будет делать то, что вы в него зашили.
А режим «Жить» предназначен для отладки кода в режиме реального времени (по-другому он называется режим «Live»).
Примеры программ
1. Режим «Жить»
Вытащите на экран блоки:
Результат: робот проедет вперед 1 секунду.
В этом режиме роботом можно управлять любыми клавишами клавиатуры.
2. Режим «Загрузить в»
Вытащите на экран блоки и нажмите кнопку загрузить. Подождите, когда программа загрузится в плату, а потом включите переключатель на плате.
Результат: робот проедет назад 1 секунду.
Готово! Теперь Вы можете программировать робота на scratch в среде Makeblock.
Установка ПО для программирования на Python
Подготовка Python
Шаг 1
Устанавливаем Python на компьютер. Сделать это очень просто: переходим на официальный сайт и нажимаем на кнопку «Скачать»:
Не забываем при установке поставить галочку, затем нажимаем «Install Now»:
Шаг 2
Нажимаем Win+R, после чего откроется командная строка, в ней пишем %appdata%, нажимаем «ОК»,
затем надо открыть саму папку AppData и открыть путь к папке Scripts, т.е. путь будет выглядеть следующим образом:
C:. AppDataLocalProgramsPythonPython38-32Scripts
Теперь копируем получившийся путь к папке «Scripts».
Шаг 3
Вызываем командную строку:
Win+R -> пишем cmd и нажимаем «ОК»
После открывается адресная строка, в которой надо написать следующее:
cd C:. AppDataLocalProgramsPythonPython38-32Scripts (т.е. путь к нашей папке «Scripts») -> нажимаем «Enter»
Затем пишем первую команду:
pip install megapi -> нажимаем «Enter»
Пишем вторую команду:
pip install pyserial -> нажимаем «Enter»
Python на компьютере установлен, можем двигаться дальше.
Arduino IDE
Шаг 4
Скачиваем программу Аrduino IDE c официального сайта
Шаг 5
По умолчанию в Arduino IDE стоит плата Arduino Uno, нам необходимо поменять её на Arduino Mega or Mega 2560 как показано ниже:
Шаг 6
Далее перейдя по ссылке качаем файл .zip-формата и выполняем все пункты, указанные ниже:
Шаг 7
Теперь заходим в программу IDLE(Python. ),
создаём новый файл и начинаем программировать робота на языке Python.
Шаг 8
Подробный синтаксис и разбор всевозможных примеров можно найти перейдя по ссылке.
Рассмотрим небольшой пример кода на Python:
Результат: робот едет вперед, потом поворачивается. Повтор бесконечное количество раз.
Источник: robokvantum.ru