morse.robots package¶
Submodules¶
morse.robots.atrv module¶
- class ATRV(obj, parent=None)[source]¶
Bases:
morse.core.robot.Robot
Definition for the well-known ATRV robot, distributed by I-Robot.
morse.robots.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.
morse.robots.fakerobot module¶
- class FakeRobot(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 virtual (fake) 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 fake robot can be the parent of as many sensors/actuators as needed.
morse.robots.grasping_robot module¶
- class GraspingRobot(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.
The robot need to have a “hand_name” with a near sensor in order to be able to use the grasp service.
morse.robots.human module¶
- class Human(obj, parent=None)[source]¶
Bases:
morse.robots.grasping_robot.GraspingRobot
MORSE allows the simulation of humans: you can add a human model in your scene, you can control it like any other robot (including from the keyboard or via external scripts), and export from your simulation various data like the full body pose.
The human is managed by MORSE as a regular robot, which means it can have sensors and actuators attached to it.
For a general introduction to human-robot interaction simulation with MORSE, check the HRI main page.
- apply_speed(kind, linear_speed, angular_speed)[source]¶
Apply speed parameter to the human.
This overloaded version of Robot.apply_speed manage the walk/rest animations of the human avatar.
- Parameters
kind (string) – not used. Forced to ‘Position’ control for now.
linear_speed (list) – the list of linear speed to apply, for
each axis, in m/s. :param list angular_speed: the list of angular speed to apply, for each axis, in rad/s.
morse.robots.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.
morse.robots.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.
morse.robots.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.
morse.robots.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.
morse.robots.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.
morse.robots.pr2 module¶
- class PR2(obj, parent=None)[source]¶
Bases:
morse.robots.grasping_robot.GraspingRobot
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
.Create sensors and actuators to control the PR2 armature. A SensorActuator class would be handy for this.
Expand the armature to include the hands.
Add an actuator to control the movement of the PR2 base.
ROS integration.
…
morse.robots.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.
- Noautoexample
morse.robots.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:
../actuators/rotorcraft_attitude
morse.robots.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.
morse.robots.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.
morse.robots.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”.
morse.robots.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.