SlideShare uma empresa Scribd logo
1 de 66
ZytleBot
ROSベースの⾃律移動ロボットへの
FPGAの統合に向けて
新⽥ 泰⼤・⽥村 爽・⾼瀬 英希
京都⼤学 ⼤学院情報学研究科
swords@lab3.kyoto-u.ac.jp
Agenda
• プロローグ [⾼瀬]
• ZytleBotに⽤いた⾃律移動アルゴリズム [⽥村]
­ ZytleBotの紹介
­ HW/SWアルゴリズムの検討と選択
• ⾚信号認識のHWアクセラレーション [新⽥]
­ PS/PL連携
­ 実装について
• エピローグ [⾼瀬]
2
プロローグ
• ROS (Robot Operating System)とは︖
• FPGA Design Competition??
• 我々の戦略
ロボット開発を取り巻く背景
• ロボットシステムの特徴
­ 様々な情報技術の複合体
(姿勢制御,情報処理,⾃動化,プランニング,⼈⼯知能,など,,,)
­ 実世界の情報との密接なやり取り
üリアルタイム/⾮リアルタイム処理の混在
ü膨⼤なデータの(統計的な)処理
­ 限定された計算資源と電⼒量
4
統⼀化された開発フレームワークによる
ロボットシステム設計開発の加速化に期待
ROSとは︖
(Robot Operating System)
5
http://www.ros.org/about-ros/
ROS is not just framework,
but design platform for robots!!
• Plumbing: 出版購読型の通信モデルとミドルウェア
• Tools: プロジェクト管理,デバッグ,可視化,等
• Capabilities: 膨⼤なライブラリ・パッケージ
• Ecosystem: 世界規模の強⼒なOSSコミュニティ
Plumbing
• Publish / Subscribe messaging infrastructure
­ ROSノード︓ロボットシステムを構成する機能単位
üノードの登録・変更・削除が容易に実現できる
­ トピックを介した⾮同期型の通信⽅式
ü同期通信のserviceも提供されている
6
:
:
:
:
Tools
• catkin_tools: プロジェクト構成/ビルドシステム
• rqt: Qtベースのデバッグフレームワーク
• gazebo: 3D物理シミュレーションツール
• rviz: 可視化ツール
­ 他にもroslaunch, rosbagなど,,,
7
Capabilities
• ROSパッケージ
­ ロボットの有⽤な機能がまとめられたライブラリの集合
ümobility, manipulation, perception, etc.,,,
­ 2,000以上のパッケージが公開されている
ühttps://index.ros.org/packages/
• パッケージ活⽤の利点
­ 既存資産として活⽤できる
­ コンポーネント指向開発を実現できる
• 公式サポートの⾔語(ROS 1)︓C++, Python, LISP
­ 他にも,C#, Java, Lua, Go, ruby, ,,,
8
Ecosystem
• オンラインのコミュニティ
­ ROS Wiki: 各種⽂書の公開,パッケージ配布
­ ROS Answers: Q&Aページ
­ ROS Discourse: リリースやイベントのアナウンス
• オフラインのコミュニティ
­ ROSCon: 世界規模の開発者会議(最近はlocal Confも)
­ SIG meetups, tutorial workshop, local events, etc.,,,
9
ROS Compliannt Robots
10https://robots.ros.org
Aerial Marine
Component Sensor
Ground Manipulator
Motor
学習⽤ロボット︓TurtleBot3
• ROS公式の研究・教育⽤ロボット組⽴キット
­ テーブルトップでROSやSLAMの学習が出来る
­ OSRF(open robotics)からのリクエストで誕⽣
­ 改造の⾃由度が⾼く、ROS対応ロボット作成が容易
11
FPGA Design Competition
• FPTおよびHEARTで
開催されている⾃律移動
ロボットの開発コンテスト
• 道路を模したコースを⾛⾏
• センサ類はCMOSカメラのみ
• FPGAが搭載されたSoCで
全てのプログラム動作を
完結させる必要がある
• ⾞体の⼤きさやシステムの
構成は⾃由︕
12
http://fpt19.tju.edu.cn/Contest/FPT201
9_FPGA_Design_Competition.htm
我々の戦略
13
⾃律移動ロボットの
コンテストあるらしいぜ︖
ROSとTB3使うだけで
この競技なら楽勝ちゃう︖
FPGA︖どっかROSノードを
HLS掛けたらええだけやん
うちらみたいなFPGA最弱チームでも
ワンチャンいけんちゃう︖︖
沖縄と⻑崎にも⾏けるよ楽しいよ︕
⾦と⼝なら出すよ︕︕
(⼿を出すとは⾔っていない)
そんな美味い話しが
あるわけない,,,
ROSまるで
わからん,,,
ZytleBotに⽤いた
⾃律移動アルゴリズム
• ZytleBotの紹介
• HW/SWアルゴリズムの検討と選択
ZytleBot
15
• Zynq + TurtleBot
­ Zynq Ultrascale+ : Heterogeneous MPSoC
­ TurtleBot3 : ROS standard platform robot kit
TurtleBot3 & ZytleBot
16
LiDAR
Raspberry pi
OmnichargeUSBCam
Ultra96
Pcam 5C
OUT
IN
システム構成 & 分担
• ⽥村(SW)
­ ⾃動運転システム・システム
インテグレーション
­ カメラ固定⽤3Dモデル作成
• 新⽥(HW)
­ ロボット機体組み⽴て・調整
­ ⾚信号検出
HWアクセラレーション
17
開発の流れ
18
FPT 2018
HW
SW
2018/7~2018/9 ~2018/12 ~2019/6
シミュレータ作成
ライントレース
によるコース周回
ZyboにROSを
インストール
路⾯画像からの⾃律移動
アルゴリズム
第8回 相磯秀夫杯
ROS 2対応
FPGA利⽤のための
ROSノード作成
Ultra96対応
HEART 2019
PCamからの
画像取得・画像前処理
Petalinuxビルド
TurtleBot3認識 HOG特徴量計算
HW実装 HOG+SVM
HW実装
HOG+RF ⾚信号検出
SW実装
開発の流れ
19
HW
SW
2018/7~2018/9 ~2018/12 ~2019/6
シミュレータ作成
ライントレース
によるコース周回
ZyboにROSを
インストール
第8回 相磯秀夫杯
PCamからの
画像取得・画像前処理
Petalinuxビルド
TurtleBot3認識
開発の流れ
20
FPT 2018
HW
SW
2018/7~2018/9 ~2018/12 ~2019/6
路⾯画像からの⾃律移動
アルゴリズム
FPGA利⽤のための
ROSノード作成
HOG特徴量計算
HW実装
HOG+RF ⾚信号検出
SW実装
開発の流れ
21
HW
SW
2018/7~2018/9 ~2018/12 ~2019/6
ROS 2対応
Ultra96対応
HEART 2019
HOG+SVM
HW実装
ROSの活⽤︓シミュレータ
22
• Gazeboシミュレータ
­ SW部分の実装&テスト
­ インテグレーションが容易
1 / 1/ 1 / 1 .
ROSの活⽤︓シミュレータ
23
• Gazeboシミュレータ
­ SW部分の実装&テスト
­ インテグレーションが容易
⼊出⼒が実機と同じ︕
作った⾃律移動プログラムが
そのまま実機で動かせる︕
1 / 1/ 1 / 1 .
HW/SWアルゴリズムの遷移
24
HW︓路⾯画像の⼆値化
SW︓ライントレース
HW︓信号画像のHOG
特徴量 +⼆値化
SW︓特徴量からのラン
ダムフォレストによる
推論
+⾃律移動
アルゴリズム
HW︓SVMによる
信号検出 + ⼆値化
SW︓ ⾃律移動
アルゴリズム
第8回 相磯秀夫杯 FPT 2018 HEART 2019
HW/SWアルゴリズムの遷移
25
HW︓路⾯画像の⼆値化
SW︓ライントレース
HW︓SVMによる
信号検出 + ⼆値化
SW︓ ⾃律移動
• Pcamから取得した画像が、CPUに⼊る前に
モノクロに処理
­ リアルタイム性◎
­ CPU処理のオフロード
• 処理された画像を使ってのライントレース
HW︓信号画像のHOG
特徴量 + ⼆値化
SW︓特徴量からのラン
ダムフォレストによる
推論
+⾃律移動
HW/SWアルゴリズムの遷移
26
HW︓路⾯画像の⼆値化
SW︓ライントレース
HW︓信号画像の
HOG特徴量 + ⼆値化
SW︓特徴量からの
ランダムフォレスト
+⾃律移動アルゴリズム
HW︓SVMによる
信号検出
SW︓ ⾃律移動
アルゴリズム
• ランダムフォレストによる⾚信号検出を実装
• ⼤量の条件分岐があるため、推論はHWに不向き
­ 推論をCPUで実⾏するため、⼤きな負担
• 処理性能︓⾃律移動のみ5fps、信号検知中は3fps
­ ラグも⼤きく、⾛⾏が安定しない
HW/SWアルゴリズムの遷移
27
HW︓路⾯画像の⼆値化
SW︓ライントレース
HW︓信号画像のHOG
特徴量 +⼆値化
SW︓特徴量からのラン
ダムフォレストによる
推論
+⾃律移動
アルゴリズム
HW︓SVMによる
信号検出 + ⼆値化
SW︓ ⾃律移動
アルゴリズム
• SVMはFPGA向き
­ 推論までFPGAで⾏えるため、CPUの負担が軽減
• Zybo ⇨ Ultra96に、処理性能が格段にアップ
• 結果、10fps以上で安定⾛⾏
FPGA×ROS
• 2段階の⼿順
1. PS/PL間のインタフェースを作る
2. ROSからインタフェースを利⽤
• 1は後述
• 2については、
a. makefileでビルドできるC, C++プログラムを作成
b. ⼊出⼒に関してのROS APIを追加
c. ビルドシステム(catkin, colcon)でビルド
28
⾚信号認識のHWアクセラレーション
• PS/PL連携
• ⾚信号認識のHWアクセラレーション
開発内容
• 開発内容
­ FPGAで動作する回路の設計
üVivado HLSで開発
30
開発内容
• 開発内容
­ FPGAで動作する回路の設計
­ ボード⽤Linux Kernel, rootfsの構築
­ デバイスドライバ・デバイスツリーによるPS/PL連携
­ ロボット機体の組み⽴て・電源・パーツの選定
• 相磯杯・FPT 2018
­ Petalinux on ZYBO Z7-20
­ ZYBOのUSB Hostの電流不⾜問題
­ TurtleBot3 OpenCRが認識されない問題
• HEART 2019
­ Ubuntu on Ultra96
31
ボード上で動作するLinuxの構築
• Linux Kernel, rootfsの構築
­ Petalinux
üお⼿軽
üカスタマイズするとなると不⾃由
­ ⾃前で構築
üXilinx-linuxのリポジトリをクローン
• ZYBOのUSB Hostの電流不⾜
­ 2つ以上デバイスを接続すると落ちる
­ セルフパワーハブを使⽤
• OpenCRが認識されない
­ Linux Kernelのコンフィグを修正
32
CONFIG_USB_ACM=y
CONFIG_USB_SERIAL=y
CONFIG_USB_SERIAL_GENERIC=y
PS/PL連携
• FPGAの回路をLinuxにデバイスとして認識させる
­ デバイスツリー
üARM Linux 向けのデバイス情報の記述ファイル
ü物理アドレス等のプロパティをドライバが読み込む
1. メモリマップドIO
­ devmemで制御(危険︕)
2. UIO(User space IO)
­ ユーザプロセスから指定範囲のメモリを操作する機能
­ compatible = “generic-uio” のみ指定
3. デバイスドライバの作成
­ 安全・⼿間がかかる
33
PS/PL連携
• 例︓VivadoHLSで合成した回路をLinuxから操作
• デバイスツリーを記述
­ Petalinuxを使⽤する場合:system-user.dtsiに記述
­ Device Tree Overlayを使⽤する⽅法もアリ
­ /sys/class/uio以下にデバイスとして登録される
34
myip {
compatible = "generic-uio";
reg = <0x0 0x80010000 0x0 0x10000>;
interrupt-parent = <&gic>;
interrupts = <0 89 4>;
};
参考︓
https://qiita.com/tetsu_koba/items/5cb1f3b61d0b2b6f4e2b
https://qiita.com/ikwzm/items/5099d36b1bfd8009dce4
PS/PL連携
• VivadoHLSからドライバプログラムが⽣成される
­ デバイスドライバではない
­ x[ip_name].c, x[ip_name].h, x[ip_name]_hw.h, x[ip_name]_linux.c,
x[ip_name]_sinit.c
­ IPの開始・終了・割込設定に必要なレジスタ・設定⽤の
関数が記述されている (uio使⽤が想定されている)
35
PS/PL連携
• VivadoHLSからドライバプログラムが⽣成される
­ 合成する回路の⼊出⼒プロトコルがAXI4/AXI Liteの場
合、⼊出⼒ごとに関数が⽣成される
ümmapで物理アドレス⇔仮想アドレス変換後、関数を
呼び出せば⼊⼒アドレスがセットされる
­ AXISの場合はアドレス情報がないため、⽣成されない
üAXI DMAを⽤いてPSとデータ送受信
üudmabuf等を⽤いてPSからDMA操作
• Vivado HLS/Linux連携の公式ドキュメントは⾒つからない
36
物体認識のアルゴリズム
37
• なにがどこにあるかを検出
物体認識のアルゴリズム
38
• 分類器を繰り返し⽤いる⽅法
分類器・・RF, SVM
CNN
• スライディングウインドウ法
• 全ての位置・全てのスケールについて試⾏
• 選択的検索法
• R-CNN, Fast-RCNN, Faster-RCNN
領域候補を挙げてそれらをCNNに⼊⼒
• 回帰的に物体検出を⾏う⽅法
• YOLO, SSD
end-to-end学習が可能
領域候補 分類器
分類器
特徴量選定要
特徴量選定不要
参考︓ https://qiita.com/mshinoda88/items/9770ee671ea27f2c81a9
⾚信号検出器の開発
• FPT2018ではHOG特徴量+ランダムフォレスト法
­ HOG特徴量をFPGAで計算・RFはSWで計算
­ 毎フレーム,すべてのウインドウについて計算
üHWコアを1フレームにつき300回以上呼び出す
üSW/HW通信がボトルネックに︓3fps程度
­ ランダムフォレストをHW実装するとFF,LUTを⼤量使⽤
üIF⽂の数だけマルチプレクサが使⽤される
39
c.f. プログラマブルSoCを活⽤した⾃動運転ロボットにおける
交通信号検出タスクの設計空間探索, 新⽥ 泰⼤, ⽥村 爽, ⾼瀬 英希, ⾼⽊
⼀義, 髙⽊ 直史(京都⼤学), ETNET2019 種⼦島
⾚信号検出器の開発
• HEART2019ではRF→SVMに変更
­ 特徴量抽出からSVMによる推論まで全てをHWで実装
­ 1フレームにつきHWの呼び出しは1回で済む
­ ⼀部の特徴量が計算された時点で推論の計算を開始でき
るため⾼速(後述)
40
Python+Scikit-
learnで学習
全てC++に移植
(アルゴリズムの
理解)
VivadoHLSでHW
実装
現実的な問題
41
• 理想︓DNN on FPGAに挑戦
• 現実︓コンテストまで1ヶ⽉
p ZyboZ7からUltra96への移⾏
» カーネルビルド
» ⾞体の電源回り
p 他にもやることがいっぱい・・
HOG+SVM on FPGAで妥協
以前HOG+RF on FPGAが遅かったのでそれを改善したいのもあった
HOG特徴量
42
HOG: Histogram Of Gradients,輝度勾配
0. ⼊⼒画像︓グレースケール画像
1. 各画素について輝度勾配・⼤きさを求める
2. 各セル(8*8)毎にヒストグラムを作成
ビン︓勾配の⾓度 データ︓勾配の⼤きさ
𝐺" = 𝐼 𝑦 + 1, 𝑥 − 𝐼 𝑦 − 1, 𝑥
𝐺+ = 𝐼 𝑦, 𝑥 + 1 − 𝐼 𝑦, 𝑥 − 1
𝑚𝑎𝑔"+ = 𝐺+
/ + 𝐺"
/ , 𝜃"+ = arctan(
78
79
)
180 0
20
80
60
40
100
120
140
160
1
2
34567
8
9
8pix cell
1 2 3 4 5 6 7 8 9
Histogramℎ",+,< ≔ セル 𝑦, 𝑥のビン 𝑖の値
(0,1)
(2,1)
(1,0) (1,2)
HOG特徴量
43
3. 各ブロック(2*2)ごとに、ヒストグラムの値を正規化
隣接するブロックは8pix=1セル分重複している
4. 各ブロックごとの、各セルの正規化済みのヒストグラムの値がHOG特徴量
ex) 32pix*64pix
cellℎ′",+,< =
ℎ",+,<
ブロック内の全て(64個)
の𝑚𝑎𝑔合計
block
(
B/
C
− 1) ∗ (
EF
C
− 1) ∗ 4 ∗ 9 = 756個の特徴量
HOG+SVMで⾚信号検出
44
• 線形SVM分類器 * Sliding Window法
w: 学習した重み θ︓バイアス
x : 抽出した特徴量
• 特徴量︓RGB,HSV画素値 + HOG特徴量
­ HOG: Histogram Of Gradients,輝度勾配
𝑡 = K
<LM
N
𝑤< 𝑥< + 𝜃
𝑝𝑟𝑜𝑏𝑎 = 𝑠𝑖𝑔𝑚𝑜𝑖𝑑(𝑡)
⾚信号検出
45
8x8
Resize
8x8
RGB→HSV
32x64
HOG特徴量計算
SVM
32x64
RGB→GRAY
32x64
RGB
32x64x3
32x64 3x7x9
8x8x3
8bit x
8x8x3
8x8x3
1
画素特徴量計算
K 𝑤𝑥 + 𝜃
FPGA実装
46
• Vivado HLSで実装
• ⼊⼒︓320*240pix RGB画像
• 出⼒︓1287個のウインドウのSVM推論結果
• 1度のHW呼び出しで1フレーム全体を処理
• SVM推論器はFPGA実装向き
• ∑𝑤𝑥 + 𝜃
• ⼀部の特徴量が算出された時点で
部分和の計算を開始できる
• 以下の論⽂を参照
BGR->GRAY
BGR->Resize
magnitude,
theta
create_histo
gram
normalization
HOG-SVM
BGR-SVM
Merge
Luo, Jian & Lin, Chang. (2018). Pure FPGA
Implementation of an HOG Based Real-Time
Pedestrian Detection System. Sensors. 18. 1174.
10.3390/s18041174.
FPGA実装
47
• Vivado HLSで実装
• ⼊⼒︓320*240pix RGB画像
• 出⼒︓1287個のウインドウのSVM推論結果
• 1度のHW呼び出しで1フレーム全体を処理
• SVM推論器はFPGA実装向き
• ∑𝑤𝑥 + 𝜃
• ⼀部の特徴量が算出された時点で
部分和の計算を開始できる
• #pragmaによるデータフロー最適化
BGR->GRAY
BGR->Resize
magnitude,
theta
create_histo
gram
normalization
HOG-SVM
BGR-SVM
Merge
#pragma HLS DATAFLOW
#pragma HLS STREAM variable = bgr_hsv_resultstream depth = 100 dim = 1
grayscale_and_resizing(instream, gray_pix, upper_scaled_rgb, bottom_scaled_rgb);
compute_mag_and_bin(gray_pix, magstream, binstream);
cell_histogram_generate(magstream, binstream, bottom, upper);
block_histogram_normalization(bottom, upper, ul_out, ur_out, bl_out, br_out);
hog_svm_classification(ul_out, ur_out, bl_out, br_out, hog_resultstream, ..);
bgr_hsv_svm_classification(upper_scaled_rgb, bottom_scaled_rgb, bgr_hsv_resultstream,..)
FPGA実装
48
• Vivado HLSで実装
• ⼊⼒︓320*240pix RGB画像
• 出⼒︓1287個のウインドウのSVM推論結果
• 1度のHW呼び出しで1フレーム全体を処理
• SVM推論器はFPGA実装向き
• ∑𝑤𝑥 + 𝜃
• ⼀部の特徴量が算出された時点で
部分和の計算を開始できる
• #pragmaによるデータフロー最適化
BGR->GRAY
BGR->Resize
magnitude,
theta
create_histo
gram
normalization
HOG-SVM
BGR-SVM
Merge
#pragma HLS DATAFLOW
#pragma HLS STREAM variable = bgr_hsv_resultstream depth = 100 dim = 1
grayscale_and_resizing(instream, gray_pix, upper_scaled_rgb, bottom_scaled_rgb);
compute_mag_and_bin(gray_pix, magstream, binstream);
cell_histogram_generate(magstream, binstream, bottom, upper);
block_histogram_normalization(bottom, upper, ul_out, ur_out, bl_out, br_out);
hog_svm_classification(ul_out, ur_out, bl_out, br_out, hog_resultstream, ..);
bgr_hsv_svm_classification(upper_scaled_rgb, bottom_scaled_rgb, bgr_hsv_resultstream,..)
#pragma HLS DATAFLOWは関数のバイパスは
サポート外(動作未定義)
DataFlowViewerで確認してFIFOが推定さ
れていなかったところだけ明⽰
FPGA実装
49
Line Buffer
Line Buffer
Pixel
Calculate
Gradient
Window Register
magnitude,
bin_index
FPGA実装
50
Partial Histogram Buffer
Partial Histogram Buffer
Partial Histogram Buffer
Histogram Buffer
Histogram Buffer
ヒストグラム
完成︖
+
bottom cell
upper cell
…
Yes
Histogra
m Voter
x8
𝑷 𝟎,𝟎
FPGA実装
51
Partial Histogram Buffer
Partial Histogram Buffer
Partial Histogram Buffer
Histogram Buffer
Histogram Buffer
ヒストグラム
完成︖
+
bottom cell
upper cell
…
Yes
𝑷 𝟕,𝟎
𝑷 𝟔,𝟎
𝑷 𝟎,𝟎
𝑷 𝟏,𝟎
𝑷 𝟎,𝟑𝟗
𝑷 𝟏,𝟑𝟗
𝑷 𝟔,𝟑𝟗
Histogra
m Voter
FPGA実装
52
Partial Histogram Buffer
Partial Histogram Buffer
Partial Histogram Buffer
Histogram Buffer
Histogram Buffer
ヒストグラム
完成︖
+
bottom cell
upper cell
…
Yes
Histogra
m Voter
𝑪 𝟏,𝟎
𝑪 𝟎,𝟎
𝑪 𝟏,𝟎
𝑪 𝟎,𝟎
FPGA実装
53
sum
divide
divide
ブロック
完成︖
ブロック
完成︖
ブロック
完成︖
Yes
Yes
Yes
No
zeroing
sum of cell
bottom cell
upper cell
upper_left
upper_right
bottom_left
bottom_right
FPGA実装
54
sum
divide
divide
ブロック
完成︖
ブロック
完成︖
ブロック
完成︖
Yes
Yes
Yes
No
zeroing
sum of cell
𝑪 𝟎,𝟏
𝑪 𝟏,𝟏
𝑪 𝟎,𝟐
𝑪 𝟏,𝟐
𝑪 𝟎,𝟎
𝑪 𝟏,𝟎
bottom cell
upper cell
𝑪 𝟎,𝟎
𝑪 𝟎,𝟏
𝑪 𝟏,𝟎
𝑪 𝟏,𝟏
𝑪 𝟎,𝟏 + 𝑪 𝟏,𝟏
upper_left
upper_right
bottom_left
bottom_right
FPGA実装
55
weight ROMweight ROM
weight ROM
Multiply
Accumulator
Partial Sum RAM
33x4
ウインドウ
完成︖
+
+
Yes
No
zeroing
bias
output
vertical number of
block in window=
• 同じ特徴量に対し異なる重みが乗算される
• 縦に並列に計算
実装結果
56
• 学習
• Python+Scikit-learn
パラメータを抽出
• 合成結果
• Latency 207736clock
• 2.7clock/pixel
• データ依存が数か所存在
• 実⾏結果
• AXI DMAでPSと接続
• udmabufでDMA制御
• HW使⽤ ︓6.22milisec / 160fps
SWのみ︓1700milisec / 0.58fps
• 275倍⾼速化
https://github.com/lp6m/ImageDetectionHW2
弱点・感想
57
• 偽陽性の検出率が⾮常に⾼い
• 線形SVMの弱点︓特徴量間の関係性を無視
• 速度は⾮常に速い
• 認識する物体ごとにIPが必要
• ⼈形・障害物・信号全てはリソース不⾜
DNN on FPGA
58
• 様々な研究が⾏われている
• あまり考えずにとりあえず試してみたい
• 公開されている有名なフレームワーク
• DNNDKを触ってみた
DNN on FPGA
59
ネットワークの圧縮 量⼦化
float32bit->Int8bit
2値化(+1, -1)
XOR演算で処理
圧縮のタイミング 学習後に量⼦化を実⾏ 2値のまま学習
(精度が落ちにくい)
実装⽅法 DPU IP
重み・モデルはSWから転送
(HWの変更不要)
モデルごとにIP化
(HWの変更要)
オープンソース × 〇
対応ボード Xilinx Xilinx, Intel
DNN on FPGA
60
• DNNDKのワークフロー
­ Caffe, Tensorflow対応
­ 右図ではdarknetからCaffeに変換
• decent
­ 重みの量⼦化
­ キャリブレーション処理
(テストデータを使⽤して量⼦化
のチューニングを⾏う)
• dnndc-dpu
­ DPU向けの命令にコンパイル
DNN on FPGA
61
• モデル︓YOLOv3 darknet
­ end-to-end学習が可能
­ 学習したモデルをDNNDKで量⼦化
• チュートリアル通りにやれば簡単に動作した
まとめ・今後
62
• ROSをうまく活⽤し、HW/SWを平⾏開発
• HOG+ランダムフォレスト <<<< HOG+SVM
• DNNDK等のフレームワークにも期待
• 今後
• 物体認識の改善
• とりあえず有名フレームワークでの⼈形認識
• 余裕があれば⾃前実装にも挑戦したい
• 有名ROSパッケージのHW実装
エピローグ
Competition結果
• FPT2018にてZytleBot優勝︕
• 14チーム中3チームがROS採⽤
­ 半数以上のチームがロボットが動かな
かった中、ROSを使っていたチームは
全て動作、内2つが決勝進出
• HEART2019でも2連覇︕
64
Publication!??
65
FPT2018
HEART2019
DATE2019 U-Booth
FPL2019 Demo Night
ROSCon JP 2019
https://roscon.jp/
(just)DesignからResearchへ︖
• 教育効果とそのコスパはとても良い
• 研究室内でもFPGA設計の知⾒が蓄積されてきた
• “research” に繋がっているか︖︖
­ 既存技術を使った/組み合わせただけ
­ 実装上の⼯夫もあまり無い/性能を稼ぐ必要が無い
üそもそも⾔うほどシビアなアプリじゃないですね,,,
­ 少なくとも “framework” あるいは
“methodology” にはしないといけない
この辺り,皆さんのご意⾒を伺いたいですm(_ _)m
66

