robots Package

atrv Module

class ATRV(obj, parent=None)[source]

Bases: morse.core.robot.Robot

Definition for the well-known ATRV robot, distributed by I-Robot.

default_action()[source]

Main function of this component.

b21 Module

class B21(obj, parent=None)[source]

Bases: morse.core.robot.Robot

Definition for the B21 platform, distributed by RWI. This cylindrical robot for Human-Robot interactions.

default_action()[source]

Main function of this component.

environment Module

class Environment(obj, parent=None)[source]

Bases: morse.core.robot.Robot

This is a special case of component in MORSE. Since all sensors or actuators must be attached to one robot, it would not normally be possible to use “stand-alone” sensors in the environment.

If you need to use a sensor in this way, (i.e. for motion capture sensors, or independent cameras) you should add an environment virtual robot to the scene, and make it the parent of your stand-alone sensors.

This robot has no visual representation, and consists of a single Blender Empty. Its only purpose is to provide the base to attach sensors. A single environment virtual robot should be the parent of as many sensors as needed.

default_action()[source]

Main function of this component.

grasper Module

class RobotGrasper(obj, parent=None)[source]

Bases: morse.core.robot.Robot

Class definition for a “virtual” robot.

This robot class does not have a graphical representation, and it can not move. Its only purpose is to define the service grasp that may be used by other robot to pick up object.

Sub class of Morse_Object.

default_action()[source]

Main function of this component

grasp_(seq)[source]

Grasp object

human Module

class Human(obj, parent=None)[source]

Bases: morse.robots.grasper.RobotGrasper

Class definition for the human as a robot entity Sub class of Morse_Object.

default_action()[source]

Main function of this component.

move(speed, rotation)[source]

Move the human.

move_hand(diff, tilt)[source]

move the human hand (wheel). a request to use by a socket. Done for wiimote remote control.

move_head(pan, tilt)[source]

Move the human head.

toggle_manipulation()[source]

change from and to manipulation mode. a request to use by a socket. Done for wiimote remote control.

hummer Module

class Hummer(obj, parent=None)[source]

Bases: morse.core.robot.Robot

This is a generic car like robot. It is driven using steering, power and braking as provided by the steer/force actuator. This vehicle uses the Blender vehicle wrapper constraint, to give it a realistic behaviour, including the interaction of the wheels with the ground and suspension.

default_action()[source]

Main function of this component.

jido Module

class Jido(obj, parent=None)[source]

Bases: morse.core.robot.Robot

Definition of the very specific LAAS robot Jido. It is built on a NeoBotix base.

default_action()[source]

Main function of this component.

mocap_human Module

class MocapHuman(obj, parent=None)[source]

Bases: morse.robots.grasper.RobotGrasper

Class definition for the human avatar as a robot entity Sub class of Morse_Object. This human is set to be controlled using data from an Xtion/Kinect sensor

default_action()[source]

Main function of this component.

move(speed, rotation)[source]

Move the human.

move_hand(diff, tilt)[source]

move the human hand (wheel). a request to use by a socket. Done for wiimote remote control.

move_head(pan, tilt)[source]

Move the human head.

switch_cameras()[source]

Change between the main camera view in MORSE and the first person camera

toggle_manipulation()[source]

Switch manipulation mode on and off. a request to use by a socket. Done for wiimote remote control.

morsy Module

class Morsy(obj, parent=None)[source]

Bases: morse.core.robot.Robot

Morsy is the little mascot of the MORSE project.

The model does not feature any particular behaviour. It’s main purpose is for teaching and examples.

default_action()[source]

Main function of this component.

patrolbot Module

class PatrolBot(obj, parent=None)[source]

Bases: morse.core.wheeled_robot.MorsePhysicsRobot

The Research PatrolBot, developed by MobileRobots, is a differential-drive robot to carry payloads and sensors over all normal indoor surfaces in wheelchair-accessible facilities. The PatrolBot is an all-purpose indoor base, it can travel at speeds up to 2 m/s, and can carry up to 40kg over flat surfaces.

default_action()[source]

Main function of this component.

