Программирование по робототехнике lego

Обновлено: 28.04.2024

Что первым приходит вам на ум, когда вы слышите слово «робот»? Человекоподобная фигура почти с человеческим интеллектом, которая может выполнять человеческие задачи? Сборочная машина на производстве? Космический вездеход? И как вы собираетесь помочь своим детям научиться программировать робота, если вы сами никогда этого не пробовали? Читайте дальше, чтобы это узнать!


Избранные наборы

Робот-изобретатель

Базовый набор LEGO® Education SPIKE™ Prime

Набор LEGO® Education BricQ Motion Prime

Набор LEGO® Education BricQ Motion Старт

Роботы-конструкторы LEGO® — идеальный подарок для мальчиков и девочек всех возрастов. Даже если вам кажется, что у вашего ребенка нет интереса к программированию, его наверняка воодушевит шанс собрать собственного робота.

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


Пять роботов, умеющих ходить, играть, водить, строить и мяукать, в одном!

Набор для конструирования и программирования LEGO® BOOST — это пять игрушечных программируемых роботов в одном веселом и красочном наборе. От новичков до экспертов — дети в возрасте от 7 до 12 лет могут собрать и запрограммировать своего собственного разговаривающего интерактивного друга-робота Верни, классный многофункциональный вездеход M.T.R.4, создающую хиты Гитару 4000, кота Фрэнки или Сборочную линию.

Keep them learning at home

For the first time ever, the award-winning LEGO® Education line is now available for home learning. These products use bricks, programming tools, and supporting lesson plans to help kids develop their communication, creativity and critical thinking-skills in a fun and exciting way.


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

Если ваш ребенок еще не готов собирать роботов-цыплят или роботов-динозавров, которые захватят мир, он может начать с простых пошаговых инструкций, которые прилагаются ко всем роботам LEGO. В набор LEGO BOOST входят инструкции для пяти абсолютно разных роботов, каждый из которых обладает своими уникальными функциями, назначением и характером. LEGO MINDSTORMS® предлагает вашему ребенку выбор как минимум из 17 различных роботов!


Познакомьтесь с роботами-игрушками LEGO и узнайте, насколько легко можно начать собирать и программировать при помощи новейших, бесплатных советов и рекомендаций по программированию от BOOST и MINDSTORMS®.

Одними из самых популярных роботов LEGO являются LEGO BOOST для девочек и мальчиков в возрасте 7–12 лет и LEGO MINDSTORMS для детей в возрасте от 10 лет. Дети могут начать собирать оба набора независимо от уровня их мастерства и продолжать еще очень долго по мере взросления. Ведь мы перестаём играть не потому, что становимся старше. Мы становимся старше, потому что перестаём играть! Так что же вы получаете в каждом из этих наборов?

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

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


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

Избранные наборы

Робот-изобретатель

Базовый набор LEGO® Education SPIKE™ Prime

Набор LEGO® Education BricQ Motion Prime

Набор LEGO® Education BricQ Motion Старт

Программирование роботов LEGO® для детей

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


Кто может учиться программированию c игрушками LEGO®?

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


Keep them learning at home

For the first time ever, the award-winning LEGO® Education line is now available for home learning. These products use bricks, programming tools, and supporting lesson plans to help kids develop their communication, creativity and critical thinking-skills in a fun and exciting way.


Какую пользу приносит детям изучение программирования?

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

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


Знаете ли вы, что изучение языка и структуры программного кода — например, HTML, — очень похоже на изучение другого языка? Навыки, которые ваш ребенок узнает из программирования, могут быть непосредственно применены к изучению правил грамматики и синтаксиса других языков!

Организационные навыки и навыки решения проблем

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

Любопытство, творчество и уверенность

