PTU Pose Sensor =============== **Returns the pan/tilt values of a pan-tilt unit** Simple sensor that provides the current rotation angles of the *pan* and *tilt* segments of the :doc:`PTU actuator <../actuators/ptu>`. The angles returned are in radians in the range (-pi, pi). .. note:: This sensor **must** be added as a child of the PTU you want to sense, like in the example below: .. code-block:: python robot = ATRV() ptu = PTU() robot.append(ptu) ptu.translate(z=0.9) ptu = PTUPosture('ptu_pose') ptu.append(ptu_pose) .. note:: The angles are given with respect to the orientation of the robot **See also:** :doc:`PTU actuator <../actuators/ptu>`. .. cssclass:: properties morse-section Configuration parameters for PTU Pose Sensor -------------------------------------------- *No configurable parameter.* .. cssclass:: fields morse-section Data fields ----------- This sensor exports these datafields at each simulation step: - ``timestamp`` (float, initial value: ``0.0``) number of seconds in simulated time - ``pan`` (float, initial value: ``0.0``) pan value, in radians - ``tilt`` (float, initial value: ``0.0``) tilt value, in radians *Interface support:* - :tag:`ros` as `sensor_msgs/JointState `_ (:py:mod:`morse.middleware.ros.jointstate.JointStatePublisher`) - :tag:`pocolibs` as `PLATINE_STATES `_ (:py:mod:`morse.middleware.pocolibs.sensors.platine_posture.PlatinePoster`) - :tag:`moos` as StringPublisher (:py:mod:`morse.middleware.moos.abstract_moos.StringPublisher`) - :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:`text` as key = value format with timestamp and index value (:py:mod:`morse.middleware.text_datastream.Publisher`) .. cssclass:: services morse-section Services for PTU Pose Sensor ---------------------------- - ``get_properties()`` (blocking) Returns the properties of a component. - Return value a dictionary of the current component's properties - ``get_local_data()`` (blocking) Returns the current data stored in the sensor. - Return value a dictionary of the current sensor's data - ``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 - ``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 sensor ptuposture = PTUPosture() # place your component at the correct location ptuposture.translate(, , ) ptuposture.rotate(, , ) robot.append(ptuposture) # define one or several communication interface, like 'socket' ptuposture.add_interface() env = Environment('empty') .. cssclass:: files morse-section Other sources of examples +++++++++++++++++++++++++ - `Source code <../../_modules/morse/sensors/ptu_posture.html>`_ - `Unit-test <../../_modules/base/ptu_posture_testing.html>`_ *(This page has been auto-generated from MORSE module morse.sensors.ptu_posture.)*