Bối cảnh và vấn đề nghiên cứu

Trong xu hướng phát triển của ngành công nghiệp ô tô hiện đại, việc tích hợp các hệ thống hỗ trợ lái xe nâng cao (ADAS) và công nghệ tự hành đang trở thành tiêu chuẩn nhằm nâng cao tính an toàn và tiện nghi cho người điều khiển phương tiện. Đỗ xe tại các đô thị đông đúc, bãi đỗ chật hẹp là thao tác gây nhiều áp lực tâm lý và tiềm ẩn nguy cơ va chạm cao, đặc biệt đối với người lái chưa có nhiều kinh nghiệm. Việc tự động hóa quy trình đỗ xe giúp giảm thiểu thời gian tìm kiếm không gian phù hợp, tối ưu hóa thao tác đánh lái và phanh, đồng thời hạn chế các sự cố va chạm ngoài ý muốn.

Đề tài "Nghiên cứu và tính toán hệ thống hỗ trợ đỗ xe tự động" được thực hiện bởi sinh viên Đinh Quốc Bảo (ngành Công nghệ Kỹ thuật Ô tô, Trường Đại học Sư phạm Kỹ thuật TP. Hồ Chí Minh) dưới sự hướng dẫn của ThS. Dương Nguyễn Hắc Lân nhằm giải quyết bài toán quỹ đạo và điều khiển quá trình đỗ xe tự động.

Theo văn bản thuyết minh, các mục tiêu và nhiệm vụ nghiên cứu cụ thể bao gồm:

  1. Tìm hiểu nguyên lý hoạt động của hệ thống hỗ trợ đỗ xe thông minh.
  2. Tính toán các số liệu khi đánh lái gồm: góc đánh lái, bán kính quay vòng.
  3. Tính toán quỹ đạo di chuyển của xe.
  4. Mô phỏng các tính toán trên phần mềm MATLAB.
  5. Xây dựng mô hình xe điều khiển bằng Arduino để mô phỏng quá trình đỗ xe tự động.
  6. Tự đánh giá về mức độ hoàn thiện của sản phẩm và đưa ra hướng hoàn thiện.

Đối tượng và phạm vi nghiên cứu:

  • Đối tượng nghiên cứu: Các dòng xe du lịch dạng Sedan và SUV.
  • Phạm vi nghiên cứu: Tập trung vào bài toán đỗ xe song song; xác định quỹ đạo di chuyển bằng phương pháp hình học và phương pháp tính ngược; kiểm chứng số liệu thông qua mô phỏng trên MATLAB; chế tạo mô hình xe phần cứng quy mô nhỏ sử dụng vi điều khiển Arduino để thực nghiệm thuật toán.
  • Thời gian thực hiện: Từ ngày 28/09/2023 đến tháng 01/2024.

Cơ sở lý thuyết và phương pháp

Khung lý thuyết và mô hình tính toán

Nghiên cứu sử dụng mô hình động học xe (kinematic bicycle model) làm cơ sở tính toán chính. Ở dải vận tốc thấp trong quá trình đỗ xe, giả định bỏ qua hiện tượng trượt ngang của lốp xe do tính đàn hồi, cho phép coi phương tiện như một vật thể cứng chuyển động trên mặt phẳng hai chiều:

$$\dot{x} = v_r \cdot \cos(\phi)$$

$$\dot{y} = v_r \cdot \sin(\phi)$$

$$\dot{\phi} = \frac{v_r \cdot \tan(\delta)}{l}$$

Trong đó:

  • $x, y$: Tọa độ trung tâm cầu sau của xe.
  • $\dot{x}, \dot{y}$: Vận tốc chuyển động theo các trục tọa độ.
  • $v_r$: Vận tốc tại trung tâm cầu sau.
  • $\phi$: Góc hướng thân xe; $\dot{\phi}$: Tốc độ góc quay thân xe.
  • $\delta$: Góc đánh lái của bánh xe phía trước.
  • $l$: Chiều dài cơ sở của xe.

Quan hệ hình học khi quay vòng và điều kiện động học Ackermann để các bánh xe dẫn hướng không bị trượt lết hoặc trượt quay được biểu diễn qua phương trình:

$$\cot(\delta_1) - \cot(\delta_2) = \frac{q}{l}$$

$$R = \frac{l}{\tan(\delta)}, \quad \omega = \frac{v}{R} = \frac{v}{l} \tan(\delta)$$

Trong đó $q$ là khoảng cách giữa hai đường tâm trụ đứng, $\delta_1$ và $\delta_2$ lần lượt là góc quay vòng của bánh xe dẫn hướng phía ngoài và phía trong, $R$ là bán kính quay vòng, $\omega$ là vận tốc góc quay vòng.

Phương pháp tính toán quỹ đạo đỗ xe song song áp dụng nguyên lý tính toán ngược (reverse path planning): xác định quỹ đạo hình học gồm các cung tròn tiếp xúc nhau từ vị trí đỗ mục tiêu ($P_3$) qua điểm chuyển tiếp ($P_2$) ngược về vị trí bắt đầu ($P_1$), từ đó thiết lập đường đi cho xe lùi vào không gian đỗ.

Phương pháp nghiên cứu

  • Phương pháp phân tích lý thuyết và hình học: Thiết lập hệ phương trình giới hạn biên để xe không va chạm với chướng ngại vật phía trước, phía sau và thành vỉa hè; xác định kích thước tối thiểu của bãi đỗ ($L_p, W_p$).
  • Phương pháp mô phỏng số: Lập trình giải thuật và vẽ đồ thị quỹ đạo chuyển động trên MATLAB, xác định vị trí tâm quay vòng $O_1$.
  • Phương pháp thực nghiệm mô hình: Chế tạo phần cứng xe mô hình nhúng, lập trình điều khiển thu thập dữ liệu cảm biến siêu âm và kích hoạt động cơ chấp hành.

Bảng tổng hợp các thông số và ký hiệu sử dụng

Ký hiệu Ý nghĩa thông số Đơn vị đo / Vai trò
$\delta$ Góc đánh lái bánh trước Độ / Radian
$l$ Chiều dài cơ sở của xe m / cm
$l_f, l_r$ Khoảng cách từ tâm trục trước/sau đến đầu/đuôi xe m / cm
$L, W$ Chiều dài và chiều rộng tổng thể của xe m / cm
$q$ Khoảng cách giữa hai đường tâm trụ đứng m / cm
$R_i, R_e$ Bán kính quay vòng tối thiểu và tối đa m / cm
$L_p, W_p$ Chiều dài và chiều rộng bãi đỗ xe m / cm
$\Delta y$ Khoảng cách bên cạnh giữa xe và vật cản cm
$P_1, P_2, P_3$ Điểm bắt đầu, điểm chuyển tiếp và điểm kết thúc quỹ đạo Điểm tọa độ $(x, y)$
$s_0, s_1, s_2$ Quãng đường xe di chuyển trên từng phân đoạn m / cm

Thiết kế và triển khai hệ thống kỹ thuật

Kiến trúc hệ thống trên ô tô thực tế

Trong cấu trúc ô tô hiện đại, hệ thống hỗ trợ đỗ xe tự động được tích hợp từ các cụm phân hệ:

  • Bộ điều khiển điện tử (ECU): Đóng vai trò trung tâm xử lý dữ liệu cảm biến, tính toán nhận diện chỗ trống, hoạch định quỹ đạo và truyền tín hiệu điều khiển góc lái, lực phanh, vận tốc.
  • Hệ thống cảm biến siêu âm (Ultrasonic Sensors): Bố trí tại cản trước, cản sau và hai bên hông xe để đo khoảng cách phản hồi từ sóng âm, quét kích thước ô đỗ và nhận diện vật cản.
  • Hệ thống lái trợ lực điện (EPAS): Sử dụng motor điện kết hợp cảm biến góc lái (Steering Angle Sensor) và cảm biến tốc độ để tự động xoay vô lăng theo lệnh từ ECU mà không cần sự can thiệp cơ học của tài xế.
  • Giao diện người dùng: Gồm nút nhấn kích hoạt chế độ đỗ tự động và màn hình hiển thị bảng đồng hồ/trung tâm để hiển thị trạng thái tìm bãi, cảnh báo va chạm và hướng dẫn thao tác.

