SlideShare uma empresa Scribd logo
1 de 28
Baixar para ler offline
ChoreonoidとOpenHRIを用いた
システム構築事例
産業技術総合研究所
原 功
Choreonoid
Choreonoid
• オープンソースのロボット用統合GUIソフトウェア
– 動作振り付けソフトウェアとして
• キーフレームベースの動作生成
• CGの動作生成のようなUI
– 動力学シミュレータとして
• OpenHRP3, ODE, Bullet Physics Engineなど利用可
– 開発フレームワークとして
• ロボットの幾何学、運動学、動力学や動作計算に関する各種モデ
ル計算
• ロボットの状態や動作データを可視化、入力、編集する各種GUI
• 3DCGによるロボットモデルのレンダリング
• 各種データの統合的な管理とファイル処理
• 実機ロボットとの接続
Chreonoidを自分のロボットで利用する
• Chreonoidを利用するに必要なもの
– 対象となるロボットのモデル
• ロボットのパーツのVRMLモデル
• 各パーツの重心位置と慣性モーメントマトリックス
– IK計算用プログラムモジュール
• 独自開発
• OpenRAVE提供のikfastを利用する
– ロボット制御ソフトへ命令を与えるためのプラグイン
Choreonoidの基本的な操作
表示位置を自由に
入れ替え可能
• メニューバー
– 本メニューバーに格納されているメニューを用いることで、Choreonoidの各種操作を行うことが出来ます。メニュー項目はプラグインによっ
て追加することも可能です。
• ツールバー
– ツールバー領域には、ボタンやスライダ、数値入力ボックス等のGUI部品で構成されるツールバーが配置されます。ツールバーは機能ごと
にグループ化されたものとなっており、各ツールバーの左端をマウスでドラッグすることで簡単に好みの場所に移動させることができます。
• ビュー
– ビューは、Choreonoidにおいて各種情報を表示・編集するためのウィンドウ領域です。タブ内に格納される各矩形領域がひとつのビューに
対応します。
– Choreonoid本体に備わった基本的なビューとして、各種データ・モデル等(アイテム)を管理する「アイテムビュー」、各アイテムのプロパティ
を表示・編集するための「プロパティビュー」、3D表示にてモデルの確認や編集を行うための「シーンビュー」、テキストメッセージが出力さ
れる「メッセージビュー」などがあります。
Choreonoidの基本的な操作
マウスで視点を操作
マウスでロボットの関節を操作
スライダーで時刻を操作
PoseRollビューで動作列を操作
スライダーで関節を細かく操作
アイテム選択を忘れずに!
マウスで視点を操作
左ボタン 中ボタン
中ボタン(スクロール)
ロボットの関節を操作
ZMPの表示
Baseリンクの表示
操作モード等を選択
キーポーズの変更と追加
• 動作パターンの編集は、キーポーズの追加と
変更の繰り返し
キーポーズの選択キーポーズを更新 1.動作の末尾に移動
2.キーポーズの挿入時刻を指定
1.キーポーズを生成
2.キーポースを挿入
3.動作時間を調整
Choreonoidにおけるロボットの動作表現
•Choreonoidでは、ロボットの動きをキーポー
ズの連続として表現する
•キーポーズは、動作中の状態が変化するポ
イントの姿勢
•無理な姿勢のキーポーズは、身体バランス
補正を行い、安定動作を生成する。
•ロボットへは、制御時間ごとの目標姿勢に変
換して、命令列を与えて実行させる
OpenHRI
コミュニケーション知能モジュール群
OpenHRIとは
• OpenHRIは、音声認識・音声合成・対話制御など、
ロボットのコミュニケーション機能の実現に必要な
各要素を実現するコンポーネント群
• フリーで利用できる各オープンソースソフトウェア
を使い易いコンポーネントとしてまとめたもの
• 知能化PJにおいて開発され、EPL-1.0にて公開
http://openrtc.org/OpenHRI/index.html
http://openhri.net
OpenHRIで提供する機能
•ロボットのコミュニケーション機能の実現に必要な各要素
(音声入出力・音声認識・音声合成・対話制御など)
個人同定
音声
入力
音声
認識
対話
制御
対話コンテンツ管理
物体認識等 ロボット制御等
対話履歴管理
画像
入力
必須
オプション
Juliusベース
シングルマイク or
Bluetooth
SEAT/SAT を改良
OpenJTalkを
使って
音声合成
に統合?
音
声
合
成
音
声
出
力
OpenHRIで提供する機能
話す機能
• 音声合成コンポーネントは、フリーで利用でき
る音声合成エンジン(OpenJTalk、Festival) 、
を利用
• テキストを入力とし、音声データ
(Mono,16kHz, 16bit)を出力
参考システム構成
聴く機能
• オープンソースの高性能な汎用大語彙連続音
声認識エンジンJuliusを使った音声認識機能
• 受け取った音声データ(16bits, 16KHz)を音声
認識して認識テキストに変換する
• 音声認識は、予め用意された音声認識文法ファ
イルに従って実行される
対話を制御する機能
• SEAT(Speech Event Action Transfer)
– ロボットとの対話を実現するための小さく軽量な対
話エンジン
– ロボットの対話動作は、音声認識結果(条件)とシス
テムの動作(アクション)のペアを基本として対話動
作を記述
– 状態遷移モデルに基づく対話管理
– XMLベースのSEATMLにより対話スクリプトを記述
OpenHRIを使ったシステム例
• ロボットに音声インタフェースをつける
音声入力
音声認識
対話エン
ジン
ロボット制御
ロボットシ
ミュレータ
対話型システムの例
• 音声認識でパワポ、ムービーを制御
– JuliusRTC
– SEAT
– パワポサーバー、ムービーサーバー
対話型システムの例
• 人型ロボットをジェスチャで制御
– Kinectコンポーネント群
– 簡易ジェスチャ認識
• 2つの操作モード
• ダイレクト操作モード
• ジェスチャコマンドモード
SEATからeSEATへ
eSEAT
• 音声対話の対話制御から汎用の状態遷移コン
ポーネントへの拡張
– OpenRTM-aistで取り扱う標準、拡張データ型への
対応
– 独自データ型への対応
– 簡易GUIパネルの作成機能
– Pythonスクリプトにより様々な制御機能
– 外部Pythonスクリプトで機能拡張
– 外部コマンド実行機能
SEATML
• eSEATの内部状態、イベント処理、GUI等の設定する
• XMLで記述
• 基本的にSEATで使っていたものも動作する
<?xml version="1.0" encoding="UTF-8" ?>
<seatml>
<general>
- データポートの定義
- preload scripts
</general>
<state name="st1">
- ruleの定義
- GUI部品の定義
</state>
<state name="st2">
...
...
</state>
....
....
</seatml>
データポート作成機能
• SEATMLの最初のgeneral要素内で設定
• adaptor要素でOpenRTM-aistのデータポートまたはTCP
Socketを生成
• 独自データ型のデータポート生成時には、script要素を使っ
てクラスをインポート
<general name="LeapMotion">
<script>import ssr</script>
<adaptor name="gesture_out" type="rtcout" datatype="TimedString" />
<adaptor name="hands_out" type="rtcout" datatype="TimedFloatSeq" />
<adaptor name="frame" type="rtcin" datatype="ssr.Frame" />
</general>
Script要素内は、Pythonスクリプト
になるので、インデントに注意
独自データ型のときには
namespaceを確認
簡易GUI作成機能
• システム開発中に使うテスト用GUIの作成
• 内部状態を持ちパネルレイアウトを自動変更
– label要素: tk.Labelを生成
– button要素: tk.Buttonを生成
– input要素:tk.Entryを生成
– text要素:tk.Textを生成
イベント処理
• eSEATでは、adaptor要素で設定したポートからデータを受
信時、内部状態遷移時またはGUIアイテムを押下等を行っ
た時にイベント処理が実行される
• イベント処理は、主としてrule要素で設定する
• GUIアイテムであるbutton要素、input要素、text要素に対す
るイベント処理は、コンポーネントが有効化されていなくても
実行される
• 内部状態遷移時のイベント処理は、onentry要素、onexit要
素で設定
• イベント処理用コマンド
– message要素: sendto属性値のadaptoへtextデータを出力
– script要素:textをPythonスクリプトとして実行、sendto属性値を設定
の場合には、rtc_resultに代入されたデータを送信
– shell要素:textをshellに渡してコマンドを実行。subprocess.Popen
関数で実装されている
– statetransition要素: eSETA内部状態を遷移させる
eSEATに関するその他の情報
• eSEATを使ったサンプル
– 単純な文字列入出力パネル
– 電卓アプリ
– rtc_handleを使ったRTC操作パネル
– Choreonid-1.4でPA10の位置制御パネル
– LeapRTCのデータ閲覧パネル
– LeapRTCとChoreonoidでGR-001を動かす
• eSEATの詳細については
– http://hara.jpn.com/_default/ja/Software/eSEAT2.html
Choreonoid内のPA10の操作パネル
• ChoreonoidのサンプルPA10Pickupを参考に目標
位置姿勢入力可能なプラグインを作成
• 上記プライグインに対応した操作パネルの作成
Choreonoid
Choreonoid内のPA10の操作パネル
LeapRTCとの連携GUI
• SSR 菅さんの作成したLeapRTCのデータ表示パネル
Choreonoid+LeapRTC+GR001
• LeapRTCを使ってGR-001の操作する
• 以前開発したRobotMotionRtcPluhginと連携
• GR-001への動作は、Choreonoidを介して行う

