Ingesting ROS localization data
This section is for ROS users
If you do not use ROS, feel free to move on to the next section: Ingesting from Python.
Localization is a unified datapoint type in Formant, which is meant to encapsulate data relevant to a robot's location and surroundings into a single datapoint.
Localization combines map, path, point cloud, laser scan, odometry, pose, and goal into a single telemetry stream.
ROS message type | Formant datapoint type |
---|---|
nav_msgs/OccupancyGrid nav_msgs/Path sensor_msgs/PointCloud2 sensor_msgs/LaserScan nav_msgs/Odometry geometry_msgs/PoseStamped | Localization |
Adding a new ROS localization telemetry stream
To add a ROS localization stream,
- Open the Formant sidebar using the button in the top left of the screen
- Select Settings ⇒ Devices ⇒ Click on the device name
- Click the "Telemetry" tab
- Click "Add stream"
- Choose "ROS Localization"

ROS localization telemetry stream configuration
Odometry
Specify the odometry topic with type nav_mags/Odometry
which estimates the position and velocity of the robot with type. Usually /odom
.
Map
Specify an occupancy grid with type nav_mags/OccupancyGrid
with information about the robot's surroundings, sometimes found on /map
.
Point cloud or laser scan topics
Specify the sensor_msgs/PointCloud2
or sensor_msgs/LaserScan
topics (separated by comma) to be part of the localization stream. Formant requires PCD format for point clouds.
Path topic
Specify the ROS topic that indicates the path with type nav_msgs/Path
of the robot. The relevant topic name often varies by planner.
Goal topic
Specify the goal topic with type geometry_msgs/PoseStamped
to display the goal of the robot. This topic also varies by planner.
World reference frame
Specify the world reference frame. This is used to visualize one's localization state without ingesting the entire /tf topic. Must be the name of a frame published on /tf that is a parent frame of both Map and Odometry topics.
Updated about 1 year ago