Езда по линии на ПИД-регуляторе Ардуино

ВН
Offline
Зарегистрирован: 25.02.2016

Есть вот такое предложение.

Рассматриваем только одну ось с двумя колесами,

тогда в общем случае ось движется по кривой, где одно колесо бежит по малому радиусу, а второе по большому.

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

Идем дальше,

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

В общем, все это нетрудно нарисовать и увидеть во очию, не прибегая к расчетам.

В целом вывод простой, при движении по прямой таким правилом, равенства площадей пользоваться можно, но при движении по кривой оно совершенно не работает.

Осталось выяснить, а откуда мы знаем, как сейчас  движемся ?????????????????????

qwone
qwone аватар
Offline
Зарегистрирован: 03.07.2016

ВН пишет:
ось движется по окружности симметрично линии, тогда образуются два кольца, причем внтутреннее кольцо имеет площадь, априои меньшую, чем наружное. Тем не менее, ось движется симметрично линии. т.е. опять приходим к тому, что равенство площадей это частный случай движения по бесконечно большому радиусу. 
А здесь фишка в том что внутреняя облась как бы "уплотняется", а внешняя "разряжается". ведь меряем мы не квадратными метрами. А замерами датчиков. Справа и слева линии. Если линия по середине , то не важен радиус. Количество справа всегда равно количеству слева. Что сейчас , что несколькими замерами ранее. А если машинку поставить поперек, как предлагал ЛОГИК , то площади вырождаются. Так как при помощи датчиков не возможно определить куда плюсовать. В площадь А или площадь Б . Это и есть факт что машинка уже в стороне от линии.

Гриша
Offline
Зарегистрирован: 27.04.2014

qwone пишет:

Нет там никакой сложной математики. Шифтом снять показания всех датчиков и определить сколько датчиков с правой стороны и сколько с левой от линии.  Площадь она не сильно меняется. Добавить приращение к площади и убрать старое которое было 5-10 измерений назад. Массива байт хватит с головой для сохранения новых значений.  А дальше сравнение значений переменных А и В . Коррекция шимов.

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

UPD  рисуем сплайн и пытаемся угадать следующую точку - намнго эффективнее будет ИМХО

leks
Offline
Зарегистрирован: 22.10.2017

Как интересно.., а я и без контроллеров делал. Надо озадачится.

https://yadi.sk/i/gPZbTE68DDPUCA

Гриша
Offline
Зарегистрирован: 27.04.2014

leks пишет:

Как интересно.., а я и без контроллеров делал. Надо озадачится.

как позиционирование оптики в сидируме на дорожке данных  :))))))))))))))

upd, кривулины слишком плавные - на другом видео они значительно круче и нужно снижать скорость на поворотах

qwone
qwone аватар
Offline
Зарегистрирован: 03.07.2016

Гриша пишет:
UPD  рисуем сплайн и пытаемся угадать следующую точку - намнго эффективнее будет ИМХО

Это оно и есть. Вот только не в абсолютных координатах от некой внешней точки отсчета, а в касательной на сколько надо повернуть, что бы держать линию в центре. Или для расчета сплайна не берутся координаты точек которые уже прошли.

ВН
Offline
Зарегистрирован: 25.02.2016

qwone пишет:
А здесь фишка в том что внутреняя облась как бы "уплотняется", а внешняя "разряжается". ведь меряем мы не квадратными метрами. А замерами датчиков. Справа и слева линии. Если линия по середине , то не важен радиус. Количество справа всегда равно количеству слева. Что сейчас , что несколькими замерами ранее. А если машинку поставить поперек, как предлагал ЛОГИК , то площади вырождаются. Так как при помощи датчиков не возможно определить куда плюсовать. В площадь А или площадь Б . Это и есть факт что машинка уже в стороне от линии.

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

 

qwone
qwone аватар
Offline
Зарегистрирован: 03.07.2016

leks, У вас там два датчика. Там математика другая. Просто вычисляется радиус разворота залазиньем крайних датчиков на линию. Есть массив отримальных радиусов . И в зависимости от срабатывания датчиков то пеходим на следующий радиус справа или слева.

leks
Offline
Зарегистрирован: 22.10.2017

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

 

qwone
qwone аватар
Offline
Зарегистрирован: 03.07.2016

Просто создается семейство треков. Так у каждого трека свой ШИМ. Так для максимальной , средней, разгоной. И просто переключается при ситуации.  Вот только для рекордов надо подбирать под каждый трек. 

sadman41
Offline
Зарегистрирован: 19.10.2016

Были такие чуваки - ливонцы... Тоже думали, что придумали отличную стратегию на все времена - надеть железные портки и ходить "свиньей". А потом внезапно обнаружилось, что это на льду не помогает (инфа из учебников советских времен). 

Зачем тогда датчики, квон, если достаточно перед стартом "просто подобрать шим под трек"? Задал его номер и считай обороты колеса, да шим переключай по данным из массива - так штоли? 