Mais conteúdo relacionado

Mais procurados

自動アングル機能を有したロボットカメラSi
自動アングル機能を有したロボットカメラSi自動アングル機能を有したロボットカメラSi
自動アングル機能を有したロボットカメラSi
Shogo Namatame
 
Rtミドルウェア講習会@名城大 20140624 1
Rtミドルウェア講習会@名城大 20140624 1Rtミドルウェア講習会@名城大 20140624 1
Rtミドルウェア講習会@名城大 20140624 1
openrtm
 
130522 00
130522 00130522 00
130522 00
openrtm
 
Summercamp2020 group4
Summercamp2020 group4Summercamp2020 group4
Summercamp2020 group4
openrtm
 
2013 summercamp 02
2013 summercamp 022013 summercamp 02
2013 summercamp 02
openrtm
 

Mais procurados (20)

Japan Robot Week 2016 RTM講習会 第3部
Japan Robot Week 2016 RTM講習会 第3部Japan Robot Week 2016 RTM講習会 第3部
Japan Robot Week 2016 RTM講習会 第3部
 
170622 02
170622 02170622 02
170622 02
 
Japan Robot Week 2016 RTM講習会 第1部
Japan Robot Week 2016 RTM講習会 第1部Japan Robot Week 2016 RTM講習会 第1部
Japan Robot Week 2016 RTM講習会 第1部
 
