Có thể điều khiển được

**Có thể điều khiển được** là một thuộc tính quan trọng của một hệ thống điều khiển và thuộc tính có thể điều khiển được đóng một vai trò quan trọng trong nhiều bài toán điều khiển, chẳng hạn như độ ổn định của các hệ thống không ổn định theo thông tin phản hồi hoặc điều khiển tối ưu.

Tính có thể điều khiển được và có thể quan sát được là những hai mặtcủa cùng một vấn đề.

Gần như, khái niệm về tính có thể điều khiển được biểu thị khả năng di chuyển một hệ thống xung quanh trong toàn bộ không gian cấu hình của nó bằng cách sử dụng chỉ là một số thao tác có thể chấp nhận. Định nghĩa chính xác thay đổi một chút trong khuôn khổ hoặc các loại mô hình áp dụng.

Sau đây là những ví dụ về các biến thể của khái niệm có thể điều khiển được đã được giới thiệu trong các tài liệu hệ thống và điều khiển:
* Có thể điều khiển trạng thái
* Có thể điều khiển đầu ra
* Điều khiển trong khuôn khổ hành vi

## Trạng thái có thể điều khiển được
Trạng thái của một hệ thống xác định, là tập hợp các giá trị của tất cả các biến trạng thái của hệ thống (những biến được đặc trưng bởi phương trình động học), hoàn toàn mô tả hệ thống tại bất kỳ thời điểm nào. Đặc biệt, không có thông tin về quá khứ của một hệ thống là cần thiết để giúp ích cho việc dự đoán tương lai, nếu các trạng thái tại thời điểm hiện tại được biết đến và tất cả các giá trị hiện tại và tương lai của các biến điều khiển (những trạng thái này có thể được lựa chọn) đã biết.

Trạng thái hoàn toàn có thể điều khiển được (hoặc đơn giản có thể điều khiển được nếu không có bối cảnh khác được đưa ra) mô tả khả năng của một đầu vào bên ngoài (vector của các điều khiển biến) di chuyển trạng thái bên trong của một hệ thống từ bất kỳ trạng thái ban đầu nào tới bất kỳ trạng thái cuối cùng nào trong một khoảng thời gian hữu hạn.

Lưu ý rằng tính có thể điều khiển được không có nghĩa rằng khi một trạng thái được đạt đến, thì trạng thái đó có thể duy trì được, nhưng chỉ đơn thuần (hoặc bất kỳ) trạng thái đó có thể đạt được.

## Các hệ thống tuyến tính liên tục
Xem xét hệ thống tuyến tính liên tục  

: \dot{\mathbf{x}}(t) = A(t) \mathbf{x}(t) + B(t) \mathbf{u}(t)
: \mathbf{y}(t) = C(t) \mathbf{x}(t) + D(t) \mathbf{u}(t).
Tồn tại một điều khiển u từ trạng thái x_0 tại thời điểm t_0 tới trạng thái x_1 tại thời điểm t_1 > t_0 nếu và chỉ nếu x_1 - \phi(t_0,t_1)x_0 là không gian cột của
: W(t_0,t_1) = \int_{t_0}^{t_1} \phi(t_0,t)B(t)B(t)^{T}\phi(t_0,t)^{T} dt
trong đó \phi là ma trận dịch chuyển trạng thái, và W(t_0,t_1) là Gram có thể điều khiển được.

Thực ra, nếu \eta_0 là một lời giải cho W(t_0,t_1)\eta = x_1 - \phi(t_0,t_1)x_0 thì một điều khiển cho bởi u(t) = -B(t)^{T}\phi(t_0,t)^{T}\eta_0 sẽ tạo ra chuyển đổi mong muốn.

Lưu ý rằng ma trận W được định nghĩa như trên có những tính chất sau:
* W(t_0,t_1) là đối xứng
* W(t_0,t_1) là nửa xác định dương đối với t_1 \geq t_0
* W(t_0,t_1) thỏa mãn phương trình vi phân ma trận tuyến tính 
:: \frac{d}{dt}W(t,t_1) = A(t)W(t,t_1)+W(t,t_1)A(t)^{T}-B(t)B(t)^{T}, \; W(t_1,t_1) = 0
* W(t_0,t_1) thỏa mãn phương trình 
:: W(t_0,t_1) = W(t_0,t) + \phi(t_0,t)W(t,t_1)\phi(t_0,t)^{T}

