- Шаг 10. Программирование роботов.
- Какой язык выбрать?
- Ассемблер
- Basic
- C / C ++
- Java
- C #
- Программирование для контроллеров Arduino
- Python
- Программирование роботов — начало.
- Шаг 1.
- Шаг 2.
- Шаг 3.
- Полезные советы.
- Создавайте управляемые куски функционального кода.
- Документируйте все в коде, используя комментарии.
- Сохраняйте разные версии кода.
- При отладке робота поднимите его.
- Если код делает что-то, что кажется неработоспособным.
- Практический пример
- Способы управления роботами
- Программное обеспечение для роботов
- Что такое программное обеспечение для роботов
- Какие языки программирования используются для создания ПО в PRA
- Платформы для PRA c проприетарным (патентованным) ПО
Шаг 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. Её можно бесплатно скачать с официального сайта Лего и сразу приступать к программированию робота.
Программирование происходит при помощи пиктограмм и является доступным для понимания.
Способы управления роботами
Программное обеспечение для роботов
Программное обеспечение для роботов — это набор закодированных команд или инструкций, используемый для автономного выполнения роботами поставленных перед ними задач.
О главных задачах разработки ПО для роботов и о самых востребованных платформах, которые используются в таком программировании, будет рассказано в представленной статье.
Что такое программное обеспечение для роботов
Ключевые принципы создания программного обеспечения для роботов — это понимание того, как те или иные рабочие процессы выполняются пользователями и точное описание данных действий в виде алгоритма — программы RPA.
Правильно разработанное ПО должно запускаться на любом ПК, без предварительной интеграции с остальными системами, и не нуждаться в дополнительных программных интерфейсах (API), воспроизводя действия человека в пользовательском интерфейсе. Как правило, для удобства работы и выполнения рутинных операций роботизируют почту, MS Word, MS Excel, PDF, web-приложения и различные системы с искусственным интеллектом.
Какие языки программирования используются для создания ПО в PRA
Для разработки ПО под системы PRA чаще всего используются следующие языки программирования:
- R — уникальный язык программирования и технология с открытым исходным кодом. С его помощью можно программировать векторные вычисления, создавать функциональные и объектно-ориентированные программы, поэтому его применяют для создания искусственного интеллекта нового стиля и систем с общим машинным обучением;
- C++ — при помощи этого языка программирования можно создавать проекты искусственного интеллекта с высокой скоростью, эффективностью и гибкостью, способного выполнять сложные задачи;
- Python— этот язык с поддержкой объектно-ориентированных, функциональных и процедурно-ориентированных стилей программирования включает большое количество полезных разработчику ПО библиотек, обеспечивает возможность создания нейросетей и машинного обучения ИИ;
- Java — позволяет создавать самые сложные программы для искусственного интеллекта с нейронными сетями и алгоритмами поиска, используя минимальное количество задаваемых операций.
Также в разработке ПО для систем PRA могут применяться языки программирования MATLAB, Julia или Lisp. Выбор этих языков зависит от того, какие функции будет выполнять робот.
Платформы для PRA c проприетарным (патентованным) ПО
Решения PRA могут строиться не только на основе открытых технологий и open-source-модулей, но и с применением проприетарного (патентованного) ПО. Эти продукты называются платформами и создаются глобальными и локальными компаниями-вендорами. В число самых активных вендоров входят компании:
- UiPath. Программные продукты этой платформы позволяют создавать attended (запускаемых с рабочего места пользователя) роботов-помощников, дают возможность записи выполнения рабочих процессов для ускорения процессов разработки и позволяют удаленно контролировать работу всех роботов в компании. PRA-инструменты платформы UiPath поддерживаются различными браузерами и десктоп-приложениями;
- Blue Prism. Данная платформа позволяет создавать автономных многозадачных программных роботов («цифровых работников») на базе искусственного интеллекта, масштабировать задачи и объемы информации для поисковых роботов, контролировать рабочие процессы в реальном времени;
- ElectroNeec. Эта PRA-платформа предназначена для роботизации повторяющихся задач, имитации действий человека и оптимизации документооборота. Данная платформа имеет продуманный, интуитивно понятный интерфейс и обеспечивает управление роботами на рабочих столах или в браузерах, через единый командный центр, поэтому считается одним из самых прогрессивных решений PRA;
- PIX Robotics. В данной платформе представлены возможности нативной интеграции с продуктами платформы 1С, с BPM-продуктами (с инструментами управления бизнес-процессами), а также модули машинного обучения ИИ. Роботы данной платформы могут выступать одновременно в качестве back- и front-офисных роботов (ориентированных на сервер или на клиента), забирая управление персональным компьютером при необходимости, либо целиком работая в фоновом режиме или облаке.
Научиться создавать программное обеспечение для роботизации компании и работать с RPA-платформами можно, пройдя обучение на курсах, которые проводит ЦРК БИ (ЦЕНТР РАЗВИТИЯ КОМПЕТЕНЦИЙ В БИЗНЕС-ИНФОРМАТИКЕ) НИУ ВШЭ. Записаться на данные курсы можно на нашем сайте.