2015 summercamp 05
2015 summercamp 052015 summercamp 05
2015 summercamp 05
 
自動アングル機能を有したロボットカメラSi
自動アングル機能を有したロボットカメラSi自動アングル機能を有したロボットカメラSi
自動アングル機能を有したロボットカメラSi
 
Rtミドルウェア講習会@名城大 20140624 1
Rtミドルウェア講習会@名城大 20140624 1Rtミドルウェア講習会@名城大 20140624 1
Rtミドルウェア講習会@名城大 20140624 1
 
リアルタイム道路標識検出システムの開発
リアルタイム道路標識検出システムの開発リアルタイム道路標識検出システムの開発
リアルタイム道路標識検出システムの開発
 
Slam実習
Slam実習Slam実習
Slam実習
 
160608 01
160608 01160608 01
160608 01
 
2015 summercamp 04
2015 summercamp 042015 summercamp 04
2015 summercamp 04
 
160705-w01 RTミドルウエア講習会・早稲田大
160705-w01 RTミドルウエア講習会・早稲田大160705-w01 RTミドルウエア講習会・早稲田大
160705-w01 RTミドルウエア講習会・早稲田大
 
2016 summercamp SysML講習会
2016 summercamp SysML講習会2016 summercamp SysML講習会
2016 summercamp SysML講習会
 
