Quadrotor
=========

.. image:: ../../../media/robots/quadrotor.png
  :align: center
  :width: 600


Definition of a generic **quadrotor** without ``Rigid Body`` physics.
It is expected to be used with actuators such as:

- :doc:`../actuators/stabilized_quadrotor`

.. note::

    The rotation of the rotors is fixed and only for show. Its speed
    can be adjusted in the Logic panel in Blender (shown with
    :kbd:`F4`) when the **cube** object are selected.




.. cssclass:: properties morse-section

Configuration parameters for quadrotor
--------------------------------------


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 ``<component>.properties(<property1>=..., <property2>=...)``.

- ``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


.. cssclass:: services morse-section

Services for Quadrotor
----------------------

- ``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 *

    quadrotor = QUAD2012()

    # place your component at the correct location
    quadrotor.translate(<x>, <y>, <z>)
    quadrotor.rotate(<rx>, <ry>, <rz>)

    # define one or several communication interface, like 'socket'
    quadrotor.add_interface(<interface>)

    env = Environment('empty')



.. cssclass:: files morse-section

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

- `Source code <../../_modules/morse/robots/quadrotor.html>`_
- `Unit-test <../../_modules/base/quadrotor_testing.html>`_




*(This page has been auto-generated from MORSE module morse.robots.quadrotor.)*
