- Chọn một chiếc xe cũ đáp ứng điều kiện tham gia Carbage Run 2025 Winter edition, cụ thể là 1993 Volvo 940 Estate, rồi bắt đầu dự án độ hệ thống hỗ trợ lái cấp L2 dựa trên openpilot để ghi điểm về tính độc đáo
- openpilot hỗ trợ hơn 275 mẫu xe đời mới, nhưng chiếc Volvo này có hệ thống lái, ga và phanh đều là cơ khí/thủy lực, nên cần thêm actuator để điều khiển điện tử từng chức năng
- Phần lái được triển khai bằng cách cấy EPS của Toyota Corolla 2020 cùng cảm biến góc lái ngoài vào cột lái của Volvo; chỉ cần nguồn cơ bản, tín hiệu đánh lửa và kết nối CAN là đã hoạt động
- Phanh dùng Bosch iBooster để thay bộ trợ lực phanh chân không, còn ga dùng servo RC và dây cáp phụ để kéo van bộ chế hòa khí
- Trợ lực lái thủy lực nguyên bản và trợ lực lái điện mới cùng hoạt động nên vô-lăng nhẹ hơn, nhưng vẫn còn hạn chế là sau khi vào cua, vô-lăng không tự trả về giữa được
Độ chiếc Volvo 1993 thành xe tự lái cho Carbage Run
- Điểm khởi đầu là tham gia Carbage Run 2025 Winter edition
- Hành trình 6 ngày, đi qua Thụy Điển vào mùa đông, lên đến Vòng Bắc Cực rồi đi xuống Helsinki
- Có khoảng 400 xe cùng tham gia
- Xe tham gia phải có tuổi đời ít nhất 20 năm và giá trị mỗi ngày dưới €1000
- Tính cả quãng đường đi và về từ Bỉ, tổng cộng phải chạy khoảng 6000km trong hơn một tuần một chút
- Vì tính độc đáo của chiếc xe cũng được chấm điểm, tác giả quyết định biến chiếc Volvo 940 Estate đời 1993 thành một chiếc xe tự lái
Điều kiện phương tiện mà openpilot yêu cầu
- openpilot là dự án hỗ trợ lái nâng cao cấp L2 do comma.ai phát triển
- Nó cung cấp các tính năng gần với tự lái một phần, tương tự Tesla Autopilot
- Gần đây đã hỗ trợ hơn 275 mẫu xe từ Toyota, Honda, Hyundai, VW...
- Tesla Model 3/Y cũng nằm trong danh sách hỗ trợ
- Điều kiện cốt lõi là xe phải có khả năng điều khiển điện tử đối với lái, ga và phanh
- Ở xe đời mới, các bộ phận sau thường nhận lệnh điều khiển qua bản tin CAN-bus
- Electric Power Steering, tức EPS
- Bộ trợ lực phanh điện hoặc bơm ABS
- Bộ điều khiển động cơ điện tử
- Volvo 940 đời 1993 thì khá xa so với những điều kiện đó
- Hệ thống lái là thủy lực
- Bàn đạp ga dùng dây cáp nối tới bộ chế hòa khí
- Bộ trợ lực phanh là loại chân không
Hệ thống lái: cấy EPS của Toyota Corolla
- Để giữ làn, cần một actuator lái có thể tạo mô-men xoắn điện tử lên vô-lăng
- Giải pháp được chọn là cấy actuator EPS và ECU từ Toyota Corolla 2020
- Trên Corolla, motor này được gắn vào cột lái phía sau bảng táp-lô
- Nó đo lực xoắn từ người lái rồi khuếch đại lực đó lên trục đầu ra
- Tác giả tháo cột lái trục thẳng nguyên bản của Volvo và chèn EPS của Corolla vào giữa
- Loại bỏ tối đa các chi tiết liên quan đến chỉnh vô-lăng từ cụm rack của Corolla
- Cắt một phần cột lái của Volvo rồi hàn vào spline phía Corolla
- Bổ sung thanh gia cường từ khung lái nguyên bản sang EPS
- Corolla cũng có cảm biến góc lái bên ngoài
- Cảm biến bên trong motor EPS dùng cho vòng lặp điều khiển nội bộ với góc tương đối chính xác
- Cảm biến ngoài cung cấp góc lái tuyệt đối, với 0 độ là đi thẳng
- Mã bộ điều khiển xe trong openpilot cũng cần góc lái tuyệt đối
- Nhờ có thể tải sơ đồ mạch và tài liệu đầu nối của Toyota với chi phí nhỏ, việc lần dây khá đơn giản
- Cụm lái cần GND, 12V thường trực, cầu chì 80A, tín hiệu đánh lửa 12V và CAN cho cảm biến góc lái
- Chỉ với các kết nối đó, EPS đã hoạt động; có thể nó đang ở chế độ limp do thiếu các bản tin tốc độ xe của Toyota
Vấn đề khi trợ lực lái thủy lực và điện cùng tồn tại
- Trợ lực lái thủy lực nguyên bản của Volvo vẫn được giữ lại và hoạt động đồng thời với EPS điện
- Có thể tắt trợ lực thủy lực và chỉ dùng trợ lực điện, nhưng chưa rõ liệu thanh răng lái có được thiết kế để luôn chịu mô-men lớn hơn từ EPS hay không
- Ngay cả khi cả hai hệ thống trợ lực cùng bật, xe vẫn lái được và vô-lăng trở nên nhẹ hơn
- Nhược điểm là mô-men tự hồi của xe không đủ mạnh để kéo ngược cả hai hệ thống
- Khi ra khỏi cua, thả vô-lăng thì nó không tự trở về giữa
- Nó sẽ đứng yên tại vị trí được thả ra
- Một hướng khắc phục là giảm áp suất thủy lực để giảm bớt lực trợ lực nguyên bản, nhưng chưa được thử
Hệ thống phanh: lắp Bosch iBooster
- Một trong những tính năng giúp đỡ mệt khi lái đường dài trên xe hiện đại là Adaptive Cruise Control
- Để giữ khoảng cách an toàn với xe phía trước, xe phải có khả năng tự phanh
- Hệ thống phanh nguyên bản của Volvo hoạt động theo kiểu lực đạp của người lái được trợ lực chân không khuếch đại để đẩy xi-lanh chính
- Xe hiện đại về cơ bản cũng tương tự, nhưng Bosch iBooster dùng trên Tesla và các xe khác thay phần trợ lực chân không bằng cảm biến lực và motor điện
- iBooster được dùng rộng rãi trong các dự án độ EV
- Cấu hình gọn gàng hơn so với việc thay thế nguồn chân không từ động cơ cũ
- Ngay cả khi không có CAN, nó vẫn vào chế độ limp và có thể dùng mà không cần chức năng điều khiển
- EVcreate đã đăng bài hướng dẫn dùng iBooster, ví dụ như Wiring the iBooster
- iBooster cũ khá phổ biến nhưng vẫn đắt so với giá trị chiếc xe
- Lars từ EVcreate đã cung cấp một bộ iBooster với điều kiện tác giả nghiên cứu điều khiển qua CAN
Quá trình lắp iBooster và đi lại đường ống phanh
- Sau khi tháo bộ trợ lực chân không của Volvo và lắp iBooster vào, thật bất ngờ là mẫu lỗ bu-lông và lỗ căn tâm ở giữa khớp chính xác
- Thanh đẩy tích hợp trong iBooster cũng gần như có chiều dài phù hợp để nối với bàn đạp
- Tác giả thêm vòng đệm 2mm vào ty ren để thanh đẩy duỗi hoàn toàn khi không đạp phanh
- Xi-lanh chính của iBooster có vị trí các cổng khác đi nên đường ống phanh nguyên bản không còn phù hợp
- Tác giả đi lại các ống phanh đồng mới tới chi tiết trông như một khối chia nhỏ
- Sau khi xả e phanh và cấp điện, hệ thống phanh hoạt động bình thường
- Côn cũng dùng dầu phanh từ cùng bình chứa để vận hành thủy lực, nên tác giả gắn thêm một bình nhỏ riêng
- Bình dầu trên xi-lanh chính của iBooster không có cổng dành cho côn
Hệ thống ga: servo RC và dây cáp phụ
- Bàn đạp ga của Volvo là kết cấu thuần cơ khí, nối bằng cáp Bowden tới van gió của bộ chế hòa khí
- Xe đời mới dùng phun nhiên liệu trực tiếp và bộ điều khiển động cơ tiên tiến thay vì bộ chế hòa khí, nên không dễ tìm được actuator ga phù hợp từ xe hiện đại
- Tác giả cho rằng actuator ga không mang ý nghĩa an toàn lớn như lái hay phanh, nên ghép bằng linh kiện hobby có sẵn
- Hệ thống được thiết kế để nếu người lái đạp ga mạnh hơn thì có thể ghi đè vị trí ga đã áp dụng, tương tự logic cruise control tiêu chuẩn
- Có 2 dây cáp nối vào puly van gió
- Dây nào kéo xa hơn thì dây đó thắng
- Tác giả mua servo RC chống nước trên AliExpress và gia công thêm puly thứ hai để gắn vào servo
- Làm giá đỡ cho servo và thêm bạc dẫn hướng bằng đồng để hạn chế độ chùng của cáp
Radar và các bước tiếp theo
- Dù không phải actuator, tác giả cũng lắp cảm biến radar Tesla Continental phía sau lưới tản nhiệt trước
- openpilot vẫn có thể chạy ACC chỉ bằng thị giác ở một mức độ nào đó, nhưng dùng radar thật cho trải nghiệm mượt mà và ổn định hơn
- Bài tiếp theo sẽ nói về phần dây điện và ECU tùy biến
- Vai trò là giữ cho các actuator hoạt động bình thường
- Triển khai các nút cruise control
- Đọc tốc độ và tín hiệu xi-nhan
- Sau đó tác giả sẽ giải thích mã ECU và bản port openpilot, rồi công bố dưới dạng mã nguồn mở
1 bình luận
Các ý kiến trên Hacker News
Volvo 940 là một chiếc xe thật sự rất tuyệt, và nổi bật ngay cả trong số những chiếc xe từng được sản xuất nhờ chất lượng và thiết kế xuất sắc
Đây là một thiết kế rất chín muồi, bắt đầu từ Volvo 140 thập niên 1960, rồi dần tiến hóa qua 240 thập niên 70 và 740 thập niên 80, nên đến 940 thì gần như mọi vấn đề đã được tinh chỉnh xong
Chỉ tiếc là giá mà có thể chọn AWD cùng với động cơ diesel tiết kiệm nhiên liệu. Có bản diesel, nhưng không được bán ở Mỹ
Người viết có vẻ có nhiều kiến thức về hack điện/điện tử, nhưng nếu rành ô tô hơn thì đã có vài phần có thể xử lý dễ hơn. Ví dụ, nếu thay bằng bơm ABS BOSCH đời mới hơn thì có thể kích hoạt phanh bằng điện mà không cần đi qua bầu trợ lực phanh; thiết bị kiểu này đã được dùng từ các xe châu Âu cuối thập niên 90 có traction control
Phần lái có lẽ cũng có thể giải quyết bằng cách cấy nguyên cụm thước lái điện, hoặc lắp thước lái hoàn toàn cơ của Volvo 240, hoặc gắn ly hợp máy nén điều hòa vào bơm trợ lực lái thủy lực để tắt nó khi xe chạy nhanh hơn tốc độ đỗ xe
Ngoài ra, chiếc xe này không dùng bộ chế hòa khí mà là phun nhiên liệu điện tử. Có thể thấy kim phun và rail nhiên liệu phía trên thân bướm ga. Quan trọng hơn, xe này có hệ thống điều khiển bướm ga điện tử cho cruise control xuất xưởng; các phụ tùng còn thiếu cũng rẻ và phổ biến, nên rất có khả năng chúng lắp vừa vào các giá đỡ và cam đã có sẵn trên động cơ
Đúng là xe không có bộ chế hòa khí; tôi viết nhầm trong lúc nửa tỉnh nửa ngủ trên máy bay, ý định nói là bướm ga/van khí cơ khí vận hành bằng dây cáp
Chiếc xe này cũng không có ABS. Có thể từ đời này ABS là tùy chọn, nhưng vì vậy thay bơm không phải là lựa chọn. iBooster là một bản độ tuyệt vời và dễ làm, tôi khuyên dùng
Tôi vẫn chưa làm, nhưng với hệ thống lái thủy lực, tôi định chỉnh bộ điều áp bằng shim để hạ áp suất, và có vẻ như vậy là đủ. Hiện tại dù chưa độ như thế thì xe vẫn lái được ở mức nào đó
Những chiếc Volvo cỡ lớn ngày nay như V90 đã trở thành kiểu xe sang Trung Quốc ngớ ngẩn, nên tôi không có ý định mua
Cách giải thích rằng “xe ngày nay không có bộ chế hòa khí mà dùng phun trực tiếp và bộ điều khiển động cơ cao cấp” là không chính xác
Thực tế, hệ thống phun nhiên liệu khá độc lập với điều khiển bướm ga. Lượng nhiên liệu cần thiết được tính dựa trên cảm biến áp suất cổ góp nạp, nên đã từng có những xe dùng phun nhiên liệu cùng với lá bướm ga điều khiển bằng dây cáp
Vấn đề có lẽ là bộ chế hòa khí phải nằm phía thượng lưu của lá bướm ga, nên phần khó là làm cho nó khớp với đường ống thân bướm ga hiện đại
Các hệ thống LH thời đó đều dùng cảm biến MAF
Tôi đã tham gia phát triển openpilot trong 5 năm qua và luôn rất quan tâm đến các trường hợp người dùng của dự án này
Kỳ nghỉ vừa rồi tôi bật openpilot trên xe của mình và chạy 2500 dặm, rất tuyệt. Có lẽ tôi chỉ tự lái khoảng 10% toàn bộ hành trình, phần còn lại giao cho tự động hóa
Dù vậy vẫn còn rất nhiều thứ cần cải thiện, nên năm nay tôi định tạo một fork của openpilot, tập trung đưa các tính năng ADAS gần hơn với xe hiện đại, tức là gần với Tesla hơn
Tôi dự định đăng bản phát hành đầu tiên lên Show HN
Nếu có đủ can đảm tự build image và flash, điều tôi muốn thử là tính năng nhận biết việc đổi làn khi bật xi-nhan để giảm tốc. Theo tôi biết, hiện nay xe chỉ giảm tốc sau khi xe kia đã lấn vào làn. Tôi biết có nhiều ngoại lệ, nhưng đây có vẻ là một thay đổi khá an toàn và lịch sự
Tôi cũng muốn nó nhận diện đèn phanh của nhiều xe để nhả chân ga. Hiện có vẻ nó dùng radar của xe ngay phía trước, nhưng nếu 75% xe xung quanh đã bật đèn phanh mà xe trước phản ứng chậm hoặc đang lái hung hăng, thì Comma không có lý do gì để tiếp tục đẩy chuỗi phản ứng đó thêm
Một tính năng thực sự hữu ích nếu có là nhận diện biển báo giới hạn tốc độ và điều chỉnh tốc độ cruise theo đó. Đặc biệt tôi muốn giảm những tình huống lao vào ramp lối ra ở 65mph rồi nó than phiền rằng độ cong quá lớn so với tốc độ
Nếu nhận diện được biển “tốc độ khuyến nghị” trên ramp lối ra thì sẽ cho kết quả mà mọi người mong muốn, và khi ramp nối sang một xa lộ khác thì người lái cũng không cần thao tác riêng. Sẽ tốt nếu nó nhận diện được cả biển dừng, đèn vàng hoặc đèn đỏ. Không cần phải nhận biết toàn bộ tình huống giao thông, nhưng lao hết tốc lực về phía biển dừng và đèn đỏ rồi phát cảnh báo thì không dễ chịu chút nào
Tôi cũng cần xem liệu Comma có biết xe tôi là xe điện để có thể nhả chân ga thay vì đạp phanh hay không. Xe tôi có nhiều mức phanh tái sinh nên cũng nên tính đến điều đó, nhưng cá nhân tôi đã quen với BMW i3 nên luôn để mức phanh tái sinh mạnh nhất
Tôi tò mò không biết có thể lái chiếc xe này trên đường công cộng ở Thụy Điển không
Tôi từng nghĩ luật Thụy Điển sẽ rất nghiêm với các kiểu độ DIY như thế này, nên nếu được phép thì thật đáng ngạc nhiên
Kiểu độ này rõ ràng là bất hợp pháp trên đường công cộng ở Thụy Điển và Phần Lan, và trong nhiều trường hợp chỉ vượt qua kiểm định định kỳ là chưa đủ. Phải có phê duyệt kiểu loại thì việc lưu thông trên đường mới hợp pháp
Trông như xe được đăng ký ở Hà Lan, nhưng nếu là Hà Lan thì tôi nghĩ chiếc này còn không qua nổi kiểm định định kỳ. Có trang hướng dẫn bằng tiếng Anh của chính phủ Hà Lan: https://www.government.nl/topics/general-periodic-inspection...
Dù vậy bản thân dự án thì rất tuyệt
Câu “may mắn là [servo chân ga] là bộ chấp hành duy nhất không kéo theo vấn đề an toàn lớn” nghe rợn người
Nếu cái servo RC đó kẹt ở mức ga tối đa thì sao? Có lẽ giả định là chỉ cần đạp côn, nhưng tùy tình huống có thể không có nhiều thời gian để nhận ra chuyện gì đã xảy ra và phản ứng
Có vẻ phần 2 sẽ nói về sang số
Dù không đề cập trực tiếp, có manh mối rằng côn cũng hoạt động bằng thủy lực nên có vẻ có khả năng là hộp số sàn. Với một chiếc Volvo đời 1993 mua ở châu Âu thì suy đoán này khá hợp lý
Tôi không nghĩ họ sẽ độ một hộp số mới vào, có thể là họ định gắn một bộ ly hợp tự động thô sơ nào đó
Khả năng cao phần lớn quãng đường 6000 km là trong trạng thái đó. Trong giao thông chậm cần sang số thì phải từ bỏ “tự lái”, nhưng như vậy vẫn rất hữu ích
Tác giả nói ở phần 2 sẽ trình bày ECU tùy chỉnh tự thiết kế để giữ dây điện và bộ chấp hành ổn định, cách triển khai nút điều khiển hành trình, đọc tốc độ và đèn xi-nhan, rồi ở phần 3 sẽ giải thích mã ECU và bản port openpilot, đồng thời phát hành mã nguồn mở
Tôi sẽ không tự làm, nhưng thật vui vì có người đủ can đảm để làm được chuyện này. Nó sẽ thành một câu chuyện rất hay
Tôi lưu bài này lại để hiểu thêm về ô tô và lấy cảm hứng DIY cho bản thân cũng như người khác
Có thể thêm radar vào comma 3X à? Tôi tưởng nó chỉ dùng thị giác, thú vị thật