Steer/Force Actuator
====================


**Motion controller using engine force and steer angle speeds**


This actuator reads the values of the steering angle, the engine
power and the braking force to drive a car like vehicle.  It is
meant to work with robots implementing the `Blender Vehicle Wrapper
<http://www.tutorialsforblender3d.com/Game_Engine/Vehicle/Vehicle_1.html>`_,
such as the :doc:`Hummer robot <../robots/hummer>`.

.. note:: 
    Robots implementing the Vehicle Wrapper must be pointing towards
    their local Y axis.  This means the robots will be oriented
    differently with respect to all other MORSE components.


.. cssclass:: properties morse-section

Configuration parameters for steer/force actuator
-------------------------------------------------

*No configurable parameter.*

.. cssclass:: fields morse-section

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


This actuator reads these datafields at each simulation step:

- ``steer`` (float, initial value: ``0.0``)
	Angle of the wheels with respect to the vehicle                      (in radian)
- ``force`` (float, initial value: ``0.0``)
	The force applied to the traction wheels.                        A negative force will make the vehicle move forward.                        A positive force will make it go backwards.
- ``brake`` (float, initial value: ``0.0``)
	The force applied to the brake.                       It opposes to the force.

*Interface support:*

- :tag:`moos`  as db entries (:py:mod:`morse.middleware.moos.motion.MotionReader`)
- :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 Steer/Force 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
    steerforce = SteerForce()

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

    env = Environment('empty')
    

.. cssclass:: files morse-section

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

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




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