Bauman-Racing-Team / MPCC

Model Predictive Contouring Controller (MPCC) for Autonomous Racing
Apache License 2.0
2 stars 1 forks source link

[MPCC-46] (+) Solve the limit on the number of laps #90

Closed DoneZai closed 6 months ago

DoneZai commented 7 months ago

Причина проблемы: курсовой угол автомобиля выходит за пределы допустимых значений, в результате чего решатель не может найти приемлемое решение. Это происходит из-за неправильной работы функции unwrapstate в runMPC. Это странно.

Теперь я перенес ограничение угла в функции unwrapstate в simulator и увеличил ограничение на угол. Теперь все работает нормально.

KarasevPavel commented 7 months ago

едет, но почему-то пишет dist to large примерно с 2000 итерации, надо посмотреть, из-за чего и пофиксить. такое было раньше, когда далеко от трека уезжали

DoneZai commented 6 months ago
  1. границы рысканья в границах не должны быть установлены на (-pi,pi), потому что изменения рысканья в сотне шагов, предсказываемые в каждый момент времени, могут быть только непрерывными и будут превышать этот предел.
  2. проблема ''dist too large'' должна быть вызвана суммарной ошибкой симулятора для пройденного расстояния. Я решил проблему расстояний, превышающих лимит в один круг, ограничив автомобиль поиском опорных точек только в пределах опорного трека в один круг. В ArcLengthSpline.m расстояние обновляется до ближайшей опорной точки на основе фактического положения автомобиля, так что автомобиль действительно может продолжать движение по трассе.
KarasevPavel commented 6 months ago

@DoneZai поменяй только трек обратно на FSG.mat в файле симуляции и смержим, остальное все норм

DoneZai commented 6 months ago

@DoneZai поменяй только трек обратно на FSG.mat в файле симуляции и смержим, остальное все норм

Теперь поменял.

DoneZai commented 6 months ago

Изменили unwrapInitialGuess так же, как и в C++, чтобы сделать форму более лаконичной.