Как составить програму для своего робота

Начать заниматься роботами должно быть просто

Уровень сложности
Простой

Время на прочтение
9 мин

Количество просмотров 11K

Введение

Это руководство в первую очередь предназначено для тех, кто хочет начать заниматься программированием и созданием роботов, но не знает куда идти дальше после мигания светодиодами на Arduino.

Руководство в первую очередь применялось в небольших классах для любопытных детей, но вполне успешно может быть опробовано в домашних условиях в силу текущих событий в мире.

Итак, предлагаю собрать несложного, но почти живого робота, который будет приятно жужжать, сам решать свои движения и, надеюсь, принесёт тележку удовольствия тем, кто его будет собирать.

Интересно? Тогда начнём.

Возраст

Изначальная предполагаемая целевая аудитория — дети примерно 7-10 лет, но уверен, что это может быть интересно и детям в возрасте до 99 лет и старше.

От себя лично могу добавить, что при определённой помощи данный процесс удалось успешно донести и повторить в классе из десяти детей в возрасте примерно 5-6 лет, пусть и с некоторыми упрощениями и абстракциями. Детям понравилось и это главное.

По ходу статьи я добавлю замечания на случай того, если кто-то будет это собирать с ребёнком. На случай у кого будет желание попробовать это с группой детей, то советую попробовать с одним студентом для начала.

Полностью с нуля со всеми деталями можно собрать это примерно за 2-3 часа. Или чуть дольше если торопиться и что-то пойдёт не так.

Идея

Для первого материала был выбран простой вариант двухколёсного робота, который должен передвигаться по линии. Сенсорами будут два инфракрасных датчика, которые будут отслеживать траекторию.

Все детали должны быть доступны для покупки онлайн с возможностью подобрать альтернативные варианты.

Пайка нужна только один раз для припаивания проводов к моторам (два мотора по два провода на каждый = четыре точки для пайки).

Для простоты повторения и дальнейших экспериментов была выбрана платформа Arduino. Она хорошо подходит для простых прототипов и общего понимания.

Так же новичкам будет легче повторить и добавить что-то своё, благо порог вхождения достаточно низок.

Теория

Для общего понимания попробуем сравнить робота с чем-то более знакомым.
Наш робот очень похож на человеческий организм. По этой причине мы можем сравнить все его компоненты с разными органами человека.

Например, у человека есть органы осязания, которые получают информацию об окружающем мире вокруг.

Информация от глаз поступает в мозг, где происходит обработка.

Мозг получает эти сигналы, решает что надо делать и отдаёт команды ногам, которые ведут нас к чему-то интересному.

Устройство робота можно свести к трём основным узлам:

Сенсоры (Sense) — это сенсоры, которыми робот «видит» окружающий мир. В нашем случае — это глаза робота, которые смотрят на дорогу.

Мозг (Plan) — это та часть робота, которая получает информацию от сенсоров, обрабатывает и передаёт команды на исполняемые части.

Исполнители (Act) — эти части робота непосредственно выполняют действия по командам, которые были получены от мозга.

Sense-Plan-Act

Sense-Plan-Act является уже устаревшей формулировкой, но в данном упрощённом варианте она вполне неплохо объясняет эти простые принципы.

Если это перевести на нашего робота, то получится такое:

Глаза робота — это сенсоры, которые «видят» происходящее перед роботом. В нашем случае глаза смотрят на дорогу.

Мозг робота — это маленький компьютер, которые получает информацию от глаз, решает как на неё реагировать и отдаёт команды мышцам.

Мышцы робота — это драйвер моторов, который получает и усиляет сигнал от мозга и крутит колёса в нужном направлении.

Ноги робота — это как раз наши колёса, которые везут робота навстречу новым приключениям.

Так как сигналы мозга слабы для подачи команды нашим ногам, у нас есть мышцы, которые принимают сигналы от мозга, усиляют их, а потом передают движение ногам.
В нашем случае «Исполнители» — это мышцы+ноги.

Упрощённо полный путь сигнала можно представить в виде: глаза -> мозг -> мышцы -> ноги.

Соединительные провода — это нервная система робота, по которой приходят сигналы к мозгу и отправляются команды другим органам. Про нервную систему детям я обычно рассказываю на моменте сборки.

Реализация

Теперь попробуем нашу теорию претворить в жизнь.

Как с любой сложной задачей надо правильно разбить её на несколько простых маленьких задачек.

Весь проект для упрощения разделим на две части: программная и железная.

При повторении проще начать с программной части. В этом случае «мозг» уже будет заранее готов для конечной сборки.

Программная часть

Алгоритм

Алгоритм до безобразия прост.

У робота впереди стоят два сенсора, которые «смотрят» на дорогу. Сенсоры могут различать светлое и тёмное по тому как отражается свет от поверхности.
Дорога выполнена в виде тёмной полосы, по которой робот едет.
Если оба сенсора видят светлое — значит, мы идём по дороге, так как наша тёмная дорога проходит ровно между сенсорами.
Когда один сенсор видит тёмное, то дорога ушла вбок и мы делаем поворот — колесо со стороны этого сенсора замедляется.
В случае когда оба сенсора видят тёмное, то это сигнал остановки.

Схематично этот процесс изображён на данном рисунке:

Черный цвет — это дорога. Зелёный цвет — наши сенсоры-глаза.
На схеме слева дорога идёт прямо и оба сенсора видят светлое отражение.
А уже на схеме справа дорога заворачивает и левый сенсор замечает тёмное отражение для подачи роботу сигнал о начале нужного манёвра, чтобы остаться на дороге.

В коде я сделал небольшой трюк с поворотом: колесо не просто замедляется, а чуть-чуть крутится назад. В этом случае робот может делать более резкие повороты.

Сам код можно посмотреть на GitHub.

Закачивание программы в «мозг»

Когда я вёл класс с 5-6-летками, то на все «мозги» предварительно была загружена нужная программа во избежании траты времени на прошивку во время класса.

Сам процесс закачивания программы в микроконтроллер не отличается от других Arduino-совместимых плат: установить плагин для ESP8266 (если ещё не установлен), подключить ESP8266 модуль по USB, открыть или скопировать скетч (файл .ino) и нажать «Upload».

Тут есть более подробная инструкция установки поддержки ESP8266 в Arduino для тех, кто с этим пока не знаком.

Железная часть

Как основа для шасси, использована двухколёсная платформа. Она легко доступна, у неё простая конструкция и с ней легко работать.

«Центром управления» был выбран популярный микроконтроллер Espressif ESP8266, реализованный в виде модуля NodeMCU.

