Pionner 3-DX platform


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.

Configuration parameters for Pionner 3-DX platform

You can :

You can set these properties in your scripts with <component>.properties(<property1>=..., <property2>=...).

  • NoGravity (bool, default: False)

    Indicate if we want to consider the gravity for this robot If true, the behaviour is less realistic as the simulator will automatically compensate it. This setting is useful for non-realistic model flying or submarine robot

  • GroundRobot (bool, default: False)

    Indicate if the robot is a ground robot, i.e. basically if it has no way to control its position on the Z axis, nor this X and Y rotation axis

  • HasSuspension (bool, default: True)

    Determine if the underlaying robot has suspension, i.e. wheels can move independently of the body of the robot

  • HasSteering (bool, default: True)

    Determine if the wheels turn independently of the body of the robot.

  • FixTurningSpeed (double, default: 0.0)

    Overwrite the value of the distance between wheels in the computations of the wheel speeds. This effectively changes the turning speed of the robot, and can be used to compensate for the slip of the wheels while turning. If the value 0.0 is used, the real distance between wheels is used.

Services for Pionner 3-DX platform

  • get_configurations() (blocking)

    Returns the configurations of a component (parsed from the properties).

    • Return value

      a dictionary of the current component’s configurations

  • get_properties() (blocking)

    Returns the properties of a component.

    • Return value

      a dictionary of the current component’s properties

  • set_property(prop_name, prop_val) (blocking)

    Modify one property on a component

    • Parameters

      • prop_name: the name of the property to modify (as shown the documentation)
      • prop_val: the new value of the property. Note that there is no checking about the type of the value so be careful
    • Return value



The following examples show how to use this component in a Builder script:

from morse.builder import *

# creates a new instance of the robot
pioneer3dx = Pioneer3DX()

# place your component at the correct location
pioneer3dx.translate(<x>, <y>, <z>)
pioneer3dx.rotate(<rx>, <ry>, <rz>)

# define one or several communication interface, like 'socket'

env = Environment('empty')

Other sources of examples

(This page has been auto-generated from MORSE module morse.robots.pioneer3dx.)

Table Of Contents

Previous topic

PatrolBot robot

Next topic

PR2 robot

This Page