1
ロボットへのFPGA導入を容易化する
コンポーネント技術
宇都宮大学 大学院工学研究科情報システム科学専攻
助教 大川 猛
2
従来技術とその問題点
FPGA(Field Programmable Gate Array)は、任意のディジタル論理回路をプログラム可能なLSI
→ソフトウェアでは時間がかかる画像認識処理等を、ハードウェア化して、高速化・低消費電力化可能
問題点
・FPGA上の回路設計が難しい
・ロボットソフトウェアシステムへの導入が困難
3
新技術の特徴・従来技術との比較
• 従来技術の問題点であった、FPGAをロボットシステムへ導入する開発を容易化することに成功した。
• 従来は、FPGAを使用できるのはハードウェア・ソフトウェア両方の知識を持つ技術者に限られていたが、FPGAをROS*ノードとして動作させイーサネット経由でアクセス可能としたため、容易にロボットシステムに導入することが可能となった。
*ROS: Robot Operating System ロボットソフトウェア開発基盤
4
ROS (Robot Operating System)
• ロボットソフトウェア開発用の共通基盤
– 対象OS:Ubuntu Linux
– ノード間の通信モデル:Publish/Subscribe(出版-購読)モデル
• 利点:コンポーネントの追加・修正が容易
• 豊富なソフトウェアコンポーネントを利用可能
– 例) カメラ入力、モータ制御、画像処理
画像認識処理
行動計画
カメラ入力
センサ入力
腕モータ
脚モータ
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軸センサの情報を
統合した姿勢推定
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
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と比較)にとどまる
通信遅延時間がボトルネック→ハードウェア化
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
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
10
通信のハードウェア化のまとめ
方針:TCPROSプロトコルのデータ通信のみをハードウェアTCP/IP(SiTCP)を用いて高性能化
利点:1ポート・1セッションのTCP/IPスタックでROSノードを実現可能(省ハードウェアコスト)
11
想定される用途
• 本技術の特徴を生かすためには、知的な判断が必要なロボットに適用することで画像認識性能向上・低消費電力化のメリットが大きいと考えられる。
• 上記以外に、ロボットシステムへのFPGA導入開発コスト削減の効果が得られることも期待される。
• また、産業機械や自動運転といった分野や用途に展開することも可能と思われる。
12
実用化に向けた課題
• 現在、 FPGAのみでROSノードとしての画像処理動作が可能なところまで開発済み。しかし、制御を含むロボットシステムとしての動作が未実証である。
• 今後、画像処理に基づくロボットシステム制御実験データを取得していく。
• 実用化に向けて、FPGAアプリケーション回路を入力としてハードウェアROSノードを生成できるよう設計自動化技術を確立する必要もあり。
13
企業への期待
• 未解決のハードウェアROSノード自動生成については、現在開発済みのZynq向けの自動生成ツールの追加開発により克服できると考えている。
• 画像認識による短遅延時間(マイクロ秒~ミリ秒)での制御を行う必要がある応用を持つ、企業との共同研究を希望。
• また、ロボット・産業機械・自動運転技術を開発中の企業には、本技術の導入が有効と思われる。
14
本技術に関する知的財産権
• 発明の名称:ネットワーク接続ハードウェア処理装置
• 出願番号 :特願2017-178197
• 出願日 :2017年9月15日
• 出願人 :宇都宮大学
• 発明者 :大川猛、菅田悠平、大津金光、横田隆史
15
産学連携の経歴
• 2009年-2011年 NEDO省エネルギー革新技術開発事業「省エネ情報機器のための超並列バスによるヘテロジニアス・マルチチップ積層Cool Systemの研究開発」研究分担(株式会社トプスシステムズ、(独)産業技術総合研究所)
• 2009年-2011年 戦略的基盤技術高度化支援事業(サポイン)「Ultra-
Android:マルチコア対応組込みソフトウェア・プラットフォームの研究開発」研究代表(株式会社トプスシステムズ、(独)産業技術総合研究所)
• 2014年-2015年 A-STEPハイリスク挑戦タイプ(復興促進型)「安全な航海の為のネットワーク接続カメラによる画像認識システムの研究開発」研究代表 (株式会社アイディアイ、宇都宮大学、東京海洋大学)
• 2015年-2018年 総務省SCOPE委託事業(若手)「低消費電力ロボット応用の為のFPGAコンポーネント化技術の研究開発」研究代表
• 現在、共同研究パートナー募集中
16
お問い合わせ先
宇都宮大学 産学イノベーション支援センター
産学連携・イノベーション・知財部門 濵地正成
TEL 028-689-6316
FAX 028-689-6320
e-mail chiiki@miya.jm.utsunomiya-u.ac.jp