Так же для этой платы есть удобный модуль для драйверов двигателя на L293DD. Как раз достаточно для раскачивания двух небольших моторов. Только благодаря наличию этого модуля для моторов количество соединительных проводов заметно снижается.

Схема соединений

Примерная схема соединений получается такой:

Список основных компонентов

  1. ESP8266 NodeMCU v2
  2. Motor Shield для NodeMCU v2
  3. Пара инфра-красных сенсоров
  4. Двухколёсное шасси с моторами и колёсами
  5. Соединительные провода (Dupont wires) для сенсоров
  6. Дополнительные винты/гайки/крепления для установки сенсоров и контроллера на шасси
  7. Чёрная изолента для дороги (если поверхность достаточно светлая, то можно и синюю)

Общая стоимость всех деталей обычно не превышает $20.

Немного подробнее о компонентах:

  1. ESP8266 NodeMCU v2:

    Существует несколько вариантов ESP8266 NodeMCU модулей. Они не все совместимы друг с другом как электрически, так и механически.

    В данном проекте используется ESP8266 NodeMCU «v2». Самый простой признак — этот модуль использует CP2102 для USB интерфейса. Вариант NodeMCU на базе CH340G обычно шире физически и поэтому не подойдёт для драйвера моторов.

  2. Motor Shield для NodeMCU v2:

    Прелесть этого модуля тем, что NodeMCU плата вставляется в него и поэтому количество проводов в проекте сильно уменьшается.

    Существует только один вариант этого модуля на базе L293DD. Этой микросхемы достаточно как раз чтобы раскачать двигатели на нашем шасси.

  3. Инфракрасные сенсоры:

    Данные модули представляют из себя светодиод (излучатель) и фотодиод (приёмник). По отражению робот может определить что он видит перед собой — тёмную полосу или светлый пол.

    Я советую брать модули с подстройкой для удобного регулирования чувствительности и уменьшения ложных срабатываний при определении светлого и тёмного.

    Советую заказать больше двух — стоят они не так уж и много, но зато у них есть высокий риск сломаться при неосторожном обращении.

  4. Для шасси был выбран один из самых популярных и доступных вариантов на интернет просторах.

    В этом комплекте уже есть моторы со встроенными редукторами, колёса, держатель для трёх AA элементов и минимальный набор винтов и гаек для сборки.

    Как альтернативный вариант для питания, можно заменить держатель 3 * AA на держатель для одного литий-йоного элемента в формате 18650.

  5. Dupont провода.
    Провода надо с разъёмами мама-мама (female-female). Оптимальная длина примерно 20 см.
    Желательно чтобы провода были разных цветов во избежании путаницы при подключении.
  6. Дорога

    Это обычная тканевая клейкая лента. Клеится еле-еле, но это как раз хорошо, так как она не оставляет следа и легко изменять дорогу если нужны корректировки.

Сборка

В классе с 5-6-летками пункты 1-5 были выполнены предварительно для упрощения конечной сборки. В этом случае детям надо было только разобраться с подключением проводов для соединения ключевых органов робота друг с другом.

То есть, они как раз собирают эту соединительную сигнальную нервную систему сами. Тут по ходу можно ещё раз показать где тут глаза, мозг, мышцы, ноги и как они все взаимодействуют друг с другом.

  1. Небольшая подготовительная операция.

    a) Часто провода идут не припаянными к моторам. В этом случае надо их припаять. Это единственный момент где нужна пайка. Если нет вариантов, то можно кого-то заранее попросить припаять или попробовать самому прикрутить провода, но в случае прикручивания сложно сделать хороший контакт. Надо иметь это в виду.

    b) Модули драйвера двигателей могут идти с джампером на гребёнке с питанием (VIN-VM-NC) или без оного. В последнее время джампер не ставят, но сама гребёнка есть.
    Если есть джампер в закромах, то надо его поставить в позицию VIN-VM. У меня не было такого количества джамперов для всего класса и я просто припаял перемычку снизу платы.
    Конфигурация VIN-VM позволяет использовать один и тот же источник питания для моторов и для «мозгов».

  2. Начнём со сборки самой платформы.

    Перед установкой компонентов я советую установить шестигранные крепления для модуля драйвера двигателей и инфракрасных сенсоров.

    Теперь установим держатели для моторов и сами моторы. Колёса лучше ставить в самом конце.
    Потом надо установить держатель для AA элементов. Провода пока соединять не надо. Выключатель я не устанавливал, так как на модуле драйвера двигателя уже есть выключатель.
    Часто в комплекте есть энкодеры (круглые диски с поперечными отверстиями по кругу), но в данном проекте они не используются, поэтому устанавливать не обязательно.

  3. Вставляем «мозг» робота на «мышцы», то есть ставим модуль микроконтроллера на модуль драйвера двигателей.

    Важно соблюдать правильное направление, иначе будет «взрыв мозга» в виде белого дыма, на котором работает вся электроника в мире. Антенна на модуле микроконтроллера должна совпадать с нарисованной антенной на модуле драйвера.

  4. Привинчиваем бутерброд с «мозгами» и «мышцами» на шасси.

  5. Устанавливаем два инфракрасных сенсора так, чтобы передатчик-приёмник «смотрели» вниз.

    Можно либо установить сами модули вертикально (но я не придумал как это сделать легко), либо подогнуть передатчик-приёмник на 90 градусов. Подгинать надо не спеша, чтобы не отломать их случайно. Если есть время, то может быть проще просто перепаять как надо без риска отломать.

  6. Соединяем провода.

    На модуле драйвера есть восемь синих клемм. Достаточно ослабить их отвёрткой, чтобы внутрь пролез провод и потом закрутить винт для нормального контакта.
    Подключим питание на VIN и GND (VIN-красный, GND-чёрный). Важно соблюдать полярность и не перепутать «плюс» и «минус».

    Подсоединим оба мотора на A-/A+ для левого и b+/B+ для правого. Тут тоже надо соблюдать полярность, но при ошибке мотор будет крутиться в другую сторону и в этом случае достаточно провода поменять местами в клеммах.

    Теперь соединим «глаза». Тут я использую «Dupont wire» для удобства. Пожалуй, для детей (да и для некоторых взрослых) это самый сложный шаг. У каждого модуля сенсора есть три контакта — «плюс» (VCC), «минус» (GND) и «сигнал» (OUT). Сложность в том, что на модуле драйвера эти сигналы стоят в другом порядке и важно проверить правильное соединение.
    Левый «глаз» робота идёт на группу «5», а правый «глаз» идёт на группу «6» (группы заданы в программе робота).

Первый пуск

