Название: Самобалансирующая платформа Отправлено: Efendy от 01 Сентября 2013, 18:53:11 Нужна помощь тех, кто шарит в теории автоматического управления. Есть segway - самобалансирующийся самокат: http://ru.wikipedia.org/wiki/%D0%A1%D0%B5%D0%B3%D0%B2%D0%B5%D0%B9
Мне достался не оригинальный, а китайская поделка, причем мозги в нем благополучно сгорели, так что пришлось На самом деле, интернет кишит инфой о таких самобалансирующихся платформах https://www.google.com.ua/#q=%D1%81%D0%B0%D0%BC%D0%BE%D0%B1%D0%B0%D0%BB%D0%B0%D0%BD%D1%81%D0%B8%D1%80%D1%83%D1%8E%D1%89%D0%B0%D1%8F%D1%81%D1%8F+%D0%BF%D0%BB%D0%B0%D1%82%D1%84%D0%BE%D1%80%D0%BC%D0%B0 Если коротко, то весь процесс: акселерометр + гироскоп через комплиментарный или Калмана фильтр, на ПИД управлятор и вуаля - все работает. Работает, да судя по многочисленным видео хреново. Далеко всем поделкам до оригинального Сигвея. Далеко и моей. Ездить можно, но не так кайфно как на оригинальном (не даром на разработку было потрачено кажется 10 лет). Подозреваю, что все дело в ПИД регуляторе http://ru.wikipedia.org/wiki/%D0%9F%D0%98%D0%94-%D1%80%D0%B5%D0%B3%D1%83%D0%BB%D1%8F%D1%82%D0%BE%D1%80 Как не крути его коэффициенты, не получается сделать абсолютно 2 противоположные вещи - чтобы балансировался без нагрузки, не выходил в расколбас и чтобы очень резво сопротивлялся наклонам когда на нем стоит человек. Т.е. все поделки позволяют себя наклонять довольно легко, но это и создает некомфортность, хотя ездить можно. У меня жуткое подозрение, что либо в сегвее юзается не ПИД регулятор, либо значительно модифицированный. Короче, кто шарит в этой теме (пид регуляторах, ну и подобном) прошу направить на путь истинный. Спрашивайте данные, буду давать данные Название: Re: Самобалансирующая платформа Отправлено: ser970 от 01 Сентября 2013, 19:52:02 а гироскоп где находится ? наверное надо в руль выносить - максимальный угол получится
да временные задержки нужны наверное... и наверное дискретный нужен. Название: Re: Самобалансирующая платформа Отправлено: Efendy от 01 Сентября 2013, 20:06:27 Не, гироскоп не нужно выносить в руль, там он будет шуметь
Название: Re: Самобалансирующая платформа Отправлено: ser970 от 01 Сентября 2013, 20:22:49 Не, гироскоп не нужно выносить в руль, там он будет шуметь в противном случае нужен очень точныйтак как изменение на 0.5 г на плече в 1.5 уже будет ощутимо. а шум это устранимо. + наверное можно использовать датчики на самом руле - вернее на поперечене руля, то-есть если приложить силу на штурвал то изменения вступят в силу только скажем через 0.5 сек если сила будет в 5кг ( цифры рассчитывать надо) (типа отключения автопилотов) Название: Re: Самобалансирующая платформа Отправлено: Efendy от 01 Сентября 2013, 20:55:07 Проблема не в гироскопе. Он довольно точный, + акселерометр подкорректирует его значения. Фишка именно в том, что ПИД управлятор двигателями не может реализовать то, что мы хотим получить: жесткую реакцию без перелета как при пассажире, так и без него
Название: Re: Самобалансирующая платформа Отправлено: ser970 от 01 Сентября 2013, 22:31:52 сам пид легко раскачать ...
если нарисовать диаграмму пида то легко увидеть... да и дело не в точности а в угловой скорости но.. может просто по тел по общатся я просто когда-то занимался разработкой пром автоматики ( это как бы моя специальность.... АСУТП) Название: Re: Самобалансирующая платформа Отправлено: sov от 02 Сентября 2013, 07:29:02 Проблема не в гироскопе. Он довольно точный, + акселерометр подкорректирует его значения. Фишка именно в том, что ПИД управлятор двигателями не может реализовать то, что мы хотим получить: жесткую реакцию без перелета как при пассажире, так и без него А ваш ПИД инерцию учитывает? Чтобы не было перелёта, при подходе к расчётной точке равновесия надо не просто уменьшать управляющее воздействие, а заранее включать его в обратном направлении, пока система под действием инерции не сместится в точку равновесия.Название: Re: Самобалансирующая платформа Отправлено: Efendy от 02 Сентября 2013, 07:45:53 ser970, я бы хотел не по телефону, а здесь обсудить, чтобы больше человек приняло участие. А то мы уже спрашивали даже преподавателя, но там вода пошла. Например, кривая разгона. Ведь она будет разная под нагрузкой и без нее - когда человек стоит на платформе и нет.
Насчет угловой скорости - как раз она и есть дифференциальная составляющая. sov, да, заранее включается компенсация как раз этой дифференциальной составляющей. Кстати, хотя ПИД формула и простая, но все равно работает она слегка непонятно: при уходе от целевой точки у нас получается, что дифференциальная составляющая стремится ухудшить ситуацию - пытается наклонить конструкцию еще больше. Потом, конечно, когда пошел обратный процесс, она подтормаживает движение как и надо. Но все равно непонятно, почему сначала пытается ухудшить ситуацию. Может это просто недостаток ибо нельзя сделать формулу идеальной. Ну, тогда бы я на программном уровне заблокировал это. Кстати, ответьте еще на вопросы: - насколько ПИД оперативный? может я в принципе на нем не смогу сделать очень большую реакцию? - учитывает ли ПИД, что условия могут значительно меняться, я имею ввиду, что на платформе может быть вес от нуля до, скажем, 80кг. - есть ли смысл в точке баланса не так сильно пытаться привести баланс к идеалу, т.е. не пытаться сбалансировать при минимальном отклонении, чтобы механику не расшатывать? Название: Re: Самобалансирующая платформа Отправлено: Efendy от 02 Сентября 2013, 07:56:23 Да, и еще. Я, конечно, ламер в этой области, но зато у меня есть мозг. Объясните мне. Вот я наклоняю конструкцию, чем у меня больше вес, тем больше угловая скорость. На угловую скорость у меня реагируют интегральная и дифференциальная составляющие. Интегральная мне особо не поможет ибо она накапливает ошибку, поэтому коэффициент там маленький и она быстро не вернет нас к нулевой точке. По логике, на резкое изменение угла (большая угловая скорость) больше всего отреагирует дифференциальная составляющая, которая как я говорил сначала ухудшит ситуацию.
Я даже делал такой прикол: переворачивал формулу с ног на голову - менял знак у дифференциальной составляющей, подстраивал коэффициенты и пропускал выход через фильтр низких частот. Работало не хуже чем сейчас. Из чего делаю вывод, что ПИД у меня работает через пень колоду. И никакими коэффициентами я не могу получить то, что хочу Название: Re: Самобалансирующая платформа Отправлено: ser970 от 02 Сентября 2013, 08:31:29 ser970, я бы хотел не по телефону, а здесь обсудить, чтобы больше человек приняло участие. А то мы уже спрашивали даже преподавателя, но там вода пошла. Например, кривая разгона. Ведь она будет разная под нагрузкой и без нее - когда человек стоит на платформе и нет. датчик давления на платформеНасчет угловой скорости - как раз она и есть дифференциальная составляющая. не совсем так.Кстати, хотя ПИД формула и простая, но все равно работает она слегка непонятно: при уходе от целевой точки у нас получается, что дифференциальная составляющая стремится ухудшить ситуацию - пытается наклонить конструкцию еще больше. Потом, конечно, когда пошел обратный процесс, она подтормаживает движение как и надо. Но все равно непонятно, почему сначала пытается ухудшить ситуацию. Может это просто недостаток ибо нельзя сделать формулу идеальной. Ну, тогда бы я на программном уровне заблокировал это. поэтому чуше использовать не ПИД ,а по отдельности П И Д , и для И временную задержку (от массы) , для П скорее все отдельные датчки нужны будут типа усилия нажатия на края платформы ...там расчеты надо делать с учетом массы на концы платфрмы будут довольно сложны. большую реакцию можно получить только вынести гироскоп на большее расстояние , при расчетах надо учитывать динамику и технику двигательного скелета человека. там по ходу не все так просто Название: Re: Самобалансирующая платформа Отправлено: Efendy от 02 Сентября 2013, 09:49:49 ser970, я бы хотел не по телефону, а здесь обсудить, чтобы больше человек приняло участие. А то мы уже спрашивали даже преподавателя, но там вода пошла. Например, кривая разгона. Ведь она будет разная под нагрузкой и без нее - когда человек стоит на платформе и нет. датчик давления на платформеНасчет угловой скорости - как раз она и есть дифференциальная составляющая. не совсем так.большую реакцию можно получить только вынести гироскоп на большее расстояние , при расчетах надо учитывать динамику и технику двигательного скелета человека. Ну так даже китайский сегвей работал без этих вещейтам по ходу не все так просто Название: Re: Самобалансирующая платформа Отправлено: ser970 от 02 Сентября 2013, 18:54:05 пид это гибридный регулятор.
функция П Wп(s) = K1. пропорциональный функция И Wи(s) = К0/s. интегральный. функция Д Wд(s) = К2*s. диф. можно использовать в любом сочетании. берем только п функцию - получаем отклонили на 5 град = получили величину скажем 10в y=2x вот вам и сопротивление при отклонении сложно писать тут нету мат знаков... обычно и функцыю вводят для спадающей синусоиды макс точного значение - но дает как раз колебания . года-то была сводная таблица регуляторов ( ее хер запомнишь , вот и любиный вопрос препода был..... ) поэтому пид в чистом виде тут не пойдет (ихмо) Название: Re: Самобалансирующая платформа Отправлено: ser970 от 02 Сентября 2013, 19:31:57 интересно какие датчики там стоят ?
гироскоп какой (механика или електроника ?)? Название: Re: Самобалансирующая платформа Отправлено: ser970 от 02 Сентября 2013, 20:51:56 хм использую только П получается довольно интересно
надо не только вычислять коррекцию ,но и менять точку отсчета. то есть при наклоне на +5гр от нуля если в течении 2сек не уменьшается наклон то изменяем 0 на +4 = то есть ошибка уменьшится до 1 . должно получится. з.ы. даже с пид получится если менять не только коррекцию, но и точку отсчета. отставлять минимальное значение ( что бы небыло колебаний и могло вернутся назад) то есть всегда получается при отклониении от нуля какая-то константа силы. з.ы не умею я так обьяснять без ручки и бумаги Название: Re: Самобалансирующая платформа Отправлено: ser970 от 08 Сентября 2013, 00:07:21 чуть подумал тут...
частный и самый простой случай на рис. но нужно . 1.измерять скорость изменения сигнала от гироскопа и изменять время заряда-разряда кондера. что даст довольно сильное противодействие при кратком качании 2.при критических углах разница должна быть возрастать геометрически. что не позволит упасть - так как рычаг нельзя будет наклонить больше чем критический угол. втоже время при возврате не будет сильного колебания . вместо кондера использовать выход мк . а вообще задачка очень интересная. Название: Re: Самобалансирующая платформа Отправлено: Efendy от 08 Сентября 2013, 09:46:57 Не, железной схемой управления врядли можно добиться всех требований. По крайней мере запрограммировать легче и быстрее. Мы уже испробовали несколько вариантов. В чем-то лучше китайского сегвея, в чем-то хуже. Но все все равно надо совершенствовать
Название: Re: Самобалансирующая платформа Отправлено: ser970 от 08 Сентября 2013, 11:47:44 Не, железной схемой управления врядли можно добиться всех требований. По крайней мере запрограммировать легче и быстрее. Мы уже испробовали несколько вариантов. В чем-то лучше китайского сегвея, в чем-то хуже. Но все все равно надо совершенствовать я и не сказал что чисто железкой.выход ОУ на вход АЦП вместо кондера выход ЦАП притом функции будут разные от условий - скорости нарастания, угла наклона и прочего. одной функцией не обойтись. по тел проще объяснятся... Название: Re: Самобалансирующая платформа Отправлено: Efendy от 07 Ноября 2013, 01:48:50 Давно не писал сюда - сгорела платка управления двигателем, поэтому ничего не делал пока ждал ее почти 2 месяца. Пару дней испытаний и таки я только что добился приемлемого результата! Как и подозревал - ПИД регулятор не катит. Д-составляющая слишком реагирует на шумы, причем на те, которые сама и создает, в итоге система если и не идет в расколбас, то на двигатели подается резкоменяющийся по амплитуде сигнал, что убивает механику к черту.
В общем, от Д составляющей отказался. В последствии отказался и от П-составляющей. А все потому, что ПИД выполняет иную задачу - как можно быстрее выйти на целевое значение. А в самокате это не главное - можно долго находится в отклонении - просто будет набираться скорость. Ну и самое большое отличие в том, что внешние воздействия могут отличаться многократно - на платформу может стать человек любого веса, не говоря о том, что вообще может и не становится. В оставшейся И-составляющей меня смутило то, что когда мы движемся к целевой точке, то интегральная ошибка продолжает накапливаться. В полном ПИД ее компенсировала б Д-составляющая. Но я ее не могу использовать, потому как шумы (смотри выше), а также неизвестный вес человека, а также сила с которой он отклоняет платформу. В таком варианте система приходит в мама-не-горюй расколбас. И тут я подумал: если в процессе получены максимальное отклонение (ошибка в терминах ПИД) и величина интегральной составляющей, то промежуточные величины интегральной составляющей я могу вычислить пропорционально. Это заработало сходу. Когда подсохнет от дождя асфальт - выйду испытывать на улицу. Хотя уже подозреваю какие будут проблемы - на больших скоростях резкое изменение направления. Например, еду я такой весь в белом в перед на большой скорости, резко отклоняюсь назад. Система знает, что при таком отклонение надо изменить интегральную составляющую на столько-то единиц. Но на скорости этого мало, т.к. платформа летит по энерции, колеса еще крутятся и наклон назад получается еще больше. Итого - падение. Для решения этой проблемы, скорее всего придется снимать скорость с которой вращаются колеса (напряжение, которое мы подаем на колеса не говорят нам о скорости их вращения, вау) Название: Re: Самобалансирующая платформа Отправлено: ser970 от 07 Ноября 2013, 08:59:28 вы скорее всего используете упрощенные формулы.
в регуляторах есть интегрирующие и демпферные цепочки.+ задержка на сам управляющий элемент. Название: Re: Самобалансирующая платформа Отправлено: ser970 от 08 Ноября 2013, 01:14:15 и кстати надо кроме скорости измерять еще и массу ( от нее тоже будет зависеть инерция и угол места) .
массу можно вычислять используя силу тока при старте (учитывая угол наклона дорожного полотна (лучше наверное использовать жидкостные датчики). Название: Re: Самобалансирующая платформа Отправлено: Efendy от 08 Ноября 2013, 02:22:14 На самом деле, у меня очень большое подозрение, которое подтверждается опытным путем, что изначальная цель поставлено неверно. Я как и все пошел по неверному пути. Все считают, что цель - это привести платформу в вертикальное состояние. ПИД как раз подходит для этого - он старается максимально быстро достичь минимального отклонения. В этом-то и ошибка! В вертикальное состояние приводит человек! Собственно, как и в любое другое - наклон в любую сторону на любой угол. А цель сегвея - удержать систему в равновессии именно на том угле, на котором он оказался. Т.е. у нас нет точки, к которой мы стремимся привести систему. Вернее, она есть, но это второстепенная задача, возможно даже побочная от главной, т.е. при решении основной проблемы заработает автоматом.
После того как я добавил фильтр низких частот на выходе, система стала работать еще лучше. Я уже могу выполнять такие финты, что раньше и не снились. С другой стороны, есть проблемы выхода системы из под контроля. Думаю над вариантами решений. Название: Re: Самобалансирующая платформа Отправлено: ser970 от 08 Ноября 2013, 11:13:23 так я же об этом и говорил. регурятор должен сопротивляться любому изменению положения. чем больше изменения тем сильнее сопротивление. грубо говоря первоначально за точку отсчета принимается вертикаль. наклон в перед на 5 г . через какое то время точка отсчета станет не 0 а 4г .
+ масса тела(измерять можно только первоначально ) + скорость + уровень наклона дороги. Название: Re: Самобалансирующая платформа Отправлено: Efendy от 08 Ноября 2013, 12:31:11 Если бы было все так просто, то у нас рынок был бы заполонен дешевыми сегвеями. Масса человека играет роль, но знать ее значение недостаточно - у тебя может быть сегвей отклонен вперед, а ты в этот момент переместил центр тяжести тела назад. Что подумает сегвей? Угол положительный пока еще - нужно ебошить двигатели назад. В итоге ты еще больше сваливаешься назад. Хоть это ПИД алгоритм и попалит через несколько циклов, но будет уже поздно. Если ездить аккуратно, то пид работает почти идеально, но как только ты начинаешь вытворять финты, например резко вытянул руки и наклонил, а в это время стоишь вертикально или всем телом надавил - это разные вещи, для них компенсирующие усилия отличаются в разы.
И я повторяюсь - стремиться выставить вертикальное положение чтобы ни стало - это ошибка. Представь идеальный управлятор, который мгновенно возвращает систему в вертикальное положение. Ты бы не сдвинулся с места, поскольку чем больше ты давил бы, тем больше ощущал сопротивление, в идеале 1 к 1, как в стенку давить Название: Re: Самобалансирующая платформа Отправлено: ser970 от 08 Ноября 2013, 14:40:39 Масса человека играет роль, но знать ее значение недостаточно - у тебя может быть сегвей отклонен вперед, а ты в этот момент переместил центр тяжести тела назад. Что подумает сегвей? если изменить центр тяжести то изменится наклон - ось то одна.Ты бы не сдвинулся с места, поскольку чем больше ты давил бы, тем больше ощущал сопротивление, в идеале 1 к 1, как в стенку давить чуть не такдля отклонения на 5г нужна сила скажем в 2кг - через . отклонил на 5 кг сила сопротивления упала до 1кг через 0.5сек . теперь что бы вернуть назад надо приложить обратную силу . для изменения в пере еще на 5г нужна опять сила в 2кг . при этом ручка и еще будет опорой. кстати самобалансирующихся систем море - ну например дуло танка (ну не т34). да и автопилоты ... Название: Re: Самобалансирующая платформа Отправлено: Efendy от 01 Июня 2015, 20:05:27 Если кому интересно, то я в последние несколько дней вернулся к работе над сегвеем - можете посмотреть видос, заодно будете знать как выгляжу (вернее как выглядит моя спина):
https://www.youtube.com/watch?v=lqjJI2QUtmM |