Omniverse IsaacSim の Robot Simulation では市中にあるロボットを動かすpythonプログラムを用意しています。平地走行およびAI学習させ不整地走行ができます
四足歩行エクステンションでカバーするロボット
Quadruped Extensionは、Unitree A1、Unitree Go1、ANYbotics ANYmal Cの12自由度の四足歩行をシミュレートする時使用します。
平坦での歩行に適す基本的な12自由度の四足歩行コントローラも含まれています。Keyboard Mappings (for all examples):
Forward: NUM 8 or Up Arrow
Backward: NUM 2 or Down Arrow
Right: NUM 6 or Right Arrow
Left: NUM 4 or Left Arrow
Turn Left: NUM 7 or N
Turn Right: NUM 9 or M
下記の例題を実行する方法
上のメニューバーから、Isaac Examples > Quadruped をクリックします。
LOADボタンを押してシーンをロードし、シミュレーションを開始します。
RESETボタンを押して、シミュレーションを初期状態に戻します。
Open Source Codeボタンを押すと、ソースコードが表示されます。ソースコードは、Python APIを使用してロボットを作成、追加、制御する方法を示しています。
スタンドアロン例
前提条件
ROS noeticが必要で、ROS関連のスタンドアロンサンプルではroscoreが動作している必要があります。
1)a1_standalone.py
Unitree A1ロボットが倉庫内をトコトコ歩く様子を示しています。
次のコマンドで実行できます:
./python.sh standalone_examples/api/omni.isaac.quadruped/a1_standalone.py --waypoint standalone_examples/api/omni.isaac.quadruped/waypoints.json
ウェイポイントは、グローバル座標を表す "x"、"y"、ヘディング方向を表す "rad "を含むjsonファイル形式で指定する。
2)a1_direct_ros1_standalone.py
倉庫におけるUnitree A1ロボットのデモで、IMU、脚力、関節位置、速度、身体オドメトリ情報を公開しながら、関節トルク制御のために外部トルクコントローラをサブスクライブします。
以下のコマンドで実行できます:
./python.sh standalone_examples/api/omni.isaac.quadruped/a1_direct_ros1_standalone.py
3)a1_vision_ros1_standalone.py
カスタムシーンでUnitree A1ロボットがROS 1の視覚画像オドメトリのためにステレオROSカメラとIMUデータを公開するデモを行います。
ユーザはisaac simトピックを外部のROSビジョン慣性オドメトリパッケージに接続してオドメトリを行うことができます。以下のコマンドで実行できます:
./python.sh standalone_examples/api/omni.isaac.quadruped/a1_vision_ros1_standalone.py
4)a1_vision_ros2_standalone.py
カスタムシーンでUnitree A1ロボットがROS 2のビジュアルイメージオドメトリ用のステレオROS2カメラデータを公開するデモです。以下のコマンドで実行できます:
./python.sh standalone_examples/api/omni.isaac.quadruped/a1_vision_ros2_standalone.py
5)go1_ros1_standalone.py
Unitree Go1ロボットが接地面上で足の位置と足の力を表示するデモです。以下のコマンドで実行できます:
./python.sh standalone_examples/api/omni.isaac.quadruped/go1_ros1_standalone.py
6)ANYMAL_STANDALONE.py
ニューラルネットワークポリシーによって制御されるANYmal Cロボットを示します。不整地政策はIsaacGymで学習され、ロボットの状態、指令された基本速度、周囲の地形を入力とし、関節位置目標を出力します。この例は以下のコマンドで実行できる:
./python.sh standalone_examples/api/omni.isaac.quadruped/anymal_standalone.py