Android 용 동작 감지 응용 프로그램을 개발하려고합니다. 앱이 공간에서 휴대 전화의 동작을 추적하고 컴퓨터 화면에서 동작에 매핑 할 수 있어야합니다. 3 축 가속도계를 사용하고 있으며 데이터가 매우 시끄 럽기 때문에 Kalman 필터를 사용하고 있습니다.칼만 필터 및 내부 상태 변수의 품질
내부 상태는 6 성분 벡터 [속도 -x, 속도 -z, 가속 -x, 가속 -y, 가속 -z]이며 측정 된 상태는 3 성분 벡터 [accel-x, accel-y , accel-z].
필터는 측정 된 값에서 매우 잘 작동하지만 속도는 여전히 매우 시끄 럽습니다.
지금 나는 이것이 정상적인 동작 인 경우 궁금 또는 칼만 필터에 대한 이해는 매우 기본이기 때문에 내가 뭔가 잘못하고있는 중이 야. I는 (DT는 대략 센서 주사율 인 1/15이다) JKalman 라이브러리를 사용하여 상태 천이 행렬을 다음하고이중 [] [] A = { {1, 0, 0, DT, 0, 0}, {0, 1, 0, 0, dt, 0}, {0, 0, 1, 0, 0, dt}, {0, 0, 0, 1, 0, 0}, { 0, 0, 0, 0, 1, 0}, {0, 0, 0, 0, 0,1} }};
또한 테스트 데이터에서 계산 된 공분산으로 자체 공분산 행렬을 설정했습니다. 이렇게 향상된 가속도 신호는 약간 느려지지만 속도에는 영향을 미치지 않습니다.
현 I가 stdvar를 얻을 수이다
[0,0632041857 0,0607274545 0,0886326602] 속도 [X, Y, Z]
[0,0041689678 0,004423822 0 0074808552] 가속도 [x, y, z].
나는 가속 신호에 매우 만족하고 있으며 나는 그것을 훨씬 향상시킬 수 없다고 생각하지만 속도 신호의 품질을 향상시키고 싶다.
글쎄, 실제로는 꽤 잘 작동하고 있으며, 문제는 정말로 느리고 빠른 움직임 (예상대로)입니다. 나는 단지 상대적인 움직임 (그래서 그것이 왼쪽, 오른쪽, 위, 아래로 갔다는 것을 안다.)과 아마도 그것의 크기를 필요로한다. 속도 문제에 대해서는 속도 덤핑을 사용하고 있습니다. (가속도가 0 인 경우 속도가 각 시간 단계에서 1.0 미만으로 곱해 지므로 속도가 0으로 떨어집니다). 어쨌든, 소재에 대한 감사, 나는 그것을 최대한 빨리 살펴볼 것입니다, 재미있는 것 같습니다. – Andraz
@Andraz Interesting. 따라서 정확한 속도가 필요하지 않습니다. 그럼 당신이 설명하는 것은 일할 수 있습니다. 어쨌든 행운을 빌어 요! – Ali