2013-07-10 61 views
18

Sau khi đọc nhiều nghiên cứu và bài báo bên cạnh nhiều diễn đàn về cách đo khoảng cách dựa trên dữ liệu gia tốc Tôi tìm thấy phương pháp tích hợp kép, nhưng lỗi liên quan đến phương pháp này là lớn và tăng theo thời gian. Ngoài ra tôi tìm thấy một số người đề nghị bộ lọc Kalman tôi đọc một số tài liệu tham khảo về nó, nhưng nó không rõ ràng với tôi làm thế nào để sử dụng nó. cũng có một số người đang nói về các cảm biến nhiệt hạch ... nhưng sau khi đọc chúng tôi không nhận được bất kỳ ý tưởng mới nào. vì vậy tôi vẫn còn bối rối và tôi không tìm thấy câu trả lời đúng để làm theo .... xin lỗi vì phần giới thiệu dài này.tính khoảng cách bằng cách sử dụng gia tốc


Câu hỏi

Chúng ta hãy xem xét mà tôi giữ cảm biến 9 trục trong tay tôi và tôi di chuyển bàn tay của tôi trong một số định hướng, làm thế nào tôi có thể tìm ra vị trí mới của bàn tay của tôi trong không gian? làm thế nào để có được vector chuyển động từ điểm ban đầu đến điểm mới, tôi có nghĩa là làm thế nào để biết khoảng cách truyền qua trên ba trục?

Nếu không có câu trả lời trực tiếp ... một số lời khuyên hoặc tham khảo sẽ là tuyệt vời hoặc một số thuật toán đưa ra câu trả lời chính xác và tôi có thể tự học và sử dụng nó. thank you very much

+0

bạn về cơ bản đã trả lời câu hỏi của riêng bạn: "tôi thấy phương pháp lồng ghép đôi, nhưng các lỗi liên quan đến phương pháp này là lớn và tăng theo thời gian." Lỗi phát triển nhanh đến nỗi phương pháp này vô dụng. – Ali

+0

