MATLAB/Simulink

2019年9月25日
環境・社会システム事業部

出典：https://jp.mathworks.com/products/simulink.html

開発部

出典：http://wiki.ros.org

出典：http://gazebosim.org/

森田 賢© 2019 YASKAWA Electric Corporation

MATLAB : The MathWorks, Inc. の商標
Simulink : The MathWorks, Incの商標

発表者自己紹介

Qiita : Increments 株式会社の商標

業務内容
プラント用監視制御装置の開発
システムコントローラ開発課
ソフトウェア開発を担当
ROS 関連活動

QiitaやブログでROS/ロボット技術解説記事を執筆
ROSやロボットに関する取り組みは100%趣味※ 九工大 西田研 の社会人博士学生ですが、テーマはROSとは無関係
ROS 成果物

市街地にて完全自立走行で2kmのコースを完走 @ つくばチャレンジ© 2019 YASKAWA Electric Corporation1

九工大西田研究室 ROS ベース産ロボアプリ（動画）
産ロボｘROSアプリ

実演による産ロボ操作(教示レス)

ユニバーサルグリッパ

nishidalab youtube

検索５Gを活用した産業用ロボットのPepper(音声+タッチパネル) による産業用ロボット対話型I/Fの構築(教示レス) レイアウト性の向上(教示レス)© 2019 YASKAWA Electric Corporation2拙著ROS本のご紹介
著書概要
西田, 森田ら, 実用ロボット開発のためのROSプログラミング, 森北出版, 2018.

ポイントクラウド (PCL)、プラグイン開発 (Pluginlib)、テストコード (rostest)、CI 連携 (industrial_ci)等、応用項目を主担当として執筆

出典：https://opencv.org/

出典：http://pointclouds.org/

出典：https://travis-ci.org/

MATLAB連携の章を担当
MATLAB
Simulink

先週、増刷のお知らせを頂きました
出典：https://images-na.ssl-images-amazon.com/images/I/51joyPVM8tL.jpg© 2019 YASKAWA Electric Corporation

3

本題に入る前にご提案がございます©2019 @MoriKen254© 2019 YASKAWA Electric Corporation

本ページの内容は個人の見解です4

メーカ社員の皆さん上司に何を報告するか見えていますか？

©2019 @MoriKen254© 2019 YASKAWA Electric Corporation

本ページの内容は個人の見解です 5上司：

すごいのは分かったで、製品化プロセスは大丈夫？
品質保証はどうするんだ？
規格への準拠は？メーカ責任区分は？
法的に問題は？

部下：「引き続き技術動向を調査します」
5年ほど前からこの問答に大きな進展がない©2019 @MoriKen254© 2019 YASKAWA Electric Corporation

本ページの内容は個人の見解です 6部下：「その情報ならここを見れば書いてありますよ！」「今回も製品化事例がありました！」と言うシナリオに進めたい。

©2019 @MoriKen254© 2019 YASKAWA Electric Corporation

本ページの内容は個人の見解です 7

本、書きませんか？

©2019 @MoriKen254© 2019 YASKAWA Electric Corporation

本ページの内容は個人の見解です 8商用ロボット開発のためのROS2プログラミング (仮称)
第一部
基礎編

一章 ROS2とは第二部
実装編

二章 ROS2基本仕様＋サンプル

三章
本書で開発するロボットおよびその要件

Case 1
公開 pkgの利用

Case 2
非公開 pkgの実装
ナビゲーションとマニピュレーション両方できるやつ四章
シミュレーション

五章
ナビゲーション

六章
マニピュレーション

ignitionnavigation2

moveit2

九章

七章

八章

コンピュータビジョン

ポイントクラウド

MATLABによる設計と機能拡張

pcl_ros

ROS Toolbox

cv_bridge
通信品質高Case 3
要リアルタイムOpen pkg
から非公開pkg
通信品質低へ改変

