SlideShare uma empresa Scribd logo
1 de 32
Baixar para ler offline
SLAM実習
宮本 信彦
国立研究開発法人産業技術総合研究所
インダストリアルCPS研究センター
ソフトウェアプラットフォーム研究チーム
2
2
資料
• 「WEBページ」フォルダのHTMLファイルを開く
– チュートリアル(SLAM実習) _ OpenRTM-aist.html
• もしくは以下のリンク
– https://openrtm.org/openrtm/ja/node/7098
移動ロボットの制御
3
デッドレコニング (Dead
Reckoning): 車輪のエンコーダや
ジャイロ等内界センサのみ利用す
る自己位置を推定手法。誤差が蓄
積するため長時間使用できない。
オドメトリ(Odometry) と呼ばれ
ることもある。
ナビゲーション(Navigation): 現
在位置を推定しながらロボットを目
的地まで移動させること。
内界センサ:車輪の角速度やジャ
イロ等ロボットの内部の情報を計
測するセンサ
外界センサ:レーザーや音波、カ
メラ、GPS等ロボットの外部の情
報を取得するセンサ
SLAM (スラムと読む、
Simultaneous Localization
and Mapping) :外界センサを
用いて、ロボット周辺のマップを
作成しながら同時に自己位置も推
定する技術。センサには、レーザ
ー(2次元、3次元)やカメラ、音
波などが用いられる。相対位置を
比較的安定的に推定できる。
パスプランニング (Path
Planning) :与えられたマップ上
で、現在位置から目的地までの経路
を計画する方法。
自己位置推定 (Localization, ロ
ーカリゼーション、ローカライゼ
ーション) :種々のセンサを利用
し、ロボットの現在の位置を推定
する技術。移動ロボットを制御す
るために最も基本的かつ必要とさ
れる技術。
• SLAM (Simultaneous Localization and
Mapping)
– 「自己位置推定とマッピングの同時実行」
• SLAM=「スラム」と読む
– 外界センサを用いて、ロボット周辺のマップを作
成しながら同時に自己位置も推定する技術。
– センサには、レーザー(2次元、3次元)やカメラ、
音波などが用いられる。
– 相対位置を比較的安定的に推定できる。
4
外界の情報を利用するので、オドメトリとは異なり誤差が蓄積せず、
大域的に自己位置を正確に推定できる
SLAMとは?
• MRPT:Mobile Robot Programming Toolkit
– https://www.mrpt.org/
– 本講習会で使用するライブラリ
– 様々なSLAMアルゴリズム、マップ形式を包含し
たSLAMライブラリ集
– ここでは、2Dレーザセンサを利用したアルゴリズ
ムを仕様
5
SLAMライブラリ
• LiDAR
– レーザー測距センサ
– レーザ光を発し対象物まで
の距離を測定反るセンタ
– RasPiMouseに搭載してい
るものは、全方向、2次元的
に計測可能
• ※小さなチャック付き袋に、LiDAR固
定用ねじが2本入っていますので走ら
せるとき固定してください。
• 無くさないよう注意してください
6
LiDAR
=Laser Imaging Detection and Ranging
LiDAR搭載版RaspberryPiマウス
• 以下の部品を組み立てます。
• 一旦Raspberry Piをシャットダウンしてバッテリー(もしく
は電源ケーブル)を取り外した状態で作業してください
– RaspberryPiのシャットダウンは真ん中のボタンを3秒ほど押し
て30秒ほど待つ。その後スイッチをオフにする。
7
LiDARの取り付け
タッピングビス Raspberry Piマウス LiDAR
• Raspberry Piマウス底面のねじをはずす
• スペーサーを回して外す
8
LiDARの取り付け
基盤部分をフレームごとずらす
• センサ基盤をはずす
9
LiDARの取り付け
• LiDARをRaspberry Piマウスの上部分に載せる
• LiDARとRaspberryPiマウスをビスで固定する
10
LiDARの取り付け
• Raspberry PiのUSBポートに接続する
11
LiDARの取り付け
• 外したパーツを戻せば完成
• ※危ないのでLiDARの土台部分を持たないようにしてください。
• LiDARの取り付け作業が完了したら、RaspberryPiの電源スイッチをオン
にしてアクセスポイントに接続してください。
12
LiDARの取り付け
この部分を持って運ばないようにする。
13
作業手順
1. 地図作成 (Mapper)
2. 自己位置推定 (Localization)
3. 経路生成・移動 (Navigation)
地図作成を行う。地図作成に必要な右
のコンポーネントを起動し接続、ジョ
イスティックでRasPiMouseを移動さ
せ、環境をLiDARで計測し、地図を作
成する。
地図の作成が完了したら、システム構
成を変更し、自己位置推定を自動的に
行う構成に変更する。
経路生成と移動を行うコンポーネント
を新たに起動し、地図内に適当な目的
位置を指定、現在の場所から、目的位
置までの経路を生成、移動ロボットを
移動させる。
地図作成実習
14
15
作業内容
• NavigationManagerの起動
– RTM_Tutorial.zipを展開したフォルダ内のNavigationフォ
ルダ
– 以下のバッチファイル(シェルスクリプト)を実行する
• NavigationManager.bat(Windows)
• NavigationManager.sh(Ubuntu)
– 以下のGUIが起動する。
16
RTCの起動、ポートの接続
• Mapperシステムの起動
– WEBブラウザでMapperのStartボタンを押す
– ネームサーバーに以下のRTCが登録されている状態になる
• Mapper_MRPT0
• RaspberryPiMouseRTC0
• RPLiderRTC0
• NavigationManager0
17
RTCの起動、ポートの接続
• Mapperシステムの起動
– RTCの起動を確認したら「Back to the top page.」を押す
– ポートの接続
• WEBブラウザからMapperのConnectボタンを押す。
18
RTCの起動、ポートの接続
• NavigationManagerのポートを接続する
19
RTCの起動、ポートの接続
コンポーネント名 ポート名 コンポーネント名 ポート名
NavigationManager0 mapperService Mapper_MRPT0 gridMapper
NavigationManager0 currentPose Mapper_MRPT0 estimatedPose
NavigationManager0 targetVelocity RaspberryPiMouseRTC0 target_velocity_in
NavigationManager0 range RPLiderRTC0 range
• RTCをアクティブ化する
• Raspberry Piマウスのモーター電源をオンにする
– 2つのトグルスイッチのうちの外側のスイッチ
20
システムの実行
• NavigationManagerのStart Mappingボタンを押す。
• ジョイスティックパネルを操作することでRaspberry Piマウスが
移動し地図生成を行う。
21
システムの実行
かなりゆっくり動かさないと上手く
地図作成できません。
Velocity Xを下げる(スライダーを左
に動かす)ことで調整してください。
• NavigationManagerのStop Mappingボタンを押す。
• NavigationManagerのSave Mappingボタンを押す。
22
システムの終了
• 地図情報の保存先としてNavigationフォルダにファイル名
testMapで保存する。
• WEBブラウザからMapperのStopボタンを押してRTCを終了する
23
システムの終了
開くボタンを押すと
保存される。
ナビゲーション実習
24
25
作業内容
• MapServerの起動(Navigationフォルダ)
– 以下のバッチファイル(シェルスクリプト)を実行する
• MapServer.bat(Windows)
• MapServer.sh(Ubuntu)
• PathPlanシステムの起動
– WEBブラウザでPathPlanのStartボタンを押す
26
RTCの起動、ポートの接続
• PathPlanシステムの起動
– ネームサーバーに以下のRTCが登録されている状態になる
• Localization_MRPT0
• PatgPanner_MRPT0
• RaspberryPiMouseRTC0
• RPLiderRTC0
• SimplePathFollower0
• MapServer0
• NavigationManager0
27
RTCの起動、ポートの接続
• NavigationManager、MapServerのポートを接続する
28
RTCの起動、ポートの接続
コンポーネント名 ポート名 コンポーネント名 ポート名
NavigationManager0 mapServer MapServer0 mapServer
NavigationManager0 pathPlanner PathPlanner_MRPT0 pathPlanner
NavigationManager0 pathFollower SimplePathFollower0 PathFollower
NavigationManager0 currentPose Localization_MRPT0 estimatedPose
NavigationManager0 range RPLiderRTC0 range
MapServer0 mapServer Localization_MRPT mapServer
• RTCをアクティブ化する
• Raspberry Piマウスのモーター電源をオンにする
29
システムの実行
• Raspberry Piマウスの目標位置、目標姿勢角を設定する
– NavigationManagerの地図上をクリックする
• 以下の画面で目標角度を設定する。
30
システムの実行
地図上に目標位置
が表示される
適当な場所を
クリックすると中
心から延びる赤
い線の角度が
変化する 角度を設定したら
OKをクリックする
地図の白い範囲(障害物のない範囲)
のどこかをクリックする
• 経路を計画する
– NavigationManagerのPlan Pathボタンをクリックする
• 経路追従を行う
– NavigationManagerのFollowボタンを
クリックする
– Raspberry Piマウスが目的地に向かって
移動する
31
システムの実行
経路が表示される
• WEBブラウザからPathPlanのStopボタンを押してRTCを終了す
る
• モーター電源のスイッチをオフにする
• Raspberry Piをシャットダウンする(真ん中のボタン長押し)
• Raspberry Pi電源のスイッチをオフにする
• LiDARを取り外して元の状態に戻す
32
システムの終了

