ДО курс по робототехнике

Показаны сообщения с ярлыком nxt. Показать все сообщения
Показаны сообщения с ярлыком nxt. Показать все сообщения

17 марта 2014 г.

​Робот-стрелок из комплекта Lego Mindstorm 2.0 NXT. Пошаговая инструкция по сборке

(C)DIY
Введение:

В этой инструкции мы постараемся показать вам, в меру своих возможностей, как сделать робота Lego Mindstorm Turret Shooter, и главным образом мы будем использовать только фотографии, потому что это легко и наглядно. Все необходимые детали для этого робота вы найдете в комплекте 2,0 Mindstorm NXT.

DIY, lego-робот, nxt, nxt - LEGO роботы - Robotics

DIY, lego-робот, nxt, nxt - LEGO роботы - Robotics

1 марта 2014 г.

RobotC Virtual Worlds и среда программирования NXT-G

(C)NiNoXT
Просматривая материалы на сайте RobotC можно обнаружить интересную "старую" новость - создатели популярной среды программирования сообщают о возможной будущей поддержке Виртуальными Мирами (RobotC Virtual Worlds - RVW) другой популярной среды программирования - NXT-G. Неожиданно, не так ли?!
Что это значит? А то, что теперь познавать основы программирования LEGO роботов смогут даже те школьники, у которых нет своего собственного NXT набора. Или даже еще лучше - целые робототехнические классы могут тренироваться в работе в среде NXT-G без необходимости иметь большое количество реальных роботов: к ним будут допускаться те ребята, кто сначала научил свой "виртуальный" механизм решению заданной задачи. 

22 августа 2013 г.

Управление файлами и памятью контроллера LEGO MINDSTORM NXT2.0

(C)http://legoms.ru

Иногда бывает необходимо управлять файлами, которые находятся в памяти NXT. Вы можете сделать это с помощью встроенного механизма доступа к памяти.
Для этого нужно подключить контроллер NXT компьютеру и на панели управления "кликнуть" по левой верхней кнопке.
Управление файлами и памятью контроллера LEGO MINDSTORM NXT2.0
В открывшемся окне появится графическое представление памяти NXT. В данном окне вы можете управлять программами и файлами, которые находятся в памяти контроллера. Вы можете выкачивать программы, звуки, графически и другие файлы с NXT на ПК, а также копировать и удалять файлы, которые уже находятся в памяти NXT.
 Описание окна управления памятью контроллера LEGO MINDSTORM NXT2.0
 Описание окна управления памятью контроллера NXT:
  1. Графическое представление занятой и свободной памяти.
  2. Различные категории файлов (программы, звук, графики и другие), которые занимают память NXT. Нажав на названии категории, вы увидите эти типы файлов в списке.
  3. Список файлов в выбранной категории.
  4. "Delete" - удалить. Эта кнопка удаляет все выбранные файлы из NXT.
  5. "Download" - скачать. Эта кнопка загрузки файлов с компьютера на NXT.
  6. "Upload" - загрузить. Эта кнопка будет копировать ваши файлы из NXT в ПК.
  7. "Delete All" - удалить все. Эта кнопка удаляет все пользовательские файлы и очищает память NXT.
  8. "Show System Filees" - показать системные файлы. Отметив этот флажок, вы увидите все файлы NXT, установленные на заводе .
Память контроллера NXT2.0

Контролер NXT имеет доступную память ~130,7 килобайта. Часть этой памяти используется для хранения программ, графических и звуковых файлов, которые предварительно загружены в NXT (пред. установка). Остается около 56 килобайт для файлов, которые вы можете создать или загрузить.

Удаление файлов из памяти NXT

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

Примечание: В редких случаях вы можете получить сообщение об ошибке "Недостаточно памяти", даже если графическое представление памяти (1) указывает на наличие свободного места. Это связано с тем ,что память "фрагментирована". Исправить эту ситуацию можно, используя кнопку "Удалить все файлы" пользователя. НО перед этим не забудьте сделать резервную копию всех важных файлов!

Вот список системных файлов и их описание:

Категория 

 Имя файла  Описание 

 Системные  NVConfig.sys

