В настоящее время я разрабатываю внутреннюю систему 2-колесного мобильного робота, используя IMU и кодировщик с микроконтроллером STM32.
Я уже сделал робота и применил метод мобильного робота 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?
Бумага или открытый исходный код не являются проблемой.
Просто дай мне вдохновение и знания в этой проблеме!
Спасибо