"Вы читаете о роботах и программировании и думаете: «Было бы здорово сделать что-то подобное самому!» Теми, кем эта идея овладевает чуть больше просто мыслей смотрят кто и как делал своего робота. Читают статьи, смотрят видео. На картинках все понятно. В видеороликах тоже обычно показываются уже готовые продукты, а также сжато показываются технологии их изготовления. И вроде бы то же всё понятно: отпилил, прикрутил, припаял, соединил, запрограммировал вон на той программе вот этим кодом."

вторник, 6 февраля 2018 г.

Информация к размышлению

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

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

воскресенье, 4 февраля 2018 г.

Информация к размышлению

Датчик IR Sensor IRSS-10
  • Below is a graph representing a rough estimate of the sensor value’s changes from the white object’s distance. The sensor’s value is subject to change depending on the object’s color and surrounding environment.
  • The IR sensor is divided into a receiver and transmitter. When an object is too close, the angle where the reflected infrared light comes is not even making it difficult to know the area which the sensor value decreases. Also, it can barely detect object further than 15cm.

Гугл перевод:
Ниже приведен график, представляющий приблизительную оценку изменений значения датчика от расстояния белого объекта. Значение датчика может изменяться в зависимости от цвета объекта и окружающей среды.
ИК-датчик разделен на приемник и передатчик. Когда объект находится слишком близко, угол, куда приходит отраженный инфракрасный свет, даже не затрудняет знание области, которая уменьшается значение датчика. Кроме того, он едва может обнаружить объект дальше, чем 15см.

пятница, 2 февраля 2018 г.

Зона АРДУИНО: Датчики линии на нашем роботе

На нашем роботе установлены три датчика линии (TCRT5000) расположенные на нижней плате робота.












Элементы платы
Контакты подключения 3-проводного шлейфа
Датчик подключается к управляющей электронике по трём проводам. Назначение контактов 3-проводного шлейфа:
Питание (V) — красный провод. На него должно подаваться напряжение 5 В (или 3,3 В).
Земля (G) — чёрный провод. Должен быть соединён с землёй микроконтроллера.
Сигнальный (S) — жёлтый провод. Подключается к цифровому входу микроконтроллера. Через него датчик передает микроконтроллеру бинарное значение, ноль или единицу.

Оптопара TCRT5000

Оптопара TCRT5000 — это собранные в одном корпусе светоиод (синий на рисунке) и фототранзистор n-p-n типа (чёрный на рисунке). Светодиод излучает в инфракрасном диапазоне на длине волны 950 нм. Свет отражается от поверхности и попадает на фототранзистор.
Когда датчик находится над светлой поверхностью, которая лучше отражает, сопротивление фототранзистора уменьшается, и уменьшается выходное напряжение. Когда поверхность тёмная и отражает мало света, увеличивается сопротивление фототранзистора, и растет выходное напряжение.
Нужно иметь ввиду, что показания датчика также зависят от расстояния до поверхности. Когда датчик слишком низко, перегородка между диодом и фототранзистором оптопары мешает транзистору принимать отраженный свет. Когда датчик слишком высоко, отраженный свет рассеивается и не доходит до датчика. В обоих случаях датчик выдаст 0.
Инвертор
В схеме цифрового датчика есть инвертирующий триггер Шмитта. Поэтому когда напряжение на фототранзисторе низкое, на выходе датчика единица, когда высокое — ноль. Это значит, что светлая поверхность (или пустота) соответствует 1, тёмная — 0.
Переменный резистор
Переменный резистор позволяет настраивать датчик линии на различные оттенки серого. Если повернуть ручку резистора до упора против часовой стрелки (максимальное сопротивление), то датчик будет выдавать логический ноль над поверхностью светлого оттенка серого. Если повернуть ручку до упора по часовой стрелке (минимальное сопротивление) то датчик будет реагировать только на самые тёмные оттенки. Варьируя сопротивление, вы можете настроить датчик на нужный вам оттенок.
Сигнальный светодиод
Сигнальный светодиод загорается, когда датчик находится над светлой (по его мнению) поверхностью. Наличие диода позволяет более точно откалибровать датчик. Оттенок серого, над которым он загорается в зависимости от настройки можно считать реперной точкой.
Планируемые действия на роботе

  1. Подключение двух датчиков линии спланируем перевести с аналоговых портов на цифровые 11 и 12 соответственно (см схему подключений устройств) 
  2. Ручная настройка датчика по срабатыванию светодиода
  3. Разработка алгоритма управления моторами при движении робота



Контрольный тест

Срок выполнения теста до 00.00 05.02.2018 ТЕСТ

четверг, 1 февраля 2018 г.

Вариант программы движения по линии

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



понедельник, 29 января 2018 г.

Зона Ардуино: Движение по линии

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

и два электромотора. В общем алгоритм движения заключается в следующем: 
  • Если центральный датчик находится на линии, а боковые вне линии, то машинка едет прямо.
  • Если левый датчик находится на линии, а правый вне линии, то машинка поворачивает налево (независимо от показаний центрального датчика)
  • Если правый датчик находится на линии, а левый вне линии, то машинка поворачивает направо (независимо от показаний центрального датчика)
  • Если правый и левый датчики находятся на линии (вне зависимости от показаний центрального датчика), то такое состояние является неопределённым, машинка начинает движение назад.
  • Если все три датчика находятся вне линии, то такое состояние является неопределённым (потеря линии).  то машинка сразу остановится.
Можно рассмотреть алгоритм управления с использованием "черного ящика" и таблицы состояний управляющих сигналов, где А,В,С  сигналы аналоговых  датчиков линий переведенные в дискретную форму 1 - есть линия, а 0 нет линии. М1, М2 электромоторы с фиксированной заданной частотой вращения, но 1 движение мотора вперед, а 0 соответственно назад.






Тогда логическая формула управления мотором примет вид:
M1 = noA&B&C or noA&B&noC or noA&noB&C, упростив получим - M1 = noA&C 
M2 = A&B&noC or A&noB&noC or noA&B&noC, упростив получим - M2 = A&noC 
Для перевода аналогового сигнала  в дискретный, необходимо получить пороговые значения по достижению которого сигнал будет 1 или 0.  Такое преобразование выполняется при сравнении полученного сигнала с пороговым после чего ему нужно присвоить значение 1 или 0.
Пороговые значения получаются калибровкой датчика - сравнением двух контрастных условий срабатывания. Такая операция может проводиться вручную, при отладки программы или автоматически если будет написан соответствующий алгоритм.









четверг, 25 января 2018 г.

Домашнее задание кружку робототехника (для всех)

Вам предлагается программа тестового модуля калибровки датчиков Вашего робота написанная в RoboPlus Task показанная ниже 




















результат работы программы представлен на скриншоте




ЗАДАНИЕ
  1. Построить ДРАКОН схему по предложным скриншотам программы с помощью или ИС ДРАКОН или DRAKON WEB EDITOR. При составление дракон-схемы ОБЯЗАТЕЛЬНО указывать в параметрах Вашу (СВОЮ - АВТОРА) фамилию как показано ниже 
  2. В дракон схемах каждое действие должно иметь комментарий (полка или отдельная икона комментарий)
  3. В отдельном комментарии пояснить что показано на скриншоте программы - прокомментировать каждую строку 
ВНИМАНИЕ выполненное домашнее задание отправить через форму "Пункта приема домашних заданий". В графе Задание указать ДЗ №4