qwone
qwone аватар
Offline
Зарегистрирован: 03.07.2016

sadman41 пишет:
Зачем тогда датчики, квон, если достаточно перед стартом "просто подобрать шим под трек"? Задал его номер и считай обороты колеса, да шим переключай по данным из массива - так штоли?
Вот и я говорю зачем всякие музыканты, певцы, копозиторы. Скачал с интернета залил в МР3 плеер и пой на сцене. Вот вы внимательно читали Архата. Там у него куча именно поиска этого массива под разные ситуации. То шина не цепляется, проскальзывает, то новый трек не с теми параметрами и так далее. Он же хотел выигрывать, а не просто учавствовать.  А так все олимпийские виды спорта. Там за столько лет уже давно во всей механике разобрались. Можно и отменить Олемпийские игры, да и Футбол тоже за компанию. Мяч то круглый и все. 

sadman41 пишет:
Были такие чуваки - ливонцы... Тоже думали, что придумали отличную стратегию на все времена - надеть железные портки и ходить "свиньей". А потом внезапно обнаружилось, что это на льду не помогает (инфа из учебников советских времен).
Вы бы еще Фоменко вспомнили.

https://www.youtube.com/watch?v=nELIn91ST3Q

Logik
Offline
Зарегистрирован: 05.08.2014

Подбирать и хранить таблично означает одно - задача в аналитическом виде не решена. Нешмагли! И кроме семейчтва треков будет важна еще и фактическая скорость на которой подошли к треку (где брать?;). И от значения скорости также ШИМ зависит (в не крутом поворотом может и разогнатся надо?).  Малтого, на картинке конечно треки разных радиусов красивые. А на практике как определить какой радиус будет? Очевидно по показаниям датчиков, но и тут неприятная завязка на скорость. А скорость от ШИМа меняется. Круг замкнулся, регулируемый  параметр - ШИМ - влияет на датчик по которому определяем регулирующий параметр - радиус трека. Тут нет простого решения. Ни ПИД ни массив его коэффициентов не дадут максимум скорости.

Я рассуждаю так. Допустим я хочу проехать максимально быстро, управляемый занос не рассматриваем. Что надо? 1. Двигатся на радиусах с максимальной скоростю V(r) на которой трение обеспечит движение по заданому радиусу r (это собственно qwone и пытается изложить, только путаясь между скоростю и ШИМ). 2. В частном случае прямой двигатся с максимальной достижимой скоростю Vmax.  Проблему составляет переход с п.2 на п.1, особенно учитывая что радиус в п.1 неизвестен, а Vmax>>V(r) в общем случае.  Решение только одно - как можна ранее определить факт начала радиуса и сбросить скорость до значения, обеспечивающего п.1. Отсюда вынос датчика вперед важен т.к. дает время для сброса скорости. Остальное только моделированием на компе можна получить, ИМХО.

Logik
Offline
Зарегистрирован: 05.08.2014

ВН пишет:

В целом вывод простой, при движении по прямой таким правилом, равенства площадей пользоваться можно, но при движении по кривой оно совершенно не работает.

Оно и по прямой не является необходимым. Ну сдвинули тачку вбок на 1см. Площади не равны, едем себе с постоянным смещением по прямой хоть вечно. А вот если говорить о изменении отношения площадей... ну возможно. Но вобще - ну их в пень эти площади, их всеравно не помериш, все че есть это смещение датчиков с трека, которое является функцией от линейного смещения центра тачки в бок плюс функция (синус) от поворота тачки вокруг вертикальной оси помноженая на вынос датчика. Неоднозначнентько так, для однозначного разделения смещения и поворота вторая линейка датчиков нужна.

qwone
qwone аватар
Offline
Зарегистрирован: 03.07.2016

Здесь надо учитывать следующее. Так как машинка начинает двигаться с остановки, а набрать скорость сразу не возможно, то скорее всего будет как минимум три группы массивов. для малой, для средней и для максимально не рыскающим. При перестроении например с одного радиуса на другой можно сбросить скорость с максимально на средний, а если долго едем на этом радиусе, то ускорить. Тогда решается проблема с инерцией, но увеличивается объем опытных данных. О чем Архат регуляно упоминал. 

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

Logik
Offline
Зарегистрирован: 05.08.2014

Та ну! Законы нютона для всех коней одинаковы, тока массу коня надо измерить. И в руки брать его не обязательно. Так и с тачкой, размеры, масса, моменты инерции, коэффициенты трения и т.д. все нужное доступно, моделируй если умееш. Понятно что любая модель не совершенна, это и не требуется, но поигравшись с ней появится понимание.

qwone
qwone аватар
Offline
Зарегистрирован: 03.07.2016

Ну да я работаю на заводе, где делают газотурбинные двигатели. https://ru.wikipedia.org/wiki/Зоря_—_Машпроект   И вот я послушал Вас и думаю, что мы там делаем. Законы Ньютона одинаковы. Так и получается что ГТД уже совершенствовать не надо. Достаточно модельками поиграться и все.

