2023月9月11日（月）実例から学ぶMATLABおよびSimulinkのロボティクス開発ソリューション
MathWorks Japan能戸フレッド© 2023 The MathWorks, Inc.
1

製品
MATLABは、アルゴリズム開発、データ解析、可視化、数値計算のためのプログラミング環境
Simulinkは、システムの設計、シミュレーション、テストを行うためのグラフィカル環境
100以上の専門タスクに特化したアドオンツール2

自律ロボティクス開発の課題

マルチドメイン知識の必要性アルゴリズム
複雑性

安全性・品質の確保

エンド・トゥ・エンド
ワークフロー3

自律ロボティクス開発ワークフロー
3Dシミュレーション

Simulink®
MATLAB®
システムエンジニアリング
System Composer™
連成

プラットフォーム設計

シーン・環境AI・自律系設計

オブジェクト・アクター

ロボットとの接続

ロボットモデル

認識・自己位置推定

制御

モーションプランニングテスト

ハードウェアへの実装

検証と妥当性確認
実装

Raspberry Pi™

ASIC, FPGANVIDIA® Jetson®

PLC

ROS Nodes

PX4 Autopilot

Speedgoat4

マニピュレータ

モバイルロボット

ドローンマリンロボット
5マニピュレータ

6京セラ、モデルベースデザインによる人協働多軸ロボットの開発環境を構
築課題
人協働多軸ロボットを用いた多品種生産の現場では、専用ロボットハンドの設計と試作、実機試験を繰り返すことが多く、生産工程の迅速な立ち上げが求められた

ソリューション
▪

▪

MATLABを活用し、ロボットコントローラの設計における逆運動学や軌道計画、ロボットハンドやワークとの接触モデルを構築、実機ロボットと連携モデルを統合し、試作レスで把持動作を検証
ハンドとアームを統合したシミュレーションおよび実機実装

結果▪ 試作開発の設計から検証までにかかる期間を削減▪ バーチャルからリアルまでシームレスに対応できる設計・検証環境を構築▪ ROS対応ロボットとの容易な連携
詳細はこちら

MATLABとSimulinkのよいところは製品機能の高さと、多彩なインタフェースを持つことです。
仮想開発環境を構築し、さらにROSと連携することで迅速な実機展開が可能となりました。
7

Italian Institute of Technology Develops Advanced Control
Software for the iCub Humanoid Robot
Challenge
Design and implement control algorithms for ahumanoid robot with 53 degrees of freedom

Solution
Use Model-Based Design to develop controllers,verify them via cosimulation, and test them on
the robotResults▪ Telexistence and agent-robot collaboration
control systems developed▪ Independent robot operation implemented withgenerated code
▪ Control design reused on multiple humanoid
robot platforms

Clockwise from top left: iCub shooting arrows, striking ayoga pose, walking while controlled via teleoperation, andworking with a human to stand up.

“Our team has created a development workflow based onSimulink and Simulink Coder that makes it possible for eveninexperienced team members to rapidly implement newcontrol features, validate them through simulation, and run
them on an iCub robot without writing any low-level code.”- Daniele Pucci, Italian Institute of Technology (IIT)

Link to technical article
8

JUNIA Develops Autonomous Pediatric Exoskeleton for Children
with Severe Neurological Disorders
Challenge
Develop a lower limb exoskeleton to be used as a physicaltherapy tool for children with cerebral palsy.

SolutionUse MATLAB, Simulink, and Simscape Multibody to model
motor dynamics and design motor controllers. Conduct realtime testing of prototype hardware with Speedgoat.

Key Outcomes▪ Development was accelerated through Model-Based
Design with MATLAB and Simulink▪ Total prototyping time was cut in half using Simulink RealTime and Speedgoat real-time target machine▪ Collaboration was successful between clinicians andpartners in exoskeleton testing using the designed interface
with MATLAB App Designer
Link to feature story

Model of the JUNIA exoskeleton. (Image credit: JUNIA HEI)

“We found that Simulink Real-Time is the best
choice because you can design whatever model
you want, whatever control algorithm you want,
and you can apply it quickly to your prototype.”— Yang Zhang, postdoctoral researcher at
JUNIA HEI
9

ゲーミングエンジン連携による3Dシミュレーション
ロボットモデルをインポートして３Dシミュレーションで動作確認– システムの挙動を3次元空間で可視化し直感的に動作を確認– センサーモデルも含めた閉ループシミュレーションによる検証

Automate Virtual Assembly Line with Two Robotic Workcells - MATLAB & Simulink - MathWorks 日本

10

ドローン

11

