2012-02-10 4 views
6

Android 용 동작 감지 응용 프로그램을 개발하려고합니다. 앱이 공간에서 휴대 전화의 동작을 추적하고 컴퓨터 화면에서 동작에 매핑 할 수 있어야합니다. 3 축 가속도계를 사용하고 있으며 데이터가 매우 시끄 럽기 때문에 Kalman 필터를 사용하고 있습니다.칼만 필터 및 내부 상태 변수의 품질

내부 상태는 6 성분 벡터 [속도 -x, 속도 -z, 가속 -x, 가속 -y, 가속 -z]이며 측정 된 상태는 3 성분 벡터 [accel-x, accel-y , accel-z].

필터는 측정 된 값에서 매우 잘 작동하지만 속도는 여전히 매우 시끄 럽습니다.

Plotted values

지금 나는 이것이 정상적인 동작 인 경우 궁금 또는 칼만 필터에 대한 이해는 매우 기본이기 때문에 내가 뭔가 잘못하고있는 중이 야. 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].

나는 가속 신호에 매우 만족하고 있으며 나는 그것을 훨씬 향상시킬 수 없다고 생각하지만 속도 신호의 품질을 향상시키고 싶다.

답변

3

Won't work.

은 아무리 당신이 무엇을, 속도는 초 extemely 부정확가되지 않습니다. 위의 링크에서의 답은 위치에 관한 것이지만 속도는 동일합니다. 칼만 필터에 관해서도 here.

당신은 속도를 얻거나 (해당되는 경우) 앱에서 휴대 전화의 방향을 사용하고 속도를 포기해야합니다.

+0

글쎄, 실제로는 꽤 잘 작동하고 있으며, 문제는 정말로 느리고 빠른 움직임 (예상대로)입니다. 나는 단지 상대적인 움직임 (그래서 그것이 왼쪽, 오른쪽, 위, 아래로 갔다는 것을 안다.)과 아마도 그것의 크기를 필요로한다. 속도 문제에 대해서는 속도 덤핑을 사용하고 있습니다. (가속도가 0 인 경우 속도가 각 시간 단계에서 1.0 미만으로 곱해 지므로 속도가 0으로 떨어집니다). 어쨌든, 소재에 대한 감사, 나는 그것을 최대한 빨리 살펴볼 것입니다, 재미있는 것 같습니다. – Andraz

+0

@Andraz Interesting. 따라서 정확한 속도가 필요하지 않습니다. 그럼 당신이 설명하는 것은 일할 수 있습니다. 어쨌든 행운을 빌어 요! – Ali

2

위키피디아에서 읽은 것 외에는 칼만 필터에 대해 많이 알지 못하지만 부적절한 방식으로 칼만 필터를 적용하려고한다고합니다.

stdvars는 만을 나타내야합니다. 잡음이 들지만, 나는 그것이 당신이 계산 한 것임을 의심합니다. 하지만 더 근본적으로, 나는 당신이 입력 데이터가 부족하다고 생각한다 : 칼만 필터는 이 많을 때 사용된다. 다른 입력, . 가속도계 + GPS.

칼만 (Kalman)이나 다른 어떤 것들을 사용하면 시끄러운 가속도계 입력을 읽을 수없고 어떻게 든 부드럽고 정확한 궤적을 얻을 수없는 것처럼 보입니다. 가속도계 데이터를 일종의 시간 평균화하면 언제나 부드러운 궤적을 얻을 수 있지만 궤적은 실제 궤적과 다를 수 있습니다. (시간 평균화를 시도하려면 예를 들어, a_smooth {i} = 0.6 a {i} + 0.3 a {i-1} + 0.1 a {i-2})

그리고 더 큰 것이 있습니다. 가속도계의 정밀도가 매우 좋지 않은 문제와 @Ali의 답변과 같이 위치 추적을 유지하는 것이 좋습니다.

편집 : 나는 그러나 사람들은 당신이 원하는 것을 분명히 아니다 일정 가속와 모델에 사용되는 칼만 필터했다, 당신과 비슷한 방정식이 웹에 일부 참조를 발견했다.