Игрушки на вырост. Программируем Lego-роботов

21
Игрушки на вырост Программируем Lego-роботов Александр Колотов nnxt.blogspot.com

description

Доклад, представленный на Application Developer Days - 3 в Москве.

Transcript of Игрушки на вырост. Программируем Lego-роботов

Page 1: Игрушки на вырост. Программируем Lego-роботов

Игрушки на вырост Программируем Lego-роботов

Александр Колотов

nnxt.blogspot.com

Page 2: Игрушки на вырост. Программируем Lego-роботов

Шпаргалки разрешены

goo.gl/S63TO

Page 3: Игрушки на вырост. Программируем Lego-роботов

Хобби или Инструмент?

Если вы можете придумать робота, вы можете его построить

Page 4: Игрушки на вырост. Программируем Lego-роботов

Lego Mindstorms NXT

• Основной проц. ARM (256 KB FLASH, 64 KB RAM, 48 MHz)

• Со-процессор AVR (4 KB FLASH, 512 Byte RAM, 8 MHz)

BlueTooth, USB, 3 порта для мотора, 4 порта для сенсоров, ч/б экран, динамик, 4 кнопки, 6 батареек

goo.gl/SwLjp

Технические спецификации

Page 5: Игрушки на вырост. Программируем Lego-роботов

I like to move it

• 170 rpm • Встроенный энкодер

Как подключить больше трех

моторов?

Page 6: Игрушки на вырост. Программируем Lego-роботов

Идем по приборам

Касания, удары

Помехи, расстояния

Шум, громкие звуки

Цвета

Яркость, окрашенность

Page 7: Игрушки на вырост. Программируем Lego-роботов

Работа со светом

Черный цвет отражает света много меньше чем белый.

Разное количество света отражается от поверхностей разных цветов

Page 8: Игрушки на вырост. Программируем Lego-роботов

Каллибровка

Тихое помещение vs Фоновый шум Освещенное поле vs поле в тени

0% 100% 0%

0 1023

Page 9: Игрушки на вырост. Программируем Lego-роботов

Еще сенсоры

Dexter Industries

Page 10: Игрушки на вырост. Программируем Lego-роботов

Большой брат следит за тобой

Команды на моторы

Данные с сенсоров и енкодеров

MS Robotics Developer Studio LEGO::NXT NXT-Python RWTH - Mindstorms NXT Toolbox for MATLAB

NI LabView Robolab Scratch

Page 11: Игрушки на вырост. Программируем Lego-роботов

Автономный робот

Скомпилированный исполняемый файл

NXT-G leJOS NXJ Enchanting Not Exactly C (NXC)

NI LabView Robolab RobotC NXT Byte Code (NBC)

Page 12: Игрушки на вырост. Программируем Lego-роботов

Мобильная реальность

Программа-посредник

MINDroid – OpenSource проект от LEGO Chatterbox – как инициировать общение со стороны NXT блока Конструкторы: MIT App Inventor, CATROID

RPC

Результаты вызова RPC

Page 13: Игрушки на вырост. Программируем Lego-роботов

NXT-G

+ графическая среда + обучение - стабильность в работе

goo.gl/Lvcx2

Page 14: Игрушки на вырост. Программируем Lego-роботов

Enchanting

+ графическая среда + обучение - проект в разработке - перепрошивка FW

enchanting.robotclub.ab.ca

Page 15: Игрушки на вырост. Программируем Lego-роботов

Not eXactly C (NXC)

BricxCC + инструменты goo.gl/wp40X

nxcEditor + nxcSimulator goo.gl/IFMKM

+ Open Source, все платформы + облегченная нотация C - выпуск новых версий

Page 16: Игрушки на вырост. Программируем Lego-роботов

Ставим BricxCC

1. Установка Fantom драйвера

2. Установка последнего релиза

3. Распаковка последней тестовой сборки поверх установленной

goo.gl/Cs5RY

goo.gl/ZHskb

Page 17: Игрушки на вырост. Программируем Lego-роботов

RobotC

RobotC IDE + Virtual Worlds

goo.gl/ks6SD

+ оптимизированое FW + эмулятор NXT робота - только на OS Windows

Page 18: Игрушки на вырост. Программируем Lego-роботов

Куда податься?

Всероссийские

Классические соревнования роботов

Региональные отборочные этапы

Мировые

Page 19: Игрушки на вырост. Программируем Lego-роботов

Цель: выбить 8 банок за пределы ринга Макс. время работы робота: 2 минуты

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

Кегельринг@addconf

Page 20: Игрушки на вырост. Программируем Lego-роботов

Помогите!!!

• MINDboards: goo.gl/Sp7Lb

• phantoms.su: goo.gl/NEMTZ

• DoubleBrick.ru: goo.gl/M9hjM

• RobotC: goo.gl/dvNmY

• LabView: goo.gl/CxRm9

Page 21: Игрушки на вырост. Программируем Lego-роботов

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

Александр Колотов

[email protected]

nnxt.blogspot.com