GPS
===


This sensor emulates a GPS, providing the exact coordinates in the
Blender scene. The coordinates provided by the GPS are with respect
to the origin of the Blender coordinate reference.


.. cssclass:: properties morse-section

Configuration parameters for gps
--------------------------------

*No configurable parameter.*

.. cssclass:: fields morse-section

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


This sensor exports these datafields at each simulation step:

- ``x`` (float, initial value: ``0.0``)
	x coordinate of the sensor, in world coordinate, in meter
- ``y`` (float, initial value: ``0.0``)
	y coordinate of the sensor, in world coordinate, in meter
- ``z`` (float, initial value: ``0.0``)
	z coordinate of the sensor, in world coordinate, in meter

*Interface support:*

- :tag:`text`  as key = value format with timestamp and index value (:py:mod:`morse.middleware.text_datastream.Publisher`)
- :tag:`pocolibs`  as `POM_ME_POS <http://trac.laas.fr/git/pom-genom/tree/pomStruct.h#n180>`_ (:py:mod:`morse.middleware.pocolibs.sensors.pom.PomSensorPoster`) or as `POM_POS <http://trac.laas.fr/git/pom-genom/tree/pomStruct.h#n211>`_ (:py:mod:`morse.middleware.pocolibs.sensors.pom.PomPoster`)
- :tag:`yarp`  as yarp::Bottle (:py:mod:`morse.middleware.yarp_datastream.YarpPublisher`)
- :tag:`socket`  as straight JSON serialization (:py:mod:`morse.middleware.socket_datastream.SocketPublisher`)
- :tag:`yarp_json`  as json encoded data in yarp::bottle (:py:mod:`morse.middleware.yarp.yarp_json.YarpJsonPublisher`)
- :tag:`ros`  as NavSatFixPublisher (:py:mod:`morse.middleware.ros.gps.NavSatFixPublisher`)
- :tag:`moos`  as db entries (:py:mod:`morse.middleware.moos.gps.GPSNotifier`)


.. cssclass:: services morse-section

Services for GPS
----------------

- ``get_local_data()`` (blocking)
    Returns the current data stored in the sensor.
    
    
  - Return value

    a dictionary of the current sensor's data 



.. cssclass:: examples morse-section

Examples
--------


The following example shows how to use this component in a *Builder* script:

.. code-block:: python


    from morse.builder import *
    
    robot = ATRV()
    
    # creates a new instance of the sensor
    gps = GPS()

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

    env = Environment('empty')
    

.. cssclass:: files morse-section

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

- `Source code <../../_modules/morse/sensors/gps.html>`_
- `Unit-test <../../_modules/base/gps_testing.html>`_




*(This page has been auto-generated from MORSE module morse.sensors.gps.)*
