вторник, 27 января 2015 г.

Релейный регулятор при движении по линии

1. Робот с одним датчиком

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

Конструкцию можно построить множеством способом. Рассмотрим один их них. Крепление датчика освещенности к трехколесной тележке:




Короткая двухмодульная ось может быть красного или черного цвета:
Датчик подключен:

2. Релейный регулятор

Задача такова: двигаться по плоскому полю вдоль границы черного и белого.

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

Вот простейшее решение:

Без дополнительных уточнений предполагается, что датчик освещенности подключен к первому порту. Левый мотор подключен к порту В, правый - к порту С. Перед стартом ставим робота на линию так, чтобы датчик был над белым полем на расстоянии 2-3 см от черного. По алгоритму робот плавно поворачивается направо, пока освещенность не понизится на 5 пунктов (по умолчанию). Затем поворачивается налево, пока освещенность не повысится на 5 пунктов. Движение получается похожим на "змейку".

3. Возможные проблемы

  1. Робот крутится на месте, не заезжая на линию. В этом случае следует стартовать с другой стороны линии, либо поменять подключение моторов к контроллеру местами.
  2. Робот проскакивает линию, не успев среагировать. Следует понизить мощность моторов.
  3. Робот реагирует на мелкие помехи на белом, не доезжая до черного. Надо увеличить порог чувствительности датчика (например, не на 5, а на 8 пунктов)

Есть возможность заранее определить уровень освещенности на данном поле и использовать его абсолютное значение. Воспользовавшись показаниями датчика на белом и черном, полученными через меню View, рассчитаем их среднее арифметическое (53+37)/2=45, которое условно назовем "значением серого". Пересекая датчиком значение 45, робот будет менять направление движения. Очевидно, что по левую луку от "серого" все показания датчика будут "белыми", а по правую "черными". Алгоритм будет выглядеть так:
Чтобы сделать поворот более плавным, не будем полностью останавливать моторы на повороте, а лишь притормозим. Числа 80 и 20 поставлены условно, их стоит подобрать самостоятельно:
Лучший результат 22 сек (на больших колесах) Дьяконов Николай

среда, 21 января 2015 г.

Еще одна двухмоторная тележка

1. Двухмоторная тележка 2

Рассмотрим конструкцию еще одной тележки. Инструкция находится на сайте Центра инженерной поддержки образования. Саму инструкцию можно посмотреть здесь или воспользоваться изображениями, выложенными ниже:
Пошаговая инструкция:
 

 

 

 

 

 

2. Задание

Напишите программу движения тележки по указанному маршруту.

вторник, 13 января 2015 г.

Двухмоторная тележка, которая может поворачиваться

1. По итогам II четверти

По итогам II четверти в первой подгруппе лучшим стал Попов Георгий, второе место - Оспельников Алексей, третье - Горшков Влад.
Во второй подгруппе первое место поделили Дьяконовы Александр и Николай, третье место у Никитина Кирилла.

2. Требования к конструкции

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

3. Процесс построения одной из наиболее простых тележек

Шаг 1. Для крепления моторов, которые будут располагаться по обе стороны от NXT, берем две изогнутые балки:
Шаг 2. В зависимости от расположения балок центр тяжести тележки может быть смещен:
Шаг3. Дополнительные крепления для придания устойчивости:
Все готово для установки контроллера:

Шаг 4. Колеса устанавливаются на 6-модульные оси, втулки предохраняют от нежелательного трения о корпус.
Шаг 5. Конструкция для крепления третьего колеса:
Шаг 6. Элементы подвижного колеса. Длины осей - 3 и 5 модулей. Колесо должно вращаться свободно.
Сборка заднего подвижного колеса. Оси должны вращаться свободно.

Тележка готова.
4. Продолжаем знакомство со средой Robolab 2.9
Палитра функций включает в себя различные типы команд:

Простейшие алгоритмы

1. Квадрат. По умолчанию считаем, что левый мотор подключен к порту В, правый - к порту С. Проверьте подключение.


Повторяй 4 раза:
  • моторы B, C вперед;
  • жди N/100 секунды;
  • мотор С назад (B продолжает двигаться вперед);
  • жди N/100 секунды.
Стоп моторы.
2. Парковка. Напишите самостоятельно программу парковки в гараж (конструкцию строим из подручных материалов).