22
©Tamukoh Lab. Kyutech, Japan Robot OS (ROS)とFPGAを融合した ロボットや自動車のための 新しい計算機システム 九州工業大学 大学院 生命体工学研究科 人間知能システム工学専攻 田向 権 (Hakaru TAMUKOH) [email protected] http://www.brain.kyutech.ac.jp/~tamukoh/ “tamukoh” で検索!

Robot OS (ROS)とFPGAを融合した ロボットや自動車のための 新 … · 音声認識にはJuliusを利用,音声認識後の意味理解に機械学習(現状,

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Robot OS (ROS)とFPGAを融合した ロボットや自動車のための 新 … · 音声認識にはJuliusを利用,音声認識後の意味理解に機械学習(現状,

©Tamukoh Lab. Kyutech, Japan

Robot OS (ROS)とFPGAを融合した

ロボットや自動車のための

新しい計算機システム

九州工業大学 大学院 生命体工学研究科

人間知能システム工学専攻

田向 権 (Hakaru TAMUKOH)

[email protected]

http://www.brain.kyutech.ac.jp/~tamukoh/

“tamukoh” で検索!

Page 2: Robot OS (ROS)とFPGAを融合した ロボットや自動車のための 新 … · 音声認識にはJuliusを利用,音声認識後の意味理解に機械学習(現状,

1©Tamukoh Lab. Kyutech, Japan

社員10名以下のベンチャー・小企業や,大企業の研究所との産学連携の

経験があります! (以下,進行中のもの)

国プロ

経産省NEDO人工知能プロジェクト(解析可能な人工知能と自動運転への応用)

大企業研究所系

日立研究所,エクォス・リサーチ,他非公開案件5件

ベンチャー系

株式会社ブラテック(情報システムと人工知能応用)

株式会社ネットビジョン(画像処理とディジタル回路)

学会,他研究機関における活動

電子情報通信学会スマートインフォメディアシステム研究専門委員会 幹事補佐,専門委員

日本神経回路学会 理事

東京大学生産技術研究所 協力研究員

一般社団法人 ファジィシステム研究所,一般社団法人 行動評価システム研究所 主任研究員

産学連携の経歴

Page 3: Robot OS (ROS)とFPGAを融合した ロボットや自動車のための 新 … · 音声認識にはJuliusを利用,音声認識後の意味理解に機械学習(現状,

2©Tamukoh Lab. Kyutech, Japan

従来技術とその問題点

自動車やロボットの知能化には高速かつ低消費電力な組込み計算機システムが必要

Robot Operating System (ROS) ,ロボット向けミドルウェアが広く普及

ロボットプログラマが回路の内部構造やインタフェースを理解して使いこなすのは困難

本発明の特長と想定される用途

FPGA内部回路をROSインタフェースで簡便に取り扱える

ホームロボットへ搭載して性能を評価

ロボットや自動運転車のシステム高速化・省電力化

本発明のポイント

Page 4: Robot OS (ROS)とFPGAを融合した ロボットや自動車のための 新 … · 音声認識にはJuliusを利用,音声認識後の意味理解に機械学習(現状,

3

研究背景: サービスロボット

©Tamukoh Lab. Kyutech, Japan

• 少子高齢化社会のため注目を集める

2035年には2015年に比べ約13倍の市場規模[1]

• 知能化が重要:画像や音声を用いてコミュニケーション

RoboCup@Home: サービスロボットの国際的競技会

RoboCup Japan Open 2016 愛知 (23チーム 約170名)

[1] 経済産業省, NEDO: ロボット産業将来市場調査; http://www.nedo.go.jp/news/press/AA5_0095A.html

Page 5: Robot OS (ROS)とFPGAを融合した ロボットや自動車のための 新 … · 音声認識にはJuliusを利用,音声認識後の意味理解に機械学習(現状,

4

従来技術(サービスロボット)の問題点

©Tamukoh Lab. Kyutech, Japan

1. 知的処理の演算量が大きく,ロボットに搭載している

PCでは実時間処理が不可能(例: 人物追跡 3[fps][2])

→ 強力なGPUは消費電力,排熱などの問題で搭載不可

→ 新たなコンピュータアーキテクチャが必要

2. 全ての知的処理を作りこむと膨大な開発時間が必要

→ ロボット用ミドルウェアを使うべき

[2] S. Lee and K. Horio: “Human Tracking using Particle Filter with Reliable Appearance Model”; SICE Annual Conference (SICE), 2013.

Page 6: Robot OS (ROS)とFPGAを融合した ロボットや自動車のための 新 … · 音声認識にはJuliusを利用,音声認識後の意味理解に機械学習(現状,

5©Tamukoh Lab. Kyutech, Japan

ロボット向けミドルウェア

米国のロボットベンチャー企業 Willow Garage 社が開発

(現在は,Open Source Robotics Foundationが開発)

ロボットシステム構築のデファクトスタンダード

Robot Operating System (ROS)

ROS Wiki アクセス数: 110万アクセス/年 (2015) [1]

ROSに関する論文数: 1843本 (Google Scholar 2015/09/11現在) [1]

オープンソースパッケージ数: 3000パッケージ以上 [2]

[1] Community Metrics Report 2015, http://download.ros.org/downloads/metrics/metrics-report-2015-07.pdf[2] Community Metrics Report 2011, http://download.ros.org/downloads/metrics/metrics-report-2011-08.pdf

Page 7: Robot OS (ROS)とFPGAを融合した ロボットや自動車のための 新 … · 音声認識にはJuliusを利用,音声認識後の意味理解に機械学習(現状,

6©Tamukoh Lab. Kyutech, Japan

ROSによるロボットシステムの構築

台車

ロボットアーム

カメラ

測域センサ

物体検出

認識(Deep Learning)

1. オープンソースROSノード

(Python, C++)3. ROSツール

2. ROSインタフェース(ROS Topicによる通信)

ステートマシン(動作管理)

ROSノードの組換でロボットシステムの変更・拡張が簡単かつ迅速に行える

動画ご覧ください https://youtu.be/Bsrrk1pNPbc

Page 8: Robot OS (ROS)とFPGAを融合した ロボットや自動車のための 新 … · 音声認識にはJuliusを利用,音声認識後の意味理解に機械学習(現状,

7

本発明の全体像

©Tamukoh Lab. Kyutech, Japan

人間と共存できるサービスロボットの頭脳を構築する

hw/sw複合体(FPGA + CPU)による知的処理の高速化

ROS(ロボット用ミドルウェア)によるハードウェアの抽象化

PCROS

(Robot Operating System)

センサ

既存ROSパッケージ

サービスロボットExi@

音声認識

人物検出

認識(Deep Learning)

追跡

ROSインタフェース

hw/sw複合体

FPGA(Field Programmable

Gate Array)

プロセッサ(CPU)

hw/sw複合体パッケージ

ROS-プロセッサ-FPGAソフトウェア

知的処理デジタル回路(人物検出・追跡)

センサデータ

負荷をオフロード

Page 9: Robot OS (ROS)とFPGAを融合した ロボットや自動車のための 新 … · 音声認識にはJuliusを利用,音声認識後の意味理解に機械学習(現状,

8©Tamukoh Lab. Kyutech, Japan

Deep Convolutional Neural Networks(DCNN)と転移学習を

用いた物体認識

Particle Filter と深度画像を用いた人物追跡

Gabor Filterとエラスティックグラフマッチングによる人物認識

M. Tanaka, et al., “Human Detection and Face Recognition Using 3D Structure of Head and

Face Surfaces Detected by RGB-D Sensor,” Journal of Robotics and Mechatronics, 2015.

自然な音声対話 (参考:記号創発ロボティクス)

音声認識にはJuliusを利用,音声認識後の意味理解に機械学習(現状,

我々チームは言葉揺れの統合のみ:取ってきて,持ってきて,取って)

ARマーカ認識によるグリッパ位置のビジュアルフィードバック

を用いた高精度なアーム制御

人工知能はどこに?

Page 10: Robot OS (ROS)とFPGAを融合した ロボットや自動車のための 新 … · 音声認識にはJuliusを利用,音声認識後の意味理解に機械学習(現状,

9©Tamukoh Lab. Kyutech, Japan

常時10以上のROSトピックが並列動作

ノートPC搭載の4コアCPUのパワーは常に不足

ステートマシンで起動するトピックを切り替えつつやりくり

車載ネットワークのように多数のCPUをROSでネットワーク化

DCNNや各種画像処理には高速化が必須

Point Cloud Libraryによる深度画像からの物体切出し,DCNNによる物体認識,パーティクルフィルタによる人物追跡など画像処理を多用

GPUは必須,但し消費電力に目をつぶっても組込みには熱が凄い

小型化,高速化,省電力化が必須,同時に柔軟性も必要

各種知的処理のLSI化(但しアルゴリズムは日進月歩)とROS対応

実行モードだけでもDNNの専用チップが欲しい

コンピュータシステムとLSIに求めること

Page 11: Robot OS (ROS)とFPGAを融合した ロボットや自動車のための 新 … · 音声認識にはJuliusを利用,音声認識後の意味理解に機械学習(現状,

10

FPGAの特長

©Tamukoh Lab. Kyutech, Japan

CPU,Cell,GPU,FPGAの比較 [1]

演算性能

開発日数

×1(CPU),×45(Cell),×14(GPU),×228(FPGA) 速度比

×1(CPU),×31(Cell),×25(GPU),×584(FPGA) 単位電力比

1 Day(CPU), 90(Cell),45(GPU),300(FPGA)

→ 大部分がインタフェースの開発とデバッグ

*Smith-Waterman algorithmを用いて検証

[1] K. Benkrid: “High Performance Biological Pairwise Sequence Alignment; FPGA versus GPU versus Cell BE versus GPP”; Reconfigurable Computing, 2012.

Page 12: Robot OS (ROS)とFPGAを融合した ロボットや自動車のための 新 … · 音声認識にはJuliusを利用,音声認識後の意味理解に機械学習(現状,

11

ROS-FPGA 連携システム:ブロック図

©Tamukoh Lab. Kyutech, Japan

ノートPC

Ubuntu 12.04

ROS

ROS-FPGA通信路を

パッケージ化

アクチュエータ

ZedBoard(Zynq)

Xilinux

PS(ARM) PL(FPGA)Xillybus

Xillybus LiteXillyVGA

TCP/IP ソケット通信

ROSパッケージ センサ

ROSパッケージ

ROSパッケージ

メッセージ

センサ(WEBカメラ)

アクチュエータ アクチュエータ

センサ表示装置

OpenCV(AXIバス)

XillybusIP Core

ユーザ回路

ROS(Robot Operating System)PS(Processing System)PL(Programmable Logic)

FPGA内部に構成された知的処理回路はROSノードにぶら下がる

ひとつのパッケージとして簡便に取り扱える田向,石田,森江,特願2016-37660

Page 13: Robot OS (ROS)とFPGAを融合した ロボットや自動車のための 新 … · 音声認識にはJuliusを利用,音声認識後の意味理解に機械学習(現状,

12

提案システム: hw/sw複合体の導入

©Tamukoh Lab. Kyutech, Japan

hw/sw複合体(ZedBoard)

Xilinux

プロセッサ FPGA

XillybusTCP/IP

ソケット通信

ノートPC

Ubuntu 12.04

ROS

hw/sw複合体をパッケージ化

アクチュエータ

ROSパッケージ センサ

ROSパッケージ

ROSパッケージ

トピック

センサ 表示装置

OpenCVOpenNI2

(AXIバス)

XillybusIP Core

知的処理

• プロセッサで既存のデバイスドライバを使用可能

• FPGAによって演算量の大きい知的処理をリアルタイムで実行

• hw/sw複合体をパラレルに使用して,大規模化,高速化も可能

Page 14: Robot OS (ROS)とFPGAを融合した ロボットや自動車のための 新 … · 音声認識にはJuliusを利用,音声認識後の意味理解に機械学習(現状,

13

提案システム: ROSによるハードウェア抽象化

©Tamukoh Lab. Kyutech, Japan

ノートPC

Ubuntu 12.04

ROS

hw/sw複合体をパッケージ化

アクチュエータ

ROSパッケージ センサ

ROSパッケージ

ROSパッケージ

トピック

hw/sw複合体(ZedBoard)

Xilinux

プロセッサ FPGA

XillybusTCP/IP

ソケット通信

センサ 表示装置

OpenCVOpenNI2

(AXIバス)

XillybusIP Core

ユーザ回路

• ROSインタフェース(トピックなど)を介してhw/sw複合体を制御→ ロボットプログラマがハードウェア回路(FPGA)を利用可能

Page 15: Robot OS (ROS)とFPGAを融合した ロボットや自動車のための 新 … · 音声認識にはJuliusを利用,音声認識後の意味理解に機械学習(現状,

14©Tamukoh Lab. Kyutech, Japan

実験:レイテンシの評価

ROS-PS-ROS間通信路のレイテンシ: 4.7[ms]

(移動台車の制御周期 100[ms])

他のROSパッケージからは,メッセージでFPGAアクセス可能

データ例

ROS-PS: 演算内容の指定(StartCalcCenter)

PS-ROS: 実行結果(Center,504,178)

Page 16: Robot OS (ROS)とFPGAを融合した ロボットや自動車のための 新 … · 音声認識にはJuliusを利用,音声認識後の意味理解に機械学習(現状,

15

実験: 画像処理での評価(スループット)

©Tamukoh Lab. Kyutech, Japan

hw/sw複合体(ZedBoard)

Xilinux

プロセッサ FPGA

Xillybus

Xtion(RGB-Dカメラ)

表示装置

OpenCVOpenNI2

(AXIバス)

XillybusIP Core

重心演算回路

0.8[m]~1.2[m]を示すピクセルの重心をFPGAで演算

(まずは,簡単な回路でhw/sw複合体の評価)

→ フレームレート: 28.61[fps](画像はVGAサイズ)

→ RGB-Dカメラ(30[fps])と同等 = 正しく構築できている

Page 17: Robot OS (ROS)とFPGAを融合した ロボットや自動車のための 新 … · 音声認識にはJuliusを利用,音声認識後の意味理解に機械学習(現状,

16

実験: サービスロボットに実装

©Tamukoh Lab. Kyutech, Japan

• 重心演算回路をROSインタフェースで動かし,台車を制御

• 重心演算による人物追跡の動作を確認

ノートPC1(Windows 7)

ノートPC2(Ubuntu 12.04)

ROS

A. 人物追跡パッケージB. hw/sw複合体パッケージ

台車制御クライアント

Xtion PRO LIVE

OpenNI2

FPGAプロセッサ(CPU)

ROS-ARM-FPGA通信ソフトウェア

XillybusIP Core

重心演算回路(ユーザ回路)

hw/sw複合体

EXIA台車

Page 18: Robot OS (ROS)とFPGAを融合した ロボットや自動車のための 新 … · 音声認識にはJuliusを利用,音声認識後の意味理解に機械学習(現状,

17

まとめ

©Tamukoh Lab. Kyutech, Japan

• hw/sw複合体をROSで抽象化することにより,ロボットプログラマでもROSインタフェースでハードウェア回路(FPGA)を扱えるようになった

• サービスロボットに実装して人物追跡の動作を確認した

まとめ

今後の展開

• MRCoHOGやDeep Learningなど演算量の大きい知的処理を実装してhw/sw複合体による高速化の有効性を示す

• 大規模化・高速化に向けてhw/sw複合体をパラレルにするシステム構築を行う

Page 19: Robot OS (ROS)とFPGAを融合した ロボットや自動車のための 新 … · 音声認識にはJuliusを利用,音声認識後の意味理解に機械学習(現状,

18

企業への期待

©2015 Tamukoh Lab. Kyutech, Japan

• FPGAは内部の書き換えが可能という柔らかさを持ちつつ

ハードウェアの高速化・省電力化の恩恵を受けることが可

能です.ロボットや自動運転車のコンピューティングデバ

イスおいて,特に人工知能系の処理の高速化に寄与します.

本シーズをベースに共同研究資金・寄付金の提供や,未来

のロボットに搭載される脳型計算機開発を望みます.

Page 20: Robot OS (ROS)とFPGAを融合した ロボットや自動車のための 新 … · 音声認識にはJuliusを利用,音声認識後の意味理解に機械学習(現状,

19

本技術に関する知的財産

©2015 Tamukoh Lab. Kyutech, Japan

• “ハードウェアプラットフォーム及びハードウェアプラッ

トフォームを用いたハードウェアの操作方法,”

特願 2016-037660

田向権, 石田裕太郎, 森江隆, 出願人:九州工業大学

【課題】ハードウェアの操作が容易にできるハードウェアプラットフォーム及びハードウェアプラットフォームを用いたハードウェアの操作方法を提供する。【解決手段】複数のハードウェアと接続し、各ハードウェアを操作するアプリケーションソフトウェアの動作環境を構築するミドルウェアが実装されたハードウェアプラットフォーム10は、ミドルウェアにより動作環境が構築され、アプリケーションソフトウェアが実行される処理手段24を備えたソフトウェアユニット22と、ソフトウェアユニット22と接続すると共に、アプリケーションソフトウェアの中の特定アプリケーションソフトウェアの操作対象となる複数のハードウェアと接続し、ソフトウェアユニット22で特定アプリケーションソフトウェアが実行される際に、特定アプリケーションソフトウェアによるハードウェア処理を行う演算回路が形成されるハードウェアユニット23とを有する。

Page 21: Robot OS (ROS)とFPGAを融合した ロボットや自動車のための 新 … · 音声認識にはJuliusを利用,音声認識後の意味理解に機械学習(現状,

20

本技術に関する知的財産

©Tamukoh Lab. Kyutech, Japan

Page 22: Robot OS (ROS)とFPGAを融合した ロボットや自動車のための 新 … · 音声認識にはJuliusを利用,音声認識後の意味理解に機械学習(現状,

21

お問い合わせ先

©2015 Tamukoh Lab. Kyutech, Japan

九州工業大学

イノベーション推進機構

産学連携・URA領域

知的財産部門(客員教授) 石田 精

TEL 093-884 - 3499

FAX 093-884 - 3531

e-mail [email protected]