ヤマハ発動機、ドローン向けシリーズハイブリッドシステムをモデルベースデザインで開発し、飛行試験を実施
課題▪ ドローン向けのシリーズハイブリッド(SHEV)システムを開発し大型ドローンでの搭載検討を行う
ソリューション
▪ プロペラや機体の特性を同定しモデルを構築▪ 飛行アルゴリズムを自動コード生成でPixhawk®に実装▪ シリーズハイブリッドシステムと結合テスト(HILS)
結果▪ ドローンおよびシリーズハイブリッドシステムをモデル化することで机上で制御成立性を検証▪ 自動コード生成と結合テスト(HILS)により実機試験を安全かつ効率的に実施
詳細はこちら

大型SHEVドローンのためのV字制御開発プロセスドローン、シリーズハイブリッドシステムをモデル化することで制御の机上検討が可能となりました。
UAV ToolboxとPixhawk®を活用することでVプロセスに沿ったドローンのモデルベースデザインを実現することができました。
12

University of Naples Researchers Simulate Autonomous Landing
for UAVs
Challenge
Improve autonomous approach and landing for UAVs inchallenging, low-visibility conditions such as fog, rain, or nightSolution
Develop perception algorithms using MATLAB and simulatelanding conditions using Simulink to support design,development, and testing of solutions

Results▪

▪

▪

Developed vision-aided, multisensor-based navigationarchitecture to support autonomous UAV landing
Created simulations that are easier to design and control,
can include a wide variety of system parameters, and are
better representative of real-world urban environments
Developed perception algorithms capable of producing
reliable pose estimates under low-visibility conditions andcapable of crosschecking the integrity of GNSS
measurements

A landing pad equipped with an AprilTag marker to facilitate
an autonomous aircraft’s pose estimation.

“One key feature of MATLAB that makes it very useful for ourwork is the support, help, and functionality of MATLAB, which
is very clear, comprehensive, and easy to use. For us andour students, this makes MATLAB useful.”

Link to article- Roberto Opromolla, PhD, University of Naples
13University of Naples Researchers Simulate Autonomous Landing
for UAVs
Challenge
Improveapproach and landing for UAVs in
UnrealautonomousEngine連携
challenging, low-visibility conditions such as fog, rain, or night

機能を使用した様々なSolution
テストケースでのDevelop perception algorithms using MATLAB and simulate
自律着陸アルゴリズム
landing conditions using Simulink to support design,の評価
development, and testing of solutionsResults▪

▪

▪

Developed vision-aided, multisensor-based navigationarchitecture to support autonomous UAV landing
Created simulations that are easier to design and control,
can include a wide variety of system parameters, and are
better representative of real-world urban environments
Developed perception algorithms capable of producing
reliable pose estimates under low-visibility conditions andcapable of crosschecking the integrity of GNSS
measurements

A landing pad equipped with an AprilTag marker to facilitate
an autonomous aircraft’s pose estimation.

“One key feature of MATLAB that makes it very useful for ourwork is the support, help, and functionality of MATLAB, which
is very clear, comprehensive, and easy to use. For us andour students, this makes MATLAB useful.”

Link to article- Roberto Opromolla, PhD, University of Naples
14

SkyDrive、実機検証が難しい「空飛ぶクルマ」開発でシミュレーション環境を活用「空飛ぶクルマ」のフライトコントロールユニット(FCU)開発やバッテリー及びバッテリーマネジメントシステムでシミュレーション環境を構築し、開発効率を高めています。

主な成果/利点:▪ FCUの開発でMATLAB、Simulinkを用いた制御設計を行なうことで開発を効率化▪ バッテリー及びバッテリーマネジメントシステム開発で、バッテリーの温度変化などをシミュレーションで検証▪ システム全体へのシミュレーション適用を進め、MBSEを用いた短期間ハイブリッド開発プロセスと安全性検証を進める計画

制御設計やソフト設計でモデルベースデザインを適用、今後は検証や評価段階での活用を進める

電気で動作する空飛ぶクルマや物流ドローンでは、バッテリーの温度管理が重要な要素となります。バッテリーの充電量の変化や温度変化のシミュレーションにMATLAB、Simulink、Simscapeを活用し、設計初期段階での効率的な開発やモデルを元にした自動コード生成を実現しています。
15

Cesiumとの連携
Unrealのための3次元地理空間システム
••

•
•
•

WGS84測地系でのフルスケールかつ地理空間的に正確なモデル
地上から軌道高度までシームレスに視覚化
実行時に指定された場所の現実世界の3次元地形トポロジを作成
シーンを正確なマップ テクスチャでオーバー
レイ
実行時にシーン内に建物を生成

https://jp.mathworks.com/help/aeroblks/visualize-with-cesium.html

16

センサーモデルと統合されたシミュレーション

Link

17

リアルタイムハードウェアによるHILSテスト
PX4オートパイ
ロットへの実装

Unrealシミュ
レーション実行

Jetsonに自律アルゴリズムを実装

Simulink機体
ダイナミクスを実行

QGroundControlでミッション開始

