mirror of
https://github.com/wassname/pyrobolearn.git
synced 2026-08-21 11:19:49 +08:00
59 lines
2.2 KiB
Python
59 lines
2.2 KiB
Python
#!/usr/bin/env python
|
|
# -*- coding: utf-8 -*-
|
|
"""Simulator tests.
|
|
|
|
Example on how to load different things with the simulators. This example is still in an experimental phase. For
|
|
now, only Bullet is fully-supported. We are working on the other ones, especially the Mujoco simulator.
|
|
- Bullet: OK
|
|
- Raisim: OK (todo: for collision bodies, it only accepts OBJ files)
|
|
- MuJoCo: OK (todo: control still missing)
|
|
- DART: OK, but capsules don't have collision shapes... (todo: fix some URDFs)
|
|
- VREP: Not implemented yet + problem when importing PyRep with pybullet. Also, need to figure out how to call the
|
|
'loadURDF' plugin.
|
|
- Isaac: not available yet.
|
|
"""
|
|
|
|
import os
|
|
from itertools import count
|
|
|
|
from pyrobolearn.simulators.bullet import Bullet
|
|
from pyrobolearn.simulators.raisim import Raisim
|
|
from pyrobolearn.simulators.dart import Dart
|
|
from pyrobolearn.simulators.mujoco import Mujoco
|
|
# from pyrobolearn.simulators.vrep import VREP # Problem when importing PyRep with Pybullet
|
|
# from pyrobolearn.simulators.isaac import Isaac # Not available yet
|
|
|
|
|
|
sim = Bullet(render=True)
|
|
# sim = Raisim(render=True)
|
|
# sim = Dart(render=True)
|
|
# sim = Mujoco(render=True)
|
|
# sim = VREP(render=True)
|
|
# sim = Isaac(render=True)
|
|
print("Gravity: {}".format(sim.get_gravity()))
|
|
|
|
# load floor
|
|
floor = sim.load_floor(dimension=20)
|
|
|
|
# create box
|
|
box = sim.create_primitive_object(sim.GEOM_BOX, position=(0, 0, 2), mass=1, rgba_color=(1, 0, 0, 1))
|
|
sphere = sim.create_primitive_object(sim.GEOM_SPHERE, position=(2, 2, 2), mass=1, rgba_color=(0, 1, 0, 1))
|
|
cylinder = sim.create_primitive_object(sim.GEOM_CYLINDER, position=(0, 2, 2), mass=1)
|
|
capsule = sim.create_primitive_object(sim.GEOM_CAPSULE, position=(0, -2, 2), mass=1, rgba_color=(0, 0, 1, 1),
|
|
radius=0.5, height=0.5)
|
|
|
|
# load robot
|
|
urdf_path = os.path.dirname(os.path.abspath(__file__)) + '/../../pyrobolearn/robots/urdfs/'
|
|
# path = urdf_path + 'rrbot/rrbot.urdf'
|
|
# path = urdf_path + 'jaco/jaco.urdf'
|
|
# path = urdf_path + 'kuka/kuka_iiwa/iiwa14.urdf'
|
|
# path = urdf_path + 'hyq2max/hyq2max.urdf'
|
|
path = urdf_path + 'anymal/anymal.urdf'
|
|
# path = urdf_path + 'centauro/centauro_stick.urdf'
|
|
|
|
robot = sim.load_urdf(path, position=(3, -3, 2), use_fixed_base=False)
|
|
|
|
# perform step
|
|
for t in count():
|
|
sim.step(sleep_time=sim.dt)
|