Как написать программу в lego mindstorms

Информация о материале Категория: Первые шаги Просмотров: 195132

Звезда активнаЗвезда активнаЗвезда не активнаЗвезда не активнаЗвезда не активна

Введение:

Задача данного курса — познакомить вас с конструктором Lego mindstorms. Научить собирать базовые конструкции роботов, программировать их под определенные задачи, разобрать с вами базовые решения наиболее распространенных задач-соревнований.

Курс рассчитан на делающих первые шаги в мир робототехники с помощью конструктора Lego mindstorms. Хотя все примеры роботов в этом курсе сделаны с помощью конструктора Lego mindstorms EV3, программирование роботов объясняется на примере среды разработки Lego mindstorms EV3, тем не менее, владельцы Lego mindstorms NXT тоже могут присоединиться к изучению данного курса, и, надеемся, найдут для себя тоже полезное.

LEGO Mindstorm EV3: Programming Tutorial

Урок №2 — Программирование движения робота

Информация о материале Категория: Первые шаги Просмотров: 310105

Источник: robot-help.ru

Программирование микрокомпьютера LEGO NXT Mindstorms 2.0. Введение

Здравствуйте. В своих статьях я хочу Вас познакомить с основами программирования микрокомпьютера LEGO NXT Mindstorms 2.0. Для разработки приложений я буду использовать платформы Microsoft Robotics Developer Studio 4 (MRDS 4) и National Instruments LabVIEW (NI LabVIEW). Будут рассматриваться и реализовываться задачи автоматического и автоматизированного управления мобильными роботами. Двигаться мы будем от простого к сложному.

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

Почему именно NXT Mindstorms 2.0? Потому-что для своих проектов данный набор мне показался наиболее подходящим, т.к. микрокомпьютер NXT полностью совместим с платформами MRDS 4 и NI LabVIEW, а так же данный набор является очень гибким в плане сборки различных конфигураций роботов — затрачивается минимум времени на сборку робота.

Почему платформы MRDS 4 и NI LabVIEW? Так сложилось исторически. Обучаясь на старших курсах университета стояла задача в разработке учебных курсов с использованием данных платформ. К тому же платформы обладают достаточной простотой в освоении и функциональностью, с их использованием можно написать программу непосредственно для управления роботом, разработать интерфейс пользователя и провести тестирование в виртуальной среде (в случае с MRDS 4).

Как написать программу для Робота Сумо MEGA-BOT .LEGO EV3 MINDSTORMS.

Да кому вообще нужны эти ваши уроки, в сети и так куча проектов по робототехнике! С использованием данной связки (NXT+MRDS 4/NI LabVIEW) учебных статей практически нет, в основном используется родная среда программирования, а в ней совсем все тривиально. Всем кому интересны робототехника, программирование и у кого есть набор NXT (а таких не мало), возрастная аудитория любая.

Читайте также:
Где искать загруженную программу

Графические языки программирования это зло, а те кто на них программируют еретики! Графические языки программирования коими и являются MRDS 4 и NI LabVIEW несомненно имеют свои минусы, например ориентированность под узкие задачи, но все же в функциональности они мало уступают текстовым языкам, тем более NI LabVIEW изначально разрабатывался как язык легкий в освоении для решения научных и инженерных задач, для этого в нем присутствует множество необходимых библиотек и инструментов. По-этому для решения наших задач данные графические языки являются наиболее подходящими. И не надо нас за это сжигать на костре презирать.

Все это выглядит по-детски и вообще не серьезно! Когда задача состоит в реализации алгоритмов, в обучении основам и принципам программирования, робототехники, систем реального времени без углубления в схемотехнику и протоколы, то это очень подходящий инструмент хоть и не дешевый (касаемо набора NXT). Хотя для этих же целей неплохо подойдут наборы на базе Arduino, но совместимости с MRDS 4 и NI LabVIEW у данного контроллера почти нет, а в данных платформах есть свои прелести.

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

Краткий обзор платформ MRDS 4 и NI LabVIEW.

Внесу некоторую ясность в терминологию. Под платформой, в данном случае, имеется ввиду совокупность различных инструментов, например язык VPL в MRDS, а так же среда выполнения приложений, т.е. непосредственной компиляции приложений в исполняемые (*.exe) файлы нету.

В 2006 году Microsoft объявила о создании платформы Microsoft Robotics Developer Studio (более подробно в статье Википедии). MRDS – это Windows – ориентированная среда разработки приложений для робототехники и симуляции. В настоящее время актуальной является версия Microsoft Robotics Developer Studio 4. Среди особенностей: язык графического программирования VPL, Web – и Windows – ориентированные интерфейсы, среда симуляции VSE, упрощенный доступ к датчикам, микроконтроллеру и исполнительным механизмам робота, поддержка языка программирования C#, библиотеки для многопоточного программирования и распределенного выполнения приложений CCR и DSS, поддержка многих робототехнических платформ (Eddie, Boe — Bot, CoroBot, iRobot, LEGO NXT и т.д.).

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

