You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Convert negation-heavy framing to noun-plus-job across the visualization
pages (a visual and its collision geometry each get a positive role),
and fix soft negatives vale does not flag (invisible, nothing, cannot).
Move the section index into an overview page (thin _index + manualLink,
matching the frame-system convention) and restructure it as a hub with a
short section per visualization approach: the 3D scene, Viam
Visualization, component data in apps, and time-series dashboards.
Fix code against source: api.DrawGeometry takes a DrawGeometryOptions
struct, and add the draw service's add/update/remove fan-out to the
browser. Improve the frame system description to lead concrete.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GdVfSBN5zBzSHStG1HoPDK
Copy file name to clipboardExpand all lines: docs/motion-planning/3d-scene/debug-motion-plan.md
+9-11Lines changed: 9 additions & 11 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -7,12 +7,11 @@ type: "docs"
7
7
description: "Publish a motion plan's trajectory and goals as custom visuals so the 3D scene renders the path, then compare it against obstacles and reach to debug failures."
8
8
---
9
9
10
-
The **3D SCENE** tab does not show motion plans on its own. It is a static
11
-
inspector of the configured frame system and live component poses: it has no
12
-
timeline, no scrubber, and no plan playback. To see a plan, the trajectory the
13
-
arm will follow, the goals it aims for, and how that path relates to your
14
-
obstacles, you publish the plan as **custom visuals** through a world state store
15
-
service. The scene then renders the path you can otherwise only read as numbers.
10
+
The **3D SCENE** tab is a static inspector: it shows the configured frame system
11
+
and live component poses. To see a motion plan, the trajectory the arm will follow,
12
+
the goals it aims for, and how that path relates to your obstacles, you publish the
13
+
plan as **custom visuals** through a world state store service. The scene then renders
14
+
the path you can otherwise only read as numbers.
16
15
17
16
This page shows how to turn a plan into transforms the scene can draw, and how to
18
17
use the rendered path to debug a plan that failed or moved unexpectedly.
@@ -81,7 +80,7 @@ from the trajectory leading to it.
81
80
82
81
Serve the transforms through a world state store service so the **3D SCENE** tab
83
82
renders them. The plan markers stream in alongside the frames and obstacle
84
-
geometry the scene already shows. For the service interface, the poll-and-update
83
+
geometry the scene already shows. For the service methods, the poll-and-update
85
84
loop, and how a module pulls data from its dependencies, see
86
85
[Publish visuals from a module](/visualization/publish-visuals-from-a-module/).
87
86
@@ -94,11 +93,10 @@ the rest of the scene:
94
93
geometry, that is where the planner reports a collision. Check whether the
95
94
obstacle is real or an oversized geometry.
96
95
-**Does the goal fall outside the arm's reach?** If a goal marker sits far from
97
-
any reachable arm configuration, the planner cannot get there. Move the goal or
96
+
any reachable arm configuration, the goal is out of reach. Move the goal or
98
97
check the frame system.
99
98
-**Why the detour?** An unexpected route usually means an obstacle is forcing
100
-
the planner around it. Look for geometry between the start and goal you did not
101
-
intend to add.
99
+
the planner around it. Look for stray geometry between the start and goal.
102
100
103
101
For checking the obstacle geometry itself, separate from the plan, see
description: "Ways to visualize a Viam machine: the 3D scene, the standalone Viam Visualization app, component data in apps, and time-series dashboards."
8
+
---
9
+
10
+
There are several approaches to visualizing information in Viam. For things like frames,
11
+
robot state, motion, collisions, and perception data, you can use the 3D scene view or an
12
+
offline visualizer called Viam Visualization. This data can be retrieved from components
13
+
and used in Viam apps or custom user applications. For time series data, services and
14
+
modules can push data to the cloud and visualize it with Viam's Teleop workspaces and
15
+
dashboards to get live information across a machine or fleet.
16
+
17
+
## The 3D scene
18
+
19
+
The **3D SCENE** tab on your machine's page renders an interactive 3D view of your
20
+
machine: component frames from the frame system, configured geometries, depth-camera
21
+
point clouds, and custom visuals a module publishes at runtime. Use it to check spatial
0 commit comments