.. _package-rst-tracking: ====================== Package rst.tracking ====================== Tracking refers to the process of maintaining an estimate of some property, such as the position, of a tracked subject over time. Messages ======== .. container:: mess4ge-multi .. container:: mess4ge-graph .. digraph:: message_graph fontname="Arial"; fontsize=11; stylesheet="../_static/graphs.css"; node [fontsize=11,fontname="Arial"] edge [fontsize=11,fontname="Arial"] "22" [label=<
TrackedPolygonalPatches3D
TrackedPolygonalPatch3Dpatch
>,shape=box,style=filled,fillcolor="white"]; "23" [label=<
TrackedPolygonalPatch3D
TrackingInfoinfo
PolygonalPatch3Dpatch
>,shape=box,style=filled,fillcolor="white"]; "24" [label=<
PolygonalPatch3D
Posebase
Vec2DFloatborder
>,shape=box,style=filled,fillcolor="white"]; "25" [label=<
Vec2DFloat
FLOAT32x
FLOAT32y
>,shape=box,style=filled,fillcolor="white"]; "16" [label=<
TrackedClassifiedRegions3D
TrackedClassifiedRegion3Dregion
>,shape=box,style=filled,fillcolor="white"]; "17" [label=<
TrackedClassifiedRegion3D
TrackingInfoinfo
ClassifiedRegion3Dregion
>,shape=box,style=filled,fillcolor="white"]; "18" [label=<
ClassifiedRegion3D
BoundingBox3DFloatregion
ClassificationResultresult
>,shape=box,style=filled,fillcolor="white"]; "20" [label=<
ClassificationResult
OCTET-VECTORdecided_class
ClassWithProbabilityclasses
>,shape=box,style=filled,fillcolor="white"]; "21" [label=<
ClassWithProbability
OCTET-VECTORname
FLOAT32confidence
>,shape=box,style=filled,fillcolor="white"]; "19" [label=<
BoundingBox3DFloat
Posetransformation
FLOAT32width
FLOAT32depth
FLOAT32height
>,shape=box,style=filled,fillcolor="white"]; "13" [label=<
States
Statestate
>,shape=box,style=filled,fillcolor="white"]; "14" [label=<
State
TrackingInfoinfo
Aspectaspect
>,shape=box,style=filled,fillcolor="white"]; "15" [label=<
Aspect
ASPECT_POSITION_2D0
ASPECT_POSITION_3D1
ASPECT_AXIS_ALIGNED_BOUNDING_BOX_2D2
ASPECT_AXIS_ALIGNED_BOUNDING_BOX_3D3
ASPECT_BOUNDING_BOX_2D4
ASPECT_BOUNDING_BOX_3D5
ASPECT_CONTOUR6
ASPECT_POSTURE_2D7
ASPECT_POSTURE_3D8
>,shape=box,style=filled,fillcolor="white"]; "10" [label=<
TrackedPostures3DFloat
TrackedPosture3DFloatposture
>,shape=box,style=filled,fillcolor="white"]; "11" [label=<
TrackedPosture3DFloat
TrackingInfoinfo
Posture3DFloatposture
FLOAT32confidence
>,shape=box,style=filled,fillcolor="white"]; "12" [label=<
Posture3DFloat
Translationposition
Rotationrotation
OCTET-VECTORname
>,shape=box,style=filled,fillcolor="white"]; "8" [label=<
TrackedPositions3DFloat
TrackedPosition3DFloatposition
>,shape=box,style=filled,fillcolor="white"]; "9" [label=<
TrackedPosition3DFloat
TrackingInfoinfo
Translationposition
FLOAT32confidence
>,shape=box,style=filled,fillcolor="white"]; "3" [label=<
TrackedPoseCollection
TrackedPoseelement
>,shape=box,style=filled,fillcolor="white"]; "4" [label=<
TrackedPose
TrackingInfoinfo
Posepose
FLOAT32translation_confidence
FLOAT32rotation_confidence
>,shape=box,style=filled,fillcolor="white"]; "5" [label=<
Pose
Translationtranslation
Rotationrotation
>,shape=box,style=filled,fillcolor="white"]; "7" [label=<
Rotation
FLOAT64qw
FLOAT64qx
FLOAT64qy
FLOAT64qz
ASCII-STRINGframe_id
>,shape=box,style=filled,fillcolor="white"]; "6" [label=<
Translation
FLOAT64x
FLOAT64y
FLOAT64z
ASCII-STRINGframe_id
>,shape=box,style=filled,fillcolor="white"]; "1" [label=<
TrackingInfoCollection
TrackingInfoelement
>,shape=box,style=filled,fillcolor="white"]; "2" [label=<
TrackingInfo
UINT32id
>,shape=box,style=filled,fillcolor="white"]; "22":patch -> "23" []; "23":patch -> "24" []; "23":info -> "2" []; "24":border -> "25" []; "24":base -> "5" []; "16":region -> "17" []; "17":region -> "18" []; "17":info -> "2" []; "18":result -> "20" []; "18":region -> "19" []; "20" -> "21" []; "20":classes -> "21" []; "19":transformation -> "5" []; "13":state -> "14" []; "14" -> "15" []; "14":aspect -> "15" []; "14":info -> "2" []; "10":posture -> "11" []; "11":posture -> "12" []; "11":info -> "2" []; "12":rotation -> "7" []; "12":position -> "6" []; "8":position -> "9" []; "9":position -> "6" []; "9":info -> "2" []; "3":element -> "4" []; "4":pose -> "5" []; "4":info -> "2" []; "5":rotation -> "7" []; "5":translation -> "6" []; "1":element -> "2" []; .. container:: mess4ge-list .. container:: messages * :ref:`TrackingInfoCollection ` * :ref:`TrackedPoseCollection ` * :ref:`TrackedPositions3DFloat ` * :ref:`TrackedPostures3DFloat ` * :ref:`TrackedPosture3DFloat ` * :ref:`States ` * :ref:`State ` * :ref:`TrackedClassifiedRegions3D ` * :ref:`TrackedClassifiedRegion3D ` * :ref:`TrackedPosition3DFloat ` * :ref:`TrackedPose ` * :ref:`TrackedPolygonalPatches3D ` * :ref:`TrackedPolygonalPatch3D ` * :ref:`TrackingInfo ` .. container:: clearer clearer: should be made invisible via css .. _message-rst-tracking-trackinginfocollection: Message TrackingInfoCollection ------------------------------ .. container:: message-rst-tracking-trackinginfocollection-multi .. container:: message-rst-tracking-trackinginfocollection-documentation .. py:class:: rst.tracking.TrackingInfoCollection Collection of :py:class:`TrackingInfo ` instances. Auto-generated. .. py:attribute:: element :type: array of :py:class:`rst.tracking.TrackingInfo` The individual elements of the collection. Constraints regarding the empty collection, sorting, duplicated entries etc. are use case specific. .. container:: message-rst-tracking-trackinginfocollection-source :download:`Download this file ` .. literalinclude:: //home/jenkins/workspace/rst-manual-0.15-merge-simulator/upstream/RST-0.15.0-Linux/share/rst0.15/proto/stable/rst/tracking/TrackingInfoCollection.proto :lines: 12-22 :language: protobuf :emphasize-lines: 9-9 .. _message-rst-tracking-trackedposecollection: Message TrackedPoseCollection ----------------------------- .. container:: message-rst-tracking-trackedposecollection-multi .. container:: message-rst-tracking-trackedposecollection-documentation .. py:class:: rst.tracking.TrackedPoseCollection Collection of :py:class:`TrackedPose ` instances. Auto-generated. .. py:attribute:: element :type: array of :py:class:`rst.tracking.TrackedPose` The individual elements of the collection. Constraints regarding the empty collection, sorting, duplicated entries etc. are use case specific. .. container:: message-rst-tracking-trackedposecollection-source :download:`Download this file ` .. literalinclude:: //home/jenkins/workspace/rst-manual-0.15-merge-simulator/upstream/RST-0.15.0-Linux/share/rst0.15/proto/stable/rst/tracking/TrackedPoseCollection.proto :lines: 12-22 :language: protobuf :emphasize-lines: 9-9 .. _message-rst-tracking-trackedpositions3dfloat: Message TrackedPositions3DFloat ------------------------------- .. container:: message-rst-tracking-trackedpositions3dfloat-multi .. container:: message-rst-tracking-trackedpositions3dfloat-documentation .. py:class:: rst.tracking.TrackedPositions3DFloat A collection of :py:class:`TrackedPosition3DFloat ` objects. Collecting multiple :py:class:`TrackedPosition3DFloat ` objects in a single data structure is an easy way to express the fact that they have been recorded at the same point in time. .. codeauthor:: Jan Moringen .. py:attribute:: position :type: array of :py:class:`rst.tracking.TrackedPosition3DFloat` Empty collections of tracked positions are allowed but should rarely be necessary. Order of positions is not significant since association of tracked positions to tracked subjects is done via . .. container:: message-rst-tracking-trackedpositions3dfloat-source :download:`Download this file ` .. literalinclude:: //home/jenkins/workspace/rst-manual-0.15-merge-simulator/upstream/RST-0.15.0-Linux/share/rst0.15/proto/stable/rst/tracking/TrackedPositions3DFloat.proto :lines: 18-30 :language: protobuf :emphasize-lines: 11-11 .. _message-rst-tracking-trackedpostures3dfloat: Message TrackedPostures3DFloat ------------------------------ .. container:: message-rst-tracking-trackedpostures3dfloat-multi .. container:: message-rst-tracking-trackedpostures3dfloat-documentation .. py:class:: rst.tracking.TrackedPostures3DFloat A collection of :py:class:`TrackedPosture3DFloat ` objects. Collecting multiple :py:class:`TrackedPosture3DFloat ` objects in a single data structure is an easy way to express the fact that they have been recorded at the same point in time. .. codeauthor:: Jan Moringen .. py:attribute:: posture :type: array of :py:class:`rst.tracking.TrackedPosture3DFloat` Empty collections of tracked postures are allowed but should rarely be necessary. Order of postures is not significant since association of tracked postures to tracked subjects is done via . .. container:: message-rst-tracking-trackedpostures3dfloat-source :download:`Download this file ` .. literalinclude:: //home/jenkins/workspace/rst-manual-0.15-merge-simulator/upstream/RST-0.15.0-Linux/share/rst0.15/proto/stable/rst/tracking/TrackedPostures3DFloat.proto :lines: 18-30 :language: protobuf :emphasize-lines: 11-11 .. _message-rst-tracking-trackedposture3dfloat: Message TrackedPosture3DFloat ----------------------------- .. container:: message-rst-tracking-trackedposture3dfloat-multi .. container:: message-rst-tracking-trackedposture3dfloat-documentation .. py:class:: rst.tracking.TrackedPosture3DFloat **Constraint**: ``len(.posture) == len(.confidence)`` Posture of an articulated tracked subject. .. codeauthor:: Jan Moringen .. py:attribute:: info :type: :py:class:`rst.tracking.TrackingInfo` Tracking information such as identity of the subject being tracked. .. py:attribute:: posture :type: :py:class:`rst.kinematics.Posture3DFloat` Posture of the tracked subject identified by :py:attr:`info `. .. py:attribute:: confidence :type: array of :py:class:`FLOAT32` **Constraint**: ``0 <= value <= 1`` Confidence values for the individual positions stored in :py:attr:`posture `. .. container:: message-rst-tracking-trackedposture3dfloat-source :download:`Download this file ` .. literalinclude:: //home/jenkins/workspace/rst-manual-0.15-merge-simulator/upstream/RST-0.15.0-Linux/share/rst0.15/proto/stable/rst/tracking/TrackedPosture3DFloat.proto :lines: 16-36 :language: protobuf :emphasize-lines: 7-7,12-12,19-19 .. _message-rst-tracking-states: Message States -------------- .. container:: message-rst-tracking-states-multi .. container:: message-rst-tracking-states-documentation .. py:class:: rst.tracking.States A collection of :py:class:`State ` objects. Collecting multiple :py:class:`State ` objects in a single data structure is an easy way to express the fact that they have been recorded at the same point in time. .. codeauthor:: Jan Moringen .. py:attribute:: state :type: array of :py:class:`rst.tracking.State` Empty collections of states are allowed. Order of states is not significant since association of states to tracked subjects is done via . .. container:: message-rst-tracking-states-source :download:`Download this file ` .. literalinclude:: //home/jenkins/workspace/rst-manual-0.15-merge-simulator/upstream/RST-0.15.0-Linux/share/rst0.15/proto/stable/rst/tracking/States.proto :lines: 18-28 :language: protobuf :emphasize-lines: 9-9 .. _message-rst-tracking-state: Message State ------------- .. container:: message-rst-tracking-state-multi .. container:: message-rst-tracking-state-documentation .. py:class:: rst.tracking.State Describes the available tracking information (via :py:attr:`aspect `) for a given tracked subject (identified by :py:attr:`info `). Possible applications include answering queries regarding the tracking state of certain subjects or broadcasting updated tracking state information when changes occur. .. codeauthor:: Jan Moringen .. py:attribute:: info :type: :py:class:`rst.tracking.TrackingInfo` Identifies the subject for which the tracking state is reported. .. py:attribute:: aspect :type: array of :py:class:`rst.tracking.State.Aspect` Lists of the available tracking aspects for the subject identified by :py:attr:`info `. An empty collection of aspects is allowed and corresponds to the fact that a subject has been lost. The order of aspects is not significant. .. container:: message-rst-tracking-state-source :download:`Download this file ` .. literalinclude:: //home/jenkins/workspace/rst-manual-0.15-merge-simulator/upstream/RST-0.15.0-Linux/share/rst0.15/proto/stable/rst/tracking/State.proto :lines: 19-118 :language: protobuf :emphasize-lines: 87-87,98-98 .. _message-rst-tracking-state-aspect: Message Aspect -------------- .. container:: message-rst-tracking-state-aspect-multi .. container:: message-rst-tracking-state-aspect-documentation .. py:class:: rst.tracking.State.Aspect Aspects of tracking information which are available in the reported tracking state. .. py:attribute:: ASPECT_POSITION_2D = 0 A rough description of the position of the tracked subject in two-dimensional space (e.g. in a camera image) is available. See :py:class:`Vec2DInt `, :py:class:`Vec2DFloat `. .. py:attribute:: ASPECT_POSITION_3D = 1 A rough description of the position of the tracked subject in three-dimensional space is available. See :py:class:`Translation `. .. py:attribute:: ASPECT_AXIS_ALIGNED_BOUNDING_BOX_2D = 2 An axis-aligned box bounding the area in which the tracked subject is contained is available. See :py:class:`BoundingBox `. .. py:attribute:: ASPECT_AXIS_ALIGNED_BOUNDING_BOX_3D = 3 An axis-aligned box bounding the volume in which the tracked subject is contained is available. See :py:class:`AxisAlignedBoundingBox3DFloat `. .. py:attribute:: ASPECT_BOUNDING_BOX_2D = 4 A box in general position and orientation (i.e. not necessarily axis-aligned) bounding the area in which the tracked subject is contained is available. .. py:attribute:: ASPECT_BOUNDING_BOX_3D = 5 A box in general position and orientation (i.e. not necessarily axis-aligned) bounding the volume in which the tracked subject is contained is available. See :py:class:`BoundingBox3DFloat `. .. py:attribute:: ASPECT_CONTOUR = 6 A contour bounding the area in which the tracked subject is contained is available. .. py:attribute:: ASPECT_POSTURE_2D = 7 For an articulated tracked subject (such as a human or a humanoid robot), individual estimations of the positions of certain points on/in the body of the subject in two-dimensional space are available. .. py:attribute:: ASPECT_POSTURE_3D = 8 For an articulated tracked subject (such as a human or a humanoid robot), individual estimations of the positions of certain points on/in the body of the subject in three-dimensional space are available. See :py:class:`Posture3DFloat `. .. container:: message-rst-tracking-state-aspect-source :download:`Download this file ` .. literalinclude:: //home/jenkins/workspace/rst-manual-0.15-merge-simulator/upstream/RST-0.15.0-Linux/share/rst0.15/proto/stable/rst/tracking/State.proto :lines: 25-99 :language: protobuf :emphasize-lines: 10-10,18-18,26-26,34-34,41-41,50-50,56-56,64-64,74-74 .. _message-rst-tracking-trackedclassifiedregions3d: Message TrackedClassifiedRegions3D ---------------------------------- .. container:: message-rst-tracking-trackedclassifiedregions3d-multi .. container:: message-rst-tracking-trackedclassifiedregions3d-documentation .. py:class:: rst.tracking.TrackedClassifiedRegions3D A collection of :py:class:`TrackedClassifiedRegion3D ` objects. Collecting multiple :py:class:`TrackedClassifiedRegion3D ` objects in a single data structure is an easy way to express the fact that they have been recorded at the same point in time. .. codeauthor:: Leon Ziegler .. py:attribute:: region :type: array of :py:class:`rst.tracking.TrackedClassifiedRegion3D` Empty collections of tracked regions are allowed but should rarely be necessary. Order of regions is not significant since association of tracked regions to tracked subjects is done via . .. container:: message-rst-tracking-trackedclassifiedregions3d-source :download:`Download this file ` .. literalinclude:: //home/jenkins/workspace/rst-manual-0.15-merge-simulator/upstream/RST-0.15.0-Linux/share/rst0.15/proto/stable/rst/tracking/TrackedClassifiedRegions3D.proto :lines: 18-30 :language: protobuf :emphasize-lines: 11-11 .. _message-rst-tracking-trackedclassifiedregion3d: Message TrackedClassifiedRegion3D --------------------------------- .. container:: message-rst-tracking-trackedclassifiedregion3d-multi .. container:: message-rst-tracking-trackedclassifiedregion3d-documentation .. py:class:: rst.tracking.TrackedClassifiedRegion3D A region in 3D space with tracking information and classification results. .. codeauthor:: Leon Ziegler .. py:attribute:: info :type: :py:class:`rst.tracking.TrackingInfo` Tracking information such as identity of the subject being tracked. .. py:attribute:: region :type: :py:class:`rst.classification.ClassifiedRegion3D` Region and class of the tracked subject identified by :py:attr:`info ` in three-dimensional space. .. container:: message-rst-tracking-trackedclassifiedregion3d-source :download:`Download this file ` .. literalinclude:: //home/jenkins/workspace/rst-manual-0.15-merge-simulator/upstream/RST-0.15.0-Linux/share/rst0.15/proto/stable/rst/tracking/TrackedClassifiedRegion3D.proto :lines: 15-28 :language: protobuf :emphasize-lines: 6-6,12-12 .. _message-rst-tracking-trackedposition3dfloat: Message TrackedPosition3DFloat ------------------------------ .. container:: message-rst-tracking-trackedposition3dfloat-multi .. container:: message-rst-tracking-trackedposition3dfloat-documentation .. py:class:: rst.tracking.TrackedPosition3DFloat Position of a tracked subject in three-dimensional space. .. codeauthor:: Jan Moringen .. py:attribute:: info :type: :py:class:`rst.tracking.TrackingInfo` Tracking information such as identity of the subject being tracked. .. py:attribute:: position :type: :py:class:`rst.geometry.Translation` Position of the tracked subject identified by :py:attr:`info ` in three-dimensional space. .. py:attribute:: confidence :type: :py:class:`FLOAT32` **Constraint**: ``0 <= value <= 1`` Confidence in the correctness of the value stored in :py:attr:`position `. .. container:: message-rst-tracking-trackedposition3dfloat-source :download:`Download this file ` .. literalinclude:: //home/jenkins/workspace/rst-manual-0.15-merge-simulator/upstream/RST-0.15.0-Linux/share/rst0.15/proto/stable/rst/tracking/TrackedPosition3DFloat.proto :lines: 15-36 :language: protobuf :emphasize-lines: 7-7,13-13,20-20 .. _message-rst-tracking-trackedpose: Message TrackedPose ------------------- .. container:: message-rst-tracking-trackedpose-multi .. container:: message-rst-tracking-trackedpose-documentation .. py:class:: rst.tracking.TrackedPose Pose of a tracked subject in three-dimensional space. .. codeauthor:: Phillip Luecking @create_collection .. py:attribute:: info :type: :py:class:`rst.tracking.TrackingInfo` Tracking information such as identity of the subject being tracked. .. py:attribute:: pose :type: :py:class:`rst.geometry.Pose` Pose of the tracked subject identified by :py:attr:`info ` in three-dimensional space. .. py:attribute:: translation_confidence :type: :py:class:`FLOAT32` **Constraint**: ``0 <= value <= 1`` Confidence in the correctness of the translation stored in :py:attr:`pose `. .. py:attribute:: rotation_confidence :type: :py:class:`FLOAT32` **Constraint**: ``0 <= value <= 1`` Confidence in the correctness of the rotation stored in :py:attr:`pose `. .. container:: message-rst-tracking-trackedpose-source :download:`Download this file ` .. literalinclude:: //home/jenkins/workspace/rst-manual-0.15-merge-simulator/upstream/RST-0.15.0-Linux/share/rst0.15/proto/stable/rst/tracking/TrackedPose.proto :lines: 16-44 :language: protobuf :emphasize-lines: 7-7,13-13,20-20,27-27 .. _message-rst-tracking-trackedpolygonalpatches3d: Message TrackedPolygonalPatches3D --------------------------------- .. container:: message-rst-tracking-trackedpolygonalpatches3d-multi .. container:: message-rst-tracking-trackedpolygonalpatches3d-documentation .. py:class:: rst.tracking.TrackedPolygonalPatches3D A collection of :py:class:`TrackedPolygonalPatch3D ` objects. Collecting multiple :py:class:`TrackedPolygonalPatch3D ` objects in a single data structure is an easy way to express the fact that they have been recorded at the same point in time. .. codeauthor:: Leon Ziegler .. py:attribute:: patch :type: array of :py:class:`rst.tracking.TrackedPolygonalPatch3D` Empty collections of tracked patches are allowed but should rarely be necessary. Order of patches is not significant since association of tracked patches to tracked subjects is done via . .. container:: message-rst-tracking-trackedpolygonalpatches3d-source :download:`Download this file ` .. literalinclude:: //home/jenkins/workspace/rst-manual-0.15-merge-simulator/upstream/RST-0.15.0-Linux/share/rst0.15/proto/stable/rst/tracking/TrackedPolygonalPatches3D.proto :lines: 18-29 :language: protobuf :emphasize-lines: 10-10 .. _message-rst-tracking-trackedpolygonalpatch3d: Message TrackedPolygonalPatch3D ------------------------------- .. container:: message-rst-tracking-trackedpolygonalpatch3d-multi .. container:: message-rst-tracking-trackedpolygonalpatch3d-documentation .. py:class:: rst.tracking.TrackedPolygonalPatch3D A planar polygon in 3D space with tracking information. .. codeauthor:: Leon Ziegler .. py:attribute:: info :type: :py:class:`rst.tracking.TrackingInfo` Tracking information such as identity of the subject being tracked. .. py:attribute:: patch :type: :py:class:`rst.geometry.PolygonalPatch3D` Geometric properties of the tracked subject identified by :py:attr:`info ` in three-dimensional space. .. container:: message-rst-tracking-trackedpolygonalpatch3d-source :download:`Download this file ` .. literalinclude:: //home/jenkins/workspace/rst-manual-0.15-merge-simulator/upstream/RST-0.15.0-Linux/share/rst0.15/proto/stable/rst/tracking/TrackedPolygonalPatch3D.proto :lines: 15-29 :language: protobuf :emphasize-lines: 7-7,13-13 .. _message-rst-tracking-trackinginfo: Message TrackingInfo -------------------- .. container:: message-rst-tracking-trackinginfo-multi .. container:: message-rst-tracking-trackinginfo-documentation .. py:class:: rst.tracking.TrackingInfo Identifier for tracked objects. .. codeauthor:: Johannes Wienke @create_collection .. py:attribute:: id :type: :py:class:`UINT32` A unique id for each track. .. container:: message-rst-tracking-trackinginfo-source :download:`Download this file ` .. literalinclude:: //home/jenkins/workspace/rst-manual-0.15-merge-simulator/upstream/RST-0.15.0-Linux/share/rst0.15/proto/stable/rst/tracking/TrackingInfo.proto :lines: 13-20 :language: protobuf :emphasize-lines: 6-6