Pybullet公式gitリポジトリのサンプルコードを解説するシリーズです(一覧はこちら)。
今回は、signedDistanceField.pyを解説します。(コードのリンクはこちら)
本コードを実行すると、
使用している機能
本コードは、以下の機能を使用して「オブジェクトの生成」を実現しています。
オブジェクトを生成
loadURDF
関数を使用することで、指定したurdfファイルのオブジェクトを生成できます。
pybullet.loadURDF(urdfFile)
-
urdfFile
:生成するオブジェクトのurdfファイル
コメントをつけたサンプルコード
サンプルコードにコメントをつけたものが以下になります(もともとあった不要と思われるコメント等については削除しています)
import pybullet as p
import pybullet
import time
import pybullet_data
# PybulletをGUIモードで接続
p.connect(p.GUI)
# Pybulletに関するデータパスを取得
p.setAdditionalSearchPath(pybullet_data.getDataPath())
# くぼみのあるボックスのオブジェクトを生成
p.loadURDF("toys/concave_box.urdf")
# 重力を設定
p.setGravity(0, 0, -10)
# 小さな球のオブジェクトを10個生成
for i in range(10):
# 球のオブジェクトを生成
p.loadURDF("sphere_1cm.urdf", [i * 0.02, 0, 0.5])
# アヒルのオブジェクトを生成
p.loadURDF("duck_vhacd.urdf")
# シミュレーションを1時刻進める際に経過する時間を設定
timeStep = 1. / 240.
p.setTimeStep(timeStep)
while (1):
# シミュレーションを1時刻分進める
p.stepSimulation()
# timeStep秒だけスリープ
time.sleep(timeStep)