第三部
リリース編

コードは原則として C++
プラグインはC++でしかかけないし、商品用実装部秘匿もC++が望ましい。

十章
ナビゲーション改変

十一章
マニピュレーション改変

ros_conrollers+ pluginlib

moveit2+ pluginlib

ライセンス・規格・リスクアセスメント十五章
リリース

OSSライセンスの考え方
商用製品化の注意点

OSS: ROS Buildfarm
Closed: debian pkg

非リアルタイム

十二章
テスト設計と実装

十三章
CI による品質管理

rostest

OSS: Travis CI
Closed: Gitlab CI

十四章

ラストワンマイルの道路自体がないと闘技場に上がれない© 2019 YASKAWA Electric Corporation©2019 @MoriKen254

本ページの内容は個人の見解です 9ワイガヤページを作成しました
情報提供、原稿執筆に興味のある方はissue でお声がけください

https://github.com/MoriKen254/ros2_book_commercialize_project_jp©2019 @MoriKen254© 2019 YASKAWA Electric Corporation

本ページの内容は個人の見解です10

We Want You!

©2019 @MoriKen254

Source: https://spectrum.ieee.org/automaton/robotics/robotics-© 2019 YASKAWAElectric Corporation
software/willow-garage-sells-first-pr2-robots

本ページの内容は個人の見解です11アウトライン3. 実装上の Tips

1. モチベーション
ROS ToolboxTMとはコーディング方法

ROS-Industrial について

高速化方法

ROS+MATLAB 導入のメリット

4. ユーザとしての所感

2. サンプルアプリ
ピック&プレースアプリ概要

良かった点・気になった点

各機能説明

要望

☓

MATLAB/Simulink© 2019 YASKAWA Electric Corporation☓
12メーカでROSを採用する難しさ ①技術的 Issue

出典：http://news.mit.edu/2015/mit-team-places-sixth-darpa-robotics-challenge-0608
出典：https://www.tudelft.nl/en/2016/tu-delft/team-delft-wins-amazon-picking-challenge/
出典：https://youtu.be/1Zpw2288VMQ
出典：https://projects.preferred.jp/tidying-up-robot/

Issue 1:
・最新のOSSライブラリや様々なプログラミング言語を扱える技術者の確保が困難

Python, C++, Java

出典 : https://www.preferred-networks.jp/ja/pfn-logo
出典 : https://www.tensorflow.org/
出典 : https://www.irasutoya.com/2016/04/blog-post_78.html

価値を届けたいお客様
出典：https://pictarts.com/01-illustration/00011-free-art.html

Chainer: Preferred Networks の提供するニューラルネットワーク用 OSS© 2019 YASKAWA
Corporation
TensorFlow: Google Electricの提供する機械学習用OSSJava : Oracleの提供するプログラミング言語13メーカでROSを採用する難しさ ②戦略的 Issue

出典：http://news.mit.edu/2015/mit-team-places-sixth-darpa-robotics-challenge-0608
出典：https://www.tudelft.nl/en/2016/tu-delft/team-delft-wins-amazon-picking-challenge/
出典：https://youtu.be/1Zpw2288VMQ
出典：https://projects.preferred.jp/tidying-up-robot/

Python, C++, Java

Issue 2:・OSSの利用と知的財産保護の間に生じるコンフリクト
・そもそもOSSを利用した
前例がない
出典：https://www.irasutoya.com/2019/03/blog-post_877.html

価値を届けたいお客様
出典：https://pictarts.com/01-illustration/00011-free-art.html© 2019 YASKAWA Electric Corporation

14

ROS Toolbox のポテンシャル

出典：http://news.mit.edu/2015/mit-team-places-sixth-darpa-robotics-challenge-0608
出典：https://www.tudelft.nl/en/2016/tu-delft/team-delft-wins-amazon-picking-challenge/
出典：https://youtu.be/1Zpw2288VMQ
出典：https://projects.preferred.jp/tidying-up-robot/

