Linear and angular speed (Vx, Vy, W) actuator
=============================================


**Motion controller using linear and angular speeds**


This actuator reads the values of forwards movement x, sidewards
movement y and angular speed w and applies them to the robot as
direct translation. This controller is supposed to be used with
robots that allow for sidewards movements.


.. cssclass:: properties morse-section

Configuration parameters for linear and angular speed (vx, vy, 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:

- ``x`` (float, initial value: ``0.0``)
	linear velocity in x direction (forward movement) (m/s)
- ``y`` (float, initial value: ``0.0``)
	linear velocity in y direction (sidewards 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_xyw.TwistReader`)
- :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 (Vx, Vy, W) actuator
----------------------------------------------------------

- ``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
    motionxyw = MotionXYW()

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

    env = Environment('empty')
    

.. cssclass:: files morse-section

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

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




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