Add and configure a 3D Scene module

This guide will teach you how to create and configure a 3D Scene module.

Prerequisite: Create a view

Before you can set up a 3D Scene module, you need to create a view for your device. For more information, see Create a view and add modules.

Step 1: Create a 3D Scene module

  1. Navigate to the view to which you want to add a 3D Scene module.
  2. Click the dropdown next to the view name >> Edit...
  3. Click the Add (+) Module button >> 3D Scene.

Step 2: Configure your 3D Scene module

The following sections will guide you through each configuration option for the 3D Scene module.

Maps

A map is a rendering of the space your robot inhabits. You can choose between two types of map as the base layer of your 3D Scene rendering: GPS map and occupancy map.

GPS

A GPS map layer is powered by either a GPS telemetry stream, or a default latitude and longitude.

GPS map in satellite mode.

GPS map in satellite mode.

PropertyUsage
World map typeSet your GPS map to satellite image mode or street mode.
Map edge lengthSelect the size of your map. Larger map boundaries take longer to render and update.
Default latitudeManual entry of the default latitude of your GPS map. N and E are positive values, S and W are negative values.

If you specify a default latitude and default longitude, that location will become the origin of your scene and override the telemetry stream.
Default longitudeManual entry of the default longitude of your GPS map. N and E are positive values, S and W are negative values.

If you specify a default latitude and default longitude, that location will become the origin of your scene and override the telemetry stream.
Telemetry streamProvide a GPS telemetry stream. The latitude and longitude of this GPS stream will set the origin of your map.

If you specify a default latitude and default longitude, that location will become the origin of your scene and override the telemetry stream.
X offsetSet an x-axis offset of the center of your scene from the origin of the map.
Y offsetSet a y-axis offset of the center of your scene from the origin of the map.
Z offsetSet a z-axis offset of the center of your scene from the origin of the map.

Occupancy map

An occupancy map shows localization data in the vicinity of your robot.

Occupancy map showing localization data.

Occupancy map showing localization data.

PropertyUsage
Telemetry streamProvide a localization stream to feed the occupancy map visualization.

For more information, see Add a ROS localization stream and Configure localization for teleoperation.
Use historical dataEnable if a live data stream is not available. Formant will use the most recent historical data available.
X offset (m)Set an x-axis offset of the center of your scene from the origin of the map.
Y offset (m)Set a y-axis offset of the center of your scene from the origin of the map.
Z offset (m)Set a z-axis offset of the center of your scene from the origin of the map.

Device layers

This section describes the various layers you can add on top of your map.

Position indicator

You can add either a glowing dot or a URDF of your robot as the indicator of your device's position on the map.

Glowing dot position indicator.

Glowing dot position indicator.

URDF position indicator.

URDF position indicator.

📘

Position your device on the map

To position your device on the map, use the Cartesian, Odometry, or Transform tree transforms. This will place your device relative to the origin of the map.

PropertyUsage
Use URDFIf ON, the robot's URDF file will be used to render a visualization of your robot. You must have a URDF file specified for your device. For more information, see Add a URDF file.

If OFF, your robot's position will be represented by a glowing dot on the map.
Telemetry joint state streamTelemetry stream containing joint state data. If realtime stream is also provided, it will override the telemetry stream and disconnect joint state data from the timeline.
Realtime joint state streamRealtime stream containing joint state data. If specified, joint state will always reflect realtime position and will disconnect from the timeline.
NameName of this position indicator layer.
Enable trailIf ON, a trail will be left behind as your robot moves on the map.
Transform typeSee the Transforms section below.

Marker array

Position indicator with a marker array.

Position indicator with a marker array.

PropertyUsage
NameName of this marker array layer.
Allow transparencyIf ON, Formant will read transparency values from marker array stream. If OFF, markers will render as opaque. Transparency requires additional computation time.
Telemetry streamProvide a Marker Array stream to feed the geometry layer visualization
TransformSee the Transforms section below.

Point cloud

Robot URDF with point cloud layer.

Robot URDF with point cloud layer.

PropertyUsage
NameName of this point cloud layer.
Decay time (s)Set how long data points will stay in the point cloud visualization before disappearing.
Use color dataIf enabled, Formant will display the color provided by the sensor. If disabled, Formant will auto-fill with a default color.
Telemetry streamTelemetry stream containing point cloud data. If realtime stream is also provided, it will override the telemetry stream and disconnect point cloud data from the timeline.
Realtime streamRealtime stream containing point cloud data. If specified, point cloud will always reflect realtime state and will disconnect from the timeline.
TransformSee the Transforms section below.

Path

PropertyUsage
NameName of this path layer.
Path opacity %Path opacity percentage between 0 - 100.
Path typeStatic path stays the same size regardless of zoom. Dynamic path resizes with zoom for consistent display size.
Path widthSet path width between 0 - 10.
Telemetry streamLocalization stream from which to populate path.
TransformSee the Transforms section below.

Transforms

Use transforms to set the position of a layer relative to the origin of your 3D scene.

Cartesian

Sets the origin of a layer to the (x,y,z) coordinates relative to the origin of the map.

Property NameInputUsage
X offsetLayer's offset along the x-axis from the origin (meters)Set the layer's x-axis offset from the scene's origin.
Y offsetLayer's offset along the y-axis from the origin (meters)Set the layer's y-axis offset from the scene's origin.
Z offsetLayer's offset along the z-axis from the origin (meters)Set the layer's z-axis offset from the scene's origin.

GPS

Sets the origin for a layer to (relative latitude, relative longitude). Layered object is placed according to the GPS stream. Distances in meters are then calculated between the GPS stream and the origin of the layer.

Property NameInputUsage
Relative latitudeLayer's origin latitudeSet layer's origin latitude. N and E are positive values, S and W are negative values.
Relative longitudeLayer's origin longitudeSet layer's origin longitude. N and E are positive values, S and W are negative values.
GPS streamName of GPS stream for layerProvide a GPS stream to perform a GPS transformation on your layer. Position and distances for this layer will be calculated relative to the the Relative latitude and Relative longitude.

For example, if the layer is a waypoint placed at (45, 105), and the GPS stream reports a robot location of (46,104), a distance measurement between the GPS stream and the layer's origin would report the distance in meters that is subtended by a (lat, long) difference of (1,-1).

Odometry

Move an object in your scene based on odometry data, via either telemetry stream or realtime stream. When both streams are present, telemetry is prioritized. For more information on telemetry vs. realtime streams, see Telemetry vs realtime data streams.

Property NameInputUsage
Localization streamName of localization telemetry streamProvide a localization stream to perform an odometry transformation on your layer.
Localization world to localBooleanEnable to perform a world-to-local transformation on your odometry data.
Localization realtime streamName of localization realtime streamProvide a localization realtime stream to perform an odometry transformation on your layer.

Transform tree

Move an object in your scene based on transform tree data.

Property NameInputUsage
Transform tree streamName of transform tree streamProvide a transform tree stream to perform a transform tree transformation on your layer.
Transform tree end pointName of end pointProvide the name of the end point of interest in your transform tree.

Advanced options

PropertyUsage
Sync with timelineSet this to OFF if using during teleoperation. If ON, data will be shown at timeline point. If OFF, the 3D scene will ignore the timeline and always show live data.
Display groundToggle the ground plane.
Enable debug modePuts a bounding box around each layer to show their boundaries within the 3D Scene.

See also

👋

If you notice an issue with this page or need help, please reach out to us! Use the 'Did this page help you?' buttons below, or get in contact with our Customer Success team via the Intercom messenger in the bottom-right corner of this page, or at [email protected].