Link18モバイルロボット19

Airbus Develops Autonomous Control Systems for the Mars
Sample Fetch Rover Using Model-Based Design
Airbus Defence and Space engineers are using Simulinkand Embedded Coder to accelerate the development ofcomputer vision, machine learning, and autonomous
control algorithms for the Mars Sample Fetch Rover.

Key Outcomes▪ Design, verification, and testing of autonomous control
software accelerated▪ Human errors in implementation reduced via code
generation▪ Machine learning-based visual detection algorithms
developed to locate samples

As part of the Mars Sample Return (ESA-NASA) mission, Airbus
Defence and Space UK is developing the Mars Sample Fetch Rover.

Fast development is key in this project. Airbus has
been developing algorithms in MATLAB that serve as
the basis for automatically generating the flightsoftware, as well as all the documentation that isneeded.
Link to user story

20

MIT Develops More Reliable Algorithm for Robots Navigating
New Spaces
Challenge
Ensure that simultaneous localization and mapping(SLAM) algorithms produce correct results in challenging
real-world conditions

Solution
Develop the graduated nonconvexity (GNC) algorithm,
which reduces the random errors and uncertainties in
SLAM results

A delivery robot.

Key Outcomes▪ GNC produces correct results where existing methods“get lost.”▪ GNC algorithm made available to MATLAB users inNavigation Toolbox.

Link to feature story

In real applications, the robot faces many outliers,
which can make up more than 90% of allobservations. That’s where the GNC algorithm
comes in and outperforms all competitors.

21

デジタル標高図使ったオフロードパスプランニング
地表面を定義障害物を定義マップレイヤに格納

パスプランニ
ング

結果の比較
解析

現実のDEM
上でのプランニング

Link to Example

22

オフロード車両の３Dシミュレーション

1X
23マリンロボット24

KTH Royal Institute of Technology Researchers Develop Control
Algorithms to Simulate AUV Hydrobatics
Challenge
Improve the autonomous capabilities of AUVs that operate
remotely and at depth
Solution
Develop control algorithms using MATLAB and Simulink
that allow researchers to simulate complex AUV
maneuverabilityResults▪ Developed effective control strategies that help theAUV perform complex maneuvers in real-world tests▪ Developed vehicle motion simulations in Simulink thatrun in close-to-real-time and are sufficiently accurate
to model qualitative behaviors▪ Increased the pace of AUV research by rapidlysimulating, optimizing, and implementing control
algorithms before field-testing

Submerged hydrobatic AUV SAM (above) anda 3D representation of the vehicle (below).

“Finding an effective control strategy for complex maneuvers
would have been extremely difficult if we were limited to solely
conducting tests with the AUV itself. Via simulation, however,we were able to rapidly try various MPC designs andcombinations of PID controllers, as well as generate detailed
plots of the simulation results in MATLAB to see which approach
worked best.”- Ivan Stenius and Sriharsha Bhat, KTH Royal Institute of Technology

Link to article
25

Drass Develops Deep Learning System for Real-Time Object
Detection in Maritime Environments
Challenge
Help ship operators monitor sea environments and detectobjects, obstacles, and other ships

Solution
Create an object-detection deep learning model that canbe deployed on ships and run in real timeResults▪ Data labeling automated▪ Development time reduced▪ Flexible and reproducible framework establishedFirst day of object detection tests with optronic systemprototype.

“From data annotation to choosing, training, testing,and fine-tuning our deep learning model, MATLAB
had all the tools we needed—and GPU Coderenabled us to rapidly deploy to our NVIDIA GPUs
even though we had limited GPU experience.”- Valerio Imbriolo, Drass Group
Link to user story

26

計測データを使った波力解析

Simscape Multibody

CAD取り込み
3次元的なイナーシャの再現

3次元機構モデル

IMU等計測データ
から逆動力学解析⇒波から受ける力及びトルクを逆算

逆算された
力学解析結果重心位置の設計や波のモデリングに活用

計測した
船の挙動

27

マリンロボットの３Dシミュレーション

28

Bridging ROS / ROS 2 with MATLAB and Simulink
ROS Network❷ ROS Connection

Perception

MATLAB

Prototyping

ROS

ROS 2Simulator

Planning &decision

Control

Simulink

Deployment❸ ROS nodegeneration
Standalone implementation(C++ node generation)

Windows/Mac/Linux
Offline Analysis❶ rosbag import

ROS/ROS2nodesrosbag

Realhardware

LinuxROS
ROS 2

Offline analysis

MATLAB/Simulink

ROS PC29

自律ロボティクス開発ワークフロー
3Dシミュレーション

Simulink®
MATLAB®
システムエンジニアリング
System Composer™
連成

プラットフォーム設計

シーン・環境AI・自律系設計

オブジェクト・アクター

ロボットとの接続

