03 thuật toán điều khiển giúp xe tự hành di chuyển

Một trong những chìa khóa quyết định sự thành công xe tự hành nằm ở trình theo dõi đường đi (path tracker). Trên lý thuyết, tồn tại rất nhiều kỹ thuật, với các mức độ phức tạp và tính hiệu quả khác nhau trong một số tình huống cụ thể. Việc lựa chọn trình theo dõi đường đi ảnh hưởng đến hiệu suất về độ chính xác, độ ổn định và sự thoải mái của hành khách. Bài viết dưới đây sẽ giới thiệu 03 thuật toán điều khiển phổ biến cho xe tự hành, bao gồm: Pure Pursuit, Stanley và Model Predictive Controller.

Khái quát về thuật toán điều khiển/kiểm soát đường đi của xe tự hành

Ngày nay, xe tự hành nằm trong số các lĩnh vực nghiên cứu đang phát triển nhanh và quan trọng nhất của robotics. Các phương tiện tự động giúp đáp ứng việc tăng lưu lượng, mật độ, hiệu quả, an toàn và cảm giác thoải mái khi di chuyển. Nhiều giải pháp xe tự hành đã được triển khai thử nghiệm trên thế giới và ngay tại Việt Nam. Những nỗ lực nghiên cứu vẫn tiếp tục được thực hiện nhằm cải thiện hiệu suất, độ tin cậy và cắt giảm chi phí của xe tự hành.

Khả năng điều hướng tự động của xe tự hành bao gồm ba bước chính: Nhận thức và bản địa hóa – Lập kế hoạch – Kiểm soát. Trong đó, kiểm soát phương tiện là bước cuối cùng trong hệ thống điều hướng và thường được thực hiện bằng cách sử dụng một trong hai bộ điều khiển độc lập:

  • Lateral Controller: Điều chỉnh góc lái sao cho xe đi theo đường tham chiếu. Bộ điều khiển giảm thiểu sai số giữa vị trí xe hiện tại và đường đi đã đươc định sẵn.
  • Longitudinal Controller: Bộ điều khiển dọc giảm thiểu sự khác biệt giữa hướng của xe và hướng của đường tham chiếu. Giúp xe di chuyển một cách ổn định không bị rung lắc và tăng tốc giảm tốc mượt mà hơn.

Mục tiêu của bộ điều khiển là đảm bảo xe đi theo một con đường mong muốn bằng cách giảm thiểu sai số giữa xe và đường đi tham chiếu. Đồng thời vận tốc của xe cũng phải ổn định dựa trên đường đi tham chiếu sẽ được định trước bởi thuật toán về path planning. Lateral Controller cũng có thể được sử dụng cho các ứng dụng giữ làn đường.

03 thuật toán điều khiển ngang

1, Thuật toán Pure Pursuit

Pure Pursuit tính toán góc lái dựa trên thông tin về vị trí của xe và đường đi mà xe phải bám theo. Vận tốc của xe sẽ tùy thuộc vào đặc tính của từng khu vực (Đường trống, đường đông dân cư, đường có độ dốc lớn,…) vật cản trên đường. Sau đó, thuật toán sẽ di chuyển điểm ở phía trước trên đường đi dựa trên vị trí hiện tại của phương tiện, dần dần cho đến điểm cuối cùng. Hiểu một cách đơn giản, phương tiện liên tục đuổi theo một điểm trước mặt nó. Thuộc tính LookAheadDistance quyết định khoảng cách xác định điểm nhìn về phía trước.

controllerPurePursuit không phải là một bộ điều khiển truyền thống, mà hoạt động như một thuật toán theo dõi đường đi. Các đặc tính này được xác định dựa trên các thông số kỹ thuật của xe. Với đầu vào là vị trí, hướng của xe và đường tham chiếu có thể tính toán vận tốc và góc lái tương ứng.

Thuật toán Pure Pursuit
Thuật toán Pure Pursuit

2, Thuật toán Stanley Controller

Đây là phương pháp theo dõi đường đi được sử dụng bởi nhóm nghiên cứu của Đại học Stanford. Khác với phương pháp Pure Pursuit sử dụng trục sau làm điểm tham chiếu, phương pháp Stanley sử dụng trục trước làm điểm tham chiếu. Trong khi đó, nó xem xét cả (heading error and cross-track error). Trong phương pháp này, lỗi đường chéo được định nghĩa là khoảng cách giữa điểm gần nhất trên đường dẫn với trục trước của xe.

Thuật toán Stanley Controller
Thuật toán Stanley Controller

Stanley là một phương pháp đơn giản nhưng hiệu quả và ổn định cho việc điều khiển sau này. Cả Pure Pursuit và Stanley đều là những thuật toán dựa trên hình học. Dưới đây sẽ là một bộ điều khiển phi hình học khác – Bộ điều khiển dự đoán mô hình (Model Predictive Controller – MPC)

3, Thuật toán Model Predictive Controller – MPC

MPC sử dụng một mô hình của hệ thống để đưa ra dự đoán về hành vi trong tương lai của chính hệ thống đó. MPC giải quyết một thuật toán tối ưu trực tuyến (an online optimization algorithm) để tìm ra hành động điều khiển tối ưu, từ đó đưa ra kết quả dự đoán. MPC có thể xử lý các hệ thống có nhiều đầu ra, đầu vào và giữa chúng có mối liên hệ. Với khả năng dự đoán; MPC kết hợp thông tin tham chiếu trong tương lai vào bài toán điều khiển để cải thiện hiệu suất của bộ điều khiển.

Thực tế, MPC sở hữu rất nhiều lợi thế. Tuy nhiên, hạn chế của MPC là tốn kém về mặt tính toán, đặc biệt đối với những mô hình phi tuyến tính.

VinBigdata cũng tham gia nghiên cứu, phát triển xe điện tự hành cấp độ 4, trọng tải lớn (23 chỗ). Dựa trên những công nghệ tiên tiến, xe có các tính năng tiêu biểu như định vị tối ưu, nhận diện vật cản, tự động giảm tốc, dừng hoặc chuyển làn tránh vật cản, thay đổi lộ trình khi cần thiết, đi lùi, tự động đỗ xe, chạy về trạm sạc khi hết pin…. Dự kiến, giải pháp này có thể sẽ được ứng dụng để tiếp tục phát triển các tính năng cho các dòng xe điện thông minh trong tương lai.

Tags:

Chia sẻ:
Share on facebook
Share on twitter
Share on linkedin

Có thể bạn quan tâm

Chu trình xây dựng thuật toán và ứng dụng của công nghệ nhận diện khuôn mặt

Nhận diện khuôn mặt là thuật toán xác định danh tính của một cá nhân bằng

EFPN: Mô hình mạng tính năng thiết kế dạng kim tự tháp mở rộng để phát hiện vật thể nhỏ

Công nghệ thị giác máy tính (Computer Vision) sử dụng các thuật toán để máy tính