🚘

Turingがどのように試作車を作っているか

2023/02/15に公開

Turingで車両開発のエンジニアをしているhidetatzです。ソフトウェア業界のプログラマからTuringでの自動車開発に飛び込みました。

Turingは「We Overtake Tesla」をミッションとし、完全自動運転EVを販売する完成車メーカーになることを目指している会社です。

Turingでは2023年1月20日に、1台目の車「THE FIRST TURING CAR」を販売開始しました!

https://prtimes.jp/main/html/rd/p/000000016.000098132.html

(こちらは既に成約いただいてます。)

「THE FIRST TURING CAR」は、トヨタのレクサスRX450hをベース車両としています。ベース車両というのはどういうことかというと、市販車として売られているレクサスをまずディーラーから買ってきて、それにTuringの自動運転ソフトウェアを組み込んで作られています。つまり、自動運転部分以外は普通のレクサスなわけです。

前述したように、Turingが目指すのは完成車メーカーです。ベース車両にシステムを組み込むだけでなく、自分たちのオリジナルの車両を開発・量産することを目指しています。2025年に100台、2030年には10,000台の生産と販売をマイルストーンに置いており、実現に向け計画を立て遂行しています。

車両を量産することには多くの課題や困難があります。完全自動運転の文脈においてはそれを実現するAI技術が着目されがちですが、実際のところAIは解決されなければいけない課題のひとつに過ぎないような感覚を筆者は持っています。まともに動く車を作るだけでも一苦労で、実際はそれを試験し、法規対応し、量産し、販売する必要があり、それらの道のりはあまりにも多くの不確実性を含んでいます。

Turingではその数ある不確実性のうちのいくつかを減らす手段として、2023年1月から試作車開発に取り組んでいます。

試作車開発に取り組む我々
試作車開発に取り組む我々

何故試作車を作るのか

試作車を開発する最大の目的は、Turingが車両を開発する能力を獲得することにあります。

一般的な自動車メーカーで試作車というと「車両の商品コンセプトや目標性能を実現するために試しに作ってみる」という意味合いです。しかし、Turingは若いスタートアップで、車をゼロから完成させた実績はまだありません。試作車を作ることで「車を作るということは本当のところはどういうことなのか?」に対する解像度を高めようとしています。具体的には、私たちは次のようなことを理解する必要があります。

  • 車の構造。

車はアクセルを踏むと走り、ハンドルを切ると曲がり、ブレーキを踏むと止まります。こういった人間の単純な動作はどう車に伝わり、どう制御されているのかは、大雑把にはわかっていても、細かい部品一つ一つやマイコンの動作といった低レイヤについてはブラックボックスなところも多いです。あれだけ大きな鉄の塊をただペダルを踏むだけで動かせるというのは、これまでの自動車メーカーによる偉大な抽象化の成果です。しかし、私たちがそれをゼロから作るには、やはり低レイヤの理解から始める必要があるでしょう。

  • 車の部品。

EVにはおよそ2万点の部品があると言われています。各部品がどんな働きをするかも大事ですが、ここで着目したいのはその入手性です。一介のプログラマであった筆者には驚くべきことですが、実は車の部品は簡単に買えません。Amazonで売ってません。どんな車を作るためにどんな部品があれば良いのかを考え、部品メーカーとタッグを組む必要があります。

  • 車の制御。

ハンドルを切ると車は曲がりますが、なぜ曲がるのか?というのはけっこう難しい問題です。アクセル、ブレーキ、ハンドルの操作量から車がどう動くのかを推定し、アクチュエータを細やかに制御することは、走行安定性や乗り心地、安全性にも関係します。また重要な観点として、車の乗り心地を言語化するのは至難の業です。制御のアルゴリズムを少し変更して車両にデプロイしたとき、それがどんな変化をもたらしているのか?をエンジニアにフィードバックする仕事は、自動車メーカーでは「テストドライバー」と呼ばれる専門技能を必要とするものです。

試作車開発を通してこれらの理解を獲得することで、実際に車を作るという観点での不確実性を減らそうとしています。

どう試作車を作るのか

私たちの試作車はナンバーを取得して公道を走らせたり販売したりするものではなく、あくまで車両開発能力を獲得する目的で作られます。デバグの容易性なども含めて考えると、「走る・曲がる・止まる・充電」ができる範囲で可能な限り簡素な作りになっていることが望ましいです。

