Project ScratchDuinoRobotKit blackline
From scratchduino
Revision as of 11:40, 20 June 2018 by Elena Vostrikova (Talk | contribs)
Name of author (s)
Description of the project ROBBO Scratch
Время заезда | Скетч | Источник питания | ROBBO Scratch | Время заезда | Arduino IDE |
---|---|---|---|---|---|
двумя крайними значениями, полученными при положении датчика над белым полем и черной линией. Если датчик показывает значение больше этого числа, то робот 0,1 сек. поворачивается налево и 0.1 сек. едет прямо. Если датчик показывает значение меньше среднего арифметического, то робот 0,1 сек. поворачивается направо и 0.1 сек. едет прямо. Траектория движения робота напоминает движение по зигзагу | |||||
38 секунд. | USB | Видео ROBBO Scratch Cсылка на скачивание скетча |
30 секунд. | Для включения и выключения робота используются два датчика касания: analogRead(A3) - задний правый - включение, analogRead(A1)- задний левый - выключение, Cсылка на скачивание скетча | |
13 секунд. | На скорости возникает большое количество ошибок. На высокой скорости робот в половине случаев проскакивает поворот. |
Батарейка 7,4 В | Видео ROBBO Scratch Cсылка на скачивание скетча |
11 секунд. | Видео Arduino IDE Cсылка на скачивание скетча |
двумя крайними значениями, полученными при положении датчика над белым полем и черной линией. Если датчик показывает значение: 0, то это означает положение над белым полем. Оба мотора включены на полную мощность (255), левый мотор крутится вперед, а правый -назад. Робот поворачивается на месте 0,1 секунды 1, то это означает положение над белым полем, ближе к чёрной линии. Левый мотор включен на полную мощность (255) и крутится вперед, а правый мотор стоит. Робот поворачивается в движении 0,1 секунды 2, то это означает положение на границе белого и черного полей, еще ближе к чёрной линии. Левый мотор включен на полную мощность (255) и крутится вперед, а правый включен на половине мощности (120) и тоже крутится вперед. Робот едет прямо и немного поворачивается в движении в течение 0,1 секунды 3, то это означает положение на границе белого и черного полей, уже на чёрной линии. Левый и правые моторы включены на полную мощность (255) и оба крутятся вперед. Робот едет прямо в течение 0,1 секунды Остальные значения (4,5 и 6) являются зеркальными по отношению к 0,1 и 2. Траектория движения робота напоминает плавную линию с длинными прямыми участками, на всём протяжении которой робот едет, не притормаживая | |||||
25-26 секунд | небольшое | USB. ROBBO Scratch хуже, чем ArduiniIDE обрабатывает время движения, поэтому количество диапазонов мы сократили до 5 и упростили движение моторов. Они все время двигаются вперед с разной мощностью |
Cсылка на скачивание скетча | 18 секунд. | Видео Arduino IDE |Cсылка на скачивание скетча |
12 секунд | большое. На высокой скорости робот в 4 из 5 случаев проскакивает поворот. |
Батарейка 7,4 В | В скетч, разработанный для USB, необходимо внести изменения, т.к. на большой скорости промежуточные значения датчика не обрабатываются. Объединяем все промежуточные значения Cсылка на скачивание скетча |
9,5 секунд. | Скетч, написанный для питания 5В (USB) сразу важно изменить. Заменить время движения робота в поворотах со 100 до 10 милисекунд. А время движения прямо увеличить до 200 мили секунд. Эти изменения необходимы, т.к. на большой скорости робот слишком быстро проезжает участок, где изменяются значения датчиков |
двумя крайними значениями, полученными при положении датчика над белым полем и черной линией. Траектория движения робота напоминает прямую линию с длинными прямыми участками, на всём протяжении которой робот едет, не притормаживая | |||||
хх секунд | |||||
хх секунд | 8.5 секунд (рекорд трассы!) | Видео Arduino IDE Cсылка на скачивание скетча |
Описание проезда по чёрной линии с ДВУМЯ датчиками
Сложную трассу с перекрестками, ответвлениями, "зебрами" и инверсными участками с одним датчиком проехать невозможно. Использование двух датчиков требует использования
Время заезда | Скетч | Источник питания | ROBBO Scratch | Время заезда | Arduino IDE |
---|---|---|---|---|---|
| |||||
хх секунд. | USB | При питании от USB робот останавливается на повороте, т.к. оба датчика оказываются на черной линии Cсылка на скачивание скетча |
хх секунд. |
analog0 = analogRead(A0); // Got a value from the sensor analog1 | |
10 секунд. | 7,4 V | При дополнительном питании от батарейки робот проезжает крутой поворот, т.к. на скорости оба датчика не оказываются одновременно на черной линии Видео ROBBO Scratch Cсылка на скачивание скетча |
хх секунд. | Видео на Arduino IDE. Если батарейка садится, робот встает на повороте. Cсылка на скачивание скетча - показания датчиков сылка на скачивание скетча - простой релейный регулятор + вкл/выкл датчиками касания | |
E = S1 – S2. Умножаем это значение на выбранный нами пропорциональный коэффициент kp и получаем значение управляющего воздействия U: U = kp⋅E. Управляющее значение – это значение мощности, которое нам необходимо прибавить к мощности одного мотора и отнять от мощности другого. Таким образом, робот будет сам регулировать свое положение – то есть совершить поворот или подруливание в нужную сторону.
| |||||
хх секунд. | USB | Видео ROBBO Scratch |
хх секунд. | Cсылка на скачивание скетча | |
хх секунд. | 7,4 V | Видео ROBBO Scratch Cсылка на скачивание скетча |
хх секунд. | Видео Видео Arduino IDE Cсылка на скачивание скетча | |
| |||||
хх секунд | USB | ||||
хх секунд. | 7,4 V | Видео ROBBO Scratch Cсылка на скачивание скетча |
хх секунд. | Видео Видео Arduino IDE Cсылка на скачивание скетча | |
| |||||
хх секунд | USB | ||||
хх секунд. | 7,4 V | Видео ROBBO Scratch Cсылка на скачивание скетча |
хх секунд. | Видео Видео Arduino IDE Cсылка на скачивание скетча |