bản sao có thể có của [Hệ thống định vị trong nhà dựa trên con quay hồi chuyển và gia tốc kế] (http://stackoverflow.com/questions/7499959/indoor-positioning-system-based-on-gyroscope-and-accelerometer) – Ali

+0

Nó vẫn là một trường hoạt động của nghiên cứu vì vậy tôi sẽ nói rằng nó thực sự là khó khăn. – Korchkidu

Trả lời

3

Nếu không xem xét luân chuyển:

Hãy xem xét rằng tại thời điểm t=t0 bạn đang ở vị trí [ x0 , y0 , z0 ] và một véc tơ vận tốc của [ vx0 , vy0 , vz0 ].

Tại t=t1 bạn đọc một vector tăng tốc [ ax1 , ay1 , az1 ] (Gia tốc trung bình từ t0t1).

Sau đó, vectơ vận tốc tại t=t1 sẽ là:

[ vx1 , vy1 , vz1 ] = [ vx0 + ax1 * (t1 - t0) , vy0 + ay1 * (t1 - t0) , vz0 + az1 * (t1 - t0) ] 

Tốc độ trung bình giữa t0t1 sẽ

[ vx01 , vy01 , vz01 ] = [ (vx0 + vx1)/2 , (vy0 + vy1)/2 , (vz0 + vz1)/2 ] 

Và vị trí tại t=t1 sẽ là:

[ x1 , y1 , z1 ] = [x0 + vx01 * (t1 - t0), y0 + vy01 * (t1 - t0), y0 + vy01 * (t1 - t0) ] 

Như bạn có thể thấy, lỗi lan truyền với t^2, vì vậy đó là lý do tại sao các hệ thống quán tính cần phải được bù đắp bởi một tham chiếu bên ngoài như một GPS.

15

Câu trả lời ngắn cho câu hỏi của bạn là bạn không thể làm điều đó.

Phương pháp tích hợp kép thực sự là cách duy nhất để lấy thông tin bạn đang tìm kiếm chỉ sử dụng gia tốc kế. Bạn đã tìm thấy sự cố với phương pháp này. Lỗi tăng theo thời gian và nói chung không đưa ra độ chính xác mà nhiều người đang tìm kiếm.

Lọc Kalman thường yêu cầu 2 thiết bị và về cơ bản tận dụng tối đa cả thiết bị lẫn bộ lọc. Xem ví dụ bên dưới.

Lọc Kalman là một chủ đề thực sự khó khăn mà tôi đã cố gắng đi sâu vào thiết kế cao cấp, nhưng không bao giờ tìm thấy bất kỳ kết quả có ý nghĩa nào với thử nghiệm giới hạn của mình. Một nơi tuyệt vời để bắt đầu hiểu chủ đề này là với số youtube video series này.

Đây là người đã giành được thách thức DARPA với Stanford và giải thích chủ đề theo cách dễ hiểu. Toàn bộ khóa học là một loạt video 6 đơn vị về robot lập trình để di chuyển và hiểu vị trí của chúng trong một môi trường không xác định. Đáng xem nếu bạn có thời gian và sự quan tâm.

Có vẻ như bạn đang cố gắng làm điều gì đó tương tự như những gì tôi đã làm cho thiết kế cao cấp trong việc cung cấp thông tin vị trí tương đối thực sự cụ thể.

Một bộ lọc Kalman tuyệt vời khác read this (nếu liên kết này không hoạt động với bộ lọc cân bằng bộ lọc Kalman của Google và nhấp vào liên kết blog TKJ). Về cơ bản, anh chàng này sử dụng gia tốc kế và con quay hồi chuyển để theo dõi định hướng trong thế giới thực.

Một cái gì đó khác để xem xét wiki Thời gian thực Kinematic. Điều này đi vào máy kéo và kết hợp để cung cấp thông tin vị trí thực sự chính xác. John Deere bán một hệ thống, nhưng nó giống như $ 20,000. Đây là phiên bản của người nghèo sử dụng GPS and beagleboard

4

Bằng một cảm biến 9-Axis Tôi giả định rằng có nghĩa là:

  • 3-trục con quay hồi chuyển (các biện pháp tỷ lệ quay)
  • 3 trục gia tốc kế (các biện pháp tăng tốc)
  • 3-trục từ kế (các biện pháp tiêu đề)

Bắt một ước tính vị trí thực tế từ loại cảm biến 9 trục là không thể không sử dụng một cảm biến t mũ sử dụng tham chiếu bên ngoài chẳng hạn như GPS. Về mặt lý thuyết, nếu bạn biết sự gia tốc của vật thể trong không gian và vị trí ban đầu và vận tốc, bạn sẽ có thể tính toán đối tượng vị trí mới bằng cách truyền thông tin về khả năng tăng tốc và vận tốc của nó trở lại vị trí ban đầu (tức là tích hợp tăng tốc hai lần). Lý do là không thể thực hành được là gia tốc kế có nhiễu. Tiếng ồn này sẽ có giá trị khác 0, vì vậy khi tích hợp tín hiệu gia tốc, nhiễu trung bình khác không được thêm vào và tích lũy trong tín hiệu vận tốc kết quả. Điều này được coi là cảm biến trôi dạt. Ước tính vận tốc bắt đầu khá chính xác nhưng nhanh chóng trôi đi do tiếng ồn tích lũy này. Việc tích hợp lần thứ hai để có được vị trí chỉ làm trầm trọng thêm tình hình bằng cách lặp lại quy trình.

Bằng cách sử dụng tham chiếu bên ngoài như GPS, bộ lọc Kalman có thể được sử dụng để kết hợp tín hiệu GPS cập nhật chậm và tín hiệu tăng tốc cập nhật nhanh với nhau để tạo ước tính đáng tin cậy về vị trí. GPS có tác dụng zeroing trôi mà sẽ được tích lũy bằng cách thực hiện tích hợp trên tín hiệu tăng tốc.

Tôi khuyên bạn nên xem video trên Udacity mà Khamey đề xuất. Khi học bộ lọc Kalman, nó sẽ giúp bạn có được một cái nhìn tổng quát rõ ràng về mục đích của nó và bộ lọc kalman đang làm gì. Sau đó, các phép toán và các bước thực tế của thuật toán sẽ dễ hiểu hơn nhiều. Một điều hữu ích khác khi học bộ lọc Kalman là làm cho nó cho một biến trạng thái tại một thời điểm thay vì một vector toàn bộ trạng thái. Điều này chỉ giúp tập trung sự chú ý của bạn vào những gì bộ lọc Kalman đang thực sự làm để bạn không bị lún xuống bởi đại số ma trận.

0

Nếu có bản đồ cơ sở và bạn được đảm bảo rằng cảm biến đang di chuyển dọc theo một con đường đã biết (chẳng hạn như đường), bạn có thể sử dụng bản đồ cơ sở để sửa các số đọc ồn.Xem Jun Han, Emmanuel Owusu, Thanh-Lê Nguyễn, Adrian Perrig, và Joy Zhang "Hoàn thành: Suy luận vị trí sử dụng Accelerometers trên điện thoại thông minh" Trong Kỷ yếu Hội nghị quốc tế lần thứ 4 về các hệ thống và mạng truyền thông (COMSNETS 2012), Bangalore, Ấn Độ, tháng 1 3-7, 2012.

http://www.netsec.ethz.ch/publications/papers/han_ACComplice_comsnets12.pdf

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