狠狠撸

狠狠撸Share a Scribd company logo
Tsukuba Exploration Roverの開発と
つくばチャレンジ2017への取り組み
No 1702 チームイエスマン XX XX
About Me
? 所属 XXXX株式会社 YYYY発本部
? 業務内容:車載カメラ向けの画像処理ソフト開発
? 画像処理技術 & ロボティックスの知識を深めたい
? ものづくり大好き
? 過去にもロボコン参加歴あり.
? ETロボコン2013
? つくばチャレンジ2015
? つくばチャレンジ2016
つくばチャレンジ3ヵ年計画
? つくばチャレンジ2015 (参加初年度)
? ハードウェアの作成
? つくばチャレンジ2016
? ソフトウェアの作成及び,コース完走
? つくばチャレンジ2017 (<- 今ここ)
? コース完走,及び全課題達成!
つくばチャレンジ3ヵ年計画
? つくばチャレンジ2015 (参加初年度)
? ハードウェアの作成
? つくばチャレンジ2016
? ソフトウェアの作成及び,コース完走
? ベースとなるアイデアの作成...
? つくばチャレンジ2017 (<- 今ここ)
? コース完走,及び全課題達成!
? 大清水公園完走まであと少し..
2015年,ここでリタイア 70m/1580m
2016年,ここでリタイア 80m/2013m
マイルストン1クリアまで,あと60m...
( ;?Д`)
2017年,ここでリタイア 200m/2000m
ということで,技術的にはかなり素朴な発表内容になりますが,,,
「素人が Google 先生に頼りながら,
0 から自作ロボットを作ったらどうなるか?」
という観点で見ていただけると楽しんでいただけるかと思います.
システム構成
~ Hardware ~
Arduino
ZED Stereo
Camera
IMU
Ubuntu PC
PC Battery
Motor
Battery
Intel NUC
(Ubuntu
16.04)
Jetson Tx2
(Ubuntu
16.04)
Arduino DUE
(マイコン)
TCP/IP or UDP
RS232C
ステレオカメラ
USB3.0
モータ
サーボ
エンコーダ
IMU
Hardwire
Hardwire
Hardwire
I2C
Jetson Tx2
システム構成
~ Software ~
Zed Stereo
Camera
Jetson TX2 (Ubuntu 16.04)
SGBM
Noise
Remover
Image
(Left/ Right)
Disparity
Intel NUC (Ubuntu 16.04)
Arduino
DUE
(マイコン)
エンコーダ
IMU
モータ
サーボ
move_base
Teb Local
Planner
Waypoint
Publisher
Controller
Odometry
Generator
cmd_ve
l
Pulse,
Yaw
Rate
PWM
Global Map
Generator
Denoised
Disparity
Localizer
Raw
odometry
tf, Map Loc
Reference
Map
Goal
Point
EKF 2d
Fused
Odom
システム構成
~ Software ~
Zed Stereo
Camera
Jetson TX2 (Ubuntu 16.04)
SGBM
Noise
Remover
Image
(Left/ Right)
Disparity
Intel NUC (Ubuntu 16.04)
Arduino
DUE
(マイコン)
エンコーダ
IMU
モータ
サーボ
move_base
Teb Local
Planner
Waypoint
Publisher
Controller
Odometry
Generator
cmd_ve
l
Pulse,
Yaw
Rate
PWM
Global Map
Generator
Denoised
Disparity
Localizer
Raw
odometry
tf, Map Loc
Reference
Map
Goal
Point
EKF 2d
Fused
Odom
1.視差生成
システム構成
~ Stereo & SGBM & Noise Remover~
? ステレオ
? ハードに 米 StereoLabs 社の Zed を使用.
? ソフトには SGBM (Cuda化済) を使用.
? ノイズ除去
? 後段のマップ作製を簡易化するため,
「視差は画面下部から上部に向けて小さくなる」
という前提を用いてノイズ除去.
大清水公園スタート地点周辺
SGBM出力結果
ノイズ除去後
ノイズ除去の前提
木が一本の
棒のように
システム構成
~ Stereo & SGBM & Noise Remover~
システム構成
~ Software ~
Zed Stereo
Camera
Jetson TX2 (Ubuntu 16.04)
SGBM
Noise
Remover
Image
(Left/ Right)
Disparity
Intel NUC (Ubuntu 16.04)
Arduino
DUE
(マイコン)
エンコーダ
IMU
モータ
サーボ
move_base
Teb Local
Planner
Waypoint
Publisher
Controller
Odometry
Generator
cmd_ve
l
Pulse,
Yaw
Rate
PWM
Global Map
Generator
Denoised
Disparity
Localizer
Raw
odometry
tf, Map Loc
Reference
Map
Goal
Point
EKF 2d
Fused
Odom
2.マップ生成
システム構成
~ Global Map Generator ~
? 高さ情報を保持する2.5D地図
? ロボットの周囲に2Dグリッドを定義.
? ステレオの計測点群を路面に投影し,グリッドに含
まれる点群の高さ平均値をグリッドの代表高さとし
て採用.
? 代表高さをフィルタリングしてノイズ除去.
? OGMの計算
? 2.5Dグリッドのグリッド間勾配を計算.
? 勾配値が一定以上の箇所を通行不可とする.
ロボット周辺のローカルグリッド
大清水公園の2.5D地図
大清水公園のOGM
この地図を自立走行時の Reference として使用.
システム構成
~ Software ~
Zed Stereo
Camera
Jetson TX2 (Ubuntu 16.04)
SGBM
Noise
Remover
Image
(Left/ Right)
Disparity
Intel NUC (Ubuntu 16.04)
Arduino
DUE
(マイコン)
エンコーダ
IMU
モータ
サーボ
move_base
Teb Local
Planner
Waypoint
Publisher
Controller
Odometry
Generator
cmd_ve
l
Pulse,
Yaw
Rate
PWM
Global Map
Generator
Denoised
Disparity
Localizer
Raw
odometry
tf, Map Loc
Reference
Map
Goal
Point
EKF 2d
Fused
Odom3.自己位置推定
? テンプレートマッチング
? オドメトリベースで生成しているマップの中で,ロ
ボットの現在位置を中心とした20m x 20mの正
方形をテンプレートとして,あらかじめ用意している
地図にテンプレートマッチングする.
? カルマンフィルタリング
? デッドレコニングで求まる位置座標とテンプレート
マッチングによる結果を拡張カルマンフィルタを用い
てフィルタリングし,この結果をロボットの自己位置
とする.
システム構成
~ Localizer & EFK2d ~
事前取得しておいた地図
自動走行中に作成している地図
ロボットを中心とした正方形領域をテン
プレートとして採用し,地図に対して
マッチング.
システム構成
~ Localizer & EFK2d ~
システム構成
~ Localizer & EFK2d ~
デッドレコニング
テンプレート
マッチング
EKF2d
(テンプレートマッチング +
デッドレコニング)
システム構成
~ Software ~
Zed Stereo
Camera
Jetson TX2 (Ubuntu 16.04)
SGBM
Noise
Remover
Image
(Left/ Right)
Disparity
Intel NUC (Ubuntu 16.04)
Arduino
DUE
(マイコン)
エンコーダ
IMU
モータ
サーボ
move_base
Teb Local
Planner
Waypoint
Publisher
Controller
Odometry
Generator
cmd_ve
l
Pulse,
Yaw
Rate
PWM
Global Map
Generator
Denoised
Disparity
Localizer
Raw
odometry
tf, Map Loc
Reference
Map
Goal
Point
EKF 2d
Fused
Odom
プランニング
? WayPointの発行
? あらかじめ設定しておいた Way Point を自
己位置に応じて順次発行.
? 軌道生成 & 追従制御
? ROSのパッケージとして公開されている
TebLocalPlanner を使用.
? Odometryフレームで追従制御を実施.
システム構成
~ Waypoint Publisher & Teb Local Planner ~
Waypointと環境地図
システム構成
~ Waypoint Publisher & Teb Local Planner ~
2月 3月 4月 5月 6月 7月 8月 9月 10月 11月
2017年の反省と2018年に向けて
? 頑張った!でもやっぱり1年は短い.
? 方法論の模索にはとても時間がかかる.
? オープンソースのライブラリも,ある程度手を入れないといけない.
? 画像処理は計算が大変...
? SGBM 5Hz と 1Hz 自己位置推定で Jetson Tx2 の性能限界.
? Cuda化の必要性に気付いたのが10月.そこからCuda化実施.
本番試走会シーズン説明会
ソフト整理
Planner
検討
センシングデバイス
検討&準備
SGBM&VO
検討
自己位置推定検討&実験 Cuda化
2月 3月 4月 5月 6月 7月 8月 9月 10月 11月
2017年の反省と2018年に向けて
? 頑張った!でもやっぱり1年は短い.
? つくばチャレンジ参加者向け説明会が7月で,ここから本番まで4か
月....この段階である程度動くものがないと,ツラい...
? 方法論の模索にはとても時間がかかる.
? 最後はホテルの廊下で自動走行...
? 画像処理は計算が大変...
? SGBM 5Hz と 1Hz 自己位置推定で Jetson Tx2 の性能限界.
? Cuda化の必要性に気付いたのが10月.そこからCuda化実施.
本番試走会シーズン説明会
ソフト整理
Planner
検討
センシングデバイス
検討&準備
SGBM&VO
検討
自己位置推定検討&実験 Cuda化
ご清聴,ありがとうございました.
2018年も,よろしくお願いします(?ω?)ノ

More Related Content

Si2017 チームイエスマン 発表スライド

  • 2. About Me ? 所属 XXXX株式会社 YYYY発本部 ? 業務内容:車載カメラ向けの画像処理ソフト開発 ? 画像処理技術 & ロボティックスの知識を深めたい ? ものづくり大好き ? 過去にもロボコン参加歴あり. ? ETロボコン2013 ? つくばチャレンジ2015 ? つくばチャレンジ2016
  • 3. つくばチャレンジ3ヵ年計画 ? つくばチャレンジ2015 (参加初年度) ? ハードウェアの作成 ? つくばチャレンジ2016 ? ソフトウェアの作成及び,コース完走 ? つくばチャレンジ2017 (<- 今ここ) ? コース完走,及び全課題達成!
  • 4. つくばチャレンジ3ヵ年計画 ? つくばチャレンジ2015 (参加初年度) ? ハードウェアの作成 ? つくばチャレンジ2016 ? ソフトウェアの作成及び,コース完走 ? ベースとなるアイデアの作成... ? つくばチャレンジ2017 (<- 今ここ) ? コース完走,及び全課題達成! ? 大清水公園完走まであと少し.. 2015年,ここでリタイア 70m/1580m 2016年,ここでリタイア 80m/2013m マイルストン1クリアまで,あと60m... ( ;?Д`) 2017年,ここでリタイア 200m/2000m
  • 5. ということで,技術的にはかなり素朴な発表内容になりますが,,, 「素人が Google 先生に頼りながら, 0 から自作ロボットを作ったらどうなるか?」 という観点で見ていただけると楽しんでいただけるかと思います.
  • 6. システム構成 ~ Hardware ~ Arduino ZED Stereo Camera IMU Ubuntu PC PC Battery Motor Battery Intel NUC (Ubuntu 16.04) Jetson Tx2 (Ubuntu 16.04) Arduino DUE (マイコン) TCP/IP or UDP RS232C ステレオカメラ USB3.0 モータ サーボ エンコーダ IMU Hardwire Hardwire Hardwire I2C Jetson Tx2
  • 7. システム構成 ~ Software ~ Zed Stereo Camera Jetson TX2 (Ubuntu 16.04) SGBM Noise Remover Image (Left/ Right) Disparity Intel NUC (Ubuntu 16.04) Arduino DUE (マイコン) エンコーダ IMU モータ サーボ move_base Teb Local Planner Waypoint Publisher Controller Odometry Generator cmd_ve l Pulse, Yaw Rate PWM Global Map Generator Denoised Disparity Localizer Raw odometry tf, Map Loc Reference Map Goal Point EKF 2d Fused Odom
  • 8. システム構成 ~ Software ~ Zed Stereo Camera Jetson TX2 (Ubuntu 16.04) SGBM Noise Remover Image (Left/ Right) Disparity Intel NUC (Ubuntu 16.04) Arduino DUE (マイコン) エンコーダ IMU モータ サーボ move_base Teb Local Planner Waypoint Publisher Controller Odometry Generator cmd_ve l Pulse, Yaw Rate PWM Global Map Generator Denoised Disparity Localizer Raw odometry tf, Map Loc Reference Map Goal Point EKF 2d Fused Odom 1.視差生成
  • 9. システム構成 ~ Stereo & SGBM & Noise Remover~ ? ステレオ ? ハードに 米 StereoLabs 社の Zed を使用. ? ソフトには SGBM (Cuda化済) を使用. ? ノイズ除去 ? 後段のマップ作製を簡易化するため, 「視差は画面下部から上部に向けて小さくなる」 という前提を用いてノイズ除去. 大清水公園スタート地点周辺 SGBM出力結果 ノイズ除去後 ノイズ除去の前提 木が一本の 棒のように
  • 10. システム構成 ~ Stereo & SGBM & Noise Remover~
  • 11. システム構成 ~ Software ~ Zed Stereo Camera Jetson TX2 (Ubuntu 16.04) SGBM Noise Remover Image (Left/ Right) Disparity Intel NUC (Ubuntu 16.04) Arduino DUE (マイコン) エンコーダ IMU モータ サーボ move_base Teb Local Planner Waypoint Publisher Controller Odometry Generator cmd_ve l Pulse, Yaw Rate PWM Global Map Generator Denoised Disparity Localizer Raw odometry tf, Map Loc Reference Map Goal Point EKF 2d Fused Odom 2.マップ生成
  • 12. システム構成 ~ Global Map Generator ~ ? 高さ情報を保持する2.5D地図 ? ロボットの周囲に2Dグリッドを定義. ? ステレオの計測点群を路面に投影し,グリッドに含 まれる点群の高さ平均値をグリッドの代表高さとし て採用. ? 代表高さをフィルタリングしてノイズ除去. ? OGMの計算 ? 2.5Dグリッドのグリッド間勾配を計算. ? 勾配値が一定以上の箇所を通行不可とする. ロボット周辺のローカルグリッド 大清水公園の2.5D地図 大清水公園のOGM この地図を自立走行時の Reference として使用.
  • 13. システム構成 ~ Software ~ Zed Stereo Camera Jetson TX2 (Ubuntu 16.04) SGBM Noise Remover Image (Left/ Right) Disparity Intel NUC (Ubuntu 16.04) Arduino DUE (マイコン) エンコーダ IMU モータ サーボ move_base Teb Local Planner Waypoint Publisher Controller Odometry Generator cmd_ve l Pulse, Yaw Rate PWM Global Map Generator Denoised Disparity Localizer Raw odometry tf, Map Loc Reference Map Goal Point EKF 2d Fused Odom3.自己位置推定
  • 14. ? テンプレートマッチング ? オドメトリベースで生成しているマップの中で,ロ ボットの現在位置を中心とした20m x 20mの正 方形をテンプレートとして,あらかじめ用意している 地図にテンプレートマッチングする. ? カルマンフィルタリング ? デッドレコニングで求まる位置座標とテンプレート マッチングによる結果を拡張カルマンフィルタを用い てフィルタリングし,この結果をロボットの自己位置 とする. システム構成 ~ Localizer & EFK2d ~ 事前取得しておいた地図 自動走行中に作成している地図 ロボットを中心とした正方形領域をテン プレートとして採用し,地図に対して マッチング.
  • 16. システム構成 ~ Localizer & EFK2d ~ デッドレコニング テンプレート マッチング EKF2d (テンプレートマッチング + デッドレコニング)
  • 17. システム構成 ~ Software ~ Zed Stereo Camera Jetson TX2 (Ubuntu 16.04) SGBM Noise Remover Image (Left/ Right) Disparity Intel NUC (Ubuntu 16.04) Arduino DUE (マイコン) エンコーダ IMU モータ サーボ move_base Teb Local Planner Waypoint Publisher Controller Odometry Generator cmd_ve l Pulse, Yaw Rate PWM Global Map Generator Denoised Disparity Localizer Raw odometry tf, Map Loc Reference Map Goal Point EKF 2d Fused Odom プランニング
  • 18. ? WayPointの発行 ? あらかじめ設定しておいた Way Point を自 己位置に応じて順次発行. ? 軌道生成 & 追従制御 ? ROSのパッケージとして公開されている TebLocalPlanner を使用. ? Odometryフレームで追従制御を実施. システム構成 ~ Waypoint Publisher & Teb Local Planner ~ Waypointと環境地図
  • 20. 2月 3月 4月 5月 6月 7月 8月 9月 10月 11月 2017年の反省と2018年に向けて ? 頑張った!でもやっぱり1年は短い. ? 方法論の模索にはとても時間がかかる. ? オープンソースのライブラリも,ある程度手を入れないといけない. ? 画像処理は計算が大変... ? SGBM 5Hz と 1Hz 自己位置推定で Jetson Tx2 の性能限界. ? Cuda化の必要性に気付いたのが10月.そこからCuda化実施. 本番試走会シーズン説明会 ソフト整理 Planner 検討 センシングデバイス 検討&準備 SGBM&VO 検討 自己位置推定検討&実験 Cuda化
  • 21. 2月 3月 4月 5月 6月 7月 8月 9月 10月 11月 2017年の反省と2018年に向けて ? 頑張った!でもやっぱり1年は短い. ? つくばチャレンジ参加者向け説明会が7月で,ここから本番まで4か 月....この段階である程度動くものがないと,ツラい... ? 方法論の模索にはとても時間がかかる. ? 最後はホテルの廊下で自動走行... ? 画像処理は計算が大変... ? SGBM 5Hz と 1Hz 自己位置推定で Jetson Tx2 の性能限界. ? Cuda化の必要性に気付いたのが10月.そこからCuda化実施. 本番試走会シーズン説明会 ソフト整理 Planner 検討 センシングデバイス 検討&準備 SGBM&VO 検討 自己位置推定検討&実験 Cuda化