Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
ロボット掃除機から学ぶ自律移動ロボットを支える技術 - CADDi STUDDi
Search
[email protected]
January 11, 2022
Technology
4.1k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
ロボット掃除機から学ぶ自律移動ロボットを支える技術 - CADDi STUDDi
Slide 5 image courtesy of
https://tech4gods.com/
.
[email protected]
January 11, 2022
More Decks by
[email protected]
See All by
[email protected]
製造業にRAGを導入する開発体制の変遷 / ManuAI1
caddi_eng
3
170
バラバラな見積明細と戦う話 / ManuAI2
caddi_eng
0
150
LLMに図面は読めるか – 製造業の「暗黙知」を突破するコンテキスト設計3つのアプローチ / LLMcontext
caddi_eng
1
310
「定型」を許さない製造業データへの挑戦 高度な絞り込みと意味検索を両立する実践 / ElasticON
caddi_eng
0
420
製造業ドメインにおける LLMプロダクト構築: 複雑な文脈へのアプローチ
caddi_eng
1
890
事業状況で変化する最適解。進化し続ける開発組織とアーキテクチャ
caddi_eng
1
17k
キャディでのApache Iceberg, Trino採用事例 -Apache Iceberg and Trino Usecase in CADDi--
caddi_eng
0
700
製造業の会計システムをDDDで開発した話
caddi_eng
3
2.5k
【CADDI VIETNAM】Company Deck for Engineers
caddi_eng
0
2.4k
Other Decks in Technology
See All in Technology
絵ではじめるKubernetesセキュリティ
aoi1
4
660
Claude in Chrome 入門 / Introduction to Claude in Chrome
cielo1985
0
850
Goodbye ShellScript, Hello File-based App
shunsock
0
150
CLIライブラリ開発を支える技術
htnabe
0
120
生成AIエージェントを用いた、 手動テスト手順書から自動テストへの 変換手法の検討
magicpod
0
160
EventBridge に「合流」はない ― サーバーレスのワークフローを育てるということ / No Join in EventBridge
yusukeshimizu
2
110
ソフトウェアDNAとクラウドエージェントのススメ
cloudace
0
110
SREへの勘違いに気づいた後の話
tomodakengo
0
100
Deployment の 先にある AI Agent 基盤 - kagent vNext、Agent Substrate、Hermes から読み解く Agent Runtime の現在地 / k8s-matsuri-2-ai-agent-platform-amsy810
masayaaoyama
4
650
AIエージェントの自己改善をどう設計するか / How to Design Self-Improvement for AI Agents
22mi
25
16k
Genieを崇めよ
kameitomohiro
0
160
越境するなら専門用語を使うな高校校歌 / If you wanna cross border, you shouldn't use jargon
vtryo
0
140
Featured
See All Featured
Raft: Consensus for Rubyists
vanstee
142
7.7k
Code Reviewing Like a Champion
maltzj
528
40k
Writing Fast Ruby
sferik
630
63k
How Software Deployment tools have changed in the past 20 years
geshan
1
34k
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
360
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
460
Tell your own story through comics
letsgokoyo
1
1.1k
Google's AI Overviews - The New Search
badams
0
1.6k
Between Models and Reality
mayunak
4
460
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
74
42k
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
500
Large-scale JavaScript Application Architecture
addyosmani
515
110k
Transcript
ロボット掃除機から学ぶ 自律移動ロボットを支える技術 2021/01/04
本資料の内容 ロボット掃除機の機能を例に自律移動ロボットの要素技術について話します 本資料の主なトピック • 経路生成 • 自己位置推定 • 地図生成
ロボット掃除機の主な機能 物にぶつかったら避けて移動するよ! → 障害物回避 部屋全体を掃除するよ! → 経路計画、地図生成、自己位置推定 掃除が終わったら充電ドックに戻るよ! → 地図生成、自己位置推定、制御
コードは避けて掃除するよ! → 物体認識、経路計画
部屋掃除のフローチャート(部屋の地図がある場合) 部屋全体を掃除するための経路 (経由点の集合)を作る 障害物を避ける経路を作る 充電ドックへ帰る 部屋全体を掃除 した? 障害物はある? 掃除しつつ次の経由点に移動 掃除しつつ次の経由点に移動
Yes No No Yes 地図を更新する
部屋掃除のフローチャート(部屋の地図がある場合) 部屋全体を掃除するための経路 (経由点の集合)を作る 障害物を避ける経路を作る 充電ドックへ帰る 部屋全体を掃除 した? 障害物はある? 掃除しつつ次の経由点に移動 掃除しつつ次の経由点に移動
Yes No No Yes 地図を更新する
部屋全体を掃除するための経路を生成する 部屋全体を網羅するような経路を生成する • 実際は経由点の集合が得られる(経路は経由点をつなぐ直線になるため) Coverage Path Planningと呼ばれる分野 • 芝刈りロボットや写真測量の際の経路計画も同様の 技術が使われている
経由点
部屋掃除のフローチャート(部屋の地図がある場合) 部屋全体を掃除するための経路 (経由点の集合)を作る 障害物を避ける経路を作る 充電ドックへ帰る 部屋全体を掃除 した? 障害物はある? 掃除しつつ次の経由点に移動 掃除しつつ次の経由点に移動
Yes No No Yes 地図を更新する
掃除しつつ次の経由点に移動する ある経由点から次の経由点に移動するためには以下の要素技術が必要 • 自己位置推定 ◦ 自分が部屋の中のどこにいるかをセンサの情報から推定する • 動作計画 ◦ 経由点間を移動するのに必要な(速度などの)目標値を計算する
• 制御 ◦ 与えられた目標値を実現するための制御入力(電圧、信号の入力周期など)を計算する Goal Start ゴールの位置と 方向は... まずx°回転して それから...
自己位置推定 • 自分が部屋(環境)の中のどこにいるかをセンサの情報を元に推定する • センサの種類によってさまざまなやり方がある • 複数の観測信号を統合して精度を向上させる手法 (カルマンフィルタ、パーティクルフィルタなど)もある センサ 自己位置推定の方法
GPS GPS信号の受信 車輪の回転数センサ 車輪の回転数と車体サイズ等から計算する (ホイールオドメトリ) IMU(加速度センサ) 計測値の積分 カメラ 特徴点同士のマッチング (Visual Odometry) LiDAR 点群のスキャンマッチング vL vR v d 点群t1 点群t2 ホイールオドメトリ 点群のスキャンマッチング 2つの点群の間の剛 体変換を見つける ω O 車輪
動作計画(Motion Planning) • 経由点間を移動するのに必要な(速度などの)目標値を計算する • 経路計画とまとめられることが多いが、今回は以下のように区別する ◦ 経路計画:ロボットの移動する経路を計算する ◦ 動作計画:ロボットが経路を移動する際の制御目標値を計算する
Goal Start Path Trajectory • ロボットには物理的な制約があるため、経路計画によって生成された経路(Path) をそのまま移動できないことがある • そうした場合にはロボットの動作モデルを考慮した軌道(Trajectory)を計算する必 要がある • 経路を生成することを経路計画(Path Planning, Global Path Planning)という • 軌道(もしくはそれを実現する制御目標値)を生成することを動作計画(Motion Planning, Local Path Planning)という • お掃除ロボットは対向二輪ロボットといい、その場で回転が可能なので車のような 物理的制約はない 経路計画と動作計画
制御 • 与えられた目標値を実現するための制御入力(電圧、信号の入力周期など) を計算する • 広く用いられている制御手法の一つにPID制御がある e: 目標値と現在の値の差(偏差) kp :
比例ゲイン kI : 積分ゲイン kD : 微分ゲイン 偏差の積分値に比例して入力値を 変化させる。定常的な偏差を打ち 消す働きをする 偏差の微分値に比例して入力値を 変化させる。偏差の急激な変化を 打ち消す働きをする
部屋掃除のフローチャート(部屋の地図がある場合) 部屋全体を掃除するための経路 (経由点の集合)を作る 障害物を避ける経路を作る 充電ドックへ帰る 部屋全体を掃除 した? 障害物はある? 掃除しつつ次の経由点に移動 掃除しつつ次の経由点に移動
Yes No No Yes 地図を更新する
地図の更新 カメラやLiDARなどの観測データを元に地図を更新する • 作成された地図は経路生成や障害物回避に利用される • 地図の生成と自己位置推定を同時に行うことをSLAM(Simultaneous Localization and Mapping)という •
障害物の検出にはLiDARや超音波センサ、カメラなどを用いる 障害物 地図の 更新
部屋掃除のフローチャート(部屋の地図がある場合) 部屋全体を掃除するための経路 (経由点の集合)を作る 障害物を避ける経路を作る 充電ドックへ帰る 部屋全体を掃除 した? 障害物はある? 掃除しつつ次の経由点に移動 掃除しつつ次の経由点に移動
Yes No No Yes 地図を更新する
経路計画 スタート地点からゴール地点を結ぶ経路を計算する 以下のような経路計画アルゴリズムがある • グラフ探索アルゴリズムを用いた手法 ◦ ダイクストラ法 ◦ A*アルゴリズム •
ランダムサンプリングによる手法 ◦ Probabilistic Roadmap ◦ Rapidly Exploring Random Tree • その他 ◦ ポテンシャル法 経由点 Start Goal 障害物
部屋掃除のフローチャート(部屋の地図がある場合) 部屋全体を掃除するための経路 (経由点の集合)を作る 障害物を避ける経路を作る 充電ドックへ帰る 部屋全体を掃除 した? 障害物はある? 掃除しつつ次の経由点に移動 掃除しつつ次の経由点に移動
Yes No No Yes 地図を更新する
実はこれ以外にも色々ある • 音声認識、自然言語処理 • ロボットアームの動作計画 • マルチロボットの協調動作 ◦ できることによってタスクの割り当てを変える ◦
いる場所によってタスクの割り当てを変える ◦ ぶつからないように経路計画をする • タスク計画 ◦ どのタスクの優先順位が高いか? キッチンを掃除して! リビングを掃除して!
まとめ 自律移動ロボットは大きく分けて以下の要素技術からなる • 自己位置推定 • 地図生成 • 動作計画・経路計画 • 制御
物にぶつかったら避けて移動するよ! → 障害物回避 部屋全体を掃除するよ! → 経路計画、地図生成、自己位置推定 掃除が終わったら充電ドックに戻るよ! → 地図生成、自己位置推定、制御 コードは避けて掃除するよ! → 物体認識、経路計画