Ставим наше творение на относительно светлый пол (главное, не на стол или куда-то ещё откуда он может упасть) и включаем кнопкой на модуле драйвера. Кнопка находится ближе к синим клеммам и рядом с VIN-VM-NC джампером.

На пустом относительно светлом полу робот должен ехать вперёд. Он может немного заворачивать вбок из-за асимметричности моторов или сборки, но это не так важно.

Если робот крутится на месте как кот, играющийся со своим хвостом, то это означает то, что один из моторов с перевёрнутой полярностью. Провода этого мотора надо поменять местами на синих клеммах.

На случай если робот едет назад, то полярность надо поменять на двух моторах.

Бывает что один из моторов не крутится вообще, обычно достаточно проверить соединение, так как бывает что провод слишком глубоко закручен в синюю клемму и прижим приходится на изоляцию от провода, а не на сам провод.

Проверка «зрения»

Для проверки сенсоров достаточно приклеить полоску чёрной изоленты перпендикулярно движению так, чтобы оба сенсора на неё попали. Если робот остановился на полоске, то сенсоры работают и настроены правильно.

Бывает, что при слишком тонкой полоске робот может проскочить её из-за своей инерционности. В этом случае достаточно сделать полоску пошире.

Дорога

Теперь строим дорогу, экспериментируем с углами и поворотами, отмечаем остановки.
На мой взгляд, интереснее закольцевать дорогу так, чтобы робот не останавливался.

Итог

Он видит. Он едет. Сам.

Это результат одного из проведённых классов по сборке с пятилетними студентами:

А тут самое интересное — запуск и проверка:

Небольшие потери

Конечно, не обошлось и без небольших потерь когда кто-то случайно наступил на соседнего робота во время восторга:

Первые шаги

На предыдущих уроках мы установили среду Кумир, настроили ее для дальнейшей работы и научились задавать стартовую обстановку Робота. Теперь перейдем непосредственно к составлению алгоритмов для Робота с использованием простых команд.

Если вам больше нравится информация в формате видеоуроков, то на сайте есть видеоурок Робот. Простые команды.

У любого исполнителя должна быть система команд (СКИсистема команд исполнителя). Система команд исполнителя — совокупность всех команд, которые может выполнить исполнитель. В качестве примера рассмотрим дрессированную собаку. Она умеет выполнять некоторые команды — «Сидеть», «Лежать», «Рядом» и т. п. Это и есть ее система команд.

Простые команды Робота

У нашего Робота тоже есть система команд. Сегодня мы рассмотрим простые команды Робота. Всего их 5:

  • вверх
  • вниз
  • влево
  • вправо
  • закрасить

Результат выполнения этих команд понятен из их названия:

  1. вверх — переместить Робота на одну клетку вверх
  2. вниз — переместить Робота на одну клетку вниз
  3. влево — переместить Робота на одну клетку влево
  4. вправо — переместить Робота на одну клетку вправо
  5. закрасить — закрасить текущую клетку (клетку в которой находится Робот).

Эти команды можно писать с клавиатуры, а можно использовать горячие клавиши (нажав их команды будут вставляться автоматически):

  • вверх — Escape, Up (стрелка вверх)
  • вниз — Escape, Down (стрелка вниз)
  • влево — Escape, Left (стрелка влево)
  • вправо — Escape, Right (стрелка вправо)
  • закрасить — Escape, Space (пробел)

Обратите внимание, что набирать нужную комбинацию горячих клавиш нужно не привычным нам способом! Мы привыкли нажимать клавиши одновременно, а здесь их нужно нажимать последовательно. К примеру, чтобы ввести команду вверх, нужно нажать Escape, отпустить ее и после этого нажать стрелку вверх. Это нужно помнить.

Теперь мы готовы написать первый алгоритм для Робота. Предлагаю начать с простого — нарисуем квадрат со стороной 3 клетки. Поехали!

Запускаем Кумир, настраиваем его. Можно начинать писать программу? Конечно нет! Мы же не задали стартовую обстановку! Делаем это. Предлагаю использовать вот такую:

Стартовая обстановка Робота

Стартовая обстановка Робота

Вот теперь все готово. Начинаем писать программу. Пока она выглядит так

Первая программа для Робота

Первая программа для Робота

Удаляем символ «|» и называем наш алгоритм «Квадрат»

Алгоритм квадрат

Алгоритм квадрат

Предлагаю рисовать квадрат, двигаясь по часовой стрелке. Для начала закрасим текущую клетку, дав команду закрасить. Потом делаем шаг вправо и опять закрашиваем клетку. И еще раз шаг вправо и закрасить.

Первые шаги

Первые шаги

Попробуем запустить программу и посмотреть что же получилось. Для запуска нажимаем F9 или же кнопку на панели инструментов

выполнить программу

выполнить программу

В результате мы должны увидеть вот такую картину

Первый результат

Первый результат

Если такое окно Робота у вас не появилось, то на панели инструментов щелкните «Показать окно Робота» или в меню Робот выберите пункт «Показать окно Робота«. Продолжаем дальше.

Теперь мы будем двигаться вниз и закрашивать правую сторону квадрата:

вниз

закрасить

вниз

закрасить

Потом пойдем влево, закрашивая нижнюю границу квадрата

влево

закрасить

влево

закрасить

У нас осталась одна незакрашенная  клетка. Закрасим ее

вверх

закрасить

Все готово! В итоге наша программа выглядит так:

использовать Робот

алг Квадрат

нач

закрасить

вправо

закрасить

вправо

закрасить

вниз

закрасить

вниз

закрасить

влево

закрасить

влево

закрасить

вверх

закрасить

кон

А результат ее работы вот так

Результат работы программы

Результат работы программы

Итак, сегодня мы с вами написали программу, используя простые команды Робота. Рекомендую попрактиковаться самостоятельно — придумать себе задание и написать программу. Это могут быть самые различные фигуры, узоры, буквы. К примеру, попробуйте написать программу, рисующую букву П, Р, Ш, Щ, М. А если получится и захотите поделиться — комментируйте и прикрепляйте результат к комментарию.

Автор:



О чем речь?
Программирование роботов сильно отличается от написания программ другого вида. В данном случае программист пишет не только код, но и взаимодействует с окружением машины, а также с ее механикой и электроникой.



Какие языки используются?
Для роботов применяют несколько языков программирования разного уровня. Это может быть C++, Java, Python и ряд других. Также используют разные среды программирования и подходы.

