Каков наиболее точный метод оценки положения (расчетное положение) с использованием только IMU и Encoder в системе внутреннего робота?
В настоящее время я разрабатываю внутреннюю систему 2-Wheel Mobile Robot, используя IMU и Encoder с STM32 MCU. Я уже сделал робота и применил метод мобильного робота 2-Wheel, используя кодировщик и IMU. этот хорошо известный метод использует линейную скорость и угловую скорость.
x_t+1 = x_t + delta_t * Velocity * cos(theta)
y_t+1 = y_t + delta_t * Velocity * sin(theta)
theta_t+1 = (delta_t * Velocity * sin(theta)) / Wheel_Seperation.
А также я могу получить данные датчика гироскопа и акселерометра, используя IMU.
В результате я могу оценить положение в помещении, но я знаю, что оно не было точным из-за какой-то проблемы, такой как пробуксовка и дрейф гиросенсора, и некоторых ошибок.
Кроме того, я знаю, что если я хочу получить более точный результат, я использую камеру или датчик Lidar или другие хорошие датчики для своей цели. но это было действительно дорого, чем другие датчики. Поэтому я использую только IMU и кодировщик (потому что эти датчики стоят недорого).
И я пытаюсь какой-то метод для повышения точности оценки.
1. Когда я оцениваю ориентацию с помощью гироскопа, я вычисляю гироскопические данные, когда данные энкодера появляются из-за накопления ошибки гироскопических данных.
2. применение некоторого алгоритма дрейфа погрешности гироскопа, называемого алгоритмом HDR(эвристическое уменьшение дрейфа).
Точность оценки положения немного улучшается, когда я применяю этот метод, но он также допускает ошибки и не дает точной оценки положения.
(Я знаю, что не могу получить точное положение, используя только IMU и Encoder. Я также знаю, что скоро буду использовать камеру или датчик Lidar, но я хочу сделать все возможное для улучшения положения.)
И я застрял в своей проблеме, поэтому я приехал сюда, чтобы получить некоторые рекомендации по улучшению положения в крытой системе, использующей только IMU и Encoder.
Какова последняя или точная оценка положения робота в помещении с использованием только IMU и Encoder? Бумага или открытый исходный код не являются проблемой. Просто дай мне вдохновение и знания в этой проблеме! Спасибо