MATLAB/Simulink•ソフトウェアのインストール実績： 100,000 以上の企業、政府、大学•顧客拠点： 185 か国以上
•MATLAB のユーザー数: 世界中で 400 万人以上
•MATLAB Central の File Exchange ダウンロード数： 300 万ファイル以上•MATLAB Central アプリへの協力者数：世界中で 525,000 人以上•MATLAB/Simulink で作成されたサードパーティ ソリューションの数: 500 以上•MATLAB 関連書籍の数: 27 言語で 2,000 冊以上

価値を届けたいお客様
出典：https://pictarts.com/01-illustration/00011-free-art.html© 2019 YASKAWA Electric Corporation

15

ROS Toolbox による Solution①

出典：http://news.mit.edu/2015/mit-team-places-sixth-darpa-robotics-challenge-0608
出典：https://www.tudelft.nl/en/2016/tu-delft/team-delft-wins-amazon-picking-challenge/
出典：https://youtu.be/1Zpw2288VMQ
出典：https://projects.preferred.jp/tidying-up-robot/

MATLAB/Simulink

Solution:
1. MATLABの技術者は既存メーカに大勢いる
2. MATLABの資産も潤沢に蓄積されている

技術的 Issue 1:
・最新のOSSライブラリや様々な言語を扱える技術者の確保が困難
出典：https://www.irasutoya.com/2019/05/blog-post_67.html

価値を届けたいお客様
出典：https://pictarts.com/01-illustration/00011-free-art.html© 2019 YASKAWA Electric Corporation16

ROS Toolbox による Solution②

出典：http://news.mit.edu/2015/mit-team-places-sixth-darpa-robotics-challenge-0608
出典：https://www.tudelft.nl/en/2016/tu-delft/team-delft-wins-amazon-picking-challenge/
出典：https://youtu.be/1Zpw2288VMQ
出典：https://projects.preferred.jp/tidying-up-robot/

MATLAB/Simulink

Solution:
1. アルゴリズム部分はMATLAB
なのでOSSの議論にはならない
2. MATLABベースの商品開発は前例がある場合が多い

戦略的 Issue 2:・OSSの利用と知的財産保護の間に生じるコンフリクト
・そもそも前例がない
出典：https://www.irasutoya.com/2019/05/blog-post_67.html

価値を届けたいお客様
出典：https://pictarts.com/01-illustration/00011-free-art.html© 2019 YASKAWA Electric Corporation

17

MATLAB/SimulinkのRobotics関連ツールボックスの構成
新機能

以前
Robotics System Toolbox

Robotics System Toolbox

ロボットアームアルゴリズム

各種座標変換移動ロボットアルゴリズム

Simscape Multibodyとの連携

自律飛行アルゴリズム(UAV Add-on)
Simscape Multibodyとの連携

ROS連携
ROSノード生成

rosbagの読み込み
各種座標変換TurtleBot Add-on
ROSカスタムメッセージ Add-on

ロボットアームアルゴ

自律飛行アルゴリズム

運動学/逆運動学

移動ロボットアルゴリズム

衝突検知

Gazeboとのコシミュレーション

市販ロボットライブラリ

ナビゲーション

Navigation toolbox
各種座標変換GNSS/IMU
センサーモデルマニピュレーション等

移動ロボットアルゴリズム
自己位置推定地図生成

経路計画

2D SLAM

3D SLAM

動作計画

ROS 専用機能

ROS Toolbox
ROS連携

ROS 2連携rosbagの読み込み

ROSノード生成

ROS2ノード生成

TurtleBot Add-on
ROSカスタムメッセージ Add-on© 2019 YASKAWA Electric Corporation

18

ROS Toolbox (MATLAB/Simulink) の使い所
出典：https://www.nikkan.co.jp/articles/view/00405436

