понедельник, 28 февраля 2011 г.

Робот для состязаний: выход из лабиринта. Часть III

Как было представлено в предыдущей заметке, о стандартном алгоритме обхода лабиринта роботом можно говорить в его двух модификациях: "Правило правой руки" и "Правило левой руки". Отличаются они выбором "опорной" стены, вдоль которой будет происходить движение.
Хотя и в конкретном приведенном примере было видно, что траектория движения робота, выполняющего "Правило левой руки", - более оптимальна, их этого нельзя сделать вывод, что в каждом лабиринте такой робот будет опережать робота, запрограммированного на движение по "Правилу правой руки".

воскресенье, 27 февраля 2011 г.

Робот для состязаний: выход из лабиринта. Часть II

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

Знакомимся с линейным приводом (Linear Actuator)

Навеяно прочтением вот этой статьи.
Довольно интересной деталью, входящей в некоторые стандартные наборы Lego Technic, является линейный привод (Linear Actuator). Его функция - преобразование вращающегося движения в линейное (вперед-назад). О нем уже можно было прочитать в одной из прошлой заметок.
Чтобы лучше представить, что именно делает линейный привод можно взглянуть на следующую схему.

четверг, 24 февраля 2011 г.

Еще одно видео c LEGOWORLD 2011

Ниже можно ознакомиться с еще одним видео с LEGOWORLD 2011, прошедшего в Копенгагене

Между прочим, в районе 1:24 можно наблюдать, как роботами управляют с помощью телефонов, где запущена MINDdroid. Автор этой программы и ролика - один и тот же человек.

Робот для состязаний: выход из лабиринта. Часть I

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

Итак, вы оказались в лабиринте...

среда, 23 февраля 2011 г.

Где живут чемпионы?

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

понедельник, 21 февраля 2011 г.

Программирование: события и состояния. Часть III

Продолжение. Начало здесь и здесь.

В прошлой заметке было разработана программа для движения тележки вдоль стены на определенном расстоянии. А измениться ли программа, если вместо тележки, собранной по танковой схеме, использовать тележку с управляющими колесами?

воскресенье, 20 февраля 2011 г.

LEGOWORLD 2011 в Копенгагене

Начали появляться первые ролики с фестиваля LEGOWORLD 2011, проходящего в Копенгагене.

Lego механизмы: в мире робо-животных

На официальном сайте Lego Mindstorms для каждого человека, увлекающегося данным конструктором, есть возможность вести свой блог - NXTLOG, чтобы делиться с остальным миром своими достижениями, созданными механизмами и роботами.
На текущий момент к просмотру доступно более 13000 всевозможных проектов.
Один из проектов, не так давно опубликованный на сайте - это "Duke, an NXT Dog", разработанный человеком с ником MySnailEatsPizza. Целью проекта было создать собако-подобного робота с помощью Lego Mindstorms конструктора. И можно сказать, что цель была достигнута на 100%.

четверг, 17 февраля 2011 г.

Как занимаются робототехникой в ФМЛ 239 Санкт-Петербурга

То что во многих школах преподают информатику с помощью наборов Lego Mindstorms - это уже сложившийся факт. Но, на мой взгляд, мало где это так хорошо поставлено, как в в Физико-математическом лицее №239 города Санкт-Петербурга.

Lego механизмы: автоматический склад II

К автоматическому складу сделанному из Lego Mindstorms NXT, можно добавить еще один.



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

среда, 16 февраля 2011 г.

Отборочный этап Международной робототехнической олимпиады

Как известно, 9 апреля в Москве состоится Всероссийский этап Международной Робототехнической олимпиады.
Чтобы отобрать лучшие команды для участия в олимпиаде, Нижегородский Институт Информационных Технологий 12-13 марта проводит региональные отборочные состязания по программированию Lego-роботов.

воскресенье, 13 февраля 2011 г.

Механизмы Чебышева

Чебышев Пафнутий Львович - знаменитый русский математик и механик. Его авторству принадлежать такие изобретения как стопоходящая машина, самокатное кресло и сортировалка.

Поэтому не зря на прошедшем недавно в Москве брифинге, посвященному проведению Всероссийского этапа Международной Робототехнической олимпиады, было объявлено, что одной из тем в творческой категории будут "Механизмы Чебышева".

Программируем Lego Mindstorms NXT в виртуальном мире

Помните, уже анонсировался проект о создании вирутальной среды для программирования Lego роботов. Так вот, на днях вышла первая демонстрационная версия этой среды.
На текущий момент вы можете с использованием языка ROBOTC, запрограммировать Lego Mindstorms NXT работа, собранного по танковой схеме и имеющего в своем арсенале сенсор расстояния и компас.

Lego механизмы: подвижное из неподвижного

Хотя данная конструкция и не является Lego-роботом, но тем не менее, крайне интересна для изучения. В частности, некоторые конструкторские решения могут быть позаимствованы для создания робота забирающегося по лестнице для Международной робототехнической олимпиады.

