Место для баннера, продается :)

LEGO-спасатель на LabVIEW

LEGO-спасатель на LabVIEW LEGO-спасатель на LabVIEW

В этом разделе предлагается пример програмирования LEGO-спасателя для передвижения в опасной среде с целью выполнения операции по спасению. Студенты будут моделировать прототип автономного транспорта, используя набор LEGO MINDSTORMS® NXT и программировать контроллер NXT с помощью LabVIEW Education Edition (LVEE).

 

 

ЗАДАНИЕ

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

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

 

ОСНОВЫ

Этот урок ознакомит студентов с конструкторским набором LEGO MINDSTORMS NXT, программным обеспечением LabVIEW Education Edition и техническим процессом проектирования.

Комплект NXT содержит программируемый блок NXT, конструктивные детали, моторы и следующие датчики:

  • Световой датчик
  • Сенсорный датчик
  • Ультразвуковой датчик
  • Звуковой датчик
  • Датчик вращения (встроенный в двигатели)

 

Используя этот набор, студенты могут создать ряд роботизированных устройств.

Блок NXT можно программировать с помощью LabVIEW Education Edition, языка графического программирования от National Instruments. Программы LabVIEW называют “виртуальными инструментами” (VI), каждая программа состоит из фронтальной панели и блок-схемы, как показано ниже.

 

Фронтальная панель

Блок-схема

 

Фронтальная панель – это то, где Вы создаете пользовательский интерфейс;  блок-схема – то, где Вы пишете свой код путем записывания совместно графического представления функций и VI. Код – ряд команд, указывающих Вашему роботу, что делать. Код на вышеприведенной блок-схеме включает мотор, подключенный к порту А, на 3 секунды, затем останавливает его, используя тормоз.

Программы LabVIEW могут реализовываться в двух режимах: прямом и удаленном. В прямом режиме блок NXT подключен к компьютеру через USB или Bluetooth, и программа выполняется на компьютере. В удаленном режиме программа, созданная на компьютере, откомпилированная и загруженная в блок NXT, выполняется с него в любое время – нет необходимости в подключении блока NXT к компьютеру.

Прямой режим

Удаленный режим

 

Этот урок охватывает программирование в обоих режимах.

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

ИНСТРУКЦИИ

Часть I: Введение (10 минут)

1. Ознакомьте студентов с задачей. Идентифицируйте проблему и ограничения по проектированию и построению модели (шаг 1 процесса проектирования).

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

3. Ознакомьте студентов с оборудованием NXT, которое они будут использовать для создания их спасательных транспортных средств.

а. Пройдитесь по названиям деталей в комплекте NXT (см. Приложение B).

б. Объясните, что у блока NXT есть 3 порта вывода (A, B, C), куда присоединяют моторы, и 4 входных порта (1, 2, 3, 4), куда подключают датчики.

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

 

Часть II: Создание (30 минут)

1. Дайте каждой паре студентов набор NXT и инструкции по созданию основного автомобиля, показанного ниже (см. Приложение C).

2. Студенты следуют указаниям по созданию автомобиля с 2 моторами или проектируют свой собственный дизайн.

3. Когда студенты закончат создание своих автомобилей, они должны провести несколько минут в коллективном обсуждении по поводу того, как сконструировать багажник для поставки альпинистам груза (представленный красным и синим шаром, которые идут в комплекте). Багажник может быть прицепом и/или ящиком сверху автомобиля NXT. Студенты должны описать или нарисовать свои идеи в Журнале конструктора. Напомните студентам, что все спасательное транспортное средство, включая багажник, должно быть меньше 12 дюймов в длине, 9 дюймов по ширине и высоте.

4. Студенты должны реализовать багажник и прикрепить его на их автомобиль.

5. Спасательное транспортное средство (автомобиль плюс контейнер) должно пройти следующие тесты на проверку прочности:

a. Вибротест – детали не должны рассыпаться при встряхивании автомобиля.

б. Испытание методом сбрасывания – при падении с уровня лодыжки учителя автомобиль должен остаться целым и невредимым.

6. Спасательные транспортные средства, которые не являются прочными, должны быть перепроектированы.

7. Когда студенты закончат создание своих спасательных автомобилей, напомните им нарисовать схемы готовых проектов в их Журнале конструктора.

8. Студенты откладывают свои проекты в сторону, и Вы знакомите их с частью программирования.

Часть III: Программирование (30 минут)

1. Объясните студентам, что теперь они будут программировать свои спасательные машины NXT для автономной работы — без входных команд от пользователя. Программа – это ряд команд, которым следует NXT. Команды должны быть настолько точными, насколько это возможно. Попробуйте записать ряд команд, которым должен следовать LEGO-спасатель для выполнения миссии. Например:

2. Ознакомьте студентов с программным обеспечением LabVIEW Education Edition. Расскажите основы LabVIEW, проведя обзор по основным компонентам (фронтальная панель, блок-схема, палитры и т.д.). Большинство VI, которыми студенты захотят воспользоваться (таких, как мотор или команды ожидания), можно найти и в палитре ввода/вывода NXT, и в основной  палитре (показаны ниже).

 

Палитра ввода/вывода NXT

Основная палитра

.

3. Покажите студентам, где они могут найти справку (контекстную справку и детальную справочную документацию для модуля NXT). Контекстная справка описывает, что VI делают, перечисляет доступные вводы и выводы, а также заданные по умолчанию входные значения. Детальная справочная документация содержит советы, типовую программу и примеры.