### Các hệ thống liên tục tuyến tính thời gian-bất biến (LTI)
Xem xét hệ thống tuyến tính liên tục thời gian bất biến
: \dot{\mathbf{x}}(t) = A \mathbf{x}(t) + B \mathbf{u}(t)
: \mathbf{y}(t) = C \mathbf{x}(t) + D \mathbf{u}(t)
Trong đó
: \mathbf{x} là "vector trạng thái" n \times 1,
: \mathbf{y} là "vector đầu ra" m \times 1,
: \mathbf{u} là "vector đầu vào (hoặc điều khiển)" r \times 1,
: A là "ma trận trạng thái" n \times n,
: B là "ma trận đầu vào trạng thái" n \times r,
: C là "ma trận đầu ra" m \times n,
: D là "ma trận nuôi xuyên (hoặc nuôi tiến)" m \times r.
Ma trận có thể điều khiển  n \times nr được cho bởi
: R = \begin{bmatrix}B & AB & A^{2}B &...& A^{n-1}B\end{bmatrix}
Hệ thống là có thể điều khiển được nếu ma trận có thể điều khiển có đủ xếp hạng hàng (tức là \operatorname{rank}(R)=n).

## Các hệ thống rời rạc tuyến tính thời gian-bất biến (LTI)
Đối với một hệ thống không gian trạng thái tuyến tính thời gian rời rạc (tức là biến hời gian k\in\mathbb{Z}) phương trình trạng thái là
: \textbf{x}(k+1) = A\textbf{x}(k) + B\textbf{u}(k)
trong đó A là một ma trận n \times n và B là một ma trận n \times r  (tức là \mathbf{u} là các đầu vào r được tập hợp trong một vector r \times 1). Việc kiểm tra tính có thể điều khiển được là ma trận n \times nr 
: \mathcal{C} = \begin{bmatrix}B & AB & A^{2}B & \cdots & A^{n-1}B\end{bmatrix}
có rank hàng đầy đủ (cụ thể, \operatorname{rank}(\mathcal C) = n). Do đó, nếu hệ thống là có thể điều khiển được, \mathcal C sẽ có n cột độc lập tuyến tính; nếu n cột của \mathcal C là độc lập tuyến tính, mỗi trạng thái  n sẽ có thể đạt được bằng cách đưa vào các đầu vào hệ thống thích hợp thông qua biến u(k).

### Dẫn xuất
Cho trạng thái \textbf{x}(0) tại thời điểm ban đầu, được ký hiệu bất kỳ là *k*=0, phương trình trạng thái cho bởi\textbf{x}(1) = A\textbf{x}(0) + B\textbf{u}(0), thì\textbf{x}(2) = A\textbf{x}(1) + B\textbf{u}(1)= A^2\textbf{x}(0)+AB\textbf{u}(0)+B\textbf{u}(1), và như vậy với các thay thế ngược lại của biến trạng thái, cuối cùng ta được
: \textbf{x}(n)=B\textbf{u}(n-1) + AB\textbf{u}(n-2) + \cdots + A^{n-1}B\textbf{u}(0) + A^n\textbf{x}(0)
Hoặc tương đương
: \textbf{x}(n)-A^n\textbf{x}(0)= [B \, \, AB \, \,  \cdots \, \, A^{n-1}B] [\textbf{u}^T(n-1) \, \,  \textbf{u}^T(n-2) \, \, \cdots \,  \, \textbf{u}^T(0)]^T.
Áp đặt bất kỳ giá trị mong muốn của vector trạng thái \textbf{x}(n) vào bên trái, điều này có thể luôn luôn được giải quyết cho vector xếp chồng của các vector điều khiển nếu và chỉ nếu ma ma trận đầu bên phải có rank hàng đầy đủ.

### Ví dụ
Ví dụ, xem xét trường hợp khi n=2 và r=1 (tức là chỉ một đầu vào điều khiển). Do đó, B và A B là các vector 2 \times 1. Nếu \begin{bmatrix}B & AB\end{bmatrix} có rank 2 (full rank), và do đó B và AB là độc lập tuyến tính và băng qua toàn bộ mặt phẳng. Nếu rank là 1, thì B và AB đường thẳng và không trải dài trên mặt phẳng.

Giả sử rằng trạng thái ban đầu là zero.

Tại thời điểm k=0: x(1) = A\textbf{x}(0) + B\textbf{u}(0) = B\textbf{u}(0)

Tại thời điểm k=1: x(2) = A\textbf{x}(1) + B\textbf{u}(1) = AB\textbf{u}(0) + B\textbf{u}(1)