Mais conteúdo relacionado

Mais procurados

【DL輪読会】Mastering Diverse Domains through World Models
【DL輪読会】Mastering Diverse Domains through World Models【DL輪読会】Mastering Diverse Domains through World Models
【DL輪読会】Mastering Diverse Domains through World ModelsDeep Learning JP
 
強化学習と逆強化学習を組み合わせた模倣学習
強化学習と逆強化学習を組み合わせた模倣学習強化学習と逆強化学習を組み合わせた模倣学習
強化学習と逆強化学習を組み合わせた模倣学習Eiji Uchibe
 
ウェーブレット変換の基礎と応用事例:連続ウェーブレット変換を中心に
ウェーブレット変換の基礎と応用事例:連続ウェーブレット変換を中心にウェーブレット変換の基礎と応用事例:連続ウェーブレット変換を中心に
ウェーブレット変換の基礎と応用事例:連続ウェーブレット変換を中心にRyosuke Tachibana
 
マルチモーダル対話システムのスゝメ
マルチモーダル対話システムのスゝメマルチモーダル対話システムのスゝメ
マルチモーダル対話システムのスゝメTakahiro Kubo
 
[cvpaper.challenge] 超解像メタサーベイ #meta-study-group勉強会
[cvpaper.challenge] 超解像メタサーベイ #meta-study-group勉強会[cvpaper.challenge] 超解像メタサーベイ #meta-study-group勉強会
[cvpaper.challenge] 超解像メタサーベイ #meta-study-group勉強会S_aiueo32
 
