ROSCon JP 2021 東京 2021年9月16日(木) 17:05 ～Gazebo を用いた施工シミュレータの開発～簡易地形モデルを用いた地形変形プラグインの実装～

株式会社 日立製作所 研究開発グループ

西澤 匡士© Hitachi, Ltd. 2021. All rights reserved.

Contents
1. 目的
2. シミュレータ開発方針

3. シミュレータ開発•

簡易施工ロジック•

システム構成4. デモ動画ご紹介
5. 課題
6. まとめ© Hitachi, Ltd. 2021. All rights reserved.

1

１．目的

ROSの産業応用：建設機械の自動化機能の開発環境
課題：自動化機能開発に適したシミュレーション環境の整備
土砂のシミュレーション
様々な施工現場での周囲認識
複数の建設機械による協調動作
スケール(シミュレーションの規模）

••
•

～1kｍ
•
•

～100ｍ～10ｍ••

動作シミュレーション
仮想センサでのセンシング評価
複数建機の協調動作評価••

現場シミュレーション
生産性評価
配車管理

単体シミュレーション
構造解析
掘削反力計算開発ターゲット～seconds～minutes
時間(工期）～days, months© Hitachi, Ltd. 2021. All rights reserved.

2

２．シミュレータ開発方針

地形変化・協調作業・実時間処理が可能なシミュレータ
 建設機械の動きに連動して地面が変形すること
目標：掘削・放土・整地が可能なシミュレータ

 複数の建設機械で施工ができること

目標：2台以上の建設機械が動作可能

 可能な限り実時間処理できること

目標： 1秒に１回以上の地形更新が出来る© Hitachi, Ltd. 2021. All rights reserved.

3

３．シミュレータ開発

簡易施工ロジックとGazeboプラグイン化で施工シミュレータを実現
簡易施工ロジックの考案

Gazeboプラグイン化• 地面をグリッドマップでモデル化• Model/Worldに対応したプラグイン• 土量の収支のみ考慮•

Model側：施工指令管理/土量管理/軌跡管理• 地面と機械の干渉を計算して地形を更新•World側：地形データの管理/地形モデルの更新※使用ライブラリ
Grid Map Library：https://github.com/ANYbotics/grid_map© Hitachi, Ltd. 2021. All rights reserved.

4

３．シミュレータ開発 ～ 簡易施工ロジック（掘削）～

ショベルバケットの先端軌跡と地面の高さを比較*ショベルを対象に検討
ブーム

アーム
バケット

バケット先端𝑧𝑧𝑦

バケット
現在位置

𝑦
バケット
1ステップ前の位置

𝑥𝑥
バケット軌跡から矩形領域を作成

地形グリッドとバケット高さを比較
バケット高さ＜地形グリッドの値→バケットの高さに値を更新© Hitachi, Ltd. 2021. All rights reserved.

5

３．シミュレータ開発 ～ 簡易施工ロジック（放土）～放土形状を円錐と仮定し地面グリッドに高さ値を付与

バケット
現在位置

𝑉:バケット内の土量
𝑟:放土円（固定）ℎ𝑠𝑜𝑖𝑙 :放土高さℎ𝑠𝑜𝑖𝑙 =ℎ(𝑖) = ℎ𝑠𝑜𝑖𝑙 1 −𝑧3𝑉𝜋𝑟 2

Δ𝑋𝑖2 +Δ𝑌𝑖2𝑟𝑧𝑦𝑥(𝑋0 , 𝑌0 )バケット位置を中心とした円形領域を取得

𝑦𝑥(𝑋𝑖 , 𝑌𝑖 )円錐形状を仮定して円形領域内のグリッド高さを更新© Hitachi, Ltd. 2021. All rights reserved.

6

３．シミュレータ開発 ～ 簡易施工ロジック（整地）～

掘削ロジック＋放土ロジックにより整地動作をモデル化

ブレード
1ステップ前の位置

ブレード
現在位置

𝐻𝑠𝑜𝑖𝑙𝑧𝑦

ブレード
1ステップ前の位置

𝑥
ブレード
現在位置

ブレード軌跡から矩形領域を作成

𝑦𝑧𝑥

掘削
放土𝑣Δ𝑡𝑣Δ𝑡

矩形内のグリッドをブレード高さで更新（掘削）＋機械前方のグリッドに高さを加算する（放土）© Hitachi, Ltd. 2021. All rights reserved.

7

３．シミュレータ開発 ～ システム構成 ～Model-Worldプラグイン間通信で複数機械の施工を実現◼
◼

ROS Pub/Sub通信

Modelプラグイン：建設機械モデルに毎に用意
Worldプラグイン：シミュレータ全体で1つ用意

Modelプラグイン
Modelプラグイン
Modelプラグイン

Gazeboモデル生成・削除
スレッド・内部通信

Gazeboモデル
位置履歴管理バケット内土量管理
Subscriber

地形モデル更新/掘削土量（ID,土量）

掘削指示

バケット内土量管理
Publisher
施工指令 Subscriber/joy Subscriber/joy
建設機械への指令

Worldプラグイン/施工指令（ID, 土量, バケット・ブレード位置）

地形グリッドデータ

掘削処理

放土指示

放土処理

整地指示

整地処理
© Hitachi, Ltd. 2021. All rights reserved.

8

３．シミュレータ開発 ～ 実装上の工夫 ～Gazebo APIの制約① 生成済みのSDFモデルのメッシュへのアクセスができない② モデルの生成・削除が非同期

実装上の対策
① 地面を更新するときは新規で地面モデルを生成② 新しい地面を生成してから古い地面を削除（建設機械の落下防止）＋α 数ステップに一度、地面モデルの生成を行うことで処理を分散実装の参考:ASV Wave Simulator

https://github.com/srmainwarin
g/asv_wave_sim© Hitachi, Ltd. 2021. All rights reserved.

9

４．デモ動画：掘削・放土・整地デモ

ショベルの動作に合わせた掘削・放土・整地動作を実現◼ OS: Ubuntu 18.04 LTS◼ ROS：Melodic◼ Gazebo:9◼ PC: i7(3.2GHz×6) & 32GB RAM◼ ショベル操作：Joystick・位置制御◼ クローラー: 東北大 岡田先生作プラグイン（ROSConJP2019発表）© Hitachi, Ltd. 2021. All rights reserved.

10

４．デモ動画：複数台掘削

複数のショベルによる掘削・放土動作を実現◼ OS: Ubuntu 18.04 LTS◼ ROS：Melodic◼ Gazebo:9◼ PC: i7(3.2GHz×6) & 32GB RAM◼ ショベル操作：Joystick・位置制御◼ クローラー: 東北大 岡田先生作プラグイン（ROSConJP2019発表）© Hitachi, Ltd. 2021. All rights reserved.

11４．課題 ～処理時間～

地形モデルの更新にかかる処理時間に課題
Real time factorが1を割ってしまい、徐々に動作が遅くなっていく結果に・・・
推定要因：メッシュファイルI/O、モデルの生成、SDFモデルのキャッシュの増加・・・

Real time factorの低下

シミュレーション時間[秒]Real time factor

更新時間[秒]

Real time factor

処理時間の増大サンプル数
地形モデル生成の処理時間© Hitachi, Ltd. 2021. All rights reserved.

12４．課題 ～本シミュレータで実現出来ること・出来ないこと～

シミュレータの用途に応じて追加機能のカスタマイズが必要
出来ること

出来ないこと• 地面と機械の土の干渉のシミュレーション• 機械同士の土砂の受け渡し• 仮想センサを用いた掘削後の地面の測定• 長時間/多数機械のシミュレーション

・・・© Hitachi, Ltd. 2021. All rights reserved.

13

５．まとめ

地形変化・協調作業・実時間処理が可能なシミュレータ
 建設機械の動きに連動して地面が変形すること
目標：掘削・盛土・整地が可能なシミュレータ
結果：簡易施工ロジックにより達成

 複数の建設機械で施工ができること
目標：2台以上の建設機械が動作可能
結果：2台での地形プラグイン動作を確認
 可能な限り実時間処理できること

目標： 1秒に１回以上の地形更新が出来る
結果：1秒に１回以上の地形更新可能（5分程度）© Hitachi, Ltd. 2021. All rights reserved.

14

ご清聴ありがとうございました！

Gazebo を用いた施工シミュレータの開発～簡易地形モデルを用いた地形変形プラグインの実装～
株式会社 日立製作所 研究開発グループ

西澤 匡士

tadashi.nishizawa.rh @ hitachi.com© Hitachi, Ltd. 2021. All rights reserved.

15