Ultralytics YOLO27: Đăng ký vào danh sách chờ.
Cấp phép YOLO
Quay lại Bảng thuật ngữ Ultralytics

Model Predictive Control (MPC)

Điều khiển dự đoán dựa trên model (MPC) lập kế hoạch một chuỗi hành động ngắn bằng model, chỉ thực hiện hành động đầu tiên rồi lập kế hoạch lại ở mỗi bước. Nội dung bao gồm các thành phần, ứng dụng và code.

Điều khiển dự đoán theo mô hình (MPC) là phương pháp điều khiển dùng model của một hệ thống để dự đoán hành vi của hệ thống trong một khoảng thời gian ngắn sắp tới, chọn chuỗi hành động đáp ứng mục tiêu tốt nhất đồng thời tuân thủ các ràng buộc, chỉ thực hiện hành động đầu tiên rồi lặp lại toàn bộ quy trình ở bước thời gian tiếp theo với các phép đo mới. Chu trình lập kế hoạch, hành động và lập lại kế hoạch này gọi là điều khiển chân trời lùi; phương pháp cho phép bộ điều khiển dự đoán những gì sắp xảy ra thay vì chỉ phản ứng với sai số hiện tại. MPC phát triển từ ngành lọc dầu và xử lý hóa chất vào cuối thập niên 1970; Dynamic Matrix Control của Shell là một trong những phiên bản công nghiệp đầu tiên. Hiện nay, MPC điều khiển robot, phương tiện tự hành và hệ thống điều hòa không khí trong tòa nhà.

Các thành phần của bộ điều khiển MPC#

Mỗi bộ điều khiển MPC kết hợp bốn thành phần:

  • Model động lực học: Dự đoán trạng thái tiếp theo từ trạng thái hiện tại và một hành động, chẳng hạn cách vị trí và hướng của ô tô thay đổi theo góc lái. Model có thể xuất phát từ phương trình vật lý, từ nhận dạng hệ thống trên dữ liệu đã ghi hoặc từ mạng nơ-ron được huấn luyện trên các quỹ đạo đã ghi lại.
  • Hàm chi phí: Chấm điểm quỹ đạo dự đoán, thường phạt khoảng cách tới mục tiêu, mức tiêu thụ năng lượng và những thay đổi đột ngột trong các tín hiệu điều khiển.
  • Ràng buộc: Các giới hạn mà mọi kế hoạch phải tuân thủ, chẳng hạn mô-men xoắn tối đa của động cơ, giới hạn tốc độ và vùng cấm quanh chướng ngại vật. Xử lý ràng buộc một cách tường minh là ưu điểm chính của MPC so với điều khiển PID cổ điển, vốn chỉ phản ứng với lỗi sau khi lỗi xuất hiện và không thể dự đoán giới hạn phía trước.
  • Bộ tối ưu hóa: Tìm kiếm chuỗi hành động tốt nhất trong khoảng thời gian dự đoán ở mỗi bước điều khiển.

Model quyết định độ khó của bài toán tối ưu hóa. Model tuyến tính với hàm chi phí bậc hai tạo thành bài toán quy hoạch bậc hai, có thể được các bộ giải chuyên dụng xử lý trong vài mili giây hoặc ít hơn; còn model phi tuyến cần bộ giải MPC phi tuyến, thường kết hợp với bộ lọc Kalman mở rộng để ước lượng trạng thái, hoặc phương pháp tìm kiếm dựa trên lấy mẫu. Ở mỗi bước điều khiển, bộ tối ưu hóa chạy vòng lặp bên trong để dự đoán và cải thiện các kế hoạch ứng viên, còn bộ điều khiển chạy vòng lặp bên ngoài để thực hiện một hành động rồi bắt đầu lại từ trạng thái mới được đo:

Độ dài khoảng thời gian dự đoán là lựa chọn tinh chỉnh quan trọng nhất. Khoảng thời gian dài hơn cho phép phương tiện phanh sớm trước khúc cua gắt, nhưng mỗi bước bổ sung làm tăng chi phí tính toán và tích lũy sai số dự đoán của model; toàn bộ quá trình tối ưu hóa phải hoàn tất trong một chu kỳ điều khiển.

Chân trời trượt trong code#

Đoạn mã dưới đây điều khiển một xe đẩy cần di chuyển đến vị trí 5 rồi dừng lại, với gia tốc giới hạn trong khoảng từ -1 đến 1. Ở mỗi bước, mã lấy mẫu 500 kế hoạch gia tốc ngẫu nhiên, dự đoán quỹ đạo của từng kế hoạch bằng động lực học của xe đẩy, thực hiện hành động đầu tiên trong kế hoạch có chi phí thấp nhất rồi lập kế hoạch lại từ trạng thái mới:

