lego mindstorms

39
LEGO Mindstorms NXT 2.0 Специально для Сергей Шебанин Дмитрий Филиппов

Upload: getdevnet

Post on 22-May-2015

1.428 views

Category:

Technology


2 download

DESCRIPTION

Видео со встречи: http://getdev.net/Event/lego-mindstorms Совместный доклад Сергея Шебанина и Дмитрия Филиппова. Конструктор для создания программируемого робота. Расширение возможностей программирования до физического контакта с предметами. Внутренности, комплектация, технические параметры сенсоров и приводов. Как программировать - графический вариант и обычный текстовый. Какие есть варианты креплений и подвижных соединений. Простейшие алгоритмы слежения за линией (с примером на NXC).

TRANSCRIPT

Page 1: Lego Mindstorms

LEGO Mindstorms NXT 2.0

Специально для

Сергей Шебанин

Дмитрий Филиппов

Page 2: Lego Mindstorms

Комплект поставки

Процессорный модуль — 1 шт.Сервомоторы — 3 шт.

Датчик касания — 2 шт.Датчик цвета — 1 шт.

Ультразвуковой дальнометр — 1 шт.Соединительные провода — 7 шт.

Сергей Шебанин GetDev.NET

Page 3: Lego Mindstorms

Детали в комплекте

набор шестеренок различных диаметров и назначения;

оси и втулки для них;резиновые кольца;

колеса с шинами и шкивы разных размеров;

ориентирующие и комбинированные соединители; цилиндрические фиксаторы;

технические балки, в том числе с креплением и угловые; пластины различной формы и размеров;

специальные детали (цветные шары, фигурки и т.п.).

Сергей Шебанин GetDev.NET

Page 4: Lego Mindstorms

Процессорный модуль

32-битный ARM7 256 Кб RAM, 64 Кб flash 8-битный AVR, 512 байт RAM, 4 Кб flash

Монохромный ЖК-дисплей Динамик

Bluetooth-адаптер USB-порт

7 портов для подключения сенсоров Отсек для 6 батареек или аккумулятора

Сергей Шебанин GetDev.NET

Page 5: Lego Mindstorms

Сервомотор

состоит из:1) электродвигателя,

2) редуктора,3) ступицы колеса с отверстием под ось

4) датчика угловых перемещений

Сергей Шебанин GetDev.NET

Page 6: Lego Mindstorms

Датчик касания

контактный выключатель,реагирует на нажатие и отпускание.

Сергей Шебанин GetDev.NET

Page 7: Lego Mindstorms

Ультразвуковой дальнометр

Большие объекты с твердой поверхностью — надежные показания.Маленькие и тонкие объектов с искривленной поверхностью, или

покрытых тканью — низкая точность.

Обеспечивает измерение расстояния до 2,55 м с

точностью ± 3 см.

Сергей Шебанин GetDev.NET

Page 8: Lego Mindstorms

Датчик цвета

Сенсор может выполнять 3 функции:1. Определять цвет поверхности в 10±5 мм.

2. Определять освещенность.3. Может использоваться как цветной

фонарик.

Сергей Шебанин GetDev.NET

Page 9: Lego Mindstorms

Основные типыбрусков (beams)

Прямые бруски с различным количеством отверстий

Угловые бруски

Дмитрий Филиппов GetDev.NET

Page 10: Lego Mindstorms

Соединительные элементы

Шпильки (Pins)

Используются для соединения различных частей между собой.1,2 и 3 тип существуют в двух вариантах – с малым трением (легко вращаются) и с сильным трением (вращаются с трудом, отличаются цветом - черные и синие)

Дмитрий Филиппов GetDev.NET

Page 11: Lego Mindstorms

Соединительные элементыСоединение деталей с помощью шпилек

Нежесткое соединение – возможно движение одной детали относительно другой.

Жесткое соединение – взаимное расположение деталей остается постоянным.

Дмитрий Филиппов GetDev.NET

Page 12: Lego Mindstorms

Соединительные элементы

