Skip to content

iwata-lab/zx120_Simulator_OPERA

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

40 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Simulator on Unity + PhysX communicating with ROS

これは,Unity と PhysX を使用し,ROS と通信する遠隔操縦シミュレータです.zx120の遠隔操縦がメインになっています.

概要

このシミュレータは,土木研究所が提供するOPERA(Open Platform for Engineering Resources of Applications)をベースにしています.OPERAは,建設機械の自動化・自律化のための研究開発プラットフォームです.OPERAプロジェクト内で使用されています.

インストール方法

詳しくは元のOPERAシミュレータのリンクを参照

  1. Unity(ver:2022.3.4f1)のダウンロード
  2. UnityHubからダウンロードしたシミュレータを開く
  3. Asset/Scenes/SampleScene.unityを開く

本シミュレータの特徴

zx120用遠隔操縦ステージの作成

zx120の遠隔操縦を目的としたステージの作成を行いました.

image

ゲームシーンを再生すると,以下のような3画面から構成される画面を見ながらzx120の操縦を行うことができます. image

固形対象物の把持配置

油圧ショベルによる標準的な作業として,主に実現場での掘削積込作業を想定したモデルタスクとして,固形対象物の把持配置タスクを設定しました.ここでは,油圧ショベルは作業対象の前まで走行し,対象物をアーム,ブーム,バケットを操縦して持ち上げ,所定の位置に配置することを一連のタスクとしています.(動画:2倍速)

Carry.mp4

土木研究所 技術推進本部先端技術チーム,「大規模土砂災害等に対する迅速かつ安全な機械施工に関する研究」 https://www.pwri.go.jp/jpn/results/report/report-project/2013/pdf/pro-2-7.pdf

掘削作業

土砂に見立てたボールプールを作成し,掘削積込のタスクを設定しました.zx120から多くの土砂を積み上げ,ダンプに積み込むまでを一連のタスクとしています.BallGeneratorというオブジェクトのスクリプトのオンオフで管理しています.処理が非常に重いので再生時に数秒のカクツキが起きます.動作がスムーズにいかない場合はスクリプトをオフにしてください.(動画:2倍速)

kussaku.mp4

サウンドの追加

操縦時の駆動音や,障害物に衝突したときのサウンドを付与しています. zx120は”Obstacle”のタグがついたオブジェクトに衝突したときのみサウンドを再生するように設定されています.

景観の設定

草木を配置しました.実験時に不要な場合はHierarchy内のTreesを非表示にしてください.

油圧ショベルの操縦

本シミュレータでは縦旋回と呼ばれる操縦方式を採用しています.

ROSを使用しない場合

Hierarchy内のzx120Controllerというオブジェクト内のzx120Controller.csから操縦方法を選択することができます.

image

キーボードを使用した方式

IsKeyboardControlのチェックボックスを選択してください. 油圧ショベルの操縦をキーボードで行えるように設定しました.

  • I/K: ブーム上下
  • E/D: スイング左右
  • F/A: アーム伸縮
  • J/L: バケット開閉
  • T/G: 左クローラ前進,後退
  • Y/H: 右クローラ前進,後退 Key

コントローラを3つ使用する方式

ゲームパッドと,フライトスティック2つを用意し,実際の建設機械の遠隔操縦用のコントローラと操縦感を近づけた方式を用意しました. IsControllerControlのチェックボックスを選択してください. 操縦方法は以下の図のようになっています.

image

注意:Unity上でゲームパッドをJoystick1,左側のフライトスティックをJoystick2,右側のフライトスティックをJoystick3と割り当てています.Unityを起動してから順番にUSBポートに接続することで適切な順番で割り当てが行われます.

実際に我々が使用しているフライトスティックはこちらです.

ゲームパッド1つで操縦を行う方式

ゲームパッド一つで操縦する方式を用意しました. IsProControllerControlのチェックボックスを選択してください. Proコントローラーで操縦することを想定して設定します.(今後別のゲームパッドでも問題なく操縦できるようにする予定です)

ジョイスティックのみを使用します. デフォルトではクローラの操縦のみが行えます. ZRボタンを押すことで操縦の方式が切り替わり,ジョイスティックで旋回,ブーム,アーム,バケットの操縦が行えるようになります. 再びZRボタンを押すと,クローラの操縦に切り替わります.

ROSを使用する場合

ROS用のPCをもう一台用意する方法を説明します. image

更新予定...

実機への適用

ROSを使用して接続した場合,そのまま特定の実機に対して操作することが可能となります. 以下,土木研究所内 建機DX実験フィールドにて市販コントローラを使って操作した動画になります. これらのシステムを使用することで,シミュレータ実験から実機実験までの応用を非常にシームレスに行うことが可能です.

default.mp4

製作

早稲田大学 岩田浩康研究室 災害対応班
山下侑輝 伊藤悠翔 岩田浩康
お問い合わせ:cog-ml@iwata.mech.waseda.ac.jp

This simulator includes the work that is distributed in the Apache License 2.0.
このシミュレータは、 Apache 2.0ライセンスで配布されている製作物が含まれています.

About

岩田研究室 災害対応支援班

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published