130522 00
130522 00130522 00
130522 00
 
160705-03 RTミドルウエア講習会・名城大
160705-03 RTミドルウエア講習会・名城大160705-03 RTミドルウエア講習会・名城大
160705-03 RTミドルウエア講習会・名城大
 
201111 04
201111 04201111 04
201111 04
 
Summercamp2020 group4
Summercamp2020 group4Summercamp2020 group4
Summercamp2020 group4
 
Rtコンポーネント作成入門
Rtコンポーネント作成入門Rtコンポーネント作成入門
Rtコンポーネント作成入門
 
RTミドルウエア: OpenRTM-aist概要
RTミドルウエア: OpenRTM-aist概要 RTミドルウエア: OpenRTM-aist概要
RTミドルウエア: OpenRTM-aist概要
 
2013 summercamp 02
2013 summercamp 022013 summercamp 02
2013 summercamp 02
 
mcl_3dl: amcl並に軽量な3-D/6-DoFローカリゼーションパッケージ
mcl_3dl: amcl並に軽量な3-D/6-DoFローカリゼーションパッケージmcl_3dl: amcl並に軽量な3-D/6-DoFローカリゼーションパッケージ
mcl_3dl: amcl並に軽量な3-D/6-DoFローカリゼーションパッケージ
 

Destaque

2016 summercamp 当研究室でのRTミドルウエアの取り組み
2016 summercamp 当研究室でのRTミドルウエアの取り組み2016 summercamp 当研究室でのRTミドルウエアの取り組み
2016 summercamp 当研究室でのRTミドルウエアの取り組み
openrtm
 

Destaque (20)

2015 summercamp 07
2015 summercamp 072015 summercamp 07
2015 summercamp 07
 
Rtmsc2015 group3
Rtmsc2015 group3Rtmsc2015 group3
Rtmsc2015 group3
 
Rtmsc2015 group2
Rtmsc2015 group2Rtmsc2015 group2
Rtmsc2015 group2
 
Rtmsc2015 group1
Rtmsc2015 group1Rtmsc2015 group1
Rtmsc2015 group1
 
2015 summercamp 09
2015 summercamp 092015 summercamp 09
2015 summercamp 09
 
2015 summercamp 06
2015 summercamp 062015 summercamp 06
2015 summercamp 06
 
2015 summercamp 01
2015 summercamp 012015 summercamp 01
2015 summercamp 01
 
Rtmsc2015 group4
Rtmsc2015 group4Rtmsc2015 group4
Rtmsc2015 group4
 
2015 summercamp 10
2015 summercamp 102015 summercamp 10
2015 summercamp 10
 
Rtmsc2015 group5
Rtmsc2015 group5Rtmsc2015 group5
Rtmsc2015 group5
 
2015 summercamp 02
2015 summercamp 022015 summercamp 02
2015 summercamp 02
 
2015 summercamp 08
2015 summercamp 082015 summercamp 08
2015 summercamp 08
 
2016 summercamp 効率よいRTシステム運用法
2016 summercamp 効率よいRTシステム運用法2016 summercamp 効率よいRTシステム運用法
2016 summercamp 効率よいRTシステム運用法
 
グループ4 ロボットで福笑い
グループ4 ロボットで福笑いグループ4 ロボットで福笑い
グループ4 ロボットで福笑い
 
2016 summercamp 当研究室でのRTミドルウエアの取り組み
2016 summercamp 当研究室でのRTミドルウエアの取り組み2016 summercamp 当研究室でのRTミドルウエアの取り組み
2016 summercamp 当研究室でのRTミドルウエアの取り組み
 
