У меня есть датчик, который считывает напряженность электромагнитного поля с каждой позиции.
И поле стабильно и уникально для каждой позиции.Таким образом, чтение - это просто функция позиции, подобной этой: reading = emf(x,y,z)
Показание состоит из 3 чисел (не позиции).
Я хочу найти обратную функцию emf
функция.Это означает, что я хочу найти функцию pos
, которая определена следующим образом: x,y,z = pos(reading)
У меня нет доступа к функциям emf
и pos
.Я думаю, что я хочу постепенно оценить функцию pos
, используя нейронную сеть.
Таким образом, у меня есть вход reading
и ускорение ax,ay,az
датчика в пространстве из IMU.Ускорение не так точно.Я хочу использовать эти 2 входа, чтобы помочь мне определить положение датчика во времени.Вы можете предположить, что начальная позиция равна 0,0,0 при первом чтении.
Короче говоря, входное значение равно reading
и ax,ay,az
на каждом временном шаге, выходное значение будет корректироваться по весам pos
функция или выход будет позиционироваться напрямую.
Я читал об алгоритме SLAM (одновременная локализация и отображение), и я думаю, что это может помочь в моем случае, потому что моя проблемавероятностный.Если я точно знаю ускорение, мне не понадобится какая-либо вероятность, но ускорение не точное.
Поэтому я хочу знать, как мне смоделировать эту проблему в терминах SLAM ?У меня нет камеры для выполнения SLAM на основе видения.
Почему я думаю, что это поддается лечению?Если первое чтение равно 1,1,1
, а позиция в начале координат 0,0,0
, и я перемещаю датчик, позиция может сместиться, поскольку датчик никогда не видел других показаний раньше, но после того, как я вернусь к исходному состоянию, показание будет1,1,1
снова, поэтому датчик должен сообщать о начале координат 0,0,0
в качестве выходных данных.Во время движения датчика алгоритм должен фильтровать ускорение так, чтобы все предыдущие позиции имели смысл.