Ещё есть идея брать инфу одометра и угла поворота колес с OBD-2 и пробовать предполагать интегрируя с некоторой точностью траекториюДаже если OBD-2 содержит данные об угле поворота, и даже если будете считывать их каждую миллисекунду... конкретно это - бесперспективняк. Вон, рядом ( Как скомпенсировать отклонение угла при вращении гироскопа? ) человек как раз сражается с акселерометром - так через акселерометр точность в миллиард раз выше будет. Объясняю, почему. Геометрия будет работать против вас. Когда-то давно (лет 40..50 назад) была модная забава - мотородео, автородео. Грубо говоря, на достаточной скорости по внутренней стенке циллиндра можно нарезать круги, держа колёса ровно (поворот на 0 градусов). К чему это я? А к тому, что "вертикальная дорога" - это всего лишь граничный случай; в реальной жизни при ровно выставленных колёсах машина может забирать влево или вправо, в зависимости от рельефа (3d-профиля) дороги. Ровный руль соответствует прямолинейному движению только на идеально горизонтальной дороге (так и быть, отклонением земной поверхности от сферической формы можно пренебречь в этой задаче).
но только на эти датчики рассчитывать не получится, при их интегрировании неизбежно растёт ошибка, а избавляться от неё очень трудночто мешает применять к показаниям этих датчиков те же методы, что вы описали? Погрешность исходных данных на несколько порядков лучше, чем с OBD-2. Накапливается ошибка в обоих вариантах, с OBD-2 она накапливается даже быстрее, но вы замечательно описали, как можно бороться с накоплением ошибки. Тот же метод, получая на вход более точные данные, не может дать худшие результаты.