Мастер-класс "Теория автоматического управления" — АСУ ТП: сообщество инженеров

Мастер-класс «Теория автоматического управления»

О чём видео

Мастер-класс руководителя клуба спортивной робототехники МФТИ Эдуарда Петренко об использовании теории автоматического управления при программировании роботов для соревнований по следованию по линии. Разбираются понятия объекта управления, ошибки регулирования, целевой функции, пропорционального, дифференциального, интегрального и ПИД-регуляторов, а также показаны примеры роботов и соревнований.

Что разбирается
  1. 00:00 Понятия теории автоматического управления
  2. 02:35 Соревнования по следованию по линии
  3. 12:27 Целевая функция ошибки для движения по линии
  4. 13:48 Функция для определения положения датчика относительно линии
  5. 15:05 Считывание аналоговых датчиков и преобразование значений
  6. 28:41 Пропорциональный регулятор и его недостатки
  7. 32:59 Дифференциальный и ПД-регуляторы
  8. 35:12 Роль интегрального регулятора при малых ошибках и ограниченной разрядности ШИМ
  9. 41:20 Настройка коэффициентов ПИД-регулятора подбором
  10. 46:16 Клуб спортивной робототехники МФТИ и пример робота
Оборудование и ПО
  • ШИМ

Кому полезно: Инженерам и участникам соревнований по робототехнике, интересующимся ТАУ и ПИД-регулированием.

Описание составлено автоматически по расшифровке речи в ролике.

Расшифровка видео

0:00 Здравствуйте, друзья, с вами я Эдуард Петренко, руководитель клуба спортивной робототехники МФТИ. И мы сегодня познакомимся с такой темой, как использование элементов теории автоматического управления ТАУ. При программировании роботов для участия в соревнованиях по линии последований по линии. Я свою изображение уменьшаю, чтобы оно нас не отвлекала, и давайте посмотрим, что. же такое теория автоматического управления, теория автоматического управления. Это дисциплина, которая занимается управлением какими то системами, какими то объектами.

0:51 Давайте немножко поговорим, о каких с какими понятиями она имеет дело. И так объект управления, то есть то, на что мы собираемся воздействовать управление. Это наше, собственно, воздействие на объект управления на нашу систему.

1:14 Ну, в случае следования по линии это. Управление называется регулированием, потому что есть величина, которую мы пытаемся добиться. Целевая и мы. Производим какое то воздействие на объект управления так, чтобы. Добиться этой величины регулятор это. Наш алгоритм, который дальше. Измеренную величину сравнивать с целевой дальше, там есть у нас ошибка регулирования, вот и и, собственно говоря, регулятор занимается тем, чтобы свести свести к. 0 Ошибку регулирования вот ну соответственно дальше определение ошибки регулирования и возмущающее воздействие. Это то, что у нас то, что нам мешает добиться.

2:18 Нашей цели. Вот. Это небольшое определение дальше. Посмотрим, что же это за соревнования и как они соотносятся с вот этими нашими понятиями. Соревнование по следованию по линии это. Соревнования, в которых робот должен, находясь все время над линией, то есть какой то какой то частью обязательно должен постоянно находиться над линией. В этих соревнованиях робот от старта до финиша должен проехать как можно быстрее. Давайте сейчас посмотрим несколько видео с этих соревнований, ну и параллельно пару замечаний отдам.

3:13 И так несколько. Видео с соревнований их по исследованию по линии. Итак, самая простейшая широкая линия для для начинающих на ней проще всего показать хорошие результаты. Широкая, с практически без изгибов видите, да робот вполне успешно с ней справляется при старте. Отрывал датчики от пола, так ну вот примерно на ту же тему. Еще ролик там на 2 полях соревнования параллельно происходят. Еще Ну, там хотя со стартом 2 робот опоздал. Там все равно определяется победитель по секундомеру. Еще довольно интересное соревнование, это так называемый шорт трек.

