1© 2015 The MathWorks, Inc.
モデルを活用した自律移動ロボット・自動搬送システムの開発
MathWorks Japanアプリケーションエンジニアリング部(制御)新井 克明
2
自律移動ロボット/自動搬送システムの分類と特徴
AGV
無軌道型
ランドマーク式
SLAM
有軌道型
レール式
磁気式
[メリット] (特にレール式)• 高速搬送• 振動抑制などのきめ細やかな制御が可能[開発課題]• 高速・高精度な位置制御• 機能検査に大掛かりな設備が必要
[メリット]• ガイドレスで柔軟に経路/台数を変更可能[開発課題]• 複数のセンサー情報を元に判断が必要
• レーザーレーダー(LiDAR) /カメラ / ホイールオドメトリ…etc
• 人・障害物の検出の仕組みと自動停止等の安全機能が必須
3
「移動する」ことが要求されるロボット・搬送システムの開発課題
無軌道型 有軌道型✓ どう地図を作成するか?✓ 自己位置をどのように推定するか?✓ どの経路を通過するか?
✓ 3次元的に効率よくどう搬送するか?✓ 求められる搬送性能を実現するSW/HWは?✓ 設備がないと試せない機能検証をどう行うか?
4
自律移動システム開発を加速化するオプションツール
Computer
Vision Phased Array
Statistics and Machine
Learning™
Control System
Toolbox™
Stateflow®Robotics System
Toolbox™
Data Acquisition
Toolbox™HW Support
Packages
Simscape™
CommunicationsWLAN
Simulink®
Real-Time™
Robotics System
Toolbox
Deep Learning
Automated
Driving
Model Predictive
Control Toolbox
Simulink Coder™ HDL Coder™MATLAB® Coder™ GPU Coder™
5
事例:Clearpath Roboticsが産業用ロボットのアルゴリズム開発を加速
課題産業用ロボットのレーザーベースの認識、コンピュータービジョン、走行管理、制御アルゴリズムを短期間で開発する
解決策MATLABを、ROSデータの可視化と解析、プロトタイピング、最新のロボット研究のアルゴリズムの適用に活用
結果▪ データ解析時間が最大50%短縮
▪ 顧客とのコミュニケーションを効率化
▪ 最新の自動運転アルゴリズムを素早く組み込み
“ROS is good for robotics research and development, but not for
data analysis. MATLAB, on the other hand, is not only a data
analysis tool, it’s a data visualization and hardware interface tool
as well, so it’s an excellent complement to ROS in many ways.”
- Ilia Baranov, Clearpath Robotics
Link to user story
An OTTO self-driving vehicle from Clearpath Robotics.
6
アジェンダ - モデルを活用した自律移動ロボット・自動搬送システムの開発 -
▪ 無軌道型自律移動ロボットの開発
– 自己位置推定とパスプランニング
▪ 有軌道型自動搬送システムの開発
– 車両ダイナミクスのデザインと制御設計
– リアルタイムシミュレータでのテスト
▪ まとめ
7
自律移動ロボット/自動搬送システムの分類と特徴
AGV
無軌道型
ランドマーク式
SLAM
有軌道型
レール式
磁気式
[メリット]• ガイドレスで柔軟に経路/台数を変更可能[開発課題]• 複数のセンサー情報を元に判断が必要
• レーザーレーダー(LiDAR) /カメラ / ホイールオドメトリ…etc
• 人・障害物の検出の仕組みと自動停止等の安全機能が必須
SLAM・パスプランニングなどの高度なアルゴリズムの検討[メリット] (特にレール式)• 高速搬送• 振動抑制などのきめ細やかな制御が可能[開発課題]• 高速・高精度な位置制御• 機能検査に大掛かりな設備が必要
8
SLAMによる地図構築
▪ SLAM(Simultaneous Localization and Mapping)とは?– 自己位置推定と地図作成を同時に行う方法
– LiDAR(レーザーセンサー)や複数のセンサーを統合して推定
[𝑥1 𝑦1 𝜃1]
初期姿勢
Lidarスキャン
次の姿勢
[𝑥2 𝑦2 𝜃2]GPS
慣性計測装置(IMU)
スキャンマッチング
ホイールエンコーダー(Odometry)
使用するセンサー
9
LiDARの点群データの読み込み
.pcap
VeloView
velodyneFileReader()
Calib.xml
MATLAB/Simulink
rossubscriber()
Robotics System Toolbox
Automated Driving System Toolbox™
Velodyne LiDAR(HDL-64E/HDL-32E/VLP-16)
RCP-HW (Speedgoat)
UDP
Simulink Real-Time
SimulinkRealTime.fileSystem
10
%% LiDARデータの変形 (回転・平行移動 etc.)ptCloudT = pctransform(ptCloud, tform);%% 2つのLiDARデータの、マージptCloudM = pcmerge(ptCloud1, ptCloud2, mergeSize);%% 道路面を検出model1 = pcfitplane(ptCloud, maxDistance);
LiDARの点群データの処理
▪ ノイズ除去
▪ 点群データの間引き
▪ 幾何学形状(面等)へのフィッティング
▪ 一定の距離に含まれる点のみの抽出
▪ 複数のデータの位置あわせ(ICP、NDT)
▪ 複数のデータのマージ
▪ クラスタリング
Automated Driving System Toolbox
物体を認識し、それぞれを別々の色で表示
11
LiDARの点群データの位置合わせ
▪ 2Dのスキャンマッチング– matchScans (R2017a)
– matchScansGrid (R2018a)
▪ 3Dのスキャンマッチング– pcregrigid
– pcregistericp (R2018a)
– pcregisterndt (R2018a)
Robotics System Toolbox Computer Vision System Toolbox
12
SLAMの閉ループ問題
▪ 自己位置を逐次推定するため誤差が蓄積
▪ ロボットが経由した場所を目印として保持⇒ポーズグラフ(姿勢グラフ)
▪ 最適化で誤差の蓄積を抑える
目印
[𝒙𝟏 𝒚𝟏 𝜽𝟏]
[𝒙𝟐 𝒚𝟐 𝜽𝟐]
[𝒙𝟑 𝒚𝟑 𝜽𝟑]
[𝒙𝟒 𝒚𝟒 𝜽𝟒]
グラフを閉じて、最適化により誤差低減
13
2D LiDAR SLAMの実行例Robotics System Toolbox
Computer Vision System Toolbox
14
地図データの生成:スキャンデータをグリッドマップ化
buildMap
Robotics System Toolbox
地図データを生成し、パスプランニングに活用可能
16
自己位置推定のアルゴリズム
robotics.MonteCarloLocalizationmatchScansGrid
パーティクルフィルターによる位置推定スキャンマッチングによる位置推定
Robotics System Toolbox
17
自己位置推定のためのセンサーフュージョン検討
可視化と精度指標 コード生成とハードウェア接続1
1 アドオンでサポート
センサーシミュレーションとシナリオ生成 トラッキングと位置推定のアルゴリズム
Sensor Fusion and Tracking Toolbox
19
パスプランニング
▪ PRM(Probabilistic Roadmap) ▪ RRT*(Rapidly exploring Random Trees)
planner = robotics.PRM;
Toolbox内蔵のパスプランニングアルゴリズムを活用してすばやく開発できます
Robotics System Toolbox Automated Driving System Toolbox
planner = pathPlannerRRT;
20
障害物を動的に検知:センサーフュージョン
▪ 走行経路上に人や荷物→地図上に存在しないため適宜、停止や回避が必要
▪ 動体の場合には動きの予測が必要
Computer Vision System Toolbox, Robotics System Toolbox, Automated Driving System Toolbox™
歩行者のトラッキング歩行者の回避
21
アジェンダ - モデルを活用した自律移動ロボット・自動搬送システムの開発 -
▪ 無軌道型自律移動ロボットの開発
– 自己位置推定とパスプランニング
▪ 有軌道型自動搬送システムの開発
– 車両ダイナミクスのデザインと制御設計
– リアルタイムシミュレータでのテスト
▪ まとめ
22
自律移動ロボット/自動搬送システムの分類と特徴
AGV
無軌道型
ランドマーク式
SLAM
有軌道型
レール式
磁気式
[メリット]• ガイドレスで柔軟に経路/台数を変更可能[開発課題]• 複数のセンサー情報を元に判断が必要
• レーザーレーダー(LiDAR) /カメラ / ホイールオドメトリ…etc
• 人・障害物の検出の仕組みと自動停止等の安全機能が必須
ダイナミクスのシミュレーションを活用したシステム検討
[メリット] (特にレール式)• 高速搬送• 振動抑制などのきめ細やかな制御が可能[開発課題]• 高速・高精度な位置制御• 機能検査に大掛かりな設備が必要
23
移動ロボット/搬送システムのモデリング
クローラー 脚型ロボット ロボットアームドローン 人型ロボット2輪車両車両
CADインポート 接触・摩擦
Contact Forces Library(File Exchangeより無料で入手可能)
悪路走行
詳細タイヤモデル:Delft-Tyre(TASS International株式会社様が提供)
Simscape Multibody
24
有軌道搬送システムで利用できるライブラリ
ベルト駆動による昇降 カーブ・点拘束によるレール軌道
Belts and Cables ライブラリ
/
Simscape Multibody
25
有軌道型搬送システムのシミュレーション
▪ シミュレーションを活用して搬送システムの制御・メカ機構を同時に検討
制御アルゴリズム メカ機構モデル
26
Simscape Multibodyでのモデリングの流れ
自由度
拘束条件
マニュアル
CAD
剛体部品の定義
位置・角度の定義
自由度・拘束の設定
シミュレーション
27
自由度を変えることで搬送システムで想定される「揺れ」を再現
1自由度 2自由度 6自由度
28
要求性能を実現するためのハードウェアスペックの検討
性能を実現するのに必要となる力・トルクの推定 他の物理ドメインを直接接続して性能検討 (*1)
形状・寸法・重さの変更による性能差の確認
力/トルクの入力
位置・速度の計測
マルチボディダイナミクス
電気・電子回路
Simscape Multibody*1 Simscape シリーズ
形状のパラメータ化で性能に及ぼす影響を検討できます
29
制御目的に適した手法を用いてコントローラを設計できます
モーター制御のライブラリ
アドバンストな制御 ロジックベースの制御最適化計算による自動チューニング
線形制御理論による補償器設計
座標変換
PWM発生器
フィルター デッドタイム
補償器(PID、ノッチフィルタなど)
補償器設計のUI(時間応答、周波数応答)
制御パラメータ全般
パラメータ自動調整のUI(応答制約を満たすように最適化)
フィードバック制御系の設計 シーケンス制御系の設計
S1
S2S3
ゲインスケジューリング(各動作点で制御ゲインを切替)
制御モードの切替
モデル予測制御(プラントモデルで未来の挙動予測) 状態遷移図のUI
(遷移動作を動画で確認)
30
搬送システムのモードロジック設計Simscape Multibody
Stateflow
31
リアルタイムシミュレータによるコントローラの機能検証
▪ HIL (Hardware-In-the-Loop) テストで実機を模擬したテスト環境を構築– 後手になりがちなソフトウェアデバッグを実機でのテストの前に実施
実機テスト
制御基板製作
実機での評価・適合
アルゴリズム実装 &
基板作成
実機挙動を再現したモデルをシミュレータに実装
実際のコントローラと制御対象を用いた機能・性能評価
HILシミュレータ
シミュレータでの
入念な機能検証を経て
実機による本テストに移行量産/試作ECU
HILシミュレータによるコントローラの機能評価
量産/試作ECU
プラントモデル
実際の制御対象
HILSシミュレータを活用した
コントローラの機能評価
32
搬送システムコントローラに対するHILテストの適用
▪ 制御基板・コントローラの機能検証を実機レスで行えます– メリット
✓ 実際の設備(レール・搬送装置)が不要
✓ 実際のテスト環境に近い環境でデバッグが可能
✓ 前倒し検証で実機テスト完了遅延リスクを低減
HILシミュレータ (Speedgoat)
SimscapeのCコード生成機能で
搬送システムモデルをシミュレータへ実装
システム制御装置 /搬送車両コントローラ
Simscape MultibodySimulink Real-Time
33
アジェンダ - モデルを活用した自律移動ロボット・自動搬送システムの開発 -
▪ 無軌道型自律移動ロボットの開発
– 自己位置推定とパスプランニング
▪ 有軌道型自動搬送システムの開発
– 車両ダイナミクスのデザインと制御設計
– リアルタイムシミュレータでのテスト
▪ まとめ
34
車両ダイナミクス外界環境
自律移動ロボット/自動搬送システムの開発を強力に支援します
制御• 車両制御• システム制御
センサー
物体検出• 画像認識
(ディープラーニング)
判断・意思決定• パスプランニング
状況認識• 地図表現/SLAM• 障害物検知
(センサーフュージョン)• 自己位置推定
w
x
y
MATLAB/Simulinkを自律システムのアルゴリズムの開発にお役立てください!
自律移動ロボット
自動搬送システム
本セッションので紹介
本セッションの
で紹介
35
Accelerating the pace of engineering and science
© 2018 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.