pioneer3dx Module

class Pioneer3DX(obj, parent=None)[source]

Bases: morse.core.wheeled_robot.MorsePhysicsRobot

This robot uses the Physics Constraints in Blender to allow the wheels to behave more realistically. The wheels turn as the robot moves, and they have Rigid Body physics, so that they can also have collisions with nearby objects.

It has two differential drive wheels, and an additional caster wheel for stability. Since the wheels of this robot use the Rigid Body physics, it must be controlled with the v_omega_diff_drive actuator.

default_action()[source]

Main function of this component.

pr2 Module

class PR2(obj, parent=None)[source]

Bases: morse.robots.grasper.RobotGrasper

The MORSE model of the Willow Garage’s PR2 robot.

The PR2 uses the armature_actuator for control of the armatures.

The model is imported from a Collada file that is generated from the PR2 URDF file. The .dae file can be found at: $MORSE_ROOT/data/robots/pr2/pr2.dae The imported .blend file can be found at: $MORSE_ROOT/data/robots/pr2/pr2_25_original.blend

The URDF to Collada converter changed all the object names, so these were remapped to the original URDF names. A renamed version of the PR2 model can be found at: $MORSE_ROOT/data/robots/pr2/pr2_25_rename.blend , this file includes the script that is used to rename all the objects.

A model with MORSE integration for the armature can be found at (This is the model that you probably want to use in MORSE): $MORSE_ROOT/data/robots/pr2/pr2_25_morse.blend.

default_action()[source]

Main function of this component.

get_armatures()[source]

Returns a list of all the armatures on the PR2 robot.

get_torso()[source]

Returns the z-translation of the torso.

get_torso_minmax()[source]

Returns the minimum an maximum z-translation that the torso can make from the base. Returns a list [min,max]

set_torso(height)[source]

MORSE Service that sets the z-translation of the torso to original_z + height.

quadrotor Module

class Quadrotor(obj, parent=None)[source]

Bases: morse.core.robot.Robot

Definition of a generic quadrotor without Rigid Body physics. It is expected to be used with actuators such as:

Note

The rotation of the rotors is fixed and only for show. Its speed can be adjusted in the Logic panel in Blender (shown with F4) when the cube object are selected.

default_action()[source]

Main function of this component.

quadrotor_dynamic Module

class Quadrotor(obj, parent=None)[source]

Bases: morse.core.robot.Robot

Simple definition of a quadrotor, with Rigid Body physics.

It is expected to be used with actuators such as:
default_action()[source]

Main function of this component.

rmax Module

class RMax(obj, parent=None)[source]

Bases: morse.core.robot.Robot

Simple definition of the Yamaha RMAX unmanned helicopter.

Note

The rotation of the rotor is fixed and only for show. Its speed can be adjusted in the Logic panel in Blender (shown with F4) when the rotor object is selected.

default_action()[source]

Main function of this component.

segwayrmp400 Module

class SegwayRMP400(obj, parent=None)[source]

Bases: morse.core.wheeled_robot.MorsePhysicsRobot

Simple definition of the RMP400 platform distributed by Segway.

This robot uses the Physics Constraints in Blender to allow the wheels to behave more realistically. The wheels turn as the robot moves, and they have Rigid Body physics, so that they can also have collisions with nearby objects.

It has four differential drive wheels, with the pairs of wheels on each side always moving at the same speed. Since the wheels of this robot use the Rigid Body physics, it must be controlled with the v_omega_diff_drive actuator.

default_action()[source]

Main function of this component.

submarine Module

class Submarine(obj, parent=None)[source]

Bases: morse.core.robot.Robot

A generic submarine robot. The robot has no mass and its physics is set to “NoCollision”.

default_action()[source]

Main function of this component.

victim Module

class Victim(obj, parent=None)[source]

Bases: morse.core.robot.Robot

Class definition for the pseudo-robot that represents a human victim. Mainly used for the ROSACE rescue scenario. Sub class of Morse_Object.

default_action()[source]

Main function of this component.

heal()[source]

Change the status of the victim

Change the material to a green color, and the status to healed.