.. _Topics: Topics ====== Topics are names under which data samples are published. Any number of subscribers can then receive the published data. Topics are arranged in a tree and it is possible to subscribe to a whole sub-tree. For example a subscription to ``input`` will receive samples from ``input.joystick.data`` as well as ``input.velocity_cmd``. Topics do not have an assigned data type, but in most cases only a specific data type is published. input ----- ``input.joystick.data`` [:ref:`pilot.JoyData`] Joystick input samples. ``input.velocity_cmd`` [:ref:`pilot.VelocityCmd`] Joystick velocity commands. kinematics ---------- ``kinematics.drive_can.errors`` CAN error frames. ``kinematics.drive_can.receive`` CAN messages from the drives to the motor module. ``kinematics.drive_can.send`` CAN messages from motor module to the drives. ``kinematics.drive_cmd`` Drive command input for the motors module. Dependent on kinematics can contain position and velocity in SI units. ``kinematics.drive_state`` Feedback from the motor module. Dependent on kinematics can contain position, velocity and torque in SI units. ``kinematics.drive_state_raw`` Same as ``kinematics.drive_state`` but using encoder increments as the units. ``kinematics.state`` [:ref:`pilot.kinematics.KinematicsState`] Simplified indicator of the current state of the kinematics. ``kinematics.velocity_cmd`` [:ref:`pilot.VelocityCmd`] Commanded velocity input for the kinematics module. local_planner ------------- ``local_planner.state`` [:ref:`pilot.LocalPlannerState`] :ref:`LocalPlanner` state updates. ``local_planner.target_pose`` [:ref:`pilot.Pose2D`] :ref:`LocalPlanner` target pose updates. localization ------------ ``localization.map_tile`` [:ref:`pilot.OccupancyMapData`] Localization map tile, ie. current section of the :ref:`GridMap`. ``localization.particles`` [:ref:`pilot.PoseArray2D`] Localization particle swarm in ``map`` coordinates. ``localization.status`` [:ref:`pilot.LocalizationStatus`] Localization status updates. mapping ------- ``mapping.grid_map`` [:ref:`pilot.OccupancyMapData`] New :ref:`GridMap` created by mapping. ``mapping.pose_graph`` [:ref:`pilot.RoadMapData`] Mapping pose graph. motors ------ ``motors.motor_control_data`` [:ref:`pilot.motors.elmo.MotorControlData`] Motor data depending on the controller manufacturer. ``motors.state`` [:ref:`pilot.motors.elmo.MotorState`] Motor state depending on the controller manufacturer. navigation ---------- ``navigation.footprint`` [:ref:`pilot.Footprint`] Platform footprint. ``navigation.global_cost_map`` [:ref:`pilot.CostMapData`] Global cost map. ``navigation.global_path`` [:ref:`pilot.Path2D`] Current global path in ``map`` coordinates. ``navigation.grid_map`` [:ref:`pilot.OccupancyMapData`] Current :ref:`GridMap`. ``navigation.initial_pose`` [:ref:`pilot.Pose2D`] Pose estimates to intialize Localization. ``navigation.local_cost_map`` [:ref:`pilot.CostMapData`] Local cost map. ``navigation.local_cost_map_overlay`` [:ref:`pilot.CostMapData`] Local cost map with global cost map overlayed. ``navigation.local_path`` [:ref:`pilot.Path2D`] Current optimized local path in ``odom`` coordinates. ``navigation.map_match`` [:ref:`pilot.MapMatch`] Current map match. ``navigation.map_pose`` [:ref:`pilot.Pose2D`] Current map pose in ``map`` coordinates. ``navigation.new_goal_pose`` [:ref:`pilot.Pose2D`] New goals can be published here. ``navigation.new_grid_map`` [:ref:`pilot.OccupancyMapData`] New :ref:`GridMap` can be published here. ``navigation.new_road_map`` [:ref:`pilot.RoadMapData`] New :ref:`RoadMap` can be published here. ``navigation.odom_pose`` [:ref:`pilot.Pose2D`] Current local pose in ``odom`` coordinates. ``navigation.road_map`` [:ref:`pilot.RoadMapData`] Current :ref:`RoadMap`. ``navigation.velocity_cmd`` [:ref:`pilot.VelocityCmd`] Velocity commands from :ref:`LocalPlanner`. network ------- ``network.beacons`` [:ref:`pilot.Beacon`] Beacons for fleet management. platform -------- ``platform.battery_state`` [:ref:`pilot.BatteryState`] Battery state updates. ``platform.emergency_state`` [:ref:`pilot.EmergencyState`] Emergency state updates. ``platform.events`` [:ref:`pilot.Event`, :ref:`pilot.Incident`] Generic events. ``platform.incidents`` [:ref:`pilot.Incident`] External incidents, to be handled by :ref:`PilotServer`. ``platform.active_incidents`` [:ref:`pilot.ActiveIncidents`] List of currently active incidents. ``platform.info`` [:ref:`pilot.PlatformInfo`] Static platform info. ``platform.odometry`` [:ref:`pilot.Odometry`] Odometry samples. ``platform.pilot_state`` [:ref:`pilot.PilotState`] Pilot state updats. ``platform.system_state`` [:ref:`pilot.SystemState`] System state update. ``platform.safety_state`` [:ref:`pilot.SafetyState`] Safety state update. ``platform.power_state`` [:ref:`pilot.PowerState`] System power state. ``platform.relay_board_data`` [:ref:`pilot.RelayBoardData`, :ref:`pilot.RelayBoardV3Data`] RelayBoard data. ``platform.velocity_cmd`` [:ref:`pilot.VelocityCmd`] Custom velocity commands. sensors ------- ``sensors.point_cloud.*`` [:ref:`pilot.PointCloud2D`, :ref:`pilot.LaserPointCloud`] Laser point clouds in ``odom`` coordinates. task_handler ------------ ``task_handler.current_task`` [:ref:`pilot.ExecutionState`] Current task being executed by :ref:`TaskHandler` module. ``task_handler.current_event_task`` [:ref:`pilot.ExecutionState`] Current event task being executed by :ref:`TaskHandler` module. ``task_handler.execution_history`` [:ref:`pilot.ExecutionHistory`] Execution history of :ref:`TaskHandler` module. ``task_handler.event_history`` [:ref:`pilot.ExecutionHistory`] Event execution history of :ref:`TaskHandler` module. ``task_handler.execution_error`` [:ref:`pilot.ExecutionError`] Current execution error, if any. tf -- ``tf.map.odom`` [:ref:`pilot.Pose2D`] Localization updates. ``tf.odom.base_link`` [:ref:`pilot.Odometry`] Odometry samples. tfd.map ------- ``tfd.map.local_planner.target_pose`` [:ref:`pilot.Pose2D`] Same as `local_planner.target_pose` but in ``map`` coordinates. ``tfd.map.navigation.local_path`` [:ref:`pilot.Pose2D`] Same as `navigation.local_path` but in ``map`` coordinates. ``tfd.map.sensors.point_cloud.*`` [:ref:`pilot.Pose2D`] Same as `sensors.point_cloud.*` but in ``map`` coordinates. vnx --- ``vnx.log_out`` [:ref:`vnx.LogMsg`] Terminal log messages. ``vnx.module_info`` [:ref:`vnx.ModuleInfo`] Module info updates. ``vnx.recorder_status`` [:ref:`vnx.RecorderStatus`] Status information of the data recorder, when active.