https://jp.mathworks.com/help/physmod/sps/examples/three-phase-matrix-converter.html

MATLAB/Simulink

コアコンピタンス
https://jp.mathworks.com/help/physmod/sps/examples/robot-axis-control-using-brushlessdc-motor-drives.html

制御レイヤは歴史的にも強い
人工知能等の先端技術もキャッチアップしている© 2019 YASKAWA Electric Corporation

モデルベース設計
他ツールの追従を許さない水準のユーザビリティ
19

ROS Toolbox の使用例
ROSサポートの機能

大学の研究資産

PC
運動学
自律移動状態
機械

経路計画
画像
認識

企業の開発資産センサ

モータ

ロボット／ハンドドライバ

回路モデル制御モデル

Simulink

Simulink

ROS Toolbox

ROS Toolbox

シミュレータMATLABROS IFROS Toolbox

ROS IFROS Network
多数(400万人以上、100,000 以上の組織)のMATLABユーザが長年(1970年代～)蓄積してきた膨大な技術資産を、容易にROSと連携可能取りうる構成は千差万別 ユーザの状況に合わせて個別的対応が必要© 2019 YASKAWA Electric Corporation

20

ROSの産業応用への展開
ROS-Industrial (ROS-I) とは？

画像出典：
https://rosindustrial.org/ric/current-members

ROSの産業応用を推進するためのコンソーシアム（米、欧、亜 の３支部）
メーカ・ユーザ・プラント等、60以上の世界的な企業が参画

MathWorksも参画

米国支部が参画© 2019 YASKAWA Electric Corporation

21

ROS-I におけるMotomanの対応状況
Githubリポジトリで無償公開
ドライバ、3DCADモデル、可視化ツール対応等
参考：GitHub 画面

GP12/7/8

MH5/12/50
MotoMINI
SDA10F/10D
SIA5D/10D/20D
出典：https://github.com/ros-industrial/motoman© 2019 YASKAWA Electric Corporation

22

ROS-I の Motoman リポジトリ
Motoman利用時のソフトウェア構成
会社によって仕様・構成は異なる
例: denso_robot_ros リポジトリでは ros_controller 準拠

安川製MotoPlus

コントローラはブラックボックス© 2019 YASKAWA Electric Corporation

23

ROS-I が提供する機能
フィールドバスとのブリッジ
CanOpenEtherNet/IP
EtherCAT

産業利用に特化したROSアプリ
ROSIN

出典：https://rosindustrial.org/news/2016/2/23/ros-bridges-for-common-field-busses

開発を効率化する環境の提供
・ QtCreator ROS ・ industrial_ci

出典：https://rosin-project.eu/

trajopt_ros, tessaract出典：https://ros-qtc-plugin.readthedocs.io/en/latest/index.html, https://travis-ci.org/© 2019 YASKAWA Electric Corporation

出典：https://github.com/ros-industrial-consortium/trajopt_ros

24アウトライン3. 実装上の Tips

1. モチベーション
ROS ToolboxTMとはコーディング方法

ROS-Industrial について

高速化方法

ROS+MATLAB 導入のメリット

4. ユーザとしての所感

2. サンプルアプリ
ピック&プレースアプリ概要

良かった点・気になった点

各機能説明

要望

☓

MATLAB/Simulink© 2019 YASKAWA Electric Corporation☓
25

Windows : Microsoft Corporation の商標
Linux : Torvalds, Linus氏 の商標
VMware: VMware, Inc の商標

サンプルアプリ・デモ
Robotics System Toolbox

ROS Toolbox

Navigation Toolbox

Other Toolboxes

ROS IO

出典：https://www.vexels.com/
png-svg/preview/140692/linux-logo

MATLAB/Simulink

今回は機能検証のため処理の殆どをMATLAB/Simulink
で実装

MATLAB
Simulink

物体認識
結果

シミュレータ

状態制御
ブロック図© 2019 YASKAWA Electric Corporation