Kiến trúc và thiết kế mô hình thực nghiệm Arduino

Mô hình thực nghiệm được thiết kế dạng xe bốn bánh thu nhỏ nhằm mô phỏng lại chu trình đỗ xe song song. Hệ thống điều khiển phân tán gồm hai khối vi điều khiển:

Thành phần Thông số kỹ thuật chính Nhiệm vụ trong mô hình
Arduino Uno R3 Vi điều khiển ATmega328P, 8-bit AVR, 16 MHz, 32 KB Flash, 14 chân Digital I/O, 6 chân Analog, nguồn 5V. Đóng vai trò vi điều khiển trung tâm: xử lý thuật toán chuyển động, điều khiển động cơ chấp hành và cơ cấu lái.
Arduino Nano Vi điều khiển ATmega328P, 16 MHz, 32 KB Flash, 14 chân Digital I/O, 8 chân Analog, dạng đóng vỏ TQFP. Thu thập tín hiệu từ các cảm biến siêu âm, tiền xử lý khoảng cách vật cản.
Giao tiếp UART Cặp chân RX/TX với tốc độ Baud chuẩn. Truyền nhận dữ liệu nối tiếp giữa Arduino Uno R3 và Arduino Nano.
Cảm biến siêu âm Module HC-SR04 (phát và thu sóng siêu âm). Gắn ở cạnh bên và các góc xe để phát hiện vị trí bắt đầu/kết thúc khoảng trống bãi đỗ.
Màn hình hiển thị LCD 1602 tích hợp module chuyển đổi giao tiếp I2C. Kết nối qua 2 chân tín hiệu A4 (SDA), A5 (SCL) để hiển thị trạng thái tìm bãi và thông báo đỗ xe.

Chu trình điều khiển của mô hình diễn ra theo 5 giai đoạn:

  1. Kích hoạt & Quét bãi: Xe di chuyển thẳng dọc theo dãy đỗ, cảm biến siêu âm liên tục quét độ sâu để xác định khoảng trống có chiều dài $L_p$ và chiều rộng $W_p$ thỏa mãn điều kiện hình học.
  2. Xác nhận vị trí $P_1$: Khi phát hiện đủ khoảng cách, hệ thống phát tín hiệu hiển thị lên màn hình LCD và xe dừng lại tại điểm bắt đầu $P_1$.
  3. Giai đoạn 1 (Lùi ngoặt lái 1): Xe bắt đầu lùi với góc đánh lái cố định sang một phía, di chuyển theo cung tròn bán kính $R$ cho đến khi đạt điểm chuyển tiếp $P_2$.
  4. Giai đoạn 2 (Lùi ngoặt lái ngược chiều 2): Tại $P_2$, hệ thống đổi góc đánh lái sang chiều ngược lại để đưa đuôi xe vào đúng hướng song song tại điểm kết thúc $P_3$.
  5. Dừng xe và hoàn tất: Xe căn chỉnh thẳng lái và dừng hoàn toàn trong bãi đỗ.

Nội dung chính theo từng chương

Chương 1: Tổng quan về đề tài

Chương này phân tích tính cấp thiết của công nghệ hỗ trợ đỗ xe tự động trong bối cảnh giao thông hiện đại. Tác giả tổng hợp xu hướng nghiên cứu trên thế giới với các đơn vị tiên phong như Baidu, Huawei (Trung Quốc), Tesla, Waymo, GM (Hoa Kỳ), cũng như định hướng tích hợp ADAS tại Châu Âu, Nhật Bản và Hàn Quốc. Chương 1 xác lập đối tượng nghiên cứu là xe Sedan và SUV, phạm vi tính toán quỹ đạo hình học kết hợp mô phỏng MATLAB và thực nghiệm mô hình nhúng Arduino, đồng thời đưa ra biểu kế hoạch thực hiện chi tiết từ tháng 10/2023 đến tháng 01/2024.

Chương 2: Cơ sở lý thuyết