В нем хранятся системные параметры. Если вы удалите этот файл, новый будет создан автоматически. 
 Системные  Try-*.rtm  

 Файл конфигурации входов и выходов. Если выудалите этот файл, новый будет создан автоматически. 
 Системные  RPGreader.sysЭта программа позволяет запускать NXT программы (программы, которые создаются средствами NXT, используя иконки NXT Program). Удаление этого файла сделает невозможным создавать программы  средствами NXT. Программы, созданные и загруженныес компьютера все равно будут работать. 
 Системные  *.tmp  Любой файл с расширением ". tmp" является временным файлом. Временные файлы всегда можноудалить. 
 Системные  *.bak  Любой файл с расширением ". bak" являетсявременным файлом. Временные файлы всегда можноудалить. 
 Графические

 faceopen 

 Изображение головы LEGO Minifig (с открытым ртом)
 Графические

 faceclosed    

 Изображение головы LEGO Minifig  закрытым ртом)
 Звуковые  

 Woops    

 Звуковой файл используется в тестовой программе.Удаление этого файла сотрет звук из программы. Сама программа будет работать без звука. 
 Звуковые  

 ! Startup  Звуковой файл воспроизводится при запуске NXT.Удаление этого файла сотрет звук при запуске. 
 Звуковые  

 ! Click  Звуковой файл воспроизводится при нажатии кнопкина NXT. Удаление этого файла сотрет звук при нажатии кнопки на NXT. 
 Звуковые     

 ! Attention  

 Звуковой файл воспроизводится, когда NXT выдает предупреждение. Удаление этого файла сотрет звук при появлении предупреждения. 
 Программа  

 Demo   

 Демо-программа, удаление которой сотрет демо-программу с NXT. 

 Восстановление памяти NXT  в соответсвие с заводскими настройками


При обновлении прошивки NXT будет очищена вся память контроллера и загружены все файлы по умолчанию. Чтобы сделать резервную копию ваших личных файлов и совместного использованных файлов хранящихся на NXT, вы должны скопировать файлы с NXT на компьютер. Для этого сначала выберите категорию (2) для требуемых файлов, которые вы хотели бы сохранить в резервной копии. Выберите нужные файлы в списке (3) и нажмите кнопку Загрузить (7). Выберите папку, в которую будут сохранены файлы на вашем компьютере и нажмите кнопку ОК.

  Загрузка файлов в NXT

Чтобы отправить файл обратно в NXT, нажмите кнопку Download (5). Выберите файл, который вы хотите скопировать с компьютера и нажмите кнопку OK.

5 апреля 2013 г.

Определение положения предмета с помощью датчиков расстояния

(C)
Понятие триангуляция знакомо многим, кто хоть раз разбирался как работают GPS приемникиили тем, кто изучал что такое радиопеленгация. На самом деле это понятие пришло из геометрии и геодезии. Но сейчас пойдет речь именно о триангуляции, как способе определения координат или местоположении предмета.
Aswin - блогер из Дании, регулярно публикующий свои заметки на блоге NXT Time. Недавно опубликовал очень интересный материал - он показал, как с помощью двух датчиков расстояния (он использовал стандартные NXT Ultrasonic датчики) можно с допустимой точностью определить местоположение предмета. Для определения местоположения как раз и использовался метод триангуляции. 

В качестве экспериментальной установки он использовал следующую конструкцию:

На чем программировать NXT блок?

(C)
В течение прошлого месяца несколько раз поднимался вопрос в духе "Посоветуйте язык/среду программирования LEGO роботов". Чтобы помочь сориентироваться и подвести вопрошающих к более конкретным вопросам вида "Что лучше X или Y", была сформирована специальная диаграмма.
Данная диаграмма категоризирует наиболее популярные языки и среды программирования NXT блока (NXC, NBC, RobotC, leJOS, nxtOSEK, NXT-G, LabView, Enchanting, Robolab) исходя из следующих критериев:
  • Операционная система, где будет проходить программирование
  • Текстовый язык программирования или графическая среда. При этом текстовый язык, скорее всего, имеет свою собственную среду разработки
  • Нужно ли перепрошивать блок специальным Firmware
  • На сколько просто изучить программирование в данном конкретном инструменте. Чем больше плюсиков, тем сложнее
Она не рассматривает языки программирования, позволяющие запускать программу для управления роботом на компьютере или ноутбуке.


Следует отметить ситуацию со средами LabView и NXT-G на не-Windows операционных системах: NXT-G есть только под Mac OS X; LabView же существует и под Linux и под Mac OS X, но они не доступны для свободной загрузки и поэтому нет возможности провести оценку, на сколько эта среда программирования подходить для программирования NXT блока в этих операционных системах.