Оси

Стандартные оси

Используются для1) Передачи вращения2) Создания прочных соединений, без возможности взаимного вращения деталей

Оси с ограничителем

Дмитрий Филиппов GetDev.NET

Page 13: Lego Mindstorms

Соединительные элементыСоединение с помощью осей

Жесткое

Свободное вращение

Дмитрий Филиппов GetDev.NET

Page 14: Lego Mindstorms

Соединительные элементы

Втулки

Используются совместно с осями для:1) Поддержания постоянного расстояния между деталями2) Предотвращения движения оси относительно детали

Дмитрий Филиппов GetDev.NET

Page 15: Lego Mindstorms

Другие видысоединительных элементов

Могут использоваться одновременно с осями и шпильками

Дмитрий Филиппов GetDev.NET

Page 16: Lego Mindstorms

Простейшие механизмы

Рычаг

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

Wikipedia

Дмитрий Филиппов GetDev.NET

Page 17: Lego Mindstorms

Простейшие механизмы

Основные типы рычагов

Дмитрий Филиппов GetDev.NET

Page 18: Lego Mindstorms

Простейшие механизмы

Соединение рычагов

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

Дмитрий Филиппов GetDev.NET

Page 19: Lego Mindstorms

Простейшие механизмы

Механизмы, переводящие вращательное движение в прямолинейное

Механизм Чебышева Механизм Хойкена

Дмитрий Филиппов GetDev.NET

Page 20: Lego Mindstorms

Зубчатая передача

Типы элементов, используемые в различных наборах Lego

Существуют несколько разновидностей зубчатых передач1) Червячная (нет в Lego Mindstorms)2) Обычная 3) Конусная4) Двойная конусная5) Обычная с муфтой (нет в Lego Mindstorms)6) Дифференциальная передача (нет в Lego Mindstorms)

Дмитрий Филиппов GetDev.NET

Page 21: Lego Mindstorms

Зубчатая передача

Применение

Передача вращения на другую ось

Изменение направления вращения

Дмитрий Филиппов GetDev.NET

Page 22: Lego Mindstorms

Зубчатая передача

Применение

Изменение оси вращения на перпендикулярную

Изменение скорости вращения (с одновременным изменением момента силы)

8:40 = 1:5 8:24 * 8:24 = 1:9

Дмитрий Филиппов GetDev.NET

Page 23: Lego Mindstorms

Специальный тип передачи

Knob Wheel

Не является зубчатой передачей. Используется для передачи вращения на параллельную или перпендикулярную ось.Основное достоинство – такое соединение способно передавать вращающий момент без проскальзывания.

Дмитрий Филиппов GetDev.NET

Page 24: Lego Mindstorms

Колесо

В набор Lego Mindstorms входят

4 колеса диаметром 30мм 4 покрышки диаметром 43.2мм

Дмитрий Филиппов GetDev.NET

Page 25: Lego Mindstorms

Программирование

или

Сергей Шебанин GetDev.NET

Page 26: Lego Mindstorms

Колесные роботы

Простейший колесный робот (TriBot)

Одна из самых часто используемых моделей – трёхколесный робот с дифференциальным управлением (Differential Drive).Имеет три колеса, из которых а) одно – свободно вращается вокруг вертикальной осиб) два других колеса – расположены на одной геометрической оси (физически не соединены) и управляются двумя отдельными моторами.

Достоинства:1) Простота управления2) Простая математическая модель, описывающая поведение робота при движении3) Маневренность (может развернуться на месте, повернуть на 90 градусов)

Такая конструкция успешно применяется и в коммерческих разработках – например пылесосы iRobot (справа на рисунке, вид снизу).

Дмитрий Филиппов

Page 27: Lego Mindstorms

Колесные роботы

Поведение трёхколесного робота с дифференциальным управлением может быть описано с помощью очень простой математической модели, фактически включающей в себя только два параметра – расстояние между ведущими колесами (l) и их радиус (r).Управление роботом заключается в том, что мы изменяем скорость вращения каждого колеса в отдельности –мы можем поворачивать робота на месте, двигать его по дуге окружности или по прямой.

