豊田通商グループのネクスティエレクトロニクスは、自動運転基本ソフトウェア「Autoware」と連携可能なモデルベース開発ツールの「MATLAB/Simulink」のRobot Operating System(ROS)ノードの開発を埼玉大学(安積研究室)と共同で開始し、ソフトウェア開発プラットフォームのGitHub(※1)で、オープンソースソフトウェアとして、4月16日に公開(※2)する。
なお、公開したROSノードのサンプルは、科学技術振興機構(JST) 戦略的創造研究推進事業 さきがけ「新しい社会システムデザインに向けた情報基盤技術の創出(研究総括:黒橋禎夫)」における研究課題「大容量データをリアルタイム処理するメニーコア向けソフトウェアプラットフォームの構築」(研究代表者:安積 卓也 埼玉大学 准教授)の成果①②(後述)を活用している。
※1:GitHub:https://github.com/
※2:公開リポジトリ:https://github.com/CPFL/Autoware_Toolbox
[開発の背景]
自動運転の実用化が現実味を帯びる中、自動運転システムに搭載されるソフトウェアは複雑化しており、規模も拡大。それに伴い、開発時間やコストが増大しており、これらを削減することが求められている。
これらソフトウェア開発の課題を解決するため、近年ではオープンソースソフトウェアを活用して顧客が要求する機能を早期実装。試作と評価の素早い反復を行い製品リリースするプロセスが試行され、オープンソースの自動運転基本ソフトウェアとしては、Linux環境上で動作するAutowareの導入が広がっている。
Autowareでは、それぞれの機能がROSノードとして実装されるため、C++言語でプログラミングすることで新たな機能の実装ができるが、Linux環境やC++言語に不慣れな開発エンジニアは、その習得に時間を要していた。
また複雑化・大規模化に対しては、開発速度と品質向上を目的として、モデルベース開発の導入と合わせて、モデルベース開発エンジニアの育成も進められている。
[公開した成果物の概要]
そこで、ネクスティエレクトロニクスと埼玉大学は、Linux環境やC++言語に不慣れな開発者の工数削減が可能になるよう、MATLAB/Simulinkのオプション製品「Robotics System Toolbox」が提供するROSノードとのインタフェースを用い、Autowareと接続可能なMATLAB/SimulinkのROSノードのサンプルを作成。
またさらに導入を加速させるために、AutowareとMATLAB/Simulinkを連携させるサンプルを増やし、これらのサンプルをGitHub上でオープンソースとして公開。今後もサンプル数を増やし、ドキュメンテーションの充実を図る。
公開したサンプルは、MATLAB/Simulinkでアルゴリズム開発するときのリファレンスソフトウェアとして利用可能。
また、Windows環境にインストールしたMATLAB/Simulinkで、サンプルを参考にした自動運転アルゴリズムを開発し、Autowareと連携させた動作確認もできる。
両者は、MATLABにはコンピュータ ビジョン、機械学習などをサポートするツール群、テストやデバッグをサポートする可視化環境が用意されているため、このサンプルと共にこれらを有効活用することで、自動運転ソフトウェアの開発効率のさらなる向上が期待できるとしている。
[今後への期待]
ネクスティ エレクトロニクスと埼玉大学は、同サンプルを実装したSimulinkモデルと外界環境シミュレーターの連携で、現実世界での検証が困難な事故シーンなどのシミュレーション環境上での再現が可能に。そして、様々なテストケースのシミュレーション環境上での自動実行により、自動運転ソフトウェアの検証効率向上が期待できるとしている。
また、これらのオープンソースとして公開することで、他企業や大学などとの連携が容易になり、様々な技術やアイデアを結合、自動運転システム開発におけるエコシステムを形成し、新たなサービスや製品開発につなげていくことが期待できるとしている。
[参考図]
参考文献①の研究成果を利用して自動運転ソフトウェア(Autoware)とMATLAB/Simulinkと連携を実現。
[参考文献]
① Shota Tokunaga, Yuki Horita, Yasuhiro Oda, and Takuya Azumi, ”IDF-Autoware: Integrated Development Framework for ROS-based Self-driving Systems Using MATLAB/Simulink,” In Proceedings of the Workshop of Autonomous Systems Design (ASD2019), Florence, Italy, Mar 2019.
② Shota Tokunaga, Noriyuki Ota, Yoshiharu Tange, Keita Miura, and Takuya Azumi, ”Demo Abstract: MATLAB/Simulink Benchmark Suite for ROS-based Self-driving System,” Demo Session of the 10th ACM/IEEE International Conference on Cyber-Physical Systems (ICCPS2019), Montreal, Canada, Apr. 2019.