2016-06-28 2 views
0

나는 3 축 가속도계 (X, Y, Z : Y가 위쪽 벡터)의 가속 값을 제공하는 보드를 가지고 있습니다. 나는 XZ 평면에서 가속 방향을 얻고 싶다. 그러나 보드는 기울어 져 장착 될 수 있습니다. 기울기를 보완 할 수 있습니까? 어떻게해야합니까? 나는 어떤 힌트를 주셔서 감사합니다. 누군가가 나를 올바른 방향으로 인도 할 수 있다면 좋을 것입니다.3 축 가속도계 경사 보상

+1

간단한 trig : 기울이기를 탑재하면 가속 방향과 직각이 아닌 축에서 가속을 얻습니다. –

+0

3 개의 가속도계 결과 중 "충분히 길다"평균을 구하는 경우, 9.8m/s의 "하향"벡터가 있어야합니다 (기본적으로 아래를 제외한 모든 방향에서 평균 가속도가 0이어야합니다). "순간적"결과 (아마 노이즈를 걸러 내기에 충분한 "짧은"평균)에서 "down"을 뺀 다음 나머지를 회전하여 "down"의 단위 벡터에 맞춰야합니다. 그게 "진정한"가속을 제공해야합니다. 저는 이것을 답으로 쓰겠습니다.하지만 회전 부분은 약간의 수학적 회상을 넘어서는 것이지만, 여러분이 움직일 수있는 아이디어가 있기를 바랍니다. –

+0

@RussSchultz 정말 문제가있는 솔루션처럼 들립니다. 나는 그러한 "적응력있는"시스템에 대한 접근법을 게시했지만 너무 복잡 할 것이라고 생각한다. 그리고 당연히 당신은 "아주 오래가는 이동 평균"을 수행 할 수 없습니다. 이것은 아주 순진한 디지털 필터입니다. 평균 계산은 전혀 의미가 없습니다. 물론 유스 케이스에 따라 다르지만 가속도계가 대부분 "쉬고있는"경우에도 이동 평균을 수행해야하는 이유는 없습니다. 우선, 1G에 근접하지 않은 모든 샘플을 필터링 할 수 있습니다. – Lundin

답변

1

모든 가속도계 제품을 보정해야 정상적으로 아래 방향을 알 수 있습니다. 보정에 따라 중력 구성 요소와 관련하여 참 (x, y, z) 좌표를 얻습니다. 각 가속도계 판독 값에서 보정 값을 더하고/빼야합니다.

또한 (전문적으로 덜 전문적으로), 1G +/- 여백의 총 가속이있을 때마다 (x, y, z) 좌표를 연속적으로 절약하는 일종의 적응 형 시스템을 만들 수 있습니다. 그런 다음 정렬 된 샘플에 중간 값 필터를 적용 할 수 있습니다. 그러면 중력 구성 요소에 해당하는 (x, y, z)의 실제 좌표를 얻을 수 있습니다. 이것을 안정적으로 유지하려면 프로그램을 시간에 따라 학습하고 가능성있는 좌표를 NVM에 저장하기 위해 일종의 인공 지능을 구현해야합니다. 그렇지 않으면 모든 방향에서 총 가속도가 1G 인 유스 케이스를 얻을 때마다 프로그램이 항상 실패합니다.

+0

이 답변은 저에게 유용합니다. 그것은 내가 원래의 문제를 이해하지 못했음을 나타내며, 그래서 나는 더 생각해야 할 것입니다. 어쨌든 고마워. – peq