Segway RMP 400 platform ======================= .. image:: ../../../media/robots/segwayrmp400.png :align: center :width: 600 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 :doc:`v_omega_diff_drive <../actuators/v_omega_diff_drive>` actuator. .. cssclass:: properties morse-section Configuration parameters for Segway RMP 400 platform ---------------------------------------------------- You can : - set the mass of the robot using the builder method :py:meth:`morse.builder.morsebuilder.Robot.set_mass()` - set the friction coefficient of the robot using the builder method :py:meth:`morse.builder.morsebuilder.Robot.set_friction()` You can set these properties in your scripts with ``.properties(=..., =...)``. - ``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 - ``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. .. cssclass:: services morse-section Services for Segway RMP 400 platform ------------------------------------ - ``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 nothing - ``get_configurations()`` (blocking) Returns the configurations of a component (parsed from the properties). - Return value a dictionary of the current component's configurations .. cssclass:: examples morse-section Examples -------- The following examples show how to use this component in a *Builder* script: .. code-block:: python from morse.builder import * # creates a new instance of the robot segwayrmp400 = SegwayRMP400() # place your component at the correct location segwayrmp400.translate(, , ) segwayrmp400.rotate(, , ) # define one or several communication interface, like 'socket' segwayrmp400.add_interface() env = Environment('empty') .. cssclass:: files morse-section Other sources of examples +++++++++++++++++++++++++ - `Source code <../../_modules/morse/robots/segwayrmp400.html>`_ - `Unit-test <../../_modules/base/segwayrmp400_testing.html>`_ *(This page has been auto-generated from MORSE module morse.robots.segwayrmp400.)*