これをなるべく短時間で実現するために、オリジナルのシャシ (自動車の土台となる部分) に完成車 (種車) の部品をピックアップ、一部改修して組み付ける形で試作車を作ることにしました。具体的には、次のようなステップです。

  • ①とりあえず、市販のEVの部品をすべてリストアップする
  • ②リストアップした部品のうち、なくても車が動く電子部品を頑張って引っこ抜く。これで最小構成EVができる
  • ③最小構成EVのうち、Turingで改修したい部分を決め、改修方針の立案と技術調査を実施する。改修方針が決まれば、試作車の最終的な構成ができあがる。
  • ④できあがった最終的な構成をシャシ上で組み上げる
  • ⑤組み上げた車両に制御アルゴリズムをデプロイする
  • ⑥試作車を運転し、目指したい車両運動になっているかを開発にフィードバック、制御アルゴリズムに反映し、またデプロイ、というループを回す
  • 十分に不確実性をつぶせたな、となったら試作車の出番は終了

1月から試作車を作り始め、今私たちは③のあたりにいます。順に見ていきます。

①市販のEVの部品をすべてリストアップする

ゼロから車を作るのは困難なため、まずは種車となる車を調達し調査することから始めました。

私たちのリファレンス車@Turingガレージ
私たちのリファレンス車@Turingガレージ

種車 (リファレンス車と呼びます) のマニュアルを読み、部品をリストアップしていきます。部品といってもネジ1本というレベルではなく、センサ、ECU、アクチュエータ、バッテリーやモーターなどの電子部品です。

スプレッドシートに電子部品をリストアップ
スプレッドシートに電子部品をリストアップ

このリストアップだけでもかなり色々なことがわかりました。まず、リファレンス車は前輪駆動なのですが、車の走る・曲がる・止まるに関連する部品はほとんどがボンネット〜前部座席あたり、車の前側に収まっていました。 また、ライト関係の部品やリレーなどがかなり多かったです。運転しているとあまりわかりませんが、車は実はかなり色々な箇所が光ってます。私たちの試作車は公道を走らないため、ライト関係は不要そうだね、などと話していました。

②なくても車が動く部品を引っこ抜く

できあがった部品リストから、試作車には不要な部品をピックアップし、リファレンス車から実際に外していきます。まず内装やシート、天井、吸音材など電子部品と無関係な部分を外していきます。

簡単に外せそうな内装をまずはがし
簡単に外せそうな内装をまずはがし

椅子やカバーなどの大物を外すと
椅子やカバーなどの大物を外すと

ケーブルや電子部品などがむき出しになります。
ケーブルや電子部品などがむき出しになります。

電子部品がむき出しになったら、次は必要なさそうなコネクタを外していく作業です。ポイントとしては、別に抜いても大丈夫そうな線でも実は抜くと車が起動しなくなってしまうということがたまにあります。慎重にやるなら1本抜くごとに車を動かしたほうが良いのですが、時間を節約するためにある程度あたりをつけまとめて抜いていきました。

例えばルームライト系、ドアやパワーウインドウ系、ワイパーといった関連部品はなくしても車は動きます (もちろんライトはつかなくなるし、窓は開かなくなるし、ワイパーもかけられなくなります) 。

試作車をシンプルにするという観点では、なるべく多くのECUやセンサを外したいです。終盤では抜いたら車が動かなくなってしまったECUを調査し、なぜ動かないのか?具体的にはどこに対するどんな通信が必要なのか?を明らかにして通信を外部のPCなどから偽装することにも取り組みました。運転席付近はこういった箇所がかなり多くあります。

運転席付近は複雑
運転席付近は複雑

これで、普通に走るけど色々不要な電子部品が剝がれている状態の車ができました。この状態で車は日本自動車研究所のテストコースに持っていって走行試験も実施しました。

これでもちゃんと走る
これでもちゃんと走る

③最小構成EVの改修方針を決め、試作車の最終構成を作る

リファレンス車をミニマム構成にできたのですが、この状態で電子部品をシャシに組み付けるわけにはいきません。理由は、リファレンス車と試作車では車両の諸元が異なるからです。諸元とは「全長」「全幅」「全高」「重量」「駆動方式」など車両の基本的なパラメータのことです。

例えばアクセルをどのくらい踏み込むとどのくらいのモータートルクを出すのか、といった車両制御のアルゴリズムは、この諸元を基に作られています。重い車はより多くのトルクを必要とするし、軽い車でそれだけのトルクを出すとドライバーは危険を感じやすいです。