Дети могут создать логово злодеев, ракету или кукольный дом из картонной коробки и мелков. Представьте себе, что они могут сделать с кодом! Дети находят творческие способы использовать то, что им нужно, чтобы создать что-то новое. Если они хотят запрограммировать список воспроизведения, оживить животное или робота LEGO® или даже создать новую игру, они могут использовать строительные блоки кода, чтобы создавать свои собственные уникальные игрушки, гаджеты или интересные истории для игр с друзьями. Это очень здорово.

Более уверенное будущее со STEM

Кем бы ни хотел стать ваш ребенок — врачом, шофером больших грузовиков, шеф-поваром или художником, — скорее всего он будет работать в рамках одной или нескольких дисциплин STEM: наука, технологии, принципы конструирования и математика. Ему не обязательно быть экспертом в STEM — одно лишь изучение основ программирования может дать ему гораздо более глубокое понимание технологий, с которыми он будет работать, а также инструменты, необходимые для улучшения рабочего процесса в своей области.

Как дети учатся программировать с игрушками LEGO®?

Для детей игра — лучший способ изучить что-то новое. То же самое касается программирования. Вот как вы можете начать с веселыми, простыми или даже сложными программами с помощью правильных игрушек LEGO® для девочек и мальчиков всех возрастов.

LEGO® BOOST — программируемые роботы и игрушки для детей в возрасте от 7 до 12 лет

Набор для конструирования и программирования LEGO® BOOST (17101) — это увлекательная игрушка для игры дома. Она поставляется с инструкциями по строительству пяти разных моделей роботов. В бесплатном приложении для программирования вы найдете инструкции для базовых фреймов, которые позволят ребенку построить любого робота или механическую машину, которую он только может себе представить!


LEGO MINDSTORMS® для детей в возрасте от 10 лет

LEGO® MINDSTORMS® — это набор для сборки, перестройки, программирования и управления семнадцатью роботами LEGO! Бесплатные программы и приложения позволяют подключить роботов к компьютерам, планшетам или смартфонам.


LEGO® Education WeDo 2.0 для дошкольного обучения, начальной и средней школы

LEGO® Education WeDo 2.0 — это серия обучающих наборов, разработанная в качестве инструмента для учителей для проведения увлекательных уроков для учащихся в программах дошкольного обучения, а также в начальной и средней школе.


Нужна помощь с игрушками для программирования LEGO®?

Не хватает деталей? Вы потеряли инструкции по сборке? У вас есть вопросы о функции, приложении или элементе вашей игрушки для программирования? Дружелюбные сотрудники службы поддержки клиентов LEGO® (среди которых нет роботов) будут рады вам помочь!

Привет, Хабр! Мы уже рассказывали о платформе LEGO MINDSTORMS Education EV3. Основные задачи этой платформы — обучение на практических примерах, развитие навыков STEAM и формирование инженерного мышления. В ней можно проводить лабораторные работы по изучению механики и динамики. Лабораторные стенды из кубиков LEGO и утилиты по регистрации и обработке данных делают опыты еще интереснее и нагляднее и помогают детям лучше понять физику. Например, школьники могут собрать данные о температуре плавления и с помощью приложения систематизировать их и представить в виде графика. Но это только начало: сегодня мы расскажем, как дополнить этот набор средой программирования MicroPython и использовать его для обучения робототехнике.




Учим программированию с помощью EV3

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

Базовая среда программирования EV3 создана на основе графического языка LabVIEW и позволяет задавать алгоритмы для робота визуально: команды представлены в виде блоков, которые можно перетаскивать и соединять.


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

Здесь есть несколько хитростей, одна из которых — показать, что код выполняет те же задачи, что и блоки. В среде EV3 это можно сделать благодаря интеграции с MicroPython: дети создают одну и ту же программу в базовой среде программирования с помощью блоков и на языке Python в Visual Studio Code от Microsoft. Они видят, что оба способа работают одинаково, но кодом решать сложные задачи удобнее.

Переходим на MicroPython

