Linear and angular speed (V, W) actuator
========================================


**Motion controller using linear and angular speeds**


This actuator reads the values of linear and angular speed and
applies them to the robot as direct translation. The speeds provided
are internally adjusted to the Blender time measure.


.. cssclass:: properties morse-section

Configuration parameters for linear and angular speed (v, w) actuator
---------------------------------------------------------------------


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

- ``ControlType`` (string, default: ``"Velocity"``)
	Kind of control, can be one of ['Velocity', 'Position']


.. cssclass:: fields morse-section

Data fields
-----------


This actuator reads these datafields at each simulation step:

- ``v`` (float, initial value: ``0.0``)
	linear velocity in x direction (forward movement) (m/s)
- ``w`` (float, initial value: ``0.0``)
	angular velocity (rad/s)

*Interface support:*

- :tag:`ros`  as TwistReader (:py:mod:`morse.middleware.ros.motion_vw.TwistReader`)
- :tag:`moos`  as db entries (:py:mod:`morse.middleware.moos.motion.MotionReader`)
- :tag:`pocolibs`  as `GENPOS_CART_SPEED <http://trac.laas.fr/git/genPos-genom/tree/genPosStruct.h#n90>`_ (:py:mod:`morse.middleware.pocolibs.actuators.genpos.GenPosPoster`)
- :tag:`socket`  as straight JSON deserialization (:py:mod:`morse.middleware.socket_datastream.SocketReader`)
- :tag:`yarp`  as yarp::Bottle (:py:mod:`morse.middleware.yarp_datastream.YarpReader`)


.. cssclass:: services morse-section

Services for Linear and angular speed (V, W) actuator
-----------------------------------------------------

- ``stop()`` (blocking)
    Stop the robot
    
    Internally, it sets (v, w) to (0.0, 0.0)
    
- ``set_speed(v, w)`` (blocking)
    Modifies v and w according to the parameters
    
    
  - Parameters

    - ``v``: desired linear velocity (meter by second)
    - ``w``: desired angular velocity (radian by second)

- ``get_properties()`` (blocking)
    Returns the properties of a component.
    
    
  - Return value

    a dictionary of the current component's properties  

- ``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 *
    
    robot = ATRV()
    
    # creates a new instance of the actuator
    motionvw = MotionVW()

    # place your component at the correct location
    motionvw.translate(<x>, <y>, <z>)
    motionvw.rotate(<rx>, <ry>, <rz>)
    
    robot.append(motionvw)
    
    # define one or several communication interface, like 'socket'
    motionvw.add_interface(<interface>)

    env = Environment('empty')
    

.. cssclass:: files morse-section

Other sources of examples
+++++++++++++++++++++++++

- `Source code <../../_modules/morse/actuators/v_omega.html>`_
- `Unit-test <../../_modules/base/v_omega_testing.html>`_




*(This page has been auto-generated from MORSE module morse.actuators.v_omega.)*
