Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DOCS-1825: Document teleop page as how-to #3675

Open
wants to merge 5 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file added assets/how-tos/teleop/blank-workspace.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/how-tos/teleop/configured-workspace.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/how-tos/teleop/four-panes.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/how-tos/teleop/full-workspace.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 2 additions & 1 deletion docs/how-tos/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -53,11 +53,12 @@ The guides on this page provide solutions for common tasks and workflows. Browse
{{< /cards >}}
{{< /how-to-expand >}}

{{< how-to-expand "Work with sensor data" "3" "INTERMEDIATE" >}}
{{< how-to-expand "Work with sensor data" "4" "INTERMEDIATE" >}}
{{< cards >}}
{{% card link="/how-tos/collect-sensor-data/" noimage="true" %}}
{{% card link="/how-tos/sensor-data-visualize/" noimage="true" %}}
{{% card link="/how-tos/sensor-data-query-with-third-party-tools/" noimage="true" %}}
{{% card link="/how-tos/configure-teleop-workspace/" noimage="true" %}}
{{< /cards >}}
{{< /how-to-expand >}}

Expand Down
114 changes: 114 additions & 0 deletions docs/how-tos/configure-teleop-workspace.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,114 @@
---
title: "Configure a teleop workspace"
linkTitle: "Configure a teleop workspace"
weight: 10
type: "docs"
description: "Create and configure a teleop workspace with widgets."
images: ["/how-tos/teleop/full-workspace.png"]
icon: true
tags: ["teleop", "configuration"]
languages: []
viamresources: ["sensor", "camera", "movement sensor"]
platformarea: ["viz", "data"]
level: "Intermediate"
date: "2024-11-13"
# updated: "2024-08-26" # When the tutorial was last entirely checked
cost: "0"
---

You can use teleop to create a custom workspace where you can visualize data from a machine.
sguequierre marked this conversation as resolved.
Show resolved Hide resolved
Follow this guide to learn how to create a custom workspace using teleop, visualizing data from a camera, a sensor, or a movement sensor.
sguequierre marked this conversation as resolved.
Show resolved Hide resolved

{{% alert title="In this page" color="info" %}}