Среда EV3 построена на базе процессора ARM9, и разработчики специально оставили архитектуру открытой. Это решение позволило накатывать альтернативные прошивки, одной из которых стал образ для работы с MicroPython. Он позволяет использовать Python для программирования EV3, что делает работу с набором еще ближе к задачам из реальной жизни.

Чтобы начать работать, нужно скачать образ EV3 MicroPython на любую microSD-карту, установить ее в микрокомпьютер EV3 и включить его. Затем нужно установить бесплатное расширение для Visual Studio. И можно приступить к работе.

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


На нашем сайте есть несколько уроков для освоения базовых понятий робототехники. Модели на EV3 знакомят детей с азами, которые используются в самоуправляемых автомобилях, заводских роботах-сборщиках, станках с ЧПУ.

Мы возьмем для примера чертежную машину, которую можно научить рисовать узоры и геометрические фигуры. Данный кейс является упрощенным вариантом взрослых роботов-сварщиков или фрезеровщиков и показывает, как можно использовать EV3 совместно с MicroPython для обучения школьников. А еще чертежная машина может разметить отверстия в печатной плате для папы, но это уже другой уровень, требующий математических расчетов.

Для работы нам понадобятся:

  • базовый набор LEGO MINDSTORMS Education EV3;
  • большой лист клетчатой бумаги;
  • цветные маркеры.

Сначала инициализируем библиотеку модулей EV3:


Настраиваем платформу, которая вращает ручку как мотор в порте B. Задаем передаточное отношение двухступенчатой зубчатой передачи с количеством зубьев 20-12-28 соответственно.


Настраиваем подъемный механизм для ручки как мотор в порте C:


Настраиваем гироскоп, измеряющий угол наклона ручки, в порте 2:


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


Настраиваем датчик касания в порте 4. Робот начинает рисовать, когда датчик нажат:


Определяем функции, которые поднимают и опускают ручку:


Определяем функцию для поворота ручки на заданный угол или до определенного угла:


Если целевой угол больше, чем текущий угол гироскопического датчика, продолжаем движение по часовой стрелке с положительной скоростью:


Если целевой угол меньше, чем текущий гироскопического датчика, то двигаемся против часовой стрелки:


Останавливаем вращающуюся платформу, когда целевой угол будет достигнут:


Устанавливаем начальное положение ручки в верхнем положении:


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

Когда устройство не готово, светодиоды на контроллере принимают красный цвет, и на ЖК-экране отображается изображение «палец вниз»:


Дожидаемся, когда датчик цвета считает синий или белый цвет, устанавливаем цвет светодиодов зеленым, отображаем на ЖК-экране изображение «палец вверх» и сообщаем, что устройство готово к работе:


Дожидаемся нажатия датчика касания, присваиваем гироскопическому датчику значение угла 0 и начинаем рисовать:


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


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

Что дают такие примеры


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

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

Здравствуйте. В своих статьях я хочу Вас познакомить с основами программирования микрокомпьютера 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).

Да кому вообще нужны эти ваши уроки, в сети и так куча проектов по робототехнике! С использованием данной связки (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) файлы нету.

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

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


Рисунок 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

Мы будем использовать окно Block Diagram. Выполним следующие шаги:

  1. в окне Block Diagram вызовем контекстное меню, нажатием правой кнопкой мыши,
  2. в появившемся окне перейдем по вкладкам, как на рисунке и выберем String Constant,

Здравствуйте. В своих статьях я хочу Вас познакомить с основами программирования микрокомпьютера 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).

Да кому вообще нужны эти ваши уроки, в сети и так куча проектов по робототехнике! С использованием данной связки (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) файлы нету.

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

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


Рисунок 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

Мы будем использовать окно Block Diagram. Выполним следующие шаги:

  1. в окне Block Diagram вызовем контекстное меню, нажатием правой кнопкой мыши,
  2. в появившемся окне перейдем по вкладкам, как на рисунке и выберем String Constant,

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