グループ1最終プレゼン資料
グループ1最終プレゼン資料グループ1最終プレゼン資料
グループ1最終プレゼン資料
 
グループ5 ひとりでもだるまさんが転んだ
グループ5 ひとりでもだるまさんが転んだグループ5 ひとりでもだるまさんが転んだ
グループ5 ひとりでもだるまさんが転んだ
 
グループ2 Gprese
グループ2 Gpreseグループ2 Gprese
グループ2 Gprese
 
2016 summercamp rtshell入門
2016 summercamp rtshell入門2016 summercamp rtshell入門
2016 summercamp rtshell入門
 
2016 summercamp RTM-ROS相互運用とJSKでの取り組み
2016 summercamp RTM-ROS相互運用とJSKでの取り組み2016 summercamp RTM-ROS相互運用とJSKでの取り組み
2016 summercamp RTM-ROS相互運用とJSKでの取り組み
 

Semelhante a 2015 summercamp 03

Open design computer project
Open design computer projectOpen design computer project
Open design computer project
Ito Takahiro
 
131111 東工大授業「ロボット技術」資料
131111 東工大授業「ロボット技術」資料131111 東工大授業「ロボット技術」資料
131111 東工大授業「ロボット技術」資料
openrtm
 

Semelhante a 2015 summercamp 03 (20)

東京工業大学「ロボット技術・ロボットミドルウェア」
東京工業大学「ロボット技術・ロボットミドルウェア」東京工業大学「ロボット技術・ロボットミドルウェア」
東京工業大学「ロボット技術・ロボットミドルウェア」
 
160428 東工大「ロボット技術」授業資料
160428 東工大「ロボット技術」授業資料160428 東工大「ロボット技術」授業資料
160428 東工大「ロボット技術」授業資料
 
Part 1: IoT 基盤 (製造リファレンス・アーキテクチャ勉強会)
Part 1: IoT 基盤 (製造リファレンス・アーキテクチャ勉強会)Part 1: IoT 基盤 (製造リファレンス・アーキテクチャ勉強会)
Part 1: IoT 基盤 (製造リファレンス・アーキテクチャ勉強会)
 
NEDO特別講座_画像処理・AI技術活用コース_前編
NEDO特別講座_画像処理・AI技術活用コース_前編NEDO特別講座_画像処理・AI技術活用コース_前編
NEDO特別講座_画像処理・AI技術活用コース_前編
 
200513 ur
200513 ur200513 ur
200513 ur
 
Qiita x Microsoft - 機械学習セミナー Microsoft AI Platform
Qiita x Microsoft - 機械学習セミナー Microsoft AI PlatformQiita x Microsoft - 機械学習セミナー Microsoft AI Platform
Qiita x Microsoft - 機械学習セミナー Microsoft AI Platform
 
Open design computer project
Open design computer projectOpen design computer project
Open design computer project
 
ngCore engine for mobage platform
ngCore engine for mobage platformngCore engine for mobage platform
ngCore engine for mobage platform
 
ML system design_pattern
ML system design_patternML system design_pattern
ML system design_pattern
 
1.コース概要
1.コース概要1.コース概要
1.コース概要
 
Azure Machine Learning Build 2020
Azure Machine Learning Build 2020Azure Machine Learning Build 2020
Azure Machine Learning Build 2020
 
Part 3: サーバーレスとシステム間連携基盤 (製造リファレンス・アーキテクチャ勉強会)
Part 3: サーバーレスとシステム間連携基盤 (製造リファレンス・アーキテクチャ勉強会)Part 3: サーバーレスとシステム間連携基盤 (製造リファレンス・アーキテクチャ勉強会)
Part 3: サーバーレスとシステム間連携基盤 (製造リファレンス・アーキテクチャ勉強会)
 
NEDO特別講座_画像処理・AI技術活用コース_後編
NEDO特別講座_画像処理・AI技術活用コース_後編NEDO特別講座_画像処理・AI技術活用コース_後編
NEDO特別講座_画像処理・AI技術活用コース_後編
 