試作車に配備するECUの責務と担わせたい仕事を整理し、どんな制御ロジックを焼きこむかを調査していきます。また、リファレンス車のECU上のマイクロコントローラにオリジナル制御プログラムをデプロイすることが可能かの調査や、各社から販売される汎用ECUが利用できるかの調査も実施しています。

車を構成する電子部品を、信号線1本1本のレベルで挙動を把握しないとこのオリジナル制御は実装できません。ここがこれまでのステップで一番困難なところで、車の低レイヤをいじっている感が最も強いところです。

miroで作っている試作車の電子部品アーキテクチャ
miroで作っている試作車の電子部品アーキテクチャ

④以降: シャシに部品を組み付け

シャシが手元にまだないためここは今後のブログでお伝えしたいと思いますが、出来上がった構成を実際に接続して組み付け、そして乗って走ることになります。

試作車開発の課題

試作車開発にあるいくつかの課題を紹介します。

まずは、最小構成の解き明かしです。リファレンス車から抜いても問題ないパーツを抜くという手法では、ある状態が本当に最小構成かどうか証明できません。パーツ同士に依存関係があることも考えられるためです。そのため、なるべくミニマムなEVのアーキテクチャというのはこれだけで決定するのはやや不安です。

幸いなことに、自動車のE/Eアーキテクチャについては、既に各メーカーによって解き明かされている課題も多いです。実車を使って手探りで調査するだけでなく、リファレンス車のアーキテクチャや一般論としてのEVのアーキテクチャを座学的に学び、最終的な試作車の構成を決めています。

作業安全性の確保も課題のひとつです。実際現場で開発している筆者の感覚では、試作車開発は現場作業の安全性と、試作車の自動車としての安全性に分けて議論できます。

前者について、そもそも自動車開発には様々な危険が伴います。ドアや自動車の下にはさまれたりする可能性があるし、狭い自動車内で頭をぶつけたり、転倒したりすることもあり得ます。加えて、EVでは強電バッテリーを扱うため感電にも気を付ける必要があります。これらについては、作業安全のセオリーを取り入れること、5Sを取り入れること、事故防止のための知識を座学でインプットすることで担保しようとしています。

https://twitter.com/issei_y/status/1621757961566842880

Turingは安全第一を掲げており、作業の安全性と従業員の健康を最優先で現場作業を実施しています。私自身がTuringの安全衛生推進者を担当して推進しているところです。

試作車の自動車としての安全性確保も課題の一つです。作った試作車でスピードが出すぎる、ブレーキが効かない、ハンドルが効かないなどの事象が起こると極めて危険です。

Turingではソフトウェア力の強みを生かし、なるべく実際に車に乗らずに、ソフトウェアで車両の安全性を担保することを模索しています。もちろん最終的には車に乗るのですが、車に乗る前にわかることを机上で明らかにしておくことは、安全性だけでなく車両開発のスピードアップにも向上すると考えています。

これらの課題は、既に他の自動車メーカーや製造業の会社によって解き明かされているものも多いです。Turingは後発として、それらの知見をふんだんに取り入れて自動車開発を加速させようとしています。

終わりに

試作車開発はまだ途上ですが、ここまでにも多くの困難がありました。マニュアルを読む力、車の仕組みを理解する力、モーターやアクチュエータなどハードウェアの知識、ECUなどのマイコンの知識、工具の使い方の知識、また内装を剥がすためのパワーなどが必要でした。

冒頭にも書いたように、Turingに入る前の筆者はソフトウェアエンジニア・インフラエンジニア・SREのような仕事をしていました。ソフトウェアの知識と自動車開発は交わるところも多いですが、これまでの経験が直接的に活かせる場面は少ないです。それでも筆者のようなソフトウェアエンジニアがTuringで働いているのは、私達は車作りの文化とソフトウェアの文化を融合させることで、日本からもっと良い車を作り出そうとしているからです。この辺りについては、コーポレートサイトをぜひ読んでみてください。

Turingでは様々なレイヤのエンジニアリングパワーを集結させて完全自動運転EV開発に取り組んでおり、優秀なエンジニアを募集しています。興味を持っていただけた方はTuringの公式Webサイト採用情報などをご覧ください。筆者のTwitter DMも公開しているのでお気軽にご連絡ください!

Tech Blog - Turing

Discussion