【DL輪読会】Efficiently Modeling Long Sequences with Structured State Spaces
【DL輪読会】Efficiently Modeling Long Sequences with Structured State Spaces【DL輪読会】Efficiently Modeling Long Sequences with Structured State Spaces
【DL輪読会】Efficiently Modeling Long Sequences with Structured State SpacesDeep Learning JP
 
カルマンフィルタ入門
カルマンフィルタ入門カルマンフィルタ入門
カルマンフィルタ入門Yasunori Nihei
 
[DL輪読会](Sequential) Variational Autoencoders for Collaborative Filtering
[DL輪読会](Sequential) Variational Autoencoders for Collaborative Filtering[DL輪読会](Sequential) Variational Autoencoders for Collaborative Filtering
[DL輪読会](Sequential) Variational Autoencoders for Collaborative FilteringDeep Learning JP
 
パンでも分かるVariational Autoencoder
パンでも分かるVariational Autoencoderパンでも分かるVariational Autoencoder
パンでも分かるVariational Autoencoderぱんいち すみもと
 
[DL輪読会]逆強化学習とGANs
[DL輪読会]逆強化学習とGANs[DL輪読会]逆強化学習とGANs
[DL輪読会]逆強化学習とGANsDeep Learning JP
 
[DL輪読会]SeqGan Sequence Generative Adversarial Nets with Policy Gradient
[DL輪読会]SeqGan Sequence Generative Adversarial Nets with Policy Gradient[DL輪読会]SeqGan Sequence Generative Adversarial Nets with Policy Gradient
[DL輪読会]SeqGan Sequence Generative Adversarial Nets with Policy GradientDeep Learning JP
 
