Auto >> 自動車技術 >  >> オートパイロット
  1. 自動車修理
  2. カーケア
  3. エンジン
  4. 電気自動車
  5. オートパイロット
  6. 車の写真

自動運転車エンジニアになる–パート2:ソフトウェアスキル

このブログシリーズのパート1では、自動運転車のエンジニアになるための旅を始める方法について説明しました。ここで、輸送の未来を創造するチームでの地位を固めるために、どのコーディング言語とソフトウェアを学ぶべきかを知りたいと思うかもしれません。

参照–考える–行動する

街の通りを運転して、数百フィート先の縁石にゆっくりと近づいている歩行者を見つけたと想像してみてください。彼らがまだ横断歩道にいない間、あなたは彼らが横断し始めるかもしれないと予測して、あなたの足をブレーキにかけます。あなたの道が交差するとき、人は道路を横断するために前進します。すでに準備ができているので、あなたは立ち止まり、彼らを通過させます。

私たちのエンドツーエンドのレベル4自律システムは、人間のドライバーと同様の方法で意思決定プロセスを模倣するように作成されています。参照–思考–行動。

これは、歩行者を「見る」センサーから、そのセンサーデータをまとめて人として識別するアルゴリズムまで、すべてを実装することを意味します。運転を停止するか、減速するか、継続するかの決定とアクションは、システム自体にプログラムされた動作に基づいています。

これらの単純なシナリオは、環境(雨、雪)、その他の交通(誰かが曲がる予定ですか?)、およびルートの意思決定を考慮すると、より複雑になります。道路で遭遇する可能性のあるさまざまな状況に対応できる堅牢なシステムを作成するには、複数の種類のスキルセットを持つチームが必要です。

私たちのチーム

アクティブセンシングと情報融合 –アクティブセンシングチームは、センサーデータを利用し、アルゴリズムを作成してTorcの自動運転システムのオブジェクトを検出および識別し、システムが車両周辺の環境をリアルタイムで理解して対応できるようにします。

機械学習 –機械学習チームは、システムをトレーニングして、生のセンサーデータで提供できるよりも詳細に表示される特定のオブジェクトを識別します。たとえば、機械学習を使用して、信号機を特定する方法や、歩行者とライトポストの違いを判断する方法をシステムに教えています。

マッピングとローカリゼーション –自動運転車の地図は、人間がナビゲーションに使用する一般的な地図よりもはるかに具体的でなければなりません。私たちのマッピングチームは、3D環境を開発し、自動運転車のドライブをルーティングし、ローカリゼーションチームと協力して、システムがどこにあり、目的地に到達する方法を確実に認識できるようにします。

行動と計画 –行動チームは、特定の状況で車両がどのように行動するかを重視します。たとえば、混雑した高速道路で合流するには、車両が交通の流れに「ジッパー」で入るのに適した場所を決定し、それを安全に達成するために加速を調整する必要があります。

機械的 –機械チームは、車両設計コンセプトを作成し、センサー、マウント、および計算を車両に統合します。

システム統合 –コンポーネントがそれ自体だけでなく、システムとしてチームで重要な役割を果たしていることを確認します。システム統合チームは、コンポーネント全体の高レベルの相互作用を調べます。

組み込み、制御、および電気 –このチームは、ソフトウェアをコンポーネントのシステム全体に統合し、車両を制御する電気システムに取り組んでいます–加速、ブレーキ、ステアリングを考えてください。

Dev Ops – Dev Opsチームは、ソフトウェアの展開を管理し、技術インフラストラクチャを維持するために取り組んでいます。

安全性とテスト –安全性は自律システムの主な目標であるため、安全性とテストのエンジニアは開発のすべての段階で重要です。安全チームとテストチームは、新しい機能をテストおよび検証できるようにするとともに、すべてのチームの安全プロトコルとプラクティスを標準化するように取り組んでいます。

どのように準備する必要がありますか? Torcのエンジニアに、AVチームの専門分野で成功するためにどのようなソフトウェアスキルと経験が役立ったかを尋ねました。

Karan Bhargava、マッピングおよびローカリゼーションソフトウェアエンジニア

C ++はパフォーマンス指向の言語であり、「フードをポップ」してメモリ管理の奥深くまで到達できます。

候補者が確かなC ++およびRoboticOperating System(ROS)スキルを持っている場合、その候補者はすでにロボット工学エンジニアです。マッピングおよびローカリゼーションエンジニアになるには、さらに一歩進んで、一般的な座標変換と3Dジオメトリを理解する必要があります。候補者が同時ローカリゼーションおよびマッピング(SLAM)を使用したことがある場合、その候補者はこの役割に最適です。

