0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

お題は不問!Qiita Engineer Festa 2024で記事投稿!
Qiita Engineer Festa20242024年7月17日まで開催中!

【Pybulletサンプル解説】モデルの読み込み時間をログに出力【loadingBench.py】

Posted at

Pybullet公式gitリポジトリのサンプルコードを解説するシリーズです(一覧はこちら)。


今回は、loadingBench.pyを解説します。(コードのリンクはこちら

本コードを実行すると、「モデルの読み込みにかかった時間をログファイルに記録」することができます。

loadingBench.gif

使用している機能

本コードは、以下の機能を使用して「ログの記録の開始」「ログの記録の停止」を実現しています。

ログの記録の開始

startStateLogging 関数を使用することで、ログファイルの記録を開始できます。

timinglog = pybullet.startStateLogging(pybullet.STATE_LOGGING_PROFILE_TIMINGS, logFile)
  • timingLog:ログのID
  • STATE_LOGGING_PROFILE_TIMINGS:操作がされたタイミングのログを記録するモード
    • どの処理にどの程度の時間がかかっているかを解析可能
  • logFile:ログファイル

ログの記録の停止

stopStateLogging 関数を使用することで、ログの記録を停止できます。

pybullet.stopStateLogging(timinglog)
  • timingLog:記録を停止するログのID

コメントをつけたサンプルコード

サンプルコードにコメントをつけたものが以下になります(もともとあった不要と思われるコメント等については削除しています)

import pybullet as p
import time
import pybullet_data

# PybulletをGUIモードで接続
p.connect(p.GUI)

# Pybulletに関するデータパスを取得
p.setAdditionalSearchPath(pybullet_data.getDataPath())

# シミュレーションをリセット
p.resetSimulation()

# ログの記録を開始
timinglog = p.startStateLogging(p.STATE_LOGGING_PROFILE_TIMINGS, "loadingBenchVR.json")

# レンダリングを無効化
p.configureDebugVisualizer(p.COV_ENABLE_RENDERING, 0)

# 床のオブジェクトを生成
print("load plane.urdf")
p.loadURDF("plane.urdf")

# r2d2のオブジェクトを生成
print("load r2d2.urdf")
p.loadURDF("r2d2.urdf", 0, 0, 1)

# キッチンのオブジェクトを生成
print("load kitchen/1.sdf")
p.loadSDF("kitchens/1.sdf")

# プレートのオブジェクトをy座標を変更して100回生成する
print("load 100 times plate.urdf")
for i in range(100):
  p.loadURDF("dinnerware/plate.urdf", 0, i, 1)

# レンダリングを有効化
p.configureDebugVisualizer(p.COV_ENABLE_RENDERING, 1)

# ログの記録を停止
p.stopStateLogging(timinglog)
print("stopped state logging")

# カメラ画像を取得
p.getCameraImage(320, 200)

while (1):
  # シミュレーションを一時刻分進める
  p.stepSimulation()
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?