import numpy as np

rng = np.random.default_rng(0)
position, velocity, target = 0.0, 0.0, 5.0
dt, horizon = 0.1, 30

for _ in range(100):
    # Sample 500 candidate plans of accelerations within the actuator limit of +/-1
    plans = rng.uniform(-1, 1, size=(500, horizon))
    # Predict every plan's trajectory with the cart's dynamics model
    v = velocity + dt * plans.cumsum(axis=1)
    p = position + dt * v.cumsum(axis=1)
    # Cost: distance from the target at each step plus speed at the end of the horizon
    cost = ((p - target) ** 2).sum(axis=1) + 10 * v[:, -1] ** 2
    # Apply only the first action of the cheapest plan, then replan from the new state
    velocity += dt * plans[cost.argmin(), 0]
    position += dt * velocity

print(f"position: {position:.2f}, velocity: {velocity:.2f}")

Sau 10 giây mô phỏng, xe đẩy ở vị trí 5.04 với vận tốc 0.04. Không kế hoạch ngẫu nhiên đơn lẻ nào đủ tốt, nhưng việc thực hiện một bước rồi lập lại kế hoạch từ trạng thái đo được giúp liên tục sửa sai. Phương pháp này, gọi là bắn ngẫu nhiên, là dạng đơn giản nhất trong nhóm MPC dựa trên lấy mẫu; nhóm này còn có phương pháp entropy chéo và điều khiển tích phân đường dự đoán theo mô hình (MPPI), được các nhà nghiên cứu Georgia Tech sử dụng để đua xe rally tỷ lệ một phần năm trên đường đất.

MPC trong nhà máy, robot, ô tô và tòa nhà#

  • Các ngành công nghiệp quy trình: Nhà máy lọc dầu, nhà máy hóa chất và nhà máy điện dùng MPC để duy trì nhiệt độ, áp suất và chất lượng sản phẩm gần các giới hạn tối đa hóa thông lượng; đây cũng là lĩnh vực khởi nguồn của phương pháp này.
  • Robot bốn chân: Cheetah 3 của MIT chạy và giữ thăng bằng bằng MPC lồi, tính toán lại lực phản lực mặt đất nhiều lần mỗi giây; sau đó MIT phát hành bộ điều khiển này dưới dạng phần mềm mã nguồn mở cho Mini Cheetah.
  • Lái xe: Bộ điều khiển bám đường đi trong xe tự lái sử dụng MPC để bám theo quỹ đạo đã lập kế hoạch một cách êm ái trong giới hạn về đánh lái, gia tốc và sự thoải mái.
  • Tòa nhà: Bộ điều khiển sưởi và làm mát dự đoán nhiệt độ phòng trước nhiều giờ dựa trên dự báo thời tiết và lượng người sử dụng, làm mát hoặc sưởi trước khi năng lượng có giá thấp nhất.
  • Điều khiển PID: Bộ điều khiển PID tính đầu ra từ sai số hiện tại, tích phân của sai số và tốc độ thay đổi của sai số. Phương pháp này đơn giản, ít tốn kém nhưng không có model về tương lai và không xét đến ràng buộc.
  • Bộ điều chỉnh toàn phương tuyến tính (LQR): LQR tìm luật phản hồi tối ưu cho hệ thống tuyến tính có hàm chi phí bậc hai trên chân trời vô hạn bằng nghiệm dạng đóng. MPC giải phiên bản chân trời hữu hạn trực tuyến, nhờ đó có thể áp đặt ràng buộc và xử lý model phi tuyến.
  • Học tăng cường: RL học một policy từ trải nghiệm trước khi triển khai; sau đó, việc chọn hành động chỉ cần một lượt suy luận xuôi nhanh. MPC giải một bài toán tối ưu mới trực tuyến bằng model tường minh.

Hai hướng tiếp cận này ngày càng hội tụ. Học tăng cường sâu dựa trên model học một model thế giới rồi lập kế hoạch trên đó bằng MPC; các phương pháp như TD-MPC2 lập kế hoạch trong không gian tiềm ẩn đã học, đồng thời dùng hàm giá trị đã học để chấm điểm những gì xảy ra sau khi kết thúc khoảng thời gian dự đoán ngắn. Model động lực học đã học là một dạng mô hình hóa dự đoán; độ chính xác của chúng trong khoảng thời gian dự đoán quyết định bộ điều khiển có thể lập kế hoạch hữu ích xa đến đâu.

Nhận thức cho MPC#