26

サンプルアプリ・デモ© 2019 YASKAWA Electric Corporation

27

サンプルアプリ全体像
説明の流れ

ブロック図 (Simulink モデル参照)
軌道計画

1. 物体検出
位置推定

2. 軌道計画

状態制御
シミュレーション

音声認識

3. 音声認識4. 状態制御

物体検出
位置推定
センサ値取得© 2019 YASKAWA Electric Corporation

28

サンプルアプリ全体像：1. 物体検出・位置推定
説明の流れ

ブロック図 (Simulink モデル参照)
軌道計画

1. 物体検出
位置推定

2. 軌道計画

状態制御
シミュレーション

音声認識

3. 音声認識4. 状態制御

物体検出
位置推定
センサ値取得© 2019 YASKAWA Electric Corporation29

物体検出+位置推定のフロー
ROS→MATLAB変換

物体検出結果

物体検出

センサ情報
実機 or シミュレータ

MATLAB
Simulink

物体位置

位置推定

MATLAB
Simulink

RGB画像を使用

深度画像を使用

YOLOv2による検出三次元位置を取得

ROS ToolboxTM

Deep Learning ToolboxTM
Computer Vision ToolboxTM© 2019 YASKAWA Electric Corporation

Image Processing ToolboxTM
Computer Vision ToolboxTM

30

YOLOv2 ラベル＋バウンディングボックスの学習
学習データの準備

MATLAB
Simulink

MATLAB からワーク位置をランダム配置
様々な姿勢ワーク画像を自動取得
バウンディングボックス＋ラベルも自動作成© 2019 YASKAWA Electric Corporation

ROS シミュレータ
MATLAB の指示に従いワーク再配置
画像を取得して MATLAB に送信

31

サンプルアプリ全体像：2. 軌道計画
説明の流れ

ブロック図 (Simulink モデル参照)
軌道計画

1. 物体検出
位置推定

2. 軌道計画状態制御
シミュレーション

音声認識

3. 音声認識4. 状態制御

物体検出
位置推定
センサ値取得© 2019 YASKAWA Electric Corporation

32

ロボット構成(URDF, STL)

URDF: ロボットモデル記述フォーマット
STL: CADモデル記述フォーマット

ツリー構造

逆運動学

MATLAB
Simulink

ROS設定データを容易に利用可能

運動学
パラメータ

設定情報

ROS→MATLAB
インポート

軌道計画のフロー

MATLAB
Simulink

手先の始/終点指定
関節角を算出Robotics System ToolboxTM

初期姿勢・最終姿勢 (関節角表現)

軌道計画

Robotics System ToolboxTM
MATLAB
Simulink

初期関節角軌道(線形補間)

最適化計算(物理Sim)

最適関節角軌道(スプライン補間)

関節軌道

SimscapeTM MultibodyTM
Optimization ToolboxTM© 2019 YASKAWA Electric Corporation

33

ロボット構成(URDF, CAD)

ツリー構造

逆運動学

MATLAB
Simulink

ROS設定データを容易に利用可能

運動学パラメータ

設定情報

ROS→MATLAB
インポート

軌道計画のフロー：本日説明する内容
MATLAB
Simulink

手先の始/終点指定
関節角を算出Robotics System ToolboxTM

初期姿勢・最終姿勢 (関節角表現)

軌道計画

Robotics System ToolboxTM
MATLAB
Simulink

初期関節角軌道(線形補間)

最適化計算(物理Sim)

最適関節角軌道(スプライン補間)

関節軌道

SimscapeTM MultibodyTM
Optimization ToolboxTM© 2019 YASKAWA Electric Corporation34

最適化部のフロー
最適化計算
初期軌道

MATLAB
Simulink

物理 sim

コスト関数

(線形)

SimscapeTM MultibodyTM

スプライン
経由点更新

設定情報

No

収束？

