6

Tôi đang sử dụng điện thoại thông minh LG Optimus 2x (cảm biến con quay hồi chuyển và gia tốc kế) để định vị.Độ lệch cảm biến Gyro và Ước lượng góc chính xác

Tôi muốn có các góc quay chính xác từ con quay hồi chuyển có thể được sử dụng sau này để chuyển đổi tọa độ cơ thể sang trái đất. Câu hỏi của tôi là

Tôi có thể đo và loại bỏ độ trôi trong cảm biến con quay hồi chuyển.

Một cách là lấy trung bình các mẫu gyro (khi điện thoại di động ở trong điều kiện tĩnh) trong một khoảng thời gian và trừ khỏi mẫu hiện tại, không phải là cách tốt.

Khi điện thoại di động đang quay/chuyển động làm thế nào để có được góc độ trôi miễn phí?

Trả lời

1

Con quay hồi chuyển cơ bản trôi qua các khoảng thời gian dài. Trong khi gia tốc kế không có trôi dạt nhưng có xu hướng không ổn định. Bằng cách kết hợp thông tin từ cả hai cảm biến bằng bộ lọc Kalman, bạn có thể có được một thái độ chính xác. Đối với một số ít phức tạp hơn, bạn cũng có thể sử dụng một bộ lọc bổ sung.

Xem bài đăng này để biết thêm: Combine Gyroscope and Accelerometer Data

2

Theo như tôi biết, một trong hai bộ lọc Kalman hoặc một cái gì đó tương tự được thực hiện trong SensorManager. Hãy xem Sensor Fusion on Android Devices: A Revolution in Motion Processing.

Bạn đang cố giải quyết sự cố đã được giải quyết.

+0

Tôi không nghĩ rằng Bộ lọc kalman thực sự được triển khai trong Trình quản lý cảm biến. bạn có thể xem nguồn tại http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android/2.3.4_r1/android/hardware/SensorManager.java#SensorManager liên quan đến Navigator – Navigator

+0

Khi tôi nhìn vào mã nguồn, nó trông giống như một bộ lọc Kalman với tôi, nhưng có lẽ tôi đã bị lừa.Nhưng ở mức nào, hệ điều hành Android hiện đại sử dụng Sensor Fusion. OP nên nhìn vào cảm biến GRAVITY thay vì cảm biến ACCELEROMETER. Cảm biến GRAVITY là cảm biến ảo được tạo ra bằng cách kết hợp gia tốc kế và con quay hồi chuyển. Về cơ bản nó là cảm biến gia tốc tuyến tính với các hiệu ứng chuyển động được lọc ra. –

2

Tôi là tác giả của ứng dụng la bàn tích hợp dữ liệu từ cảm biến từ và con quay hồi chuyển (steady compass). Tôi đã thử nghiệm ứng dụng này chủ yếu trên một chiếc LG Optimus màu đen (thiết bị mà bạn có thể xem trên video) chạy Android 2.2, vì vậy tôi sẽ chia sẻ kinh nghiệm của mình:

  • Đọc con quay hồi chuyển rất chính xác. Cảm biến này chỉ là đối diện với cảm biến gia tốc và từ tính cho phép đọc với rất nhiều jitter.
  • Các chỉ số từ con quay hồi chuyển (tức là tốc độ góc) không trôi dạt chút nào. Bạn sẽ có một sự trôi dạt trong việc ước lượng định hướng nếu bạn chỉ tích hợp các phép đo con quay hồi chuyển. Vì bạn đang tích hợp các mẫu trong các thời điểm khác nhau, bạn sẽ chỉ có được một cách tiếp cận sẽ làm suy giảm sau mỗi bước tích hợp.
  • Để tránh sự trôi dạt trong ước tính định hướng, bạn phải xem xét các nguồn đầu vào khác để sửa kết quả đến từ tích hợp dữ liệu con quay hồi chuyển. Giải pháp là sự tích hợp dữ liệu đến từ cảm biến định hướng (từ + gia tốc) và dữ liệu đến từ con quay hồi chuyển.

Hãy cẩn thận với điện thoại LG: Theo API Android, con quay hồi chuyển sẽ trả về dữ liệu bằng rad/s. LG Optimus Black với Froyo cho phép đọc ở độ/s. Bản cập nhật cho Android 2.3 vừa được phát hành cho điện thoại đó. Tôi phải kiểm tra xem phiên bản mới có hoạt động theo các thông số kỹ thuật hay không.

Điện thoại của bạn có phiên bản Android nào? Bạn đã thử nghiệm bất kỳ ứng dụng nào bằng con quay hồi chuyển chưa? Bạn có nhận được kết quả mong đợi không?

+0

Hi jap1968, tôi đang sử dụng cùng một Optimus LG 2x. Ban đầu đã có android 2.2 và tôi nhận thấy quan sát tương tự rằng không có trôi dạt trong tín hiệu con quay hồi chuyển nhưng chỉ do rung động và giật và trôi dạt do hội nhập. Khi tôi nâng cấp lên android 2.3.4, tôi nhận thấy hai thứ, giá trị con quay hồi chuyển đầu tiên là rad/sec và thứ hai bây giờ con quay hồi chuyển có giá trị bù trừ ngay cả khi điện thoại di động ở trạng thái nghỉ, trước đó trong tín hiệu Gyro phiên bản Froyo 2.2 gần như bằng không và không bù đắp. Bạn có quan sát điều tương tự không? plz bình luận nếu u tested.regards Navigator – Navigator

+0

Các nhà cung cấp địa phương (Orange Tây Ban Nha) đã không phát hành nâng cấp, do đó, Optimus Black được sử dụng để kiểm tra vẫn chạy trên Android 2.2. Tôi cũng đã thử nghiệm la bàn trên các thiết bị khác có con quay hồi chuyển: Máy tính bảng chạy Android 3.1 và 3.2, cũng như Samsung Galaxy S II chạy Android 2.3.x. Trong một số thiết bị con quay hồi chuyển thực sự rất chính xác trong khi ở những người khác cho thấy số đọc thậm chí không gần bằng không với thiết bị không di chuyển chút nào. Kết quả: một số người dùng cho ứng dụng 5 sao do hành vi tốt đẹp trong khi những người khác cho một ngôi sao do hành vi xấu. – jap1968

Các vấn đề liên quan