Mais conteúdo relacionado

Mais procurados

Summercamp2020 group4
Summercamp2020 group4Summercamp2020 group4
Summercamp2020 group4
openrtm
 

Mais procurados (20)

171128 01
171128 01171128 01
171128 01
 
201110 03
201110 03201110 03
201110 03
 
5.総合演習(2)
5.総合演習(2)5.総合演習(2)
5.総合演習(2)
 
OpenRTM概要
OpenRTM概要OpenRTM概要
OpenRTM概要
 
201111 05
201111 05201111 05
201111 05
 
4.総合演習(1)
4.総合演習(1)4.総合演習(1)
4.総合演習(1)
 
人工知能学会RTM講習会 第3部:プログラミング実習
人工知能学会RTM講習会 第3部:プログラミング実習 人工知能学会RTM講習会 第3部:プログラミング実習
人工知能学会RTM講習会 第3部:プログラミング実習
 
RTコンポーネント作成入門
RTコンポーネント作成入門RTコンポーネント作成入門
RTコンポーネント作成入門
 
ROBOMECH2021 RTMオンライン講習会 第1部
ROBOMECH2021 RTMオンライン講習会 第1部ROBOMECH2021 RTMオンライン講習会 第1部
ROBOMECH2021 RTMオンライン講習会 第1部
 
