Видео со встречи:
http://getdev.net/Event/lego-mindstorms
Совместный доклад Сергея Шебанина и Дмитрия Филиппова. Конструктор для создания программируемого робота. Расширение возможностей программирования до физического контакта с предметами. Внутренности, комплектация, технические параметры сенсоров и приводов. Как программировать - графический вариант и обычный текстовый. Какие есть варианты креплений и подвижных соединений. Простейшие алгоритмы слежения за линией (с примером на NXC).
3. Детали в комплекте
набор шестеренок различных
диаметров и назначения;
оси и втулки для них;
резиновые кольца;
колеса с шинами и шкивы
разных размеров;
ориентирующие и комбинированные соединители;
цилиндрические фиксаторы;
технические балки, в том числе с креплением и угловые;
пластины различной формы и размеров;
специальные детали (цветные шары, фигурки и т.п.).
Сергей Шебанин GetDev.NET
5. Сервомотор
состоит из:
1) электродвигателя,
2) редуктора,
3) ступицы колеса с отверстием под ось
4) датчика угловых перемещений
Сергей Шебанин GetDev.NET
6. Датчик касания
контактный выключатель,
реагирует на нажатие и отпускание.
Сергей Шебанин GetDev.NET
7. Ультразвуковой дальнометр
Обеспечивает измерение
расстояния до 2,55 м с
точностью ± 3 см.
Большие объекты с твердой поверхностью — надежные показания.
Маленькие и тонкие объектов с искривленной поверхностью, или
покрытых тканью — низкая точность.
Сергей Шебанин GetDev.NET
8. Датчик цвета
Сенсор может выполнять 3 функции:
1. Определять цвет поверхности в 10±5 мм.
2. Определять освещенность.
3. Может использоваться как цветной
фонарик.
Сергей Шебанин GetDev.NET
9. Основные типы
брусков (beams)
Прямые бруски с различным количеством отверстий
Угловые бруски
Дмитрий Филиппов GetDev.NET
10. Соединительные элементы
Шпильки (Pins)
Используются для соединения различных частей между собой.
1,2 и 3 тип существуют в двух вариантах – с малым трением (легко вращаются) и с
сильным трением (вращаются с трудом, отличаются цветом - черные и синие)
Дмитрий Филиппов GetDev.NET
11. Соединительные элементы
Соединение деталей с помощью шпилек
Нежесткое соединение – возможно движение одной детали относительно другой.
Жесткое соединение – взаимное расположение деталей остается постоянным.
Дмитрий Филиппов GetDev.NET
12. Соединительные элементы
Оси
Стандартные оси Оси с ограничителем
Используются для
1) Передачи вращения
2) Создания прочных соединений, без возможности взаимного вращения деталей
Дмитрий Филиппов GetDev.NET
13. Соединительные элементы
Соединение с помощью осей
Жесткое
Свободное вращение
Дмитрий Филиппов GetDev.NET
14. Соединительные элементы
Втулки
Используются совместно с осями для:
1) Поддержания постоянного расстояния между деталями
2) Предотвращения движения оси относительно детали
Дмитрий Филиппов GetDev.NET
15. Другие виды
соединительных элементов
Могут использоваться одновременно с осями и шпильками
Дмитрий Филиппов GetDev.NET
16. Простейшие механизмы
Рычаг
Рычаг — простейшее механическое устройство, представляющее собой твѐрдое тело
(перекладину), вращающееся вокруг точки опоры. Стороны перекладины по бокам от точки
опоры называются плечами рычага.
Рычаг используется для получения большего усилия на коротком плече с помощью
меньшего усилия на длинном плече (или для получения большего перемещения на
длинном плече с помощью меньшего перемещения на коротком плече). Сделав плечо
рычага достаточно длинным, теоретически, можно развить любое усилие.
Wikipedia
Дмитрий Филиппов GetDev.NET
18. Простейшие механизмы
Соединение рычагов
При соединении одинаковых рычагов друг над другом получается механизм с полезным
свойством: элементы, соединяющие концы рычагов, сохраняют свою ориентацию в
процессе перемещения
Дмитрий Филиппов GetDev.NET
19. Простейшие механизмы
Механизмы, переводящие вращательное движение в прямолинейное
Механизм Чебышева Механизм Хойкена
Дмитрий Филиппов GetDev.NET
20. Зубчатая передача
Типы элементов, используемые в различных наборах Lego
Существуют несколько разновидностей зубчатых передач
1) Червячная (нет в Lego Mindstorms)
2) Обычная
3) Конусная
4) Двойная конусная
5) Обычная с муфтой (нет в Lego Mindstorms)
6) Дифференциальная передача (нет в Lego Mindstorms)
Дмитрий Филиппов GetDev.NET
21. Зубчатая передача
Применение
Передача вращения на Изменение направления вращения
другую ось
Дмитрий Филиппов GetDev.NET
22. Зубчатая передача
Применение
Изменение скорости вращения Изменение оси вращения
(с одновременным изменением на перпендикулярную
момента силы)
8:40 = 1:5 8:24 * 8:24 = 1:9
Дмитрий Филиппов GetDev.NET
23. Специальный тип передачи
Knob Wheel
Не является зубчатой передачей. Используется для передачи вращения на параллельную
или перпендикулярную ось.
Основное достоинство – такое соединение способно передавать вращающий момент без
проскальзывания.
Дмитрий Филиппов GetDev.NET
24. Колесо
В набор Lego Mindstorms входят
4 колеса диаметром 30мм 4 покрышки диаметром 43.2мм
Дмитрий Филиппов GetDev.NET
26. Колесные роботы
Простейший колесный робот (TriBot)
Одна из самых часто используемых моделей – трѐхколесный робот с дифференциальным
управлением (Differential Drive).
Имеет три колеса, из которых
а) одно – свободно вращается вокруг вертикальной оси
б) два других колеса – расположены на одной геометрической оси (физически не
соединены) и управляются двумя отдельными моторами.
Достоинства:
1) Простота управления
2) Простая математическая
модель, описывающая поведение робота при
движении
3) Маневренность (может развернуться на
месте, повернуть на 90 градусов)
Такая конструкция успешно применяется и в
коммерческих разработках – например пылесосы
iRobot (справа на рисунке, вид снизу).
Дмитрий Филиппов
27. Колесные роботы
Поведение трѐхколесного робота с дифференциальным управлением может быть описано
с помощью очень простой математической модели, фактически включающей в себя только
два параметра – расстояние между ведущими колесами (l) и их радиус (r).
Управление роботом заключается в том, что мы изменяем скорость вращения каждого
колеса в отдельности –мы можем поворачивать робота на месте, двигать его по дуге
окружности или по прямой.
Если левое колесо двигается с
постоянной скоростью Vl, а правое
– со скоростью Vr, то робот будет
двигаться по окружности радиусом
R с угловой скоростью w
Линейная скорость колѐс Vl и Vr
может быть вычислена как
произведение r*wl и r*wr, где wl и
wr – угловая скорость вращения
левого и правого двигателя.
Дмитрий Филиппов GetDev.NET
28. Колесные роботы
Из формул
получается, что
1) если Vr=Vl, то робот движется по прямой;
2) если Vr=-Vl, то R=0 и робот вращается на месте;
3) если Vl=0, то робот вращается вокруг левого
колеса;
4) аналогично, если Vr=0, то робот вращается
вокруг правого колеса
Можно вывести и другие формулы,
например вычислить перемещение
робота, зная сколько оборотов сделало
каждое колесо (полезно для Lego
Mindstorms, т.к. в двигателе есть
энкодер)
Дмитрий Филиппов GetDev.NET
29. Следование по линии
Постановка задачи
Задача: провести колѐсного робота вдоль начерченной линии. В качестве датчиков могут
использоваться один или несколько датчиков света(или цвета).
В качестве подзадачи необходимо научиться отличать линию от фона.
Дмитрий Филиппов GetDev.NET
30. Следование по линии
Начальная калибровка
1) Будем вращать робота вокруг одного из колес, замеряя интенсивность света в процессе
вращения и вычисляя максимальную и минимальную интенсивность. После того, как робот
сделает полный оборот, найдем среднее между максимумом и минимумом.
В дальнейшем, всѐ что меньше этого значения, будем считать черным цветом, а всѐ что
больше – белым (фоном).
2) После этого поставим робота в начальную позицию – повернѐм его так, чтобы он
находился над линией.
Дмитрий Филиппов GetDev.NET
32. Версии
Первая версия — RCX
Впервые представлен компанией LEGO в 1998 году.
Включал в себя 8-битный H8/300 микроконтроллер + 32 Kб RAM для
хранения программ
Сергей Шебанин GetDev.NET
33. Версии
Вторая версия — NXT
Впервые представлен компанией LEGO в 2006 году.
Отличается от NXT 2.0 набором датчиков: есть микрофон, но нет датчика
цвета
Сергей Шебанин GetDev.NET
34. Версии
Версия 2,5 — NXT 2.0
Впервые представлен компанией LEGO в 2009 году.
Сергей Шебанин GetDev.NET
35. Версии
Версия 3 — EV3
Впервые представлен компанией LEGO 4 января 2013 года.
Сергей Шебанин GetDev.NET
36. EV3
Процессор — ARM9 (в конструкторе NXT 2.0 использовался ARM7)
FLASH память — 16 мегабайт
Оперативная память — 64 мегабайт
Операционная система — Linux
Слот расширения SD
USB 2.0 (поддерживает USB Host, то есть можно вставить WiFi свисток)
Bluetooth 2.1
4 порта на вход и 4 порта на выход
Динамик
Сергей Шебанин GetDev.NET
37. EV3
Три сервомотора (два больших и один маленький)
Датчик нажатия
Цветовой сенсор
Датчик расстояния
Гироскоп-акселерометр (в базовый комплект поставки, судя по всему, не
входит)
Сергей Шебанин GetDev.NET