openpilotを搭載した1993年式Volvoの自動運転改造
(practicapp.com)- Carbage Run 2025 Winter edition の参加条件に合わせて古い車両として 1993 Volvo 940 Estate を選び、独創性の評価を狙って openpilot ベースの L2 運転支援改造を開始
- openpilot は最新車種を 275 車種以上サポートしているが、この Volvo は操舵・加速・制動が 機械式/油圧式 のため、各機能を電子的に動かすアクチュエーターが必要
- 操舵は 2020 Toyota Corolla EPS と外部ステアリング角センサーを Volvo のステアリングコラムに移植して実装し、基本電源・イグニッション信号・CAN 接続だけで動作
- 制動は Bosch iBooster で真空式ブレーキブースターを置き換え、加速は RC サーボと補助ケーブルでキャブレターバルブを引く方式で構成
- 既存の油圧式パワーステアリングと新しい電動パワーステアリング補助が同時に動作するためハンドルは軽くなったが、カーブ後にハンドルが自然にセンターへ戻らないという制約が残る
Carbage Run用1993年式Volvoを自動運転車に改造
- 出発点は Carbage Run 2025 Winter edition への参加
- 冬にスウェーデンを通って北極圏まで行き、その後ヘルシンキへ下る 6日間の旅程
- 約 400台 の車両が参加
- 参加車両は最低 20年以上 経過しており、1日あたりの価値が €1000未満 である必要がある
- ベルギーとの往復移動まで含めると、1週間強の期間で約 6000km を走る必要がある
- 車両の独創性も評価対象のため、1993年式 Volvo 940 Estate を 自動運転車 のように仕立てることにした
openpilot が要求する車両条件
- openpilot は comma.ai が開発する L2 高度運転支援プロジェクト
- Tesla Autopilot のような部分自動運転に近い機能を提供
- 最近では Toyota、Honda、Hyundai、VW など 275車種以上 をサポート
- Tesla Model 3/Y もサポート対象に含まれる
- 中核となる条件は、車両が操舵・加速・制動を 電子的に駆動 できること
- 最新の車両では通常、次の装置が CAN-bus メッセージで駆動命令を受ける
- Electric Power Steering、すなわち EPS
- 電動ブレーキブースターまたは ABS ポンプ
- 電子式エンジン制御装置
- 1993 Volvo 940 はこうした条件から大きく外れている
- 操舵は 油圧式
- アクセルペダルはキャブレターまでつながる ケーブル式
- ブレーキブースターは 真空式
操舵: Toyota Corolla EPS の移植
- 車線維持には、電子的にハンドルへトルクを与えられる操舵アクチュエーターが必要
- 選んだ方法は 2020 Toyota Corolla の EPS アクチュエーターと ECU を移植すること
- Corolla ではこのモーターはダッシュボード裏のステアリングコラムに搭載されている
- ドライバーのトルクを測定し、出力軸に増幅した力を伝える
- Volvo の元の直線軸ステアリングコラムを取り外し、途中に Corolla EPS を挟み込む
- Corolla 側のラックからステアリングホイール調整関連の部品を可能な限り取り除く
- Volvo コラムの一部を切断し、Corolla 側のスプラインに溶接
- 元のステアリングフレームから EPS へつながる追加補強材を入れる
- Corolla には外部 ステアリング角センサー もある
- EPS モーター内部センサーは内部制御ループ用の高精度な相対角度に使われる
- 外部センサーは直進時に 0 度となる絶対ステアリング角を提供する
- openpilot の車両コントローラーコードにも絶対ステアリング角が必要
- Toyota の回路図とコネクター資料は少額でダウンロードでき、配線の把握は簡単だった
- ステアリングラックには GND、常時 12V、80A ヒューズ、12V イグニッション信号、ステアリング角センサー用 CAN が必要
- この接続だけで EPS は動作したが、Toyota 車両の速度メッセージなどがないためリンプモードの可能性がある
油圧操舵と電動操舵が同時に残る問題
- 元の Volvo の 油圧式パワーステアリング はそのまま残り、電動 EPS と同時に動作する
- 油圧補助を切って電動補助だけを使う方法も可能だが、ステアリングラックが通常時に EPS から来るより大きなトルクを受け続ける設計かは不明
- 2 つの操舵補助が両方有効な状態でも運転は可能で、操舵は軽くなった
- 欠点は、車両自身の復元トルクが 2 つのシステムを逆駆動するほど十分ではないこと
- カーブでハンドルを離しても中央に戻らない
- 離した位置にそのままとどまる
- 考えられる解決策の 1 つは、油圧を下げて元の補助力を減らす方法だが、まだ試されていない
制動: Bosch iBooster を装着
- 長距離運転の負担を減らす現代車の機能の 1 つが Adaptive Cruise Control
- 前車との安全距離を保つには、車両が自動で制動できなければならない
- 元の Volvo のブレーキは、ドライバーがペダルに加えた力を真空補助で増幅してマスターシリンダーを押す構造
- 現代車でも基本原理は似ており、Tesla などで使われる Bosch iBooster は真空補助を 力センサーと電気モーター に置き換える
- iBooster は EV 改造プロジェクトで広く使われている
- 既存エンジンの負圧源を置き換えるより、すっきりした構成にできる
- CAN が接続されていなくてもリンプモードに入り、制御機能なしで使える
- EVcreate は iBooster の使い方を扱う記事を公開しており、例として Wiring the iBooster がある
- 中古の iBooster は需要が高く、車両価格に対して高価だった
- EVcreate の Lars が、CAN 制御の研究を受ける条件で iBooster を提供した
iBooster の装着工程とブレーキ配管
- Volvo の真空ブースターを外して iBooster を装着したところ、予想に反して ボルト穴パターン と中央位置決め穴が正確に一致した
- iBooster に内蔵されたプッシュロッドも、ペダルと接続するにはほぼ適切な長さだった
- ペダルを踏んでいないときにプッシュロッドが完全に伸びるよう、ねじ付きスタッドに 2mm ワッシャー を追加
- iBooster のマスターシリンダーはポート位置が異なるため、元のブレーキラインは合わなかった
- 小さな分配ブロックのように見える部品まで新しい銅製ブレーキラインを接続
- ブレーキのエア抜きと電源接続の後、ブレーキは正常に動作
- クラッチも同じリザーバーのブレーキフルードで油圧作動する構造だったため、小型の独立タンクを追加
- iBooster のマスターシリンダータンクにはクラッチ用ポートがない
加速: RC サーボと補助ケーブル
- Volvo のアクセルペダルは Bowden ケーブルでキャブレターのエアバルブにつながる 完全な機械式 構造
- 現代車はキャブレターではなく直噴と高度なエンジン制御装置を使うため、適切な現代車用加速アクチュエーターを簡単には見つけられなかった
- 加速アクチュエーターは操舵や制動ほど大きな安全上の意味を持たないと判断し、市販のホビー部品で構成
- 標準的なクルーズコントロールのロジックのように、ドライバーがさらにペダルを踏めば設定された加速位置を上書きできるよう設計
- エアバルブのプーリーに 2 本のケーブルを接続
- より強く引くケーブルが勝つ方式
- AliExpress で防水 RC サーボを購入し、2 つ目のプーリーを加工してサーボに装着
- サーボマウントを作り、緩いケーブルを抑えるために青銅ガイドブッシュを追加
レーダーと次の作業
- アクチュエーターではないが、フロントグリル裏に Tesla Continental レーダーセンサー も装着
- openpilot ではビジョンのみの ACC もある程度動くが、実レーダーを使うとより滑らかで一貫した体験を提供できる
- 次の記事では配線とカスタム ECU を扱う予定
- アクチュエーターが正常動作を維持する役割
- クルーズコントロールボタンの実装
- 速度と方向指示器の読み取り
- その後は ECU コードと openpilot のポートを説明し、オープンソース として公開する計画
1件のコメント
Hacker Newsの意見
Volvo 940は本当にすばらしい車で、これまでに作られた車の中でも品質と設計に優れた車として際立っている。
1960年代のVolvo 140から始まり、70年代の240、80年代の740を経てゆっくり進化した非常に成熟した設計なので、940に至る頃にはほぼすべての問題が磨き込まれていた。
ただ、AWDと燃費の良いディーゼルを一緒に選べたらよかった。ディーゼルは存在したが、米国では販売されなかった。
筆者は電気系のハッキング知識は豊富そうだが、自動車側の知識があればもっと簡単に処理できた部分があった。たとえば、より新しいBOSCH ABSポンプに交換すれば、ブレーキブースターを介さずに電気的にブレーキを作動させられたし、90年代後半のトラクションコントロール搭載の欧州車からこうした装置が使われていた。
ステアリングは電動ステアリングラック全体を移植するか、Volvo 240の完全手動ラックを入れるか、油圧パワーステアリングポンプにエアコンコンプレッサーのクラッチを付けて、駐車速度以上ではオフにする方法で解決できたはず。
また、この車はキャブレターではなく電子式燃料噴射だ。スロットルボディの上にインジェクターと燃料レールが見える。さらに重要なのは、この車には工場出荷時のクルーズコントロール用電子式スロットル制御システムがあり、足りない部品も安くて一般的なので、エンジンに既にあるブラケットとカムにそのまま収まった可能性が高いことだ。
実際にはキャブレターはなく、飛行機で半分寝ぼけながら書いていて、ケーブルで動く機械式スロットル/エアバルブと言おうとしたところを間違えました。
この車にはABSもありません。この年式からオプションだった可能性はありますが、なのでポンプ交換は選択肢ではありませんでした。iBoosterは優秀で簡単な改造なのでおすすめです。
まだやっていませんが、油圧式ステアリングはレギュレーターをシムで調整して圧力を下げる予定で、それで十分そうです。今でもその改造なしである程度ステアリングは効きます。
最近のV90のような大きなVolvoは、ばかげた中国風ラグジュアリーカーになってしまったので買う気はありません。
「最近の車にはキャブレターがなく、直噴と高度なエンジン制御装置を使っているため」という説明は正確ではない。
実際には、燃料噴射システムはスロットル制御とはかなり独立している。必要な燃料量は吸気マニホールド圧センサーを基準に計算されるため、燃料噴射とケーブル式スロットルプレートを併用する車もあった。
問題は、キャブレターがスロットルプレートの上流になければならないので、現代的なスロットルボディ配管を合わせることだったのだと思う。
当時のLHシステムはすべてMAFセンサーを使っていた。
この5年間、openpilotの開発に参加してきており、このプロジェクトのユーザー事例にはいつも大きな関心がある。
今回の休暇では自分の車でopenpilotをオンにして2500マイル走ったが、すばらしかった。全行程のうち、おそらく10%程度だけ自分で運転し、残りは自動化に任せた。
それでも改善すべき点は非常に多いので、今年はopenpilotのフォークを作り、ADAS機能を現代の車、つまりTeslaにもっと近づけることに集中しようと思っている。
最初のリリースはShow HNに投稿する予定だ。
自分でイメージをビルドしてフラッシュする勇気が出たら試してみたいのは、ウインカーを出した車線変更を認識して減速する機能です。今は、車がすでに車線に入り込んだ後でようやく減速するものだと理解しています。例外的な状況が多いのは分かっていますが、かなり安全で礼儀正しい変更に見えます。
それから、複数の車のブレーキランプを認識してアクセルペダルから足を離してくれるといいです。現在は直前の車のレーダーを使っているようですが、周囲の車の75%がブレーキランプを点けているのに、前の車だけ反応が遅い、あるいは攻撃的に運転しているなら、Commaがその連鎖をさらに押し進める理由はありません。
あると本当にうれしい機能としては、速度制限標識を認識してクルーズ速度を合わせることです。特に、出口ランプに65mphで突っ込んでから、曲率が速度に対して大きすぎると文句を言う状況を減らしたいです。
出口ランプの「推奨速度」標識を認識できれば、誰もが望む結果になり、ランプが別の高速道路につながる場合は運転者が別途操作する必要もありません。一時停止標識、黄色信号や赤信号も認識してくれるとよいです。交通状況まで検知する必要はありませんが、一時停止標識や赤信号に向かって全速力で突っ込みながら警告を鳴らすのはありがたくありません。
Commaが自分の車がEVだと分かっていて、ブレーキを踏むよりアクセルペダルを離せるのかも見てみる必要があります。私の車には回生ブレーキの段階が複数あるので、それを考慮してもよいでしょうが、個人的にはBMW i3に慣れているので、いつも最も強い回生ブレーキにしています。
スウェーデンの公道でこの車を運転できるのか気になる
こうしたDIY改造に対してスウェーデンの法律は非常に厳しいと思っていたので、許可されるなら驚きだ
こうした改造はスウェーデンとフィンランドの公道では明らかに違法で、定期検査に通るだけでは足りないことが多い。型式承認を受けて初めて公道走行が合法になる
オランダで登録されているように見えるが、オランダならこの車は定期検査にも通らないと思う。オランダ政府の英語案内ページがある: https://www.government.nl/topics/general-periodic-inspection...
それでもプロジェクト自体はとても格好いい
「幸い、[アクセルペダルのサーボ]は大きな安全上の問題を伴わない唯一のアクチュエータ」という文はぞっとする
そのRCサーボがフルスロットルで固着したらどうなるのか?クラッチを踏めばいいという前提なのだろうが、状況によっては何が起きたのか気づいて反応する時間があまりないかもしれない
第2回ではギアシフトを扱うようだ
直接扱ってはいないが、クラッチも油圧で作動するという手がかりがあるので、マニュアルトランスミッションの可能性がありそうだ。ヨーロッパで買った1993年式Volvoなら妥当な推測だ
新しいトランスミッションを改造して載せるとは思えず、無骨な自動クラッチを付けようとしているのかもしれない
6000kmの走行の大半はその状態だった可能性が高い。ギアシフトが必要な低速交通では「自動運転」を諦める必要があるが、それでも非常に有用だ
筆者は第2回で、配線とアクチュエータを安定して保つために自ら設計したカスタムECU、クルーズコントロールボタンの実装、速度とウインカーの読み取りなどを扱い、その後の第3回でECUコードとopenpilotポートを説明してオープンソースとして公開する予定だと言っていた
自分ではやらないが、こういうことをやり遂げるほど勇敢な人がいるのはいいことだ。素晴らしい話のネタになるだろう
この記事は、車をもっと理解し、自分や他の人へのDIYのインスピレーションにするために保存しておく
comma 3Xにレーダーを追加できるのか?視覚専用だと思っていたので興味深い