ロボットへのfpga導入を 容易化する コンポーネント技術 ·...

16
1 ロボットへのFPGA導入を 容易化する コンポーネント技術 宇都宮大学 大学院工学研究科 情報システム科学専攻 助教 大川

Upload: others

Post on 24-Jun-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ロボットへのFPGA導入を 容易化する コンポーネント技術 · fpgaコンポーネント事例 画像処理ラベリングros準拠fpgaコンポーネント ターゲット:xilinx社zynq

1

ロボットへのFPGA導入を容易化する

コンポーネント技術

宇都宮大学 大学院工学研究科情報システム科学専攻

助教 大川 猛

Page 2: ロボットへのFPGA導入を 容易化する コンポーネント技術 · fpgaコンポーネント事例 画像処理ラベリングros準拠fpgaコンポーネント ターゲット:xilinx社zynq

2

従来技術とその問題点

FPGA(Field Programmable Gate Array)は、任意のディジタル論理回路をプログラム可能なLSI

→ソフトウェアでは時間がかかる画像認識処理等を、ハードウェア化して、高速化・低消費電力化可能

問題点

・FPGA上の回路設計が難しい

・ロボットソフトウェアシステムへの導入が困難

Page 3: ロボットへのFPGA導入を 容易化する コンポーネント技術 · fpgaコンポーネント事例 画像処理ラベリングros準拠fpgaコンポーネント ターゲット:xilinx社zynq

3

新技術の特徴・従来技術との比較

• 従来技術の問題点であった、FPGAをロボットシステムへ導入する開発を容易化することに成功した。

• 従来は、FPGAを使用できるのはハードウェア・ソフトウェア両方の知識を持つ技術者に限られていたが、FPGAをROS*ノードとして動作させイーサネット経由でアクセス可能としたため、容易にロボットシステムに導入することが可能となった。

*ROS: Robot Operating System ロボットソフトウェア開発基盤

Page 4: ロボットへのFPGA導入を 容易化する コンポーネント技術 · fpgaコンポーネント事例 画像処理ラベリングros準拠fpgaコンポーネント ターゲット:xilinx社zynq

4

ROS (Robot Operating System)

• ロボットソフトウェア開発用の共通基盤

– 対象OS:Ubuntu Linux

– ノード間の通信モデル:Publish/Subscribe(出版-購読)モデル

• 利点:コンポーネントの追加・修正が容易

• 豊富なソフトウェアコンポーネントを利用可能

– 例) カメラ入力、モータ制御、画像処理

画像認識処理

行動計画

カメラ入力

センサ入力

腕モータ

脚モータ

Page 5: ロボットへのFPGA導入を 容易化する コンポーネント技術 · fpgaコンポーネント事例 画像処理ラベリングros準拠fpgaコンポーネント ターゲット:xilinx社zynq

5

ROS準拠FPGAコンポーネント技術の概要

提供可能な実装(Xilinx FPGA向け)1.SoC版: Zynq-7020(ARM搭載)2.Hardware版: Spartan-6

Application ROS node

input output

Publisher Subscriber SubscriberPublisherPS(ARM)

PL(FPGA)

ROS-Compliant FPGA Component(SoC)

interfacefor FPGA

interfacefor FPGA

Application

ROS node

input output

Publisher SubscriberFPGA

SubscriberHW

PublisherHW

Hardware ROS-Compliant FPGA Component

ROS準拠FPGAコンポーネント自動生成環境(cReComp)入力: FPGAアプリケーション回路(Verilog)

および設定ファイル出力: ROSノード(Python/C++および

FPGA回路)

コンポーネント事例画像処理: ラベリング(ARMプロセッサ上

ソフトの26倍高速)センサフュージョン: 9軸センサの情報を

統合した姿勢推定

Page 6: ロボットへのFPGA導入を 容易化する コンポーネント技術 · fpgaコンポーネント事例 画像処理ラベリングros準拠fpgaコンポーネント ターゲット:xilinx社zynq

6

FPGAコンポーネント事例画像処理ラベリングROS準拠FPGAコンポーネント

ターゲット:Xilinx社ZynqARMプロセッサ+FPGA

が1チップ化

→画像ラベリング処理FPGA回路をROSノードとして実装

ラベリングのFPGA処理

1画素1クロック処理→ARMより約26倍高速

解像度:1920x1080

ARM: Cortex-A9 666Mhz

FPGA: Zynq-7020

PC: Core i7 870 2.93GHz

Page 7: ロボットへのFPGA導入を 容易化する コンポーネント技術 · fpgaコンポーネント事例 画像処理ラベリングros準拠fpgaコンポーネント ターゲット:xilinx社zynq

7

FPGAコンポーネント化の課題

0 0.5 1 1.5 2 2.5 3 3.5

FPGA+ARM

SW only(ARM)

time(s)

Application ROS node

input output

Publisher Subscriber SubscriberPublisherPS(ARM)

PL(FPGA)

ROS-Compliant FPGA Component(SoC)

interfacefor FPGA

interfacefor FPGA

全体性能:約1.7倍の高速化(ARMと比較)にとどまる

通信遅延時間がボトルネック→ハードウェア化

Page 8: ロボットへのFPGA導入を 容易化する コンポーネント技術 · fpgaコンポーネント事例 画像処理ラベリングros準拠fpgaコンポーネント ターゲット:xilinx社zynq

8

通信のハードウェア化の検討

• ROSノード間の通信パケット内容の分析

Pub/Sub通信は2ステップ・XMLRPCを使用した登録処理・TCPROSによるデータ通信

Publisher

topic name: “bar”hostname: fooXMLRPC port number: 1234

TCPROS port number :2345

Subscribersubscribe to “bar”

