Видео со встречи:
http://getdev.net/Event/lego-mindstorms
Совместный доклад Сергея Шебанина и Дмитрия Филиппова. Конструктор для создания программируемого робота. Расширение возможностей программирования до физического контакта с предметами. Внутренности, комплектация, технические параметры сенсоров и приводов. Как программировать - графический вариант и обычный текстовый. Какие есть варианты креплений и подвижных соединений. Простейшие алгоритмы слежения за линией (с примером на NXC).
Слайды доклада https://getdev.net/Event/go-language
Зачем придумали Go и что нам с этим делать
Доклад будет про историю возникновения, про основы синтаксиса, сферы применения и чуточку залезть под капот главной фишки языка - goroutines.
Leap Motion - игрушка с заделом на будущееGetDev.NET
Leap Motion - это контроллер ввода путем захвата движений с использованием одноименной технологии. На встрече мы рассмотрим аппаратную часть, готовые программные решения и некоторые смежные технологии.
Нескучная гирлянда на новогодние праздники и приятная подсветка в течение года. Программируем ардуино со смартфона по блютусу.
Материалы со встречи:
https://getdev.net/Event/arduino
Mind Mapping, или как заставить свой мозг работать лучшеGetDev.NET
Слайды со встречи https://getdev.net/Event/mind-mapping
На встрече пойдет речь о том, что же это за зверь такой - ментальная карта, почему эта техника визуализации так популярна, где и зачем ее использовать, и как с ее помощью познать Силу
По традиции приглашаем вас на встречу с кратким обзором новых функций обновленной версии среды разработки Visual Studio 2015. Мы также поговорим о кроссплатформенной разработке для мобильных платформ, изменениях в веб-стеке, новой версии языка C# и open source инициативах Microsoft
Материалы со встречи:
https://getdev.net/Event/docker
Docker: зачем нужен и почему выстрелил? Контейнеры против виртуальных машин - кто лучше? Docker на Windows: как и когда? А также демо: создание и deploy контейнера на ваших глазах
Windows 10 для пользователей и разработчиковGetDev.NET
Чего ждать от Windows 10, выходящей летом 2015 года? Рассказ про улучшения для разработчиков приложений для Магазина Windows и про исправления досадных недоразумений, к которым все давно привыкли.
PhoneGap для мобильного разработчика - глубокое погружение без ОЗКGetDev.NET
Видео со встречи: http://getdev.net/Event/phonegap
Кратко поговорим о том как появился, как развивался, что внутри. Рассмотрим явные косяки и неприкрытые плюсы PhoneGap пути. Обратим внимание на скрытые проблемы, которые вы непременно найдёте при активной разработке. Рассмотрим позитивные моменты, которые никто не замечает, но они то есть. Потыкаем существующий инструментарий и варианты интеграции. И решим, где стоит применять PhoneGap и стоит ли вообще.
Слайды доклада https://getdev.net/Event/go-language
Зачем придумали Go и что нам с этим делать
Доклад будет про историю возникновения, про основы синтаксиса, сферы применения и чуточку залезть под капот главной фишки языка - goroutines.
Leap Motion - игрушка с заделом на будущееGetDev.NET
Leap Motion - это контроллер ввода путем захвата движений с использованием одноименной технологии. На встрече мы рассмотрим аппаратную часть, готовые программные решения и некоторые смежные технологии.
Нескучная гирлянда на новогодние праздники и приятная подсветка в течение года. Программируем ардуино со смартфона по блютусу.
Материалы со встречи:
https://getdev.net/Event/arduino
Mind Mapping, или как заставить свой мозг работать лучшеGetDev.NET
Слайды со встречи https://getdev.net/Event/mind-mapping
На встрече пойдет речь о том, что же это за зверь такой - ментальная карта, почему эта техника визуализации так популярна, где и зачем ее использовать, и как с ее помощью познать Силу
По традиции приглашаем вас на встречу с кратким обзором новых функций обновленной версии среды разработки Visual Studio 2015. Мы также поговорим о кроссплатформенной разработке для мобильных платформ, изменениях в веб-стеке, новой версии языка C# и open source инициативах Microsoft
Материалы со встречи:
https://getdev.net/Event/docker
Docker: зачем нужен и почему выстрелил? Контейнеры против виртуальных машин - кто лучше? Docker на Windows: как и когда? А также демо: создание и deploy контейнера на ваших глазах
Windows 10 для пользователей и разработчиковGetDev.NET
Чего ждать от Windows 10, выходящей летом 2015 года? Рассказ про улучшения для разработчиков приложений для Магазина Windows и про исправления досадных недоразумений, к которым все давно привыкли.
PhoneGap для мобильного разработчика - глубокое погружение без ОЗКGetDev.NET
Видео со встречи: http://getdev.net/Event/phonegap
Кратко поговорим о том как появился, как развивался, что внутри. Рассмотрим явные косяки и неприкрытые плюсы PhoneGap пути. Обратим внимание на скрытые проблемы, которые вы непременно найдёте при активной разработке. Рассмотрим позитивные моменты, которые никто не замечает, но они то есть. Потыкаем существующий инструментарий и варианты интеграции. И решим, где стоит применять PhoneGap и стоит ли вообще.
Слайды со встречи http://getdev.net/Event/webapi
Платформа ASP.NET Web API позволяет с легкостью создавать службы HTTP для широкого диапазона клиентов, включая браузеры и мобильные устройства. ASP.NET Web API идеально подходит для разработки приложений RESTful на платформе .NET Framework. Будут упомянуты понятия REST и отличие REST-пути от RPC (WCF)-пути, рассмотрен стандарт OData, сказаны слова OWIN и Katana
Видеозапись со встречи:
http://getdev.net/Event/vs2013
Всего год прошел с выпуска Visual Studio 2012, а разработчики уже могут пользоваться новой версией. Так ли много изменений? Зачем обновленная IDE спрашивает логин и пароль? Можно ли отлаживать свой код по дороге в офис прямо с планшета?
Видеозапись встречи:
http://getdev.net/Event/angularjs
Стремительно набирающий популярность фреймворк, облегчающий создание клиентских приложений. SPA, MVC, MVVM и множество других облегчающих разработку акронимов.
В докладе предполагается общий обзор, показывающий отдельные части, из которых состоит фреймворк, то, как они живут вместе друг с другом и существуют в окружающем мире страниц, серверов и источников данных.
Видеозапись встречи:
http://getdev.net/Event/typescript
TypeScript - язык программирования от Microsoft, который является надмножеством JavaScript. Он поддерживает статическую типизацию, модули, определение классов и интерфейсов и транслируется в чистый JS. Спецификации языка открыты, а код компилятора распространяется под лицензией Apache.
Создание повторно используемых бизнес моделей с помощью технологии Domain Com...GetDev.NET
Материалы со встречи: http://getdev.net/Event/xaf-reuse
Задумывались ли вы когда-нибудь, что с переходом от SQL к DataSet, а затем и к ORM типа Entity Framework развитие технологий для доступа и управления данными приостановилось? Что еще нового можно придумать к уже привычному оперированию записями таблиц БД как объектами CRL и при этом поднять удобство разработчика на следующий уровень? На этот и другие вопросы попробует дать ответ доклад о технологии Domain Components (часть DevExpress eXpressApp Framework), которая облегчает создание повторно используемых бизнес моделей за счет легкого комбинирования путем использования интерфейсов вместо классов (это позволяет вам эмулировать "множественное наследование" в C# и VB.NET), а также свободы от особенностей конкретной ORM.
Особенности мобильной платформы Windows Phone 8GetDev.NET
Видеозапись и материалы доклада: http://getdev.net/Event/wp8
Можно ли писать приложения на C++? Правда ли, что у Windows 8 и Windows Phone 8 единое ядро? Будет ли аналог Siri в новых смартфонах? Вся правда о новой мобильной платформе от Microsoft только на GetDev.NET!
Материалы с доклада: http://getdev.net/Event/async-javascript
Рассказ о том, как работает асинхронность в JavaScript, кто стоит в очереди выполнения, почему в JavaScript никогда не будет процессорной гонки, как давать отсроченные обещания и что делать, если одна из ваших функций подхватила заразу асинхронности
Видео со встречи: http://getdev.net/Event/xaml
Доклад посвящен XAML — основанному на XML языку разметки для декларативного программирования приложений. Он является основой технологий WPF и Silverlight, a также используется в WinRT.
Видео и материалы со встречи:
http://getdev.net/Event/dynamic-language-runtime
В докладе рассмотрим скриптовые языки на платформе DLR, способы автоматизации рутинной работы с их помощью, а также интегрирование в конечное приложение.
Видео со встречи: http://getdev.net/Event/javascript-good-form
Рассказ о том, как в приличном обществе принято структурировать свой JavaScript, разбивать его на отдельные логические единицы, инкапсулировать его от внешней среды, подключать скрипты к своему веб-приложению, и организовывать процесс юнит-тестирования и как заменять им компилятор
Видео со встречи - http://getdev.net/Event/roslyn
Roslyn Project - это компилятор, который предоставляет разработчику API для доступа к его внутренним данным. Теперь можно анализировать код, проводить его модификацию и создавать дополнительную функциональность для .NET-языков.
Видеозапись доклада: http://getdev.net/Event/asp-net-mvc-4
Обзор возможностей новой версии платформы ASP.NET MVC 4. Web API, Bundling & Minification, разработка для мобильных устройств, Single-Page Web Applications, а также другие, не столь крупные, нововведения.
Видео с доклада: http://getdev.net/Event/asp-net-mvc-4
Доклад об ASP.NET MVC, откуда и зачем он появился, какие задачи решает, какой подход к разработке исповедует. Этот доклад больше пригодится тем, кто хочет углубить и структурировать свои знания об ASP.NET MVC
Видеозапись доклада:
http://getdev.net/Event/winrt
Windows Runtime призван упростить разработку metro-приложений для Windows 8 на разных языках. О том, как его использовать и какие особенности следует учитывать, можно узнать в этом докладе.
Видеозапись:
http://getdev.net/Event/dependency-injection
Рассказ о внедрении зависимостей (Dependency Injection), зачем оно нужно, откуда оно пошло и развивалось. Виды Dependency Injection, разница между ними и рекомендации к применению. Расказ про декораторы (decorators). Рассказ про абстрактные фабрики. Рассказ про управление временем жизни. Рассказ про IoC -контейнеры вообще и Castle Windsor в частности.
Слайды со встречи http://getdev.net/Event/webapi
Платформа ASP.NET Web API позволяет с легкостью создавать службы HTTP для широкого диапазона клиентов, включая браузеры и мобильные устройства. ASP.NET Web API идеально подходит для разработки приложений RESTful на платформе .NET Framework. Будут упомянуты понятия REST и отличие REST-пути от RPC (WCF)-пути, рассмотрен стандарт OData, сказаны слова OWIN и Katana
Видеозапись со встречи:
http://getdev.net/Event/vs2013
Всего год прошел с выпуска Visual Studio 2012, а разработчики уже могут пользоваться новой версией. Так ли много изменений? Зачем обновленная IDE спрашивает логин и пароль? Можно ли отлаживать свой код по дороге в офис прямо с планшета?
Видеозапись встречи:
http://getdev.net/Event/angularjs
Стремительно набирающий популярность фреймворк, облегчающий создание клиентских приложений. SPA, MVC, MVVM и множество других облегчающих разработку акронимов.
В докладе предполагается общий обзор, показывающий отдельные части, из которых состоит фреймворк, то, как они живут вместе друг с другом и существуют в окружающем мире страниц, серверов и источников данных.
Видеозапись встречи:
http://getdev.net/Event/typescript
TypeScript - язык программирования от Microsoft, который является надмножеством JavaScript. Он поддерживает статическую типизацию, модули, определение классов и интерфейсов и транслируется в чистый JS. Спецификации языка открыты, а код компилятора распространяется под лицензией Apache.
Создание повторно используемых бизнес моделей с помощью технологии Domain Com...GetDev.NET
Материалы со встречи: http://getdev.net/Event/xaf-reuse
Задумывались ли вы когда-нибудь, что с переходом от SQL к DataSet, а затем и к ORM типа Entity Framework развитие технологий для доступа и управления данными приостановилось? Что еще нового можно придумать к уже привычному оперированию записями таблиц БД как объектами CRL и при этом поднять удобство разработчика на следующий уровень? На этот и другие вопросы попробует дать ответ доклад о технологии Domain Components (часть DevExpress eXpressApp Framework), которая облегчает создание повторно используемых бизнес моделей за счет легкого комбинирования путем использования интерфейсов вместо классов (это позволяет вам эмулировать "множественное наследование" в C# и VB.NET), а также свободы от особенностей конкретной ORM.
Особенности мобильной платформы Windows Phone 8GetDev.NET
Видеозапись и материалы доклада: http://getdev.net/Event/wp8
Можно ли писать приложения на C++? Правда ли, что у Windows 8 и Windows Phone 8 единое ядро? Будет ли аналог Siri в новых смартфонах? Вся правда о новой мобильной платформе от Microsoft только на GetDev.NET!
Материалы с доклада: http://getdev.net/Event/async-javascript
Рассказ о том, как работает асинхронность в JavaScript, кто стоит в очереди выполнения, почему в JavaScript никогда не будет процессорной гонки, как давать отсроченные обещания и что делать, если одна из ваших функций подхватила заразу асинхронности
Видео со встречи: http://getdev.net/Event/xaml
Доклад посвящен XAML — основанному на XML языку разметки для декларативного программирования приложений. Он является основой технологий WPF и Silverlight, a также используется в WinRT.
Видео и материалы со встречи:
http://getdev.net/Event/dynamic-language-runtime
В докладе рассмотрим скриптовые языки на платформе DLR, способы автоматизации рутинной работы с их помощью, а также интегрирование в конечное приложение.
Видео со встречи: http://getdev.net/Event/javascript-good-form
Рассказ о том, как в приличном обществе принято структурировать свой JavaScript, разбивать его на отдельные логические единицы, инкапсулировать его от внешней среды, подключать скрипты к своему веб-приложению, и организовывать процесс юнит-тестирования и как заменять им компилятор
Видео со встречи - http://getdev.net/Event/roslyn
Roslyn Project - это компилятор, который предоставляет разработчику API для доступа к его внутренним данным. Теперь можно анализировать код, проводить его модификацию и создавать дополнительную функциональность для .NET-языков.
Видеозапись доклада: http://getdev.net/Event/asp-net-mvc-4
Обзор возможностей новой версии платформы ASP.NET MVC 4. Web API, Bundling & Minification, разработка для мобильных устройств, Single-Page Web Applications, а также другие, не столь крупные, нововведения.
Видео с доклада: http://getdev.net/Event/asp-net-mvc-4
Доклад об ASP.NET MVC, откуда и зачем он появился, какие задачи решает, какой подход к разработке исповедует. Этот доклад больше пригодится тем, кто хочет углубить и структурировать свои знания об ASP.NET MVC
Видеозапись доклада:
http://getdev.net/Event/winrt
Windows Runtime призван упростить разработку metro-приложений для Windows 8 на разных языках. О том, как его использовать и какие особенности следует учитывать, можно узнать в этом докладе.
Видеозапись:
http://getdev.net/Event/dependency-injection
Рассказ о внедрении зависимостей (Dependency Injection), зачем оно нужно, откуда оно пошло и развивалось. Виды Dependency Injection, разница между ними и рекомендации к применению. Расказ про декораторы (decorators). Рассказ про абстрактные фабрики. Рассказ про управление временем жизни. Рассказ про IoC -контейнеры вообще и Castle Windsor в частности.
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