В статье рассказывается:

  1. Суть программирования роботов
  2. Методы программирования роботов
  3. Популярные языки программирования роботов
  4. Программное обеспечение роботов
  5. Среда разработки для программирования роботов
  6. Нюансы программирования промышленных роботов
  7. Пройди тест и узнай, какая сфера тебе подходит:
    айти, дизайн или маркетинг.

    Бесплатно от Geekbrains

Суть программирования роботов

Область, объединяющая науку, технику и технологии – это робототехника. В ней проводятся исследования с целью создания машин, которые смогут повторять действия человека и даже во многом его заменить.

Суть программирования роботов

Суть программирования роботов

В робототехнику входят проектирование, создание и программирование «умных» механизмов, то есть роботов. Они применяются в аэрокосмической промышленности, здравоохранении, электронной коммерции, освоении космоса, транспорте и других отраслях.

Название «робот» пришло из чешского языка, где оно имеет форму robota. Этот термин использовал писатель Карел Чапек, когда в 1920 году в пьесе «RUR» («Универсальные роботы Россума») назвал так придуманные им искусственно созданные на фабрике человекоподобные машины, похожие на живых людей. В наше время приблизительно так же мы представляем себе андроидов или гуманоидов.

Новая эра промышленности началась в 1959 году. В США был создан первый в мире промышленный робот Unimate.

В наши дни робототехника стала одним из направлений, которые развиваются очень быстрыми темпами. Сойдя со страниц чешского фантаста, в реальной жизни эти разработки делятся на различные области.

Скачать
файл

Вот пять основных областей робототехники:

  1. Интерфейс оператора. Это область взаимодействия робота и контроллера (человека, управляющего его действиями). Человек и машина могут быть связаны с помощью сенсорной панели, джойстика и т.д.
  2. Подвижность или передвижение. Задаёт способ перемещения машины в пространстве, который зависит от типа робота. Для передвижения могут использоваться колёса, плавники, пропеллеры (например, у дронов). Если речь идёт о гуманоидном объекте, он передвигается на двух конечностях, подобно человеку.
  3. Манипуляторы. Этот термин относится к той части робота, которая приспособлена для выполнения определённых действий. Это такие компоненты машины, как захваты, толкатели, когти, механические руки и пальцы. Например, если задачей промышленного робота является перемещение предметов, его оснащают двухпальцевым захватом.

    Роботизация в промышленности и бизнес-процессах

    Читайте также

  4. Ощущения и восприятие. Данная область робототехники отвечает за то, как машина ориентируется в пространстве, опознаёт объекты и реагирует на окружающее. С помощью этого поля робот получает информацию о направлении движения, препятствиях, расположении нужных объектов. Например, встречая преграду на пути, он ищет, как её обойти. Чтобы машина принимала верные решения, программист должен ввести в неё такие компоненты.
  5. Программирование. Включает в себя команды, с помощью которых робот действует в той или иной ситуации. Нужно спроектировать и создать компьютерную программу, которая будет исполняемой и позволит выполнять задачи, для которых предназначена машина.

Выбор способа программирования промышленных роботов зависит от их марки. Многие считают, что используется C++ или Visual Basic. На самом деле зачастую используются такие языки, как ассемблер.

Программирование

Программирование

В наши дни имеется большое число языков программирования для машин – более тысячи. Нужно разобраться подробнее в этой теме, чтобы выяснить, как работает эта отрасль робототехники.

Методы программирования роботов

Существует несколько вариантов того, как происходит программирование роботов.

Конвейерный подход

Этот сценарий подразумевает следующие этапы, из которых складывается процесс:

  • Отслеживание информации со встроенных датчиков робота. Все полученные данные превратятся во вводные, которые будет получать машина для выполнения своих задач.
  • Анализ состояния. Используя вводные данные, которые были получены на предыдущем этапе, составляется описание основных характеристик системы. Оцениваются скорость передвижения робота, его ориентация и так далее.
  • Построение моделей и прогнозирование. Этот этап представляет собой динамическую работу, при которой периодически оказывается помощь в оценке состояния робота и его модели.
  • Планирование. На данном этапе определяют набор действий, который необходим для того, чтобы поставленная задача была решена.
  • Управление. Команды преобразуются, и появляется возможность модифицировать программу, управляющую поведением робота.

Биологический подход

Всё чаще и чаще робототехника использует такие технологии, как искусственный интеллект и нейронные сети. Их задача на сегодняшнем этапе – имитация биологической нейронной мозговой деятельности человека. Важное достижение данных технологий – возможность схватывания, воплощённая в 2016 году. Теперь можно обучать роботов приблизительно как обучают командам домашних животных.

Биологический подход

Биологический подход

Биологический и конвейерный подходы во многом противоположны друг другу. Но достойные результаты первого говорят сами за себя.

Смешанные подходы

Здесь происходит совмещение технологий. При этом используется положительный опыт биологического и конвейерного подходов. В итоге роботы, которые запрограммированы этим способом, показывают более высокие результаты по сравнению с классическими.

Популярные языки программирования роботов

Те несколько сотен языков программирования, которые существуют сегодня, делятся на две группы в зависимости от их низкого или высокого уровня.

В начале 50-х годов на смену машинному коду пришли языки низкого уровня. С их помощью программировать стало легче. Они применяются до сих пор и особенно полезны в случае, если действия робота нужно строго контролировать. У этих языков имеется важный недостаток: одинаковые действия машин различной конструкции требуют написания отдельных программ. То есть, для захвата робота-экскаватора нужна одна программа, а для роботоруки – другая.

Эта проблема отсутствует при работе с языками высокого уровня. Они более развиты и удобны в использовании. При этом не имеют значения нюансы конструкции: любой робот выполнит одну и ту же команду. Но на таких языках можно написать программу только для устройства с большим объёмом памяти, так как она займёт много места.

Если управление передаётся через транслятор, программирование робота придётся выполнять на языке низкого уровня. Если же микроконтроллер имеет плату типа Arduino, можно использовать высокоуровневые языки, работать с которыми легче. При программировании робота, имеющего несколько типов управления, зачастую применяют разные языки для различных задач. Такую машину можно считать полиглотом.

pdf иконка

Топ-30 самых востребованных и высокооплачиваемых профессий 2023

Поможет разобраться в актуальной ситуации на рынке труда

doc иконка

Подборка 50+ ресурсов об IT-сфере

Только лучшие телеграм-каналы, каналы Youtube, подкасты, форумы и многое другое для того, чтобы узнавать новое про IT

pdf иконка

ТОП 50+ сервисов и приложений от Geekbrains

Безопасные и надежные программы для работы в наши дни

Уже скачали 20958 pdf иконка

Ниже представлена подборка наиболее популярных языков, которые используют робототехники.