4:33 Вот вот там самые пересекающиеся линии и роботы вдвоем они соревнуются. Но в данном случае мы видим отборочные соревнования. Где именно важно время прохождения? Вот более сложное. Более сложным упражнением является. Так называемая европейская линия, она более узкая, и на ней есть гораздо более крутые. Изгибы, давайте ее вот посмотрим. Вот здесь. Робот уже ее успешно преодолел, но показать хорошие результаты гораздо сложнее, вот но. Здесь робот, я явно использует прижимающую турбинку.

5:46 Вот как и здесь, да? Здесь вот даже сложно было нормально поймать. Камерой вот трубинка понятно, да для чего потому, что мы наш радиус поворота ограничен. Силой трения это всего 3 нет, это единственная сила, которая удерживает нашего робота на поле. Соответственно, чтобы ее увеличить, нужно увеличить силу реакции опоры, соответственно прижимающую силу вот здесь.

6:31 Можно еще было бы посмотреть. Роботы, которые идут красиво, да то есть. Когда робот хорошо отрегулирован, вот это видно. Вот посмотрите. Очень плавное движение практически по центру линии. Это как раз то, к чему сводится наше регулирование. То есть это вы пример хорошо отрегулированного? Хорошо настроенного регулятора, вот вот, ну и еще соревнований эта линия профи, но она немножко это для понимания, какие бывают соревнования.

7:25 Этот вид соревнований был разработан для того, чтобы стимулировать интерес к техническому зрению, это сработало. Но в принципе сейчас уже. Много реализации, когда опять же для прохождения линии профи используются большие матрицы датчиков вместо камер, то есть и результат получается. Хороший в плане того, что роботы получаются быстрыми. К сожалению, сейчас вот быстрых роботов, которые используют техническое зрение до сих пор, ну то.

8:09 Не наблюдается, хотя по идее. Все для этого готово. Но тем не менее механика получается так механика. Такова, что для того, чтобы поймать, поднять камеру над полем? Нам придется сделать робота не очень оптимального с механической точки зрения. Давайте теперь посмотрим как. Устроен наш робот, какие его компоненты? Основные компоненты и. То, про что я в основном сегодня буду говорить, это датчик, датчик. Из на самом деле это вот массив датчиков. В данном случае 8 здесь взят датчик достаточно популярный.

9:10 Компании по Лулу. Но сейчас появились более дешевые аналоги. Что он собой представляет, схем достаточно немудреное основное, то есть сверху вот это. То, что показано на схеме это устройство подсветки. А Сам датчик это. Фототранзистор. Резистор вместе образует делитель напряжения, выход с этого делителя отправляется в. На выход и дальше. Отправляется в контроллер, подсветка инфракрасная. Вот. Есть такой лайфхак, если вы хотите проверить, что ваша линейка датчиков нормально запитана. То есть зачастую приходится решать, какие то проблемы вот можно посмотреть?

10:16 На него через камеру смартфона. Подсветка, как правило, таким лиловым светом на камере отображается. Ну, моторами управляет схема драйвер двигателя. Вот здесь типичный драйвер на Тошибовской микросхеме. 66 12 Ну, собственно, что происходит, он эта микросхема берет. Вот справа показанное. Входы то, что идет с контроллера, до какой то цифровой сигнал преобразует в выход, который уже подается на наши моторчики, там используются, то есть. Микромоторчики вот эта микросхема. Если я правильно помню, до 1 и 2 или 1 и 5 ампера тянет нагрузку, вот то есть это относительно небольшие моторчики.

11:26 Но которые вполне для маленького робота развиваются приличные. Обороты и приличный момент силы. Ну и, собственно, контроллеры контроллеры, мы используем Ардуино и для для. Простых роботов, как правило, бюджетный вариант это Ордуин. Надо вот тут, в принципе, на схеме можно и посмотреть еще какие. Выходы в целом бывают. Вот это основные компоненты робота, и дальше давайте посмотрим, как можно, пользуясь этими компонентами, собрав из них робота. Каким алгоритмом дальше мы должны?

