Skip to content

PyBullet Simulator

Simulation

Physics simulation for games, visual effects, robotics and reinforcement learning.

Demo

hello.py
import pybullet as p
import pybullet_data
import time

# Connect to PyBullet with GUI
p.connect(p.GUI, options="--opengl2 --egl")

# Set search path to PyBullet’s default data
p.setAdditionalSearchPath(pybullet_data.getDataPath())

# Load a simple plane and a cube
plane_id = p.loadURDF("plane.urdf")
cube_id = p.loadURDF("r2d2.urdf", [0, 0, 1])

# Add gravity
p.setGravity(0, 0, -9.8)

# Run simulation loop
while True:
    p.stepSimulation()
    time.sleep(1./240.)
force opengl run on nvidia
__NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia python3 hello.py
  • pybullet_data provide many URDF examples.
  • loadURDF return integer that use to refer the robot in other pybullet commands/

Demo: Get Position and Orientation

Position orientation and apply external force
import pybullet as p
import pybullet_data
import time

# Connect to PyBullet with GUI
p.connect(p.GUI, options="--opengl2 --egl")

# Set search path to PyBullet’s default data
p.setAdditionalSearchPath(pybullet_data.getDataPath())

# Load a simple plane and a cube
plane_id = p.loadURDF("plane.urdf")
carId = p.loadURDF(racecar/racecar.urdf, basePosition=[0,0,0.2])
position, orientation = p.getBasePositionAndOrientation(carId)
for _ in range(100): 
    p.stepSimulation()

Demos and ...

PyBullet Quickstart Guide



Projects