Для подробного изучения языков программирования нужно прочесть много литературы. Здесь лишь указаны основные особенности каждого, чтобы дать общее представление и объяснить, почему он оказался в списке лидеров.

Для каждого языка приведён пример одной и той же программы, написанной на нём. С этой программы обычно начинают базовое обучение. Её результат – появление надписи Hello, world на мониторе или экране контроллера.

Популярные языки программирования роботов

Популярные языки программирования роботов

Assembly («Ассемблер»)

Это язык из группы низкоуровневых. Он очень близок к машинному коду. Со времени появления таких микроконтроллеров, как Arduino, данный язык используется реже, так как теперь роботы могут управляться на другом уровне. Микроконтроллеры поддерживают управление на C/C++ и других языках. Но «Ассемблер» по-прежнему необходим. Его применяют в случаях, когда нужен полный контроль над действиями робота. Некоторые условия задать машине можно лишь на этом языке.

global _main

extern _printf

section .text

_main:

push message

call _printf

add esp,4

ret

message:

db ‘Hello, World’, 10,0

Java

Смысл заключается в том, что виртуальная машина Java позволяет применить один и тот же код на различных роботах. Но такая идея срабатывает не всегда и иногда замедляет исполнение программы, доносящей код до механизма. Виртуальной машине необходимо сперва создать «образ» работы конкретной программы на данном роботе. Это требует довольно много времени.

Но универсальность этого языка сделала его широко распространённым в робототехнике. Существуют специальные микроконтроллеры, которые производятся для программирования на языке Java.

Программирование роботов, имеющих отношение к веб-технологиям, происходит именно на этом языке. Примеры: машина, снимающая видео с трансляцией в интернет, также можно указать систему «умный дом», где используется схожий по принципу JavaScript.

Одним из создателей и пропагандистов языка является Саймон Риттер. Он также разработал Robotics Software Development Kit и демонстрирует новые роботизированные системы. Этот человек считается наиболее авторитетным специалистом по Java-технологиям.

class HelloWorldApp {

public static void main(String[] args) {

System.out.printIn(«Hello World!»); //Prints the string to the console.

}

}

MATLAB

Язык высокого уровня, получивший популярность у инженеров в области робототехники. Кроме MATLAB с его средой, существуют близкие к нему языки, имеющие интерпретаторы с открытым исходным кодом, такие как Octave.

Этот язык позволяет писать программы, которые обрабатывают информацию в большом объёме и дают точные результаты. Поэтому MATLAB подходит, в частности, для того, чтобы разрабатывать компьютерное зрение.

classdef hello

methods

function greet(this)

disp(‘Hello, World’)

end

end

end

Python

Ценится этот язык из группы высокоуровневых за простоту использования. Также он позволяет экономить время при таких операциях, как определение и приведение типов переменных.

Python

Python

Имеется множество готовых кодов выполнения программы (скриптов), которые уже написаны. Есть возможность использовать их для реализации ряда базовых функций. Кроме этого, язык можно привязать к скриптам, которые написаны на C/C++, а значит, на этих языках можно реализовать те части кода, которые нуждаются в высокой производительности. Всё это делает Python универсальным языком почти во всех областях.

Что такое чат-бот: виды, способы создания

Читайте также

В последнее время язык становится всё популярнее. Например, часто применяют Python для работы на Raspberry Pi – микрокомпьютере, идеально подходящем, чтобы экспериментировать и разрабатывать IoT-устройства. Способствуют выбору языка библиотеки, содержащие готовые решения для основных программ. Несложный и понятный синтаксис позволяет создавать программы для программирования роботов на Python детям и начинающим.

print(«Hello World»)

C/C++

В «Си» объединяются лучшие качества языков высокого и низкого уровней: удобство первых и контроль вторых. По сравнению со многими другими, этот язык легче переводится в машинный код. Но C/C++ имеет непростой синтаксис и не допускает ни малейшей ошибки. Работа действующей программы может быть нарушена всего из-за одной неправильно написанной строки. Компонование программ в универсальном языке робототехники GRL (сокращение от Generic Robot Language) происходит на таких языках, как С.

Этот высокоуровневый язык труден на стадии освоения, но изучив его, можно ставить почти любые задачи.

C/C++

C/C++

Вот области, где используется C++:

  • разработка программного обеспечения;
  • создание разнообразных программ, операционных систем, драйверов различных устройств;
  • реализация приложений (в играх, на серверах с высокой производительностью, встраиваемых системах).

Язык С:

#include <stdio.h>

int main(void)

{

printf(«hello, worldn»)

}

Язык С++

#include <iostream>

int main()

{

std::cout<<«Hello, world!

n»;

return 0;

}

Каждый из языков программирования подходит для определённых действий. Они обладают различным синтаксисом и работают, учитывая разные условия.

Только до 29.05

Скачай подборку тестов, чтобы определить свои самые конкурентные скиллы

Список документов:

Тест на определение компетенций

Чек-лист «Как избежать обмана при трудоустройстве»

Инструкция по выходу из выгорания

Чтобы получить файл, укажите e-mail:

Подтвердите, что вы не робот,
указав номер телефона:


Уже скачали 7503

Чтобы объяснить это на наглядном примере, используем такую ситуацию. Нам нужно подняться с постели и выйти из спальни. Если бы мы были роботами и эту задачу надо было бы представить в виде программы, она была бы написана следующим образом.

На языке Python порядок действий выглядел бы так:

  • открыть глаза
  • встать с кровати
  • выйти

На C++ программа выглядела бы иначе:

  • (Создать объект «спальня»)
  • (Создать объект «кровать»)
  • (Создать объект «Я»)
  • Открыть глаза

…и т. д.

Программное обеспечение роботов

ПО может использоваться для разных целей, исходя из этого существует его классификация, в которой выделяют:

  • Средства технического обслуживания. Нужны для поддержания роботов в максимально рабочем состоянии, используя инструменты технического обслуживания, калибровки и ликвидации неисправностей.
  • Средства представления и отслеживания работы автоматизированных промышленных роботов. Показывают их состояние и уровень эффективности.
  • Средства создания моделей и имитации действий технических комплексов. Подобные механизмы и средства автономного программирования нужны для разработки и настройки решений роботизации до того, как они будут внедрены в производство.
  • Средства создания дополнительного ПО. С их помощью ведётся разработка и настройка индивидуальных приложений для управления роботами.
  • Средства программного управления контроллерами. Применяются при программировании роботов напрямую через логические контроллеры, при этом используются существующие периферийные ресурсы.
  • Средства прикладного программного обеспечения. Подразумеваются интерфейсы к внешним компонентам или устройствам, используемые, чтобы запускать конкретные действия робота.

