21
NEXTAGE OPENを使った ROSプログラミング 近藤 豊 http://youtalk.jp/ros @youtalk 第2回ROS勉強会 in カワダロボティクス

NEXTAGE OPENを使ったROSプログラミング

Embed Size (px)

DESCRIPTION

6/14に開催された「第2回ROS勉強会 in カワダロボティクス」の発表資料です。協働ロボットNEXTAGE OPENのROSインタフェースに関して紹介しています。

Citation preview

Page 1: NEXTAGE OPENを使ったROSプログラミング

NEXTAGE OPENを使った ROSプログラミング

近藤 豊

http://youtalk.jp/ros @youtalk

第2回ROS勉強会 in カワダロボティクス

Page 2: NEXTAGE OPENを使ったROSプログラミング

近藤 豊 博士(工学) •  奈良先端大小笠原研究室でアンドロイドの人間らしい振る舞いを研究

•  現在はカワダロボティクスで協働型ロボットの開発に従事

•  ROS歴1ヶ月

3 http://youtu.be/j7Sv8SxYIxE

Page 3: NEXTAGE OPENを使ったROSプログラミング

4 http://spectrum.ieee.org/automaton/robotics/humanoids/japanese-robot-actroid-sit

Page 4: NEXTAGE OPENを使ったROSプログラミング

NEXTAGE OPENへの系譜

5

人型ロボット

協働型ロボット

Page 5: NEXTAGE OPENを使ったROSプログラミング

ハードウェア構成

6

Page 6: NEXTAGE OPENを使ったROSプログラミング

ソフトウェア構成 •  hrpsys-base github.com/fkanehiro/hrpsys-base •  OpenHRP3 https://openrtp.org/svn/hrg/openhrp •  rtmros_common github.com/start-jsk/rtmros_common •  rtmros_nextage github.com/tork-a/rtmros_nextage

7

Open HRP3

hrpsys-base

OpenRTM

ハードウェア コントローラ

rtmros_nextage rtmros_

common

OpenRTM

ROS インタフェース 上位PC

(Ubuntu)

下位PC (QNX)

NEXTAGE OPEN

Page 7: NEXTAGE OPENを使ったROSプログラミング

NEXTAGE in グローリー http://www.glory.co.jp/csr/feature/2013/feature2013_02.html

8

Page 8: NEXTAGE OPENを使ったROSプログラミング

NEXTAGE in THKインテックス http://youtu.be/6Ofmyb1XKTk

9

Page 9: NEXTAGE OPENを使ったROSプログラミング

NEXTAGE in Tecnalia, Spain http://youtu.be/G7NNEJ6nHps

10

Page 10: NEXTAGE OPENを使ったROSプログラミング

開発環境セットアップ 1.  ROS Hydroのインストール

$  sudo apt-get install ros-hydro-desktop-full 2.  NEXTAGE OPEN用パッケージのインストール

$  sudo apt-get install ros-hydro-rtmros-nextage ros-hydro-rtshell-core

$  echo "source `rospack find openrtm_tools`/scripts/rtshell-setup.sh" >> ~/.bashrc

$  source ~/.bashrc 詳しくは youtalk.jp/post/85823518143/setup-nextage-ros

11

Page 11: NEXTAGE OPENを使ったROSプログラミング

開発環境セットアップ $  rtmlaunch nextage_ros_bridge nextage_ros_bridge_simulation.launch

12 http://youtu.be/bDUOo7KOuG4

Page 12: NEXTAGE OPENを使ったROSプログラミング

ROSノード $  rqt_graph

13

順運動学

動作軌道生成 ロボットの内部状態

各部位の制御 全身部位の制御・プロファイリング ロギングの設定

Page 13: NEXTAGE OPENを使ったROSプログラミング

ROSトピック $  rostopic list | grep -v ’action’

/fullbody_controller/state /head_controller/state /torso_controller/state /rarm_controller/state /rarm_torso_controller/state /larm_controller/state /larm_torso_controller/state /joint_states /motor_states /tf /zmp …

14

larm_torso_ controller larm_controller

Page 14: NEXTAGE OPENを使ったROSプログラミング

ROSサービス $  rosservice list | grep -vi ’log’

15

/ForwardKinematics/getCurrentPose /ForwardKinematics/getReferencePose /ForwardKinematics/getRelativeCurrentPosition /ForwardKinematics/selectBaseLink /SequencePlayer/addJointGroup /SequencePlayer/clear /SequencePlayer/clearNoWait /SequencePlayer/clearOfGroup /SequencePlayer/isEmpty /SequencePlayer/loadPattern /SequencePlayer/playPattern /SequencePlayer/playPatternOfGroup /SequencePlayer/removeJointGroup /SequencePlayer/setBasePos /SequencePlayer/setBaseRpy

/SequencePlayer/setInitialState /SequencePlayer/setInterpolationMode /SequencePlayer/setJointAngle /SequencePlayer/setJointAngles /SequencePlayer/setJointAnglesOfGroup /SequencePlayer/setJointAnglesWithMask /SequencePlayer/setMaxIKError /SequencePlayer/setMaxIKIteration /SequencePlayer/setTargetPose /SequencePlayer/setWrenches /SequencePlayer/setZmp /SequencePlayer/waitInterpolation /SequencePlayer/waitInterpolationOfGroup /StateHolder/getCommand /StateHolder/goActual

Page 15: NEXTAGE OPENを使ったROSプログラミング

ROSパッケージ開発 •  SequecePlayerを拡張するサービスの実装 –  goInitial 初期姿勢に移動

–  goOffPose サーボオフ姿勢に移動

–  setTargetPoseRelative 逆運動学による差分移動

詳しくは youtalk.jp/post/86493954928/make-ros-package

16

goInitial goOffPose

Page 16: NEXTAGE OPENを使ったROSプログラミング

ROSパッケージ開発 $  rosrun nextage_ros_seqplay_util seqplay_util_server.py

17 http://youtu.be/Crvp0KTYmE4

Page 17: NEXTAGE OPENを使ったROSプログラミング

ロボット実機との接続 1.  ロボット内蔵PCにホスト名を設定

•  192.168.***.*** nxc(ハードウェア制御PC) •  192.168.***.*** nxa(アプリケーション実行PC)

2.  ROSインタフェースとのブリッジを起動 $  roslaunch nextage_ros_bridge nextage_ros_bridge.launch nameserver:=nxc

もしくは $  export ROS_HOSTNAME=nxa $  export ROS_MASTER_URI=http://nxa:11311

詳しくは youtalk.jp/post/87978130238/nextage-in-real-world 18

Page 18: NEXTAGE OPENを使ったROSプログラミング

NEXTAGE OPEN + MoveIt! $  roslaunch nextage_moveit_config moveit_planning_execution.launch

19 http://youtu.be/g3k7W4Pr1TA

Page 19: NEXTAGE OPENを使ったROSプログラミング

頭部・ハンドカメラ $  roslaunch ueye_cam rgb8.launch $  rosrun image_view image_view image:=/camera/image_raw

20

Page 20: NEXTAGE OPENを使ったROSプログラミング

カワダロボティクスで働きませんか?

26

•  カワダロボティクスは  大企業とスタートアップの良い所どり

•  光る技術を持つ新卒・ 中途技術者を鋭意募集中

•  一緒に人とロボットの協働社会を作りましょう!www.kawadarobot.co.jp

Page 21: NEXTAGE OPENを使ったROSプログラミング

No Hack, No Future NEXTAGEハッカソン楽しんでいってください!

27