Exemplo n.º 1
0
def robot_to_sdf(robot, name="test_bot", plugin_controller=None):
    model = builder.sdf_robot(robot=robot,
                              controller_plugin=plugin_controller,
                              update_rate=UPDATE_RATE,
                              name=name)
    model_sdf = SDF()
    model_sdf.add_element(model)
    return model_sdf
Exemplo n.º 2
0
def robot_to_sdf(robot, name="test_bot", plugin_controller=None):
    model = builder.sdf_robot(
            robot=robot,
            controller_plugin=plugin_controller,
            update_rate=UPDATE_RATE,
            name=name)
    model_sdf = SDF()
    model_sdf.add_element(model)
    return model_sdf
Exemplo n.º 3
0
def get_analysis_robot(robot, builder):
    """
    Creates an SDF model suitable for analysis from a robot object
    and a builder.
    :param robot:
    :type robot: Robot
    :param builder:
    :type builder: BodyBuilder
    :return:
    """
    model = builder.sdf_robot(robot=robot,
                              controller_plugin=None,
                              name="analyze_bot",
                              analyzer_mode=True)
    model.remove_elements_of_type(Sensor, recursive=True)
    sdf = SDF()
    sdf.add_element(model)
    return sdf
Exemplo n.º 4
0
def get_analysis_robot(robot, builder):
    """
    Creates an SDF model suitable for analysis from a robot object
    and a builder.
    :param robot:
    :type robot: Robot
    :param builder:
    :type builder: BodyBuilder
    :return:
    """
    model = builder.sdf_robot(
            robot=robot,
            controller_plugin=None,
            name="analyze_bot",
            analyzer_mode=True)
    model.remove_elements_of_type(Sensor, recursive=True)
    sdf = SDF()
    sdf.add_element(model)
    return sdf
Exemplo n.º 5
0
def to_sdfbot(robot, name, builder, conf, battery_charge=None):
    """
    :param robot:
    :param name:
    :param builder:
    :param conf: Config
    :param battery_charge:
    :return:
    """
    battery = None if battery_charge is None else BasicBattery(battery_charge)
    brain_conf = None if not hasattr(conf, 'brain_conf') else conf.brain_conf

    model = builder.sdf_robot(robot=robot,
                              controller_plugin="libRobotControlPlugin.so",
                              update_rate=conf.controller_update_rate,
                              name=name,
                              battery=battery,
                              brain_conf=brain_conf)

    apply_surface_parameters(model, conf.world_step_size)

    sdf = SDF()
    sdf.add_element(model)
    return sdf
Exemplo n.º 6
0
      id: Wheel
      type: Wheel
      params:
        red: 0.0
        green: 1.0
        blue: 0.0
    5:
      id: Wheel2
      type: Wheel
      params:
        red: 0.0
        green: 1.0
        blue: 0.0
brain:
  params:
    Wheel-out-0:
      type: Oscillator
      period: 3
    Wheel2-out-0:
      type: Oscillator
      period: 3
'''

bot = yaml_to_proto(body_spec, brain_spec, bot_yaml)
builder = RobotBuilder(BodyBuilder(body_spec), NeuralNetBuilder(brain_spec))
model = builder.sdf_robot(bot, "libRobotControlPlugin.so")
model.translate(Vector3(0, 0, 0.5))
sdf = SDF()
sdf.add_element(model)
logger.info(str(sdf))
Exemplo n.º 7
0
      id: Wheel
      type: Wheel
      params:
        red: 0.0
        green: 1.0
        blue: 0.0
    5:
      id: Wheel2
      type: Wheel
      params:
        red: 0.0
        green: 1.0
        blue: 0.0
brain:
  params:
    Wheel-out-0:
      type: Oscillator
      period: 3
    Wheel2-out-0:
      type: Oscillator
      period: 3
'''

bot = yaml_to_proto(body_spec, brain_spec, bot_yaml)
builder = RobotBuilder(BodyBuilder(body_spec), NeuralNetBuilder(brain_spec))
model = builder.sdf_robot(bot, "libRobotControlPlugin.so")
model.translate(Vector3(0, 0, 0.5))
sdf = SDF()
sdf.add_element(model)
print(str(sdf))