Optimization ToolboxTM

ロボット構成(URDF, CAD)

Yes

最適軌道 (スプライン)
ROS→MATLAB 事前インポート※注：ROS Toolbox とは別に

© 2019 YASKAWA Electric Corporation35

最適化部のフロー：主要ポイントの説明
物理 sim

コスト関数

SimscapeTM MultibodyTM

設定情報
ロボット構成(URDF, CAD)

© 2019 YASKAWA Electric Corporation36

最適化部のフロー：主要ポイントの説明
物理 sim

コスト関数

SimscapeTM MultibodyTM

STL

URDFインポート

設定情報
ロボット構成(URDF, CAD)

CADインポート

URDF
MATLAB
Simulink

MATLAB
Simulink© 2019 YASKAWA Electric Corporation
ROS情報のインポート機能により連携が容易

37

サンプルアプリ全体像：3. 音声認識
説明の流れ

ブロック図 (Simulink モデル参照)
軌道計画

1. 物体検出
位置推定

2. 軌道計画

状態制御
シミュレーション

音声認識

3. 音声認識4. 状態制御

物体検出
位置推定
センサ値取得© 2019 YASKAWA Electric Corporation

38

音声認識のフロー

CNN: Convolutional Neural Network (深層学習の一手法)

スペクトログラム変換

音声入力

MATLAB
Simulink

マイクで音声入力
音声信号を取得

単語認識結果音声認識

MATLAB
Simulink

スペクトログラム画像
CNN での単語認識

動作指示

動作指令

MATLAB
Simulink

指定されたワークを把持するよう動作指示生成“go” “right” …

Audio ToolboxTM

Deep Learning ToolboxTM
Audio ToolboxTM© 2019 YASKAWA Electric Corporation

ROS ToolboxTM

39

サンプルアプリ全体像：4. 状態制御
説明の流れ

ブロック図 (Simulink モデル参照)
軌道計画

1. 物体検出
位置推定

2. 軌道計画

状態制御
シミュレーション

音声認識

3. 音声認識4. 状態制御

物体検出
位置推定
センサ値取得© 2019 YASKAWA Electric Corporation

40

状態遷移
状態遷移による各コンポーネントの制御

MATLAB
Simulink

Stateflow®

自律制御アームロボットの状態管理

物体検出
コンポーネント
MATLAB
Simulink

コンポーネント© 2019 YASKAWA Electric Corporation

軌道計画
コンポーネント

MATLAB
Simulink

41

アウトライン3. 実装上の Tips

1. モチベーション
ROS ToolboxTMとはコーディング方法

ROS-Industrial について

高速化方法

ROS+MATLAB 導入のメリット

4. ユーザとしての所感

2. サンプルアプリ
ピック&プレースアプリ概要

良かった点・気になった点

各機能説明

要望

☓

MATLAB/Simulink© 2019 YASKAWA Electric Corporation☓
42

MATLAB のコーディング例
初期化 & ノード生成

MATLAB
Simulink

rosinit(‘192.168.146.128’) % MATLAB をROSと接続
speechRecogNode = robotics.ros.Node(‘/matlab_speech_recognizer_node’, ROS_master_ip); % ノード

Topic のパブリッシュ（音声認識の例）

MATLAB
Simulink

speechResultsPub = robotics.ros.Publisher(speechRecogNode, '/speech_recognizer/speech_results',...
‘std_msgs/String’); % std_msgs/String 型トピックのパブリッシャを生成
speechResultsMsg = rosmessage(speechResultsPub);︙※ 音声認識時の処理を抜粋
speechResultsMsg.Data = word; % 認識した単語の文字列をメッセージのデータとして格納
send(speechResultsPub,speechResultsMsg); % パブリッシュ

Topic のサブスクライブ（画像認識の例）

MATLAB
Simulink