多様な強化学習の概念と課題認識
多様な強化学習の概念と課題認識多様な強化学習の概念と課題認識
多様な強化学習の概念と課題認識佑 甲野
 
モデルアーキテクチャ観点からの高速化2019
モデルアーキテクチャ観点からの高速化2019モデルアーキテクチャ観点からの高速化2019
モデルアーキテクチャ観点からの高速化2019Yusuke Uchida
 
【DL輪読会】マルチモーダル 基盤モデル
【DL輪読会】マルチモーダル 基盤モデル【DL輪読会】マルチモーダル 基盤モデル
【DL輪読会】マルチモーダル 基盤モデルDeep Learning JP
 
強化学習の基礎的な考え方と問題の分類
強化学習の基礎的な考え方と問題の分類強化学習の基礎的な考え方と問題の分類
強化学習の基礎的な考え方と問題の分類佑 甲野
 
[DL輪読会]Temporal Abstraction in NeurIPS2019
[DL輪読会]Temporal Abstraction in NeurIPS2019[DL輪読会]Temporal Abstraction in NeurIPS2019
[DL輪読会]Temporal Abstraction in NeurIPS2019Deep Learning JP
 
【DL輪読会】Unpaired Image Super-Resolution Using Pseudo-Supervision
【DL輪読会】Unpaired Image Super-Resolution Using Pseudo-Supervision【DL輪読会】Unpaired Image Super-Resolution Using Pseudo-Supervision
【DL輪読会】Unpaired Image Super-Resolution Using Pseudo-SupervisionDeep Learning JP
 