NXT и Python: опрашиваем датчики

(C)
Базовые способы работы с моторами в Python были рассмотрены в прошлой заметке - теперь настало время осветить, какие API (applications programming interface) доступны для работы со стандартными LEGO NXT датчиками.
Начнем с того, что посмотрим на модуль nxt.sensor, который предоставляет классы по работе с датчиками. Для этого в Python Shell запросим справку по модулю:
import nxt.sensor
help(nxt.sensor)
Небольшая информационная страничка расскажет, что данный модуль предоставляет доступ к следующим под-модулям:
  • analog
  • common
  • digital
  • generic
  • hitechnic
  • mindsensors
Т.е. видно, что помимо стандартных датчиков, библиотека nxt-python поддерживает работу и с датчиками известных производителей Mindsensors и HiTechnic. 

NXT и Python: готовимся к работе

(C)
С точки зрения простоты обучения языки программирования можно разделить на две группы:

  • для начала программирования на одних надо прочитать толстые книжки
  • осваивать вторые можно уже с первых страниц учебника и показательных примеров
Одним из языков, относящихся ко второй категории, можно отнести язык программирования Python. Это скриптовый язык, т.е. его не нужно компилировать, а также он доступен, как в Windows, так и Unix-подобных операционных системах.

Чтобы получить понятие о простоте языка, можно посмотреть на банальный пример – вывод строчки на экран. В этом случае, скрипт будет состоят всего из одной строчки:
print "Hello, Robot!"

Подключаем NXT блок по USB в Linux

(C)
Хотя операционные системы на базе ядра Linux шагнули уже далеко вперед в плане пользовательского удобства и автоматической настройки, что называется, из коробки, но все же некоторые вопросы еще приходится решать по старинке - в ручную изменяя конфигурационные файлы и исследуя журналы работы системы (в обычной речи ITшников - логи).

NXT и Python: включаем моторы

(С)
Традиционно изучение программирования Lego-роботов начинается с простых экспериментов с движением - именно эта функция в роботах используется чаще всего.
К тому же, при такого рода знакомстве, обычно сразу видно, что механизм делает и на сколько корректно.