1.コース概要
1.コース概要1.コース概要
1.コース概要
 
ROBOMECH2021 RTM講習会 第1部
ROBOMECH2021 RTM講習会 第1部ROBOMECH2021 RTM講習会 第1部
ROBOMECH2021 RTM講習会 第1部
 
Rtミドルウェアサマーキャンプ2021_宮本信彦
Rtミドルウェアサマーキャンプ2021_宮本信彦Rtミドルウェアサマーキャンプ2021_宮本信彦
Rtミドルウェアサマーキャンプ2021_宮本信彦
 
2.プログラミングの基礎
2.プログラミングの基礎2.プログラミングの基礎
2.プログラミングの基礎
 
OpenRTM-aist入門
OpenRTM-aist入門OpenRTM-aist入門
OpenRTM-aist入門
 
3.RTCプログラミング演習
3.RTCプログラミング演習3.RTCプログラミング演習
3.RTCプログラミング演習
 
OpenRTM-aistおよび RTコンポーネントプログラミングの概要
OpenRTM-aistおよび RTコンポーネントプログラミングの概要OpenRTM-aistおよび RTコンポーネントプログラミングの概要
OpenRTM-aistおよび RTコンポーネントプログラミングの概要
 
Summercamp2020 group4
Summercamp2020 group4Summercamp2020 group4
Summercamp2020 group4
 
Rtミドルウェアサマーキャンプ資料2021_菅佑樹
Rtミドルウェアサマーキャンプ資料2021_菅佑樹Rtミドルウェアサマーキャンプ資料2021_菅佑樹
Rtミドルウェアサマーキャンプ資料2021_菅佑樹
 