12:20 Управлять роботом для того, чтобы заставить его ехать по линии. Ну что, займемся немного математикой? Давайте посмотрим, что же нам нужно, нам нужна функция. Целевая та функция. Которая будет. Принимать нужное нам значение, когда мы находимся ровно над линией. И какое какое то другое значение, когда отклоняемся от линии, давайте ее сразу. Договоримся что. Целевое значение будет 0 поэтому, когда нам. Робот находится симметрично над линией, то наша функция ошибки равна 0 ошибки.

13:16 Ну, я еще ее называю иногда эксцентриситет, то есть отклонения от центра, вот а дальше. Достаточно. Важное условие, что функция должна быть более монотонной, то есть она должна. Быть однозначное, то есть мы должны понимать. В какую сторону нам нужно регулироваться для того, чтобы прийти к целевому значению? К 0 поэтому давайте определим ее следующим образом, когда у у нас датчик крайний правый датчик находится над линией.

14:10 Это единица, ну то есть, когда 1 только датчик остался, вот крайний левый, то это ты единицы, и так у нас, а какой то. В таком в промежуточном значении тоже какое то промежуточное значение, что то, типа, 1, как допустим, вот то есть у нас эта функция может пробежать. Значение отмены соединиться до единицы и в симметричном случае в центральном она равна. 0 Вот такая функция, тип у нее будет флот, да, то есть она может быть чем то дробным.

14:56 Давайте посмотрим, как же ее вычислять. Собственно говоря, у нас есть массив. Ви от слова вэлью то, что мы считали с датчика. Вот как это читается, считается это функцией аналог Рид. Тут Добавлю, что я, как правило, использую аналоговые датчики то, что показывал схему, то есть у нас. Значение аналоговое, оно дальше. Подается на аналоговый вход, Ардуино происходит аналого цифровое преобразование. Функционал Крид и возможное значение от 0 до 1023.

15:50 Вот по опыту у нас такие значения, что если мы над белой частью поле находимся, то это что то там, в районе, 40 будут выдавать аналог Рид. Если датчик находится на правильной высоте, оговорюсь. Да, то есть полов дает вполне конкретные рекомендации. Там по моему от 3 до 8 мм, но для таких датчиков старых у них есть новые линейки датчиков, очень интересные, с различной густотой.

16:26 Ну, сейчас мы говорим о простых распространенных датчиках. Вот черная там, но где то, даже от 550 до 900? Вот понятно, что бывает все по разному, вот полигоны тоже.

16:46 Распечатывает иногда распространенный вариант на баннерной ткани, но она бывает разная, тоже всякое бликующее глянцевое. Способ печати разный, поэтому здесь значения могут быть по разному, и датчики могут быть несколько разными. Вот вот сейчас я такой приблизительный диапазон указал. Давайте еще введем 1 функцию БИ.

17:18 То есть это от английского Блэк и будет? Если датчик над белой частью поля находится, то это функция равна, 0 если на черном, то единица. Давайте здесь, я приведу фрагмент кода. Для того чтобы вы примерно представляли, как это для Ардуина, допустим, считается. Смотрите здесь. Довольно. Интересный прием используется, и я очень рекомендую его использовать. Единственно, может быть, покороче называть вот этот. Наш дефайн. Главное, чтобы вы сами потом понимали, что это такое.

18:11 Итак, у нас мы задефайнили сенсоркаунд равный 8 дальше наш. Препроцессор Компилятора везде, в коде, где увидит сенсорканд, будет подставлять 8. И в данном случае сразу демонстрируется удобство это приема, потому что если бы мы объявили. Сенсор Кантка какую то переменную, то уж точно нам как размер массива переменную. Мы не смогли бы использовать, а вот переменную при процессора, пожалуйста, и так объявлен.