- [Configure a workspace](#configure-a-workspace)

{{% /alert %}}

## Prerequisites

{{% expand "A configured machine with teleoperable components" %}}

Make sure your machine has at least one of the following:

- A [camera](/components/camera/)
- A [movement sensor](/components/movement-sensor/)
- A [sensor](/components/sensor/)

See [configure a machine](/how-tos/configure/) for more information.
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

figure this covers device requirements and viam app requirements? lmk and I can add more but this isn't a super basic thing to do with viam so I figured a tiny bit of cross-linking was ok

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yep, I like it


{{% /expand%}}

## Configure a workspace

{{< table >}}
{{% tablestep %}}
**1. Create a workspace in the Viam app**

Log in to the [Viam app](https://app.viam.com/).

Navigate to the **FLEET** page's **TELEOP** tab.
Create a workspace by clicking **+ Create workspace**.
Give it a name.

{{<imgproc src="/how-tos/teleop/blank-workspace.png" resize="800x" style="width: 500px" class="fill aligncenter" declaredimensions=true alt="Blank teleop page.">}}
sguequierre marked this conversation as resolved.
Show resolved Hide resolved

{{% /tablestep %}}
{{% tablestep %}}
**2. Add widgets**

You are prompted to add a widget to add teleop visualizations to your workspace.
sguequierre marked this conversation as resolved.
Show resolved Hide resolved
Click **Add widget** and select the appropriate widget for your machine.
Repeat as many times as necessary.

- If you have a camera, select **Camera stream**, which allows you to view a camera stream.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think these should be needed. The UI should be self explanatory from here, shouldn't it? If it isn't this is a place where we should work with Product to improve the UI instead. See notes below

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do you mean to suggest removing all of these bullets? Just want to be sure. I agree the UI should be self explanatory

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yes

Enter the name of your camera.

- If you have a movement sensor, select a **GPS map**, which allows you to map the location of a machine.
sguequierre marked this conversation as resolved.
Show resolved Hide resolved
Enter the name of your movement sensor.
Toggle **Historic positions** to on to see how position has changed over time.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

did you test this? Does this create a heatmap or how is this visualized?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yes, it creates a line I believe from starting position to end. like this:
image


- If you have a sensor, select **Stat** to view a single sensor value.
Enter the name of the sensor for **Sensor name** and enter the key for the value in **Path**, for example `time_unix`.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think for these it would be good to add a tip for people trying to figure out how to get the path (go to machine's test panel and check the returned json object. should probably also include what to do if it's inside another object)

However, this should ideally be a tooltip in the app. Please file the appropriate ticket with a suggestion for copy.

Copy link
Collaborator Author

@sguequierre sguequierre Nov 18, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

They are going to make it selectable from a dropdown so I think it's not worth filing that as it would quickly be deprecated, does that make sense? @npentrel

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

sounds good

Optionally, add **Units** and give the stat a **Widget title**.

Then, add that same sensor as a time series graph.
Click **Add widget** again and select **Time series**, which allows you to graph sensor values over time.
Enter the name of the sensor for **Sensor name**.
Give the graph a line title and enter the key for the sensor value in **Path**, for example `time_unix`.
Add more lines if your sensor measures multiple values.

Now your workspace setup is complete:

{{<imgproc src="/how-tos/teleop/configured-workspace.png" resize="700x" style="width: 500px" class="fill aligncenter" declaredimensions=true alt="Teleop workspace with values configured for each of the four widgets.">}}

{{% /tablestep %}}
{{% tablestep %}}
**3. Select a machine**

Now, select a machine with which to make your teleop workspace come to life.
Select **Monitor** in the top right corner to leave editing mode.
Click **Select machine** and select your configured machine.

Your workspace now appears like the following depending on which widgets you've configured:
sguequierre marked this conversation as resolved.
Show resolved Hide resolved

{{<imgproc src="/how-tos/teleop/full-workspace.png" resize="900x" style="width: 500px" class="fill aligncenter" declaredimensions=true alt="Teleop workspace with values configured for each of the four widgets on monitor mode.">}}
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
{{<imgproc src="/how-tos/teleop/full-workspace.png" resize="900x" style="width: 500px" class="fill aligncenter" declaredimensions=true alt="Teleop workspace with values configured for each of the four widgets on monitor mode.">}}
{{<imgproc src="/how-tos/teleop/full-workspace.png" resize="900x" style="width: 500px" class="fill aligncenter imgzoom" declaredimensions=true alt="Teleop workspace with values configured for each of the four widgets on monitor mode.">}}


You can go back to **Edit** mode and drag and drop the widgets' panes around to edit their appearance.
For example:

{{<imgproc src="/how-tos/teleop/four-panes.png" resize="900x" style="width: 500px" class="fill aligncenter" declaredimensions=true alt="Teleop workspace with values configured for each of the four widgets on monitor mode with four panes.">}}
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
{{<imgproc src="/how-tos/teleop/four-panes.png" resize="900x" style="width: 500px" class="fill aligncenter" declaredimensions=true alt="Teleop workspace with values configured for each of the four widgets on monitor mode with four panes.">}}
{{<imgproc src="/how-tos/teleop/four-panes.png" resize="900x" style="width: 500px" class="fill aligncenter imgzoom" declaredimensions=true alt="Teleop workspace with values configured for each of the four widgets on monitor mode with four panes.">}}


{{% /tablestep %}}
{{< /table >}}

## Next steps

Follow more of our how-to guides to do more with the Viam platform:

{{< cards >}}
{{% card link="/how-tos/detect-people/" %}}
{{% card link="/how-tos/drive-rover/" %}}
{{% card link="/how-tos/train-deploy-ml/" %}}
{{% card link="/how-tos/upload-data/" %}}
sguequierre marked this conversation as resolved.
Show resolved Hide resolved
{{< /cards >}}
1 change: 1 addition & 0 deletions layouts/docs/howto.html
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,7 @@ <h4 class="alert-heading">Javascript</h4>
{{ partial "tutorialcard-no-js.html" (dict "link" "/how-tos/collect-sensor-data/") }}
{{ partial "tutorialcard-no-js.html" (dict "link" "/how-tos/sensor-data-query-with-third-party-tools/") }}
{{ partial "tutorialcard-no-js.html" (dict "link" "/how-tos/sensor-data-visualize/") }}
{{ partial "tutorialcard-no-js.html" (dict "link" "/how-tos/configure-teleop-workspace/") }}
{{ partial "tutorialcard-no-js.html" (dict "link" "/how-tos/create-module/") }}
{{ partial "tutorialcard-no-js.html" (dict "link" "/how-tos/sensor-module/") }}
{{ partial "tutorialcard-no-js.html" (dict "link" "/how-tos/upload-module/") }}
Expand Down
Loading