160705-w03 RTミドルウエア講習会・早稲田大
160705-w03 RTミドルウエア講習会・早稲田大160705-w03 RTミドルウエア講習会・早稲田大
160705-w03 RTミドルウエア講習会・早稲田大
 
170622 02
170622 02170622 02
170622 02
 

Semelhante a Slam実習

オープンキャンパススライド2017
オープンキャンパススライド2017オープンキャンパススライド2017
オープンキャンパススライド2017
robo_lab
 

Semelhante a Slam実習 (20)

Ml based detection of users anomaly activities (20th OWASP Night Tokyo, Japan...
Ml based detection of users anomaly activities (20th OWASP Night Tokyo, Japan...Ml based detection of users anomaly activities (20th OWASP Night Tokyo, Japan...
Ml based detection of users anomaly activities (20th OWASP Night Tokyo, Japan...
 
ロボット用Open Source Software
ロボット用Open Source Softwareロボット用Open Source Software
ロボット用Open Source Software
 
RTミドルウェア応用実習
RTミドルウェア応用実習RTミドルウェア応用実習
RTミドルウェア応用実習
 
Snapdragon-SCORER
Snapdragon-SCORERSnapdragon-SCORER
Snapdragon-SCORER
 
181106 01
181106 01181106 01
181106 01
 
RTミドルウェアによるロボットプログラミング技術 1.コース概要
RTミドルウェアによるロボットプログラミング技術 1.コース概要RTミドルウェアによるロボットプログラミング技術 1.コース概要
RTミドルウェアによるロボットプログラミング技術 1.コース概要
 
実践で学んだLog Analytics
実践で学んだLog Analytics実践で学んだLog Analytics
実践で学んだLog Analytics
 
オープンキャンパススライド2017
オープンキャンパススライド2017オープンキャンパススライド2017
オープンキャンパススライド2017
 
Atc15_reading_networking_session
Atc15_reading_networking_sessionAtc15_reading_networking_session
Atc15_reading_networking_session
 
150726cmdbuild jtf2015
150726cmdbuild jtf2015150726cmdbuild jtf2015
150726cmdbuild jtf2015
 
SORACOM Bootcamp Rec12 | SORACOM Inventory
SORACOM Bootcamp Rec12 | SORACOM InventorySORACOM Bootcamp Rec12 | SORACOM Inventory
SORACOM Bootcamp Rec12 | SORACOM Inventory
 
HTML5&API総まくり
HTML5&API総まくりHTML5&API総まくり
HTML5&API総まくり
 
FIWAREシステム内の短期履歴の管理
FIWAREシステム内の短期履歴の管理FIWAREシステム内の短期履歴の管理
FIWAREシステム内の短期履歴の管理
 
Iot algyan jhirono 20190111
Iot algyan jhirono 20190111Iot algyan jhirono 20190111
Iot algyan jhirono 20190111
 
アドテク×Scala×パフォーマンスチューニング
アドテク×Scala×パフォーマンスチューニングアドテク×Scala×パフォーマンスチューニング
アドテク×Scala×パフォーマンスチューニング
 
アプリケーション開発と分析のための Log Analytics
アプリケーション開発と分析のための Log Analytics アプリケーション開発と分析のための Log Analytics
アプリケーション開発と分析のための Log Analytics
 
NXT走行体サンプルプログラム(ETロボコン向けTOPPERS活用セミナー3)
NXT走行体サンプルプログラム(ETロボコン向けTOPPERS活用セミナー3)NXT走行体サンプルプログラム(ETロボコン向けTOPPERS活用セミナー3)
NXT走行体サンプルプログラム(ETロボコン向けTOPPERS活用セミナー3)
 
System Center Operations Managerによる仮想環境の高度な管理
System Center Operations Managerによる仮想環境の高度な管理System Center Operations Managerによる仮想環境の高度な管理
System Center Operations Managerによる仮想環境の高度な管理
 
200520 ユビキタスロボティクス特論
200520 ユビキタスロボティクス特論200520 ユビキタスロボティクス特論
200520 ユビキタスロボティクス特論
 
Split device driver による仮想マシンモニタ上のセキュアOSの機能拡張
Split device driver による仮想マシンモニタ上のセキュアOSの機能拡張Split device driver による仮想マシンモニタ上のセキュアOSの機能拡張
Split device driver による仮想マシンモニタ上のセキュアOSの機能拡張
 

Mais de openrtm

Mais de openrtm (13)

ROBOMECH2023 RTミドルウェア講習会 第1部
ROBOMECH2023 RTミドルウェア講習会 第1部ROBOMECH2023 RTミドルウェア講習会 第1部
ROBOMECH2023 RTミドルウェア講習会 第1部
 
ピッキングシステム
ピッキングシステムピッキングシステム
ピッキングシステム
 
GNGを使った未知環境における経路計画
GNGを使った未知環境における経路計画GNGを使った未知環境における経路計画
GNGを使った未知環境における経路計画
 
まねっこロボット
まねっこロボットまねっこロボット
まねっこロボット
 
商品自動補充ロボットシステム
商品自動補充ロボットシステム商品自動補充ロボットシステム
商品自動補充ロボットシステム
 
RTサマーキャンプ2022最終発表_都立大.pptx
RTサマーキャンプ2022最終発表_都立大.pptxRTサマーキャンプ2022最終発表_都立大.pptx
RTサマーキャンプ2022最終発表_都立大.pptx
 
SysML実習20220822SC_GA.pdf
SysML実習20220822SC_GA.pdfSysML実習20220822SC_GA.pdf
SysML実習20220822SC_GA.pdf
 
RTミドルウェアサマーキャンプ資料2022.pdf
RTミドルウェアサマーキャンプ資料2022.pdfRTミドルウェアサマーキャンプ資料2022.pdf
RTミドルウェアサマーキャンプ資料2022.pdf
 
NEDO講座 MoveIt! チュートリアル 第1部
NEDO講座 MoveIt! チュートリアル 第1部NEDO講座 MoveIt! チュートリアル 第1部
NEDO講座 MoveIt! チュートリアル 第1部
 
RTミドルウェアサマーキャンプ2021_坂本武志_1
RTミドルウェアサマーキャンプ2021_坂本武志_1RTミドルウェアサマーキャンプ2021_坂本武志_1
RTミドルウェアサマーキャンプ2021_坂本武志_1
 
Rtミドルウェアサマーキャンプ資料2021_坂本武志_2
Rtミドルウェアサマーキャンプ資料2021_坂本武志_2Rtミドルウェアサマーキャンプ資料2021_坂本武志_2
Rtミドルウェアサマーキャンプ資料2021_坂本武志_2
 
SICE 2020 Rtm tutorial 2_online_ja
SICE 2020 Rtm tutorial 2_online_jaSICE 2020 Rtm tutorial 2_online_ja
SICE 2020 Rtm tutorial 2_online_ja
 
SICE 2020 Rtm tutorial 2_online_en
SICE 2020 Rtm tutorial 2_online_enSICE 2020 Rtm tutorial 2_online_en
SICE 2020 Rtm tutorial 2_online_en
 

Último

The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024
koheioishi1
 
TokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentationTokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentation
YukiTerazawa
 

Último (8)

生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
 
次世代機の製品コンセプトを描く ~未来の機械を創造してみよう~
次世代機の製品コンセプトを描く ~未来の機械を創造してみよう~次世代機の製品コンセプトを描く ~未来の機械を創造してみよう~
次世代機の製品コンセプトを描く ~未来の機械を創造してみよう~
 
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
 
The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024
 
2024年度 東京工業大学 工学院 機械系 大学院 修士課程 入試 説明会 資料
2024年度 東京工業大学 工学院 機械系 大学院 修士課程 入試 説明会 資料2024年度 東京工業大学 工学院 機械系 大学院 修士課程 入試 説明会 資料
2024年度 東京工業大学 工学院 機械系 大学院 修士課程 入試 説明会 資料
 
TokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentationTokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentation
 
世界を変えるクレーンを生み出そう! 高知エンジニアリングキャンプ2024プログラム
世界を変えるクレーンを生み出そう! 高知エンジニアリングキャンプ2024プログラム世界を変えるクレーンを生み出そう! 高知エンジニアリングキャンプ2024プログラム
世界を変えるクレーンを生み出そう! 高知エンジニアリングキャンプ2024プログラム
 
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
 

Slam実習