Project ScratchDuinoRobotKit blackline
From scratchduino
(Difference between revisions)
Line 12: | Line 12: | ||
|-- | |-- | ||
|- | |- | ||
− | |colspan=6| <center>'''<font color="red">Algorithm 1. </font>''' The robot uses '''ONE''' numerical value of the line sensor | + | |colspan=6| <center>'''<font color="red">Algorithm 1. </font>''' The robot uses '''ONE''' numerical value of the line sensor — the AVERAGE between <br> two extreme values, obtained when the sensor is positioned above the white field and above the black line. <br> If the sensor shows a value greater than the average, then the robot turns to the left during 0.1 second <br> and goes forward during 0.1 second. <br> If the sensor shows a value less than the average, <br> then the robot turns to the right during 0.1 second and goes forward during 0.1 second. <br> The trajectory the robot travels along resembles a zigzag <br> [[File:Zigzag.png]] <br></center> |
|- | |- | ||
|38 seconds | |38 seconds | ||
||[[File:Black line analog1 code1.png]] | ||[[File:Black line analog1 code1.png]] | ||
||USB | ||USB | ||
− | ||[https://youtu.be/Mvm1UxDkF-A ROBBO Scratch Video] <br> [http://wiki.robbo.ru/wiki/%D0%A4%D0%B0%D0%B9%D0%BB:Project_Black_line_analog1_code1.sb2 | + | ||[https://youtu.be/Mvm1UxDkF-A ROBBO Scratch Video] <br> [http://wiki.robbo.ru/wiki/%D0%A4%D0%B0%D0%B9%D0%BB:Project_Black_line_analog1_code1.sb2 Download the sketch] |
||30 seconds | ||30 seconds | ||
||Для включения и выключения робота <br> используются два датчика касания: analogRead(A3) <br> – задний правый — включение, analogRead(A1) — <br> задний левый — выключение, <br> [http://wiki.robbo.ru/wiki/%D0%A4%D0%B0%D0%B9%D0%BB:Black_line_analog1_zigzag.ino Download the sketch] | ||Для включения и выключения робота <br> используются два датчика касания: analogRead(A3) <br> – задний правый — включение, analogRead(A1) — <br> задний левый — выключение, <br> [http://wiki.robbo.ru/wiki/%D0%A4%D0%B0%D0%B9%D0%BB:Black_line_analog1_zigzag.ino Download the sketch] |
Revision as of 12:04, 25 June 2018
Name of author (s)
Description of the ROBBO Scratch project
Trip time | Sketch | Power supply | ROBBO Scratch | Trip time | Arduino IDE |
---|---|---|---|---|---|
two extreme values, obtained when the sensor is positioned above the white field and above the black line. If the sensor shows a value greater than the average, then the robot turns to the left during 0.1 second and goes forward during 0.1 second. If the sensor shows a value less than the average, then the robot turns to the right during 0.1 second and goes forward during 0.1 second. The trajectory the robot travels along resembles a zigzag | |||||
38 seconds | USB | ROBBO Scratch Video Download the sketch |
30 seconds | Для включения и выключения робота используются два датчика касания: analogRead(A3) – задний правый — включение, analogRead(A1) — задний левый — выключение, Download the sketch | |
13 seconds | На скорости возникает большое количество ошибок. На высокой скорости робот в половине случаев проскакивает поворот. |
Батарейка 7.4 V | ROBBO Scratch Video Download the sketch |
11 seconds | Arduino IDE Video Download the sketch |
двумя крайними значениями, полученными при положении датчика над белым полем и черной линией. Если датчик показывает значение: 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 seconds | небольшое | USB. ROBBO Scratch хуже, чем ArduiniIDE обрабатывает время движения, поэтому количество диапазонов мы сократили до 5 и упростили движение моторов. Они все время двигаются вперед с разной мощностью |
Sketch download link | 18 seconds | Arduino IDE Video |Download the sketch |
12 seconds | большое. На высокой скорости робот в 4 из 5 случаев проскакивает поворот. |
Батарейка 7.4 V | В Sketch, разработанный для USB, необходимо внести изменения, т.к. на большой скорости промежуточные значения датчика не обрабатываются. Объединяем все промежуточные значения Download the sketch |
9.5 seconds | Sketch, написанный для питания 5В (USB) сразу важно изменить. Заменить время движения робота в поворотах со 100 до 10 milliseconds. А время движения прямо увеличить до 200 milliseconds. Эти изменения необходимы, т.к. на большой скорости робот слишком быстро проезжает участок, где изменяются значения датчиков |
двумя крайними значениями, полученными при положении датчика над белым полем и черной линией. Траектория движения робота напоминает прямую линию с длинными прямыми участками, на всём протяжении которой робот едет, не притормаживая | |||||
XX seconds | |||||
XX seconds | 8.5 seconds (рекорд трассы!) | Arduino IDE Video Download the sketch |
Описание проезда по чёрной линии с ДВУМЯ датчиками
Сложную трассу с перекрестками, ответвлениями, "зебрами" и инверсными участками с одним датчиком проехать невозможно. При подключении двух датчиков требуется использовани специальных алгоритмов, которые автоматизируют движение робота.
Trip time | Sketch | Power supply | ROBBO Scratch | Trip time | Arduino IDE |
---|---|---|---|---|---|
| |||||
XX seconds | USB | При питании от USB робот останавливается на повороте, т.к. оба датчика оказываются на черной линии Download the sketch |
XX seconds |
analog0 = analogRead(A0); // Got a value from the sensor analog1 | |
10 seconds | 7.4 V | При дополнительном питании от батарейки робот проезжает крутой поворот, т.к. на скорости оба датчика не оказываются одновременно на черной линии ROBBO Scratch Video Download the sketch |
XX seconds | Arduino IDE Video. Если батарейка садится, робот встает на повороте. Download the sketch - показания датчиков Download the sketch - простой релейный регулятор + вкл/выкл датчиками касания | |
E = S1 – S2. Умножаем это значение на выбранный нами пропорциональный коэффициент kp и получаем значение управляющего воздействия U: U = kp⋅E. Управляющее значение – это значение мощности, которое нам необходимо прибавить к мощности одного мотора и отнять от мощности другого. Таким образом, робот будет сам регулировать свое положение – то есть совершить поворот или подруливание в нужную сторону.
| |||||
XX seconds. | USB | ROBBO Scratch Video |
XX seconds | Download the sketch | |
7.4 V | ROBBO Scratch Video Download the sketch |
XX seconds | Arduino IDE Video Download the sketch | ||
| |||||
USB | |||||
7.4 V | ROBBO Scratch Video Download the sketch |
XX seconds | Arduino IDE Video Download the sketch | ||
| |||||
XX seconds | USB | ||||
XX seconds | 7,4 V | ROBBO Scratch Video Download the sketch |
XX seconds | Arduino IDE Video Download the sketch |