Обзор дополнительных возможностей



В настоящий момент помимо датчиков, поставляемых в стандартном наборе, существуют также датчики «компас», датчики ускорения, гироскопические датчики, цветовые и температурные датчики, и пока вы читаете это, их выпускается еще больше. Компания Lego и компании-партнеры, такие как HiTechnic (http://www.hitechnic.com) или Mindsensors (http://www.mindsensors.com), посвящают много времени увеличению числа датчиков, работающих с NXT (рис. 1.5). С их помощью можно значительно расширить функциональность роботов.

Вас интересует новая электроника? Теперь с контроллером NXT могут работать почти любые сервомоторы благодаря разработке комапании Mindsensors — сервоконтроллеру NXTServo. В январе 2013 г. была анонсирована новая серия конструкторов Lego Mindstorms EV3, которые

совместимы с датчиками и моторами NXT, но 

обладают бóльшими возможностями. Однако можно быть уверенным, что с тем множеством Рис. 1.5. Датчик от Hitechnic.

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

Программное обеспечение

Зарубежные разработки

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

Вместе с наборами «для дома» поставляется оригинальная графическая среда программирования Lego Mindstorms NXT. Версия Lego Mindstorms NXT Edu, предназначенная для школ, отличается от «домашней» только тремя буквами в названии и электронным руководством пользователя. Язык программирования системы NXT, именуемый NXT-G, — это графический, drag-and-drop язык, который является не только очень простым для освоения, но еще и мощным. Если вы использовали программное обеспечение ROBOLAB с RCX, возможно, вы обнаружите некоторую схожесть.

Однако в школах, по мнению автора, для изучения робототехники следует использовать именно ROBOLAB версии 2.9, которая поддерживает NXT. Это связано с ресурсоемкостью среды NXT-G: при достаточно широких возможностях в ней можно создавать только очень маленькие программы. Причем не на всех компьютерах NXT-G нормально заработает. Обе среды были разработаны как дополнения к высоко оцениваемому профессиональному языку программирования, называемому LabVIEW, и многим обязаны ему. LabVIEW, далеко не игрушка, используется в сложных системах сбора данных и системах управления по всему миру, служит гибким и мощным орудием для ученых и инженеров[6]. Robolab по своим возможностям существенно ближе к LabVIEW и менее требователен к ресурсам, чем NXT-G. Одним из его достоинств Robolab 2.9 можно назвать наглядность и схожесть с языком блок-схем. Приобрести его можно, например, в Интернет-магазине Lego Education по адресу http://www.legoeducation.us. Полноценная поддержка осуществляется на сайте http://www.legoengineering.com; там же следует скачивать патчи, расширяющие возможности Robolab, в том числе по работе с датчиками различных производителей. 

Надо признать, что большим сюрпризом в NXT-G стало то, что его чрезвычайно просто освоить. Пользователи, у которых совсем нет опыта программирования, могут втянуться очень быстро. Lego мудро решила включить множество инструкций и рекомендацийпо программированию в программное обеспечение; они демонстрируют многие основные управляющие блоки, а также различные техники программирования, которые принесут пользу как начинающим, так и продвинутым пользователям.Графический пользовательский интерфейс так прост в обращении и интуитивно понятен, что многие, погружаясь в него, начинают экспериментировать с программным обеспечением, постигая его работу путем проб и ошибок. Поэтому, надеясь на увеличение мощностей компьютеров в будущем (объем памяти, частота процессора, размеры экрана), стоит не отвергать NXT-G и позиционировать его, как язык для начального самостоятельного освоения программирования роботов, тем более, что он поставляется вместе с конструкторами 8527 и 8547 «для дома».

Гибкость системы NXT допускает программирование и на других языках. Три наиболее общепринятых — это NBC, NXC и RobotC. NBC и NXC — свободные языки, созданные Джоном Хансеном. Оба они текстовые, а NXC похож на язык С (NXC расшифровывается как Not eXactly C — не совсем С). Их можно бесплатно скачать на сайте http://bricxcc.sourceforge.net/nbc. Надо признать, что эти языки не раскрывают всю мощь текстового программирования для NXT. RobotC — тоже текстовый язык, очень похожий на С, — обладает существенно большими возможностями. Продукт Carnegie Mellon University’s Robotics Academy может быть скачан с http://www.robotc.net. Полнофункциональная 30-дневная демоверсия RobotC бесплатна, по прошествии этого срока можно приобрести лицензию за доступную сумму (80$ США).

Остановив свой выбор на трех языках — NXT-G, Robolab 2.9 и RobotC, — рассмотрим классификацию по возрасту и уровню подготовки пользователей, приведенную в табл. 1.1.

Таблица 1.1. Среды программирования роботов на базе NXT

Среда Язык Возраст Назначение
Lego Mindstorms NXT Software NXT-G 8—12 лет  (дети и родители) Самостоятельное изучение дома, основы 
Robolab 2.9.4[7] Robolab 8—16 лет, (дети, родители, учителя) Изучение на уроках робототехники, использование на состязаниях роботов
RobotC for Mindstorms RobotC 14—99 лет (преимущественно программисты) Использование личного опыта программирования на языке C для создания роботов с широкими возможностями 

У компании Lego Education свой взгляд на возраст пользователей    конструкторов.     Он выражен    в     диаграмме с     сайта

http://www.legoengineering.com, относящейся ко времени появления среды Lego Mindstorms NXT (рис. 1.6).

 

Рис. 1.6. Программное обеспечение для Mindstorms к августу 2006 г.

В 2010 году Lego совместно с National Instruments выпустила продукт LabView for Mindstorms для старшей школы, чтобы заполнить существующий на данный момент пробел между «игрушечной» средой графического программирования Lego Mindstorms NXT и «взрослой» средой LabView, которую используют инженеры (рис. 1.7). 

 

Рис. 1.7. Планы развития программного обеспечения к 2010 г.

До тех пор обновленная версия Robolab 2.9.4 была призвана временно заполнить пробел и обеспечить безболезненный переход к NXT-программированию. Однако, несмотря на появление новой версии LabVIEW для школ, стандартом по-прежнему остается Robolab, полюбившийся пользователям за свою функциональность, простоту и наглядность. Последним подтверждением преимущества Robolab стало разработанное дополнение к образовательной версии LabView, которое полностью реализует его функционал и носит название Robolab 2.9.4d.

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

Отечественные разработки

Россия сильна своими математиками и программистами. И хотя нет пока отечественного робототехнического конструктора, но уже появилась серьезная альтернатива зарубежным средам программирования роботов, которая в ближайшем будущем сможет превзойти их по всем параметрам. Это разработка ГУП «Терком», базирующегося на математико-механическом факультете Санкт-Петербургского государственного университета. Программный продукт QReal:Robots — это среда графического проектирования, позволяющая не только быстро создавать программы, похожие на блок-схемы, но и сразу просматривать их текстовый аналог на языке Си. 

Для генерации исполняемого кода используется свободнораспространяемая операционная система реального времени nxtOSEK, задача которой состоит в управлении контроллером NXT. Для специалистов nxtOSEK сама по себе интересна быстродействием и эффективным использованием ресурсов контроллера.

Для детей и преподавателей QReal:Robots интересна как многофунциональная среда, содержащая возможности графического и текстового программирования одновременно. Начиная с красочных пиктограмм, учащиеся постепенно переходят к строгому и функциональному коду на языке Си. Кроме того, QReal снабжена режимом моделирования поведения робота в виртуальной среде. Этим могут «похвастаться» разве что Microsoft Robotics Studio, RobotC Virtual Worlds и MatLab с соответствующими надстройками.

Глава 2. Конструирование

Способы крепления деталей

Если читатель уже имеет опыт конструирования на основе Lego Technic, то этот раздел можно смело пропустить и переходить сразу к разделу «Волчок». Если же подобный конструктор у вас в руках впервые, стоит изучить эту главу даже раньше, чем инструкцию Quick Start, предлагаемую Lego.


Дата добавления: 2019-02-22; просмотров: 660; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!