.. _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
OCTET-VECTORpersistent_id
>,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"[dir=both,arrowtail=odiamond]; "20":classes -> "21"[]; "19":transformation -> "5"[]; "13":state -> "14"[]; "14" -> "15"[dir=both,arrowtail=odiamond]; "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-trunk/upstream/RST-0.19.0-Linux/share/rst0.19/proto/stable/rst/tracking/TrackingInfoCollection.proto :lines: 14-24 :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-trunk/upstream/RST-0.19.0-Linux/share/rst0.19/proto/stable/rst/tracking/TrackedPoseCollection.proto :lines: 14-24 :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-trunk/upstream/RST-0.19.0-Linux/share/rst0.19/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-trunk/upstream/RST-0.19.0-Linux/share/rst0.19/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-trunk/upstream/RST-0.19.0-Linux/share/rst0.19/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-trunk/upstream/RST-0.19.0-Linux/share/rst0.19/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-trunk/upstream/RST-0.19.0-Linux/share/rst0.19/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-trunk/upstream/RST-0.19.0-Linux/share/rst0.19/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-trunk/upstream/RST-0.19.0-Linux/share/rst0.19/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-trunk/upstream/RST-0.19.0-Linux/share/rst0.19/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-trunk/upstream/RST-0.19.0-Linux/share/rst0.19/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-trunk/upstream/RST-0.19.0-Linux/share/rst0.19/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-trunk/upstream/RST-0.19.0-Linux/share/rst0.19/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-trunk/upstream/RST-0.19.0-Linux/share/rst0.19/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 (locally) unique id for the track. Repeated values can occur due to component restarts or integer overflows. .. py:attribute:: persistent_id :type: :py:class:`OCTET-VECTOR` **Constraint**: ``len(value) = 16`` A unique id for the track. Except in case of hash collisions, two different tracks should not be assigned the same id, even across component restarts. For this encoding, the encoded UUID is 16 bytes long. .. container:: message-rst-tracking-trackinginfo-source :download:`Download this file ` .. literalinclude:: //home/jenkins/workspace/rst-manual-trunk/upstream/RST-0.19.0-Linux/share/rst0.19/proto/stable/rst/tracking/TrackingInfo.proto :lines: 13-34 :language: protobuf :emphasize-lines: 9-9,20-20