Ну .. примерно так мы и делали до вчерашнего дня .. можно улучшить поведение до скоростей 50-70 см/сек .. наверное. Если взять менее инерционные колеса и облегчить саму тележку, то наверное можно и больше, но это "не наш случай" .. требуется иной подход, похоже совсем иной. Я уже писал что вариант управления от показаний датчиков напрямую "что вижу - то пою" похоже имеет предел скоростей движения и он невелик.
Ураллийщиков штурман сидит, который предупреждает о поворотах, мож какие то световые маркеры на полосе наклеить, 1й правый, 2й левый, справа 1 белая точка, слева 2 белые, и маркеры по сскорости что бы на прямых участках форсировался.
т.е. что делают японцы? японцы продуманные - первый раз запускают телегу на малой скорости, телега запоминает длину участков пути между поворотами и следующий заезд разгоняется на ровных учатсках по максимуму, а на участках с поворотами сбавляет скорость до ограниченной ТТХ телеги, что бы не слететь с дистанции.
как-то так.
но такой хак не прокатит на неизвестной трассе - придётся тащиться с минимальной скоростью, прохождения поворота по ровным участкам.
"Клюв" с передними датчиками подвижный, на поворотах изгибается.
Колёса смещены максимально назад, выигрывая немного времени на реакцию.
Arhat109-2 пишет:
Если взять менее инерционные колеса и облегчить саму тележку, то наверное можно и больше, но это "не наш случай" .. требуется иной подход, похоже совсем иной.
мне сколько раз процитировать своё сообщение, что бы ты понял, что виновата прокладка между сидением и баранкой, т.е. ты?
Клапауций 234 пишет:
т.е. ты не понял, написав 1.2.3. что ТТХ механики твоей телеги не соответвует поставленной задаче?
Будет очень замечательно, если Вы обоснуете свое утверждение вместо того, чтобы писать чухню по неграмотности ..
Особенно в свете данной тут оценки предельного радиуса разворота указанного в этой теме Andriano и моим высказыванием про мою собственную оценку "у меня получилось больше" и экспериментальное подтверждение обоих мнений: "тележка проходит минимальные радиусы на такой скорости" ..
Если можно, то как-то с применением математики, а не словоблудливо.
P.S. Вариант запоминания трассы нами рассматривался и он отвергнут как неспортивное решение.
Кроме этого на этой линии стоит 3 аналоговых датчика, и дополнительно вперед на 10см вынесен блок с ещё двумя цифровыми датчиками (тутошние с фото).
Arhat109-2 пишет:
Повороты телега тоже может делать на похожей скорости, но только когда в поворот она входит заранее. Примерно за 10-15см до начала поворота.
Arhat109-2 пишет:
Особенно в свете данной тут оценки предельного радиуса разворота указанного в этой теме Andriano и моим высказыванием про мою собственную оценку "у меня получилось больше" и экспериментальное подтверждение обоих мнений: "тележка проходит минимальные радиусы на такой скорости" ..
ок, если проходит, то какие проблемы? - вперёд к побъедам! :D
у тебя нет проблем и всё работает, как нужно... или, 15 сантиметров хобота с датчиками не хватает?
Ха! Так оказывается твой вывод основан ИСКЛЮЧИТЕЛЬНО на факте создания темы и моим вопросом! Эвона как .. я то грешным делом подумал, что ты что-то знаешь, только ломаешься как красна девка перед замужеством ..
Ха! Так оказывается твой вывод основан ИСКЛЮЧИТЕЛЬНО на факте создания темы и моим вопросом! Эвона как .. я то грешным делом подумал, что ты что-то знаешь, только ломаешься как красна девка перед замужеством ..
мой вывод основан на фактах, которые я процитировал и оспорить которые ты не можешь, т.к. сам являешься их источником.
Капитан очевидность, так я про это и отписал. Жаль, мне показалось что ты можешь помочь советом ..
Ладно, проехали. Сегодня удалось таки разъяснить ребенку все особенности построения ПИД-регуляторов. В прошлый раз, мне чисто интуитивно удалось его имитировать экстравагантным способом. На сей раз будем делать по науке... :)
Забавно, что программа, после оптимизационных преобразований существенно отличаться от предыдущей явно не планирует.
Особенно в свете данной тут оценки предельного радиуса разворота указанного в этой теме Andriano и моим высказыванием про мою собственную оценку "у меня получилось больше" и экспериментальное подтверждение обоих мнений: "тележка проходит минимальные радиусы на такой скорости" ..
Вы воще нихрена непоняли с того расчета похоже. Он означает что радиус разворота при заданом трении и скорости никак не менее расчитаного. А больше - всегда пожалуста. Удастся ли реализовать теоретический минимум конкретно взятой тачанку он ни как не доказывает. Например легковушка технически вполне может двигатся 1,5м/с и сцепление там как в расчете вот только радиус "немножко" больше. Экспериментально подтверждения форум не увидел, я Вам писал - выложите видео, его нет.<sensored>
ПС. Кстати Ктрения=0,8 для резины по асфальту, по асфальту гоняете?
1. "Вы воще нихрена непоняли с того расчета похоже." -- прежде чем такое писать, стоит потрудится и перечитать тему, дабы дошло кто и чего не понял. А голословное заявление Вас не красит ни разу и пользу в тему не приносит;
2. "Он означает что радиус разворота при заданом трении и скорости никак не менее расчитаного. А больше - всегда пожалуста. Удастся ли реализовать теоретический минимум конкретно взятой тачанку он ни как не доказывает." -- есстественно, ещё один "капитан очевидность" .. кто-то с ЭТИМ СПОРИЛ ИЛИ ОПРОВЕРГАЛ?;
3. "Экспериментально подтверждения форум не увидел" -- Вы не прокурор, а я не в суде, чтобы доказывать написанное что было "сделано". За Вами остается право не верить написанному и только. Там Вам было дано разъяснение почему нет видео. Повторюсь, специально для Вас: снимать видео сейчас НЕЧЕМ и бегать искать чем снять - Я НЕ СОБИРАЮСЬ. Хотите удостовериться собственными глазами? Приезжайте в гости, ласкаво просим. :)
4. где, что и по какому покрытию гоняется - в теме есть, перечитайте, у Вас - получится, я практически уверен.
Andriano, да вы правы (сожалею что снес вместе с флудом и ваш пост, он был в тему). Тема создана для того, чтобы получить советы КАК можно реализовать скоростное движение робота по линии вплоть до теоретического предела по сцеплению колес БЕЗ "подглядываний" (запоминаний трассы) тем или иным способом. Про ПИД (точнее что оно так называется) узнал не так давно, читая иные темы тут. Тогда смотрел, но вникать не стал за ненадобностью. Здесь Вы напомнили про него и полез, посмотрел детально .. да, это то что нужно .. но думаю не совсем. Это уже не "что вижу -то пою" в чистом виде, но и "предсказатель пути" в нем только в зачаточном состоянии, хотя идеи здравые и оказывается древние.
В прошлый раз была написана программа примерно следующего алгоритма (тоже своеобразный ПИД):
считываем показания датчиков (их было только 2шт сбоку от линии и цифровых), усредняем пачками по 20шт с весом черного 20% от белого, поскольку читаем быстро (ок. 1Мгц), формируем "состояние автомата движения". Их 3шт: "оба одинаковых" (оба черных = перекресток, пропускаем как норму), "линия слева" и "линия справа".
1. "прямо" -- смотрим на скорости моторов и количество повторов этого состояния:
а) если скорости не равны - плавное выравнивание скоростей с гистерезисом (перевыравниванием туда-сюда): 10 + (1/4 от разницы скоростей). Это давало возможность при возврате на трассу выровнять колеса вдоль трассы прямо и как раз уменьшало рыскания, ибо "малые колебания скорости" игнорируются моторами;
б) если скорости "похожи" и не предельны (<255) то плавно растим скорость += 2. При частотах цикла в 2мсек (установлено через everyMillis()) этого вполне достаточно для быстрого разгона с нуля на 2-4см трассы.
в) понятно что тут сбрасывались все признаки и задержки режимов поворота и потери линии..
2. "влево", "вправо" -- меняется только сторона моторов и датчиков:
а) Если нет признака "тормози" И сумма скоростей выше порога (эксперимент), то резкое торможение обоими моторами (крутим взад -200) на 10мсек (5 циклов), ставим признак "тормози лаптем - поворот", иначе:
а-б) Если есть признак, то: Вычитаем признак и выходим если он ещё больше нуля - время не вышло: тормозим, если =0 то ставим внешний мотор на скорость поворота, а внутренний останавливаем;
а-б1) иначе: Если ситуация повторная, то увеливаем скорость внешнего мотора и если сильно повторная, то крутим внутренний мотор взад с ростом его скорости.
На домашней трассе для тренировок есть крутые радиусы в 15см .. проходил "разворачиваясь на пятке". Поищу куда выложить кино, меня нет на ютубе.. и регистрироваться с телефоном через смс - нет никакого желания. Есть кино с соревновательной трассы с тренировочного дня, там радиусы побольше, но там сознательно поставлено ограничение скорости примерно в 1.5-2 раза меньше чем могли кататься (не хотели выдавать все секреты конкурентам).. на нем хорошо видно, что датчики при домашнем освещении работающие устойчиво - на настоящем поле "глючат" и могут тупо пропустить линию. Что у нас и произошло и в результате чего робот упал со стола и мы решили что сломался редуктор мотора - снялись до начала соревнований. .. опыт - великое дело..
Тут есть своеобразное "пропорциональное" управление и "интегрирующая часть" (повторность ситуации = накопление), есть даже "диф." составляющая в виде перевыравнивания моторов на прямой .. но это конечно же не полноценный ПИД как его описывает теория.
Просто если есть телеметрия, то при вылете с трассы можно посмотреть, что показывали датчики за шаг до начала реагирования на поворот и соответственно следующий раз начинать поворачивать по этим данным. Тем самым смещая начало реагирования пошагово назад.
Пробовали писать телеметрию и в прошлый раз тоже. Собственно как и "открыли" тогда, что цифровые датчики могут "лагать" длинной серией. Там было 2 эффекта: первый - плохой контакт у Меги и сигнал тупо не доходит до чтения - надо паять контакты или заменять штатный разъем, который со временем начинает просто болтаться. И второй эффект, как понимаю связан с тем что приемник датчика это микросхема, работающая на частоте 33 - 38кгц (или сколько там у TSOP) и возможно возникновение "механизма биений", природу которого я найти не смог, но был хорошо виден "плавающий" характер показаний датчика .. прям по классике.
За шаг "до" все как надо и ничего предположить нельзя. Более того 2-3 шага "после" только можно формировать предположение что это таки поворот, а не "шум".
Кстати, как идея: "тормозить лаптем" .. раз нет ограничений на конструкцию .. почему бы и не поставить 2 лаптя на сервомоторах? :)
Про ПИД (точнее что оно так называется) узнал не так давно, читая иные темы тут. Тогда смотрел, но вникать не стал за ненадобностью. Здесь Вы напомнили про него и полез, посмотрел детально .. да, это то что нужно .. но думаю не совсем. Это уже не "что вижу -то пою" в чистом виде, но и "предсказатель пути" в нем только в зачаточном состоянии, хотя идеи здравые и оказывается древние.
Я тоже думаю, что ПИД - это лишь один из этапов, которые нужно осознать, пройти и двигаться дальше.
Фактически нужно устранить вылет тележки с траектории. Для этого сначала нужно понять, что происходит, т.е. КОГДА начался вылет и КАК и ПОЧЕМУ это произошло.
Для этого нужно иметь информацию. Одного факта вылета недостаточно.
Часть информации может дать телеметрия, но обычно этой информации недостаточно. Лично я в такой ситуации попытался бы провести численное моделирование движения тележки по трассе.
Цитата:
хорошо видно, что датчики при домашнем освещении работающие устойчиво - на настоящем поле "глючат" и могут тупо пропустить линию.
А разве датчики работают от внешнего освещения, а не от собственной подсветки?
Или, может, поверхность бликует, за счет чего блик от черной линии воспринимается как светлая поверхность?
Если последнее, вероятно, нужно немного изменить конструкцию датчика так, чтобы он ловил исключительно рассеянный свет, но был защищен от блика.
Кстати, как идея: "тормозить лаптем" .. раз нет ограничений на конструкцию .. почему бы и не поставить 2 лаптя на сервомоторах? :)
Сила трения ограничена коэффициентом трения. Поэтому увеличивать количество колес бессмысленно.
Правда, если колесо само недостаточно быстро снижает скорость вращения, ему можно помочь механическим тормозом. Думаю, этот тормоз должен тормозить именно колесо, а не пытаться зацепиться за подстилающую поверхность.
Клапауций, датчики "какие были" на момент подготовки к соревнованиям .. да, это типа KY-033 - "датчики препятствий", но их можно подстроить как датчик линии. Чем мы и занимались, получилось "не очень". Уже после соревнований сделали 4 аналоговых датчика линии.
Nosferatu, прикрутить-то можно, только оно ничего не даст ровным счетом. Маневренность тележки на двух колесах с шаровой опорой - максимальна и без такого колеса .. смысла нет, кроме как утяжеление. Разворачиваться в пределах габаритов корпуса - оно и так умеет.
Andriano, да похоже есть смысл ставить тормозную систему на колеса на сервомоторах. Ни L298N ни наши мосфетные драйвера тормозить мотор закорачиванием якоря (рекурперативный режим) - не умеют. Если мотор остановлен, то он как-бы отключен от системы и предоставлен "на выбег", длина которого определяется моментом инерции колеса и оно - большое. Поэтому у нас и стоит кратковременный реверс мотора, чтобы погасить инерцию колеса.
Моделирование инерции колеса показывает что его выбег с макс. скорости не меньше 21см .. но, возможно что неверно определял модель в части сил трения - есть ещё трение в редукторе, опоре оси колеса - я их не учитывал. Только трение качения. В реальности имеем около 16см. (и макс. скрость и мн. др. сильно зависит от степени зарядки батареек, поэтому конкретные цифирьки могут сильно плавать)
Проблема установки тормозной системы - доп. вес. Оно и так тяжелое, потому как в основе лежит "лего" набор деталек и уйти от него мы не можем и не планируем. Одна из задач - развитие темы "Ардуино как Лего".
ИК-датчики препятствий KY-033 имеют внутри TSOP, который автоматом должен вычитать фоновую засветку. На практике оказалось что характер работы датчиков принципиально разный дома, при освещении "окно"/"лампы электрические" и в спортзале, где проводились соревнования и тренировки: "лампы дневного света", окна почти отсутствуют. Во втором случае работа датчиков оказалась не в пример хуже почему-то. Не ожидали. Делали вокруг датчика картонную "юбку" закрывающую практически весь боковой свет (высота от трассы = 5мм) - помогало, но мало.
Постепенно ребенок собирает программу на "новых принципах управления" .. но ему сложно ещё такое. Вчера запинал на "С" чтение датчиков подпрограммой и начал делать подпрограмму управления моторами. "вычислитель" оставил ему "на сладкое". :)
Да, ещё была "странная особенность": одно из тренировочных полей (ПВХ - рекламный баннер) было старое, с вытертой линией, местами "до белого" .. так вот на нем после добавления процедуры "скользящее среднее по 20 замерам" - эти цифровые датчики работали "на ура". А вот на новом баннере - гораздо хуже.
Моделирование непоможет. Не потому что моделировать плохо, потому что модель здесь очень сложная, многофакторная. Надо учитывать слишком много всего и невесть что окажется определяющим. Например при повороте распределение веса между опорами изменяется, как учитывать будем? Изгиб рисунка протектора под действием центробежной силы, момент перехода от трения качения к трению скольжения и обратно, колебания деталей подвески и др. Имея куда больше возможностей разработчикам авто и шин досих пор приходится основыватся на экспериментах и строить численые модели по эмпирическим данным.
Если хочется сильно помоделировать, то можна ограничится моделью системы управления, возможно чето прояснит. Относительно не сложно. Делаем логирование показаний датчиков и желательно управляющих воздействий на привод, прогоняем модель по треку, лог сохраняем. В ПК, например в визуалстудию, втягиваем код реализующий систему управления, подсовываем на вход логированые сигналы и прогоняем сравнивая получаемые воздействия сохраненные в логе. Если совпали - ОК, модель рабочая, но она не результат, рна инструмент. Далее изучаем её поведение - процесс творческий недетерминированый )) Найдется что интересное - правим систему, снимаем новый лог на разных скоростях и радиусах с разными законами управления.
Я бы не начинал с модели. Начинал с детальной видеосемки процесса. Возможно добавил бы на модель светодиодики индикации текущих сигналов с датчика и управляющего воздействия. Фактически видео - тот же лог но куда более информативный и проще получаемый. Покадрово рассматривай и разбирайся.
Прогоз: ПИД-5% на успех, видео или модель системы управления -20% (но большой плюс к пониманию процесса). Наиболее вероятный исход - невозможность пройти поворот без снижения скорости по крайней мере в этой механике. Что интересно, разработка новой тачки очевидно будет предполагать и повышение скорости, значить задача снижения скорости перед поворотом неотвратима ))) Следовательно с неё и начинать таки.
Тормоза - дело хитрое. Блокировать колеса в повороте нельзя, вобще не повернет. Кратковременный реверс (только реально кратковременный, пачкой импульсов) ничем не хуже тормозных колодок кроме износа механики.
Не поленился, проверил ещё раз. Динамометр трогает тележку с места весом 508гр (вариант с УНО) и показывает 402гр. плюс-минус 10грамм. Итого к-т трения примерно равен 0.8, возможно "чуть меньше". Делать 100500 замеров и вводить к-ты студентов - увольте. :)
По какому материалу? Трогает - это трение покоя. Надо при медленном равномерном движении показания снимать. Они меньше будут всегда. 100500 не надо. А вот перпендикулярно направлению качения любопытно. Из-зп рисунка протектора может заметно отличатся.
Коль уж динамометр доставать - моменты силы вращения померьте, пригодится. Веревку на колесе закрепить чтоб не проскальзывала, и на центре протектора точка приложения, динамометр к веревке ясно дело.
Гулять - так гулять ))) Развесовку еще меряйте. Приподнимая динамометром каждое колесо на пару мм. По идее при расчете Andriano надо брать только вес прилагаемый к активным колесам, третя опора не учитывается т.к. катится как попало. Но тут сложен, он при ускорении/торможении изменяется. Если еще момент инерции колеса померить ))) Но там насколько помню маятник надо делат..
Да, надо будет все перемерить, спасибо за наводку. На сегодня уже всё .. ребенок уже устал писать программу, а измерять чисто для себя, без процесса обучения - оно уже не так полезно.. Потерпите, поизмеряем.. ;)
Не утерпел, померял сам, пусть спит дите, с ним повторим... :)
Трение покоя в поперечном направлении и продольном практически одинаково, плюс-минус .. но особой разницы не обнаружил. Приведенная цифирька - усилие начала движения. Трение - шина колеса (очень мягкая резина с протектором) по ПВХ баннеру. Проверить трение разблокированных колес - не получится, они посажены напрямую на мотор-редуктор. Тележка сдвигается без прокрутки колесом мотора. Развесовка по колесам отличается на 5-10гр, точнее никак, но это потому что УНО и драйвера моторов тупо лежат на корпусе батарейного отсека "как легло". Сдвинув, можно получить иной баланс.
Уточненные данные: вес телеги = 481гр, вес на колесе 212 +- 5гр, трение покоя: "вперед" = 354гр, "вбок" = 345гр, "назад"=270гр (не знаю как так, перемерял несколько раз - отброшено) Итого, к-т трения (354+345) / 2 / 481 = 0.727, пусть будет 0.72. Ширина колеи телеги = 15см или плюс-минус 7.5см от оси кривой поворота. Предельная скорость по прямой = 1.56м/сек.
Согласно расчету Andriano: Максимальное замедление Amin = 9.81 *0.72 = 7.06 м/кв.сек. Предельная скорость прохождения мин. радиуса в 300мм составит:
Предельная скорость внешнего колеса = 1.56м/сек .. т.е. на пределе, но "проходит". Для движения в таком повороте внутреннее колесо должно вращаться медленнее, в 225/375 = 0.6 раза или 1.56*0.6 = 0,936м/сек. .. тоже проходит и далеко не на пределе.
Я считал через центростремительное ускорение при движении в повороте и несколько для других габаритов и веса, так чтобы оно не превышало силу трения.. получалось похоже, но я брал к-т трения 0.85-0.9, поскольку прикидка веса телеги и силы с которой её можно столкнуть вбок были сильно похожи на "мелких пружинных весах" а-ля "безмен" с точностью 20гр. Динамометр - самодельный (сделал для оценки тяги пропеллера ребенку), поверочная точность в пределах 500гр = 0.5гр. поверялся на аптекарских разновесах (есть).
/// Проверить трение разблокированных колес - не получится, они посажены напрямую на мотор-редуктор.
Т.е катится накатом она не могет? Получается если на мотор не подавать напряжение, то колесо не проворачивается, оно заблокировано и тачку тормозит по полной? Оч непревычный расклад.
//развесовка по колесам отличается на 5-10гр,
Это хорошо, но интересна не столько разница сколько сумма. Она покажет какая часть веса приходится на управляемые колеса (чем больше тем лучше), а какая омтанется на "хвост". Разумеется в статике.
//Приведенная цифирька - усилие начала движения.
А надо не она. Нужен не максимум а постоянная часть графика.
Трение скольжения от трения покоя отличаются менее 10%, поэтому приводить не стал.
По колесу получается забавно:
Радиус центра масс вращения можно принять за 46.5мм, что при весе в 32гр дает момент инерции 7^(-5) м*кв.кг. Угловая скорость вращения колеса 7.95 об/сек. Моторы (эти) имеют останавливающий момент в 65гр*см "на валу" и редуктор 1:30, или 0.065 * 9.81 * 30 / 100 = 0,19 н*м на валу колеса. Соотвественно, время полного останова колеса составит = 29,2мсек. .. что очень похоже на правду. :)
То есть, получается что если применить режим торможения а-ля ABS импульсами по 3-4 мсек (что для нас ну очень удобно), то можно существенно сократить тормозной путь. Ух-ты! :)
Упс. 46.6мм - это диаметр центра масс колеса.. то есть время останова в 2 раза меньше.
Logik, с колесом все хитрее. Пока оно не вращается - его клинит на редукторе так, что при скольжении телеги оно не крутится, поэтому измерить качение - не получается. А вот когда оно крутится, то выключение мотора не клинит колесо и оно идет "на выбег" и достаточно долго. Чтобы так не было надо или тормозить драйвером (закорачивать мотор) или мотором - пробовать вращать его "взад".
//То есть, получается что если применить режим торможения а-ля ABS импульсами по 3-4 мсек (что для нас ну очень удобно), то можно существенно сократить тормозной путь. Ух-ты! :
Это единственный полезный вывод и уменя напрашивается. И вот почему. Весь расчет был сдела для равномерного поворота с радиусом 0,28м. По этому радиусу будет двигатся центр массы (далее ЦМ) со скоростью 1,5м/сек. При этом внешнее колесо должно иметь скорост 1,5*(0,28+0,15/2)/0.28=1,9м/сек а внутреннее соответственно 1,5*(0,28-0,15/2)/0.28=1,1м/сек Отношение этих скоростей 1.72 и есть условие движения по заданому радиусу. Это геометрия, тут непопреш. Сняв напряжение с мотора колесо начинает замедлятся с исходной скорости, из-за трения качения (в него входит и внутреннее трение системы). При этом тележка поворачивает с плавно уменьшающимся радиусом поворота и скорости движения (торможение одного колеса сказывается). Наверно удастся расчитать зная момент инерции телеги вокруг вертикали. Этот этап завершится превышением центробежной силы над силой бокового трения (теоретически наверно возможно скорость сбросить быстро и тогда телега закрутится на месте вокруг одного колеса). После этого - занос, там капец. Сила бокового трения в расчете не так проста: вес перераспределится, на внешнем колесе увеличится а на вутреннем уменьшится, причем вектор силы внутреннего колеса не будет направлен по радиусу, (оно же еще и тормозит) потому только её проекция на радиус добавится к сумме.
Качественно гдето так. Как расчитать момент срыва с учетом сказаного - не знаю. Но из сказаного следует, что для не срыва необходимо обеспечить вращение внутреннего колеса, т.е. в отсутствии свободного выбега колеса остается чередовать включен мотор-выключен мотор. Причем отношение скоростей колес выше 1.72 делать ненадо, радиус менее минимального не нужен а шанс на занос вырастет (его может и не быть если скорость успела упасть, но зачем судьбу испытовать).
В общем напрашивается простой опыт. Одно колесо вкл., второе ШИМ, подбираем его до получения устойчивого движения по кругу радиуса 0,3м. Получив считаем обороты за время и расчитываем линейную скорость.
Такие опыты ставили первым делом: тележка крутится так, что в глазах рябит. Поначалу просто включали на одном колесе, потом ловили её с полчаса (вертится как волчок, ухватить не успеваешь) и уже включали только на 0.5сек.
Тут появилась такая мысля: мех. характеристика мотора от момента - линейна. Соответственно в поворотах перераспределение нагрузки на колеса приводит к тому, что рассчитанное соотношение скоростей не выдерживается ни разу. Надо пересчитывать с учетом того что нагрузка на внешнее колесо в крутых поворотах существенно выше и реальная скорость внешнего колеса - снижается эффективно.
Не. Соотношение скоростей колес - чистая геометрия. Не зависит не от чего более.
отношение длин путей колес l1 и l2 а проходятся они разумеется за одно время.
Иного варианта движения по радиусу просто нет!
// рассчитанное соотношение скоростей не выдерживается ни разу.
Вполне возможно. Расчитывать его - запаритесь. Не надо его расчитывать, его надо подобрать опытным путем. Добится движения по радиусу регулируя ШИМ. Вращение "волчком" - совсем не то. Включать только одно колесо не вариант, второе должно вращатся с требуемой, пусть средней из-за ШИМ, скоростю.
Нет. Как раз изгибов шин практически не наблюдается на практике. Шины в поперечном направлении достаточно жесткие. Там все оказалось очень хитро и просто. Но, как выяснил - это "просто" есть икслючительно совпадение ТТХ телеги. Попробовал пересчитать с другими данными - *опа полная и без float крайне проблематично.
За 1.5 года эксплуатации не пожгли ничегошеньки, а тут за один день пожгли L298 драйвер моторов при проверке АБС-торможений. Затем по ошибке подал на УНО 12в на внутренние +5 и погорела и Уна и оба цифровых датчика .. вчера запаял последнюю Нану, так что продолжаем проверять идеи.
с простым ПИД регулятором похоже не всё так просто "как пишут". Пока его настройка составляет некую проблему.
Ну .. примерно так мы и делали до вчерашнего дня .. можно улучшить поведение до скоростей 50-70 см/сек .. наверное. Если взять менее инерционные колеса и облегчить саму тележку, то наверное можно и больше, но это "не наш случай" .. требуется иной подход, похоже совсем иной. Я уже писал что вариант управления от показаний датчиков напрямую "что вижу - то пою" похоже имеет предел скоростей движения и он невелик.
https://youtu.be/qL1UCBF0ylg
Ураллийщиков штурман сидит, который предупреждает о поворотах, мож какие то световые маркеры на полосе наклеить, 1й правый, 2й левый, справа 1 белая точка, слева 2 белые, и маркеры по сскорости что бы на прямых участках форсировался.
Спасибки за видео, они тут к месту, но мы их много таких просмотрели, прежде чем понять что и 1.5 метра в сек. - далеко не предел.
Так что вопрос, заданный вам, ув. Клапауций ранее "где туплю" остался в силе, не смотря на то что Вы отвечать на него - не пожелали.
Спасибки за видео, они тут к месту, но мы их много таких просмотрели, прежде чем понять что и 1.5 метра в сек. - далеко не предел.
Так что вопрос, заданный вам, ув. Клапауций ранее "где туплю" остался в силе, не смотря на то что Вы отвечать на него - не пожелали.
мне сколько раз процитировать своё сообщение, что бы ты понял, что виновата прокладка между сидением и баранкой, т.е. ты?
т.е. ты не понял, написав 1.2.3. что ТТХ механики твоей телеги не соответвует поставленной задаче?
https://youtu.be/mBZU9S0kZJw?t=53
т.е. что делают японцы? японцы продуманные - первый раз запускают телегу на малой скорости, телега запоминает длину участков пути между поворотами и следующий заезд разгоняется на ровных учатсках по максимуму, а на участках с поворотами сбавляет скорость до ограниченной ТТХ телеги, что бы не слететь с дистанции.
как-то так.
но такой хак не прокатит на неизвестной трассе - придётся тащиться с минимальной скоростью, прохождения поворота по ровным участкам.
Нужно "смотреть" вперёд: если линия прямая, то разгоняться; если поворачивает, то тормозить.
Нужно "смотреть" вперёд: если линия прямая, то разгоняться; если поворачивает, то тормозить.
нужно назначить смотрящего вперёд.
https://youtu.be/mBZU9S0kZJw?t=53
"Клюв" с передними датчиками подвижный, на поворотах изгибается.
Колёса смещены максимально назад, выигрывая немного времени на реакцию.
"Клюв" с передними датчиками подвижный, на поворотах изгибается.
Колёса смещены максимально назад, выигрывая немного времени на реакцию.
Если взять менее инерционные колеса и облегчить саму тележку, то наверное можно и больше, но это "не наш случай" .. требуется иной подход, похоже совсем иной.
мы пойдём другим путём!
т.е. ты не понял, написав 1.2.3. что ТТХ механики твоей телеги не соответвует поставленной задаче?
Будет очень замечательно, если Вы обоснуете свое утверждение вместо того, чтобы писать чухню по неграмотности ..
Особенно в свете данной тут оценки предельного радиуса разворота указанного в этой теме Andriano и моим высказыванием про мою собственную оценку "у меня получилось больше" и экспериментальное подтверждение обоих мнений: "тележка проходит минимальные радиусы на такой скорости" ..
Если можно, то как-то с применением математики, а не словоблудливо.
P.S. Вариант запоминания трассы нами рассматривался и он отвергнут как неспортивное решение.
Кроме этого на этой линии стоит 3 аналоговых датчика, и дополнительно вперед на 10см вынесен блок с ещё двумя цифровыми датчиками (тутошние с фото).
Повороты телега тоже может делать на похожей скорости, но только когда в поворот она входит заранее. Примерно за 10-15см до начала поворота.
Особенно в свете данной тут оценки предельного радиуса разворота указанного в этой теме Andriano и моим высказыванием про мою собственную оценку "у меня получилось больше" и экспериментальное подтверждение обоих мнений: "тележка проходит минимальные радиусы на такой скорости" ..
ок, если проходит, то какие проблемы? - вперёд к побъедам! :D
у тебя нет проблем и всё работает, как нужно... или, 15 сантиметров хобота с датчиками не хватает?
Ха! Так оказывается твой вывод основан ИСКЛЮЧИТЕЛЬНО на факте создания темы и моим вопросом! Эвона как .. я то грешным делом подумал, что ты что-то знаешь, только ломаешься как красна девка перед замужеством ..
Ха! Так оказывается твой вывод основан ИСКЛЮЧИТЕЛЬНО на факте создания темы и моим вопросом! Эвона как .. я то грешным делом подумал, что ты что-то знаешь, только ломаешься как красна девка перед замужеством ..
мой вывод основан на фактах, которые я процитировал и оспорить которые ты не можешь, т.к. сам являешься их источником.
Капитан очевидность, так я про это и отписал. Жаль, мне показалось что ты можешь помочь советом ..
Ладно, проехали. Сегодня удалось таки разъяснить ребенку все особенности построения ПИД-регуляторов. В прошлый раз, мне чисто интуитивно удалось его имитировать экстравагантным способом. На сей раз будем делать по науке... :)
Забавно, что программа, после оптимизационных преобразований существенно отличаться от предыдущей явно не планирует.
Особенно в свете данной тут оценки предельного радиуса разворота указанного в этой теме Andriano и моим высказыванием про мою собственную оценку "у меня получилось больше" и экспериментальное подтверждение обоих мнений: "тележка проходит минимальные радиусы на такой скорости" ..
Вы воще нихрена непоняли с того расчета похоже. Он означает что радиус разворота при заданом трении и скорости никак не менее расчитаного. А больше - всегда пожалуста. Удастся ли реализовать теоретический минимум конкретно взятой тачанку он ни как не доказывает. Например легковушка технически вполне может двигатся 1,5м/с и сцепление там как в расчете вот только радиус "немножко" больше. Экспериментально подтверждения форум не увидел, я Вам писал - выложите видео, его нет.<sensored>
ПС. Кстати Ктрения=0,8 для резины по асфальту, по асфальту гоняете?
1. "Вы воще нихрена непоняли с того расчета похоже." -- прежде чем такое писать, стоит потрудится и перечитать тему, дабы дошло кто и чего не понял. А голословное заявление Вас не красит ни разу и пользу в тему не приносит;
2. "Он означает что радиус разворота при заданом трении и скорости никак не менее расчитаного. А больше - всегда пожалуста. Удастся ли реализовать теоретический минимум конкретно взятой тачанку он ни как не доказывает." -- есстественно, ещё один "капитан очевидность" .. кто-то с ЭТИМ СПОРИЛ ИЛИ ОПРОВЕРГАЛ?;
3. "Экспериментально подтверждения форум не увидел" -- Вы не прокурор, а я не в суде, чтобы доказывать написанное что было "сделано". За Вами остается право не верить написанному и только. Там Вам было дано разъяснение почему нет видео. Повторюсь, специально для Вас: снимать видео сейчас НЕЧЕМ и бегать искать чем снять - Я НЕ СОБИРАЮСЬ. Хотите удостовериться собственными глазами? Приезжайте в гости, ласкаво просим. :)
4. где, что и по какому покрытию гоняется - в теме есть, перечитайте, у Вас - получится, я практически уверен.
Andriano, да вы правы (сожалею что снес вместе с флудом и ваш пост, он был в тему). Тема создана для того, чтобы получить советы КАК можно реализовать скоростное движение робота по линии вплоть до теоретического предела по сцеплению колес БЕЗ "подглядываний" (запоминаний трассы) тем или иным способом. Про ПИД (точнее что оно так называется) узнал не так давно, читая иные темы тут. Тогда смотрел, но вникать не стал за ненадобностью. Здесь Вы напомнили про него и полез, посмотрел детально .. да, это то что нужно .. но думаю не совсем. Это уже не "что вижу -то пою" в чистом виде, но и "предсказатель пути" в нем только в зачаточном состоянии, хотя идеи здравые и оказывается древние.
В прошлый раз была написана программа примерно следующего алгоритма (тоже своеобразный ПИД):
считываем показания датчиков (их было только 2шт сбоку от линии и цифровых), усредняем пачками по 20шт с весом черного 20% от белого, поскольку читаем быстро (ок. 1Мгц), формируем "состояние автомата движения". Их 3шт: "оба одинаковых" (оба черных = перекресток, пропускаем как норму), "линия слева" и "линия справа".
1. "прямо" -- смотрим на скорости моторов и количество повторов этого состояния:
а) если скорости не равны - плавное выравнивание скоростей с гистерезисом (перевыравниванием туда-сюда): 10 + (1/4 от разницы скоростей). Это давало возможность при возврате на трассу выровнять колеса вдоль трассы прямо и как раз уменьшало рыскания, ибо "малые колебания скорости" игнорируются моторами;
б) если скорости "похожи" и не предельны (<255) то плавно растим скорость += 2. При частотах цикла в 2мсек (установлено через everyMillis()) этого вполне достаточно для быстрого разгона с нуля на 2-4см трассы.
в) понятно что тут сбрасывались все признаки и задержки режимов поворота и потери линии..
2. "влево", "вправо" -- меняется только сторона моторов и датчиков:
а) Если нет признака "тормози" И сумма скоростей выше порога (эксперимент), то резкое торможение обоими моторами (крутим взад -200) на 10мсек (5 циклов), ставим признак "тормози лаптем - поворот", иначе:
а-б) Если есть признак, то: Вычитаем признак и выходим если он ещё больше нуля - время не вышло: тормозим, если =0 то ставим внешний мотор на скорость поворота, а внутренний останавливаем;
а-б1) иначе: Если ситуация повторная, то увеливаем скорость внешнего мотора и если сильно повторная, то крутим внутренний мотор взад с ростом его скорости.
На домашней трассе для тренировок есть крутые радиусы в 15см .. проходил "разворачиваясь на пятке". Поищу куда выложить кино, меня нет на ютубе.. и регистрироваться с телефоном через смс - нет никакого желания. Есть кино с соревновательной трассы с тренировочного дня, там радиусы побольше, но там сознательно поставлено ограничение скорости примерно в 1.5-2 раза меньше чем могли кататься (не хотели выдавать все секреты конкурентам).. на нем хорошо видно, что датчики при домашнем освещении работающие устойчиво - на настоящем поле "глючат" и могут тупо пропустить линию. Что у нас и произошло и в результате чего робот упал со стола и мы решили что сломался редуктор мотора - снялись до начала соревнований. .. опыт - великое дело..
Тут есть своеобразное "пропорциональное" управление и "интегрирующая часть" (повторность ситуации = накопление), есть даже "диф." составляющая в виде перевыравнивания моторов на прямой .. но это конечно же не полноценный ПИД как его описывает теория.
Вы телеметрию пишите?
Просто если есть телеметрия, то при вылете с трассы можно посмотреть, что показывали датчики за шаг до начала реагирования на поворот и соответственно следующий раз начинать поворачивать по этим данным. Тем самым смещая начало реагирования пошагово назад.
PS: отсюда один шаг до самообучающегося робота.
Пробовали писать телеметрию и в прошлый раз тоже. Собственно как и "открыли" тогда, что цифровые датчики могут "лагать" длинной серией. Там было 2 эффекта: первый - плохой контакт у Меги и сигнал тупо не доходит до чтения - надо паять контакты или заменять штатный разъем, который со временем начинает просто болтаться. И второй эффект, как понимаю связан с тем что приемник датчика это микросхема, работающая на частоте 33 - 38кгц (или сколько там у TSOP) и возможно возникновение "механизма биений", природу которого я найти не смог, но был хорошо виден "плавающий" характер показаний датчика .. прям по классике.
За шаг "до" все как надо и ничего предположить нельзя. Более того 2-3 шага "после" только можно формировать предположение что это таки поворот, а не "шум".
Кстати, как идея: "тормозить лаптем" .. раз нет ограничений на конструкцию .. почему бы и не поставить 2 лаптя на сервомоторах? :)
что приемник датчика это микросхема, работающая на частоте 33 - 38кгц (или сколько там у TSOP)
с какого будуна у тебя датчиком полосы стоит TSOP? - они совсем для другого предназначены.
стати, как идея: "тормозить лаптем" .. раз нет ограничений на конструкцию .. почему бы и не поставить 2 лаптя на сервомоторах? :)
Можно ещё на поворотах смещать центр тяжести, сервой бросать батарейки в противоположный повороту борт:))
А если серьёзно, то лучше бы вместо лаптей, прикрутить сзади ещё одно ведущее колесо, поворотное, на сервомоторе.
Про ПИД (точнее что оно так называется) узнал не так давно, читая иные темы тут. Тогда смотрел, но вникать не стал за ненадобностью. Здесь Вы напомнили про него и полез, посмотрел детально .. да, это то что нужно .. но думаю не совсем. Это уже не "что вижу -то пою" в чистом виде, но и "предсказатель пути" в нем только в зачаточном состоянии, хотя идеи здравые и оказывается древние.
Я тоже думаю, что ПИД - это лишь один из этапов, которые нужно осознать, пройти и двигаться дальше.
Фактически нужно устранить вылет тележки с траектории. Для этого сначала нужно понять, что происходит, т.е. КОГДА начался вылет и КАК и ПОЧЕМУ это произошло.
Для этого нужно иметь информацию. Одного факта вылета недостаточно.
Часть информации может дать телеметрия, но обычно этой информации недостаточно. Лично я в такой ситуации попытался бы провести численное моделирование движения тележки по трассе.
хорошо видно, что датчики при домашнем освещении работающие устойчиво - на настоящем поле "глючат" и могут тупо пропустить линию.
А разве датчики работают от внешнего освещения, а не от собственной подсветки?
Или, может, поверхность бликует, за счет чего блик от черной линии воспринимается как светлая поверхность?
Если последнее, вероятно, нужно немного изменить конструкцию датчика так, чтобы он ловил исключительно рассеянный свет, но был защищен от блика.
Кстати, как идея: "тормозить лаптем" .. раз нет ограничений на конструкцию .. почему бы и не поставить 2 лаптя на сервомоторах? :)
Сила трения ограничена коэффициентом трения. Поэтому увеличивать количество колес бессмысленно.
Правда, если колесо само недостаточно быстро снижает скорость вращения, ему можно помочь механическим тормозом. Думаю, этот тормоз должен тормозить именно колесо, а не пытаться зацепиться за подстилающую поверхность.
Клапауций, датчики "какие были" на момент подготовки к соревнованиям .. да, это типа KY-033 - "датчики препятствий", но их можно подстроить как датчик линии. Чем мы и занимались, получилось "не очень". Уже после соревнований сделали 4 аналоговых датчика линии.
Nosferatu, прикрутить-то можно, только оно ничего не даст ровным счетом. Маневренность тележки на двух колесах с шаровой опорой - максимальна и без такого колеса .. смысла нет, кроме как утяжеление. Разворачиваться в пределах габаритов корпуса - оно и так умеет.
Andriano, да похоже есть смысл ставить тормозную систему на колеса на сервомоторах. Ни L298N ни наши мосфетные драйвера тормозить мотор закорачиванием якоря (рекурперативный режим) - не умеют. Если мотор остановлен, то он как-бы отключен от системы и предоставлен "на выбег", длина которого определяется моментом инерции колеса и оно - большое. Поэтому у нас и стоит кратковременный реверс мотора, чтобы погасить инерцию колеса.
Моделирование инерции колеса показывает что его выбег с макс. скорости не меньше 21см .. но, возможно что неверно определял модель в части сил трения - есть ещё трение в редукторе, опоре оси колеса - я их не учитывал. Только трение качения. В реальности имеем около 16см. (и макс. скрость и мн. др. сильно зависит от степени зарядки батареек, поэтому конкретные цифирьки могут сильно плавать)
Проблема установки тормозной системы - доп. вес. Оно и так тяжелое, потому как в основе лежит "лего" набор деталек и уйти от него мы не можем и не планируем. Одна из задач - развитие темы "Ардуино как Лего".
ИК-датчики препятствий KY-033 имеют внутри TSOP, который автоматом должен вычитать фоновую засветку. На практике оказалось что характер работы датчиков принципиально разный дома, при освещении "окно"/"лампы электрические" и в спортзале, где проводились соревнования и тренировки: "лампы дневного света", окна почти отсутствуют. Во втором случае работа датчиков оказалась не в пример хуже почему-то. Не ожидали. Делали вокруг датчика картонную "юбку" закрывающую практически весь боковой свет (высота от трассы = 5мм) - помогало, но мало.
Постепенно ребенок собирает программу на "новых принципах управления" .. но ему сложно ещё такое. Вчера запинал на "С" чтение датчиков подпрограммой и начал делать подпрограмму управления моторами. "вычислитель" оставил ему "на сладкое". :)
Да, ещё была "странная особенность": одно из тренировочных полей (ПВХ - рекламный баннер) было старое, с вытертой линией, местами "до белого" .. так вот на нем после добавления процедуры "скользящее среднее по 20 замерам" - эти цифровые датчики работали "на ура". А вот на новом баннере - гораздо хуже.
Моделирование непоможет. Не потому что моделировать плохо, потому что модель здесь очень сложная, многофакторная. Надо учитывать слишком много всего и невесть что окажется определяющим. Например при повороте распределение веса между опорами изменяется, как учитывать будем? Изгиб рисунка протектора под действием центробежной силы, момент перехода от трения качения к трению скольжения и обратно, колебания деталей подвески и др. Имея куда больше возможностей разработчикам авто и шин досих пор приходится основыватся на экспериментах и строить численые модели по эмпирическим данным.
Если хочется сильно помоделировать, то можна ограничится моделью системы управления, возможно чето прояснит. Относительно не сложно. Делаем логирование показаний датчиков и желательно управляющих воздействий на привод, прогоняем модель по треку, лог сохраняем. В ПК, например в визуалстудию, втягиваем код реализующий систему управления, подсовываем на вход логированые сигналы и прогоняем сравнивая получаемые воздействия сохраненные в логе. Если совпали - ОК, модель рабочая, но она не результат, рна инструмент. Далее изучаем её поведение - процесс творческий недетерминированый )) Найдется что интересное - правим систему, снимаем новый лог на разных скоростях и радиусах с разными законами управления.
Я бы не начинал с модели. Начинал с детальной видеосемки процесса. Возможно добавил бы на модель светодиодики индикации текущих сигналов с датчика и управляющего воздействия. Фактически видео - тот же лог но куда более информативный и проще получаемый. Покадрово рассматривай и разбирайся.
Прогоз: ПИД-5% на успех, видео или модель системы управления -20% (но большой плюс к пониманию процесса). Наиболее вероятный исход - невозможность пройти поворот без снижения скорости по крайней мере в этой механике. Что интересно, разработка новой тачки очевидно будет предполагать и повышение скорости, значить задача снижения скорости перед поворотом неотвратима ))) Следовательно с неё и начинать таки.
Тормоза - дело хитрое. Блокировать колеса в повороте нельзя, вобще не повернет. Кратковременный реверс (только реально кратковременный, пачкой импульсов) ничем не хуже тормозных колодок кроме износа механики.
Так трек из ПВХ? Разслабтесь, Коэффициенты трения скольжения. Резина по пластику 0,2 https://www.google.com.ua/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&uact=8&ved=0ahUKEwjy_K69lcHQAhUGESwKHY5UCpAQFggbMAA&url=http%3A%2F%2Fforum.katera.ru%2Findex.php%3Fapp%3Dcore%26module%3Dattach%26section%3Dattach%26attach_id%3D220464&usg=AFQjCNGEVX6GUZt9HdhRUivorQpGb7Iuyw&sig2=fKKQVjQWPRohTZ5VUKFPtQ
Повторите расчет andriano и разслабтесь, ни ПИД ни модели не помогут.
Не поленился, проверил ещё раз. Динамометр трогает тележку с места весом 508гр (вариант с УНО) и показывает 402гр. плюс-минус 10грамм. Итого к-т трения примерно равен 0.8, возможно "чуть меньше". Делать 100500 замеров и вводить к-ты студентов - увольте. :)
По какому материалу? Трогает - это трение покоя. Надо при медленном равномерном движении показания снимать. Они меньше будут всегда. 100500 не надо. А вот перпендикулярно направлению качения любопытно. Из-зп рисунка протектора может заметно отличатся.
Коль уж динамометр доставать - моменты силы вращения померьте, пригодится. Веревку на колесе закрепить чтоб не проскальзывала, и на центре протектора точка приложения, динамометр к веревке ясно дело.
Да, трение надеюсь на заблокированых от поворота колесах было. На разблокированых померьте заодно сопротивление качению. Тож пригодится при расчетах.
ПС. Полезная штука - динамометр.
Гулять - так гулять ))) Развесовку еще меряйте. Приподнимая динамометром каждое колесо на пару мм. По идее при расчете Andriano надо брать только вес прилагаемый к активным колесам, третя опора не учитывается т.к. катится как попало. Но тут сложен, он при ускорении/торможении изменяется. Если еще момент инерции колеса померить ))) Но там насколько помню маятник надо делат..
Да, надо будет все перемерить, спасибо за наводку. На сегодня уже всё .. ребенок уже устал писать программу, а измерять чисто для себя, без процесса обучения - оно уже не так полезно.. Потерпите, поизмеряем.. ;)
Не утерпел, померял сам, пусть спит дите, с ним повторим... :)
Трение покоя в поперечном направлении и продольном практически одинаково, плюс-минус .. но особой разницы не обнаружил. Приведенная цифирька - усилие начала движения. Трение - шина колеса (очень мягкая резина с протектором) по ПВХ баннеру. Проверить трение разблокированных колес - не получится, они посажены напрямую на мотор-редуктор. Тележка сдвигается без прокрутки колесом мотора. Развесовка по колесам отличается на 5-10гр, точнее никак, но это потому что УНО и драйвера моторов тупо лежат на корпусе батарейного отсека "как легло". Сдвинув, можно получить иной баланс.
Ну вот так как-то.
Колеса Lego 62.4x20 такие: http://bricker.ru/parts/86652c01/
Вес колеса согласно каталогу 32.4гр.
Уточненные данные: вес телеги = 481гр, вес на колесе 212 +- 5гр, трение покоя: "вперед" = 354гр, "вбок" = 345гр, "назад"=270гр (не знаю как так, перемерял несколько раз - отброшено) Итого, к-т трения (354+345) / 2 / 481 = 0.727, пусть будет 0.72. Ширина колеи телеги = 15см или плюс-минус 7.5см от оси кривой поворота. Предельная скорость по прямой = 1.56м/сек.
Согласно расчету Andriano: Максимальное замедление Amin = 9.81 *0.72 = 7.06 м/кв.сек. Предельная скорость прохождения мин. радиуса в 300мм составит:
внутр. колесо = sqrt(0.225*7.06) = 1.26м/сек., внешнее колесо = sqrt(0.375*7.06) = 1.63м/сек.
Предельная скорость внешнего колеса = 1.56м/сек .. т.е. на пределе, но "проходит". Для движения в таком повороте внутреннее колесо должно вращаться медленнее, в 225/375 = 0.6 раза или 1.56*0.6 = 0,936м/сек. .. тоже проходит и далеко не на пределе.
Я считал через центростремительное ускорение при движении в повороте и несколько для других габаритов и веса, так чтобы оно не превышало силу трения.. получалось похоже, но я брал к-т трения 0.85-0.9, поскольку прикидка веса телеги и силы с которой её можно столкнуть вбок были сильно похожи на "мелких пружинных весах" а-ля "безмен" с точностью 20гр. Динамометр - самодельный (сделал для оценки тяги пропеллера ребенку), поверочная точность в пределах 500гр = 0.5гр. поверялся на аптекарских разновесах (есть).
Писал до Вашего ответа.
/// Проверить трение разблокированных колес - не получится, они посажены напрямую на мотор-редуктор.
Т.е катится накатом она не могет? Получается если на мотор не подавать напряжение, то колесо не проворачивается, оно заблокировано и тачку тормозит по полной? Оч непревычный расклад.
//развесовка по колесам отличается на 5-10гр,
Это хорошо, но интересна не столько разница сколько сумма. Она покажет какая часть веса приходится на управляемые колеса (чем больше тем лучше), а какая омтанется на "хвост". Разумеется в статике.
//Приведенная цифирька - усилие начала движения.
А надо не она. Нужен не максимум а постоянная часть графика.
Собственно отсюда http://festival.1september.ru/articles/616971/
Трение скольжения от трения покоя отличаются менее 10%, поэтому приводить не стал.
По колесу получается забавно:
Радиус центра масс вращения можно принять за 46.5мм, что при весе в 32гр дает момент инерции 7^(-5) м*кв.кг. Угловая скорость вращения колеса 7.95 об/сек. Моторы (эти) имеют останавливающий момент в 65гр*см "на валу" и редуктор 1:30, или 0.065 * 9.81 * 30 / 100 = 0,19 н*м на валу колеса. Соотвественно, время полного останова колеса составит = 29,2мсек. .. что очень похоже на правду. :)
То есть, получается что если применить режим торможения а-ля ABS импульсами по 3-4 мсек (что для нас ну очень удобно), то можно существенно сократить тормозной путь. Ух-ты! :)
Упс. 46.6мм - это диаметр центра масс колеса.. то есть время останова в 2 раза меньше.
Logik, с колесом все хитрее. Пока оно не вращается - его клинит на редукторе так, что при скольжении телеги оно не крутится, поэтому измерить качение - не получается. А вот когда оно крутится, то выключение мотора не клинит колесо и оно идет "на выбег" и достаточно долго. Чтобы так не было надо или тормозить драйвером (закорачивать мотор) или мотором - пробовать вращать его "взад".
//То есть, получается что если применить режим торможения а-ля ABS импульсами по 3-4 мсек (что для нас ну очень удобно), то можно существенно сократить тормозной путь. Ух-ты! :
Это единственный полезный вывод и уменя напрашивается. И вот почему. Весь расчет был сдела для равномерного поворота с радиусом 0,28м. По этому радиусу будет двигатся центр массы (далее ЦМ) со скоростью 1,5м/сек. При этом внешнее колесо должно иметь скорост 1,5*(0,28+0,15/2)/0.28=1,9м/сек а внутреннее соответственно 1,5*(0,28-0,15/2)/0.28=1,1м/сек Отношение этих скоростей 1.72 и есть условие движения по заданому радиусу. Это геометрия, тут непопреш. Сняв напряжение с мотора колесо начинает замедлятся с исходной скорости, из-за трения качения (в него входит и внутреннее трение системы). При этом тележка поворачивает с плавно уменьшающимся радиусом поворота и скорости движения (торможение одного колеса сказывается). Наверно удастся расчитать зная момент инерции телеги вокруг вертикали. Этот этап завершится превышением центробежной силы над силой бокового трения (теоретически наверно возможно скорость сбросить быстро и тогда телега закрутится на месте вокруг одного колеса). После этого - занос, там капец. Сила бокового трения в расчете не так проста: вес перераспределится, на внешнем колесе увеличится а на вутреннем уменьшится, причем вектор силы внутреннего колеса не будет направлен по радиусу, (оно же еще и тормозит) потому только её проекция на радиус добавится к сумме.
Качественно гдето так. Как расчитать момент срыва с учетом сказаного - не знаю. Но из сказаного следует, что для не срыва необходимо обеспечить вращение внутреннего колеса, т.е. в отсутствии свободного выбега колеса остается чередовать включен мотор-выключен мотор. Причем отношение скоростей колес выше 1.72 делать ненадо, радиус менее минимального не нужен а шанс на занос вырастет (его может и не быть если скорость успела упасть, но зачем судьбу испытовать).
В общем напрашивается простой опыт. Одно колесо вкл., второе ШИМ, подбираем его до получения устойчивого движения по кругу радиуса 0,3м. Получив считаем обороты за время и расчитываем линейную скорость.
Такие опыты ставили первым делом: тележка крутится так, что в глазах рябит. Поначалу просто включали на одном колесе, потом ловили её с полчаса (вертится как волчок, ухватить не успеваешь) и уже включали только на 0.5сек.
Тут появилась такая мысля: мех. характеристика мотора от момента - линейна. Соответственно в поворотах перераспределение нагрузки на колеса приводит к тому, что рассчитанное соотношение скоростей не выдерживается ни разу. Надо пересчитывать с учетом того что нагрузка на внешнее колесо в крутых поворотах существенно выше и реальная скорость внешнего колеса - снижается эффективно.
Не. Соотношение скоростей колес - чистая геометрия. Не зависит не от чего более.
отношение длин путей колес l1 и l2 а проходятся они разумеется за одно время.
Иного варианта движения по радиусу просто нет!
// рассчитанное соотношение скоростей не выдерживается ни разу.
Вполне возможно. Расчитывать его - запаритесь. Не надо его расчитывать, его надо подобрать опытным путем. Добится движения по радиусу регулируя ШИМ. Вращение "волчком" - совсем не то. Включать только одно колесо не вариант, второе должно вращатся с требуемой, пусть средней из-за ШИМ, скоростю.
:) Я уже всё посчитал, осталось только проверить.
Там наверняка стока нелинейностей что точно не расчитается, одни изгибы резины колес на геометрии так скажутся что мало не покажится.
Нет. Как раз изгибов шин практически не наблюдается на практике. Шины в поперечном направлении достаточно жесткие. Там все оказалось очень хитро и просто. Но, как выяснил - это "просто" есть икслючительно совпадение ТТХ телеги. Попробовал пересчитать с другими данными - *опа полная и без float крайне проблематично.
Невезуха .. сегодня пожег ребенку и УНО тоже. Перепутал проводки и на плату вместо 5в попало 12.5 .. капец. :(
Он так на соревновании тоже может перепутать, под психологическим давлением.
Надо бы для разных напряжений разные коннекторы использовать, для перестраховки.
За 1.5 года эксплуатации не пожгли ничегошеньки, а тут за один день пожгли L298 драйвер моторов при проверке АБС-торможений. Затем по ошибке подал на УНО 12в на внутренние +5 и погорела и Уна и оба цифровых датчика .. вчера запаял последнюю Нану, так что продолжаем проверять идеи.
с простым ПИД регулятором похоже не всё так просто "как пишут". Пока его настройка составляет некую проблему.