Submit Search
ZytleBot: 自律移動ロボットへのFPGA活用のすゝめとROS 2移行への道
0 likes
453 views
T
Tamtlebot
ROSConJP2019
Science
Read more
1 of 28
Download now
Download to read offline
1
2
3
4
5
6
7
8
Most read
9
10
11
12
Most read
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
More Related Content
PDF
20220412 IoTLT vol86 kitazaki v1
Ayachika Kitazaki
PPTX
FPGAことはじめ
Takahiro Nakayama
PPTX
PYNQ 祭り: Pmod のプログラミング
ryos36
PDF
Pro Git 第2版はじめました
harupong
PPTX
Analog Devices の IP コアを使う
ryos36
PDF
ソフトウェア技術者はFPGAをどのように使うか
なおき きしだ
PDF
2015RTミドルウエア講習会
openrtm
PDF
GR-ROSEでroombaを コントロールする
KosugaMasakatsu1
20220412 IoTLT vol86 kitazaki v1
Ayachika Kitazaki
FPGAことはじめ
Takahiro Nakayama
PYNQ 祭り: Pmod のプログラミング
ryos36
Pro Git 第2版はじめました
harupong
Analog Devices の IP コアを使う
ryos36
ソフトウェア技術者はFPGAをどのように使うか
なおき きしだ
2015RTミドルウエア講習会
openrtm
GR-ROSEでroombaを コントロールする
KosugaMasakatsu1
Similar to ZytleBot: 自律移動ロボットへのFPGA活用のすゝめとROS 2移行への道
(20)
PPTX
ZytleBot:ROS対応自動走行ロボットへのFPGA活用を加速化する統合開発プラットフォーム
Hideki Takase
PDF
GoBGP活用によるSD-WANプラクティス
Toshiki Tsuboi
PDF
03 第3.6節-第3.8節 ROS2の基本機能(2/2)
Mori Ken
PDF
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
VirtualTech Japan Inc.
PPTX
Gpgpu tomoaki-fp16
tomoaki0705
PPTX
Openstack neutron vtjseminar_20160302
Takehiro Kudou
PDF
Riscv+fpga200606
たけおか しょうぞう
PDF
GoでEPC作って本番運用している話
雄也 日下部
ODP
Mbed gps logger_20101105
Toshihisa Tanaka
PDF
20191113 python raspberry_pi_gpio
Kioto Hirahara
PPTX
動き検出勉強会リメイク。過去の発表のリメイク版です。動き検出のアルゴリズムとOpencvのオプションについてまとめました
natsutan0
PDF
Rsj2013 sekiyama 1
openrtm
PPTX
Microsemi FPGA はいいぞ,FPGAの紹介とおさそい
Takayasu Shibata
PPTX
GPU-FPGA協調プログラミングを実現するコンパイラの開発
Ryuuta Tsunashima
PDF
つながるロボット 〜分散協調ロボットの開発を加速化するROSの紹介〜
Hideki Takase
PDF
ROBOMECH2017 RTM講習会 第1部・その1
openrtm
PDF
FPGAスタートアップ資料
marsee101
PDF
20220525_kobayashi.pdf
直久 住川
PPTX
Fpgax20170924
Natsutani Minoru
PDF
Lagopus Project (Open Source Conference)
Tomoya Hibi
ZytleBot:ROS対応自動走行ロボットへのFPGA活用を加速化する統合開発プラットフォーム
Hideki Takase
GoBGP活用によるSD-WANプラクティス
Toshiki Tsuboi
03 第3.6節-第3.8節 ROS2の基本機能(2/2)
Mori Ken
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
VirtualTech Japan Inc.
Gpgpu tomoaki-fp16
tomoaki0705
Openstack neutron vtjseminar_20160302
Takehiro Kudou
Riscv+fpga200606
たけおか しょうぞう
GoでEPC作って本番運用している話
雄也 日下部
Mbed gps logger_20101105
Toshihisa Tanaka
20191113 python raspberry_pi_gpio
Kioto Hirahara
動き検出勉強会リメイク。過去の発表のリメイク版です。動き検出のアルゴリズムとOpencvのオプションについてまとめました
natsutan0
Rsj2013 sekiyama 1
openrtm
Microsemi FPGA はいいぞ,FPGAの紹介とおさそい
Takayasu Shibata
GPU-FPGA協調プログラミングを実現するコンパイラの開発
Ryuuta Tsunashima
つながるロボット 〜分散協調ロボットの開発を加速化するROSの紹介〜
Hideki Takase
ROBOMECH2017 RTM講習会 第1部・その1
openrtm
FPGAスタートアップ資料
marsee101
20220525_kobayashi.pdf
直久 住川
Fpgax20170924
Natsutani Minoru
Lagopus Project (Open Source Conference)
Tomoya Hibi
Ad
ZytleBot: 自律移動ロボットへのFPGA活用のすゝめとROS 2移行への道
1.
ZytleBot ⾃律移動ロボットへのFPGA活⽤のすゝめと ROS 2移⾏への道 ⽥村 爽
新⽥ 泰⼤ ⾼瀬 英希 (京都⼤学)
2.
Agenda • ROSにおけるFPGAの活⽤ FPGA
Design competition LinuxによるFPGAの扱い⽅ 活⽤事例紹介 • ROS 2への移⾏ ROS 2対応のモチベーション ROS 2ツール使ってみた 2
3.
ROSにおけるFPGAの活⽤ • FPGA Design
competition • LinuxによるFPGAの扱い⽅ • 活⽤事例紹介
4.
FPGA Design competition •
FPT2018およびHEART2019 において併催された ⾃律移動ロボット開発コンテスト • 概要 道路を模したコースを⾛⾏ センサ類はCMOSカメラのみ プロセッサは組込みCPUのみ、さらに外部との通信は禁⽌されているため、 FPGAをうまく活⽤することが求められる ⾞体に関しては⾃由︕ ü ロボットは⾃作でも既製品でもOK! 4
5.
FPGAとは︖ • Field Programmable
Gate Array 中⾝を改変可能なLSI ハードウェアそのものの 振る舞いを変えられる 独⾃のデジタル回路を ⾃由に何回でも形成できる 5 IOB SB CB LB IOB IOB SB IOB LB SB CB CB SB CB SB SB CB CBLB IOBIOB LB SB SB SB IOB IOB CB CB CB CB CB CB ⼊出⼒ブロック コネクションブロックLB 論理ブロック IOBSB スイッチブロック CB LUT IN OUT 0000 1 0001 0 0010 0 … … 1110 1 1111 0 D-FF D Q
6.
FPGAの強み 6 A C I ) ( )
(
7.
FPGA vs GPU •
Pros 消費電⼒ リアルタイム性 • Cons 開発コスト • 備考 性能は設計とやりたいこと次第 値段も安いとは⾔い切れない 7 ⾼位合成 C, C++ 🔻 ハードウェア記述⾔語 FPGA向け統合開発環境 C, C++ 🔻 Linuxを含めた実⾏環境 設計ツール・設計⼿法の 開発&改良
8.
プログラマブルSoC • FPGAのみでは柔軟性に乏しい • CPUとFPGAを1チップに収めた プログラマブルSoC
Xilinx︓Zynq Intel︓SoC FPGA • CPUにはRTOSやLinuxを搭載可能 もちろんROSも • デバイスドライバを介して FPGAをデバイスとして扱うことができる • FPGAの回路の再書き換えを Linuxから⾏うことも可能に︕ (Linux kernel 4.10以降) 8 CPU FPGA Ubuntu 18.04 IP CoreIP Core Sensor /dev/video0 Configuration 画像処理 IP Core
9.
LinuxからFPGAを操作 • FPGAの設計ツールで、CPUとFPGA回路間を配線 ツールによりLinuxの物理アドレスへの割り当てが⾏われる •
物理アドレスを操作 a. メモリマップドIO /dev/memで制御(危険︕) b. UIO(User space IO) ユーザプロセスから指定範囲のメモリを操作する機能 c. デバイスドライバの作成 安全・⼿間がかかる 再利⽤性◎ 9
10.
活⽤事例︓ZytleBot 10 • Zynq +
TurtleBot Zynq UltraScale+ MPSoC TurtleBot3 : ROS standard platform robot kit
11.
TurtleBot3 & ZytleBot 11 LiDAR Raspberry
Pi USBCam FPGA board Pcam 5C
12.
システム構成&開発メンバー • 学⽣2⼈で開発 SW担当︓⽥村(本⽇発表) üGazeboシミュレータ⽤の環境作成 ü⾃律移動アルゴリズム全般 ü3Dモデリングツールによる パーツ作成・印刷 HW担当︓新⽥ üFPGAでするべきアルゴリズムの 検討とその実装 üFPGAの回路設計 12 Driving System
13.
FPGAによる⾚信号検出 • スライディングウィンドウ法 +
SVM • ⼊⼒:320pix*240pixフレーム画像 • 出⼒:891個のウインドウの推定結果 レイテンシ︓2milisec HW使⽤ ︓6.22milisec = 160fps SWのみ︓1700milisec = 0.58fps ü275倍⾼速化 13 SVM Classification ! "#$ % 𝑤" 𝑥" + 𝑏 Feature Extraction 8x8 BGR8x8 HSV HOG https://github.com/lp6m/ImageDetectionHW2 https://www.slideshare.net/takasehideki/zytlebot- rosfpga/takasehideki/zytlebot-rosfpga
14.
コンテスト結果 • 2018年12⽉に沖縄で開催された FPT2018にて優勝︕ • 14チーム中
3チームがROS • 半数以上のチームがロボットが 動かなかった中、ROSを使って いたチームは全て動作、 内2つが決勝進出 • Welcome to ROS × FPGA 14
15.
• 優勝商品はなんと… TurtleBot3 15 号機につづく
16.
ROS 2への移⾏ • ROS
2移⾏へのモチベーション • 移⾏の流れ
17.
ZytleBot to ROS
2! 17 車体 TurtleBot3 メインボード Zybo Z7-20 OS Ubuntu 16.04 ROS Distro Kinetic Kame 車体 TurtleBot3 メインボード Ultra96 OS Ubuntu 18.04 ROS Distro Crystal Clemmys 現在はDashingに対応
18.
Why ROS 2? •
とりあえずNodeletをやめたい • ノートPCをMacBookにしたい • launchファイルがPythonに…? 18
19.
Why ROS 2? •
とりあえずNodeletをやめたい • ノートPCをMacBookにしたい • launchファイルがPythonに…? 19 画像取得 ノード 人検出 ノード iImage ノードごとに1プロセス 🔻 通信コストがかかる Nodelet 複数ノードをまとめて1プロセスで起動 ◎スマートポインタによるデータコピー ×保守性 再利⽤性 ROS 2では標準機能 コンポーネントとしての 記法を定めて 保守性 再利⽤性◎
20.
Why ROS 2? •
とりあえずNodeletをやめたい • ノートPCをMacBookにしたい • launchファイルがPythonに…? 20 https://index.ros.org/doc/ros2/Releases/ Release-Dashing-Diademata/
21.
Why ROS 2? •
とりあえずNodeletをやめたい • ノートPCをMacBookにしたい • launchファイルがPythonに…? 21 ※現時点では開発中 xml ➡ Python
22.
Why ROS 2? •
とりあえずNodeletをやめたい • ノートPCをMacBookにしたい • launchファイルがPythonに…? • etc.. 22 組込み向け︖ DDS︖ FPGAとの 親和性︖ リアルタイム性︖ とりあえず やってみよう︕
23.
ROS 2移⾏のための取り組み • ROS
2のコンポーネント形式にそったパッケージの作成 • Gazeboシミュレータの移⾏ • 実機へのインテグレーション 23
24.
ROS 2 プログラミング •
2通りの選択肢 ROS 1と同様の書き⽅ 共有ライブラリとしてノードを実装する(ベストプラクティス) • 共有ライブラリとしての書き⽅を理解する必要があるため、 プログラミング難易度は上がる • 同⼀プロセス内で複数ノード実⾏ができる データのゼロコピーや、ノードの実⾏順序を守らせることが可能になる • Nodeletで不満だった保守性、安全性も◎ 24
25.
Gazeboシミュレータの移⾏ 25 • Gazeboも⼀部ROS 2対応︕︕
※ros_controlerなど未対応の コア部分も... • モデルの記法は変わらずxml • 重要なのはプラグインが 対応しているかどうか プラグイン移⾏に関しては gazebo_ros_pkgsのgitのWikiを参考
26.
実機へのインテグレーション • ロボット動作に必要なパッケージがROS 2に対応しているか 否かで明暗が別れる •
今回はTurtleBot3がROS 2対応していたため、スムーズに移⾏ ロボットベンダー社様、ROS 2パッケージをお願いします… (私たちももちろん頑張ります^^;) • rosbag2も利⽤可能︕ ただし、1で可能だった再⽣速度の変更などは未対応 26
27.
ROS 1 or
ROS 2 ? • ROS 2で⼤変だった点 ...特になし︕(先⼈の⽅々のおかげ) コア部分の開発はかなり進んでいる実感 • ROS 2に移⾏するならこれからがチャンス 初の⻑期サポートdistroのDashingがリリース ⽇本語の講習会、書籍、記事なども︕ ROS 1のソフトウェア資源も魅⼒的だが、 みんなでしがみ付いていると… 27
28.
ROS 2 コンテスト結果 •
HEART2019 @⻑崎 • ROS 2でも優勝︕ Welcome to 28 and FPGA︕ To Be Continued FPT2019
Download