論文の図表レイアウト例
論文の図表レイアウト例論文の図表レイアウト例
論文の図表レイアウト例Sunao Hara
 
メタスタディ (Vision and Language)
メタスタディ (Vision and Language)メタスタディ (Vision and Language)
メタスタディ (Vision and Language)Shintaro Yamamoto
 

Mais procurados (20)

【DL輪読会】Mastering Diverse Domains through World Models
【DL輪読会】Mastering Diverse Domains through World Models【DL輪読会】Mastering Diverse Domains through World Models
【DL輪読会】Mastering Diverse Domains through World Models
 
強化学習と逆強化学習を組み合わせた模倣学習
強化学習と逆強化学習を組み合わせた模倣学習強化学習と逆強化学習を組み合わせた模倣学習
強化学習と逆強化学習を組み合わせた模倣学習
 
ウェーブレット変換の基礎と応用事例:連続ウェーブレット変換を中心に
ウェーブレット変換の基礎と応用事例:連続ウェーブレット変換を中心にウェーブレット変換の基礎と応用事例:連続ウェーブレット変換を中心に
ウェーブレット変換の基礎と応用事例:連続ウェーブレット変換を中心に
 
マルチモーダル対話システムのスゝメ
マルチモーダル対話システムのスゝメマルチモーダル対話システムのスゝメ
マルチモーダル対話システムのスゝメ
 
[cvpaper.challenge] 超解像メタサーベイ #meta-study-group勉強会
[cvpaper.challenge] 超解像メタサーベイ #meta-study-group勉強会[cvpaper.challenge] 超解像メタサーベイ #meta-study-group勉強会
[cvpaper.challenge] 超解像メタサーベイ #meta-study-group勉強会
 
【DL輪読会】Efficiently Modeling Long Sequences with Structured State Spaces
【DL輪読会】Efficiently Modeling Long Sequences with Structured State Spaces【DL輪読会】Efficiently Modeling Long Sequences with Structured State Spaces
【DL輪読会】Efficiently Modeling Long Sequences with Structured State Spaces
 
カルマンフィルタ入門
カルマンフィルタ入門カルマンフィルタ入門
カルマンフィルタ入門
 
[DL輪読会](Sequential) Variational Autoencoders for Collaborative Filtering
[DL輪読会](Sequential) Variational Autoencoders for Collaborative Filtering[DL輪読会](Sequential) Variational Autoencoders for Collaborative Filtering
[DL輪読会](Sequential) Variational Autoencoders for Collaborative Filtering
 
パンでも分かるVariational Autoencoder
パンでも分かるVariational Autoencoderパンでも分かるVariational Autoencoder
パンでも分かるVariational Autoencoder
 
[DL輪読会]逆強化学習とGANs
[DL輪読会]逆強化学習とGANs[DL輪読会]逆強化学習とGANs
[DL輪読会]逆強化学習とGANs
 
[DL輪読会]SeqGan Sequence Generative Adversarial Nets with Policy Gradient
[DL輪読会]SeqGan Sequence Generative Adversarial Nets with Policy Gradient[DL輪読会]SeqGan Sequence Generative Adversarial Nets with Policy Gradient
[DL輪読会]SeqGan Sequence Generative Adversarial Nets with Policy Gradient
 
多様な強化学習の概念と課題認識
多様な強化学習の概念と課題認識多様な強化学習の概念と課題認識
多様な強化学習の概念と課題認識
 
モデルアーキテクチャ観点からの高速化2019
モデルアーキテクチャ観点からの高速化2019モデルアーキテクチャ観点からの高速化2019
モデルアーキテクチャ観点からの高速化2019
 
【DL輪読会】マルチモーダル 基盤モデル
【DL輪読会】マルチモーダル 基盤モデル【DL輪読会】マルチモーダル 基盤モデル
【DL輪読会】マルチモーダル 基盤モデル
 
強化学習の基礎的な考え方と問題の分類
強化学習の基礎的な考え方と問題の分類強化学習の基礎的な考え方と問題の分類
強化学習の基礎的な考え方と問題の分類
 