По другому принципу можно выделить две категории программного обеспечения:

  • Контролирующее и управляющее. Сюда включают графические интерфейсы для работы с телеуправляемыми системами, программное обеспечение, предназначенное, чтобы взаимодействовать с автономно действующими роботами по схеме point-n-click и ПО для создания схем применения промышленных роботов;
  • ПО для задач. К нему относятся простые интерфейсы, имеющие возможность перетаскивания и настройки маршрутов перемещения, а также программы, предназначенные специально для того, чтобы разворачивать конкретные приложения.

При разработке программного обеспечения для промышленных роботов необходимо помнить о требованиях безопасности и соблюдать их.

Среда разработки для программирования роботов

Чтобы управлять роботами, используют различные среды программирования. Они делятся на две основные группы: визуальные и текстовые. Кроме этого, имеется различие по универсальности. Есть среды программирования, специализированные на управление определённым роботом, и такие, которые подходят для разных роботов, производимых различными компаниями.

  • NXT-G. Эта графическая среда была создана для известного робототехнического комплекта Lego Mindstorms NXT. С её помощью программируется модуль NXT Brick. Интерфейс данного софта интуитивно понятен, программы управления роботами создаются подобно блок-схемам. Блоки размещаются на LEGO-балках вдоль оси последовательности действий. Программа выполняется в том порядке, в котором следуют блоки.

Среда разработки для программирования роботов

Среда разработки для программирования роботов
  • TrikStudio. Данная программа предназначена для программирования учебных роботов фирмы Trik. В неё включен симулятор, с помощью которого можно осуществлять тестирование программ, не применяя реальный робототехнический набор.
  • Microsoft Robotics Developer Studio (MRDS). Эта платформа содержит язык визуального программирования Visual Programming Language (VPL), также имеется имитационная визуальная 3D-среда. Описание алгоритмов действий роботов с помощью языка VPL больше подходит начинающим программистам. Также этот язык предлагается для изучения обучающимися. Профессиональные программисты могут использовать C#. Чтобы создать программу на платформе VPL , нужно выбрать подходящие компоненты для данной задачи и установить между ними связь.
  • RobotC – один из лучших языков программирования для того, чтобы изучать роботов, а также готовиться к соревнованиям. Основан на языке С. Среда разработки проста в использовании, но это платное ПО.
  • BricxCC – один из наиболее распространённых инструментов, который поддерживает язык программирования NXC. Программа находится в свободном доступе, имеет разнообразные инструменты, позволяющие работать с блоками Lego Mindstorms, и подходит для фактической замены стандартного программного обеспечения Lego, за исключением драйверов. С устройством можно работать на различных уровнях благодаря встроенным библиотекам языка. Предлагаются и низкоуровневые для того, чтобы обращаться к входам и выходам устройства и физическим языкам памяти, и высокоуровневые (например, для управления моторами или работы с данными, полученными с датчиков).
  • Arduino – ещё одна среда программирования роботов. Интерфейс состоит из следующих элементов: текстового редактора, области для вывода сообщений, текстовой консоли, панели инструментов, имеющей стандартные кнопки, главное меню. С помощью этого софта компьютер может взаимодействовать с Ардуино, чтобы передавать данные или осуществить прошивку кода в контроллер.

Нюансы программирования промышленных роботов

Разработкой собственных языков программирования и средств вспомогательного ПО занимается почти каждая фирма-производитель в области робототехники. Те из них, которые внедряют робототехнику в производственные процессы, в первую очередь заинтересованы в разработке вспомогательного программного обеспечения, которое будет приспособлено к имеющимся условиям.

Также работа идёт в направлении создания новых и совершенствования старых технологий и внедрения измерительных систем, которые помогут повысить качество выпускаемой продукции.

Нюансы программирования промышленных роботов

Нюансы программирования промышленных роботов

Промышленные роботы, как правило, оснащены комплексной программной оболочкой, в которую можно добавить различные дополнительные модули расширений, исходя из решаемой задачи. Например, можно подключить модули взаимодействия с внешними наблюдательными устройствами (видеонаблюдение, система замера прилагаемой нагрузки, вращающего момента), и это позволит робототехническому механизму реагировать нужным образом при изменении внешних условий.

Зачастую существует взаимосвязь контроллера робота и программируемого логического контроллера (ПЛК). С его помощью робот взаимодействует с периферийным оборудованием.

Имеются две разновидности программирования промышленных роботов: оnline-программирование и оffline-программирование. Обычно используются одновременно оба вида. Есть различия, которые касаются методов программирования, возможностей самих языков и особенностей роботов.

Online-программирование

Осуществляется на месте установки робота и с помощью самого механизма. В этом способе выделяются два метода: Teach-In и Playback.

Первый метод (Teach-In, сокращенно Teachen) заключается в таком программировании движений робота, когда оно управляется консолью (джойстик или кнопки). При этом в самом роботе в первую ось закладывается система координат, которая связана кинематической цепью с наиболее удалённой точкой машины (то есть, у шестиосевого робота это 6-я ось). В итоге, всегда ясны расположение в пространстве и ориентация всех осей механизма и его предполагаемого инструмента.

Контроллер робота запоминает достигнутое местоположение, и оно повторяется до тех пор, пока все требуемые операции не будут выполнены. Комплекс этих пунктов (местоположений) задаёт траекторию движения механизма. У каждого пункта имеются собственные изменяемые параметры, скорость движения и углового вращения, точность, конфигурация осей.

Второй метод – Playback. Сначала робот вручную проводится по нужному пути движения, а затем он в точности повторяет заданную траекторию. Таким методом часто программируются роботы, предназначенные для покраски или покрытия лаком.

Недостатком оnline-программирования является невозможность в это время вести производственный процесс. Кроме того, нельзя обеспечить высокую точность, а также затруднено внесение изменений в программу.

Online-программирование

Online-программирование

Offline-программирование

В этом случае программирование осуществляется без участия робота, на компьютере. При этом не нужно останавливать производственный процесс.

Программирование в текстовой форме описывает течение программы на одном из языков. То есть пишется логика программы: траектории и их последовательность, считывание данных периферийных устройств, взаимодействие с обслуживающим персоналом, соблюдение требований безопасности.

Затем программа загружается в контроллер робота с помощью дискеты или сетевого соединения. После этого нужно провести тестирование на ошибки, при необходимости откорректировать, и программу можно использовать.

При создании робота главнейшей задачей является написание программного кода. Чтобы машина смогла показать лучшим образом все свои возможности и правильно выполнить те задачи, для которых была создана, необходимо правильно составить программу. Хотя основы программирования роботов в наши дни доступны для изучения даже детям, надо учитывать, что оно отличается от написания обычной компьютерной программы.