18:56 Количество сенсоров объявлена переменная, и куда мы будем складывать наши значения? И еще переменная би, это, собственно, наша. Наша функция би ад Блэк. Здесь понятно, что можно было использовать более экономные вещи, ну для ви вэлью. Инт, это вполне подходящее. Переменная двухбайтная и, собственно говоря, от 0 до 1023 туда хорошо поместится. Вот для Би можно было использовать какую нибудь однобайтную, переменную или даже логическое. Но, по сути, это все равно будет сохраняться там как однобайтная, вот.

19:52 Ну, тут у нас алгоритм не требователен к памяти, поэтому можем себе позволить там просто винт сохранять, объявили. И через некоторое время в коде. Прогоняем цикл, проходим цикл, в котором рассчитываем, собственно, вот такую немудреную. Вещь так здесь явная ошибка, надеюсь, вы. Как бы ее достаточно быстро обнаружили, то есть если порог здесь. Ну, порог ставим сотню, можно разные вот. Ну, собственно, во 2 случае должна быть единица. Вот проблема копипа как раз в том, что какие то ошибки можно потом легко не заметить.

20:53 Давайте теперь посмотрим, как же вычисленные вот эти значения Би превратить в. Уже в нашу целевую функцию для этого добавляем еще. Переменную массив. Такой в весовых переменных дабл Ю. Которые ведут себя следующим образом, смотрим. - 4 - 3 - 2 То есть они постепенно проходят от И дальше внимание барабанная дробь. Наша супер формула. Давайте дам немножко времени, кстати, насладиться и осознать то есть. Мы давно же мы берем. Черное или не черная, если черная умножаем на вес соответствующего датчика. Ну, можно сказать, соответствующего пикселя, вот и складываем вот эти взвешенные.

22:14 Блэки, ну то есть, по сути, у нас если. Не черная, она просто не берется в рассмотрении, вот и делим на количество черных точек, которые у нас выпало и домноженное. На 4 чтобы вот отнормировать, чтобы от ты единица до единицы, она пробегала, если недавно же будет просто от ты 4 до 4 прибегать.

22:41 Понятно, да то есть еще раз, если точка черная, то берется ее вес и складывается, то есть получаем сумму этих весов. И делим просто на количество черных точек, домноженное на 4 для того, для нормировки для того, чтобы у нас отмену соединиться до единицы. Функция была, вот давайте сейчас проверим. Смотрим по центру вот наши веса единственные, которые там черные, которые не с нулями и делятся равно 0. Крайне правое. Крайне левое. И вот какая то средняя получилась у нас на самом деле, 5%. То есть это не ровно 1%, но, собственно, здесь не претендовали? То есть для того, чтобы получить в данном случае там ровно 1% ты2 это?

23:48 Нужно немножко было по другую, то есть соотношение расстояние между датчиками и линией должно быть несколько другое. Так здесь я немножко исправил ошибки, которые. Обнаружили ранее, да то есть у нас в случае если. Если значение считанный сдатчик превышает наше пороговое значение у нас. Би соответствующе будет единица, вот кроме того, ошибка была в том, что Элс был с большой буквы. Это, конечно, тоже ошибка, которую компилятор с и + нам не простит и еще изменение. Коснулось того, какой тип переменных переменный используют для собственное значение. Би подумал, подумал и решил написать здесь флот флот. Вкратце объясню, почему у нас.

25:02 Оказалось, что Би, может быть, дробный в принципе, да, то есть это не ровно 0 или ровно единица. А может быть ситуация, когда датчик находится над границей? Линии и такие ситуации тоже хорошо бы обрабатывать для того, чтобы функция наша была не такой резко ступенчатой, то есть мы вот.

25:30 Если посмотрите да то. Линия проходит, ну вот если мы ее ведем там слева направо, вот она под 1 датчиком прошла, дальше дошла до следующего датчика, у нас возникла ступенька. До следующего датчика, ну, то есть каждый раз, как датчик проходит пороговое значение. У нас вот эта функция, она не будет гладкой, она будет ступенчатой.