①advertise(“bar”, foo:1234)

①subscribe(“bar”)

②{foo:1234}

Publisher Subscriber

master

③requestTopic(“bar”,TCP)

④ foo:2345⑤ connect(foo:2345)

⑥ data transmission

XMLRPC

TCPROS

Page 9: ロボットへのFPGA導入を 容易化する コンポーネント技術 · fpgaコンポーネント事例 画像処理ラベリングros準拠fpgaコンポーネント ターゲット:xilinx社zynq

9

提案のソフト・ハード構成

Publisher SW/HW構成 Subscriber SW/HW構成

①advertise(“bar”, foo:1234)

①subscribe(“bar”)

②{foo:1234}

PublisherSW on PC

PublisherHW on FPGA

Subscriber

master

③requestTopic(“bar”,TCP)

④ FPGA:3456

XMLRPC

TCPROS

Publisher

①advertise(“bar”, foo:1234)

①subscribe(“bar”)

②{foo:1234}

Publisher SubscriberSW on PC

SubscriberHW on FPGA

master

③requestTopic(“bar”,TCP)

④ foo:2345

XMLRPC

TCPROS

Page 10: ロボットへのFPGA導入を 容易化する コンポーネント技術 · fpgaコンポーネント事例 画像処理ラベリングros準拠fpgaコンポーネント ターゲット:xilinx社zynq

10

通信のハードウェア化のまとめ

方針:TCPROSプロトコルのデータ通信のみをハードウェアTCP/IP(SiTCP)を用いて高性能化

利点:1ポート・1セッションのTCP/IPスタックでROSノードを実現可能(省ハードウェアコスト)

Page 11: ロボットへのFPGA導入を 容易化する コンポーネント技術 · fpgaコンポーネント事例 画像処理ラベリングros準拠fpgaコンポーネント ターゲット:xilinx社zynq

11

想定される用途

• 本技術の特徴を生かすためには、知的な判断が必要なロボットに適用することで画像認識性能向上・低消費電力化のメリットが大きいと考えられる。

• 上記以外に、ロボットシステムへのFPGA導入開発コスト削減の効果が得られることも期待される。

• また、産業機械や自動運転といった分野や用途に展開することも可能と思われる。

Page 12: ロボットへのFPGA導入を 容易化する コンポーネント技術 · fpgaコンポーネント事例 画像処理ラベリングros準拠fpgaコンポーネント ターゲット:xilinx社zynq

12

実用化に向けた課題

• 現在、 FPGAのみでROSノードとしての画像処理動作が可能なところまで開発済み。しかし、制御を含むロボットシステムとしての動作が未実証である。

• 今後、画像処理に基づくロボットシステム制御実験データを取得していく。

• 実用化に向けて、FPGAアプリケーション回路を入力としてハードウェアROSノードを生成できるよう設計自動化技術を確立する必要もあり。

Page 13: ロボットへのFPGA導入を 容易化する コンポーネント技術 · fpgaコンポーネント事例 画像処理ラベリングros準拠fpgaコンポーネント ターゲット:xilinx社zynq

13

企業への期待

• 未解決のハードウェアROSノード自動生成については、現在開発済みのZynq向けの自動生成ツールの追加開発により克服できると考えている。

• 画像認識による短遅延時間(マイクロ秒~ミリ秒)での制御を行う必要がある応用を持つ、企業との共同研究を希望。

• また、ロボット・産業機械・自動運転技術を開発中の企業には、本技術の導入が有効と思われる。

Page 14: ロボットへのFPGA導入を 容易化する コンポーネント技術 · fpgaコンポーネント事例 画像処理ラベリングros準拠fpgaコンポーネント ターゲット:xilinx社zynq

14

本技術に関する知的財産権

• 発明の名称:ネットワーク接続ハードウェア処理装置

• 出願番号 :特願2017-178197

• 出願日 :2017年9月15日

• 出願人 :宇都宮大学

• 発明者 :大川猛、菅田悠平、大津金光、横田隆史

Page 15: ロボットへのFPGA導入を 容易化する コンポーネント技術 · fpgaコンポーネント事例 画像処理ラベリングros準拠fpgaコンポーネント ターゲット:xilinx社zynq

15

産学連携の経歴

• 2009年-2011年 NEDO省エネルギー革新技術開発事業「省エネ情報機器のための超並列バスによるヘテロジニアス・マルチチップ積層Cool Systemの研究開発」研究分担(株式会社トプスシステムズ、(独)産業技術総合研究所)

• 2009年-2011年 戦略的基盤技術高度化支援事業(サポイン)「Ultra-

Android:マルチコア対応組込みソフトウェア・プラットフォームの研究開発」研究代表(株式会社トプスシステムズ、(独)産業技術総合研究所)

• 2014年-2015年 A-STEPハイリスク挑戦タイプ(復興促進型)「安全な航海の為のネットワーク接続カメラによる画像認識システムの研究開発」研究代表 (株式会社アイディアイ、宇都宮大学、東京海洋大学)

• 2015年-2018年 総務省SCOPE委託事業(若手)「低消費電力ロボット応用の為のFPGAコンポーネント化技術の研究開発」研究代表

• 現在、共同研究パートナー募集中

Page 16: ロボットへのFPGA導入を 容易化する コンポーネント技術 · fpgaコンポーネント事例 画像処理ラベリングros準拠fpgaコンポーネント ターゲット:xilinx社zynq

16

お問い合わせ先

宇都宮大学 産学イノベーション支援センター

産学連携・イノベーション・知財部門 濵地正成

TEL 028-689-6316

FAX 028-689-6320

e-mail chiiki@miya.jm.utsunomiya-u.ac.jp