Xan> Вообще-то считал, что это в самих машинках должно быть встроено.
Б.г.> В некоторые встроено, в некоторые нет, но, в общем и целом, на это полагаться не выходит.
Ну, у меня в планах для машинок отдельные мозги, в них можно будет некую коррекцию поведения вставить.
Б.г.> А у тебя там возвращающее воздействие от чего зависело?
Там совершенно железное (даже сильнее — математическое
) ограничение:
если выкинуть все затухания и задержки, оставить только k1 и инерцию,
то период колебаний будет
T = 2 * pi * m / k1
А сдвиг фазы на 90 градусов будет при времени
t = T / 4
И вот это время должно быть БОЛЬШЕ суммы всех задержек.
Лучше раза в два минимум. А можно и в десять.
Вот пример в некоторых попугаях про k1 и k2:
Подбор k2 по критерию "минимум суммы квадратов отклонения на единичное воздействие".
Последняя колонка — сумма квадратов = "энергия колебаний".
k1 = 050, k2 = 51.05, 35.96
k1 = 070, k2 = 49.28, 30.25
k1 = 100, k2 = 47.00, 24.81
k1 = 140, k2 = 44.61, 20.88
k1 = 200, k2 = 42.14, 18.41
k1 = 280, k2 = 39.49, 18.19
k1 = 400, k2 = 36.60, 23.56
k1 = 600 — незатухающие колебания
Видно, что даже если k1 на порядок меньше предельного, то колебания получаются не сильно больше.
Колебания становятся более растянутыми, а амплитуда растёт слабо.
Так что в сторону уменьшения жёсткости запас большой.
Б.г.> А у меня SPI занят сейчас бОльшую часть времени...
Вроде, в МК это делается железом. Без расхода процессора.
Б.г.> У интегрирования - 256 Гц, а у рулевых машин - 51,2 Гц.
У меня L3G4200D, там предполагаю использовать скорость и полосу такие: DR = 200 и BW = 70, с усреднением двух отсчётов. Или DR = 400 и BW = 110 с усреднением четырёх.
Так что частота кадров для программы получается 100 Гц.
Меньшую частоту кадров компенсирую меньшим k1.