Виталий писал(а):Очередь... А вот интересно, зачем она?
Затем чтобы можно было сложный маневр провести без остановки и не ловить при этом момент головным контроллером, когда надо перейти к следующему элементу движения.
Добавлено спустя 12 минут 37 секунд:2vintch: Ты окончательно взорвал мой мозг. Я не понял как планировать движение твоим способом. Если у меня левое колесо прошло 10м и правое 10м - из этого невозможно точно определить где я сейчас, из этого можно только определить куда я сейчас повернут и отрезок в пространстве где я могу находится. И что за многовариантность пакетов тоже не понял, если ты считаешь что какой-то пакет может быть избыточен - ок, тогда напиши самый избыточный пакет и формулы как будет зависеть пройденное расстояние каждым колесом с начала маневра, скорость каждого колеса в каждый момент времени и продолжительность маневра от параметров твоей команды.
Моя команда (Ls,Rs,Lf,Rf,T);
Время выполнения команды: T
В момент времени t из отрезка [0,T] скорости левого и правого колёс speedL(t)=(Lf-Ls)*t/T+Ls и speedR(t)=(Rf-Rs)*t/T+Rs соответственно. Аналогично - расстояния пройденные колесами с начала маневра: distL(t)=t*Ls+t*t*(Lf-Ls)/2/T и distR(t)=t*Rs+t*t*(Rf-Rs)/2/T.
А у тебя как?