26:06 Вот кто знает из вас уже, что такое производная. Производная ступенчатой функции. Она будет с такими всплесками в том месте, где происходит ступенька всплески, это не очень хорошо и. Поэтому Мы стараемся их избежать, но это касается уже тех случаев, когда мы боремся уже за какие то там доли секунд. То есть для начала ступенчатая функция вполне для нас приемлема. Вот так теперь посмотрим. На нашего робота и поймем вот на данной картинке он движется, у него функция ошибки близко к 0. Вот судя да, то есть достаточно симметрично на линии и находится.

27:12 Давайте посмотрим, что должно происходить, когда возникло отклонение, робот отклонился. Функция ошибки отошла от 0, что мы, собственно, можем сделать В. В данном роботе используется дифференциальная кинематическая схема. Что это значит, это значит, что его поворот управляется разностью скоростей, его моторчиков? Да, то есть мы помним, использовали там драйвер. Мы можем на него передавать, какой то сигнал он будет преобразовываться в напряжение, подаваемое на моторчике, и, соответственно, в это будет преобразовываться в скорость вращения моторов.

28:01 Итак, как же мы управляем, а мы вот вычислим какую то величину, которую назовем регулятор и соответственно на левый на правый моторчик, мы будем подавать? Ну вот, в случае если регулятор у нас, 0 то мы будем подавать одинаковую скорость равную средней. Вот ну, естественно, подавать будем напряжение, но давайте уже говорить в терминах скоростей в программе.

28:41 Ну посмотрим, какие могут быть регуляторы, простейший и самый интуитивный регулятор. Это пропорциональный, когда просто мы берем чем больше отклонений, тем. Сильнее мы делаем разность скоростей на колесах. В чем огромная проблема такого регулятора, он? Работает в принципе, но он очень нормально работает в очень небольшом диапазоне скоростей, давайте попробуем. Поискать аналогии физические такому регулятору. Вот известная аналогия, это маятник или груз на пружинке.

29:33 Что происходит, когда мы его отклоняем у него? Возвращающая сила при малых углах отклонения пропорциональна собственно углу отклонения, то есть у нас. Видите, да, очень аналогичная ситуация и что происходит с Маятником, он начинает колебаться, то есть вот представьте себе. Робот по какой-то причине отклонился от середины линии. Ну, например, он доехал до какого то поворота. Вот. Он пытается вернуться. Так же, как и маятник, он обладает определенной инерцией, то есть он начал поворачиваться в.

30:21 Прошел нулевое значение, но при этом он набрал некоторую угловую скорость поворота, которая приведет к тому, что он уйдет дальше. За 0 соответственно появится возвращающая сила в обратном направлении, и то есть, вот он будет качаться.

30:47 Возможно, вы даже заметили в 1 из роликов, которые я демонстрировал там. Робот ехал примерно как игрок в керлинг, который там чистит. Значит, лед перед камнем, который должен куда то попасть? Вот значит проблема чисто пропорционального регулятора, по крайней мере при исследовании по линии абсолютно. Четкое он будет, робот будет раскачиваться, и вот и это. Скажем так, это приемлемо при небольших скоростях, то есть в принципе ехать на пропорциональном регуляторе можно, но лучше побороться.

31:43 Если брать нашу аналогию с маятником, давайте подумаем, что нужно. Нужно сделать для того, чтобы вот представим себе. Вот есть у нас маятник, который мы каким то образом восстановили. В центральном положении, то есть он не качается дальше, что то происходит, что его отклоняет. Он начинает качаться, что нам нужно с ним сделать для того, чтобы он переставал качаться.

32:13 Ну вот, если брать физическую аналогию, то матник можно было бы опустить, в какую нибудь вязкую жидкость, то есть он. Постепенно свою энергию качания он рассеивал бы. Да, то есть что такое вязкая жидкость, это. То место, где на тело действует всего вязкого трения, в простейшем случае она пропорциональна скорости движения и направлена соответственно в обратную сторону вот. И такое поведение, оно? Как бы. Воспроизводится следующим вариантом регулятора. Это дифференциально, то есть который пропорционален скорости.

33:09 Смотрим, да мы записали предыдущее значение функции ошибки, мы ее от текущей отнимаем, домножаем, на какой то коэффициент. Вот у нас получился дифференциальный регулятор. Вот удивительно, но на дифференциальном регуляторе вполне успешно можно ездить.

33:35 Вот ну как бы до поры до времени, естественно, вот это. Ну и, соответственно, есть их сочетание там так называем ПД. Регулятор пропорционально дифференциальный, и он как раз чаще всего используются при следовании по линии, вот ну. И для того, чтобы вы знали для того, чтобы использовали, может быть, в каких то других системах. Давайте рассмотрим еще интегральный регулятор вот для следования по линии его.

34:15 Полезность довольно сомнительно, кроме определенных случаев, достаточно четко. Можно выделить ситуацию, когда он полезен. Вот представьте себе, что робот. Едет в обратном направлении, и вот там есть резкий поворот шпилька и на котором ему нужно очень быстро набрать как. Брать такую статистику, которая заставит его повернуться. Вот если мы за какое, то последнее время. Держим. Ошибки то на шпильке можно достаточно быстро быстро повернуть, то есть, если мы будем.

35:12 Собирать ее только поворачивать только за счет пропорциональной части регулятора, то. Получится то, что Большая пропорциональная часть приводит к раскачиванию, это мы уже обсудили. Поэтому она не очень хороша, то есть вот здесь интегральный регулятор поможет на входе в шпильку. А в принципе зачем он используется, представьте себе, что у вас? Возникла ситуация, что функция ошибки уже довольно близка к 0, вот и некоторые отклики они не позволяют. Сдвинуть систему, если.

36:05 Регулиющее воздействие близко к 0. Ну вот, например, представьте себе, что у вас. На моторы функция. Ну вот. Подается же. При помощи Шим имеет тоже ограниченную разрядность. Вот и если у нас будет получаться что. Очень близки между собой. Значение правого и левого, то есть они. С ограниченной разрядностью ШМ не будут отличаться, поэтому вот. Интегральным регулятором позволяет накопить небольшую ошибку и. В этом случае будут исправляться в случае исследования по линии, как правило, таких ситуаций нету и особой необходимости тоже нет.

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

37:57 Что нужно суммировать все как бы все значения, функции ошибки за историю? Как вот робот поехал, так мы начали суммировать вот. Но в таком случае для того, чтобы это у нас не выводило в какие то.

38:19 Непонятные значения приходится делать очень маленькие, вот этот коэффициент. И полезность этого упражнения достаточно сомнительным становится. Вот других случаях берется сколько то последних значений, ну там 5 или 10. Вот, но это соответственно нам нужно. Допустим, если мы берем 10 значений, нам нужно держать массив. Из 10 элементов, в которые. Последний элемент. Точнее, так 11 от текущего состояния нужно выкидывать. Текущие в него сохранять и так это делать при каждом.

39:17 При каждом измерении. В принципе это делается там, кто знает все, + + там есть прекрасные обобщенные классы типа Дека для того, чтобы такие упражнения делать в принципе можно самому написать. Добавление отслеживание текущего индекса массива и работать с этим. Но есть способ совсем проще, то есть мы умножаем, домножаем нашу сумму, на какое то число меньше единицы. И соответственно представьте себе 10 элемент он. Там, 11 да он домножился. 10 Раз на 0 9 то есть.

40:17 Это 0 9 в 10 степени это уже достаточно малая величина, поэтому получается так, что значение этого элемента, который был давно, она в нашем в нашей этой. Сумма она уже мало, и таким образом мы без особых усилий получаем некоторую величину, которая ведет себя примерно как сумма последних нескольких измерений.

40:55 Возвращаемся к пед регулятору. Это вот такую. Сумму пропорционального интегрального дифференциального компонента вот дальше. Начинается довольно интересная тема, это, собственно говоря, откуда же взять вот эти коэффициенты? КП Кореи и КД, вот и здесь наука уступает место какому то искусству или ремеслу, потому что подбор вот этих коэффициентов. Если не уходить вот совсем в дебри и не строить там четкую математическую модель робота, вот то, как правило, это решается подбором и.

41:47 То есть подбор делается следующим образом, интегральный коэффициент зануляется и потом используется очень аккуратно, ну постепенно принимаются, а? Есть следующие 2 подхода. Зануляется пропорциональный коэффициент, и мы начинаем поднимать дифференциальный робот, при этом в принципе ездит по линии, по линии, и мы поднимаем дифференциальный коэффициент до тех пор, пока. Не начинается. Такая мелкая дрожь, вот то есть такой тремор. Он, собственно он, собственно говоря, вот является.

42:38 Признаком Сильно пере Высокого дифференциального коэффициента это, собственно говоря, мы на каждом вот том печке, производной ступенчатой функции. Робот сильно отзывается, вот, как правило, рекомендация простая. Когда доходим до такого состояния, берем вот этот коэффициент делим пополам и вот так оставляем и начинаем поднимать пропорциональный.

43:16 Пропорционально подниматься до тех пор, пока не начнется качание роботов. Ну более мелкая, то есть там это характерно, это видно, вот и и собственно. Дальше поднимается вот то наша средняя скорость. Мы пытаемся ехать как можно быстрее, а интегрально уже нужно использовать с аккуратностью. И просто его поднять до тех пор, пока не увидите в приведении робота какие то совсем странных странностей, вот нот по крайней мере. Эта процедура, которую я делаю, либо можно начать наоборот с пропорционального, а потом поднимать дифференциальный, вот как действуют. Эти коэффициенты дифференциальный, понятно, сглаживает качание и тоже в принципе достаточно хорошо держит на линии, но он не чувствует.

44:24 Едете ли вы посередине или нет, то есть вот как у вас робот зашел дифференциально. Будет бороться только за то, чтобы вернуть его в то положение, в котором он там находился перед этим. Вот, а пропорционально, и он, соответственно, будет еще и пытаться.

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

45:44 Пи Ай Ди! На Дыбенко пи Эйч Ди по моему, то есть для. Это пианист для тех, кто не доктор наук, вот и, в общем, там достаточно тоже доходчиво описано. А в принципе самый правильный, самый полезный способ понять, как с этими регуляторами быть это, конечно, самим попробовать.

46:16 В общем и немножко о нас, мы клуб спортивной робототехники МФТИ. Периодически проводим хакатоны. Как раз в том числе по следованию по линии, когда за 2 дня ребята собирают робота и. Как бы программирует его именно под реализацию пед регулятора и в конце 2 дня + в соревнованиях, где, собственно, мы получаем полезный, интересный навык напоследок хотел бы.

47:01 Показать вам пример робота, который оказался меня под рукой? Правда, это несколько иные моторчики, иные мощности. Контроллер немножко другой, здесь используется рудуина Мега специальной уменьшенным в уменьшенном форм факторе и моторчики помощнее с энкодерами и соответственно моторный драйвер тоже. Кстати, усиленный вот это как бы робот не столько соревновательный, сколько.

47:38 Лаборатория на колесах. Для исследования всяких интересных идей. Вот вам, ребята, желаю удачи, здоровья, вот спасибо за внимание. Надеюсь, что эта тема вас заинтересовала. Вот и Будем будем еще изучать всякие разные интересные темы.

Расшифровка сделана автоматически (Yandex SpeechKit) и может содержать ошибки в терминах.

Оставьте комментарий

Войти

Зарегистрироваться

Сбросить пароль

Пожалуйста, введите ваше имя пользователя или эл. адрес, вы получите письмо со ссылкой для сброса пароля.

Прокрутить вверх