Bộ điều khiển MPC chỉ lập kế hoạch tốt trong phạm vi nhận thức của nó; với hệ thống AI vật lý như robot di chuyển giữa mọi người, trạng thái của hệ thống phải bao gồm vị trí và hướng di chuyển của từng người. Camera chạy Ultralytics YOLO26 trong chế độ tracking cung cấp bounding box và ID theo dõi cố định cho mỗi người trong từng khung hình. Khi kết hợp với ước lượng độ sâu hoặc hiệu chuẩn camera cùng bộ lọc Kalman, các dấu vết theo dõi này trở thành vị trí và vận tốc chướng ngại vật mà các ràng buộc của bộ điều khiển phải tránh.

Khám phá các giải pháp

Thị giác máy tính trong thể thao

Thị giác máy tính trong thể thao

Khám phá cách Ultralytics YOLO thúc đẩy thị giác máy tính trong thể thao với khả năng theo dõi cầu thủ và bóng, phân tích hiệu suất, cung cấp thông tin chuyên sâu cho huấn luyện và hỗ trợ phục hồi cho vận động viên.
Tìm hiểu thêm
Thị giác máy tính cho ảnh hàng không

Thị giác máy tính cho ảnh hàng không

Chuyển hình ảnh từ drone và ảnh hàng không thành thông tin chuyên sâu theo thời gian thực cho nông nghiệp, nuôi trồng thủy sản, bảo tồn và phân tích không gian địa lý với Ultralytics YOLO.
Tìm hiểu thêm
Thị giác máy tính trong hàng không vũ trụ

Thị giác máy tính trong hàng không vũ trụ

Ứng dụng computer vision trong ngành hàng không vũ trụ với Ultralytics YOLO cho kiểm tra máy bay, phát hiện dị vật trên đường băng (FOD), vận hành mặt đất tại sân bay và phát hiện lỗi vật liệu composite.
Tìm hiểu thêm
Computer vision trong lĩnh vực an ninh

Computer vision trong lĩnh vực an ninh

Bảo vệ mọi địa điểm bằng model Ultralytics YOLO. Vision AI hỗ trợ giám sát vành đai, phát hiện mối đe dọa, nhận dạng biển số và an toàn nơi làm việc.
Tìm hiểu thêm
Computer vision trong robotics

Computer vision trong robotics

Tăng cường năng lực cho máy móc thông minh bằng model Ultralytics YOLO. Vision AI trong lĩnh vực robotics hỗ trợ điều hướng tự động, nhận thức, theo dõi đối tượng và điều khiển theo thời gian thực.
Tìm hiểu thêm
Thị giác máy tính trong logistics

Thị giác máy tính trong logistics

Tinh giản hoạt động logistics với các model Ultralytics YOLO. Vision AI hỗ trợ kiểm tra kiện hàng, phân loại, theo dõi phương tiện và giám sát an toàn kho hàng theo thời gian thực.
Tìm hiểu thêm
Thị giác máy tính trong bán lẻ

Thị giác máy tính trong bán lẻ

Định hình lại hoạt động bán lẻ với các model Ultralytics YOLO. Vision AI hỗ trợ theo dõi hàng tồn kho, giám sát kệ hàng, quản lý hàng chờ và phân tích khách hàng thông minh hơn.
Tìm hiểu thêm
Thị giác máy tính trong chăm sóc sức khỏe

Thị giác máy tính trong chăm sóc sức khỏe

Xây dựng các giải pháp chăm sóc sức khỏe với model Ultralytics YOLO. Vision AI trong chăm sóc sức khỏe hỗ trợ xử lý hình ảnh y tế nhanh hơn, chẩn đoán thông minh hơn và theo dõi bệnh nhân.
Tìm hiểu thêm
Thị giác máy tính trong sản xuất

Thị giác máy tính trong sản xuất

Tối ưu hóa sản xuất bằng các model Ultralytics YOLO. Vision AI thúc đẩy kiểm soát chất lượng, phát hiện lỗi, tuân thủ PPE và tự động hóa dây chuyền lắp ráp.
Tìm hiểu thêm
Thị giác máy tính trong ngành ô tô

Thị giác máy tính trong ngành ô tô

Ứng dụng thị giác máy tính trong ngành ô tô với các model Ultralytics YOLO. Vision AI nâng cao an toàn giao thông, hỗ trợ người lái và tự động hóa phương tiện để tạo nên những tuyến đường thông minh hơn.
Tìm hiểu thêm
Thị giác máy tính trong nông nghiệp

Thị giác máy tính trong nông nghiệp

Ứng dụng AI thị giác vào nông nghiệp thông minh với các model Ultralytics YOLO. Hỗ trợ giám sát cây trồng, theo dõi vật nuôi và canh tác chính xác để nâng cao năng suất một cách thông minh hơn.
Tìm hiểu thêm

Hãy cùng nhau kiến tạo tương lai của AI!

Bắt đầu hành trình hướng đến tương lai của machine learning