4. Первая программа будет написана в прямом режиме. Продемонстрируйте, как программировать блок NXT, используя LabVIEW с помощью написания короткой программы для движения, ожидания x секунд, затем торможения, как показано ниже.

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

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

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

8. Как только студенты поймут, как программировать NXT в прямом режиме, объясните различие между прямым и удаленным режимами. Они должны будут использовать этот режим, чтобы управлять спасательным транспортным средством (вторая задача). Покажите им, как переключаться между этими двумя режимами, используя File menu. Находясь в прямом режиме, Вы видите белый блок с “Main Application Instance” в нижнем левом углу фронтальной панели и блок-схемой (см. ниже). Находясь в удаленном режиме, Вы видите оранжевый блок с названием NXT, подключенным к компьютеру; в этом случае название присоединенного NXT – Darby (см. ниже).

Прямой режим

Удаленный режим

 

9. Дайте возможность студентам проверить свою программу в удаленном режиме. Их автомобиль должен по-прежнему проехать 6 дюймов.

10. Попросите студентов запрограммировать свое транспортное средство для передвижения на 6 дюймов, используя удаленный режим. Они должны найти точное время  с помощью того же самого метода, что и прежде.

11. Как только студенты успешно заставят свой автомобиль перемещаться на 6 дюймов, используя метод проб и ошибок, дайте им задание математически вычислить, сколько оборотов должны сделать колеса, чтобы проехать это расстояние. Вместо того, чтобы управлять спасателем во времени, им можно управлять, используя датчики вращения, встроенные в моторы. Дальность передвижения VI, расположенная в основной палитре, берет расстояние (в  числе оборотов колеса) как вводные данные. Чтобы вычислить расстояние в оборотах колеса, студенты должны разделить линейное расстояние, которое необходимо проехать, на радиус колеса и результат преобразовать из радиан в количество оборотов. Напомните студентам добавить комментарии в их код.

12. Еще раз студенты должны рассмотреть зависимость между скоростью и точностью (они могут корректировать мощность моторов, заданный по умолчанию уровень мощности равен 75).

 

Часть IV: Обсуждение классом (20 минут)

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

а. Что Вы коллективно обсуждали (автомобиль или багажник), но не использовали?

б. Какие трудности Вы преодолевали при создании модели? В программировании?

в. Смогли заставить свой автомобиль остановиться в точном местоположении?

2. Какова зависимость между скоростью и точностью?

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

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

 

ДОПОЛНЕНИЯ

1. Программирование: Запрограммируйте спасательное транспортное средство на возврат к началу.

2. Создание: Создайте устройство, которое может поднимать и сбрасывать груз, вместо того, чтобы просто перевозить его. (Подсказка: для этого потребуется второй мотор NXT.)

3. Взаимодействие: Заберите груз непосредственно у спасательного транспортного средства другой группы.

 

ТИПОВЫЕ ПРОЕКТЫ И ФОТОГРАФИИ

Фотография типового автомобиля NXT с кабелями:

Типовой код:

Метод проб и ошибок:

Метод математического решения:

  • Оцените материал
    (1 Голосовать)
  • Опубликовано в NXT 2
  • Прочитано 3758 раз

1 Комментарий

  • Кристина

    Кристина

    Комментировать 01.12.2014 10:04

    Здравствуйте! Я пытаюсь разобраться в коде, у меня возник вопрос, если вместо 180 градусов написать 90, робот повернет на 90 градусов?

Оставить комментарий

Убедитесь, что вы вводите (*) необходимую информацию, где нужно
HTML-коды запрещены

Наверх

Последние новости от LEGO Mindstorms NXT 2

Лабораторный практик…

29-04-2013 Hits:3275 NXT 2 Capitano - avatar Capitano

Лабораторный практикум №4 по LEGO MINDSTORMS NXT

Целью данного урока является написание кода для подключения Wiimote по Bluetooth при помощи LabVIEW. Приведен пример написания кода для считывания состояния одной кнопки и статуса XYZ ускорения Wiimote.

Read more

Лабораторный практик…

24-04-2013 Hits:15249 NXT 2 Capitano - avatar Capitano

Лабораторный практикум №3 по LEGO MINDSTORMS NXT

Целью данного урока является написание кода, с помощью которого можно будет считывать состояние мотора робота NXT и заставить моторы двигаться, используя инструментарий LabVIEW NXT.

Read more

Лабораторный практик…

22-04-2013 Hits:3417 NXT 2 Capitano - avatar Capitano

Лабораторный практикум №2 по LEGO MINDSTORMS NXT

Целью данного урока является изучение основ среды программирования LabVIEW и получение практических навыков программирования с использованием инструментария LabVIEW NXT. Приведен пример написания кодов для считывания показаний датчиков на NXT-блоке.

Read more

Коментарии в материале

Мишени для тренировок…

01-12-2016 Hits:3150 Спортивная стрельба Capitano - avatar Capitano

Каталог мишеней для тренировок на основе "Официальной мишени для ПТ" Все файлы в формате PDF, при печати использовать реальный размер!

Read more

17.10.2015г. Чемпионат по Fi…

02-10-2015 Hits:1584 Спортивная стрельба Capitano - avatar Capitano

17.10.2015г. Чемпионат по Field Target. Киев.Украина

Приглашаются все желающие, 17 октября 2015г, принять участие в открытых соревнованиях по Field Target, в классах ППП и ПСП до 16,3дж в калибре 4,5мм. 

Read more