一般化線形モデル (GLM) & 一般化加法モデル(GAM)
一般化線形モデル (GLM) & 一般化加法モデル(GAM) 一般化線形モデル (GLM) & 一般化加法モデル(GAM)
一般化線形モデル (GLM) & 一般化加法モデル(GAM)
 
[DL輪読会]Temporal Abstraction in NeurIPS2019
[DL輪読会]Temporal Abstraction in NeurIPS2019[DL輪読会]Temporal Abstraction in NeurIPS2019
[DL輪読会]Temporal Abstraction in NeurIPS2019
 
【DL輪読会】Unpaired Image Super-Resolution Using Pseudo-Supervision
【DL輪読会】Unpaired Image Super-Resolution Using Pseudo-Supervision【DL輪読会】Unpaired Image Super-Resolution Using Pseudo-Supervision
【DL輪読会】Unpaired Image Super-Resolution Using Pseudo-Supervision
 
論文の図表レイアウト例
論文の図表レイアウト例論文の図表レイアウト例
論文の図表レイアウト例
 
メタスタディ (Vision and Language)
メタスタディ (Vision and Language)メタスタディ (Vision and Language)
メタスタディ (Vision and Language)
 

Semelhante a ZytleBot: ROSベースの自律移動ロボットへのFPGAの統合に向けて

2012研究室紹介(大川)
2012研究室紹介(大川)2012研究室紹介(大川)
2012研究室紹介(大川)猛 大川
 
画像認識で物を見分ける
画像認識で物を見分ける画像認識で物を見分ける
画像認識で物を見分けるKazuaki Tanida
 
透過型確率的パケットマーキング装置の提案と開発(オープンルータコンペティション発表資料)
透過型確率的パケットマーキング装置の提案と開発(オープンルータコンペティション発表資料)透過型確率的パケットマーキング装置の提案と開発(オープンルータコンペティション発表資料)
透過型確率的パケットマーキング装置の提案と開発(オープンルータコンペティション発表資料)Akira Kanaoka
 
ソフトウェア志向の組込みシステム協調設計環境
ソフトウェア志向の組込みシステム協調設計環境ソフトウェア志向の組込みシステム協調設計環境
ソフトウェア志向の組込みシステム協調設計環境Hideki Takase
 
第11回 配信講義 計算科学技術特論B(2022)
第11回 配信講義 計算科学技術特論B(2022)第11回 配信講義 計算科学技術特論B(2022)
第11回 配信講義 計算科学技術特論B(2022)RCCSRENKEI
 
2019年7月3日 AITCオープンラボ 量子コンピューティング シリーズ第3回 ~日立製作所様における取り組み紹介~
2019年7月3日 AITCオープンラボ 量子コンピューティング シリーズ第3回 ~日立製作所様における取り組み紹介~ 2019年7月3日 AITCオープンラボ 量子コンピューティング シリーズ第3回 ~日立製作所様における取り組み紹介~
2019年7月3日 AITCオープンラボ 量子コンピューティング シリーズ第3回 ~日立製作所様における取り組み紹介~ aitc_jp
 
LLVMで遊ぶ(整数圧縮とか、x86向けの自動ベクトル化とか)
LLVMで遊ぶ(整数圧縮とか、x86向けの自動ベクトル化とか)LLVMで遊ぶ(整数圧縮とか、x86向けの自動ベクトル化とか)
LLVMで遊ぶ(整数圧縮とか、x86向けの自動ベクトル化とか)Takeshi Yamamuro
 
ソフトウェア自動チューニング研究紹介
ソフトウェア自動チューニング研究紹介ソフトウェア自動チューニング研究紹介
ソフトウェア自動チューニング研究紹介Takahiro Katagiri
 
ElGamal型暗号文に対する任意関数演算・再暗号化の二者間秘密計算プロトコルとその応用
ElGamal型暗号文に対する任意関数演算・再暗号化の二者間秘密計算プロトコルとその応用ElGamal型暗号文に対する任意関数演算・再暗号化の二者間秘密計算プロトコルとその応用
ElGamal型暗号文に対する任意関数演算・再暗号化の二者間秘密計算プロトコルとその応用MITSUNARI Shigeo
 
200730material fujita
200730material fujita200730material fujita
200730material fujitaRCCSRENKEI
 
文献紹介:SlowFast Networks for Video Recognition
文献紹介:SlowFast Networks for Video Recognition文献紹介:SlowFast Networks for Video Recognition
文献紹介:SlowFast Networks for Video RecognitionToru Tamaki
 
RTミドルウェアサマーキャンプ2018「有用なRTCの紹介」
RTミドルウェアサマーキャンプ2018「有用なRTCの紹介」RTミドルウェアサマーキャンプ2018「有用なRTCの紹介」
RTミドルウェアサマーキャンプ2018「有用なRTCの紹介」openrtm
 
PBL1-v1-011j.pptx
PBL1-v1-011j.pptxPBL1-v1-011j.pptx
PBL1-v1-011j.pptxNAIST
 
Data assim r
Data assim rData assim r
Data assim rXiangze
 
三次元点群処理ライブラリPCLと 統合ロボットシステム研究での 利用例の紹介
三次元点群処理ライブラリPCLと 統合ロボットシステム研究での 利用例の紹介三次元点群処理ライブラリPCLと 統合ロボットシステム研究での 利用例の紹介
三次元点群処理ライブラリPCLと 統合ロボットシステム研究での 利用例の紹介Ryohei Ueda
 
HistoPyramid Stream Compaction
HistoPyramid Stream CompactionHistoPyramid Stream Compaction
HistoPyramid Stream Compactiondasyprocta
 
状態空間モデルの実行方法と実行環境の比較
状態空間モデルの実行方法と実行環境の比較状態空間モデルの実行方法と実行環境の比較
状態空間モデルの実行方法と実行環境の比較Hiroki Itô
 
131106 01 i-rex2013
131106 01 i-rex2013131106 01 i-rex2013
131106 01 i-rex2013openrtm
 

Semelhante a ZytleBot: ROSベースの自律移動ロボットへのFPGAの統合に向けて (20)

2012研究室紹介(大川)
2012研究室紹介(大川)2012研究室紹介(大川)
2012研究室紹介(大川)
 
画像認識で物を見分ける
画像認識で物を見分ける画像認識で物を見分ける
画像認識で物を見分ける
 
透過型確率的パケットマーキング装置の提案と開発(オープンルータコンペティション発表資料)
透過型確率的パケットマーキング装置の提案と開発(オープンルータコンペティション発表資料)透過型確率的パケットマーキング装置の提案と開発(オープンルータコンペティション発表資料)
透過型確率的パケットマーキング装置の提案と開発(オープンルータコンペティション発表資料)
 
ソフトウェア志向の組込みシステム協調設計環境
ソフトウェア志向の組込みシステム協調設計環境ソフトウェア志向の組込みシステム協調設計環境
ソフトウェア志向の組込みシステム協調設計環境
 
第11回 配信講義 計算科学技術特論B(2022)
第11回 配信講義 計算科学技術特論B(2022)第11回 配信講義 計算科学技術特論B(2022)
第11回 配信講義 計算科学技術特論B(2022)
 
