研究紹介

  • 担当教員: 安積 卓也 助教  [E-mail]
  • 自動車関係・自動運転

    CPS(サイバー物理システム)

    物理システムと情報システムが密に結合したシステムをサイバー物理システム(Cyber-Physical System、以下CPSと略記) と言います。(CPS説明はこちら

    CPSの代表例として、自動運転や、交通システム、スマートホームや、エネルギーシステムなどがあります。これらは情報技術だけでなく、多岐に渡る分野技術と密に連携することで初めて実現できます。様々な分野の技術者がうまく連携するための基盤というのも重要ですが、これらの例において、共通してあることは、実世界の情報を取得し、適切な情報処理を行い、その結果に基づいて実世界を操作することです。この一連の流れは、実世界を操作するという条件に従うため、決められた時間内に処理を完了させる必要があり、情報処理の基盤がCPSの実現に無くてはならないものになっています。

    img_research_az01_cps.jpg

    現実世界を操作するというと、よく組込みシステムを思い浮かべられます。

    しかし、実世界の情報量は果てしなく、組込みシステムの域をはるかに超えており、従来の情報基盤では成り立ちません。したがって我々は、この情報基盤の形成について取り組んでいます。

    共同研究・自動運転

    本プロジェクトでは,名古屋大学,九州大学,慶応大学,立命館大学などと共同でCS005と呼ばれる共同研究室を立ち上げ,共同研究やワークショップなども実施しています.前述したとおり,CPSは多岐に渡る様々な分野の知識が必要となります.そのため,単独の研究室ではそれらの知識をカバー出来ないといった理由から,Computer Scienceにおいて重要となる以下の5つのドメインの協調を目的とするということでCS005と名付けられました.

    Embedded Systems
    img/img_research_az02_cs005.jpg

    Operating Systems
    Programming Languages
    High-Performance Computing
    Computer Architecture

    最近では,自動車の自動運転についてもCS005を通して我々も携わっており,実際にトヨタ社のプリウスを用いた研究も進めています.

    CS005によって異分野の共同研究の輪を広げ、世界に通用する研究へ
    Prius.jpg

    Robot Operating System(ROS)

    自動運転にはRobot Operating System(以下、ROS)と呼ばれるメタ・オペレーティングシステムが主に利用されています。 ハードウェア抽象化、低レベルなデバイス制御、一般的な機能性、プロセス間通信、そして、パッケージ管理など、一般的なオペレーティングシステムに要求されるサービスを提供します。 また、コードを複数台のコンピュータにわたって保持・ビルド・記述・実行するためのツールやライブラリも提供しています。 ROSはロボット分野で培った豊富なライブラリが提供されており、自動運転のプラットフォームにおいてデファクトスタンダードとなっています。

    ROS-org.png

    オープンソースソフトウェア自動運転システム:Autoware

    AutowareはLinuxとROSをベースとした自動運転システム用オープンソースソフトウェアです。 名古屋大学が中心となって開発しており、 自動運転の研究開発用途に無償で公開しています。 本研究室でも名古屋大学やその他の企業とAutowareの開発を共同で行っています。 レーザレーダ、カメラ、GNSSなどの環境センサを利用して、自車位置や周囲物体を認識しながら、カーナビから与えられたルート上を自律走行できます。

    自動運転ソフトウェアのインターフェース
    本プロジェクトのデモ走行の様子
    本プロジェクトの成果を活用したセミナー

    ROSは自動運転においてデファクトスタンダードになっていますが、Linux上での動作しか保証していません。さらに、リアルタイム性を保証していません。 そのため、現状ではシステム動作が間に合わず事故が発生する危険性があり、自動運転に利用するための弊害になっています。 そこで研究室では、ROSの通信同期機構や、自動運転向けのスケジューリング、リアルタイムOS上での動作などの研究を行っています。

    CPS関係の研究

    CPSでは大量の実世界データを扱うために、高度な計算資源が必要となります。その解決として私たちは、GPUを用いることを提案しています。GPUは、大量のプロセッサコアを搭載しており、そのコアを用いて高速な計算を行うことができ、さらに、近年ではグラフィックにかぎらず汎用的な計算できるため、とてもホットなトピックとなっています。しかし、まだまだ、GPUをCPSに適用するには課題が多く存在しており、その課題の解決を目的としています。

    GPUのスケジューリング

    CPSで必要な計算をGPUで効率的に利用するには、GPUのスケジューリング理論を考える必要があります。

    Gdev:CUDA実行環境のオープンソース実装

    我々の研究の最も基盤となっているのがGdevです。Gdevは、現在、GPUの有名なベンダーにはNVIDIAがあります。このNVIDIAは、GPUをグラフィック以外の汎用的な処理に利用するためにCUDAと呼ばれるプラットフォームを提供しています。このCUDAはその内部構造が全て非公開であり、オープンソースで実装することで、その処理基盤の研究が可能にし、これによって今後の研究への発展を目指しています。https://github.com/CS005/gdev

    GPUマイコンを用いたGPGPU環境における資源管理

    GPUにはオンチップにマイクロコントローラが搭載されています。私たちはこのマイクロコントローラを制御し、今までの組込みシステムで培った知識を用いてGPU資源の管理を行い、CPSに適したGPU処理を可能とするGPGPU環境の構築を目指しています。具体的には、PC側で行うGPUの制御処理を、GPUチップに搭載されるマイクロコントローラにオフロードすることで、GPU自身が制御を行うようになります。これによって、効率的なGPU処理が可能になると考えています。

    pci_gpu.jpg

    Ghost GPU: 仮想GPUフレームワークの構築

    近年では、スマートフォンの普及は著しく、ウェアラブル・コンピュータなども登場してきました。それらモバイル端末を利用し、環境認識、つまり画像認識などを行うことも増えてきました。しかし、モバイル端末には多くの計算資源がなく、多くの計算資源を要する画像認識といったCPSアプリケーションを動作させることは困難です。そこで、本研究ではスマートフォンやウェアラブルコンピュータなどのモバイル端末において、外部のGPUの計算資源を利用するを可能とするフレームワークを構築します。

    GhostGPU.jpg

    自動運転ソフトウェアとMATLAB/Simulinkの連携

    一般道自動運転向けオープンソースソフトウェアであるAutowareとMATLAB/Simulinkの連携を行っている。 Autowareは、位置推定、物体認識、経路計画、軌道生成など自動運転システムで必要な機能を提供している。 Autowareのそれぞれの機能はROS(Robot Operating System)のノードとして実装されており、ROSノードとMATLAB/Simulinkのインタフェースを提供するRobotics System Toolbox™を用いることで、MATLAB/Simulinkで作成されたモデルがAutowareと接続可能になる。 Autowareでは実証実験等で得た実データを用いたシミュレーションが可能である。 連携機能を用いることで、MATLAB/Simulinkのモデルに対しても自動運転の実データを用いたシミュレーションが可能になる。 コシュミレーションの様子は下記の動画を参照してください。

    自動運転ソフトウェアとMATLAB/Simulinkの連携

    自動運転向けメニーコアプラットフォームの研究開発

    メニーコア(256コア)プロセッサを用いた低消費エネルギーを自動運転向けのメニーコアプラットフォームを研究開発を行っています。 メニーコア(256コア)プロセッサの実車実験(世界初)の様子は下記の動画を参照してください。

    メニーコアプラットフォームを用いた実車実験の様子

    自動車・自動運転・CPS関係の研究成果

    論文誌

    1. Yuhei Suzuki, Yusuke Fujii, Takuya Azumi, Nobuhiko Nishio, Shinpei Kato,``Real-Time GPU Resource Management with Loadable Kernel Modules'', IEEE Transactions on Parallel and Distributed Systems (TPDS), 2017. (accepted)
    2. Yuki Iida, Yusuke Fujii, Takuya Azumi, Nobuhiko Nishio, and Shinpei Kato, ``GPUrpc: Exploring Transparent Access to Remote GPUs,'' ACM Transactions on Embedded Computing Systems (TECS) , vol. 16, no. 17, pp. 1-25, October 2016. DOI:10.1145/2950056
    3. 藤居 祐輔, 安積 卓也, 西尾 信彦, 加藤 真平, ``GPU オンチップマイクロコントローラへのデータ転送処理オフロード,'' 情報処理学会論文誌 組込みシステム特集号, Vo.55, No.2 ,pp.1048 - 1058, 2014.

    国際会議

    1. Daisuke Fukutomi, Yuki Iida, Takuya Azumi, Shinpei Kato, and Nobuhiko Nishio, ``GPUhd: Augmenting YARN with GPU Resource Management,'' In Proceedings of the International Conference on High Performance Computing in Asia-Pacific Region (HPC Asia 2018), Tokyo Japan, Jan. 2018. (accepted)
    2. Yuya Maruyama, Shinpei Kato and Takuya Azumi,``Exploring Scalable Data Allocation and Parallel Computing on NoC-based Embedded Many Cores,'' In Proceedings of the 35th IEEE International Conference on Computer Design (ICCD2017), Massachusetts, USA, Nov. 2017.
    3. Shota Tokunaga and Takuya Azumi, ``Co-Simulation Framework for Autonomous Driving Systems with MATLAB/Simulink'', Demo Session of 23rd IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS2017), Pittsburgh, PA, USA, Apr. 2017.
    4. Yuhei Suzuki, Takuya Azumi, Nobuhiko Nishio and Shinpei Kato, ``HLBS: Heterogeneous Laxity-Based Scheduling Algorithm for DAG-based Real-Time Computing,'' In Proceedings of the 4th IEEE International Conference on Cyber-Physical Systems, Networks, and Applications (CPSNA 2016), pp. 82-88, Nagoya, Japan October 2016.
    5. Yukihiro Saito, Takuya Azumi, Shinpei Kato, and Nobuhiko Nishio, ``Priority and Synchronization Support for ROS,'' In Proceedings of the 4th IEEE International Conference on Cyber-Physical Systems, Networks, and Applications (CPSNA 2016), pp. 77-81, Nagoya, Japan October 2016.
    6. Yuya Maruyama, Shinpei Kato, Takuya Azumi, ``Exploring the Performance of ROS2,'' In Proceedings of the ACM SIGBED International Conference on Embedded Software (EMSOFT2016), pp. 2.3, Pittsburgh, PA, USA October 2016.
    7. Shunsuke Hori, Takuya Azumi, ``Extended Mapping Algorithm Based on Modularity from Synchronous Block Diagrams to AUTOSAR Runnables,'' In Proceedings of the 21st IEEE Internatioal Conference on Emerging Technologies and Factory Automation (ETFA 2016), Berlin, Germany September 2016.
    8. Yuya Maruyama, Shinpei Kato, and Takuya Azumi, ``Preliminary Evaluation for ROS2,'' WiP session of the ACM/IEEE 6th International Conference on Cyber-Physical Systems (ICCPS2016), Vienna, Austria, Apr. 2016.
    9. Jaeyong Rho, Takuya Azumi, Hiroshi Oyama, Kenya Sato and Nobuhiko Nishio, ``Distributed Processing for Automotive Data Stream Management System on Mixed Single- and Multi-core Processors,'' In Proceedings of 8th International Workshop on Compositional Theory and Technology for Real-Time Embedded Systems (CRTS 2015), Dec. 2015.
    10. Yuhei Suzuki,Yusuke Fujii, Takuya Azumi, Nobuhiko Nishio, and Shinpei Kato, ``CPU/GPU Collaborated Resource Management for Real-Time GPGPU Applications,'' WiP session of the 2nd IEEE International Conference on Cyber-Physical Systems, Networks, and Applications (CPSNA 2015), Hong Kong, China, Aug. 2015.
    11. Takashi Shigekuni, Toshimitsu Ushio, and Takuya Azumi, ``Cloud-Assisted Sensing and Supervision of Multiple Unmanned Aerial Vehicles by a Single Operator,'' WiP session of the ACM/IEEE 6th International Conference on Cyber-Physical Systems (ICCPS2015), 2015.
    12. Yuki Iida, Manato Hirabayashi, Takuya Azumi, Nobuhiko Nishio, and Shinpei KatoConnected Smartphones and High-Performance Servers for Remote Object Detection'', Proceedings of the 2nd IEEE International Conference on Cyber-Physical Systems, Networks, and Applications (CPSNA 2014), 2014.
    13. Anh Nguyen, Yusuke Fujii, Yuki Iida, Takuya Azumi, Nobuhiko Nishio, and Shinpei Kato, ``Reducing Data Copies between GPUs and NICs,'' Proceedings of the 2nd IEEE International Conference on Cyber-Physical Systems, Networks, and Applications (CPSNA 2014), 2014.
    14. Yusuke Fujii, Takuya Azumi, Nobuhiko Nishio, Shinpei Kato, and Masato Edahiro, ``Data Transfer Matters for GPU Computing,'' The 19th IEEE International Conference on Parallel and Distributed Systems (ICPADS), Seoul, Korea, Dec. 2013 (Best Paper Award).
    15. Yusuke Satonaka, Takumi Kitazawa, Kazuki Suzuki, Yuki Fujuzaki, Takuya Azumi, and Nobuhiko Nishio. ``Lifelog-Based Active Movement Assistant System,'' 1st IEEE International Conference on Cyber-Physical Systems, Networks, and Applications (CPSNA 2013), Taipei, Taiwan, Aug, 2013.
    16. Yuki Iida, Yusuke Fujii, Takuya Azumi, Nobuhiko Nishio, Shinpei Kato, Tsuyoshi Hamada, Satoshi Kagami, Nobuo Kawaguchi, and Kazuya Takeda, ``Prototyping Commodity ICT for Mobility CPS,'' WiP session of the 1st IEEE International Conference on Cyber-Physical Systems, Networks, and Applications (CPSNA 2013), Taipei, Taiwan Aug, 2013.
    17. Yusuke Fujii, Takuya Azumi, Nobuhiko Nishio, and Shinpei Kato, ``Exploring Microcontrollers in GPUs,'' the 4th Asia-Pacific Workshop on Systems (APSYS 2013), Singapore, Jul. 2013.
    ページの先頭へ