Укажите с какими приложениями может работать программный робот
Сказ о том, как заставить робота делать в офисе то, что не любишь делать сам. Создай робота для себя или порекомендуй шефу.
Привет, меня зовут Сергей Юдовский и я CEO electroNeek. Вместе с другими участниками нашей команды мы основали компанию electroNeek Robotics, Inc., которая разрабатывает продукт в области технологий RPA (Robotic Process Automation). Мы много будем говорить в данной статье о технологии и продукте, но в начале нужно понять откуда всё это пришло и куда всё идёт.
Если кратко, то мы продаём программный продукт, с помощью которого вы сможете создать роботов, которые повторяют любые действия ваших сотрудников за компьютером с любыми приложениями, которые на нём установлены. Таким образом вы сможете или полностью, или частично роботизировать процессы в вашей компании.
Давайте посмотрим простой пример того, как выглядит платформа, и что с помощью неё можно реализовать.
Демонстрация работы платформы electroNeek и самого роботаВ видео вы могли увидеть:
- как робот может открывать файлы;
- как робот может читать документы;
- как робот может распознавать данные из изображений;
- как робот может работать с браузером;
- как робот может понять смысл документов;
- как робот может классифицировать документы.
Создавать что-то действительно полезное многим людям было моей мечтой. Так сложилось, что весь мой предыдущий опыт был связан с важными технологическими продуктами. Я продавал системы безопасности и видеонаблюдения, интернет для юридических лиц, консалтинг по внедрению CRM/ERP систем и собственно создание роботов RPA на других платформах.
Мы были одни из первых, кто начал развивать практику программной роботизации у нас в стране. Вся активность была построена вокруг моего последнего места работы - Центра Роботизации и Искусственного Интеллекта. Вы до сих пор можете найти много полезного по темам RPA и AI на данном сайте.
Когда я создавал программных роботов для банков, транспортных и строительных компаний, меня не покидала идея о том, что мы являемся свидетелями зарождения действительно великого будущего. Если раньше роботы могли быть только в виде станков на заводах, то теперь мы наблюданием создание нового класса рабочей силы - digital workforce.
Если у вас есть 16 минут времени, то рекомендую посмотреть данное видео. В нём очень подробно описывается то будущее, в которое мы с вами движемся в плане рабочего ландшафта обычного офиса обычной компании будушего.
White Collar Robots: The Virtual Workforce | David Moss | TEDxUCLВернёмся же снова к нашей команде и нашему продукту. Зачем мы создали компанию, и какая наша миссия? Я попытался уложить её в этот абзац. Очень важно прочитать его внимательно, и если у вас есть вопросы или комментарии, то пишите их под статьёй. Я с радостью отвечу на все вопросы.
По сути своей вся наша концепция и long vision состоит в том, чтобы в любой компании любого размера был установлен electroNeek. Мы раздаём "руки" для будущего цифрового сотрудника. Когда будет создан полноценный искусственный интеллект, то мы подсоединим его "мозги" к нашим "рукам" и получим армию цифровых рабочих, которые смогут трудится день и ночь.
Наша миссия состоит в том, чтобы избавить офисных сотрудников от любой рутины. Наше видение заключается в том, чтобы в любой компании любого размера сотрудники имели возможность использовать таких цифровых помощников, как electroNeek, которые могут выполнять рутинную работу за людей.
Конечно, до этого момента нам всем стоит подождать определённое время. Может это произойдёт через 5 лет, может через 25, но точно при нашей жизни мы увидим все эти изменения. Пока же мы должны максимально быстро и эффективно дать вам возможность создавать роботов в ваших компаниях под конкретные описанные процессы. Для этого наша разработка и дистрибуция не прерывается никогда.
Мы начали разрабатывать electroNeek в прошлом году. К концу года мы поняли, что невозможно строить такой бизнес без международных амбиций. Поэтому в январе 2019 года мы успешно привлекли инвестиции, которые сейчас помогают нам развивать продукт, а также взаимодействовать с клиентами в СНГ и США. Помимо этого в феврале 2019 года мы прошли отбор в акселератор PwC, что позволило нам получить доступ к многолетней экспертизе крупных компаний. Мы используем этот опыт для внесения важнейших изменений в наш продукт.
Если вас интересуют наши ежедневные будни, то так мы например проводим время, когда думаем о том, как будет выглядеть, работать и взаимодействовать с пользотвателем наш продукт.
Запущенная программа Кумир выглядит так.
Первым делом мы должны раскомментировать первую строку нашей программы, убрав символ |
Таким образом, программа станет выглядеть так:
использовать Робот
алг
нач
кон
Удалив символ |, мы тем самым указали Кумиру на то, что будем работать с исполнителем Робот. Если этого не сделать, то при написании программы мы столкнемся с ошибкой «Нет такого алгоритма». Поэтому очень важно при создании новой программы раскомментировать первую строку. Теперь все готово для дальнейшей работы.
Но перед началом, нам необходимо задать стартовую обстановку Робота и познакомиться с простыми командами исполнителя Робот.
Стартовая обстановка Робота
Перед началом выполнения программы необходимо задать исполнителю Робот стартовую обстановку . Это значит установить Робота в нужную позицию, расставить стены, закрасить нужные клетки и т. п. Этот шаг очень важен. Если его проигнорировать, то программа может работать неправильно или вообще завершится аварийно.
Что такое стартовая обстановка?
Наш Робот находится в некой среде — это клетчатое поле, размер которого известен. Так же на этом поле могут находится стены и закрашенные клетки, а сам Робот может находится в любой клетке. Так вот — стартовая обстановка задает положение Робота на поле и расположение всех остальных элементов — стен, закрашенных клеток. И перед тем, как писать алгоритм для Робота необходимо задать стартовую обстановку. Насколько это важно давайте рассмотрим на примере. Пусть есть две стартовые обстановки:
Стартовая обстановка 1
Стартовая обстановка 2
Отличаются они только тем, что в стартовой обстановке 2 справа от Робота находится стена.
Если наша программа начнется с команды, которая переместит Робота на одну клетку вправо (о простых командах Робота), то в первом случае (стартовая обстановка 1) Робот выполнит эту команду, а во втором программа завершится аварийно, так как Робот не может ходить сквозь стены. Получается, что одна и та же программа в первом случае работает, а во втором приводит к ошибке. Именно поэтому так важно задавать стартовую обстановку для Робота.
Как задать стартовую обстановку?
Запустив среду Кумир в меню Инструменты выбираем пункт Редактировать стартовую обстановку Робота
Откроется окно с синим фоном. Это и есть стартовая обстановка Робота. И мы ее можем изменить.
По-умолчанию, размер окна 10 на 15 клеток. Если нам необходимо изменить количество строк и столбцов, то щелкаем Обстановка -> Новая обстановка и задаем необходимые значения
- чтобы переместить Робота в новую позицию, щелкаем по нему левой кнопкой мыши и не отпуская ее тащим Робота в нужное место.
- чтобы добавить/удалить стену, щелкаем левой кнопкой мыши по границе клетки.
- чтобы закрасить/очистить клетку, щелкаем по ней левой кнопкой мыши
- чтобы добавить или убрать точку в клетку щелкаем по клетке, удерживая клавишу Ctrl
После того, как мы задали нужную стартовую обстановку, ее необходимо сохранить (Обстановка -> Сохранить или Обстановка -> Сохранить как). После этого закрываем окно Обстановка и в основном окне программы выбираем Робот -> Сменить стартовую обстановку
Находим сохраненную ранее обстановку и загружаем ее. После этого убедимся, что загрузили правильную стартовую обстановку, щелкнув по кнопке Показать окно Робота
Если в окне с зеленым фоном (текущая обстановка Робота) вы увидите вашу обстановку, то можно переходить к написанию алгоритма, используя простые команды Робота.
Исполнитель Робот. Простые команды.
У нашего Робота тоже есть система команд. Сегодня мы рассмотрим простые команды Робота. Всего их 5:
вверх
влево
вправо
закрасить
Результат выполнения этих команд понятен из их названия:
вверх — переместить Робота на одну клетку вверх
вниз — переместить Робота на одну клетку вниз
влево — переместить Робота на одну клетку влево
вправо — переместить Робота на одну клетку вправо
закрасить — закрасить текущую клетку (клетку в которой находится Робот).
Эти команды можно писать с клавиатуры, а можно использовать горячие клавиши (нажав их команды будут вставляться автоматически):
вверх — Escape, Up (стрелка вверх)
вниз — Escape, Down (стрелка вниз)
влево — Escape, Left (стрелка влево)
вправо — Escape, Right (стрелка вправо)
закрасить — Escape, Space (пробел)
Обратите внимание, что набирать нужную комбинацию горячих клавиш нужно не привычным нам способом! Мы привыкли нажимать клавиши одновременно, а здесь их нужно нажимать последовательно.
Теперь мы готовы написать первый алгоритм для Робота. Предлагаю начать с простого — нарисуем квадрат со стороной 3 клетки. Поехали!
Запускаем Кумир, настраиваем его. Можно начинать писать программу? Конечно нет! Мы же не задали стартовую обстановку! Делаем это. Предлагаю использовать вот такую:
Вот теперь все готово. Начинаем писать программу. Пока она выглядит так
Удаляем символ «|» и называем наш алгоритм «Квадрат»
Предлагаю рисовать квадрат, двигаясь по часовой стрелке. Для начала закрасим текущую клетку, дав команду закрасить. Потом делаем шаг вправо и опять закрашиваем клетку. И еще раз шаг вправо и закрасить.
Попробуем запустить программу и посмотреть что же получилось. Для запуска нажимаем F9 или же кнопку на панели инструментов
В результате мы должны увидеть вот такую картину
Если такое окно Робота у вас не появилось, то на панели инструментов щелкните «Показать окно Робота» или в меню Робот выберите пункт "Показать окно Робота". Продолжаем дальше.
Теперь мы будем двигаться вниз и закрашивать правую сторону квадрата:
Потом пойдем влево, закрашивая нижнюю границу квадрата
У нас осталась одна незакрашенная клетка. Закрасим ее
Все готово! В итоге наша программа выглядит так:
использовать Робот
алг Квадрат
нач
закрасить
вправо
закрасить
вправо
закрасить
вниз
закрасить
вниз
закрасить
влево
закрасить
влево
закрасить
вверх
закрасить
кон
А результат ее работы вот так
Итак, сегодня мы с вами написали программу, используя простые команды Робота. Рекомендую попрактиковаться самостоятельно — придумать себе задание и написать программу. Это могут быть самые различные фигуры, узоры, буквы. К примеру, попробуйте написать программу, рисующую букву П, Р, Ш, Щ, М. А если получится и захотите поделиться — комментируйте и прикрепляйте результат к комментарию.
Исполнитель Робот. Циклы.
Итак, что такое цикл? Представьте, что мы находимся на уроке физической культуры и перед нами стоит задача сделать 7 приседаний. Это задание можно оформить в виде линейного алгоритма и тогда оно будет выглядеть примерно так:
Т. е мы повторили команду сделай приседание 7 раз. А есть ли смысл писать 7 одинаковых команд? Может проще дать команду сделай 7 приседаний? Конечно проще и правильнее. Это и есть цикл. Вы можете сами вспомнить примеры циклов из жизни — их довольно много.
Таким образом линейный алгоритм, где повторяются одни и те же команды мы можем оформить в виде циклического алгоритма — примерно так:
Вот так, на придуманном нами языке мы оформили цикл. У исполнителя Робот тоже есть возможность записывать циклы. Причем, циклы бывают разные. Тот вариант, который мы только что рассмотрели называется цикл со счетчиком или цикл с параметром.
Виды циклов.
Цикл со счетчиком.
Цикл со счетчиком применяется когда заранее известно сколько повторений необходимо сделать. В примере выше с приседаниями именно такой случай.
Для того, чтобы написать цикл со счетчиком для исполнителя необходимо знать его синтаксис. А он такой:
нц < количество повторений > раз
Здесь мы должны указать количество повторений (число) и команды, которые будут повторяться. Команды, которые повторяются в цикле называют телом цикла .
Давайте рассмотрим это на примере.
Закрасим 7 клеток, как на рисунке. Рекомендую почитать про стартовую обстановку Робота и про его простые команды.
Изначально Робот находился в левой верхней клетке.
Давайте для начала решим задачу линейно. В этом случае мы будет закрашивать текущую клетку и перемещаться на 1 клетку вправо и программа будет выглядеть так:
использовать Робот
алг
нач
Как видим, команды закрасить и вправо повторяются 7 раз. Давайте теперь перепишем программу с использованием цикла. Кстати, чтобы вставить цикл в свою программу можно в меню Вставка выбрать пункт нц-раз-кц или нажать одну из комбинаций клавиш Esc, Р (русская буква Р) или Esc, H (латинская буква H). Причем клавиши надо нажимать последовательно — сначала Esc, отпустить ее и только потом Р или H.
Так вот, наша программа с циклом будет выглядеть так:
использовать Робот
Если мы ее запустим, то увидим, что в результате получится тоже самое — 7 закрашенных клеток. Однако программа стала короче и значительно грамотней с алгоритмической точки зрения!
В качестве разминки и закрепления предлагаю самостоятельно написать программу для Робота, которая нарисует квадрат со стороной 7 клеток. Естественно, используя цикл. Жду решения в комментариях.
Цикл с условием.
Вернемся к физкультуре и изменим задачу. Ведь кто-то может и не сделать 7 приседаний, а другой способен сделать 27. Можно ли учесть это при создании цикла? Конечно. Только теперь мы будем использовать не счетчик (количество повторений), а условие. К примеру, пока не устал, делай приседания. В этом случае человек будет делать не конкретное число приседаний, а приседать до тех пор, пока не устанет. И наш цикл на абстрактном языке примет такой вид:
пока не устал
Слова не устал в нашем случае — это условие. Когда оно истинно, цикл выполняется. Если же оно ложно (устал) тело цикла не будет выполнено. У исполнителя Робот есть несколько условий
сверху свободно
снизу свободно
слева свободно
справа свободно
сверху стена
снизу стена
слева стена
справа стена
Теперь давайте решим следующую задачу для Робота — нарисовать вертикальную линию от левой до правой границы поля использую цикл с условием. Изначально Робот находится в левом верхнем углу.
Давайте сначала сформулируем словесный алгоритм — т. е. опишем словами что нужно делать Роботу. Этот алгоритм будет звучать примерно так:
«Пока справа свободно делай шаг вправо и закрашивай клетку»
В результате Робот пробежит по всем клеткам вправо и будет их закрашивать до тех пор, пока справа не окажется стена.
Исходный код нашей программы для Робота будет примерно такой:
использовать Робот
нц пока справа свободно
В результате выполнения этой программы мы увидим вот такую картину:
Как видим, не хватает только закрашенной первой клетки. Для этого перед циклом необходимо выполнить команду закрасить.
Для закрепления прошу написать программу, которая будет делать рамку вокруг рабочего поля Робота независимо от его размера. Конечно же с использованием циклов с условием. В итоге должно получиться так:
Программное обеспечение промышленных роботов - это различные средства программирования, необходимые для настройки и взаимодействия с робототехническими системами. ПО включает различные объекты данных и списки инструкций (потоки программ), предназначенные для выполнения роботами манипуляций с объектами и предметами в реальной рабочей среде. При этом программы и данные размещаются в разных «отсеках» памяти контроллеров промышленных роботов.
Основные виды программного обеспечения роботов
В зависимости от того, для каких целей будет использовано ПО, оно подразделяется на средства:
технического обслуживания, позволяющие поддерживать роботов в наилучшем рабочем состоянии с помощью инструментов устранения неполадок, технического обслуживания и калибровки;
визуализации и мониторинга автоматизированных промышленных роботов, отображающие состояние устройств и уровни их работоспособности и производительности;
моделирования и симуляции работы технических комплексов. Эти инструменты и средства автономного программирования помогают разрабатывать и отлаживать решения роботизации до их внедрения;
разработки дополнительного ПО. С помощью этих средств создаются и настраиваются индивидуальные приложения для управления роботами;
программного управления контроллерами, предназначенные для программирования роботов непосредственно через логические контроллеры с использованием существующих периферийных средств;
прикладного программного обеспечения - в виде интерфейсов к внешним компонентам или устройствам, предназначенных для включения конкретных действий роботов.
Также программное обеспечение для роботов можно разделить на две категории:
контролирующее и управляющее ПО, включающее в себя графические интерфейсы для работы с телеуправляемыми системами, ПО для взаимодействия с автономно действующими роботами по схеме point-n-click и для формирования схем эксплуатации мобильных промышленных роботов;
ПО для задач, которое включает в себя простые интерфейсы с возможностью перетаскивания и настройки маршрутов перемещения и специализированные программы, созданные для развертывания конкретных приложений.
Разработка программного обеспечения для автоматизированных промышленных роботов должна осуществляться с соблюдением требований и концепций безопасности.
Способы программирования промышленных роботов
Технически программа для промышленного робота представляет собой последовательность позиций, которые должен пройти манипулятор робота - положений точек острия инструмента (TCP, Tool Center Point). Такой процесс создания исполняемой программы для контроллера робота называется runtime программированием и предназначается для того, чтобы задать положение TCP в пространстве «на ходу». Это означает, что исполняемая программа передается роботу «порционно», и он не хранит и не знает всю программу заранее.
Программное обеспечение промышленных роботов в режиме runtime создается по принципам:
онлайн-программирования. Программист непосредственно взаимодействует с роботом на месте его использования, при помощи пульта управления или физически перемещая TCP к заданным пространственным координатам;
оффлайн-программирования. Оно осуществляется удаленно от робота и его контроллера. Разработка исполняемых программ проводится в специализированной среде программирования промышленных роботов на ПК, после чего программы загружаются в роботов полностью.
Обучиться разработке ПО для промышленных роботов можно в ЦРК БИ (ЦЕНТР РАЗВИТИЯ КОМПЕТЕНЦИЙ В БИЗНЕС-ИНФОРМАТИКЕ) НИУ ВШЭ. В рамках представленного курса любой желающий сможет научиться создавать программы для роботизированных промышленных систем, используя популярные среды и языки программирования.
Многие из вас слышали и видели в различных фильмах роботов, которые начнут заменять людей на производствах. Либо роботов, которые будут помогать нам выполнять повседневные дела. Не важно, какие это дела, рабочие или по дому. Но сегодня я хотел бы рассказать про других роботов, а именно – программных.
Помощник, который не устает, быстро работает и сохраняет нервы
Скажите, лично вы хотели получить себе помощника, который сможет взять на себя выполнение рутинных задач? Которые вы выполняете каждый день на работе. Думаю, что не откажетесь от него.
Так вот, программные роботы – это специальное программное обеспечение, которое работает в соответствии с заложенным алгоритмом. Процесс работы и выполнение алгоритма определяете самостоятельно. Используя при этом графический интерфейс системы, а не программный код.
Если посмотреть со стороны, то робот эмулируют работу человека.
Программные роботы создаются компаниями и отдельным разработчиками для того, чтобы снять с вас выполнение рутинных и простых задач. Заодно провести оптимизацию существующих бизнес-процессов компании. За счет такого подхода, сможете выполнять те задачи, которые являются более приоритетными и важными для вас и компании в целом.
Использование робота для работы с первичной документацией
Предлагаю сразу перейти к примеру, где может использоваться программный робот. Для демонстрации возьмем отдел бухгалтерии и работу с первичной документацией.
Если вы работает в небольшой компании, то процесс занесения данных по первичной документации не займет много времени.
Но когда работаете в компании, где каждый день проходит по 100 и больше документов в день, то вопрос автоматизации становится все более актуальным.
За счет использования программного робота и его правильной настройки, вы сможете автоматизировать перенос данных из онлайн-систем, почты и систем электронного документооборота во внутреннюю систему учета компании, например, 1С.
Даже если отправляют сканы документов, робот с помощью алгоритмов, сможет распознать откуда и какие данные необходимо взять, проведет необходимые проверки, к примеру, наличие печати в документе. И после этого без проблем перенесет в необходимую систему компании. Без вашего участия и контроля.
Перенос 20 000 записей – не предел. А может еще больше.
Как программный робот, может ускорить и упростить работу?
Представьте, что ваше руководство решило использовать новые программы для составления отчетности и ведения документации. При этом необходимо провести перенос данных из одной системы в другую.
Как это лучше сделать? Не будете же вы переносить 1000, 5000 или больше 20 000 записей в ручном режиме. Нет. Не будете.
Для этой задачи также можно использовать робота, который без проблем выполнит перенос данных из одной системы в другую.
При этом, он не является как таковой интеграцией в действующее ПО, а больше применяет роль посредника в этом процессе.
Использование робота в небольшой компании
С крупными компаниями понятно. Они выделяют бюджеты для проведения проекта внедрения выбранного робота. В компанию в целом или только в определенное подразделение.
Но означает ли это, что роботов могут позволить себе только крупные компании?
Нет. Даже в небольшой компании вы без проблем можете использовать такого робота, при этом даже найти бесплатное решение. С помощью которого сможете выполнять простые действия по переносу данных.
Здесь хочу отметить вот такой момент. Как писал уже до этого, количество данных в небольших компаниях раз в 10 отличается от крупных, и провести перенос данных не займет много времени.
Поэтому при использовании робота в небольшой организации на длительной дистанции может не принести ощутимого результата и пользы, как в крупной. Так как этот программный робот будет работать не каждый день, а от случая к случаю.
Робот – не идеален. Он со своими минусами
До этого момента все выглядит действительно круто. Программа, которая выполняет задачи быстро и способна справится с большим количеством однотипных операций. Но у всего есть недостатки. И роботы не исключение:
- Программный робот – это в первую очередь программа . И в случае выхода из строя, работа остановится на неопределенный срок. Так же при плохой разработке и внедрении в работу, он может сломаться и зависнуть. Вследствие чего нужна регулярная проверка и поддержка со стороны специалистов.
- Даже при использовании графического интерфейса для проектирования алгоритма робота, необходимо обладать хотя бы базовыми знаниями по алгоритмизации и техническим опытом.
- Программные роботы чувствительны к изменениям в программах , с которыми они работают. Если решите провести обновление ПО, в которой работает сам робот, и к примеру, после обновления измениться интерфейс, то робот приостановит свою работу. Так как не распознает поля и кнопки, на которые был запрограммирован.
- Робот – это не «серебряная пуля» для улучшения бизнес-процессов компании . Это ИТ-инструмент, который в первую очередь нужен для оптимизации этих самых процессов.
- Реальную пользу можно получить, если использовать робота регулярно и достаточно долго . Поэтому он в большей степени актуален для крупных компаний, где будет работать каждый день. С большим количество информации.
Оставить. Вас нельзя уволить.
И вот, в какой-то момент компания провела проект внедрения и у вас на компьютере появился помощник – программный робот. Он спокойно выполняет заложенные в него операции. А вы, наблюдая за его работой задаете себе справедливый вопрос:
Не уволят ли меня или не понизят после применения данной программы?
Спокойствие. Только спокойствие. Как говорил известный всем нам персонаж из мультфильма.
Нет. Вас не уволят. Почему?
Потому что, как уже писал до этого, программные роботы на текущий момент используются для простых и часто повторяющихся операцией. Даже если этот робот проводит самообучение используя искусственный интеллект.
Когда у проводимой операции низкий или небольшой риск, то робот будет актуален, но когда риск начинает возрастать, то необходимо чтобы рядом находился компетентный специалист. Каким вы и являетесь.
Именно вы, как профессионал, сможете принять более правильное решение по важному документу, который может нести более серьезные риски и последствия, если его неправильно обработать.
Согласитесь, что лучше решить самостоятельно операцию с высоким риском, чем потом компания будет выплачивать, к примеру, за эту ошибку тысячи или даже миллионы рублей.
В 2021 году будет еще более активное развитие и использование
2020 год принес много сюрпризов. Руководители компаний в очередной раз столкнулись с необходимостью проведения цифровой оптимизации бизнес-процессов.
А те, кто уже начал применять программных роботов в своей работе, увидели реальную выгоду и эффект от их использования. Особенно во время пандемии. Когда организации проводят урезание различных расходов и приостанавливают часть проектов для сохранения бюджетов.
И тренд использования программных роботов будет только расти в последующие года.
Ведь скорость принятия правильных решений и использование подходящих ИТ-инструментов во время кризисных ситуациях, могут сыграть одну из главных ролей.
Именно от этого будет зависеть, продолжить ли свое существование компания на рынке или нет.
Читайте также: