Stabilized Flight for quadrotor =============================== **Motion controller using linear model of a stabilized quadrotor** This actuator controls a stabilized quadrotor using a linear model. Basically, it reads a command (phi, theta, psi, h), and computes, using a second order filter the speed and the position of the robot. The quadrotor must not have Rigid Body physics. .. note:: Coordinates are given with respect to the origin of Blender's coordinate axis. .. note:: The actuator does not consider friction force. Setting theta_c or phi_c to 0 leads to a constant speed on axis x or y. .. cssclass:: properties morse-section Configuration parameters for Stabilized Flight for quadrotor ------------------------------------------------------------ *No configurable parameter.* .. cssclass:: fields morse-section Data fields ----------- This actuator reads these datafields at each simulation step: - ``theta_c`` (float, initial value: ``0.0``) Commands the pitch of the quadrotor. It is directly related to the quadrotor acceleration on the x axis. - ``phi_c`` (float, initial value: ``0.0``) Commands the roll of the quadrotor. It is directly related to the quadrotor acceleration on the y axis. - ``psi_c`` (float, initial value: ``0.0``) Commands the yaw of the quadrotor. - ``h_c`` (float, initial value: ``0.0``) Commands the z of the quadrotor. *Interface support:* - :tag:`yarp` as yarp::Bottle (:py:mod:`morse.middleware.yarp_datastream.YarpReader`) - :tag:`socket` as straight JSON deserialization (:py:mod:`morse.middleware.socket_datastream.SocketReader`) .. cssclass:: services morse-section Services for Stabilized Flight for quadrotor -------------------------------------------- - ``get_properties()`` (blocking) Returns the properties of a component. - Return value a dictionary of the current component's properties - ``set_cons(phi, theta, psi, h)`` (blocking) Specify a consign for the robot. It has the same effect that writing the corresponding constraint in the datastream. - Parameters - ``phi``: commands the roll of the quadrotor - ``theta``: command the pitch of the quadrotor - ``psi``: command the yaw of the quadrotor - ``h``: the expected height for the quadrotor. - ``set_property(prop_name, prop_val)`` (blocking) Modify one property on a component - Parameters - ``prop_name``: the name of the property to modify (as shown the documentation) - ``prop_val``: the new value of the property. Note that there is no checking about the type of the value so be careful - Return value nothing - ``stop()`` (blocking) Stop the robot. It basically means that speed on the different axis is set to 0. Moreover, the different filters are reset. - ``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 * # adds a default robot (the MORSE mascott!) robot = Morsy() # creates a new instance of the actuator stabilizedquadrotor = StabilizedQuadrotor() # place your component at the correct location stabilizedquadrotor.translate(, , ) stabilizedquadrotor.rotate(, , ) robot.append(stabilizedquadrotor) # define one or several communication interface, like 'socket' stabilizedquadrotor.add_interface() env = Environment('empty') .. cssclass:: files morse-section Other sources of examples +++++++++++++++++++++++++ - `Source code <../../_modules/morse/actuators/stabilized_quadrotor.html>`_ - `Unit-test <../../_modules/base/stabilized_quadrotor_testing.html>`_ *(This page has been auto-generated from MORSE module morse.actuators.stabilized_quadrotor.)*