imSub = robotics.ros.Subscriber(‘/kinect2/sd/image_color’); % サブスクライバの生成(callback 無し)
testIm = readImage(receive(imSub)); % サブスクライバの呼び出し & MATLAB画像形式変換© 2019 YASKAWA Electric Corporation

43

Simulink のコーディング例
Topic のパブリッシュ（経路計画の例）

MATLAB
Simulink

パブリッシャブロック

展開

Topic のサブスクライブ（画像認識の例）

MATLAB
Simulink

展開

パブリッシュ
対象のトピック(trajectory_msgs/JointTrajectory)

サブスクライブ
対象のトピック(sensor_msgs/PointCloud2)

サブスクライバブロック© 2019 YASKAWA Electric Corporation

44

MATLAB/Simulink による処理の高速化－事例
Coder の活用

MATLAB
Simulink

MATLAB CoderTM, Simulink CoderTM によりCコード生成
MATLAB Coder の場合※自分でラップROS C++ コード

MATLABm スクリプト

スタンドアロン
C コード

変換
MATLAB CoderTM

ビルド

ROS
catkin
ビルド

ROS node
moduleGCC
MSVS

moduleROS
catkin

ROS node
moduleSimulink Coder の場合※ラップなしも対応※ケースによってはラップあり
Simulinkslx ファイル変換

ROS C++ コード

Simulink CoderTM© 2019 YASKAWA Electric Corporationビルド45

MATLAB/Simulink による処理の高速化－方法
経路計画の事例

MATLAB
Simulink

非線形最適化は Coder により 約7倍 高速化
4.498893 sec
Simulinkslx ファイル

0.650678 sec
スタンドアロン
C コード

変換
Simulink CoderTM

GCC
MSVS

module

トルク計算は Coder により 約415倍 高速化
3.806036 sec
Simulinkslx ファイル

変換
Simulink CoderTM

ROS C++ コード
スタンドアロン
C コード

0.009433 sec

ROScatkin

ROS node
moduleRRT*は Coder により 約20,500倍 高速化
3.644249 sec
MATLABm スクリプト

0.000177 sec

変換

スタンドアロン
C コード

MATLAB CoderTM© 2019 YASKAWA Electric Corporation

GCC
MSVS

module46

アウトライン3. 実装上の Tips1. モチベーション
ROS ToolboxTMとはコーディング方法

ROS-Industrial について高速化方法

ROS+MATLAB 導入のメリット

4. ユーザとしての所感

2. サンプルアプリ
ピック&プレースアプリ概要

良かった点・気になった点

各機能説明

要望

☓MATLAB/Simulink© 2019 YASKAWA Electric Corporation☓47

ユーザとしての所感

TF: 座標変換支援機能

良かった点
高度な画像認識や音声認識等高度な機能との連携が容易
URDF, TF 等周辺ツールのIOにも対応しておりROSとの親和性が高い
シーケンサやブロック化のGUIは StateFlow や Simulink 等に軍配Coderにより高速かつスタンドアロンのROS nodeが生成可能気になった点Coderで変換可能な機能に制約がある
ロボットを変更した際にチューニングを要する箇所が分散している機能によってはツールボックス別にロボットモデルを読み込む必要あり

こんなことができたら嬉しい
MATLAB のモータ等のモデルを Gazebo プラグインとして出力
経路計画部をMoveIt!プラグインとして出力VMWareなしで ROS と MATLAB が連携する事例を見たい→ 現状は ROS が VM 上の Linux で動作する場合のチュートリアルのみ

複数の手法による経路を同時に表示する機能が欲しい© 2019 YASKAWA Electric Corporation

48

コード
• ROS MotoMINI ROS package• https://github.com/ntl-ros-pkg/motoman_apps• MATLAB/Simulink• https://github.com/ntl-ros-pkg/Matlab_ROS_PickPlace© 2019 YASKAWA Electric Corporation

49

MATLAB/Simulink© 2019 YASKAWA Electric Corporation50