четверг, 10 февраля 2011 г.

NXT-G: целочисленное деление и округление дробных чисел

Известно, что среди нескольких нововведений, вторая версия программного обеспечения NXT-G стала поддерживать операции над дробными числами. Это было бы замечательно, если, как оказалось, теперь выполнить операцию целочисленного деления стало невозможно.
Точнее, целое число получить можно, но только, если делимое кратно делителю.

Дело осложняется еще и тем, что в NXT-G нет операции округления.

Как ни странно, но на помощь приходят знания, приобретенные в младшей школе.

NXC: кнопочная интерактивность

Довольно часто те, кто начинает знакомится с языком NXC, сперва обращаются к широкоизвестному NXC Tutorial (на русском), написанному Daniele Benedettelli. Это довольно хорошее для первого знакомства с этим языком программирования пособие и дает представление о многих базовых возможностях языка.
Но тем не менее, некоторые широкоиспользуемые базовые области, к сожалению, пропущены. Например, цветовой сенсор и работа с кнопками NXT блока. И если работа в NXC с цветовым сенсором была уже освещена ранее, то пора закрыть пробел и во взаимодействии с кнопками.

среда, 9 февраля 2011 г.

Робот для состязаний: куда ставить-то?

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

Например:
Регламент Международной олимпиады описывает подготовку к состязанию "Сортировщик" следующим образом (перевод с сайта robosport.ru):
Команды должны заявить, по каким признакам их робот будет рассортировывать предметы, и в какие из "Сортировочных корзин" поместит их.

В тоже самое время, текущие правила всероссийского этапа олимпиады говорят, что командам заранее не известно в какие карзины нужно будет разместить отсортированные кубики:
"1.2. В день соревнований, до времени сборки (тренировки), будет объявлено, какие кубики и в какие сортировочные области необходимо переместить. Это будет сделано размещением специальных сортировочных карточек в случайно выбранные сортировочные области."

"Наши" правила делают вызов программистам роботов: если в первом случае, команды сами могли заранее запрограммировать робота, куда отвозить все большие зеленые кубики, то на всероссийском этапе это невозможно - в день соревнований "зеленая" корзина может оказаться совсем не там, куда будет нести кубики ваш робот.

понедельник, 7 февраля 2011 г.

NXT-G: как сохранить данные после завершения программы

Мало кто знает, но среда NXT-G позволяет работать с файлами на NXT блоке. Вы можете создавать, изменять данные в файлах, затем получать к ним доступ, ну и в конец – удалять файлы. Осуществляются все файловые операции через стандартный блок Файлового Доступа (File Access Block).

Используя этот блок, вы можете сохранять данные из программ, исполняемых роботом, на ваш NXT блок.
Специфика работы с файлами такова, что после записи данных в файл, вы должны использовать другой блок Файлового Доступа для того, чтобы закрыть файл перед тем, как вы сможете читать или удалять его.

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

воскресенье, 6 февраля 2011 г.

Программирование: события и состояния. Часть II

Продолжение. Начало здесь

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

пятница, 4 февраля 2011 г.

Робот для состязаний: сортировка кубиков - логистическая задача

Довольно интересно распределились среди разных категорий задания Международной Робототехнической Олимпиады в этом году.
Лабиринт – задание на программирование больше, чем на конструирование.
Лестница – наоборот, проверяет больше конструкторские навыки, программирование робота, там чисто номинальное.
Сортировщик – предъявляет высокие требования и к конструированию и программированию.

Давайте взглянем еще раз на это задание.

среда, 2 февраля 2011 г.

Lego механизмы: если близко воробей - мы готовим пушку...

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

Вот и среди стандартных моделей, идущих с Lego Mindstorms NXT 2.0, робот, стреляющий цветными шариками поставлен на первое место.
Что ж, против естественного, с точки зрения эволюции, а не с точки зрения человеколюбия, процесса идти сложно, поэтому Lego-энтузиасты с удовольствием ищут новые способы быть во всеоружии.

Lego механизмы: Lego приходит на помощь тестировщикам

Не секрет, что одно из предназначений роботов - нудная работа. Не зная утомления и скуки, они явно лучше нас делают нудные повторяющиеся действия.
Так вот, представьте себе работу работника службы тестирования, которые проверяет работоспособность каких-нибудь мобильных устройств. Целыми днями он делает одни и теже действия, в одной и той же последовательности нажимает одни и теже кнопки.
Не очень радужная перспектива, не так ли?

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

Вот доказательство - соберите себе установку для тестирования из Lego!

Lego механизмы: пловец

Интересная конструкция робота. Он не совсем плывет, но движения очень на это похожи.
Обратите внимание, что энергия с мотора не передается напрямую к колесам. Вся конструкция целиком вовлекается в колебательное движение, с помощью шестерней и толкательных стержней, что и приводит к вращению колес и передвижению робота.

Related Posts Plugin for WordPress, Blogger...