2019年7月3日 AITCオープンラボ 量子コンピューティング シリーズ第3回 ~日立製作所様における取り組み紹介~
2019年7月3日 AITCオープンラボ 量子コンピューティング シリーズ第3回 ~日立製作所様における取り組み紹介~ 2019年7月3日 AITCオープンラボ 量子コンピューティング シリーズ第3回 ~日立製作所様における取り組み紹介~
2019年7月3日 AITCオープンラボ 量子コンピューティング シリーズ第3回 ~日立製作所様における取り組み紹介~
 
LLVMで遊ぶ(整数圧縮とか、x86向けの自動ベクトル化とか)
LLVMで遊ぶ(整数圧縮とか、x86向けの自動ベクトル化とか)LLVMで遊ぶ(整数圧縮とか、x86向けの自動ベクトル化とか)
LLVMで遊ぶ(整数圧縮とか、x86向けの自動ベクトル化とか)
 
ソフトウェア自動チューニング研究紹介
ソフトウェア自動チューニング研究紹介ソフトウェア自動チューニング研究紹介
ソフトウェア自動チューニング研究紹介
 
ElGamal型暗号文に対する任意関数演算・再暗号化の二者間秘密計算プロトコルとその応用
ElGamal型暗号文に対する任意関数演算・再暗号化の二者間秘密計算プロトコルとその応用ElGamal型暗号文に対する任意関数演算・再暗号化の二者間秘密計算プロトコルとその応用
ElGamal型暗号文に対する任意関数演算・再暗号化の二者間秘密計算プロトコルとその応用
 
200730material fujita
200730material fujita200730material fujita
200730material fujita
 
文献紹介:SlowFast Networks for Video Recognition
文献紹介:SlowFast Networks for Video Recognition文献紹介:SlowFast Networks for Video Recognition
文献紹介:SlowFast Networks for Video Recognition
 
RTミドルウェアサマーキャンプ2018「有用なRTCの紹介」
RTミドルウェアサマーキャンプ2018「有用なRTCの紹介」RTミドルウェアサマーキャンプ2018「有用なRTCの紹介」
RTミドルウェアサマーキャンプ2018「有用なRTCの紹介」
 
PBL1-v1-011j.pptx
PBL1-v1-011j.pptxPBL1-v1-011j.pptx
PBL1-v1-011j.pptx
 
Data assim r
Data assim rData assim r
Data assim r
 
三次元点群処理ライブラリPCLと 統合ロボットシステム研究での 利用例の紹介
三次元点群処理ライブラリPCLと 統合ロボットシステム研究での 利用例の紹介三次元点群処理ライブラリPCLと 統合ロボットシステム研究での 利用例の紹介
三次元点群処理ライブラリPCLと 統合ロボットシステム研究での 利用例の紹介
 
HistoPyramid Stream Compaction
HistoPyramid Stream CompactionHistoPyramid Stream Compaction
HistoPyramid Stream Compaction
 
Prosym2012
Prosym2012Prosym2012
Prosym2012
 
画像処理の高性能計算
画像処理の高性能計算画像処理の高性能計算
画像処理の高性能計算
 
状態空間モデルの実行方法と実行環境の比較
状態空間モデルの実行方法と実行環境の比較状態空間モデルの実行方法と実行環境の比較
状態空間モデルの実行方法と実行環境の比較
 
131106 01 i-rex2013
131106 01 i-rex2013131106 01 i-rex2013
131106 01 i-rex2013
 

Mais de Hideki Takase

Rclex: A Library for Robotics meet Elixir
Rclex: A Library for Robotics meet ElixirRclex: A Library for Robotics meet Elixir
Rclex: A Library for Robotics meet ElixirHideki Takase
 
高い並列性能と耐障害性を持つElixirとNervesでIoTの新しいカタチを切り拓く
高い並列性能と耐障害性を持つElixirとNervesでIoTの新しいカタチを切り拓く高い並列性能と耐障害性を持つElixirとNervesでIoTの新しいカタチを切り拓く
高い並列性能と耐障害性を持つElixirとNervesでIoTの新しいカタチを切り拓くHideki Takase
 
関数型っぽくROSロボットプログラミング
関数型っぽくROSロボットプログラミング関数型っぽくROSロボットプログラミング
関数型っぽくROSロボットプログラミングHideki Takase
 
ROS 2 Client Library for E^2
ROS 2 Client Library for E^2ROS 2 Client Library for E^2
ROS 2 Client Library for E^2Hideki Takase
 
Elixir/Nervesはナウでヤングなcoolなすごいやつ
Elixir/NervesはナウでヤングなcoolなすごいやつElixir/Nervesはナウでヤングなcoolなすごいやつ
Elixir/NervesはナウでヤングなcoolなすごいやつHideki Takase
 
関数型言語ElixirのIoTシステム開発への展開
関数型言語ElixirのIoTシステム開発への展開関数型言語ElixirのIoTシステム開発への展開
関数型言語ElixirのIoTシステム開発への展開Hideki Takase
 
FPGAをロボット(ROS)で「やわらかく」使うには
FPGAをロボット(ROS)で「やわらかく」使うにはFPGAをロボット(ROS)で「やわらかく」使うには
FPGAをロボット(ROS)で「やわらかく」使うにはHideki Takase
 
ロボットシステムのつくりかた 〜Robot Operating Systemというアプローチ〜
ロボットシステムのつくりかた 〜Robot Operating Systemというアプローチ〜ロボットシステムのつくりかた 〜Robot Operating Systemというアプローチ〜
ロボットシステムのつくりかた 〜Robot Operating Systemというアプローチ〜Hideki Takase
 
ElixirでIoT!?ナウでヤングでcoolなNervesフレームワーク
ElixirでIoT!?ナウでヤングでcoolなNervesフレームワークElixirでIoT!?ナウでヤングでcoolなNervesフレームワーク
ElixirでIoT!?ナウでヤングでcoolなNervesフレームワークHideki Takase
 
Rclex: ElixirでROS!!
Rclex: ElixirでROS!!Rclex: ElixirでROS!!
Rclex: ElixirでROS!!Hideki Takase
 
QoS for ROS 2 Dashing/Eloquent
QoS for ROS 2 Dashing/EloquentQoS for ROS 2 Dashing/Eloquent
QoS for ROS 2 Dashing/EloquentHideki Takase
 
Nerves!? Elixir!?? 関数型言語でれっつIoT開発!!
Nerves!? Elixir!?? 関数型言語でれっつIoT開発!!Nerves!? Elixir!?? 関数型言語でれっつIoT開発!!
Nerves!? Elixir!?? 関数型言語でれっつIoT開発!!Hideki Takase
 
ROSCon2019 参加報告:オーバビュー+α
ROSCon2019 参加報告:オーバビュー+αROSCon2019 参加報告:オーバビュー+α
ROSCon2019 参加報告:オーバビュー+αHideki Takase
 
ElixirでFPGAを設計する
ElixirでFPGAを設計するElixirでFPGAを設計する
ElixirでFPGAを設計するHideki Takase
 
つながるロボット 〜分散協調ロボットの開発を加速化するROSの紹介〜
つながるロボット 〜分散協調ロボットの開発を加速化するROSの紹介〜つながるロボット 〜分散協調ロボットの開発を加速化するROSの紹介〜
つながるロボット 〜分散協調ロボットの開発を加速化するROSの紹介〜Hideki Takase
 
