Tôi đã chế tạo một robot cân bằng hai bánh bằng cách sử dụng một số động cơ quay liên tục và gia tốc kế / con quay hồi chuyển. Tôi đã nâng cấp các động cơ servo lên một số động cơ DC hướng với bộ mã hóa 8 bit với mục tiêu có robot điều khiển xung quanh trong khi cân bằng.
Tôi bế tắc về cách lập trình nó để lái xe trong khi vẫn giữ thăng bằng. Tôi nghĩ một cách sẽ là chỉ có đầu vào điều khiển cho động cơ hoạt động giống như đẩy nó. Vì vậy, robot sẽ mất cân bằng trong giây lát theo hướng tôi muốn nó di chuyển. Điều đó có vẻ như vụng về với tôi mặc dù. Có phải là một cách làm tốt hơn? Tôi nghĩ rằng tôi cần kết hợp mô hình động cho bộ cân bằng với ổ đĩa vi sai nhưng điều này hơi vượt quá lý thuyết điều khiển mà tôi biết.
Cập nhật từ câu trả lời của Anorton Bây giờ tôi có một ma trận trạng thái ưa nhìn.
Bây giờ về vị trí cực: Ma trận A sẽ phải là 4 x 4 dựa trên vectơ trạng thái mới. Và B sau đó sẽ phải là một ma trận 4x2 vì tôi chỉ có thể điều khiển mô-men xoắn trái / phải (vectơ u = 2x1).
Tôi có thể cần đọc thêm về điều này nhưng có một cách có hệ thống để xác định ma trận A theo vị trí cực? Đối với tôi, ví dụ này và các ví dụ phức tạp hơn, việc xác định A bằng cách đoán và kiểm tra sẽ rất khó khăn.
Cập nhật # 2 Sau khi đọc một chút, tôi nghĩ rằng tôi hiểu nó ngay bây giờ. Tôi vẫn cần sự năng động của robot để xác định ma trận A. Khi tôi đã có tôi có thể thực hiện vị trí cực bằng cách sử dụng matlab hoặc quãng tám.
:)
Kiến thức kiểm soát của tôi rất mỏng, nhưng tôi sẽ ném giá trị 0,02 đô la của mình vào đó ...