Если левое колесо двигается с постоянной скоростью Vl, а правое – со скоростью Vr, то робот будет двигаться по окружности радиусом R с угловой скоростью w

Линейная скорость колёс Vl и Vr может быть вычислена как произведение r*wl и r*wr, где wl и wr – угловая скорость вращения левого и правого двигателя.

Дмитрий Филиппов GetDev.NET

Page 28: Lego Mindstorms

Колесные роботы

Из формул

получается, что1) если Vr=Vl, то робот движется по прямой;2) если Vr=-Vl, то R=0 и робот вращается на месте;3) если Vl=0, то робот вращается вокруг левого

колеса;4) аналогично, если Vr=0, то робот вращается

вокруг правого колеса

Можно вывести и другие формулы, например вычислить перемещение робота, зная сколько оборотов сделало каждое колесо (полезно для Lego Mindstorms, т.к. в двигателе есть энкодер)

Дмитрий Филиппов GetDev.NET

Page 29: Lego Mindstorms

Следование по линии

Постановка задачи

Задача: провести колёсного робота вдоль начерченной линии. В качестве датчиков могут использоваться один или несколько датчиков света(или цвета).

В качестве подзадачи необходимо научиться отличать линию от фона.

Дмитрий Филиппов GetDev.NET

Page 30: Lego Mindstorms

Следование по линии

Начальная калибровка

1) Будем вращать робота вокруг одного из колес, замеряя интенсивность света в процессе вращения и вычисляя максимальную и минимальную интенсивность. После того, как робот сделает полный оборот, найдем среднее между максимумом и минимумом.В дальнейшем, всё что меньше этого значения, будем считать черным цветом, а всё что больше – белым (фоном).2) После этого поставим робота в начальную позицию – повернём его так, чтобы он находился над линией.

Дмитрий Филиппов GetDev.NET

Page 31: Lego Mindstorms

Следование по линии

Простейший алгоритм

Дмитрий Филиппов GetDev.NET

Page 32: Lego Mindstorms

Версии

Первая версия — RCXВпервые представлен компанией LEGO в 1998 году.

Включал в себя 8-битный H8/300 микроконтроллер + 32 Kб RAM для хранения программ

Сергей Шебанин GetDev.NET

Page 33: Lego Mindstorms

Версии

Вторая версия — NXTВпервые представлен компанией LEGO в 2006 году.

Отличается от NXT 2.0 набором датчиков: есть микрофон, но нет датчика цвета

Сергей Шебанин GetDev.NET

Page 34: Lego Mindstorms

Версии

Версия 2,5 — NXT 2.0Впервые представлен компанией LEGO в 2009 году.

Сергей Шебанин GetDev.NET

Page 35: Lego Mindstorms

Версии

Версия 3 — EV3Впервые представлен компанией LEGO 4 января 2013 года.

Сергей Шебанин GetDev.NET

Page 36: Lego Mindstorms

EV3

Процессор — ARM9 (в конструкторе NXT 2.0 использовался ARM7)FLASH память — 16 мегабайт

Оперативная память — 64 мегабайтОперационная система — Linux

Слот расширения SDUSB 2.0 (поддерживает USB Host, то есть можно вставить WiFi свисток)

Bluetooth 2.14 порта на вход и 4 порта на выход

Динамик

Сергей Шебанин GetDev.NET

Page 37: Lego Mindstorms

EV3

Три сервомотора (два больших и один маленький)Датчик нажатия

Цветовой сенсорДатчик расстояния

Гироскоп-акселерометр (в базовый комплект поставки, судя по всему, не входит)

Сергей Шебанин GetDev.NET

Page 38: Lego Mindstorms

Спасибо за внимание!

Page 39: Lego Mindstorms

Контакты

Сергей Шебанин[email protected]://dev.ingate.ru

Дмитрий Филиппов[email protected]