Cockatrice: A Hardware Design Environment with Elixir
Cockatrice: A Hardware Design Environment with ElixirCockatrice: A Hardware Design Environment with Elixir
Cockatrice: A Hardware Design Environment with ElixirHideki Takase
 
IoTアプリ/ロボット開発をリアルタイムOSでレベルアップしませんか? ~高品質な組込み向けオープンソースを開発するTOPPERSプロジェクトのご紹介~
IoTアプリ/ロボット開発をリアルタイムOSでレベルアップしませんか? ~高品質な組込み向けオープンソースを開発するTOPPERSプロジェクトのご紹介~IoTアプリ/ロボット開発をリアルタイムOSでレベルアップしませんか? ~高品質な組込み向けオープンソースを開発するTOPPERSプロジェクトのご紹介~
IoTアプリ/ロボット開発をリアルタイムOSでレベルアップしませんか? ~高品質な組込み向けオープンソースを開発するTOPPERSプロジェクトのご紹介~Hideki Takase
 
TOPPERSプロジェクトのご紹介@IoT ALGYAN
TOPPERSプロジェクトのご紹介@IoT ALGYANTOPPERSプロジェクトのご紹介@IoT ALGYAN
TOPPERSプロジェクトのご紹介@IoT ALGYANHideki Takase
 
ElixirでFPGAハードウェアが作れちゃう,かも!!?
ElixirでFPGAハードウェアが作れちゃう,かも!!?ElixirでFPGAハードウェアが作れちゃう,かも!!?
ElixirでFPGAハードウェアが作れちゃう,かも!!?Hideki Takase
 
Nervesが開拓する「ElixirでIoT」の新世界
Nervesが開拓する「ElixirでIoT」の新世界Nervesが開拓する「ElixirでIoT」の新世界
Nervesが開拓する「ElixirでIoT」の新世界Hideki Takase
 

Mais de Hideki Takase (20)

Rclex: A Library for Robotics meet Elixir
Rclex: A Library for Robotics meet ElixirRclex: A Library for Robotics meet Elixir
Rclex: A Library for Robotics meet Elixir
 
高い並列性能と耐障害性を持つElixirとNervesでIoTの新しいカタチを切り拓く
高い並列性能と耐障害性を持つElixirとNervesでIoTの新しいカタチを切り拓く高い並列性能と耐障害性を持つElixirとNervesでIoTの新しいカタチを切り拓く
高い並列性能と耐障害性を持つElixirとNervesでIoTの新しいカタチを切り拓く
 
関数型っぽくROSロボットプログラミング
関数型っぽくROSロボットプログラミング関数型っぽくROSロボットプログラミング
関数型っぽくROSロボットプログラミング
 
ROS 2 Client Library for E^2
ROS 2 Client Library for E^2ROS 2 Client Library for E^2
ROS 2 Client Library for E^2
 
Elixir/Nervesはナウでヤングなcoolなすごいやつ
Elixir/NervesはナウでヤングなcoolなすごいやつElixir/Nervesはナウでヤングなcoolなすごいやつ
Elixir/Nervesはナウでヤングなcoolなすごいやつ
 
関数型言語ElixirのIoTシステム開発への展開
関数型言語ElixirのIoTシステム開発への展開関数型言語ElixirのIoTシステム開発への展開
関数型言語ElixirのIoTシステム開発への展開
 
FPGAをロボット(ROS)で「やわらかく」使うには
FPGAをロボット(ROS)で「やわらかく」使うにはFPGAをロボット(ROS)で「やわらかく」使うには
FPGAをロボット(ROS)で「やわらかく」使うには
 
ロボットシステムのつくりかた 〜Robot Operating Systemというアプローチ〜
ロボットシステムのつくりかた 〜Robot Operating Systemというアプローチ〜ロボットシステムのつくりかた 〜Robot Operating Systemというアプローチ〜
ロボットシステムのつくりかた 〜Robot Operating Systemというアプローチ〜
 
ElixirでIoT!?ナウでヤングでcoolなNervesフレームワーク
ElixirでIoT!?ナウでヤングでcoolなNervesフレームワークElixirでIoT!?ナウでヤングでcoolなNervesフレームワーク
ElixirでIoT!?ナウでヤングでcoolなNervesフレームワーク
 
Rclex: ElixirでROS!!
Rclex: ElixirでROS!!Rclex: ElixirでROS!!
Rclex: ElixirでROS!!
 
QoS for ROS 2 Dashing/Eloquent
QoS for ROS 2 Dashing/EloquentQoS for ROS 2 Dashing/Eloquent
QoS for ROS 2 Dashing/Eloquent
 
Nerves!? Elixir!?? 関数型言語でれっつIoT開発!!
Nerves!? Elixir!?? 関数型言語でれっつIoT開発!!Nerves!? Elixir!?? 関数型言語でれっつIoT開発!!
Nerves!? Elixir!?? 関数型言語でれっつIoT開発!!
 
ROSCon2019 参加報告:オーバビュー+α
ROSCon2019 参加報告:オーバビュー+αROSCon2019 参加報告:オーバビュー+α
ROSCon2019 参加報告:オーバビュー+α
 
ElixirでFPGAを設計する
ElixirでFPGAを設計するElixirでFPGAを設計する
ElixirでFPGAを設計する
 
つながるロボット 〜分散協調ロボットの開発を加速化するROSの紹介〜
つながるロボット 〜分散協調ロボットの開発を加速化するROSの紹介〜つながるロボット 〜分散協調ロボットの開発を加速化するROSの紹介〜
つながるロボット 〜分散協調ロボットの開発を加速化するROSの紹介〜
 
Cockatrice: A Hardware Design Environment with Elixir
Cockatrice: A Hardware Design Environment with ElixirCockatrice: A Hardware Design Environment with Elixir
Cockatrice: A Hardware Design Environment with Elixir
 
IoTアプリ/ロボット開発をリアルタイムOSでレベルアップしませんか? ~高品質な組込み向けオープンソースを開発するTOPPERSプロジェクトのご紹介~
IoTアプリ/ロボット開発をリアルタイムOSでレベルアップしませんか? ~高品質な組込み向けオープンソースを開発するTOPPERSプロジェクトのご紹介~IoTアプリ/ロボット開発をリアルタイムOSでレベルアップしませんか? ~高品質な組込み向けオープンソースを開発するTOPPERSプロジェクトのご紹介~
IoTアプリ/ロボット開発をリアルタイムOSでレベルアップしませんか? ~高品質な組込み向けオープンソースを開発するTOPPERSプロジェクトのご紹介~
 
TOPPERSプロジェクトのご紹介@IoT ALGYAN
TOPPERSプロジェクトのご紹介@IoT ALGYANTOPPERSプロジェクトのご紹介@IoT ALGYAN
TOPPERSプロジェクトのご紹介@IoT ALGYAN
 
ElixirでFPGAハードウェアが作れちゃう,かも!!?
ElixirでFPGAハードウェアが作れちゃう,かも!!?ElixirでFPGAハードウェアが作れちゃう,かも!!?
ElixirでFPGAハードウェアが作れちゃう,かも!!?
 
Nervesが開拓する「ElixirでIoT」の新世界
Nervesが開拓する「ElixirでIoT」の新世界Nervesが開拓する「ElixirでIoT」の新世界
Nervesが開拓する「ElixirでIoT」の新世界
 

ZytleBot: ROSベースの自律移動ロボットへのFPGAの統合に向けて