Skip to content

Example 2021 FirstFleet Document

Marc Hanheide edited this page May 18, 2022 · 2 revisions

existing keys on collection 2021_riseholme_framos_cameras (as of 18/5/2022)

{
  "_id": 1,
  "_ts_meta.session": 1,
  "_ts_meta.sys_time": 1,
  "robot.current_node.data": 1
}

Document

Here's one full document extracted from the collection 2021_riseholme_framos_cameras:

{
  "_id": "ObjectId(\"609aa0314e5e824f5198411b\")",
  "_ts_meta": {
    "sys_time": 1620746289.157533,
    "session": "ObjectId(\"609a9f904e5e824f51984119\")",
    "ros_time": 1620746289.157572
  },
  "cameras": {
    "side": {
      "color": {
        "image": {
          "_connection_header": {
            "message_definition": "# This message contains an uncompressed image\n# (0, 0) is at top-left corner of image\n#\n\nHeader header        # Header timestamp should be acquisition time of image\n                     # Header frame_id should be optical frame of camera\n                     # origin of frame should be optical center of camera\n                     # +x should point to the right in the image\n                     # +y should point down in the image\n                     # +z should point into to plane of the image\n                     # If the frame_id here and the frame_id of the CameraInfo\n                     # message associated with the image conflict\n                     # the behavior is undefined\n\nuint32 height         # image height, that is, number of rows\nuint32 width          # image width, that is, number of columns\n\n# The legal values for encoding are in file src/image_encodings.cpp\n# If you want to standardize a new string format, join\n# ros-users@lists.sourceforge.net and send an email proposing a new encoding.\n\nstring encoding       # Encoding of pixels -- channel meaning, ordering, size\n                      # taken from the list of strings in include/sensor_msgs/image_encodings.h\n\nuint8 is_bigendian    # is this data bigendian?\nuint32 step           # Full row length in bytes\nuint8[] data          # actual matrix data, size is (step * rows)\n\n================================================================================\nMSG: std_msgs/Header\n# Standard metadata for higher-level stamped data types.\n# This is generally used to communicate timestamped data \n# in a particular coordinate frame.\n# \n# sequence ID: consecutively increasing ID \nuint32 seq\n#Two-integer timestamp that is expressed as:\n# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')\n# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')\n# time-handling sugar is provided by the client library\ntime stamp\n#Frame this data is associated with\nstring frame_id\n",
            "callerid": "/camera/realsense2_camera_manager",
            "latching": "0",
            "md5sum": "060021388200f6f0f447d0fcd9c64743",
            "topic": "/camera/camera2/color/image_raw",
            "type": "sensor_msgs/Image"
          },
          "header": {
            "stamp": {
              "secs": 1620746289,
              "nsecs": 98470408,
              "_ros_meta": {
                "type": "genpy.Time",
                "time": 1620746289.114745
              }
            },
            "frame_id": "camera2_color_optical_frame",
            "seq": 5149,
            "_ros_meta": {
              "type": "std_msgs/Header",
              "time": 1620746289.114799
            }
          },
          "encoding": "rgb8",
          "height": 720,
          "width": 1280,
          "step": 3840,
          "is_bigendian": 0,
          "data": "BinData(0,\"V1E3WVM5WVM7WVM7W1I9W1I9XVE9X1M/...   (2,764,800 bytes)\")",
          "_ros_meta": {
            "type": "sensor_msgs/Image",
            "time": 1620746289.114872
          }
        },
        "intrinsics": {
          "roi": {
            "do_rectify": false,
            "height": 0,
            "width": 0,
            "y_offset": 0,
            "x_offset": 0,
            "_ros_meta": {
              "type": "sensor_msgs/RegionOfInterest",
              "time": 1620746289.115137
            }
          },
          "_connection_header": {
            "message_definition": "# This message defines meta information for a camera. It should be in a\n# camera namespace on topic \"camera_info\" and accompanied by up to five\n# image topics named:\n#\n#   image_raw - raw data from the camera driver, possibly Bayer encoded\n#   image            - monochrome, distorted\n#   image_color      - color, distorted\n#   image_rect       - monochrome, rectified\n#   image_rect_color - color, rectified\n#\n# The image_pipeline contains packages (image_proc, stereo_image_proc)\n# for producing the four processed image topics from image_raw and\n# camera_info. The meaning of the camera parameters are described in\n# detail at http://www.ros.org/wiki/image_pipeline/CameraInfo.\n#\n# The image_geometry package provides a user-friendly interface to\n# common operations using this meta information. If you want to, e.g.,\n# project a 3d point into image coordinates, we strongly recommend\n# using image_geometry.\n#\n# If the camera is uncalibrated, the matrices D, K, R, P should be left\n# zeroed out. In particular, clients may assume that K[0] == 0.0\n# indicates an uncalibrated camera.\n\n#######################################################################\n#                     Image acquisition info                          #\n#######################################################################\n\n# Time of image acquisition, camera coordinate frame ID\nHeader header    # Header timestamp should be acquisition time of image\n                 # Header frame_id should be optical frame of camera\n                 # origin of frame should be optical center of camera\n                 # +x should point to the right in the image\n                 # +y should point down in the image\n                 # +z should point into the plane of the image\n\n\n#######################################################################\n#                      Calibration Parameters                         #\n#######################################################################\n# These are fixed during camera calibration. Their values will be the #\n# same in all messages until the camera is recalibrated. Note that    #\n# self-calibrating systems may \"recalibrate\" frequently.              #\n#                                                                     #\n# The internal parameters can be used to warp a raw (distorted) image #\n# to:                                                                 #\n#   1. An undistorted image (requires D and K)                        #\n#   2. A rectified image (requires D, K, R)                           #\n# The projection matrix P projects 3D points into the rectified image.#\n#######################################################################\n\n# The image dimensions with which the camera was calibrated. Normally\n# this will be the full camera resolution in pixels.\nuint32 height\nuint32 width\n\n# The distortion model used. Supported models are listed in\n# sensor_msgs/distortion_models.h. For most cameras, \"plumb_bob\" - a\n# simple model of radial and tangential distortion - is sufficient.\nstring distortion_model\n\n# The distortion parameters, size depending on the distortion model.\n# For \"plumb_bob\", the 5 parameters are: (k1, k2, t1, t2, k3).\nfloat64[] D\n\n# Intrinsic camera matrix for the raw (distorted) images.\n#     [fx  0 cx]\n# K = [ 0 fy cy]\n#     [ 0  0  1]\n# Projects 3D points in the camera coordinate frame to 2D pixel\n# coordinates using the focal lengths (fx, fy) and principal point\n# (cx, cy).\nfloat64[9]  K # 3x3 row-major matrix\n\n# Rectification matrix (stereo cameras only)\n# A rotation matrix aligning the camera coordinate system to the ideal\n# stereo image plane so that epipolar lines in both stereo images are\n# parallel.\nfloat64[9]  R # 3x3 row-major matrix\n\n# Projection/camera matrix\n#     [fx'  0  cx' Tx]\n# P = [ 0  fy' cy' Ty]\n#     [ 0   0   1   0]\n# By convention, this matrix specifies the intrinsic (camera) matrix\n#  of the processed (rectified) image. That is, the left 3x3 portion\n#  is the normal camera intrinsic matrix for the rectified image.\n# It projects 3D points in the camera coordinate frame to 2D pixel\n#  coordinates using the focal lengths (fx', fy') and principal point\n#  (cx', cy') - these may differ from the values in K.\n# For monocular cameras, Tx = Ty = 0. Normally, monocular cameras will\n#  also have R = the identity and P[1:3,1:3] = K.\n# For a stereo pair, the fourth column [Tx Ty 0]' is related to the\n#  position of the optical center of the second camera in the first\n#  camera's frame. We assume Tz = 0 so both cameras are in the same\n#  stereo image plane. The first camera always has Tx = Ty = 0. For\n#  the right (second) camera of a horizontal stereo pair, Ty = 0 and\n#  Tx = -fx' * B, where B is the baseline between the cameras.\n# Given a 3D point [X Y Z]', the projection (x, y) of the point onto\n#  the rectified image is given by:\n#  [u v w]' = P * [X Y Z 1]'\n#         x = u / w\n#         y = v / w\n#  This holds for both images of a stereo pair.\nfloat64[12] P # 3x4 row-major matrix\n\n\n#######################################################################\n#                      Operational Parameters                         #\n#######################################################################\n# These define the image region actually captured by the camera       #\n# driver. Although they affect the geometry of the output image, they #\n# may be changed freely without recalibrating the camera.             #\n#######################################################################\n\n# Binning refers here to any camera setting which combines rectangular\n#  neighborhoods of pixels into larger \"super-pixels.\" It reduces the\n#  resolution of the output image to\n#  (width / binning_x) x (height / binning_y).\n# The default values binning_x = binning_y = 0 is considered the same\n#  as binning_x = binning_y = 1 (no subsampling).\nuint32 binning_x\nuint32 binning_y\n\n# Region of interest (subwindow of full camera resolution), given in\n#  full resolution (unbinned) image coordinates. A particular ROI\n#  always denotes the same window of pixels on the camera sensor,\n#  regardless of binning settings.\n# The default setting of roi (all values 0) is considered the same as\n#  full resolution (roi.width = width, roi.height = height).\nRegionOfInterest roi\n\n================================================================================\nMSG: std_msgs/Header\n# Standard metadata for higher-level stamped data types.\n# This is generally used to communicate timestamped data \n# in a particular coordinate frame.\n# \n# sequence ID: consecutively increasing ID \nuint32 seq\n#Two-integer timestamp that is expressed as:\n# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')\n# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')\n# time-handling sugar is provided by the client library\ntime stamp\n#Frame this data is associated with\nstring frame_id\n\n================================================================================\nMSG: sensor_msgs/RegionOfInterest\n# This message is used to specify a region of interest within an image.\n#\n# When used to specify the ROI setting of the camera when the image was\n# taken, the height and width fields should either match the height and\n# width fields for the associated image; or height = width = 0\n# indicates that the full resolution image was captured.\n\nuint32 x_offset  # Leftmost pixel of the ROI\n                 # (0 if the ROI includes the left edge of the image)\nuint32 y_offset  # Topmost pixel of the ROI\n                 # (0 if the ROI includes the top edge of the image)\nuint32 height    # Height of ROI\nuint32 width     # Width of ROI\n\n# True if a distinct rectified ROI should be calculated from the \"raw\"\n# ROI in this message. Typically this should be False if the full image\n# is captured (ROI not used), and True if a subwindow is captured (ROI\n# used).\nbool do_rectify\n",
            "callerid": "/camera/realsense2_camera_manager",
            "latching": "0",
            "md5sum": "c9a58c1b0b154e0e6da7578cb991d214",
            "topic": "/camera/camera2/color/camera_info",
            "type": "sensor_msgs/CameraInfo"
          },
          "D": [
            0,
            0,
            0,
            0,
            0
          ],
          "P": [
            917.5028076171875,
            0,
            628.446533203125,
            0,
            0,
            917.1815185546875,
            366.3260192871094,
            0,
            0,
            0,
            1,
            0
          ],
          "K": [
            917.5028076171875,
            0,
            628.446533203125,
            0,
            917.1815185546875,
            366.3260192871094,
            0,
            0,
            1
          ],
          "height": 720,
          "header": {
            "stamp": {
              "secs": 1620746289,
              "nsecs": 98470408,
              "_ros_meta": {
                "type": "genpy.Time",
                "time": 1620746289.115869
              }
            },
            "frame_id": "camera2_color_optical_frame",
            "seq": 5149,
            "_ros_meta": {
              "type": "std_msgs/Header",
              "time": 1620746289.115916
            }
          },
          "R": [
            1,
            0,
            0,
            0,
            1,
            0,
            0,
            0,
            1
          ],
          "binning_x": 0,
          "binning_y": 0,
          "width": 1280,
          "_ros_meta": {
            "type": "sensor_msgs/CameraInfo",
            "time": 1620746289.116121
          },
          "distortion_model": "plumb_bob"
        }
      },
      "aligned_depth_to_color": {
        "image": {
          "_connection_header": {
            "message_definition": "# This message contains an uncompressed image\n# (0, 0) is at top-left corner of image\n#\n\nHeader header        # Header timestamp should be acquisition time of image\n                     # Header frame_id should be optical frame of camera\n                     # origin of frame should be optical center of camera\n                     # +x should point to the right in the image\n                     # +y should point down in the image\n                     # +z should point into to plane of the image\n                     # If the frame_id here and the frame_id of the CameraInfo\n                     # message associated with the image conflict\n                     # the behavior is undefined\n\nuint32 height         # image height, that is, number of rows\nuint32 width          # image width, that is, number of columns\n\n# The legal values for encoding are in file src/image_encodings.cpp\n# If you want to standardize a new string format, join\n# ros-users@lists.sourceforge.net and send an email proposing a new encoding.\n\nstring encoding       # Encoding of pixels -- channel meaning, ordering, size\n                      # taken from the list of strings in include/sensor_msgs/image_encodings.h\n\nuint8 is_bigendian    # is this data bigendian?\nuint32 step           # Full row length in bytes\nuint8[] data          # actual matrix data, size is (step * rows)\n\n================================================================================\nMSG: std_msgs/Header\n# Standard metadata for higher-level stamped data types.\n# This is generally used to communicate timestamped data \n# in a particular coordinate frame.\n# \n# sequence ID: consecutively increasing ID \nuint32 seq\n#Two-integer timestamp that is expressed as:\n# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')\n# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')\n# time-handling sugar is provided by the client library\ntime stamp\n#Frame this data is associated with\nstring frame_id\n",
            "callerid": "/camera/realsense2_camera_manager",
            "latching": "0",
            "md5sum": "060021388200f6f0f447d0fcd9c64743",
            "topic": "/camera/camera2/aligned_depth_to_color/image_raw",
            "type": "sensor_msgs/Image"
          },
          "header": {
            "stamp": {
              "secs": 1620746289,
              "nsecs": 63794064,
              "_ros_meta": {
                "type": "genpy.Time",
                "time": 1620746289.116301
              }
            },
            "frame_id": "camera2_color_optical_frame",
            "seq": 4780,
            "_ros_meta": {
              "type": "std_msgs/Header",
              "time": 1620746289.11634
            }
          },
          "encoding": "16UC1",
          "height": 720,
          "width": 1280,
          "step": 2560,
          "is_bigendian": 0,
          "data": "BinData(0,\"VglWCYAJgAmsCawJ0AnQCf8J/wkJCgkK...   (1,843,200 bytes)\")",
          "_ros_meta": {
            "type": "sensor_msgs/Image",
            "time": 1620746289.116397
          }
        }
      }
    },
    "bottom": {
      "color": {
        "image": {
          "_connection_header": {
            "message_definition": "# This message contains an uncompressed image\n# (0, 0) is at top-left corner of image\n#\n\nHeader header        # Header timestamp should be acquisition time of image\n                     # Header frame_id should be optical frame of camera\n                     # origin of frame should be optical center of camera\n                     # +x should point to the right in the image\n                     # +y should point down in the image\n                     # +z should point into to plane of the image\n                     # If the frame_id here and the frame_id of the CameraInfo\n                     # message associated with the image conflict\n                     # the behavior is undefined\n\nuint32 height         # image height, that is, number of rows\nuint32 width          # image width, that is, number of columns\n\n# The legal values for encoding are in file src/image_encodings.cpp\n# If you want to standardize a new string format, join\n# ros-users@lists.sourceforge.net and send an email proposing a new encoding.\n\nstring encoding       # Encoding of pixels -- channel meaning, ordering, size\n                      # taken from the list of strings in include/sensor_msgs/image_encodings.h\n\nuint8 is_bigendian    # is this data bigendian?\nuint32 step           # Full row length in bytes\nuint8[] data          # actual matrix data, size is (step * rows)\n\n================================================================================\nMSG: std_msgs/Header\n# Standard metadata for higher-level stamped data types.\n# This is generally used to communicate timestamped data \n# in a particular coordinate frame.\n# \n# sequence ID: consecutively increasing ID \nuint32 seq\n#Two-integer timestamp that is expressed as:\n# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')\n# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')\n# time-handling sugar is provided by the client library\ntime stamp\n#Frame this data is associated with\nstring frame_id\n",
            "callerid": "/camera/realsense2_camera_manager",
            "latching": "0",
            "md5sum": "060021388200f6f0f447d0fcd9c64743",
            "topic": "/camera/camera1/color/image_raw",
            "type": "sensor_msgs/Image"
          },
          "header": {
            "stamp": {
              "secs": 1620746289,
              "nsecs": 102062033,
              "_ros_meta": {
                "type": "genpy.Time",
                "time": 1620746289.116562
              }
            },
            "frame_id": "camera1_color_optical_frame",
            "seq": 4776,
            "_ros_meta": {
              "type": "std_msgs/Header",
              "time": 1620746289.116598
            }
          },
          "encoding": "rgb8",
          "height": 720,
          "width": 1280,
          "step": 3840,
          "is_bigendian": 0,
          "data": "BinData(0,\"QUhAQUhAQ0dARUlCSElDRUZAQUVAOz86...   (2,764,800 bytes)\")",
          "_ros_meta": {
            "type": "sensor_msgs/Image",
            "time": 1620746289.116657
          }
        },
        "intrinsics": {
          "roi": {
            "do_rectify": false,
            "height": 0,
            "width": 0,
            "y_offset": 0,
            "x_offset": 0,
            "_ros_meta": {
              "type": "sensor_msgs/RegionOfInterest",
              "time": 1620746289.11679
            }
          },
          "_connection_header": {
            "message_definition": "# This message defines meta information for a camera. It should be in a\n# camera namespace on topic \"camera_info\" and accompanied by up to five\n# image topics named:\n#\n#   image_raw - raw data from the camera driver, possibly Bayer encoded\n#   image            - monochrome, distorted\n#   image_color      - color, distorted\n#   image_rect       - monochrome, rectified\n#   image_rect_color - color, rectified\n#\n# The image_pipeline contains packages (image_proc, stereo_image_proc)\n# for producing the four processed image topics from image_raw and\n# camera_info. The meaning of the camera parameters are described in\n# detail at http://www.ros.org/wiki/image_pipeline/CameraInfo.\n#\n# The image_geometry package provides a user-friendly interface to\n# common operations using this meta information. If you want to, e.g.,\n# project a 3d point into image coordinates, we strongly recommend\n# using image_geometry.\n#\n# If the camera is uncalibrated, the matrices D, K, R, P should be left\n# zeroed out. In particular, clients may assume that K[0] == 0.0\n# indicates an uncalibrated camera.\n\n#######################################################################\n#                     Image acquisition info                          #\n#######################################################################\n\n# Time of image acquisition, camera coordinate frame ID\nHeader header    # Header timestamp should be acquisition time of image\n                 # Header frame_id should be optical frame of camera\n                 # origin of frame should be optical center of camera\n                 # +x should point to the right in the image\n                 # +y should point down in the image\n                 # +z should point into the plane of the image\n\n\n#######################################################################\n#                      Calibration Parameters                         #\n#######################################################################\n# These are fixed during camera calibration. Their values will be the #\n# same in all messages until the camera is recalibrated. Note that    #\n# self-calibrating systems may \"recalibrate\" frequently.              #\n#                                                                     #\n# The internal parameters can be used to warp a raw (distorted) image #\n# to:                                                                 #\n#   1. An undistorted image (requires D and K)                        #\n#   2. A rectified image (requires D, K, R)                           #\n# The projection matrix P projects 3D points into the rectified image.#\n#######################################################################\n\n# The image dimensions with which the camera was calibrated. Normally\n# this will be the full camera resolution in pixels.\nuint32 height\nuint32 width\n\n# The distortion model used. Supported models are listed in\n# sensor_msgs/distortion_models.h. For most cameras, \"plumb_bob\" - a\n# simple model of radial and tangential distortion - is sufficient.\nstring distortion_model\n\n# The distortion parameters, size depending on the distortion model.\n# For \"plumb_bob\", the 5 parameters are: (k1, k2, t1, t2, k3).\nfloat64[] D\n\n# Intrinsic camera matrix for the raw (distorted) images.\n#     [fx  0 cx]\n# K = [ 0 fy cy]\n#     [ 0  0  1]\n# Projects 3D points in the camera coordinate frame to 2D pixel\n# coordinates using the focal lengths (fx, fy) and principal point\n# (cx, cy).\nfloat64[9]  K # 3x3 row-major matrix\n\n# Rectification matrix (stereo cameras only)\n# A rotation matrix aligning the camera coordinate system to the ideal\n# stereo image plane so that epipolar lines in both stereo images are\n# parallel.\nfloat64[9]  R # 3x3 row-major matrix\n\n# Projection/camera matrix\n#     [fx'  0  cx' Tx]\n# P = [ 0  fy' cy' Ty]\n#     [ 0   0   1   0]\n# By convention, this matrix specifies the intrinsic (camera) matrix\n#  of the processed (rectified) image. That is, the left 3x3 portion\n#  is the normal camera intrinsic matrix for the rectified image.\n# It projects 3D points in the camera coordinate frame to 2D pixel\n#  coordinates using the focal lengths (fx', fy') and principal point\n#  (cx', cy') - these may differ from the values in K.\n# For monocular cameras, Tx = Ty = 0. Normally, monocular cameras will\n#  also have R = the identity and P[1:3,1:3] = K.\n# For a stereo pair, the fourth column [Tx Ty 0]' is related to the\n#  position of the optical center of the second camera in the first\n#  camera's frame. We assume Tz = 0 so both cameras are in the same\n#  stereo image plane. The first camera always has Tx = Ty = 0. For\n#  the right (second) camera of a horizontal stereo pair, Ty = 0 and\n#  Tx = -fx' * B, where B is the baseline between the cameras.\n# Given a 3D point [X Y Z]', the projection (x, y) of the point onto\n#  the rectified image is given by:\n#  [u v w]' = P * [X Y Z 1]'\n#         x = u / w\n#         y = v / w\n#  This holds for both images of a stereo pair.\nfloat64[12] P # 3x4 row-major matrix\n\n\n#######################################################################\n#                      Operational Parameters                         #\n#######################################################################\n# These define the image region actually captured by the camera       #\n# driver. Although they affect the geometry of the output image, they #\n# may be changed freely without recalibrating the camera.             #\n#######################################################################\n\n# Binning refers here to any camera setting which combines rectangular\n#  neighborhoods of pixels into larger \"super-pixels.\" It reduces the\n#  resolution of the output image to\n#  (width / binning_x) x (height / binning_y).\n# The default values binning_x = binning_y = 0 is considered the same\n#  as binning_x = binning_y = 1 (no subsampling).\nuint32 binning_x\nuint32 binning_y\n\n# Region of interest (subwindow of full camera resolution), given in\n#  full resolution (unbinned) image coordinates. A particular ROI\n#  always denotes the same window of pixels on the camera sensor,\n#  regardless of binning settings.\n# The default setting of roi (all values 0) is considered the same as\n#  full resolution (roi.width = width, roi.height = height).\nRegionOfInterest roi\n\n================================================================================\nMSG: std_msgs/Header\n# Standard metadata for higher-level stamped data types.\n# This is generally used to communicate timestamped data \n# in a particular coordinate frame.\n# \n# sequence ID: consecutively increasing ID \nuint32 seq\n#Two-integer timestamp that is expressed as:\n# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')\n# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')\n# time-handling sugar is provided by the client library\ntime stamp\n#Frame this data is associated with\nstring frame_id\n\n================================================================================\nMSG: sensor_msgs/RegionOfInterest\n# This message is used to specify a region of interest within an image.\n#\n# When used to specify the ROI setting of the camera when the image was\n# taken, the height and width fields should either match the height and\n# width fields for the associated image; or height = width = 0\n# indicates that the full resolution image was captured.\n\nuint32 x_offset  # Leftmost pixel of the ROI\n                 # (0 if the ROI includes the left edge of the image)\nuint32 y_offset  # Topmost pixel of the ROI\n                 # (0 if the ROI includes the top edge of the image)\nuint32 height    # Height of ROI\nuint32 width     # Width of ROI\n\n# True if a distinct rectified ROI should be calculated from the \"raw\"\n# ROI in this message. Typically this should be False if the full image\n# is captured (ROI not used), and True if a subwindow is captured (ROI\n# used).\nbool do_rectify\n",
            "callerid": "/camera/realsense2_camera_manager",
            "latching": "0",
            "md5sum": "c9a58c1b0b154e0e6da7578cb991d214",
            "topic": "/camera/camera1/color/camera_info",
            "type": "sensor_msgs/CameraInfo"
          },
          "D": [
            0,
            0,
            0,
            0,
            0
          ],
          "P": [
            919.3856201171875,
            0,
            636.48388671875,
            0,
            0,
            918.6912841796875,
            378.8315124511719,
            0,
            0,
            0,
            1,
            0
          ],
          "K": [
            919.3856201171875,
            0,
            636.48388671875,
            0,
            918.6912841796875,
            378.8315124511719,
            0,
            0,
            1
          ],
          "height": 720,
          "header": {
            "stamp": {
              "secs": 1620746289,
              "nsecs": 102062033,
              "_ros_meta": {
                "type": "genpy.Time",
                "time": 1620746289.117305
              }
            },
            "frame_id": "camera1_color_optical_frame",
            "seq": 4776,
            "_ros_meta": {
              "type": "std_msgs/Header",
              "time": 1620746289.117347
            }
          },
          "R": [
            1,
            0,
            0,
            0,
            1,
            0,
            0,
            0,
            1
          ],
          "binning_x": 0,
          "binning_y": 0,
          "width": 1280,
          "_ros_meta": {
            "type": "sensor_msgs/CameraInfo",
            "time": 1620746289.117542
          },
          "distortion_model": "plumb_bob"
        }
      },
      "aligned_depth_to_color": {
        "image": {
          "_connection_header": {
            "message_definition": "# This message contains an uncompressed image\n# (0, 0) is at top-left corner of image\n#\n\nHeader header        # Header timestamp should be acquisition time of image\n                     # Header frame_id should be optical frame of camera\n                     # origin of frame should be optical center of camera\n                     # +x should point to the right in the image\n                     # +y should point down in the image\n                     # +z should point into to plane of the image\n                     # If the frame_id here and the frame_id of the CameraInfo\n                     # message associated with the image conflict\n                     # the behavior is undefined\n\nuint32 height         # image height, that is, number of rows\nuint32 width          # image width, that is, number of columns\n\n# The legal values for encoding are in file src/image_encodings.cpp\n# If you want to standardize a new string format, join\n# ros-users@lists.sourceforge.net and send an email proposing a new encoding.\n\nstring encoding       # Encoding of pixels -- channel meaning, ordering, size\n                      # taken from the list of strings in include/sensor_msgs/image_encodings.h\n\nuint8 is_bigendian    # is this data bigendian?\nuint32 step           # Full row length in bytes\nuint8[] data          # actual matrix data, size is (step * rows)\n\n================================================================================\nMSG: std_msgs/Header\n# Standard metadata for higher-level stamped data types.\n# This is generally used to communicate timestamped data \n# in a particular coordinate frame.\n# \n# sequence ID: consecutively increasing ID \nuint32 seq\n#Two-integer timestamp that is expressed as:\n# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')\n# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')\n# time-handling sugar is provided by the client library\ntime stamp\n#Frame this data is associated with\nstring frame_id\n",
            "callerid": "/camera/realsense2_camera_manager",
            "latching": "0",
            "md5sum": "060021388200f6f0f447d0fcd9c64743",
            "topic": "/camera/camera1/aligned_depth_to_color/image_raw",
            "type": "sensor_msgs/Image"
          },
          "header": {
            "stamp": {
              "secs": 1620746289,
              "nsecs": 70615213,
              "_ros_meta": {
                "type": "genpy.Time",
                "time": 1620746289.117716
              }
            },
            "frame_id": "camera1_color_optical_frame",
            "seq": 4755,
            "_ros_meta": {
              "type": "std_msgs/Header",
              "time": 1620746289.117755
            }
          },
          "encoding": "16UC1",
          "height": 720,
          "width": 1280,
          "step": 2560,
          "is_bigendian": 0,
          "data": "BinData(0,\"CAIIAggCCAIIAgkCCQIKAgoCCwILAgwC...   (1,843,200 bytes)\")",
          "_ros_meta": {
            "type": "sensor_msgs/Image",
            "time": 1620746289.117818
          }
        }
      }
    }
  },
  "robot": {
    "laser": {
      "angle_min": -3.140000104904175,
      "_connection_header": {
        "message_definition": "# Single scan from a planar laser range-finder\n#\n# If you have another ranging device with different behavior (e.g. a sonar\n# array), please find or create a different message, since applications\n# will make fairly laser-specific assumptions about this data\n\nHeader header            # timestamp in the header is the acquisition time of \n                         # the first ray in the scan.\n                         #\n                         # in frame frame_id, angles are measured around \n                         # the positive Z axis (counterclockwise, if Z is up)\n                         # with zero angle being forward along the x axis\n                         \nfloat32 angle_min        # start angle of the scan [rad]\nfloat32 angle_max        # end angle of the scan [rad]\nfloat32 angle_increment  # angular distance between measurements [rad]\n\nfloat32 time_increment   # time between measurements [seconds] - if your scanner\n                         # is moving, this will be used in interpolating position\n                         # of 3d points\nfloat32 scan_time        # time between scans [seconds]\n\nfloat32 range_min        # minimum range value [m]\nfloat32 range_max        # maximum range value [m]\n\nfloat32[] ranges         # range data [m] (Note: values < range_min or > range_max should be discarded)\nfloat32[] intensities    # intensity data [device-specific units].  If your\n                         # device does not provide intensities, please leave\n                         # the array empty.\n\n================================================================================\nMSG: std_msgs/Header\n# Standard metadata for higher-level stamped data types.\n# This is generally used to communicate timestamped data \n# in a particular coordinate frame.\n# \n# sequence ID: consecutively increasing ID \nuint32 seq\n#Two-integer timestamp that is expressed as:\n# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')\n# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')\n# time-handling sugar is provided by the client library\ntime stamp\n#Frame this data is associated with\nstring frame_id\n",
        "callerid": "/laserscan_multi_merger",
        "latching": "0",
        "md5sum": "90c7ef2dc6895d81024acba2ac42f369",
        "topic": "/scan",
        "type": "sensor_msgs/LaserScan"
      },
      "range_min": 0.30000001192092896,
      "scan_time": 0.03333330154418945,
      "range_max": 50,
      "angle_increment": 0.005799999926239252,
      "angle_max": 3.140000104904175,
      "ranges": [
        8.250385284423828,
        8.247235298156738,
        8.235186576843262,
        8.232078552246094,
        8.23974895477295,
        8.239392280578613,
        8.2362060546875,
        8.253662109375,
        8.260375022888184,
        8.257122993469238,
        8.24659538269043,
        8.254903793334961,
        8.271467208862305,
        8.268121719360352,
        8.244478225708008,
        8.262965202331543,
        8.277459144592285,
        8.279546737670898,
        8.313390731811523,
        8.278090476989746,
        8.274592399597168,
        8.275504112243652,
        8.297805786132812,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        28.67593765258789,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        7.168471813201904,
        7.07798433303833,
        6.974642276763916,
        6.847600936889648,
        6.782800197601318,
        6.76767110824585,
        6.759103298187256,
        6.713274002075195,
        6.716599464416504,
        6.720931053161621,
        6.747077465057373,
        6.787513256072998,
        6.800812721252441,
        6.805205821990967,
        6.967292785644531,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        19.087738037109375,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        9.212650299072266,
        9.170018196105957,
        9.146597862243652,
        9.151552200317383,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        1.7833774089813232,
        1.7782223224639893,
        1.7833431959152222,
        1.789321780204773,
        51,
        51,
        7.58759880065918,
        7.582459926605225,
        51,
        7.357489585876465,
        7.33358907699585,
        7.34155797958374,
        7.3397955894470215,
        7.34099817276001,
        7.326619625091553,
        7.302153587341309,
        7.231295585632324,
        7.236455917358398,
        7.360014915466309,
        7.357815265655518,
        7.3222551345825195,
        7.332581520080566,
        7.238046646118164,
        7.00276517868042,
        6.980839729309082,
        6.962321758270264,
        6.967485427856445,
        51,
        51,
        51,
        6.868131160736084,
        6.873291969299316,
        51,
        51,
        6.742231845855713,
        6.747385501861572,
        51,
        51,
        51,
        51,
        51,
        6.586557388305664,
        6.591694355010986,
        51,
        51,
        51,
        51,
        51,
        6.436788082122803,
        6.441900730133057,
        6.398055553436279,
        6.40315580368042,
        6.355190277099609,
        6.339650630950928,
        6.3447394371032715,
        6.297760486602783,
        6.264185428619385,
        6.309321880340576,
        6.234578609466553,
        6.239638805389404,
        6.214401721954346,
        6.219447612762451,
        6.152834415435791,
        51,
        6.118103981018066,
        6.074703693389893,
        6.060832977294922,
        6.055823802947998,
        7.937838077545166,
        51,
        6.043982982635498,
        6.064651012420654,
        6.069620609283447,
        6.0648274421691895,
        6.769357204437256,
        6.014892101287842,
        6.0335845947265625,
        6.038507461547852,
        6.043424606323242,
        5.982625961303711,
        5.979672908782959,
        5.942398548126221,
        5.936492443084717,
        5.933518886566162,
        5.929510116577148,
        51,
        5.890181541442871,
        5.891010761260986,
        51,
        5.900629997253418,
        5.893552303314209,
        51,
        5.865854740142822,
        5.866550445556641,
        5.798768043518066,
        5.803501129150391,
        5.807246208190918,
        5.8254923820495605,
        51,
        5.834883213043213,
        5.836396217346191,
        51,
        5.80845832824707,
        5.764800548553467,
        5.810310363769531,
        51,
        5.819513320922852,
        5.778663635253906,
        5.8175530433654785,
        5.764248847961426,
        5.764499187469482,
        5.77392578125,
        5.787267208099365,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        1.3095943927764893,
        1.3089178800582886,
        1.313109040260315,
        1.3256449699401855,
        5.7865424156188965,
        51,
        5.715382099151611,
        51,
        5.723567962646484,
        1.3415552377700806,
        5.71117639541626,
        5.664180278778076,
        5.657371520996094,
        5.661363124847412,
        1.3198113441467285,
        1.323760986328125,
        1.3345075845718384,
        1.342342495918274,
        5.708590507507324,
        51,
        1.3292962312698364,
        1.32947838306427,
        1.333289384841919,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        5.841269493103027,
        5.844789028167725,
        5.845862865447998,
        5.8735432624816895,
        5.880430698394775,
        5.870022773742676,
        5.857621192932129,
        5.861011981964111,
        5.912223815917969,
        5.9189133644104,
        5.913678169250488,
        5.941693305969238,
        6.009572505950928,
        6.016070365905762,
        6.655387878417969,
        6.658593654632568,
        51,
        6.052206039428711,
        6.029580593109131,
        6.03268575668335,
        6.025973320007324,
        6.0608062744140625,
        6.066852569580078,
        6.054985523223877,
        6.0579681396484375,
        6.038137435913086,
        6.037081718444824,
        6.079590797424316,
        6.115110397338867,
        51,
        51,
        51,
        6.194568157196045,
        6.204066276550293,
        6.206806659698486,
        6.211245536804199,
        6.298060417175293,
        51,
        51,
        51,
        51,
        51,
        51,
        6.309591770172119,
        6.412469387054443,
        6.430825710296631,
        6.417337417602539,
        6.343550205230713,
        6.345920562744141,
        6.404340744018555,
        6.40865421295166,
        6.510794639587402,
        1.5644595623016357,
        6.552670478820801,
        6.5548858642578125,
        1.5417633056640625,
        1.5439146757125854,
        6.615508079528809,
        1.5364649295806885,
        1.5309978723526,
        1.5316716432571411,
        1.5679625272750854,
        6.688754081726074,
        6.769454479217529,
        6.79227876663208,
        6.8040690422058105,
        6.819910049438477,
        1.6596050262451172,
        1.6592657566070557,
        1.6522846221923828,
        1.652638554573059,
        1.653189778327942,
        1.6607627868652344,
        1.6749948263168335,
        7.077269077301025,
        7.083532810211182,
        7.1576008796691895,
        7.150191783905029,
        7.182237148284912,
        7.282109260559082,
        7.283597469329834,
        7.325464248657227,
        7.35028600692749,
        7.37066125869751,
        7.409362316131592,
        7.434010982513428,
        7.480270862579346,
        7.482838153839111,
        10.026992797851562,
        10.029446601867676,
        10.096612930297852,
        10.175918579101562,
        51,
        10.482171058654785,
        10.484325408935547,
        51,
        7.88349723815918,
        7.883483409881592,
        7.830479621887207,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        8.348880767822266,
        51,
        51,
        8.451502799987793,
        8.579689025878906,
        8.60426139831543,
        51,
        2.117438554763794,
        2.1059510707855225,
        2.0913708209991455,
        2.0917904376983643,
        2.1079211235046387,
        9.13564395904541,
        9.135971069335938,
        9.143279075622559,
        9.225833892822266,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        9.765534400939941,
        9.765548706054688,
        9.846518516540527,
        51,
        51,
        51,
        51,
        51,
        3.7068727016448975,
        3.708388090133667,
        3.6828513145446777,
        3.6915526390075684,
        51,
        2.6799614429473877,
        2.661813497543335,
        2.6643903255462646,
        2.6884589195251465,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        3.395695924758911,
        3.3936169147491455,
        3.3875856399536133,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        4.0553765296936035,
        4.0585479736328125,
        51,
        51,
        6.517114639282227,
        6.482160568237305,
        6.480624198913574,
        51,
        51,
        51,
        4.843606472015381,
        4.849887847900391,
        4.897927284240723,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        6.391660213470459,
        6.301965236663818,
        51,
        51,
        51,
        51,
        51,
        7.772465229034424,
        7.770261287689209,
        51,
        51,
        51,
        51,
        9.305354118347168,
        9.30300235748291,
        51,
        10.787839889526367,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        3.414935350418091,
        3.4167277812957764,
        3.423380136489868,
        3.4242360591888428,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        9.567161560058594,
        9.563624382019043,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        6.577721118927002,
        6.57395601272583,
        12.810128211975098,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        9.8138427734375,
        9.809826850891113,
        51,
        51,
        51,
        51,
        13.128950119018555,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        3.6790239810943604,
        3.6633431911468506,
        3.6704699993133545,
        6.915855884552002,
        6.9201765060424805,
        51,
        6.97741174697876,
        6.9730401039123535,
        10.276580810546875,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        10.872480392456055,
        10.867813110351562,
        51,
        51,
        51,
        51,
        51,
        7.574738025665283,
        7.569980621337891,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        18.754558563232422,
        51,
        51,
        51,
        51,
        51,
        15.562893867492676,
        51,
        4.352962017059326,
        4.347066879272461,
        4.338144779205322,
        51,
        51,
        51,
        12.325390815734863,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        17.319137573242188,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        5.222837924957275,
        5.227968692779541,
        51,
        5.25559663772583,
        5.250456809997559,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        11.335108757019043,
        51,
        51,
        51,
        6.345804214477539,
        6.340644359588623,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        7.336775779724121,
        7.331690311431885,
        51,
        51,
        51,
        51,
        8.748543739318848,
        8.780189514160156,
        51,
        51,
        51,
        51,
        51,
        51,
        1.3270580768585205,
        1.3280456066131592,
        51,
        1.323724389076233,
        1.3286988735198975,
        1.339963674545288,
        51,
        51,
        51,
        51,
        51,
        12.414925575256348,
        51,
        51,
        51,
        51,
        51,
        51,
        6.765463352203369,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        2.6320536136627197,
        2.631391763687134,
        2.6282544136047363,
        2.632923126220703,
        51,
        51,
        51,
        51,
        51,
        51,
        3.944031000137329,
        3.9419028759002686,
        1.7880222797393799,
        1.7126749753952026,
        4.044714450836182,
        1.7712633609771729,
        1.7719800472259521,
        5.282500743865967,
        5.307059288024902,
        1.6419638395309448,
        51,
        1.6006397008895874,
        1.6050410270690918,
        9.29715633392334,
        51,
        51,
        51,
        1.6802599430084229,
        6.598996639251709,
        51,
        1.6580342054367065,
        1.6544700860977173,
        6.597950458526611,
        1.6480783224105835,
        1.659277081489563,
        1.6606236696243286,
        6.659654140472412,
        1.6576060056686401,
        1.6637474298477173,
        1.6866244077682495,
        1.6948176622390747,
        1.7374812364578247,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        6.717912673950195,
        6.659219264984131,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        15.142635345458984,
        15.104198455810547,
        15.03275203704834,
        14.841811180114746,
        14.778299331665039,
        14.608224868774414,
        14.566642761230469,
        14.478055000305176,
        14.326807975769043,
        14.271146774291992,
        14.140768051147461,
        14.060050010681152,
        14.00430679321289,
        13.870759963989258,
        13.78495979309082,
        13.658285140991211,
        13.62141227722168,
        13.498612403869629,
        13.434679985046387,
        13.380725860595703,
        13.27175521850586,
        13.218738555908203,
        13.075648307800293,
        13.035566329956055,
        12.910346984863281,
        12.879201889038086,
        12.82603931427002,
        12.717650413513184,
        12.666424751281738,
        12.597908020019531,
        12.517621994018555,
        12.435981750488281,
        12.375631332397461,
        12.288867950439453,
        12.245452880859375,
        12.226017951965332,
        12.12908935546875,
        12.085593223571777,
        11.99153995513916,
        11.939982414245605,
        11.88980484008789,
        11.881184577941895,
        11.762886047363281,
        11.739204406738281,
        11.661782264709473,
        11.649040222167969,
        11.557493209838867,
        11.517690658569336,
        11.46202278137207,
        11.420159339904785,
        11.321370124816895,
        11.30944538116455,
        11.27750015258789,
        11.229548454284668,
        11.186543464660645,
        11.125472068786621,
        11.095404624938965,
        11.05421257019043,
        11.036086082458496,
        10.984773635864258,
        10.933588027954102,
        10.875155448913574,
        10.85490894317627,
        10.820357322692871,
        10.76705265045166,
        10.724380493164062,
        10.695015907287598,
        10.648223876953125,
        10.634800910949707,
        10.58889102935791,
        10.561408996582031,
        10.528380393981934,
        10.505836486816406,
        10.440695762634277,
        10.416092872619629,
        10.383831977844238,
        10.348173141479492,
        10.307795524597168,
        10.290334701538086,
        10.267577171325684,
        10.219006538391113,
        10.216187477111816,
        10.166500091552734,
        10.153624534606934,
        10.09682559967041,
        10.093890190124512,
        3.5290699005126953,
        3.4952244758605957,
        3.4931745529174805,
        3.466202974319458,
        3.448137044906616,
        3.4339981079101562,
        3.434858798980713,
        3.4395129680633545,
        3.4391398429870605,
        3.4476404190063477,
        3.494778633117676,
        3.5064079761505127,
        3.4555580615997314,
        3.419175863265991,
        3.4071290493011475,
        3.393423318862915,
        3.3905513286590576,
        3.390082836151123,
        3.4009664058685303,
        3.402428150177002,
        3.4478023052215576,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        51,
        8.415200233459473,
        8.432073593139648,
        8.393989562988281,
        8.384899139404297,
        8.380638122558594,
        8.382471084594727,
        8.361339569091797,
        8.362921714782715,
        8.363433837890625,
        8.35718059539795,
        8.323675155639648,
        8.319025993347168,
        8.328642845153809,
        8.309926986694336,
        8.307523727416992,
        8.291145324707031,
        8.28027057647705,
        8.2733154296875,
        8.287755966186523,
        8.264747619628906,
        8.256210327148438,
        8.251043319702148,
        8.246441841125488,
        8.2401762008667,
        8.236520767211914,
        8.233844757080078,
        8.232425689697266,
        8.225958824157715,
        8.208255767822266,
        8.20467758178711,
        8.212823867797852,
        8.231907844543457,
        8.232176780700684,
        8.229299545288086,
        8.236438751220703,
        8.225587844848633,
        8.220636367797852,
        8.208693504333496,
        8.22658920288086
      ],
      "header": {
        "stamp": {
          "secs": 1620746289,
          "nsecs": 69950222,
          "_ros_meta": {
            "type": "genpy.Time",
            "time": 1620746289.14095
          }
        },
        "frame_id": "base_link",
        "seq": 6021,
        "_ros_meta": {
          "type": "std_msgs/Header",
          "time": 1620746289.141033
        }
      },
      "intensities": [],
      "time_increment": 0,
      "_ros_meta": {
        "type": "sensor_msgs/LaserScan",
        "time": 1620746289.141146
      }
    },
    "battery": {
      "header": {
        "stamp": {
          "secs": 0,
          "nsecs": 0,
          "_ros_meta": {
            "type": "genpy.Time",
            "time": 1620746289.141265
          }
        },
        "frame_id": "",
        "seq": 19019,
        "_ros_meta": {
          "type": "std_msgs/Header",
          "time": 1620746289.141306
        }
      },
      "_connection_header": {
        "message_definition": "Header header\nBatteryData[] battery_data\n\n\n================================================================================\nMSG: std_msgs/Header\n# Standard metadata for higher-level stamped data types.\n# This is generally used to communicate timestamped data \n# in a particular coordinate frame.\n# \n# sequence ID: consecutively increasing ID \nuint32 seq\n#Two-integer timestamp that is expressed as:\n# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')\n# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')\n# time-handling sugar is provided by the client library\ntime stamp\n#Frame this data is associated with\nstring frame_id\n\n================================================================================\nMSG: thorvald_base/BatteryData\nint16 battery_id\nint16 battery_state\nfloat64[] temperatures\nBatteryAlarms battery_alarms\nbool charge_fet_on\nbool discharge_fet_on\nfloat64 battery_voltage\nfloat64 battery_current\nint16 state_of_charge\nint16 state_of_health\nint16 cycle_count\nint16 battery_capacity\n\nint16 STATUS_OFFLINE = -99\nint16 STATUS_ONLINE = -98\n\n================================================================================\nMSG: thorvald_base/BatteryAlarms\nbool over_voltage_protection\nbool under_voltage_protection\nbool over_temperature_protection\nbool under_temperature_protection\nbool over_charge_current\nbool over_discharge_current\nbool can_communication_fail\nbool cell_voltage_sensing_fault\nbool bms_fail\nbool short_circuit_discharge\nbool temperature_sensing_fault\nbool over_voltage_fault\nbool under_voltage_fault\nbool pack_voltage_sensing_fault\n",
        "callerid": "/base_driver",
        "latching": "0",
        "md5sum": "4ef6260173e30bddb64aa787d18305c4",
        "topic": "/battery_data",
        "type": "thorvald_base/BatteryArray"
      },
      "battery_data": [
        {
          "discharge_fet_on": false,
          "state_of_charge": -99,
          "battery_state": 0,
          "battery_current": 0,
          "battery_voltage": 0,
          "state_of_health": 0,
          "battery_capacity": 0,
          "battery_id": 1,
          "temperatures": [
            0,
            0,
            0,
            0,
            0,
            0,
            0
          ],
          "battery_alarms": {
            "temperature_sensing_fault": false,
            "bms_fail": false,
            "over_temperature_protection": false,
            "pack_voltage_sensing_fault": false,
            "cell_voltage_sensing_fault": false,
            "under_voltage_protection": false,
            "over_voltage_fault": false,
            "under_temperature_protection": false,
            "can_communication_fail": false,
            "over_discharge_current": false,
            "over_charge_current": false,
            "under_voltage_fault": false,
            "short_circuit_discharge": false,
            "over_voltage_protection": false,
            "_ros_meta": {
              "type": "thorvald_base/BatteryAlarms",
              "time": 1620746289.142012
            }
          },
          "charge_fet_on": false,
          "cycle_count": 0,
          "_ros_meta": {
            "type": "thorvald_base/BatteryData",
            "time": 1620746289.142079
          }
        }
      ],
      "_ros_meta": {
        "type": "thorvald_base/BatteryArray",
        "time": 1620746289.14219
      }
    },
    "tf_static": {
      "_connection_header": {
        "message_definition": "geometry_msgs/TransformStamped[] transforms\n\n================================================================================\nMSG: geometry_msgs/TransformStamped\n# This expresses a transform from coordinate frame header.frame_id\n# to the coordinate frame child_frame_id\n#\n# This message is mostly used by the \n# <a href=\"http://wiki.ros.org/tf\">tf</a> package. \n# See its documentation for more information.\n\nHeader header\nstring child_frame_id # the frame id of the child frame\nTransform transform\n\n================================================================================\nMSG: std_msgs/Header\n# Standard metadata for higher-level stamped data types.\n# This is generally used to communicate timestamped data \n# in a particular coordinate frame.\n# \n# sequence ID: consecutively increasing ID \nuint32 seq\n#Two-integer timestamp that is expressed as:\n# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')\n# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')\n# time-handling sugar is provided by the client library\ntime stamp\n#Frame this data is associated with\nstring frame_id\n\n================================================================================\nMSG: geometry_msgs/Transform\n# This represents the transform between two coordinate frames in free space.\n\nVector3 translation\nQuaternion rotation\n\n================================================================================\nMSG: geometry_msgs/Vector3\n# This represents a vector in free space. \n# It is only meant to represent a direction. Therefore, it does not\n# make sense to apply a translation to it (e.g., when applying a \n# generic rigid transformation to a Vector3, tf2 will only apply the\n# rotation). If you want your data to be translatable too, use the\n# geometry_msgs/Point message instead.\n\nfloat64 x\nfloat64 y\nfloat64 z\n================================================================================\nMSG: geometry_msgs/Quaternion\n# This represents an orientation in free space in quaternion form.\n\nfloat64 x\nfloat64 y\nfloat64 z\nfloat64 w\n",
        "callerid": "/camera/realsense2_camera_manager",
        "latching": "1",
        "md5sum": "94810edda583a504dfda3829e70d7eec",
        "topic": "/tf_static",
        "type": "tf2_msgs/TFMessage"
      },
      "transforms": [
        {
          "header": {
            "stamp": {
              "secs": 1620746076,
              "nsecs": 898346943,
              "_ros_meta": {
                "type": "genpy.Time",
                "time": 1620746289.142349
              }
            },
            "frame_id": "camera1_link",
            "seq": 0,
            "_ros_meta": {
              "type": "std_msgs/Header",
              "time": 1620746289.142391
            }
          },
          "transform": {
            "translation": {
              "y": 0,
              "x": 0,
              "z": 0,
              "_ros_meta": {
                "type": "geometry_msgs/Vector3",
                "time": 1620746289.142491
              }
            },
            "rotation": {
              "y": 0,
              "x": 0,
              "z": 0,
              "w": 1,
              "_ros_meta": {
                "type": "geometry_msgs/Quaternion",
                "time": 1620746289.142586
              }
            },
            "_ros_meta": {
              "type": "geometry_msgs/Transform",
              "time": 1620746289.142609
            }
          },
          "child_frame_id": "camera1_depth_frame",
          "_ros_meta": {
            "type": "geometry_msgs/TransformStamped",
            "time": 1620746289.142638
          }
        },
        {
          "header": {
            "stamp": {
              "secs": 1620746076,
              "nsecs": 898346943,
              "_ros_meta": {
                "type": "genpy.Time",
                "time": 1620746289.142738
              }
            },
            "frame_id": "camera1_depth_frame",
            "seq": 0,
            "_ros_meta": {
              "type": "std_msgs/Header",
              "time": 1620746289.142783
            }
          },
          "transform": {
            "translation": {
              "y": 0,
              "x": 0,
              "z": 0,
              "_ros_meta": {
                "type": "geometry_msgs/Vector3",
                "time": 1620746289.142888
              }
            },
            "rotation": {
              "y": 0.4999999999999999,
              "x": -0.5,
              "z": -0.5,
              "w": 0.5000000000000001,
              "_ros_meta": {
                "type": "geometry_msgs/Quaternion",
                "time": 1620746289.142992
              }
            },
            "_ros_meta": {
              "type": "geometry_msgs/Transform",
              "time": 1620746289.143027
            }
          },
          "child_frame_id": "camera1_depth_optical_frame",
          "_ros_meta": {
            "type": "geometry_msgs/TransformStamped",
            "time": 1620746289.14306
          }
        },
        {
          "header": {
            "stamp": {
              "secs": 1620746076,
              "nsecs": 898346943,
              "_ros_meta": {
                "type": "genpy.Time",
                "time": 1620746289.14318
              }
            },
            "frame_id": "camera1_link",
            "seq": 0,
            "_ros_meta": {
              "type": "std_msgs/Header",
              "time": 1620746289.143224
            }
          },
          "transform": {
            "translation": {
              "y": 0.014976252801716328,
              "x": 0.0005458549130707979,
              "z": 0.00008475758659187704,
              "_ros_meta": {
                "type": "geometry_msgs/Vector3",
                "time": 1620746289.14333
              }
            },
            "rotation": {
              "y": 0.0012856961693614721,
              "x": -0.0024383505806326866,
              "z": -0.0007336754933930933,
              "w": 0.9999959468841553,
              "_ros_meta": {
                "type": "geometry_msgs/Quaternion",
                "time": 1620746289.143653
              }
            },
            "_ros_meta": {
              "type": "geometry_msgs/Transform",
              "time": 1620746289.143686
            }
          },
          "child_frame_id": "camera1_color_frame",
          "_ros_meta": {
            "type": "geometry_msgs/TransformStamped",
            "time": 1620746289.143724
          }
        },
        {
          "header": {
            "stamp": {
              "secs": 1620746076,
              "nsecs": 898346943,
              "_ros_meta": {
                "type": "genpy.Time",
                "time": 1620746289.143897
              }
            },
            "frame_id": "camera1_aligned_depth_to_color_frame",
            "seq": 0,
            "_ros_meta": {
              "type": "std_msgs/Header",
              "time": 1620746289.143938
            }
          },
          "transform": {
            "translation": {
              "y": 0,
              "x": 0,
              "z": 0,
              "_ros_meta": {
                "type": "geometry_msgs/Vector3",
                "time": 1620746289.144043
              }
            },
            "rotation": {
              "y": 0.4999999999999999,
              "x": -0.5,
              "z": -0.5,
              "w": 0.5000000000000001,
              "_ros_meta": {
                "type": "geometry_msgs/Quaternion",
                "time": 1620746289.144184
              }
            },
            "_ros_meta": {
              "type": "geometry_msgs/Transform",
              "time": 1620746289.14422
            }
          },
          "child_frame_id": "camera1_color_optical_frame",
          "_ros_meta": {
            "type": "geometry_msgs/TransformStamped",
            "time": 1620746289.144261
          }
        },
        {
          "header": {
            "stamp": {
              "secs": 1620746076,
              "nsecs": 898346943,
              "_ros_meta": {
                "type": "genpy.Time",
                "time": 1620746289.144374
              }
            },
            "frame_id": "camera1_link",
            "seq": 0,
            "_ros_meta": {
              "type": "std_msgs/Header",
              "time": 1620746289.144422
            }
          },
          "transform": {
            "translation": {
              "y": 0.014976252801716328,
              "x": 0.0005458549130707979,
              "z": 0.00008475758659187704,
              "_ros_meta": {
                "type": "geometry_msgs/Vector3",
                "time": 1620746289.144569
              }
            },
            "rotation": {
              "y": 0.0012856961693614721,
              "x": -0.0024383505806326866,
              "z": -0.0007336754933930933,
              "w": 0.9999959468841553,
              "_ros_meta": {
                "type": "geometry_msgs/Quaternion",
                "time": 1620746289.144716
              }
            },
            "_ros_meta": {
              "type": "geometry_msgs/Transform",
              "time": 1620746289.144739
            }
          },
          "child_frame_id": "camera1_aligned_depth_to_color_frame",
          "_ros_meta": {
            "type": "geometry_msgs/TransformStamped",
            "time": 1620746289.144768
          }
        },
        {
          "header": {
            "stamp": {
              "secs": 1620746076,
              "nsecs": 919473773,
              "_ros_meta": {
                "type": "genpy.Time",
                "time": 1620746289.144912
              }
            },
            "frame_id": "camera2_link",
            "seq": 0,
            "_ros_meta": {
              "type": "std_msgs/Header",
              "time": 1620746289.144958
            }
          },
          "transform": {
            "translation": {
              "y": -0.005520000122487545,
              "x": -0.011739999987185001,
              "z": 0.005100000184029341,
              "_ros_meta": {
                "type": "geometry_msgs/Vector3",
                "time": 1620746289.145095
              }
            },
            "rotation": {
              "y": 0,
              "x": 0,
              "z": 0,
              "w": 1,
              "_ros_meta": {
                "type": "geometry_msgs/Quaternion",
                "time": 1620746289.145197
              }
            },
            "_ros_meta": {
              "type": "geometry_msgs/Transform",
              "time": 1620746289.145222
            }
          },
          "child_frame_id": "camera_gyro_frame",
          "_ros_meta": {
            "type": "geometry_msgs/TransformStamped",
            "time": 1620746289.145247
          }
        },
        {
          "header": {
            "stamp": {
              "secs": 1620746076,
              "nsecs": 919473773,
              "_ros_meta": {
                "type": "genpy.Time",
                "time": 1620746289.145357
              }
            },
            "frame_id": "camera_gyro_frame",
            "seq": 0,
            "_ros_meta": {
              "type": "std_msgs/Header",
              "time": 1620746289.145401
            }
          },
          "transform": {
            "translation": {
              "y": 0,
              "x": 0,
              "z": 0,
              "_ros_meta": {
                "type": "geometry_msgs/Vector3",
                "time": 1620746289.145508
              }
            },
            "rotation": {
              "y": 0.4999999999999999,
              "x": -0.5,
              "z": -0.5,
              "w": 0.5000000000000001,
              "_ros_meta": {
                "type": "geometry_msgs/Quaternion",
                "time": 1620746289.145606
              }
            },
            "_ros_meta": {
              "type": "geometry_msgs/Transform",
              "time": 1620746289.145645
            }
          },
          "child_frame_id": "camera_gyro_optical_frame",
          "_ros_meta": {
            "type": "geometry_msgs/TransformStamped",
            "time": 1620746289.145671
          }
        },
        {
          "header": {
            "stamp": {
              "secs": 1620746076,
              "nsecs": 919473773,
              "_ros_meta": {
                "type": "genpy.Time",
                "time": 1620746289.145782
              }
            },
            "frame_id": "camera2_link",
            "seq": 0,
            "_ros_meta": {
              "type": "std_msgs/Header",
              "time": 1620746289.145828
            }
          },
          "transform": {
            "translation": {
              "y": -0.005520000122487545,
              "x": -0.011739999987185001,
              "z": 0.005100000184029341,
              "_ros_meta": {
                "type": "geometry_msgs/Vector3",
                "time": 1620746289.145925
              }
            },
            "rotation": {
              "y": 0,
              "x": 0,
              "z": 0,
              "w": 1,
              "_ros_meta": {
                "type": "geometry_msgs/Quaternion",
                "time": 1620746289.146022
              }
            },
            "_ros_meta": {
              "type": "geometry_msgs/Transform",
              "time": 1620746289.146045
            }
          },
          "child_frame_id": "camera_accel_frame",
          "_ros_meta": {
            "type": "geometry_msgs/TransformStamped",
            "time": 1620746289.146074
          }
        },
        {
          "header": {
            "stamp": {
              "secs": 1620746076,
              "nsecs": 919473773,
              "_ros_meta": {
                "type": "genpy.Time",
                "time": 1620746289.146182
              }
            },
            "frame_id": "camera_accel_frame",
            "seq": 0,
            "_ros_meta": {
              "type": "std_msgs/Header",
              "time": 1620746289.146228
            }
          },
          "transform": {
            "translation": {
              "y": 0,
              "x": 0,
              "z": 0,
              "_ros_meta": {
                "type": "geometry_msgs/Vector3",
                "time": 1620746289.146333
              }
            },
            "rotation": {
              "y": 0.4999999999999999,
              "x": -0.5,
              "z": -0.5,
              "w": 0.5000000000000001,
              "_ros_meta": {
                "type": "geometry_msgs/Quaternion",
                "time": 1620746289.146426
              }
            },
            "_ros_meta": {
              "type": "geometry_msgs/Transform",
              "time": 1620746289.146447
            }
          },
          "child_frame_id": "camera_accel_optical_frame",
          "_ros_meta": {
            "type": "geometry_msgs/TransformStamped",
            "time": 1620746289.146471
          }
        },
        {
          "header": {
            "stamp": {
              "secs": 1620746076,
              "nsecs": 919473773,
              "_ros_meta": {
                "type": "genpy.Time",
                "time": 1620746289.146577
              }
            },
            "frame_id": "camera2_link",
            "seq": 0,
            "_ros_meta": {
              "type": "std_msgs/Header",
              "time": 1620746289.146615
            }
          },
          "transform": {
            "translation": {
              "y": 0,
              "x": 0,
              "z": 0,
              "_ros_meta": {
                "type": "geometry_msgs/Vector3",
                "time": 1620746289.146715
              }
            },
            "rotation": {
              "y": 0,
              "x": 0,
              "z": 0,
              "w": 1,
              "_ros_meta": {
                "type": "geometry_msgs/Quaternion",
                "time": 1620746289.146818
              }
            },
            "_ros_meta": {
              "type": "geometry_msgs/Transform",
              "time": 1620746289.146842
            }
          },
          "child_frame_id": "camera2_depth_frame",
          "_ros_meta": {
            "type": "geometry_msgs/TransformStamped",
            "time": 1620746289.146867
          }
        },
        {
          "header": {
            "stamp": {
              "secs": 1620746076,
              "nsecs": 919473773,
              "_ros_meta": {
                "type": "genpy.Time",
                "time": 1620746289.146977
              }
            },
            "frame_id": "camera2_depth_frame",
            "seq": 0,
            "_ros_meta": {
              "type": "std_msgs/Header",
              "time": 1620746289.147016
            }
          },
          "transform": {
            "translation": {
              "y": 0,
              "x": 0,
              "z": 0,
              "_ros_meta": {
                "type": "geometry_msgs/Vector3",
                "time": 1620746289.147115
              }
            },
            "rotation": {
              "y": 0.4999999999999999,
              "x": -0.5,
              "z": -0.5,
              "w": 0.5000000000000001,
              "_ros_meta": {
                "type": "geometry_msgs/Quaternion",
                "time": 1620746289.147217
              }
            },
            "_ros_meta": {
              "type": "geometry_msgs/Transform",
              "time": 1620746289.147243
            }
          },
          "child_frame_id": "camera2_depth_optical_frame",
          "_ros_meta": {
            "type": "geometry_msgs/TransformStamped",
            "time": 1620746289.147268
          }
        },
        {
          "header": {
            "stamp": {
              "secs": 1620746076,
              "nsecs": 919473773,
              "_ros_meta": {
                "type": "genpy.Time",
                "time": 1620746289.147375
              }
            },
            "frame_id": "camera2_link",
            "seq": 0,
            "_ros_meta": {
              "type": "std_msgs/Header",
              "time": 1620746289.147418
            }
          },
          "transform": {
            "translation": {
              "y": 0.014992965385317802,
              "x": 0.0005599894793704152,
              "z": 0.00012825103476643562,
              "_ros_meta": {
                "type": "geometry_msgs/Vector3",
                "time": 1620746289.147508
              }
            },
            "rotation": {
              "y": -0.000614286691416055,
              "x": 0.0037067141383886337,
              "z": 0.0006207594997249544,
              "w": 0.9999927282333374,
              "_ros_meta": {
                "type": "geometry_msgs/Quaternion",
                "time": 1620746289.147816
              }
            },
            "_ros_meta": {
              "type": "geometry_msgs/Transform",
              "time": 1620746289.147847
            }
          },
          "child_frame_id": "camera2_color_frame",
          "_ros_meta": {
            "type": "geometry_msgs/TransformStamped",
            "time": 1620746289.147871
          }
        },
        {
          "header": {
            "stamp": {
              "secs": 1620746076,
              "nsecs": 919473773,
              "_ros_meta": {
                "type": "genpy.Time",
                "time": 1620746289.152802
              }
            },
            "frame_id": "camera2_aligned_depth_to_color_frame",
            "seq": 0,
            "_ros_meta": {
              "type": "std_msgs/Header",
              "time": 1620746289.152859
            }
          },
          "transform": {
            "translation": {
              "y": 0,
              "x": 0,
              "z": 0,
              "_ros_meta": {
                "type": "geometry_msgs/Vector3",
                "time": 1620746289.153021
              }
            },
            "rotation": {
              "y": 0.4999999999999999,
              "x": -0.5,
              "z": -0.5,
              "w": 0.5000000000000001,
              "_ros_meta": {
                "type": "geometry_msgs/Quaternion",
                "time": 1620746289.153145
              }
            },
            "_ros_meta": {
              "type": "geometry_msgs/Transform",
              "time": 1620746289.153172
            }
          },
          "child_frame_id": "camera2_color_optical_frame",
          "_ros_meta": {
            "type": "geometry_msgs/TransformStamped",
            "time": 1620746289.153202
          }
        },
        {
          "header": {
            "stamp": {
              "secs": 1620746076,
              "nsecs": 919473773,
              "_ros_meta": {
                "type": "genpy.Time",
                "time": 1620746289.153338
              }
            },
            "frame_id": "camera2_link",
            "seq": 0,
            "_ros_meta": {
              "type": "std_msgs/Header",
              "time": 1620746289.153391
            }
          },
          "transform": {
            "translation": {
              "y": 0.014992965385317802,
              "x": 0.0005599894793704152,
              "z": 0.00012825103476643562,
              "_ros_meta": {
                "type": "geometry_msgs/Vector3",
                "time": 1620746289.155178
              }
            },
            "rotation": {
              "y": -0.000614286691416055,
              "x": 0.0037067141383886337,
              "z": 0.0006207594997249544,
              "w": 0.9999927282333374,
              "_ros_meta": {
                "type": "geometry_msgs/Quaternion",
                "time": 1620746289.155293
              }
            },
            "_ros_meta": {
              "type": "geometry_msgs/Transform",
              "time": 1620746289.155317
            }
          },
          "child_frame_id": "camera2_aligned_depth_to_color_frame",
          "_ros_meta": {
            "type": "geometry_msgs/TransformStamped",
            "time": 1620746289.155342
          }
        }
      ],
      "_ros_meta": {
        "type": "tf2_msgs/TFMessage",
        "time": 1620746289.155389
      }
    },
    "pose": {
      "position": {
        "y": -11.998785175361885,
        "x": 13.837197108473637,
        "z": 0,
        "_ros_meta": {
          "type": "geometry_msgs/Point",
          "time": 1620746289.155494
        }
      },
      "_connection_header": {
        "message_definition": "# A representation of pose in free space, composed of position and orientation. \nPoint position\nQuaternion orientation\n\n================================================================================\nMSG: geometry_msgs/Point\n# This contains the position of a point in free space\nfloat64 x\nfloat64 y\nfloat64 z\n\n================================================================================\nMSG: geometry_msgs/Quaternion\n# This represents an orientation in free space in quaternion form.\n\nfloat64 x\nfloat64 y\nfloat64 z\nfloat64 w\n",
        "callerid": "/robot_pose_publisher",
        "latching": "0",
        "md5sum": "e45d45a5a1ce597b249e23fb30fc871f",
        "topic": "/robot_pose",
        "type": "geometry_msgs/Pose"
      },
      "orientation": {
        "y": 0,
        "x": 0,
        "z": -0.6488899015902694,
        "w": 0.7608823139054885,
        "_ros_meta": {
          "type": "geometry_msgs/Quaternion",
          "time": 1620746289.155581
        }
      },
      "_ros_meta": {
        "type": "geometry_msgs/Pose",
        "time": 1620746289.155602
      }
    },
    "current_edge": {
      "_connection_header": {
        "message_definition": "string data\n",
        "callerid": "/topological_navigation",
        "latching": "0",
        "md5sum": "992ce8a1687cec8c8bd883ec73ca41d1",
        "topic": "/current_edge",
        "type": "std_msgs/String"
      },
      "data": "none",
      "_ros_meta": {
        "type": "std_msgs/String",
        "time": 1620746289.155646
      }
    },
    "current_node": {
      "_connection_header": {
        "message_definition": "string data\n",
        "callerid": "/topological_localisation",
        "latching": "1",
        "md5sum": "992ce8a1687cec8c8bd883ec73ca41d1",
        "topic": "/current_node",
        "type": "std_msgs/String"
      },
      "data": "t0-r4-c0",
      "_ros_meta": {
        "type": "std_msgs/String",
        "time": 1620746289.155688
      }
    },
    "amcl": {
      "pose": {
        "header": {
          "stamp": {
            "secs": 1620746288,
            "nsecs": 450066167,
            "_ros_meta": {
              "type": "genpy.Time",
              "time": 1620746289.155823
            }
          },
          "frame_id": "map",
          "seq": 202,
          "_ros_meta": {
            "type": "std_msgs/Header",
            "time": 1620746289.155861
          }
        },
        "pose": {
          "pose": {
            "position": {
              "y": -11.988453707226407,
              "x": 13.835248826386334,
              "z": 0,
              "_ros_meta": {
                "type": "geometry_msgs/Point",
                "time": 1620746289.155963
              }
            },
            "orientation": {
              "y": 0,
              "x": 0,
              "z": -0.648982424443155,
              "w": 0.7608033995480596,
              "_ros_meta": {
                "type": "geometry_msgs/Quaternion",
                "time": 1620746289.156051
              }
            },
            "_ros_meta": {
              "type": "geometry_msgs/Pose",
              "time": 1620746289.156072
            }
          },
          "covariance": [
            0.006449135468045597,
            0.0008282562733370469,
            0,
            0,
            0,
            0,
            0.0008282562733370469,
            0.008481115619218826,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0.006860008559654963
          ],
          "_ros_meta": {
            "type": "geometry_msgs/PoseWithCovariance",
            "time": 1620746289.156798
          }
        },
        "_ros_meta": {
          "type": "geometry_msgs/PoseWithCovarianceStamped",
          "time": 1620746289.156833
        },
        "_connection_header": {
          "message_definition": "# This expresses an estimated pose with a reference coordinate frame and timestamp\n\nHeader header\nPoseWithCovariance pose\n\n================================================================================\nMSG: std_msgs/Header\n# Standard metadata for higher-level stamped data types.\n# This is generally used to communicate timestamped data \n# in a particular coordinate frame.\n# \n# sequence ID: consecutively increasing ID \nuint32 seq\n#Two-integer timestamp that is expressed as:\n# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')\n# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')\n# time-handling sugar is provided by the client library\ntime stamp\n#Frame this data is associated with\nstring frame_id\n\n================================================================================\nMSG: geometry_msgs/PoseWithCovariance\n# This represents a pose in free space with uncertainty.\n\nPose pose\n\n# Row-major representation of the 6x6 covariance matrix\n# The orientation parameters use a fixed-axis representation.\n# In order, the parameters are:\n# (x, y, z, rotation about X axis, rotation about Y axis, rotation about Z axis)\nfloat64[36] covariance\n\n================================================================================\nMSG: geometry_msgs/Pose\n# A representation of pose in free space, composed of position and orientation. \nPoint position\nQuaternion orientation\n\n================================================================================\nMSG: geometry_msgs/Point\n# This contains the position of a point in free space\nfloat64 x\nfloat64 y\nfloat64 z\n\n================================================================================\nMSG: geometry_msgs/Quaternion\n# This represents an orientation in free space in quaternion form.\n\nfloat64 x\nfloat64 y\nfloat64 z\nfloat64 w\n",
          "callerid": "/mel_amcl",
          "latching": "1",
          "md5sum": "953b798c0f514ff060a53a3498ce6246",
          "topic": "/amcl_pose",
          "type": "geometry_msgs/PoseWithCovarianceStamped"
        }
      },
      "quality": {
        "_connection_header": {
          "message_definition": "float64 data\n",
          "callerid": "/mel_amcl",
          "latching": "1",
          "md5sum": "fdb28210bfa9d7c91146260178d9a584",
          "topic": "/amcl_quality",
          "type": "std_msgs/Float64"
        },
        "data": 11.000557964846546,
        "_ros_meta": {
          "type": "std_msgs/Float64",
          "time": 1620746289.156902
        }
      }
    },
    "closest_node": {
      "_connection_header": {
        "message_definition": "string data\n",
        "callerid": "/topological_localisation",
        "latching": "1",
        "md5sum": "992ce8a1687cec8c8bd883ec73ca41d1",
        "topic": "/closest_node",
        "type": "std_msgs/String"
      },
      "data": "t0-r4-c0",
      "_ros_meta": {
        "type": "std_msgs/String",
        "time": 1620746289.156962
      }
    },
    "gps": {
      "status": {
        "status": 2,
        "service": 0,
        "_ros_meta": {
          "type": "sensor_msgs/NavSatStatus",
          "time": 1620746289.157061
        }
      },
      "_connection_header": {
        "message_definition": "# Navigation Satellite fix for any Global Navigation Satellite System\n#\n# Specified using the WGS 84 reference ellipsoid\n\n# header.stamp specifies the ROS time for this measurement (the\n#        corresponding satellite time may be reported using the\n#        sensor_msgs/TimeReference message).\n#\n# header.frame_id is the frame of reference reported by the satellite\n#        receiver, usually the location of the antenna.  This is a\n#        Euclidean frame relative to the vehicle, not a reference\n#        ellipsoid.\nHeader header\n\n# satellite fix status information\nNavSatStatus status\n\n# Latitude [degrees]. Positive is north of equator; negative is south.\nfloat64 latitude\n\n# Longitude [degrees]. Positive is east of prime meridian; negative is west.\nfloat64 longitude\n\n# Altitude [m]. Positive is above the WGS 84 ellipsoid\n# (quiet NaN if no altitude is available).\nfloat64 altitude\n\n# Position covariance [m^2] defined relative to a tangential plane\n# through the reported position. The components are East, North, and\n# Up (ENU), in row-major order.\n#\n# Beware: this coordinate system exhibits singularities at the poles.\n\nfloat64[9] position_covariance\n\n# If the covariance of the fix is known, fill it in completely. If the\n# GPS receiver provides the variance of each measurement, put them\n# along the diagonal. If only Dilution of Precision is available,\n# estimate an approximate covariance from that.\n\nuint8 COVARIANCE_TYPE_UNKNOWN = 0\nuint8 COVARIANCE_TYPE_APPROXIMATED = 1\nuint8 COVARIANCE_TYPE_DIAGONAL_KNOWN = 2\nuint8 COVARIANCE_TYPE_KNOWN = 3\n\nuint8 position_covariance_type\n\n================================================================================\nMSG: std_msgs/Header\n# Standard metadata for higher-level stamped data types.\n# This is generally used to communicate timestamped data \n# in a particular coordinate frame.\n# \n# sequence ID: consecutively increasing ID \nuint32 seq\n#Two-integer timestamp that is expressed as:\n# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')\n# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')\n# time-handling sugar is provided by the client library\ntime stamp\n#Frame this data is associated with\nstring frame_id\n\n================================================================================\nMSG: sensor_msgs/NavSatStatus\n# Navigation Satellite fix status for any Global Navigation Satellite System\n\n# Whether to output an augmented fix is determined by both the fix\n# type and the last time differential corrections were received.  A\n# fix is valid when status >= STATUS_FIX.\n\nint8 STATUS_NO_FIX =  -1        # unable to fix position\nint8 STATUS_FIX =      0        # unaugmented fix\nint8 STATUS_SBAS_FIX = 1        # with satellite-based augmentation\nint8 STATUS_GBAS_FIX = 2        # with ground-based augmentation\n\nint8 status\n\n# Bits defining which Global Navigation Satellite System signals were\n# used by the receiver.\n\nuint16 SERVICE_GPS =     1\nuint16 SERVICE_GLONASS = 2\nuint16 SERVICE_COMPASS = 4      # includes BeiDou.\nuint16 SERVICE_GALILEO = 8\n\nuint16 service\n",
        "callerid": "/navsat_transform_node",
        "latching": "0",
        "md5sum": "2d3a8cd499b9b4a0249fb98fd05cfa48",
        "topic": "/gps/filtered",
        "type": "sensor_msgs/NavSatFix"
      },
      "altitude": 0,
      "longitude": -0.5243025173958529,
      "position_covariance": [
        0.008668869533784441,
        6.404352234081964e-10,
        0,
        6.404352234624065e-10,
        0.008805533870316733,
        0,
        0,
        0,
        9.80907605934074e-7
      ],
      "header": {
        "stamp": {
          "secs": 1620746289,
          "nsecs": 6675720,
          "_ros_meta": {
            "type": "genpy.Time",
            "time": 1620746289.157355
          }
        },
        "frame_id": "base_link",
        "seq": 2038,
        "_ros_meta": {
          "type": "std_msgs/Header",
          "time": 1620746289.157402
        }
      },
      "position_covariance_type": 3,
      "latitude": 53.26853414547089,
      "_ros_meta": {
        "type": "sensor_msgs/NavSatFix",
        "time": 1620746289.157455
      }
    }
  }
}

Clone this wiki locally