text: #!/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)
  