Краткий обзор набора LEGO NXT Mindstorms 2.0.

  • 32-битный микроконтроллер AVR7 с 256 КБайт FLASH памяти и 64 КБайт RAM памяти;
  • 8-битный микроконтроллер AVR c 4 Кбайт FLASH памяти и 512 Байт RAM памяти;
  • радиомодуль Bluetooth V 2.0;
  • USB-порт;
  • 3 разъема для подключения сервоприводов;
  • 4 разъема для подключения датчиков;
  • LCD дисплей разрешением 99×63 пикселей;
  • динамик;
  • разъем для 6 батареек типа AA.
  • ультразвуковой датчик;
  • два тактильных датчика (датчики касания);
  • датчик опредения цвета.

Рисунок 1 — Микрокомпьютер NXT с подключенными датчиками и приводами

И конечно же в наборе находятся разнообразные детали LEGO в форм-факторе LEGO Technic из которых будут собраны исполнительные механизмы и несущая конструкция.

Рисунок 2 — Детали в форм-факторе LEGO Technic

Пишем первое приложение.

Напишем первое приложение. Пусть, классически, данное приложение выводит текст “Hello, World!”. Реализация будет происходить поочередно в MRDS 4 и NI LabVIEW, в процессе будем рассматривать специфику каждой платформы.

Предварительно инсталлируем платформы MRDS 4 и NI LabVIEW, в случае с MRDS 4 инсталляция должна проводится в папку путь к которой не состоит из кириллицы (русских букв), учетная запись пользователя так-же должна состоять только из латинских букв.

1. Платформа MRDS 4.

Запускаем среду VPL (Меню Пуск — Все Программы — Microsoft Robotics Developer Studio 4 — Visual Programming Language). Данная среда позволяет разрабатывать приложения на языке VPL, проводить тестирование в виртуальной среде VSE. Программа в VPL представляет собой диаграмму, состоящую из соединенных между собой блоков. В открывшемся окне, помимо стандартной панели команд и меню, присутствует 5 основных окон:

  1. Basic Activities – содержит базовые блоки, которые реализуют такие операторы как константа, переменная, условие и т.д.;
  2. Services – содержит блоки, предоставляющие доступ к функционалу платформы MRDS, например блоки для взаимодействия с какой-либо аппаратной составляющей робота, или блоки для вызова диалогового окна;
  3. Project – объединяет диаграммы входящие в проект, а так же различные конфигурационные файлы;
  4. Properties – содержит свойства выделенного блока;
  5. Diagrams window – содержит, непосредственно, диаграмму (исходный код) приложения.

Рисунок 3 — Среда программирования VPL

Выполним следующую последовательность действий:

  1. добавим блоки Data (из окна Basic Activities) и блок сервиса Simple Dialog (из окна Services),
  2. в блок Data введем “Hello, World!” (без кавычек) и выберем тип данных String,
  3. соединим блок Data с блоком Simple Dialog, появиться диалоговое окно,
  4. далее, все выполняем как на рисунках
Читайте также:
Программа как найти Айфон друга

Рисунок 4 — Окно Connections

Рисунок 5 — Окно Data Connections

Рисунок 6 — Законченный вид диаграммы

2. Платформа NI LabVIEW.

На данной платформе все реализуется, практически, идентично. Запустим среду LabVIEW. Перед нами появиться два окна, первое — Front Panel, предназначено для реализации интерфейса пользователя (внешнего вида виртуального прибора), второе — Block Diagram, для реализации логики программы.

Рисунок 8 — Окна среды LabVIEW

Начало программирование в LEGO Mindstorms EV3 с использованием языка Java

Russian English

В настоящее время для программирования в Lego Mindstorms EV3 используется графический язык программирования LabVIEW, который позволяет создавать простые программы.
Набор LEGO Mindstorms EV3 позволяет придумывать различные изобретения, которые работают с помощью набора моторов, модульных датчиков и включают в себя интеллектуальный компьютер, который управляет системой. Комплекты содержат программное и аппаратное обеспечение для создания управляемых роботов Lego.
Lego Mindstorms EV3 может работать с прошивкой leJOS, тогда в роботе может запускаться Java-приложение. Специально для этого компания Oracle выпустила и поддерживает отдельную версию полноценной Java SE [1].
LeJOS – это замена прошивки для программируемых устройств Lego Mindstorms. Она в настоящее время поддерживает такие устройства, как LEGO RCX, Lejos NXJ, NXT, EV3. Также включает в себя виртуальную машину Java, что позволяет Lego Mindstorms запрограммировать роботов на языке программирования Java [2].
В LeJOS программировать легко и удобно. Во-первых, используется объектно-ориентированный язык, поэтому сложные программы пишутся легче, чем на простом графическом языке программирования LabVIEW.
Преимущества программирования в Lego Mindstorms, используя прошивку leJOS [2]:
• Использование объектно-ориентированного языка Java.
• Можно создавать приложения, работающие не только в модуле EV3, но и приложения для смартфонов, планшетов и компьютеров для удаленного взаимодействия с роботом.
• Веб-камера, подключенная к модулю EV3, отображает изображение, видео на дисплее или удаленно передает их на компьютер. Камеру можно использовать, например, вместо датчика цвета.
• Массивы можно выбрать одномерные или многомерные.
• Можно использовать множество классов Java.
Итак, приведем и разберем пошагово пример написания простой программы. Для этого, во-первых, начинаем с выражения «Hello world»:

nachalo-programmirovanie-v-lego-mindstorms-1

Рис. 1. Код «Hello world»

« ПерваяПредыдущая1 2 3СледующаяПоследняя »

Публикация научной статьи. Пошаговая инструкция

telemarketer

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

Источник: scienceproblems.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru