четверг, 31 декабря 2015 г.

И ещё пара слов о робототехнике в образовании

Недавно наткнулся на статью "Что такое образовательная робототехника? Мнение экспертов комиссии Совета Федерации" (ссылка). Разумеется, очень заинтересовался. Каково же было моё разочарование, когда я попытался вчитаться. Я явно ожидал увидеть сколько-нибудь вменяемый отчёт, а не набор глубокомысленных заметок вроде этой:
О соревновательной робототехнике говорил руководитель Программы «Робототехника» Фонда «Вольное дело» Максим Петров. Выступление практика, человека, который приводил примеры из опыта многолетней работы, было воспринято с большим интересом. Многие участники делали пометки по ходу этого выступления.
"Разумеется, а чего стоило ожидать" - заметит читатель. Да на самом деле становится грустно от всего этого. Сколько воды вылито, сколько раз авторы растекались мысью по древу, фигурируя исключительно абстрактными понятиями и не приводя ни единого реального примера работ.

Но есть правило ведение продуктивной дискуссии. Если что-то не нравится, недостаточно сказать своё "фи": нужно вывести отдельные проблемы и предложить альтернативный подход. Что я и попытаюсь сделать.

суббота, 19 декабря 2015 г.

А вы мечтали работать с "Лего"?

Ещё вспоминается тот восторг, когда мне пятилетнему подарили набор конструктора "Лего". Вроде бы там была автозаправка с бензовозиком и человечками. Ну и помнится, как этот конструктор родители выгребали горстями изо всех углов дома. Разумеется, деталек довольно скоро стало не хватать, и меня посещала такая мысль:
Если дома сделать большую перестановку, или выбросить много ненужной мебели, то явно можно найти все недостающие детали.
Ну да, как же. И перестановки уже были, и даже масштабный ремонт сделали. А деталек так и не прибавилось.

Впрочем, и конструктор тот уже давно где-то далеко от дома. То ли отдали кому-то, то ли ещё что-то с ним сделали. В общем, нет его.

Когда я учился классе в десятом и потихоньку осваивал робототехнику, один мой одноклассник предложил сделать автоматическую железную дорогу. У него как раз была такая дорога от Лего, просто хотелось прикрутить к ней Arduino и сделать что-нибудь прикольное. Впрочем, эта идея так и повисла в воздухе, а дорога эта, отданная мне на растерзание, так и лежит в шкафу и ждёт своего часа.

Всё это - вступление к тому, как мне случилось поймать настоящую работу, связанную с Лего, и что я сейчас думаю об этом.

пятница, 18 декабря 2015 г.

Yakuake в KDE5

Есть у меня слабость к drop-down терминалам. Удобно же: не отвлекаясь от рабочего процесса, можно запустить фоном какую-нибудь задачку, которая не так важна, чтобы под неё ещё окошко выделять, и в то же время не так тривиальна, чтобы запускать её из лончера (например, посмотреть вывод htop или по-быстрому подключиться к хосту по ssh).

Так как я - ярый кедовод, то и терминал соответствующий - Yakuake. Проектик с некоторым наростом пыли, зато гармонично смотрится в KDE и вообще использует компонент нативного кедового Konsole. Назначил горячую клавишу - и терминал всегда под рукой.

Вот так выглядит эта милая штука
Однако, кеды растут и расцветают. Вон уже какая-то пятая-разлохматая версия в Debian testing лежит (и на моём лаптопе, соответственно). Конечно же, обновления в какой-то момент затронули и Konsole. И в одно хмурое декабрьское утро я увидел вот это.

четверг, 15 октября 2015 г.

Мониторинг шины I2C

Электронщики в своей работе часто встречаются с шиной I2C. Как правило, на этой шине висят разные заводские микросхемки: датчики, память, раширители портов ввода-вывода, часы реального времени и так далее. Обмен по шине минимален и, в общем-то, достаточен, если говорить о взаимодействии в рамках одной платы или одного небольшого устройства. Скорость передачи - порядка 100 кбод, на шине может быть несколько мастеров, да и протокол сводится, как правило, к обращению к регистрам устройства.

Большинство поставляемых сейчас микроконтроллеров уже имеют на борту модуль обмена по I2C, причём могут быть и мастером шины, и слейвом. Поэтому в некоторых случаях есть смысл использовать I2C для обмена между "своими" устройствами.

В обоих случаях возникает проблема отслеживания линии во время отладки. Дело в том, что при работе, например, с UART, можно взять один из сотен существующих в продаже переходников, подключить его к COM или USB порту и воспользоваться одним из десятков программ-терминалов (например, minicom, hyperterminal, cutecom). А вот с I2C всё не так уж очевидно.

В этой статье попробую рассмотреть несколько найденных вариантов комплексов для анализа шины I2C.

воскресенье, 13 сентября 2015 г.

И снова о робототехнике

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

С самого начала кружок робототехники был платным, но я был на ставке и, как следствие, определённая стабильная выплата в мою сторону всегда присутствовала (хоть и совсем небольшая). Потом сменилось руководство, кружок решили сделать бесплатным, а мою ставку - сократить вполовину. В без того хорошо затянутом ремешке пришлось насверлить дополнительных дырочек. К тому же, близился Евробот, и времени на подготовку хоть каких-то занятий уже не осталось; надо было хотя бы просто вывести одну команду в участники.

четверг, 4 июня 2015 г.

Новая жизнь

Наконец-то реализовались старые планы, и теперь мой видавший виды ASUS Vivobook S200 обзавёлся шустрым SSD. Невероятные непривычные ощущения.

Да, к тому же самое время заодно и операционки заново установить. Собственно, уже сейчас я пишу из Debian. Разворачивание идёт довольно быстро - руки-то помнят...

