Posted in Self-Driving Car

Autonomous Navigation

Trong bài viết này mình sẽ nói về một đề tài rất thú vị, đó là “Xe tự lái “, hẳn các bạn cũng nghe về chủ đề này nhiều rồi. Đây là một hướng đi mới cho ngành công nghiệp xe hơi vốn ít có những thay đổi đột phá từ khi những chiếc xe bốn bánh lần đầu tiên lăn bánh trên đường vào đầu thế kỉ 19, đến nay đã gần 200 năm trôi qua và chúng vẫn là … xe bốn bánh:)).

Mặc dù có rất nhiều nâng cấp về tốc độ, mẫu mã, nhiên liệu sử dụng, nhưng khi nói về auto quan niệm của chúng ta vẫn là một cỗ máy 4 bánh được mấy bác tài xế lái đưa chúng ta đi mọi miền tổ quốc. Vâng, người lái ở  đây chính là điểm mấu chốt, chứ không có ai lái thì xe xịn mấy cũng đắp chiếu!

Vào năm 2004 đã có 1 cuộc thi về những chiếc xe có thể tự vận hành mà không cần người điểu khiển đã được tổ chức tại Mỹ, từ đây đã tạo ra một cuộc chạy đua giữa các công ty ô tô, để sản xuất chiếc xe tự lái cho riêng mình. Hẳn các bạn thắc mắc là tại sao từ năm 2004 đến nay đã là 2018, nhưng vẫn chưa thấy xe tự lái xuất hiện. Thực ra là nó đã xuất hiện và đang được các công ty chạy thử nghiệm rồi, chỉ là đang hoàn thiện nên bản thương mại hóa chưa được bán.

OK, mình nghĩ nói về lịch sử như vậy là đủ, bây giờ mình sẽ nói về cách thức hoạt động của một chiếc xe tự lái:

Capture9

Hình trên mô tả các bộ phận của một chiếc xe tự lái, bao gồm:

  • LIDAR, máy quét laser dùng để quét môi trường xung quanh và tạo ra một bản đồ khu vực(local map) xung quanh xe.
  • Camera, được gắn trước mũi xe để tính toán xem xe có chạy đúng làn hay không, nó cũng được tích hợp một số thuật toán xử lý ảnh kết hợp với machine learning để phân biệt được những biển báo giao thông và các phương tiện giao thông khác.
  • Một Radar được gắn trước mũi xe, để xác định khoảng cách tới xe phía trước, từ đó đưa ra vận tốc chạy xe hợp lý.
  • Ultrasonic sensor được gắn ở cửa bên hông xe, để tính khoảng cách với lề đường hoặc các xe chạy bên cạnh.
  • On-board unit chính là bộ xử lý chính của xe tự lái, thường sẽ là một bộ vi xử lý mạnh như là Intel Xenon và GPU để tổng hợp dữ liệu từ các cảm biến nói trên. E-map chính là bản đồ khu vực được máy chủ của xe kết hợp với GPS để biết chính xác vị trí của xe.
  • Wheel encoder, chính là cái bánh, nói đúng hơn thì là bộ phận trực tiếp điều khiển bánh xe, nó sẽ nhận lệnh từ on-board unit như là rẽ phải, quẹo trái, đi thẳng.., và điều khiển bánh xe theo những lệnh này.

Như các bạn đã biết, GPS là dùng để định vị chúng ta trên thế giới này với sự giúp đỡ của vệ tinh, và chúng ta cũng biết là nó không chính xác lắm, tầm 99% thôi. GPS được dùng để xác định Kinh độ và Vĩ độ của chiếc xe. Sự chính xác của GPS được cải thiện bởi các loại cảm biến được gắn trên xe, một số cảm biến có độ chính xác được tính bằng m, một số chính xác nhỏ hơn 1 mét.  Bng cách kết hợp GPS, IMU (Inertial measurement units) và wheel odometry data, bằng thuật toán sensor fusion, vịtrí của xe được xác định một cách chính xác hơn.

Dưới đây là block diagram (sơ đồ hoạt động) của một chiếc xe tự lái được sử dụng trong DARPA Challenge:

xxx

Sensor interface modules: Bao gồm tất cả tương tác giữa các cảm biến và chiếc xe ,những cảm biến chính của xe bao gồm LIDAR, Radar, camera, IMU, GPS và wheel encoders.

Perception modules: Đây là nơi tiếp nhận và xử lý tín hiệu từ tất cả các cảm biến như LIDAR, camera… để định vị những vật thể tĩnh hoặc động ở môi trường xung quanh xe và tạo ra một bản đồ cục bộ, đồng thời cũng giúp xác định vị trí của chính chiếc xe dựa trên vị trí của các vật trong bản đồ cục bộ nói trên.

Navigation modules: Xác định hành vi của chiếc xe tự lái, bao gồm tính toán quãng đường đi chính xác nhất cho xe cũng như điều khiển các module khác như là thắng khẩn cấp hoặc gạt nước tự động.

Vehicle interface: Sau khi tính toán được quãng đường ngắn nhất, các lệnh điều khiển, bao gồm điều khiển vô-lăng, bánh xe, thắng, sẽ được gửi từ bộ vi xử lý tới chiếc xe thông qua Drive-By-Wire(DBW) interface. DBW về cơ bản được xây dựng giống như CAN Bus system.

User interface: Đây là nơi chúng ta có thể thấy và tương tác được với hệ thống xe tự lái, bao gồm màn hình touch screen để chúng ta có thể nhập điểm đến, hoặc có thể điều khiển bằng giọng nói. Tất nhiên cũng có nút bấm để ngắt toàn bộ hệ thống trong trường hợp nguy hiểm.

Author:

My name is Truong Thanh, graduated Master of Information Technology and Artificial Intelligent in Frankfurt University,Germany. I create this Blog to share my experience about life, study, travel...with friend who have the same hobbies.

3 thoughts on “Autonomous Navigation

  1. Em chào anh Thành. Bài viết của anh rất hay và bổ ích cho những người mới tìm hiểu về Autonomous Navigation. Em đang tự học và nghiên cứu về xe tự hành. Anh có thể cho em địa chỉ mail để em có thể trao đổi với anh một số thắc mắc không ạ. Em cảm ơn anh.

    Like

Leave a comment