DevOpsエンジニアのMatthewVia

DevOpsチームには、ソフトウェア開発とシステム管理を統合するスキルが必要です。 Torcでは、これらのスキルを使用して、車両コンピューティングへのソフトウェアの展開を管理しています。 Linuxコンピューターを適切に管理および管理することも、システムを自動化して堅牢にするための重要なスキルです。

車両にはかなり複雑なネットワークを使用しています。優れたネットワーク設計を設計し、複雑な設計をデバッグできることは、私たちの仕事にとって不可欠です。

DevOpsチームメンバーがプロセスを自動/反復可能にするために使用する典型的なテクノロジーは、構成管理と継続的インテグレーションパイプラインです。開発者にソフトウェアを作成させ、手動でコンパイルしてから手動でコンピューターにコピーする(そして手動で構成する)のではなく、自動化を使用して、人為的エラーの可能性を最小限に抑えてソフトウェアを構築、インストール、および構成します。可能な限り。

デビッドアンダーソン、プリンシパルメカニカルエンジニア

ハードウェア設計の分野で知っておくべき最も有用なソフトウェアは、さまざまなコンピューター支援設計(CAD)およびシミュレーションパッケージです。これらは、このテクノロジーを機能させるハードウェアを作成するために毎日使用されます。最も有用なコーディング言語はPythonとMATLABです。ハードウェアの焦点は、リアルタイムコードの効率ではなく、データの操作と視覚化にあります。

アンドリューカニンガム、アクティブセンシングおよび情報融合ソフトウェアエンジニア

C ++は、オブジェクト指向プログラミングと低レベルのメモリ操作の両方をサポートするコンパイル型プログラミング言語です。よく書かれたC ++コードは非常に高速で拡張可能であるため、TorcはC ++を使用して自律性を強化します。

候補者は、コーディング標準にも精通している必要があります。産業用コーディング標準は、実行時に潜在的に危険なバグを引き起こす可能性のある特定のコーディング慣行を禁止しています。これらの制約を適用することにより、コードはより安全で、移植性があり、信頼性が高くなります。 MISRAコーディング標準はオープンであり、ドキュメントは密集していますが、重要なアイデアはかなり簡単に学ぶことができます。

Behaviors Software Engineer、Ashwin Sahasrabudhe

自動運転行動は、車、歩行者、自転車などの他のエンティティが複数あることを考慮して、道路上での車両の動作を高レベルで決定する上で重要な役割を果たします。これらのさまざまなエンティティに対処し、必要な安全アルゴリズムを開発するには、車両の運動学とダイナミクスが道路での操縦性にどのように影響するかをよく理解する必要があります。 Torcでの作業の楽しい部分は、作業が1つのコンポーネントだけに制限されないことです。車のアクチュエータを制御する車両インターフェースなどの他のコンポーネントで作業することができます。このようにさまざまな作業が行われるため、制御アルゴリズムを理解し、制御ループの開発と調整の経験を積むことをお勧めします。

とはいえ、よく聞かれる質問は、「このテクノロジーについてどこで学ぶことができるか」です。さまざまなシミュレーターを試してみることができます。何か新しいことを探求するのはいつでも楽しいことです。車がシミュレーターで思い通りに運転すると、別の種類の満足感を得ることができます。実践的な経験と、そのようなシミュレーターを使用したいくつかの制御アルゴリズムまたは自動運転動作の開発は、良いスタートです。また、自動運転車に興味のある仲間とつながりましょう。個人的な経験からすると、グループプロジェクトで作業したり、他の人から学んだりすることは、新しいテクノロジーを理解する上で大いに役立ちます。

すぐにパート3をチェックしてください。ここでは、Torcのエンジニアがコーディングと同じくらい価値があるとわかった個人的なスキルを共有し、仕事に対する期待と現実を比較します。

自動運転車の分野での仕事をお探しですか? Torcは、最も経験豊富な自律型ソフトウェア企業の1つであり、輸送に革命を起こすためにチームを成長させています。詳細については、キャリアページをご覧ください。パート3にご期待ください。


自動運転車のメンテナンスはどのようになりますか?

鉱山探査車は、国内最大の自動運転車の一部です

車両へのエンジン損傷を防ぐ方法(パート2)

クランカーの現金、パートIII:クランカーを保管、交換、または廃棄しますか?