четверг, 14 мая 2015 г.

Один майский вечер

За окном проносятся мимо огни автомобилей и уютно светящиеся окна домов, стоящих рядом с дорогой. В вагоне почти никого нет; из открытых форточек веет приятной прохладой. Теперь на сорок минут можно расслабиться и уйти в себя...

Обычный весенний вечер. Хотя, что уж говорить, этой весной вечера давно перестали быть обычными. Что поделаешь, если ещё с осени и зимы успел набрать себе большую кучу интересной работы.


воскресенье, 26 апреля 2015 г.

Евробот - вести с полей. Часть вторая, заключительная

Российский этап соревнований торжественно закончился. Мы оказались на первом месте, на втором и третьем команды из Астрахани и Екатеринбурга. Всем трём командам, по идее, предстоит путешествие в Швейцарию на международный финал.

 Не сказать, что всё прошло очень гладко, но вполне неплохо. Один раз робот повис во время заезда (и таки да, это небольшая тема для ковыряния, почему это происходило и кто виноват. Этим я займусь после сессии, вероятно). Иногда робот слегка сбивался с пути, и это всё несколько портило. Однако, все хорошо сработали. Огромное спасибо Диме Иванову за терпение и упорство, Богдану за весёлые затеи и за приручение "малинки", и, разумеется, Диме Сухоцкому за всё происходившее впринципе.

Теперь ребятам предстоит немного причесать робота перед отбытием на финал. Надеюсь, что у них всё хорошо получится. А мне, похоже, пора взяться за слегка припущенные проекты, требующие довольно срочной реализации.

среда, 22 апреля 2015 г.

Готовимся к Евроботу-2015. Часть 3. Промежуточные итоги.

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

Боюсь делать какие-либо оценки шансов нашей команды на победу. Софт немножко сбоит, периодически выплывают довольно забавные баги, которые мы стараемся оперативно вылавливать и править. Дмитрий Иванов расписывает стратегию поведения робота (на Python, как и хотелось), я послеживаю за состоянием архитектуры и исправляю ошибки. Рабочая идиллия.

Однако, расскажу более подробно о происходящем.

четверг, 16 апреля 2015 г.

Готовимся к Евроботу-2015. Софт. Часть 2.

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

Шутка, конечно. Работа не останавливалась ни на минуту, насколько это вообще было возможно. Учёбу ни у кого никто не отменял.

Впрочем, я рапространяюсь. Самое интересное - ниже.

четверг, 2 апреля 2015 г.

Начинаю прикручивать LUFA к Antares

В нашей команде для программирования микроконтроллеров мы используем фирменную систему сборки Antares - проект Андрея Андрианова aka Necromant. Когда я только-только попал в DIMRobotics, он только начинал её разрабатывать, и как раз тогда пошли её полевые испытания для разных архитектур.

По сути, Antares представляет из себя груду Makefile-ов, добрую жмень самого разношёрстного библиотечного и конфигурационного кода для разных микроконтроллеров от всем привычных AVR до STM32 и всякой экзотики вроде 8051. Всё это добро связано воедино и конфигурируется kconfig-ом - системой настройки, открученной от линуксового ядра.

Проект постоянно развивается (хотя и не так быстро, как хотелось бы, но достаточно уверенно) и потихоньку обрастает полезностями. Довольно давно к Antares был прикручен V-USB - проект программного USB для AVR. Однако до сих пор стояла тишина насчёт использования аппаратного USB в некоторых контроллерах вроде ATmega32U4 и подобных. Пора бы восполнить этот пробел.

Начинаю подключать к Antares библиотеку LUFA, содержащую код для организации аппаратного USB-стека на AVR.

вторник, 31 марта 2015 г.

Готовимся к Евроботу-2015. Софт. Часть 1

Так уж получилось, что в этом году меня снова втянули в Евробот. Едва ли я смогу набраться сил и полностью отвязаться от этого занятия. Да и незачем: за всё время моего участия в соревнованиях я сильно утомился от постоянной работы со стратегией и только с ней; системный софт писался от силы пару месяцев в самом начале сезона.

В этом году мы решили браться за подготовку не так рьяно, как раньше, и поучаствовать в своё удовольствие. Тем более, что меня заинтересовали сетевые технологии и одолело желание сделать систему управления роботом по-настоящему модульной, с программированием на Питоне и передачей данных через TCP/IP.

Здесь я вкратце расскажу о том, что и как мы решили использовать, а также текущее состояние дел.

среда, 25 февраля 2015 г.

Автоматизация процесса обучения робототехнике

Кружок робототехники надо развивать. Пока что хотя бы в рамках конкретно взятого лицея.

С оборудованием всё не так уж плохо, ардуинками можно даже кого-нибудь покормить, хотя пособий могло бы быть и побольше. Но самая основная проблема - надо занимать тех, кто будет приходить на занятия.

И на этот счёт у меня возникла забавная идея...

четверг, 29 января 2015 г.

Осваиваем "умный дом". Часть 2: железо

Идея аккуратно разложена на бумаге, "вдохновившие" компоненты разложены рядышком...

Осваиваем "умный дом". Часть 1: идея

Семестр выдался довольно нагруженным, и так получилось, что за интересные проекты, не связанные с учёбой, взяться едва ли получилось. Однако, закончилась сессия, и я решил, не сбивая рабочего настроя, взяться за давно запланированное.


Ещё летом было закуплено пять микросхем для шины RS485, несколько I2C-термометров LM75AD, кучка разъёмов RJ11 (телефонные 6P4C) и соответствующих штекеров на провод с витой парой.

И наконец-то появилась серьёзная задача: управление насосом системы отопления.

Сначала в планах было сделать просто электронный таймер с симистором... но в какой-то момент что-то пошло не так...