Tại thời điểm k=0 tất cả các trạng thái có thể đạt được đều nằm trên đường thẳng được tạo bởi vector B. Tại thời điểm k=1 tất cả các trạng thái có thể đạt được là kết hợp tuyến tính của AB và B. Nếu hệ thống là có thể điều khiển được và 2 vector trên có thể mở rộng trong toàn bộ mặt phẳng và có thể thực hiện trong thời điểm k=2. Giả định này được thực hiện rằng trạng thái ban đầu là zero là chỉ đơn thuần làm cho việc khảo sát thuận tiện. Rõ ràng nếu tất cả các trạng thái có thể đạt được từ gốc thì bất kỳ trạng thái nào cũng có thể đạt được từ một trạng thái khác (chỉ đơn thuần là một sự dịch chuyển trong hệ tọa độ).

Ví dụ này đúng đối với tất cả các số dương n, nhưng trường hợp n=2 là dễ hình dung hơn cả.

### Tương tự cho ví dụ n = 2
Hãy xem xét một hệ thống tương tự ví dụ trước. Bạn đang ngồi trong xe trên một mặt phẳng vô hạn, và đang hướng về phía Bắc. Mục đích là để đạt được bất kỳ điểm nào trong mặt phẳng bằng cách lái một khoảng trong một đường thẳng, đến với một điểm dừng, rẽ, và lái xe một khoảng, lặp lại, trong một đường thẳng. Nếu xe của bạn Nếu xe của bạn không có thiết bị lái thì bạn chỉ có thể lái xe thẳng, có nghĩa là bạn có thể lái xe theo một đường thẳng (trong trường hợp này, đường thẳng theo hướng Bắc-Nam bắt đầu từ khi bạn hướng ra phía Bắc). Trường hợp thiếu thiết bị lái cũng tương tự khi rank của C là 1 (hai khoảng cách mà bạn lái xe nằm trên cùng một đường thẳng).

Bây giờ, nếu xe của bạn đã có thiết bị lái thì bạn có thể dễ dàng lái xe đến bất kỳ điểm nào trong mặt phẳng và điều này sẽ là trường hợp tương tự với khi rank của C là 2.

Nếu bạn thay ví dụ này cho n=3 thì tương tự sẽ bay trong không gian để đạt được bất kỳ vị trí nào trong không gian 3D (bỏ qua hướng máy bay). Bạn được phép:
* Bay theo một đường thẳng
* Rẽ trái hoặc rẽ phải bao nhiêu tùy thích
* Trực tiếp bay lên hoặc xuống bao nhiêu tùy thích
Mặc dù trường hợp 3-chiều khó hình dung hơn, khái niệm về tính có thể điều khiển được vẫn tương tự.

## Các hệ thống phi tuyến
Các hệ thống phi tuyến trong hình thức điều khiển afin
: \dot{\mathbf{x}} = \mathbf{f(x)} + \sum_{i=1}^m \mathbf{g}_i(\mathbf{x})u_i
là có thể truy cập cục bộ khoảng x_0 nếu phân phối truy cập R mở rộng n không gian n, khi n bằng rank của x và R được cho bởi:
: R = \begin{bmatrix} \mathbf{g}_1 & \cdots & \mathbf{g}_m & [\mathrm{ad}^k_{\mathbf{g}_i}\mathbf{\mathbf{g}_j}] & \cdots & [\mathrm{ad}^k_{\mathbf{f}}\mathbf{\mathbf{g}_i}] \end{bmatrix}.
Ở đây, [\mathrm{ad}^k_{\mathbf{f}}\mathbf{\mathbf{g}}] phép toán hoán tử Lie lặp lại được định nghĩa bởi
: [\mathrm{ad}^k_{\mathbf{f}}\mathbf{\mathbf{g}}] = \begin{bmatrix} \mathbf{f} & \cdots & j & \cdots & \mathbf{[\mathbf{f}, \mathbf{g}]} \end{bmatrix}. 
Ma trận có thể điều khiển được cho các hệ thống tuyến tính trong phần trước trong thực tế có thể được bắt nguồn từ phương trình này.

