Tôi có một hệ thống servo đơn giản sử dụng bộ điều khiển PID được triển khai trong MCU để thực hiện phản hồi. Tuy nhiên, các thuộc tính của hệ thống thay đổi linh hoạt và do đó, các tham số PID không bao giờ có thể được điều chỉnh cho mọi trường hợp.
Robot của tôi là một cánh tay có trọng lượng nhẹ với động cơ điện có thể lái được, tương tự như cái này:
Cánh tay thực hiện một số nhiệm vụ, bao gồm nhặt các vật nặng, đẩy và kéo các vật qua bàn. Mỗi tác vụ này yêu cầu các tham số điều chỉnh PID khác nhau mà tôi không thể dễ dàng dự đoán.
Những gì tôi thực sự muốn là cho một số chức năng cấp cao hơn có thể điều chỉnh cẩn thận các tham số để đáp ứng với hành vi của cánh tay. Ví dụ: nếu thông báo rằng cánh tay đang dao động, nó có thể giảm P và tăng D. Hoặc nếu nhận thấy rằng cánh tay không đạt được mục tiêu, nó có thể tăng I.
Các thuật toán như vậy có tồn tại? Tôi sẽ rất vui ngay cả khi thuật toán không hoàn thiện các tham số ngay lập tức. EG cánh tay có thể dao động một vài lần trước khi các tham số được điều chỉnh theo giá trị mới của chúng.