131111 東工大授業「ロボット技術」資料
131111 東工大授業「ロボット技術」資料131111 東工大授業「ロボット技術」資料
131111 東工大授業「ロボット技術」資料
 
ビルドプロセスとCI #STAC2014
ビルドプロセスとCI #STAC2014ビルドプロセスとCI #STAC2014
ビルドプロセスとCI #STAC2014
 
Deep Learning Lab - Microsoft Machine Learning meetup 2018/06/27 - 推論編
Deep Learning Lab - Microsoft Machine Learning meetup 2018/06/27 - 推論編Deep Learning Lab - Microsoft Machine Learning meetup 2018/06/27 - 推論編
Deep Learning Lab - Microsoft Machine Learning meetup 2018/06/27 - 推論編
 
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識PythonとRによるデータ分析環境の構築と機械学習によるデータ認識
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識
 
Tokyo Jazug Night 2020-01 Azure Monitor を使った運用監視コトハジメ
Tokyo Jazug Night 2020-01 Azure Monitor を使った運用監視コトハジメTokyo Jazug Night 2020-01 Azure Monitor を使った運用監視コトハジメ
Tokyo Jazug Night 2020-01 Azure Monitor を使った運用監視コトハジメ
 
201110 01 Polytech Center 1
201110 01 Polytech Center 1201110 01 Polytech Center 1
201110 01 Polytech Center 1
 
2020年10月29日 プロフェッショナルAI×Roboticsエンジニアへのロードマップ
2020年10月29日 プロフェッショナルAI×Roboticsエンジニアへのロードマップ2020年10月29日 プロフェッショナルAI×Roboticsエンジニアへのロードマップ
2020年10月29日 プロフェッショナルAI×Roboticsエンジニアへのロードマップ
 

Mais de openrtm

Mais de openrtm (20)

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部
 
5.総合演習(2)
5.総合演習(2)5.総合演習(2)
5.総合演習(2)
 
4.総合演習(1)
4.総合演習(1)4.総合演習(1)
4.総合演習(1)
 
3.RTCプログラミング演習
3.RTCプログラミング演習3.RTCプログラミング演習
3.RTCプログラミング演習
 
2.プログラミングの基礎
2.プログラミングの基礎2.プログラミングの基礎
2.プログラミングの基礎
 
OpenRTM概要
OpenRTM概要OpenRTM概要
OpenRTM概要
 
Rtshell入門
Rtshell入門Rtshell入門
Rtshell入門
 
Rtミドルウェアサマーキャンプ2021_宮本信彦
Rtミドルウェアサマーキャンプ2021_宮本信彦Rtミドルウェアサマーキャンプ2021_宮本信彦
Rtミドルウェアサマーキャンプ2021_宮本信彦
 
RTミドルウェアサマーキャンプ2021_坂本武志_1
RTミドルウェアサマーキャンプ2021_坂本武志_1RTミドルウェアサマーキャンプ2021_坂本武志_1
RTミドルウェアサマーキャンプ2021_坂本武志_1
 
Rtミドルウェアサマーキャンプ資料2021_坂本武志_2
Rtミドルウェアサマーキャンプ資料2021_坂本武志_2Rtミドルウェアサマーキャンプ資料2021_坂本武志_2
Rtミドルウェアサマーキャンプ資料2021_坂本武志_2
 
Rtミドルウェアサマーキャンプ資料2021_菅佑樹
Rtミドルウェアサマーキャンプ資料2021_菅佑樹Rtミドルウェアサマーキャンプ資料2021_菅佑樹
Rtミドルウェアサマーキャンプ資料2021_菅佑樹
 
ROBOMECH2021 RTMオンライン講習会 第1部
ROBOMECH2021 RTMオンライン講習会 第1部ROBOMECH2021 RTMオンライン講習会 第1部
ROBOMECH2021 RTMオンライン講習会 第1部
 

2015 summercamp 03