Относительное положение с помощью акселерометра
У меня есть простой сценарий:
Два IoT-устройства Arduino Nano 33 начали случайным образом перемещаться из одного и того же источника (точка = [X0, Y0, Z0]);
Можно ли использовать координаты, полученные от акселерометра каждого устройства, чтобы получить евклидово расстояние между ними?
Другими словами, надежна ли относительная координата/положение, полученная от акселерометра?
Потому что я читал, что получение относительного положения каждый раз требует двойного интегрирования, что со временем приводит к большой накопленной ошибке. Хотя я могу ошибаться.
Мы очень ценим вашу помощь.
@Mike, 👍0
1 ответ
Лучший ответ:
То, что вы слышали (о двойном интегрировании и накоплении ошибок), верно. Математически это можно сделать, интегрируя ускорение каждого устройства, чтобы получить его текущую скорость, и интегрируя скорость, чтобы получить его текущее положение, а затем взяв разность векторов в их положениях, чтобы получить расстояние между ними.
Если бы у вас были высокоточные акселерометры в среде с очень низким уровнем шума (как механических, так и электрических), вы могли бы делать это в течение (короткого) времени до того, как возникнут неизбежные крошечные ошибки (которые также интегрированы!) начинают доминировать над данными и делают результаты бесполезными. Но с практической точки зрения — особенно для нас, экспериментаторов, использующих недорогое оборудование и подверженных большому количеству механических и электрических шумов на экспериментальной платформе, а также электрических шумов окружающей среды — это произойдет еще быстрее.
- Arduino Nano IOT LSM6DS3 получить угол гироскопа в градусах
- Правильный способ получить значения крена, тангажа и перемещения
- Самый точный способ измерения линейного расстояния, пройденного колесом
- Определение направления по данным акселерометра IMU
- Как использовать 3-осевой линейный акселерометр H3LIS331DL с arduino для обнаружения резкого торможения автомобиля
- MPU6050 Проблема с NodeMCU
- Получить данные от одного ИДУ и Arduino одновременно используя связь I2c
- avrdude ser_open() can't set com-state
Спасибо за такой уровень детализации, Роберт., @Mike