morse.builder.robots package

Submodules

morse.builder.robots.human module

class Human(filename='human_rig', name=None)[source]

Bases: morse.builder.morsebuilder.GroundRobot

Append a human model to the scene.

Usage example:

#! /usr/bin/env morseexec

from morse.builder import *

human = Human()
human.translate(x=5.5, y=-3.2, z=0.0)
human.rotate(z=-3.0)

human.skeleton.add_stream('pocolibs')

Currently, only one human per simulation is supported.

The MORSE human avatar is based on a 3D model generated from MakeHuman, and stored in human_rig.blend.

The model is rigged with an armature (human.skeleton), used to control the postures of the human and to deform accordingly the human mesh.

This armature is used by MORSE as both a sensor to read and export the human pose and an actuator to modify the pose.

TODO: give code examples to read and modify the pose

The armature defines 5 particular points (IK targets) that can be manipulated to control the human model in a simpler way: the head, the two wrists and the two feet.

IK_TARGETS = ['head', 'wrist_L', 'wrist_R', 'foot_L', 'foot_R']
add_interface(interface)[source]

Add a service and stream interface to the component

Its argument is the name of the interface to be used.

morse.builder.robots.morserobots module

class ATRV(name=None)[source]

Bases: morse.builder.morsebuilder.GroundRobot

class B21(name=None)[source]

Bases: morse.builder.morsebuilder.GroundRobot

class FakeRobot(name=None)[source]

Bases: morse.builder.morsebuilder.Robot

class Hummer(name=None)[source]

Bases: morse.builder.morsebuilder.GroundRobot

class Jido(name=None)[source]

Bases: morse.builder.morsebuilder.GroundRobot

class Morsy(name=None)[source]

Bases: morse.builder.morsebuilder.GroundRobot

set_color(color=(0.0, 0.0, 0.8))[source]

Allows to change Morsy’s body color.

class PatrolBot(name=None)[source]

Bases: morse.builder.morsebuilder.WheeledRobot

class Pioneer3DX(name=None)[source]

Bases: morse.builder.morsebuilder.WheeledRobot

class QUAD2012(name=None)[source]

Bases: morse.builder.morsebuilder.Robot

class Quadrotor(name=None)[source]

Bases: morse.builder.morsebuilder.Robot

class RMax(name=None)[source]

Bases: morse.builder.morsebuilder.Robot

class SegwayRMP400(name=None)[source]

Bases: morse.builder.morsebuilder.WheeledRobot

class Submarine(name=None)[source]

Bases: morse.builder.morsebuilder.Robot

class Victim(name=None)[source]

Bases: morse.builder.morsebuilder.GroundRobot

morse.builder.robots.pr2 module

class BarePR2(name=None)[source]

Bases: morse.builder.morsebuilder.GroundRobot

A PR2 model, without any sensor or actuator.

set_color(color=(0.0, 0.0, 0.8))[source]

Allows to change the PR2 head color.

class BasePR2(name=None)[source]

Bases: morse.builder.robots.pr2.BarePR2

A PR2 only equipped with its armatures for the arms, the torso and the head.

It also provides the compound sensor pr2.joint_state that exports the whole joint state of the robot.

add_interface(interface)[source]

Add a service and stream interface to the component

Its argument is the name of the interface to be used.

class LocalizedPR2(name=None, with_keyboard=True, show_laser=False)[source]

Bases: morse.builder.robots.pr2.BasePR2

add_interface(interface)[source]

Add a service and stream interface to the component

Its argument is the name of the interface to be used.

class NavPR2(name=None, with_keyboard=True, show_laser=False)[source]

Bases: morse.builder.robots.pr2.BasePR2

A PR2 equipped with sensors and actuators required for 2D navigation.

add_interface(interface)[source]

Add a service and stream interface to the component

Its argument is the name of the interface to be used.

Module contents