## Đầu ra có thể điều khiển được
Đầu ra có thể điều khiển được là khái niệm có liên quan đến đầu ra của hệ thống (ký hiệu là y trong các phương trình trước đó); đầu ra có thể điều khiển được mô tả khả năng của một đầu vào bên ngoài để di chuyển đầu ra từ bất kỳ điều kiện ban đầu nào đến bất kỳ điều kiện cuối cùng trong một khoảng thời gian hữu hạn. Không cần thiết là có bất kỳ mối quan hệ nào giữa tính có thể điều khiển trạng thái và tính có thể điều khiển đầu ra. Đặc biệt:
* Một hệ thống điều khiển không nhất thiết phải có đầu ra có thể điều khiển được. Ví dụ, nếu ma trận D = 0 và ma trận C không có rank hàng đầy đủ, thì một số vị trí của đầu ra được che giấu bởi cấu trúc giới hạn của ma trận đầu ra. Hơn nữa, ngay cả khi hệ thống có thể được di chuyển đến bất kỳ trạng thái nào trong thời gian hữu hạn, có thể có một số đầu ra là không thể tiếp cận được bởi tất cả các trạng thái. Một số ví dụ tầm thường sử dụng D = 0 và một ma trận C với ít nhất một hàng Zero; Vì vậy, hệ thống này không thể tạo ra một đầu ra khác không cùng chiều.
* Một hệ thống đầu ra có thể điều khiển được không nhất thiết phải là trạng thái có thể điều khiển được. Ví dụ, nếu chiều của không gian trạng thái là lớn hơn chiều của đầu ra, thì có một tập hợp các trạng thái có thể cấu hình cho mỗi đầu ra đơn lẽ. Đó là, hệ thống đó có thể có động học zero đáng kể, là các quỹ đạo của hệ thống mà không thể là quan sát được từ đầu ra. Do đó, có thể lái một đầu ra đến một vị trí đặc biệt trong thời gian hữu hạn không đề cập đến cấu hình trạng thái của hệ thống đó.
Đối với một hệ thống tuyến tính thời gian liên tục, giống như ví dụ ở trên, được mô tả bởi các ma trận A, B, C, vàD, *ma trận đầu ra có thể điều khiển được* m \times (n+1)r 
: \begin{bmatrix} CB & CAB & CA^2B & \cdots & CA^{n-1}B & D\end{bmatrix}
có rank hàng đầy đủ (cụ thể rank m) nếu và chỉ nếu hệ thống là đầu ra có thể điều khiển được. Kết quả này còn được gọi là tiêu chuẩn Kalman về tính có thể điều khiển được.

## Tính có thể điều khiển được dưới những hạn chế đầu vào
Trong các hệ thống với quyền điều khiển bị giới hạn, thường không còn có thể di chuyển bất kỳ trạng thái ban đầu nào tới bất kỳ trạng thái cuối cùng trong không gian con có thể điều khiển. Hiện tượng này là do các hạn chế về đầu vào có thể vốn có của hệ thống (ví dụ do bộ chấp hành bão hòa) hoặc được áp dụng trên hệ thống vì các lý do khác (ví dụ: lý do liên quan đến an toàn). Tính có thể điều khiển được của các hệ thống với những hạn chế đầu vào và trạng thái được nghiên cứu trong bối cảnh của tính có thể tiếp cận và lý thuyết khả thi.

## Có thể điều khiển được trong khuôn khổ hành vi
Trong hướng tiếp cận lý thuyết hệ thống hành vi bởi Willems, các mô hình được coi là không trực tiếp xác định một cấu trúc đầu vào-đầu ra. Trong khuôn khổ này các hệ thống được mô tả bởi các quỹ đạo có thể chấp nhận một tập hợp các biến, một số trong đó có thể được hiểu như là đầu vào hoặc đầu ra.

Một hệ thống được định nghĩa là có thể điều khiển trong thiết lập này, nếu bất kỳ phần hành vi nào trong quá khứ (quỹ đạo của các biến bên ngoài) có thể được nối với bất kỳ quỹ đạo tương lai của hành vi đó theo cách thức mà kết nối đó được chứa trong hành vi đó, tức là một phần của hành vi của hệ thống có thể chấp nhận được.

## Tính ổn định
Một khái niệm hơi yếu hơn so với tính có thể điều khiển được là độ ổn định-stabilizability. Một hệ thống được gọi là có thể ổn định được khi tất cả các biến trạng thái không thể điều khiển có thể được thực hiện để có động học ổn định. Vì vậy, mặc dù một số của các biến trạng thái không thể được điều khiển (được xác định bằng kiểm tra điều khiển ở trên) tất cả các biến trạng thái sẽ vẫn còn bị chặn trong hành vi của hệ thống.

## Xem thêm
* Tính có thể quan sát được
* Quan sát viên trạng thái

## Ghi chú

## Tham khảo

## Các liên kết ngoài
* 
* MATLAB function for checking controllability of a system 
* Mathematica function for checking controllability of a system