Nội dung chương 2 tập trung vào cơ sở động học xe và các nền tảng kỹ thuật phục vụ tính toán:

  • Thiết lập phương trình vi phân mô tả chuyển động phẳng của ô tô dựa trên tọa độ tâm trục sau.
  • Phân tích động học quay vòng xe, mối quan hệ giữa bán kính quay vòng $R$, chiều dài cơ sở $l$ và góc đánh lái $\delta$, cùng biểu thức hình học Ackermann cho hệ thống lái hai bánh dẫn hướng.
  • Trình bày tổng quan về hệ thống lái cơ khí, thủy lực, hệ thống lái trợ lực điện EPS/EPAS và công nghệ lái bốn bánh (4WS) với đặc tính đánh lái ngược pha ở vận tốc dưới 40 km/h (góc quay bánh sau từ $2,8^\circ$ đến $3^\circ$) và cùng pha ở vận tốc trên 40 km/h.
  • Giới thiệu môi trường lập trình toán học MATLAB (cấu trúc IDE, Workspace, M-File script/function) và các thông số phần cứng của bo mạch Arduino Uno R3, Arduino Nano (vi điều khiển ATmega328P, các chuẩn giao tiếp UART, SPI, I2C).

Chương 3: Tổng quan hệ thống hỗ trợ đỗ xe

Chương 3 khái quát lịch sử phát triển của hệ thống đỗ xe tự động từ thập niên 1990 đến các hệ thống thương mại hiện đại. Tác giả mô tả chi tiết 5 thành phần cấu tạo cốt lõi: Nút bấm điều khiển, Cảm biến siêu âm, Bộ điều khiển điện tử ECU, Hệ thống trợ lực điện EPAS và Màn hình hiển thị. Chương này phân loại ba dạng đỗ xe tiêu chuẩn: đỗ song song (Parallel Parking), đỗ vuông góc (Perpendicular Parking) và đỗ chéo (Diagonal Parking); đồng thời phân tích quy trình vận hành 5 bước và điểm qua các hệ sinh thái đỗ xe thương mại tiêu biểu như Tesla Autopark, BMW Park Assist, Mercedes-Benz Active Park Assist và Toyota Intelligent Park Assist (IPA).

Chương 4: Nghiên cứu và tính toán hệ thống

Đây là chương trọng tâm về mặt giải thuật của đồ án:

  • Thiết lập các phương trình ràng buộc hình học nhằm tránh va chạm giữa đầu/đuôi xe với các xe đỗ phía trước và phía sau trong cả hai chiều: lùi vào bãi đỗ và tiến ra khỏi bãi đỗ.
  • Ứng dụng phương pháp tính ngược để xác định tọa độ các điểm $P_1$, $P_2$, $P_3$ và tọa độ tâm quay vòng $O_1$.
  • Thực hiện lập trình tính toán trên MATLAB: khảo sát đồ thị tương quan giá trị khoảng cách bên $\Delta y$, chạy mô phỏng quỹ đạo di chuyển của xe với thông số khoảng cách thiết lập cụ thể là $\Delta y = 3\text{ cm}$, từ đó xuất ra đường cong quỹ đạo tối ưu cho xe vào bãi đỗ song song.

Chương 5: Mô hình xe điều khiển bằng Arduino

Chương 5 trình bày toàn bộ quá trình hiện thực hóa mô hình vật lý:

  • Thiết kế sơ đồ khối nguyên lý, cấu hình phân chia nhiệm vụ và kết nối truyền thông UART giữa Arduino Uno R3 và Arduino Nano.
  • Sơ đồ đấu nối chân tín hiệu của màn hình hiển thị LCD 1602 giao tiếp qua giao thức I2C, module cảm biến siêu âm HC-SR04, hệ thống động cơ di chuyển và cơ cấu servo đánh lái.
  • Xây dựng sơ đồ thuật toán xử lý chương trình cho Arduino Uno và Arduino Nano, xử lý các trạng thái tìm kiếm bãi đỗ, đọc dữ liệu cổng nối tiếp (Serial Port).
  • Ghi nhận kết quả chạy thực nghiệm của mô hình xe tự hành trong không gian đỗ mô phỏng.

Chương 6: Kết luận và hướng phát triển