Быстрая сортировка: алгоритм для работы с массивами данных

Читайте также

Если программисту нужно составить обычный код, то программисту-робототехнику необходимо учесть взаимосвязь с механикой, электроникой и средой, в которой будет существовать робот.

Содержание

  1. Программирование роботов
  2. Какой язык выбрать?
  3. Ассемблер
  4. Basic
  5. C / C ++
  6. Java
  7. C #
  8. Программирование для контроллеров Arduino
  9. Python
  10. Программирование роботов — начало.
  11. Шаг 1.
  12. Шаг 2.
  13. Шаг 3.
  14. Полезные советы.
  15. Создавайте управляемые куски функционального кода.
  16. Документируйте все в коде, используя комментарии.
  17. Сохраняйте разные версии кода.
  18. При отладке робота поднимите его.
  19. Если код делает что-то, что кажется неработоспособным.
  20. Практический пример
  21. Способы управления роботами

Программирование роботов

Программирование роботов обычно является заключительным этапом, связанным с созданием роботов.

Если вы изучали уроки, то вы выбрали приводы, электронику, датчики и т.д. И кто-то, наверное, смог собрать робота, которого придумал ранее. Но без программирования, робот является очень красивый и дорогим макетом, не умеющим делать ничего.

программирование роботов

программирование роботов

Чтобы научить вас программировать роботов, потребуется не один урок. Поэтому этот урок поможет вам лучше понять, как начать и что нужно изучить именно вам.

Какой язык выбрать?

Какой язык программирования выбрать для вашего робота? Существует много языков программирования, которые можно использовать для программирования микроконтроллеров. Наиболее распространенными языками программирования роботов являются:

  • Ассемблер
  • Basic
  • C / C ++
  • Java
  • C #
  • Python
  • Программное обеспечение Arduino

Ассемблер

Это язык низкого уровня максимально приближенный к машинному коду. Программирование роботов очень сильно зависит от архитектуры процессора и достаточно трудоемко в использовании.

ассемблер

ассемблер

Ассемблер нужно использовать только тогда, когда вам необходим абсолютный контроль над вашим кодом на уровне инструкций;

Basic

Один из первых широко используемых языков программирования. Он по-прежнему используется некоторыми микроконтроллерами ( Basic Micro , BasicX , Parallax ) для программирования учебных роботов;

C / C ++

Один из самых популярных языков. Язык Си обеспечивает высокоуровневую функциональность, сохраняя при этом хороший контроль низкого уровня;

Java

Он более современный, чем Си. Он обеспечивает множество функций безопасности в ущерб контролю низкого уровня. Некоторые производители делают микроконтроллеры специально для использования с Java.

C #

Запатентованный язык Microsoft используется для разработки приложений в Visual Studio;

си шарп

c#

Программирование для контроллеров Arduino

Используется вариант C ++. Программирование роботов на нём включает некоторые упрощения для того, чтобы сделать программирование не таким сложным;

Python

Один из самых популярных языков сценариев. Он очень прост в освоении и поэтому может использоваться для быстрой и эффективной передачи программ.

На уроке 4 вы выбрали микроконтроллер на основе необходимых вам функций (количество операций ввода-вывода, специальные функции и т. д.). Часто микроконтроллер предназначен для программирования на определенном языке.

ардуино

arduino
  • Микроконтроллеры Arduino используют программное обеспечение Arduino и перепрограммируются в процессе обработки.
  • Базовые микроконтроллеры Stamp используют PBasic.
  • Микроконтроллеры Basic Atom используют Basic Micro.
  • Javelin Stamp из Parallax запрограммирован на Java.

Если вы выбрали микропроцессор известного или популярного производителя то, скорее всего, существует много литературы по этой теме. Следовательно вы сможете научиться программировать на выбранном языке программирования. В этом случае программирование роботов не вызовет больших трудностей.

Если же вместо этого вы выбрали микроконтроллер у небольшого, малоизвестного производителя (например, потому что у него было много функций, которые, по вашему мнению, были бы полезны для вашего проекта), то важно посмотреть, на каком языке должен быть запрограммирован контроллер и какие средства разработки доступны (обычно от производителя контроллеров).

Программирование роботов — начало.

Привет, мир!

Первой программой, которую вы, вероятно, будете писать, является  «Hello World». По историческим причинам большинство учебников по программированию начинаются с этой фразы.

hello world

hello world

Это одна из простейших программ, которые могут быть сделаны на компьютере.

Она предназначена для печати строки текста (например, «Hello World») на мониторе компьютера или на ЖК-экране контроллера.

В случае с микроконтроллером другой очень простой программой, которую вы можете сделать — это переключение вывода IO. Присоединение светодиода к выходному контакту. Затем установление контакта I / O в положение ON и OFF приведет к миганию светодиода. При помощи контактов I / O можно запрограммировать много сложных функций. Например, включение многосегментных светодиодов для отображения текста и цифр, управления электромагнитными реле, сервоприводами и т.д.

Шаг 1.

Убедитесь, что у вас есть все компоненты, необходимые для программирования микроконтроллера. Не все микроконтроллеры поставляются со всем необходимым для их программирования. Большинство микроконтроллеров необходимо подключить к компьютеру через USB-штекер.

USB штекер

USB штекер

Если ваш микроконтроллер не оснащен разъемом USB, возможно вам понадобится отдельный USB-адаптер для последовательного интерфейса. Этот адаптер нужно правильно подключить. Многие микроконтроллеры программируются либо через порт RS-232, либо через USB. Часто они включают в себя разъем USB на плате. Разъем USB используется не только для двусторонней связи, но и для питания платы микроконтроллера.

Шаг 2.

Подключите микроконтроллер к компьютеру и проверьте, к какому COM-порту он подключен.

com порт

com порт

Не все микроконтроллеры смогут быть обнаружены компьютером. Поэтому вы должны прочитать в руководстве «Начало работы. И тогда вы будете точно знать, что нужно сделать, чтобы компьютер распознал его и смог с ним общаться. Вам может быть придется загрузить «драйверы» (специфичные для каждой операционной системы), чтобы ваш компьютер мог понять, как общаться с микроконтроллером и / или USB-конвертером последовательного преобразователя.

Шаг 3.

Прочитайте руководство пользователя продукта. Проверьте работоспособность при помощи приведенных в нем примеров написания кода с нужным протоколом связи.

