Top Banner
DARPA Robotics Challenge における ChoreonoidRT-Middlewareの活用 産業技術総合研究所 知能システム研究部門ヒューマノイド研究グループ 中岡 慎一郎 RTMサマーキャンプ2015 2015/8/4
15

2015 summercamp 05

Aug 14, 2015

Download

Technology

openrtm
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 2015 summercamp 05

DARPA Robotics Challenge におけるChoreonoidとRT-Middlewareの活用

産業技術総合研究所

知能システム研究部門ヒューマノイド研究グループ

中岡 慎一郎

RTMサマーキャンプ20152015/8/4

Page 2: 2015 summercamp 05

産総研で開発されたヒューマノイドロボット

HRP-2P(2002)

HRP-2(2002)

HRP-3P(2005)

HRP-3(2007)

HRP-4C(2009)

HRP-4(2010)

HRP-2改(2015)

Page 3: 2015 summercamp 05
Page 4: 2015 summercamp 05

DARPA Robotics Challenge (DRC)

Page 5: 2015 summercamp 05
Page 6: 2015 summercamp 05

遠隔操作システム

実ロボットGUI (Choreonoid)オペレータ

Page 7: 2015 summercamp 05

操作用マーカー

歩行先指定/フットステップ表示マーカー

手先目標点指定マーカー

計測領域指定マーカー

物体操作マーカー

Page 8: 2015 summercamp 05

遠隔操作システム実ロボットオペレータ

RobotGateway

DRCUserInterface

SequencePlayer

KalmanFilter

HMC

RobotHardware

StateHolder

CaptureController

StancePlanner

ReachingPlanner

PostureGenerator

LandingState

Estimator

LocalStep

Planner

RTComponents

GUI (Choreonoid)

Page 9: 2015 summercamp 05
Page 10: 2015 summercamp 05

PythonスクリプトによるRTCの生成・接続

def createComps():ms = rtm.findRTCmanager()rh = rtm.findRTC("RobotHardware0")ms.load("SequencePlayer")seq = ms.create("SequencePlayer","seq")seq_svc = narrow(seq.service("service0"), "SequencePlayerService")ms.load("KalmanFilter")kf = ms.create("KalmanFilter","kf")

def connectComps():connectPorts(rh.port("q"), [sh.port("currentQIn"), hmc.port("q")])connectPorts(rh.port("rfsensor"), hmc.port("rfforce"))connectPorts(rh.port("lfsensor"), hmc.port("lfforce"))connectPorts(rh.port("rhsensor"), hmc.port("rhforce"))connectPorts(rh.port("lhsensor"), hmc.port("lhforce"))connectPorts(rh.port("gyrometer"), [kf.port("rate"), hmc.port("rate")])connectPorts(rh.port("gsensor"), [kf.port("acc"), hmc.port("acc")])

・・・

・・・

Page 11: 2015 summercamp 05

遠隔操作デモ

Page 12: 2015 summercamp 05

タスクシーケンサ

Page 13: 2015 summercamp 05

攻略タスク(5ポイント)

1. 運転

3. バルブ

2. ドア

4. サプライズ(プラグ)

5. 不整地(クリアと同時に転倒)

Page 14: 2015 summercamp 05

成績

Position TEAM SCORE TIME

1 KAIST 8 44:28

2 IHMC ROBOTICS 8 50:26

3 TARTAN RESCUE 8 55:15

4 NIMBRO RESCUE 7 34:00

5 ROBOSIMIAN 7 47:59

6 MIT 7 50:25

7 WPI-CMU 7 56:06

8 DRC-HUBO AT UNLV 6 57:41

9 TRAC LABS 5 49:00

10 AIST-NEDO 5 52:30

11 NEDO-JSK 4 58:39

KAISTDRC-HUBO

IHMCAtlas

TartanCHIMP

NimbRoMomaro

RoboSimian

Page 15: 2015 summercamp 05

まとめ

• OpenRTMでこの規模のロボットシステムもやってみたらちゃんと作れた

• コンポーネントが多くなると、GUIツールでシステムを構成するのには無理がある

• Pythonスクリプトの併用が有効

• DRCでは多くのチームがROSを使用

• OpenRTMは、制御ループ(リアルタイム)にも対応可能なところがウリ?