Чтобы узнать, какие функции модуля nxt-python нужно использовать, чтобы заставить робота двигаться, можно использовать два способа. В одном случае, можно воспользоваться свойством открытости - языки с открытым исходным кодом тем и хороши, что позволяют зайти в любой модуль, любую функцию и посмотреть для чего она нужна и что она делает. Другой способ, воспользоваться встроенной в Python функцией подсказки - например, через терминал, предоставляющий доступ к командной строке в Linux:
$ python
Python 2.7.2 (default, Oct 27 2011, 01:36:46) 
[GCC 4.6.1 20111003 (Red Hat 4.6.1-10)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import nxt.motor
>>> help(nxt.motor)
Итак, что можно почерпнуть из этих источников?

NXT-G: решаем задачки. Задача #2

(С)NiNoXT

4 апреля 2013 г.

Не видна панель настройки блоков NXT-G?

(С)
Пожалуй каждый, кто программировал робота на нетбуке сталкивался с проблемой маленького разрешения экрана. И если выделить себе место для программы можно, закрыв справа панель Robo Center или My Portal, то с панелью настройки блоков (та, что возникает внизу экрана при выделении любого блока) дело обстоит сложнее. В данной заметке я приведу 2 способа решения проблемы, когда панель настройки в NXT-G не видна.

1 способ: Изменение разрешения экрана
Некоторые решают эту проблему путем установки более высокого разрешения по вертикали. Например, если у нетбука стандартное разрешение 1024*600, то можно выставить разрешение 1024*768. В Windows 7 для изменения разрешения вызовите контекстное меню Рабочего стола и выберите пункт "Разрешение экрана". В Windows XP также надо вызвать контекстное меню и выбрать вкладку "Параметры". После изменения разрешения надо нажать кнопку "Применить".
В этом случае на экран нетбука будет отображаться только часть окна программы, и чтобы увидеть нижнюю часть окна, достаточно подвести мышку вниз.
Этот способ имеет несколько недостатков:
  • не на каждом нетбуке можно его применить (поскольку не установлен нужный драйвер видеокарты)
  • требуется изменение настроек системы
2 способ: Создание незакрепленной панели

Данный способ позволяет сделать панель настройки незакрепленной, "плавающей". Эту панель вы можете передвигать в любое место окна. Выглядит она так:


Ниже приведена инструкция создания подобной панели:
  1. Скачайте специальный документ LabView (88 Кб).
  2. Скопируйте его в папку [LEGO MINDSTORMS]\engine\project\. По умолчанию эта папка будет такой: C:\Program Files\LEGO Software\LEGO MINDSTORMS NXT\engine\project
Вот и все! Панель установлена, но надо научиться ей пользоваться:
  1. Запустите NXT-G.
  2. Выберите в меню "Tools" команду "Configuration Popup...". У вас должна появиться панель на подобии той, что показана на изображении выше.
  3. Например, нам нужно настроить блок Move. Для этого находим данный блок в списке панели справа и затем выделяем данный блок в программе. Теперь можно его настроить.
Не забывайте, что сначала надо выбрать тип блока в панели настройки, а уже затем выделять этот блок. Если вы сначала выделите блок, а только потом выберете тип блока - работать панель не будет.

Если вы знаете еще способы решения данной проблемы или хотите поделиться подобными "уловками" при работе с NXT-G или другими средами разработки - пишите в комментариях, обсудим!

Накопление данных с сенсоров, как средство отладки

В ходе отладки программ для Lego роботов, особенно когда идет интенсивная работа с сенсорами, возникает ситуация когда сенсор вопреки ожиданиям не срабатывает на какое-то значение. В таком случае используется обычно подход "попробуй и измени" (try and fix): сначала выставляется одно значение, если оно не работает, то выставляется другое и так может продолжаться очень долго.
Помимо временных затрат, данный метод не дает понимания почему одни значения не работают, а другие начинают работать.

Робот для состязаний: Робот "Менделеев"

(С)NiNoXT

Задание для младшей группы основной категории Международных Состязаний Роботов называется "Робот Менделеев" и оно подразумевает, что нужно построить робота, который способен к систематизации объектов в соответствии с характеристикой ячейки.
А именно, робот должен проехать из ячейки Старта в ячейку Финиша по дороге раскладывая нужное число теннисных шариков в другие ячейки.

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

Если размышлять над конструкцие робота, то очевидно, что робот должен уметь:

Робот для состязаний: Робот "Колумб"

(С)NiNoXT
Задание в средней возрастной группе Международных Состязаний Роботов в 2012 году позволяет почувствовать конструкторов и программистов роботов первооткрывателями.
Им нужно построить робота который способен к исследованию сложного ландшафта в поисках полезных ресурсов, а после того как они найдены возвращения с ними домой.

WRO 2010: Правила творческой категории

(С)WRO

Правила творческой категории


·    Творческая категория включает в себя следующие темы:
o   Роботы и Туризм.
o   Свободная тема.

WRO 2010: Альпинизм (старшая группа)

(С)WRO

Альпинизм (старшая группа)

WRO 2010: Триатлон (средняя группа)

(С)WRO

Триатлон (средняя группа)

WRO 2010: Траектория (младшая группа)

(С)WRO

Траектория (младшая группа)

WRO 2011: Творческая категория. Тема: "Механизмы Чебышева"

(С)WRO

Творческая категория. Тема: "Механизмы Чебышева"

Творческая категория :
Тема: Механизмы Чебышева
О механизмах Чебышева смотрите: http://tcheb.ru/

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

WRO 2011: Творческая категория. Тема: "Роботы и космос"

(С)WRO

Творческая категория. Тема: "Роботы и космос"

·    Презентация проектов проводится в форме выставки.
·    Командам будет предоставлено примерно по 10 минут для демонстрации проекта судьям: из них 5 минут отводится на демонстрацию, а оставшиеся 2-5 минут займут ответы на вопросы судей.
·    Под каждый проект будет предоставлен стенд размером 2 х 2 х 2 метра, со стенами с трех сторон. Стол размером 60 х 80 сантиметров, два стула, электрическая розетка 220 В и мощностью не более 0,5 КВт (параметры предварительные). При необходимости дополнительного места и с другими пожеланиями необходимо обращаться в оргкомитет. Пожелания команды могут быть учтены за дополнительную плату.
·    В творческой категории не могут участвовать операторы команд, участвующие в основной категории.