TORKの活動とROSパッケージの紹介
TORK and ROS packages
一般社団法人東京オープンソースロボティクス協会
info@opensource-robotics.tokyo.jp

ROSConJP2018

1

Open or Die?

ROSConJP2018

2

Opensource Software• Quite normal in modern software world（これら無しで現代のソフトウェア開発は成り立たない）• What happened if you don’t use? … Loser!
（もし使えなかったら？…負けですよね！）
ROSConJP20183

• Large complex system（大きく複雑なシステム）• Including hardware （ハードウェア）• Various tech field（多岐に渡る分野）• Intelligent machine（高度な知能化）• Various environment, target（種々の対象と環境）• Action in real world（実世界での動作）• Research speed is very fast（早い研究開発）• Uncompetitive field (非競争領域）
Pointless to compete with others（差別化が無意味）
Important（しかし重要）
Could be cost（コストもかかる）“Someone” create it for you? NO.
（参加しなくていいわけでもない）

ROSConJP2018

Competitive••••

Not Competitive• Fuzzy application（定まらないアプリ）

Competitive

Open, Robot !

ServiceApplication

Middleware

OSHardware（Robot)4

東京オープンソースロボティクス協会• 2013 年設立の一般社団法人• Non-profit（非営利）• 略称 TORK（トルク）Tokyo Opensource Robotics Kyokai• メインメンバー：3人• 但馬 竜介 Ryosuke Tajima (Dr. Eng.)• 鈴木 夢見子 Yumiko Suzuki (Dr. Eng.)• 岡田 慧 Kei Okada (Dr. Eng)

Opensource power to Robotics!
ロボットにも、オープンソースの力を！
ROSConJP2018

5

Our activities（活動内容）• Seminar, workshop（セミナー、ワークショップ）• Event related opensource robot (イベント開催）• Professional support for ROS/robot（サポートサービス）• Software development（自発＆受託）

ROSConJP2018

6

Workshop, events• ROS Workshop （初級、中級）• Hackathon event（ハッカソン）• World MoveIt! Day 2017

Toyota HSR
HackathonWorkshop on manipulators

Workshop on navigation

ROSConJP2018

7

(Open) Software development (受託開発とパッケージ公開)

TRA: EtherCAT based robot arm
https://github.com/tork-a/minas

Driver for IMU by Analog Devices
https://github.com/tork-a/adi_driver

We want to make it open! (sometimes cannot…)
成果をオープンソースに！（したい！）
ROSConJP2018

8

Motivation(動機) to use ROS :Top 3• Navigation for wheeled robot• ナビゲーション機能• MoveIt! for manipulators• 軌道計画• Sensor processing, object recognition• センサ処理（対象物認識）

ROSConJP2018

9

Conversation with a customer（お客さんとの対話）
TORK

Hey, look! （どうですか！）
ROS has motion planning, sensor fusion, and GUI!
（ROSの動作計画、センサ処理、GUIはすごいでしょ！）

CustomerCoool!（いいね！）
BTW, how can I teach the robot?
（ところで、ティーチングはどうすればいいの？）
Python!
Oh…（えぇ…）
ROSConJP201810

Robot teaching on ROS• MoveIt! Rviz plugin• rqt_joint_trajectory_controller

壁• Python /C++ API• moveit_commander• Smachなど、便利なpythonライブラリ• Anything is possible（基本的に何でもできる）
ROSConJP201811

MoveIt! Rviz plugin• Good GUI！

• Not jog control（ジョグではない）• Difficult to use with actual robot…
（実機で動かすとき苦労する）• Unable to…
• Save target poses（目標姿勢を保存できない）• Regression from Hydro• Plan and execute sequentially（経由点の連続再生ができない）• Set planning in cartesian coordinate（直交座標系オプションがない）• APIからはできる

ROSConJP201813rqt_joint_trajectory_controller• Sliders to command the joint angles（各関節への指令）• Not jog control（ジョグではない）

ROSConJP201814jog_control package
Released to Kinetic!（Kineticにリリース済み！）（本プロジェクトはNEDOの支援を受けました）
ROSConJP201815

Rviz jog plugin panel (パネル)ROSConJP2018

16

Overview of jog_control

ROSConJP2018

17

Available on ANY robot（どんなロボットでも動く）• Depending on MoveIt!(move_group) （MoveIt!には依存）• FK (順運動学), IK(逆運動学)• List of the controller (コントローラ一覧をMoveIt!のパラメータから取得)• Depending on ros_control interfaces（ros_control interfaceが必要）• JointTrajectoryAction アクション• JointTrajectory メッセージ• Choice of target frame, base frame（対象座標系、基準座標系を選べる）• Target frame（対象座標系）：Hand（手先）, tool（ツール）, a point on the tool, etc.
• Base frame（基準座標系）：World（世界座標系）, tool, etc.

• Support for dual (multi) arm robots（アームが複数ある場合でも対応）
ROSConJP201818

UR5 (Gazebo)
EnablerAxis
selection

Frameselection

Jog slider

https://github.com/ros-industrial/universal_robot
ROSConJP2018

19

TRA：EtherCAT based robot arm

http://wiki.ros.org/minas
ROSConJP2018

20

Denso VS060

http://wiki.ros.org/densoROSConJP2018

21

KAWADA NEXTAGE Open (Dual Arm Cobot)

http://wiki.ros.org/nextage
ROSConJP2018

22

ABB IRB2400

https://github.com/ros-industrial

ROSConJP2018

23

MOTOMAN SIA20D

https://github.com/ros-industrial

ROSConJP2018

24

MOTOMAN SDA10F

https://github.com/ros-industrial

ROSConJP2018

25

Demo (Jog by Rviz plugin)

ROSConJP2018

26

Demo (Jog by Joypad)

ROSConJP2018

27

StackIt!

ROSConJP201828

NextageOpen

ROSConJP2018

29

ROS Teaching Pendant（Under development, 開発中）
• Unified Pendant（統一ティーチングペンダント）• ROS native• Daincube DTP7P• 7-inch touch panel• Ubuntu / ROS• Physical buttons for jog (-/+)• Enabler SW• Emergency SW
ROSConJP2018

30

Jog by Teaching Pendant

ROSConJP201831

Sequential Plan and Execution on Rviz plugin（Rvizプラグインでの軌道の連続計画＆再生）

https://github.com/ros-planning/moveit/pull/932（本プロジェクトはNEDOの支援を受けました）
ROSConJP2018

32

おわりに
• ロボットの共通部分はオープンに開発しましょう！
• パッケージを使ってみよう！
• フィードバックを送ってみよう！
• 開発に参加していこう！
• 車輪の再発明はやめよう！

• TORK活動への支援、お手伝いも募集しています• Orphaned Package Maintainer (メンテナ不在パッケージの管理者）• ROS貢献プログラム（報酬あり）• 寄付などお問い合わせ：info@opensource-robotics.tokyo.jp
ROSConJP201833