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

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

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

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

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

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

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

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

Ассемблер

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

Basic

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

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

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

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

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

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

Python

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

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

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

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

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

Читайте также:  Как зайти в безопасный режим на asus

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

Первой программой, которую вы, вероятно, будете писать, является «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. Её можно бесплатно скачать с официального сайта Лего и сразу приступать к программированию робота.

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

Установка программного обеспечения для Lego EV3.

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

Лет 5-10 назад ещё, в серьёзных проработках в робототехнике (не в свистелках-перделках от самоделкиных) самым используемым языком был Forth.
Так что могут быть самые экзотические варианты.

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

LEGO Mindstorms (NXT и RCX), Cortex, Innovation First VEX и некоторые другие среды для программирования роботов имеют свои собственные уникальные языки, существенно отличающиеся друг от друга. Все желающие перейти с одной платформы на другую вынуждены тратить время и силы на их изучение. Для решения этой задачи был создан кросс-платформенный язык программирования RobotC, отличающийся от стандартного C увеличенным набором команд по работе с устройствами контроллера.

Читайте также:  Найти местоположение по номеру мобильного телефона казахстан

RobotC предназначен как для на новичков, так и для подготовленных программистов и имеет два режима работы – базовый и расширенный. В соответствии с этим среда программирования поддерживает два языка: собственно сам RobotC, являющийся особым диалектом C, и «естественный язык» Natural Language, позиционирующийся как переходный от графических форм (наподобие NXT-G) к текстовым блокам и использующий вместо низкоуровневых команд опроса датчиков и управления моторами процедуры с заранее определенными для робота действиями. Кроме того, разработчики RobotC обещают в скором времени поддержку еще одного графического языка, напоминающего Scratch, в котором создание программ будет осуществляться переносом графических блоков и их соединением в пазл. Каждый блок будет иметь ряд конфигурируемых параметров, влияющих на поведение роботов.

ПО RobotC позволяет разрабатывать приложения для работы со следующими платформами: TETRIX, NXT, Cortex, RCX, PIC, VEX PIC, Arduino Diecimila, Duemilanove, Mega 2560, Mega 1280, Uno. Программное обеспечение имеет схожую с Visual Studio среду и включает в себя мощный интерактивный отладчик, способный функционировать в режиме реального времени, тем самым существенно сокращая время отладки кода. Данная среда обладает развитыми возможностями для работы с математическими выражениями, с помощью которых можно составлять весьма эффективные и сложные программы. В RobotC существует опция предоставления данных с датчиков в «сыром» виде в формате RAW. Среда может поддерживать связь с устройствами посредством инфракрасного канала или Wi-Fi.

Язык программирования RobotC был разработан сотрудниками Университета Карнеги-Меллон (http://www.cmu.edu), расположенного в Питтсбурге (США, штат Пенсильвания). Данный исследовательский центр возник на базе Технических школ, основанных Эндрю Карнеги в 1900 году. Университет известен своими исследованиями в областях искусственного интеллекта и робототехники. Кроме того данное учебное заведение считается самым лучшим в подготовке специалистов в сфере компьютерных технологий. В настоящее время программа RobotC в основном используется в образовательной среде.

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

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

Среда программирования предназначена для операционных систем семейства Microsoft Windows. Поддерживается XP, Vista, 7 и 8. Кроме того необходимо помнить, что при попытке исполнения кода из другой среды будет выпадать сообщение об ошибке.

Распространение программы: платная. Есть полнофункциональная trial-версия 30 дней

Ссылка на основную публикацию
Adblock detector