Exemplo n.º 1
0
def set_level(level: int) -> None:
    """
    Set the verbosity level of both :py:mod:`gym` and :py:mod:`gym_ignition`.

    Accepted values:

    - :py:const:`gym.logger.DEBUG` (10)
    - :py:const:`gym.logger.INFO` (20)
    - :py:const:`gym.logger.WARN` (30)
    - :py:const:`gym.logger.ERROR` (40)
    - :py:const:`gym.logger.DISABLED` (50)

    Args:
        level: The desired verbosity level.
    """

    # Set the gym verbosity
    logger.set_level(level)

    try:
        from scenario import gazebo as scenario
    except ImportError:
        return

    # Set the ScenarI/O verbosity
    if logger.MIN_LEVEL <= logger.DEBUG:
        scenario.set_verbosity(scenario.Verbosity_debug)
    elif logger.MIN_LEVEL <= logger.INFO:
        scenario.set_verbosity(scenario.Verbosity_info)
    elif logger.MIN_LEVEL <= logger.WARN:
        scenario.set_verbosity(scenario.Verbosity_warning)
    elif logger.MIN_LEVEL <= logger.ERROR:
        scenario.set_verbosity(scenario.Verbosity_error)
    else:
        scenario.set_verbosity(scenario.Verbosity_suppress_all)
Exemplo n.º 2
0
pytestmark = pytest.mark.scenario

from typing import Tuple

import gym_ignition_models
import numpy as np

from scenario import core
from scenario import gazebo as scenario

from ..common import utils
from ..common.utils import default_world_fixture as default_world
from ..common.utils import gazebo_fixture as gazebo

# Set the verbosity
scenario.set_verbosity(scenario.Verbosity_debug)


def get_model(gazebo: scenario.GazeboSimulator,
              gym_ignition_models_name: str) -> scenario.Model:

    # Get the world and cast it to a Gazebo world
    world = gazebo.get_world().to_gazebo()

    assert world.set_physics_engine(scenario.PhysicsEngine_dart)

    model_urdf = gym_ignition_models.get_model_file(gym_ignition_models_name)

    assert world.insert_model(model_urdf, core.Pose_identity(),
                              gym_ignition_models_name)
import time
import enum
import numpy as np
import gym_ignition
from typing import List
from functools import partial
import gym_ignition_environments
from gym_ignition.rbd import conversions
from scenario import core as scenario_core
from scenario import gazebo as scenario_gazebo
from scipy.spatial.transform import Rotation as R
from gym_ignition.context.gazebo import controllers
from gym_ignition.rbd.idyntree import inverse_kinematics_nlp

# Configure verbosity
scenario_gazebo.set_verbosity(scenario_gazebo.Verbosity_error)

# Configure numpy output
np.set_printoptions(precision=4, suppress=True)


def add_panda_controller(panda: gym_ignition_environments.models.panda.Panda,
                         controller_period: float) -> None:

    # Set the controller period
    assert panda.set_controller_period(period=controller_period)

    # Increase the max effort of the fingers
    panda.get_joint(joint_name="panda_finger_joint1").to_gazebo(). \
        set_max_generalized_force(max_force=500.0)
    panda.get_joint(joint_name="panda_finger_joint2").to_gazebo(). \
# GNU Lesser General Public License v2.1 or any later version.

import pytest

pytestmark = pytest.mark.gym_ignition

import numpy as np
from typing import Tuple
from gym_ignition_environments import models
from scenario import gazebo as scenario_gazebo
from gym_ignition.context.gazebo import controllers
from gym_ignition.rbd.idyntree import inverse_kinematics_nlp
from ..common.utils import default_world_fixture as default_world

# Set the verbosity
scenario_gazebo.set_verbosity(scenario_gazebo.Verbosity_debug)


@pytest.mark.parametrize("default_world", [(1.0 / 1_000, 1.0, 1)],
                         indirect=True)
def test_inverse_kinematics(
    default_world: Tuple[scenario_gazebo.GazeboSimulator,
                         scenario_gazebo.World]):

    # Get the simulator and the world
    gazebo, world = default_world

    # Get the robot
    panda = models.panda.Panda(world=world)
    gazebo.run(paused=True)