ロボットモデル

認識・自己位置推定

制御

モーションプランニングテスト

ハードウェアへの実装

検証と妥当性確認
実装

Raspberry Pi™

ASIC, FPGANVIDIA® Jetson®

PLC

ROS Nodes

PX4 Autopilot

Speedgoat30

自律ロボティクス開発ワークフロー
3Dシミュレーション

Simulink®
MATLAB®
システムの定義
System Composer™

プラットフォーム設計•車体ダイナミクス•マルチボディモデリング•車輪接触・摩擦•CAD/URDFのインポート•ロット運動学モデル•センサーモデル•システム要求仕様の策定・改善・管理•システム アーキテクチャモデリング•アーキテクチャ分析とトレードオフ分析•インターフェース定義•システム動作の検証

連成

シーン・環境AI・自律系設計

認知•調停(スーパーバイザー)
設計•モータ制御•PID制御•モデル予測制御•最適化•環境要素、物体や障害物•動的障害物の軌道定義•シナリオアクター（人間、他ロボット、等）

オブジェクト・アクター

ロボットとの接続•センサーフュージョン
•コンピュータビジョン / ライダー処理•物体・障害物の検出・トラッキング•セグメンテーション / 分類
•物体姿勢推定•SLAM (自己位置推定 & マップ作成)

ロボットモデル

制御

•動作環境
•照明条件
•可変レイアウト•シーンアセット作成•外部3Dシミュレータ（Gazebo、Unreal Engine®、Unityなど）•ROS/ROS 2による接続•ハードウェアによるアルゴリズムのテストと検証•ロボットハードウェアの制御•実センサデータの取得•他のモバイルロボットのROS/ROS 2経由での接続

テスト•経路計画・最適化•障害物 / 衝突回避
•経路の動的再計画•パスメトリクス•強化学習

ハードウェアへの実装

モーションプランニング

検証と妥当性確認•要求項目のトレーサビリティ•モデル標準•テストカバレッジ解析•設計エラー検出（ランタイムエラー、デッドロジック）•静的コード解析•レポート作成/証明書作成

実装

PX4 Autopilot

NVIDIA® Jetson®

Raspberry Pi™

ASIC, FPGAROS Nodes

Speedgoat•自動コード生成（C,C++,Verilog,VHDL,ST,CUDA,他）•ROS/ROS 2用C++ノードの自動生成•プロセッサー・イン・ザ・ループ（PIL）、ハードウェア・イン・ザ・ループ（HIL）
テスト•統合ハードウェア・テストのための実装

31

自律ロボット開発関連MathWorks製品
3Dシミュレーション

Simulink®
MATLAB®
システムの定義

RoadRunner

UAV Toolbox™
System Composer™

Requirements Toolbox™

連成

Automated Driving Toolbox™

Robotics System Toolbox™

プラットフォーム設計

AI・自律系設計
Computer Vision Toolbox™

Simscape™

ROS Toolbox

Deep Learning Toolbox™

Simscape Electrical™

Sensor Fusion and Tracking Toolbox™

Aerospace Blockset™

Navigation Toolbox™

Stateflow®

Robotics System Toolbox™

Simulink Control Design™

UAV Toolbox™

Robust Control Toolbox™

Deep Learning Toolbox™

Optimization Toolbox™

Reinforcement Learning Toolbox™

テスト

Simulink Design Verifier™

Simulink Test™

Polyspace®

Simulink Check™

IEC Certification Kit™

Simulink Coverage™

DO Qualification Kit™

RoadRunner Asset Library

Instrument Control Toolbox™

Robotics System Toolbox Support
Package for Universal Robots UR
Series Manipulators

Parrot® Drone Support fromMATLAB

Robotics System Toolbox Support
Package for KINOVA Gen3
Manipulators

ハードウェアへの実装

検証と妥当性確認
Requirements Toolbox™

RoadRunner Scenario™

ロボットとの接続

Lidar Toolbox™

Simscape Multibody™

RoadRunner Scene Builder

実装

Embedded Coder®

Simulink PLC Coder™

GPU Coder™

ROS Toolbox

HDL Coder™

Simulink Real-Time™

32

まとめ
1. MATLAB・Simulinkはロボット設計及び自律アルゴリズム開発を支援する
豊富な機能・ツールを総合開発環境内で提供
2. センサーモデルを含むシステムシミュレーションを行うことにより実機試験のリスク・コスト・工数の低減可能
3. エンド・トゥ・エンドワークフローによるプロトタイピングから量産の開発・検証プロセスを効率化

33

Accelerating the pace of engineering and science© 2023 The MathWorks, Inc. MATLAB and Simulink are registered trademarks of The MathWorks, Inc. See
www.mathworks.com/trademarks for a list of additional trademarks. Other product or brand names may be
trademarks or registered trademarks of their respective holders.

34