Chương 6 tổng kết toàn bộ kết quả thu được của đồ án về mặt tính toán lý thuyết, mô phỏng số và chế tạo mô hình thực nghiệm, đồng thời chỉ ra các hạn chế và đề xuất các định hướng nâng cấp hệ thống trong tương lai.


Kết quả và đóng góp

Kết quả tính toán và thực nghiệm

  • Về mặt giải thuật và mô phỏng: Đã xây dựng thành công bộ công thức tính toán quỹ đạo lùi đỗ song song hai giai đoạn dựa trên bán kính quay vòng tối thiểu và tối đa ($R_i, R_e$). Ứng dụng MATLAB để giải phương trình xác định tọa độ tâm quay $O_1$ và vẽ chính xác quỹ đạo chuyển động với khoảng cách hông $\Delta y = 3\text{ cm}$.
  • Về mặt chế tạo phần cứng: Xây dựng hoàn chỉnh mô hình xe tự hành tích hợp 2 vi điều khiển Arduino (Uno R3 và Nano) liên lạc qua UART, hệ thống cảm biến siêu âm HC-SR04 và màn hình hiển thị LCD 1602 I2C.
  • Về mặt vận hành: Mô hình thực nghiệm đã tự động quét nhận diện được vị trí bãi đỗ, dừng đúng điểm bắt đầu $P_1$, thực hiện thao tác đánh lái lùi qua điểm $P_2$ và tiến vào vị trí $P_3$ an toàn, không xảy ra va chạm.

Đóng góp kỹ thuật của đề tài

  • Hệ thống hóa đầy đủ cơ sở lý thuyết động học lái (Ackermann, 4WS) và nguyên lý cấu tạo của hệ thống hỗ trợ đỗ xe tự động trên ô tô thương mại.
  • Cung cấp phương pháp luận tính toán ngược hình học chi tiết, giúp đơn giản hóa thuật toán hoạch định quỹ đạo đỗ xe mà không đòi hỏi năng lực tính toán quá phức tạp từ vi điều khiển nhúng.
  • Cung cấp thiết kế mẫu về kiến trúc vi điều khiển kép (Master-Slave) sử dụng Arduino, chứng minh tính khả thi của việc mô phỏng giải thuật ADAS bằng mô hình phần cứng chi phí thấp.

Hạn chế và hướng nghiên cứu tiếp

Hạn chế được ghi nhận

  • Mô hình tính toán dựa trên động học ở tốc độ thấp, bỏ qua biến dạng lốp và các yếu tố động lực học lực bám mặt đường.
  • Thuật toán tính toán và thực nghiệm trong đồ án mới chỉ tập trung vào trường hợp đỗ xe song song, chưa triển khai cho các trường hợp đỗ vuông góc và đỗ chéo.
  • Mô hình thực nghiệm sử dụng cảm biến siêu âm đơn kênh HC-SR04, chưa tích hợp camera xử lý ảnh hay radar quét 3D như trên các dòng xe thương mại thực tế.

Hướng phát triển tiếp theo

  • Mở rộng thuật toán tính toán và chương trình điều khiển cho các bài toán đỗ xe vuông góc (Perpendicular Parking) và đỗ xe chéo góc (Diagonal Parking).
  • Nghiên cứu tích hợp thêm camera và thuật toán xử lý ảnh để nhận diện vạch kẻ bãi đỗ và biển báo.
  • Nâng cấp phần cứng điều khiển, thử nghiệm thuật toán trên các nền tảng nhúng có hiệu năng cao hơn hoặc tích hợp truyền thông mạng CAN trên xe thực tế.

Giá trị tham khảo

Bản thuyết minh đồ án là tài liệu tham khảo hữu ích cho:

  • Sinh viên ngành Công nghệ Kỹ thuật Ô tô, Kỹ thuật Cơ điện tử, Robot và Hệ thống Điều khiển Tự động: Phục vụ học tập các môn học về Lý thuyết Ô tô, Hệ thống Điện - Điện tử trên Ô tô, Hệ thống Điều khiển Tự động và Đồ án tốt nghiệp.
  • Nghiên cứu viên và kỹ sư phát triển ADAS: Tham khảo phương pháp xây dựng mô hình toán học quỹ đạo đỗ xe song song, các công thức kiểm tra biên giới hạn va chạm (Chương 4) và phương pháp xây dựng mô hình kiểm chứng nhanh bằng Arduino/MATLAB (Chương 5).

