Gia tốc kế trong robot tự cân bằng, chúng ta có thể làm tốt hơn không?


9

Tôi hiện đang đọc về các robot tự cân bằng sử dụng IMU (con quay hồi chuyển + gia tốc kế) để ước tính góc nghiêng hiện tại của chúng.

Hầu hết các tài liệu mà tôi đã tìm thấy đều nói những điều tương tự:

  • Bạn không thể lấy tiếp tuyến của dữ liệu gia tốc để tìm hướng trọng lực vì chúng bị ảnh hưởng bởi "tiếng ồn quán tính".
  • Bạn không thể tích hợp đầu ra của con quay hồi chuyển theo thời gian vì nó bị trôi.
  • Có hai giải pháp được chấp nhận chung để hợp nhất những dữ liệu đó:
    1. Một bộ lọc Kalman ước tính độ nghiêng hiện tại cùng với độ lệch của con quay hồi chuyển hiện tại .
    2. Một bộ lọc miễn phí áp dụng một bộ lọc thông thấp trên các dữ liệu gia tốc kế (họ có thể tin cậy trong thời gian dài), và một bộ lọc thông cao trên các dữ liệu con quay hồi chuyển (nó có thể được tin cậy trong thời gian ngắn).

Tất cả các nguồn mà tôi tìm thấy dường như sử dụng dữ liệu thô từ gia tốc kế trong các bộ lọc đó, bất chấp thực tế là, trong một robot tự cân bằng, chúng ta có thể ước tính rất tốt về "tiếng ồn quán tính" được đề cập ở trên.

Đây là mặc dù của tôi

Hãy mô hình robot của chúng tôi với một con lắc ngược với điểm tựa di chuyển và sử dụng bản vẽ kém này làm tài liệu tham khảo.

nhập mô tả hình ảnh ở đây

(cr¨cΘ¨)=(x¨sin(Θ)RΘ˙2x¨cos(Θ)+RΘ¨)

Giả sử rằng

  • Robot của chúng tôi đang lăn mà không bị trượt
  • Chúng ta có thể đo x (bằng cách sử dụng động cơ bước hoặc động cơ DC với bộ mã hóa)

Sau đó, chúng ta có thể có một ước tính tốt về tất cả các biến đó:

  • x¨^kx
  • Θ˙^k
  • Θ^kΘΘ˙^kΘ˙^k1Δt
  • Θ¨^kΘ˙^kΘ˙^k1

Một khi chúng ta có điều đó, chúng ta có thể phủ nhận tác động của lực quán tính trong gia tốc kế, chỉ để lại một thước đo tốt hơn của trọng lực.

Có lẽ vẫn nên sử dụng điều này làm đầu vào của bộ lọc Kalman thông thường như trong 1. ở trên.

Có lẽ chúng ta thậm chí có thể xây dựng bộ lọc Kalman có thể ước tính tất cả các biến đó cùng một lúc? Tôi sẽ thử nó.

Bạn nghĩ sao? Am i thiếu cái gì ở đây?

Tôi nghĩ rằng robot tự cân bằng có thể là một thẻ tốt, nhưng tôi không thể tạo ra nó


Một công cụ tìm phạm vi laser sẽ vô cùng hữu ích.
holmeski

Câu trả lời:


1

Nếu bạn xây dựng đúng bộ lọc Kalman với đầu vào 'x', thì có, nó sẽ tốt hơn. Đáng chú ý, cảm biến quán tính có thể cung cấp cho bạn một giá trị tuyệt đối cho x trong mọi trường hợp, bởi vì bạn (về cơ bản) đang cố gắng tích hợp tín hiệu gia tốc vào một vị trí và rất nhạy với nhiễu trong đầu ra của gia tốc kế.

Một số điều bạn có thể muốn xem xét trong chuyến đi của mình:

  1. Bộ lọc Kalman toàn diện có cường độ tính toán cao, nhưng Kalman ở trạng thái ổn định về cơ bản là bộ lọc miễn phí với tần số rolloff được lựa chọn bởi xây dựng thay vì b'guess và b'gosh.
  2. Nói về b'guess và b'gosh, nếu bạn muốn Kalman hoạt động tốt (và đôi khi, tất cả), bạn cần phải tính toán rất chính xác cho mọi thứ đi vào phương sai của bạn. Kalmans nổi tiếng là không đáp ứng tốt với sự không phù hợp giữa mô hình và thực tế của bạn. Nếu bạn sẵn sàng làm toán, hãy xem H-infinite và các kỹ thuật ước lượng trạng thái mạnh mẽ khác.
  3. Nếu bạn đi xuống con đường vô cực H, bạn cũng có thể tìm thấy bộ lọc H-infinite trạng thái ổn định và có cùng lợi thế tính toán (và trên thực tế, cấu trúc bộ lọc thực tế trong mã nhúng của bạn sẽ giống nhau; ' sẽ chỉ có các giá trị khác nhau trong các hệ số).

Tôi nghĩ rằng bạn đang phóng đại chi phí tính toán của bộ lọc kalman đầy đủ. Julien có thể sẽ có ít hơn 6 tiểu bang sẽ không phải là vấn đề trên hầu hết các bảng.
holmeski

1

Mặc dù đây không phải là câu trả lời hoàn chỉnh cho câu hỏi của bạn, tôi muốn để lại một vài suy nghĩ của mình. Tôi nghĩ bạn đã bỏ lỡ:

  1. Trọng lực bản thân, hướng xuống dưới và thường là khoảng 9,81 m / s² nhưng có thể khác nhau tùy thuộc vào vị trí của bạn (bạn chỉ đo 0 trọng lực khi robot rơi tự do)
  2. Các cảm biến thường không được căn chỉnh 100% với trục x / y / z của bạn (chip không hoàn toàn nằm ngang trên PCB ... PCB không được gắn hoàn toàn theo chiều ngang / chiều dọc vào robot của bạn, v.v.); bạn cần phải bù đắp cho điều này
  3. Cảm biến gia tốc có giá trị bù và độ lợi mà bạn phải bù. Họ bị ảnh hưởng bởi ví dụ nhiệt độ và dung sai sản xuất. Có các thuật toán hiệu chuẩn trực tuyến cho điều này; nhưng bạn cũng có thể đặt các biến không xác định này vào bộ lọc Kalman.
  4. Con quay hồi chuyển có độ trôi, cũng phụ thuộc vào nhiệt độ. Nó không phải là một hằng số nhưng có thể thay đổi theo thời gian. Sự trôi dạt này có thể được bù một chút với sự trợ giúp của từ kế.
  5. Từ kế hay còn gọi là cảm biến la bàn trong 3D có thể được sử dụng để bù cho sự trôi dạt của con quay hồi chuyển. Tuy nhiên, đôi khi chúng bị ảnh hưởng bởi các trường điện từ (động cơ, nam châm, thép trong tường, v.v.). Vì vậy, họ không thể được tin tưởng hoàn toàn.

Một mô hình bộ lọc Kalman là một cách tiếp cận tốt. Càng hiểu biết nhiều về mô hình chuyển động bạn đưa vào mô hình, nó sẽ hoạt động tốt hơn. Bạn cũng cần biết (đồng) phương sai của tất cả các biến ... Bạn chắc chắn rằng các phép đo của từng cảm biến là như thế nào.


Điểm hay về các vấn đề trong thế giới thực như hiệu chuẩn, độ trôi, nhiệt độ, v.v.
Ben
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.