Не нужно изобретать велосипед. Большинство производителей предоставляют некоторый код (или псевдокод), объясняющий, как заставить контроллер работать. Пример кода может быть на языке программирования, который вы не знаете, но не стоит отчаиваться. Просто выполните поиск в Интернете, чтобы узнать, создали ли другие люди необходимый код.

  • Изучите руководства по продуктам и руководство пользователя.
  • Посетите форум производителя.
  • Проверьте публикации в Интернете для продукта и кода.
  • Прочтите руководство, чтобы понять, как написать код.

Полезные советы.

Создавайте управляемые куски функционального кода.

Создавая сегменты кода, специфичные для каждого продукта, вы постепенно создаете библиотеку. Создайте файловую систему на своем компьютере, чтобы легко найти необходимый код.

Документируйте все в коде, используя комментарии.

Документирование всего необходимо практически для всех рабочих мест, особенно для робототехники. По мере того, как вы становитесь все более и более продвинутыми, вы можете добавлять комментарии к общим разделам кода. Но при запуске вы должны добавить комментарий к (почти) каждой строке.

Сохраняйте разные версии кода.

Не всегда перезаписывайте один и тот же файл. Если вы обнаружите, что ваши 200+ строк кода не будут компилироваться, не стоит останавливаться только на этой версии кода.  Вместо этого вы можете вернуться к ранее сохраненной (и функциональной) версии и добавить или изменить ее по мере необходимости. Код не занимает много места на жестком диске. Поэтому вы можете спокойно сохранять несколько копий.

При отладке робота поднимите его.

Нужно, чтобы колеса, гусеницы или ноги не касались поверхности. Тогда ваш робот не сможет себе навредить даже случайно. Не закрывайте деталями кнопку отключения питания. Это пригодится для того, чтобы в случае необходимости можно было его отключить.

Если код делает что-то, что кажется неработоспособным.

Через несколько секунд, выключите питание. Скорее всего проблема не исчезнет сама собой и нужна корректировка, а пока вы можете уничтожить часть механики. Сначала подпрограммы могут быть трудны для понимания, но они значительно упрощают ваш код. Если сегмент кода повторяется много раз в коде, он является хорошим кандидатом для замены подпрограммой.

Практический пример

Для нашего проекта был выбран набор Lego Mindstorms EV3. Для него есть специальная графическая среда программирования EV3 Programmer. Её можно бесплатно скачать с официального сайта Лего и сразу приступать к программированию робота.

ev3 programmer

программирование Lego EV3

Программирование происходит при помощи пиктограмм и является доступным для понимания.

Способы управления роботами

{«id»:13972,»url»:»/distributions/13972/click?bit=1&hash=d38ecaa80d5012155d940fac389cf161ab0d570a8dfb5b7f089d72b1a23b9af3″,»title»:»u041au0430u043au0430u044f u0431u044bu0432u0430u0435u0442 u0444u0438u043du0430u043du0441u043eu0432u0430u044f u043eu0442u0447u0435u0442u043du043eu0441u0442u044c u0438 u0437u0430u0447u0435u043c u043eu043du0430 u0438u043du0432u0435u0441u0442u043eu0440u0443?»,»buttonText»:»»,»imageUuid»:»»}

Дмитрий Молодняков

RPA-разработчик компании NFP

Технология RPA с каждым днем набирает популярность. Сегодня фраза «написать робота» уже мало кого удивляет. Более того, для этой несложной задачи достаточно базовых навыков программирования. А в сочетании с хорошо выбранной платформой, дополненной машинным обучением, процесс создания робота будет состоять из набора последовательных шагов. Расскажу о них подробнее.

RPA — удобное и надежное решение для автоматизации процессов. В современных платформах с каждым обновлением увеличивается и модернизируется функционал. Для создания роботов требуется все меньше навыков программирования.

К примеру, ведущий российской разработчик программного обеспечения для роботизации бизнес-процессов, компания Pix Robotics, дополнила свою платформу PIX RPA модулем машинного обучения Machine Learning (ML). Machine Learning — класс методов искусственного интеллекта, характерной чертой которых является способность к самостоятельному обучению путем решения множества сходных задач. В нашем случае именно ML позволяет роботам самостоятельно работать с информацией, используя инструменты аналитики. Преимуществом использования ML является возможность написать робота, имея только входные данные.

5 шагов создания робота

Для того, чтобы получился «правильный» робот (оптимальный в плане выполнения задачи и затрат на разработку, корректный, долгосрочный) в большинстве случаев достаточно сделать 5 основных шагов:

Шаг 1

Выберите процесс, подходящий для автоматизации. Для этого есть ряд критериев. Рассмотрим основные:

  • Процесс, основанный на правилах (алгоритмизируемый)

Процесс должен осуществляться в соответствии с заранее известной логикой.

  • Регулярно повторяющийся процесс

Последовательность действий сотрудника, являющаяся процессом, должна систематически повторяться.

  • Стандартизированные входные данные

Входные данные должны предоставляться в соответствии с единым шаблоном.

  • Процесс, способный быть автономным

Автоматизируемый процесс должен быть способен выполняться без участия человека.

Шаг 2

Составьте схемы «Как есть» и «Как будет» для выбранного процесса. В схеме «Как есть» перечислите действия сотрудника на данный момент, т.е. до автоматизации. Например:

В схеме «Как будет» отобразите процесс после автоматизации. Блоков, где необходимо вмешательство человека, может не быть, но встречаются и случаи, когда участие сотрудника необходимо. Пример простейшей схемы «Как будет»:

Шаг 3

Составьте архитектуру робота. Лучше разбивать участки процесса на отдельные блоки, чтобы использовать их повторно вызовом этих блоков, а не копированием. Старайтесь, чтобы каждый блок выполнял свой функционал, не пересекаясь с функционалами других блоков. Благодаря такому подходу вы сможете видеть весь процесс и избежите ошибок, следствием которых могут стать неоптимальность, длительная разработка, переделывание, корректировки.

Шаг 4

Теперь можно смело приступать к разработке робота. Опираясь на архитектуру из 3 шага, начните с малых подпроцессов. Держите в голове участки, где возможны ошибки. Настройте оповещения об ошибках.

Шаг 5

Вы почти у цели! Заключительный этап включает в себя полный цикл тестирования робота. Для этого подавайте на него различные варианты входных данных. Не лишним будет и проверить работу робота, используя заведомо неверные данные.

Успехов вам!

Понравилась статья? Поделить с друзьями:
  • Как найти военные позиции
  • Как найти человека который находиться в розыске
  • Как найти сторону трапеции описанной около окружности
  • Как найти описание картинки по фото
  • Как составить приказ на отпуск работнику