Câu hỏi thường gặp

1. Vì sao đồ án sử dụng mô hình động học thay vì mô hình động lực học để tính toán quỹ đạo đỗ xe?
Trong quá trình đỗ xe, phương tiện di chuyển ở dải tốc độ rất thấp, hiện tượng trượt bên của lốp xe do tính đàn hồi là không đáng kể. Việc sử dụng mô hình động học coi thân xe là vật thể cứng giúp đơn giản hóa các phép toán hình học, giảm tải khối lượng tính toán cho bộ điều khiển mà vẫn đảm bảo độ chính xác vị trí và hướng xe.

2. Phương pháp tính ngược quỹ đạo di chuyển của xe hoạt động như thế nào?
Phương pháp tính ngược xác định lộ trình từ điểm đích trong bãi đỗ ($P_3$) qua điểm chuyển tiếp uốn cong ($P_2$) ngược về vị trí xuất phát ($P_1$). Sau khi thiết lập được các cung tròn quỹ đạo và tâm quay $O_1$ không gây va chạm với xe xung quanh, hệ thống điều khiển xe di chuyển ngược lại theo đúng quỹ đạo đó để tiến vào bãi đỗ.

3. Tại sao mô hình thực nghiệm lại sử dụng đồng thời cả hai bo mạch Arduino Uno R3 và Arduino Nano?
Hệ thống sử dụng hai bo mạch vi điều khiển để phân chia tải xử lý: một bo mạch đảm nhận việc liên tục đọc tín hiệu khoảng cách từ các cảm biến siêu âm (Arduino Nano), trong khi bo mạch còn lại (Arduino Uno R3) đóng vai trò trung tâm để xử lý thuật toán chuyển động, điều khiển góc lái, động cơ và hiển thị LCD. Hai bo mạch liên lạc đồng bộ thông qua giao tiếp nối tiếp UART.

4. Mối quan hệ động học Ackermann giữa hai bánh xe dẫn hướng phía trước được biểu diễn bằng công thức nào?
Để đảm bảo các bánh xe dẫn hướng không bị trượt lết khi quay vòng, đường vuông góc với vectơ vận tốc của các bánh xe phải giao nhau tại tâm quay vòng tức thời $O$. Mối quan hệ hình học được xác lập qua công thức: $\cot(\delta_1) - \cot(\delta_2) = \frac{q}{l}$, trong đó $q$ là khoảng cách giữa hai đường tâm trụ đứng và $l$ là chiều dài cơ sở của xe.

5. Hệ thống hỗ trợ đỗ xe tự động trên ô tô thương mại theo thuyết minh gồm những bộ phận chính nào?
Hệ thống bao gồm 5 bộ phận cơ bản: Nút bấm kích hoạt hệ thống, Cảm biến siêu âm (Ultrasonic Sensor) gắn xung quanh xe, Bộ điều khiển điện tử ECU (xử lý dữ liệu và tính toán), Hệ thống trợ lực lái điện EPAS (thực hiện góc đánh lái tự động) và Màn hình hiển thị trên bảng taplo (thông báo trạng thái và hướng dẫn lái xe).


Kết luận

Đồ án tốt nghiệp "Nghiên cứu và tính toán hệ thống hỗ trợ đỗ xe tự động" của sinh viên Đinh Quốc Bảo đã giải quyết hoàn chỉnh bài toán đỗ xe song song từ cơ sở lý thuyết động học đến tính toán quỹ đạo hình học tránh va chạm. Các công thức toán học được kiểm chứng độ tin cậy thông qua phần mềm mô phỏng MATLAB và được hiện thực hóa thành công trên mô hình xe tự hành nhúng sử dụng vi điều khiển kép Arduino Uno R3 và Arduino Nano. Kết quả nghiên cứu là nền tảng kỹ thuật hữu ích, có giá trị ứng dụng thực tiễn cao cho việc phát triển các tính năng hỗ trợ lái xe thông minh trong ngành công nghệ ô tô.