Я ещё и летаю. Но оно же медленно будет сбрасывать скорость. Почему я и хочу сделать таблицу для всех значений отклонения. Я даже задавал ребятам самодельщики а как вы синхронизируете первый и второй моторы? Никак и нормально их ответ. Учитывая что основная работа на земле я с ними согласился.
ну при такой реализации они руками всё синхронизируют, что на мальх скоростях вполне допустимо. Тогда управление логичнее сделать двумя рычагами: для левой и правой стороны. Можно даже сделать гидростопоры в рычаги, чтобы нельзя было реверс воткнуть, пока есть давление в контуре форвард-мотора.
Хочу как в самолёте сайдстик. Ну и интересно создать именно так. После испытаний с левой стороны ещё один джойстик будет. Управление стрелой наклоном ковша. А с правой стороны на джойстике 4 позиционный переключатель управления ковшом и поворотом стрелы экскаватора. Правда четырех позиционник на пропорциональный а исполнительный механизм пропорциональный. Ну можно просто переключать сигнал джойстика на другую Ардуино и можно в принципе его использовать как управление ковшом и поворотом стрелы. Но это уже следующий этап. Если хорошо пойму Ардуино сделаю ещё климат контроль. Печка с кондиционером уже стоят. Но сначала думал так переключать просто режимы. Но с Ардуино интересней. Но это уже третий этап.
с завистью слежу за темой, главное срач опять не начните, господа, умоляю!
Приведу пример вам. Чтобы было проще, условимся ширина трактора 2м, радиус колеса 1м.
Предположим, трактор едет со скоростью 75.4 метра в минуту. Угловая скорость колес сейчас 75.4 / (2 * Pi * 1) = 12 оборотов в минуту.
Вы хотите начать ехать против часовой стрелки по кругу с радиусом 12 метров (поворот налево), сохранив при этом скорость. Радиус такого круга будет 2 * Pi * 12 = 75.4 метра.
То есть круг вы должны проехать ровно за одну минуту (специально такую скорость выбрал, да).
Если бы в центре трактора было колесо, то оно сделало бы те же 12 оборотов за минуту, но колес у нас два, и находятся они по краям.
Левое колесо удалено от центра поворота на 12 - 2 / 2 = 11 метров, и должно за минуту проделать путь SL = 2 * Pi * 11 = 69.1 метра.
Правое колесо удалено от центра поворота на 12 + 2 / 2 = 13 метров, и должно за минуту проделать путь SL = 2 * Pi * 13 = 81.6 метра.
Необходимые угловые скорости колес:
(2 * Pi * 11) / (2 * Pi * 1) = 11 оборотов в минуту для левого колеса
(2 * Pi * 13) / (2 * Pi * 1) = 13 оборотов в минуту для правого колеса
Кстати уже здесь можно заметить, что 2 * Pi сокращается, и угловые скорости колес зависят только от радиусов дуг, которые они проходят в повороте, и радиусов самих колес.
И вот у вас для движения по прямой со скоростью 75.4 метра в минуту требовалась угловая скорость 12 оборотов в минуту, а для движения по дуге 11 оборотов в минуту для левого колеса и 13 оборотов в минуту для правого колеса. Можно также заметить пропорциональность отличия скорости вращения внутреннего и внешнего колеса от исходной.
Короче, чтобы при повороте не было торможения, которое может оказаться довольно интенсивным, вам необходимо, чтобы внутреннее колесо замедлялось, а внешнее разгонялось.
эта проблема решается установкой дифференциала
у него на левой и правой полуоси отдельные моторы и танковый разворот в планах
централизовать источник тяги, раздатка, два моста, управояемые блокировки и алга?
человек уже определился с силовой и построил прототип…
тогда квадратичная зависимость нужна )))
PS для более менее агрессивного стиля вождения
ну тогда надо не джойстик хотеть, а как у трактора гусеничного или типа того)
Если бы этот проект делал я, то алгоритм движения с поворотами был бы примерно следующий:
- Читаем показания осей джойстика и датчиков угловой скорости колес
- Нормализуем показания джойстика
- Вычисляем текущую скорость движения: если угловые скорости равны то просто по формуле длины окружности с радиусом = радиусу колеса. Если угловые скорости разные то вычисляем по среднему арифметическому, а также определяем текущий радиус поворота.
- По полученным с джойстика значениям вычисляем требуемые скорость движения и радиус поворота. При этом радиус поворота можно вычислять в пределах динамически изменяемого минимального радиуса, зависящего от текущей скорости: чем выше скорость тем минимальный радиус должен быть больше, чтобы не опрокинуться на скорости.
- Сравниваем требуемые параметры угловых скоростей с реальными и вносим корректировки в управление клапанами, тут крайне желательно использовать PID или скорее PD регулятор
- loop() закончился, новый начинается с шага 1
В п.5 нужно еще проверять направление движения и направление ручки по оси “вперед-назад”, если они не совпадают то вместо ускорения или поддержания скорости надо тормозить - наверняка это захочется делать с другими коэффициентами PD регулятора. Либо придумать альтернативное условие и принципы торможения, тут есть варианты.
Когда потребуется реализация танкового разворота, после п.3 вставляем проверку: если скорость нулевая, то тогда, и только тогда можно использовать показания оси Z джойстика, и вместо начала поступательного движения (вместо шагов 4 и 5) выполнять алгоритм танкового разворота.
Больше не будем. ![]()
Даже не знаю что сказать. Все это правильно, но я не заморачивался с радиусом. Я взял за основу боькат у него вообще передний и задний колеса с одной стороны соединены шестернями. Опять же по совету самодельшиков проще и дешевле поставить на каждое колесо двигатель. Теперь я с ними согласен. Ведь соединить два колеса с одной стороны цепь это или шестерня или кардан … Это не такая простая задача. И еще не понятно что дешевле на каждое колесо мотор и шланги. Да вопрос синхронизации остаётся, но жидкость не сжимаема поэтому есть надежда что разница оборотов будет минимальной. В отношении дифференциальной зависимости это ни в одном таком тракторе вообще не рассматривается. То есть в данном случае износ матчасти не столь первостепенный. Другое дело комфорт и удобство. Цель создания этой игрушки в первую очередь проводить время с удовольствием на своей земле. То есть превращать абсолютно не приятную работу в удовольствие. Кому нравится весь день с лопатой по палящем солнцем работать? Другое дело с кондиционером музыкой в удобном кресле управлять джойстиком. Я с радостью этим займусь. Я просчитывал органомику внутри кабины. После этого я сел в Бобкат. Честно скажу мне не понравилось. Тесно как селёдка в бочке. Скачал варианты органомики кресла. Они делятся на самолёт самое лежачее положение. Легковой автомобиль. Грузовой автомобиль и трактор. В общем решил остановиться на грузовом авто. Но кресло приобрел от Тойота Кроун (для удобства). С этой же целью кабина на пружинах и амортизаторах . Я где-то слышал что у ребят гонщиков грузовиков проблемы с позвоночником. Поэтому пускай кабина плавает. Это не для работы, а больше для удовольствия. Но с пользой. Ну и раз такая возня. Надо сделать по максимуму и в управлении. С той логикой что я описал ранее. Я могу подъехать, довернуть в любую точку хоть задом хоть передом плюс с минимальной скоростью. Сначала думал может крайнее положение влево или вправо чтобы трактор начинал вращение но получается при изменении движения вперёд или назад там резко переменные нагрузки. Поэтому принял решение задействовать ещё и третий потенциометр. К тому же он есть
И в заключении всего сказанного рычагами проще сделать. А управлять приятней джойстиком поэтому джойстик
это кстати никак трагически на мат. модель не влияет в данном случае
Ну да в принципе тоже самое. Единственное здесь на каждое колесо напряжение нужно колибровать. А так анологично. По поводу износа матчасти я имел ввиду износ резины в первую очередь если по асфальту, а во вторую боковые нагрузки при вращении в одну или другую сторону.
Вернусь к составлению таблицы значений.
Я думаю 50 значений многовато. Даже 25.
То есть если мы имеем максимальную скорость 20км/ч. То при 10 разных значения она будет меняться на 2 км/ ч каждое. А если ещё сделать что при малых скоростях изменения 0.5 км/ч а при больших 3 или 4 то я думаю рывков сильных быть не должно. Или все таки сделать аккуратно просчитать каждое положение. Обеспечим плавность. Опять если сделать таблицу 100 на100 значений и в каждом две переменные. Памяти Ардуино хватит?
Вот ну зачем вам таблица? У вас с джойстиком, хоть вы и не ответили на вопрос про линейность показаний датчика холла, вроде всё понятно.
А насчет управления клапанами что? Вы с помощью analogWrite собираетесь выдавать ШИМ на клапана?