Logik
Offline
Зарегистрирован: 05.08.2014

))) Как там санаторий Ракета-1 (и во второй бывал), еще принадлежит заводу? Был там лет 5 назад.

Во всем мире все машины лет 30 как сразу в матмоделях прогоняют. Обидно за отчизну. Поигратся не достаточно, но ошибки в метале сокращаются.

qwone
qwone аватар
Offline
Зарегистрирован: 03.07.2016

Как не прогоняй на мат. моделях, все равно в железе все будет иначе. Ведь от станков все зависит. Уже ДК уже приватизирован :)

Logik
Offline
Зарегистрирован: 05.08.2014

qwone пишет:

Как не прогоняй на мат. моделях, все равно в железе все будет иначе. Ведь от станков все зависит.

Точности производству не хватает? Беда с станочным парком. Это да. 

qwone пишет:

Уже ДК уже приватизирован :)

Это прогнозируемо. Место роскошное. Цена помню была бросовая. Номер в совковом интерере, но здоровенный и все удобства. И с балконом.  Пляж, парк под балконом. Все рядом. И парковка своя. Я туда  приехал с живым баблом. Засуетился персонал, остальные в основном по путевкам  от завода были ;) Я на второй год снова туда, но не сложилось, с завода большой  заезд и директор питание  в столовке мне втюхать хотел. Коль он теперь частный - загляну может снова.

 

qwone
qwone аватар
Offline
Зарегистрирован: 03.07.2016

Я говорю о городском Доме Культуры.  А то скорее всего уже давно отлетело. Еще городской плавбасейн Заря , то же скинули с баланса завода. И  уже появились места на заводе. А это значит что работать на заводе народу стало не выгодно.  Хотя вроде бак то ли для наращивания лопаток то ли для выщелачивания из Китая купили.

strarbit
Offline
Зарегистрирован: 12.06.2016

 для пример youtu.be/6YcMY4Ps5tQ

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

Logik пишет:

Точности производству не хватает? Беда с станочным парком. Это да. 


В 1988 году эксплуатировал станки с точностью на фрезеровании 2 микрона, координатные - 1 микрон, эрозионные - не помню, неужели сейчас станки хуже???

bwn
Offline
Зарегистрирован: 25.08.2014

ua6em пишет:

В 1988 году эксплуатировал станки с точностью на фрезеровании 2 микрона, координатные - 1 микрон, эрозионные - не помню, неужели сейчас станки хуже???

Не, они все те-же, только раздолбались за последнее время. Я вот знаю место, где пресс паровой конца 18 века стоит и лет десять назад еще вполне себе кувал. Может и сейчас кует.

qwone
qwone аватар
Offline
Зарегистрирован: 03.07.2016

ua6em пишет:
В 1988 году эксплуатировал станки с точностью на фрезеровании 2 микрона, координатные - 1 микрон, эрозионные - не помню, неужели сейчас станки хуже???

А подумать. Возьмем пример новый автомобиль и разумеется фирменной сборки. Если за ним следить, вовремя менять масло, проводить ремонт , то машина прослужит долго. А если пойдет она по рукам , и каждому хозяину будет по*** на нее, то неужели  она долго не будет служить.  Вот так и за станком. Если его регулярно гробить , терять к нему всякие приспособы.  То скорее всего часть операций на этом станке сделать будет не возможно. Но опять же возьмем современные станки. Это и ЧПУ и много операционные.  Или станок с лазерной раскройкой железного листа. Раньше он 15 мм брал, а сейчас и 5 не может. Деградация лазера. Купить новый. Нафиг нафиг. Это же деньжищи какие.

ПС https://www.youtube.com/watch?v=amAjMJTZ-HM   особенно на 7:46 . А так очень упрощает жизнь. А иначе только пилить болгаркой или дисковой пилой

Гриша
Offline
Зарегистрирован: 27.04.2014

qwone пишет:

ПС https://www.youtube.com/watch?v=amAjMJTZ-HM   особенно на 7:46 . А так очень упрощает жизнь. А иначе только пилить болгаркой или дисковой пилой

МАГИЯ... 

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

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

https://sites.google.com/site/fpgaandco/pid

Мне нужен ПИД для паяльника и фена. Но сделал второй контроллер портативный на 20В питания (стационарный на 30В) и коэффициенты нужно по новой подбирать)) И возникла мысль: если аккумулятора для машинки "хватает" на трассу, напряжение питания будет разное в начале и в конце, и возможно как у меня ПИД будет некорректно работать

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

strarbit пишет:

 для пример youtu.be/6YcMY4Ps5tQ

https://www.youtube.com/watch?v=Odc1oUQ7OOY

https://www.youtube.com/watch?v=lnP32gzHdvI

https://www.youtube.com/watch?v=atMkFBfvSNU

последнее просто гипротизирует