From 5572d926255159bf7d58b6f3343c05811ed94f9e Mon Sep 17 00:00:00 2001 From: Naomi Pentrel <5212232+npentrel@users.noreply.github.com> Date: Tue, 7 Jan 2025 13:53:46 +0100 Subject: [PATCH] Update links --- .../ai/advanced/upload-external-data.md | 12 +- docs/data-ai/ai/create-dataset.md | 2 +- docs/data-ai/ai/deploy.md | 2 +- docs/data-ai/ai/run-inference.md | 2 +- docs/data-ai/ai/train-tflite.md | 2 +- docs/data-ai/ai/train.md | 16 +- docs/data-ai/capture-data/conditional-sync.md | 2 +- docs/data-ai/data/visualize.md | 2 +- docs/data-ai/reference/vision/mlmodel.md | 2 +- docs/dev/_index.md | 4 +- docs/dev/contributing.md | 2 +- docs/dev/reference/apis/_index.md | 2 +- docs/dev/reference/changelog.md | 26 +-- docs/dev/reference/glossary/fragment.md | 2 +- docs/dev/reference/glossary/machine-config.md | 2 +- .../glossary/model-namespace-triplet.md | 4 +- docs/dev/reference/glossary/model.md | 2 +- docs/dev/reference/glossary/module.md | 2 +- docs/dev/reference/sdks/_index.md | 6 +- docs/dev/reference/sdks/use-extra-params.md | 2 +- docs/dev/tools/cli.md | 2 +- docs/manage/fleet/provision/end-user-setup.md | 4 +- docs/manage/fleet/provision/setup.md | 14 +- docs/manage/fleet/reuse-configuration.md | 6 +- docs/manage/fleet/system-settings.md | 6 +- docs/manage/manage/access.md | 2 +- docs/manage/manage/rbac.md | 2 +- docs/manage/reference/billing.md | 2 +- docs/manage/reference/viam-agent/_index.md | 2 +- .../reference/viam-agent/manage-viam-agent.md | 2 +- docs/manage/software/deploy-packages.md | 2 +- docs/manage/software/update-packages.md | 2 +- docs/manage/troubleshoot/monitor.md | 4 +- .../teleoperate/default-interface.md | 2 +- docs/manage/troubleshoot/troubleshoot.md | 2 +- .../get-started/supported-hardware/_index.md | 4 +- docs/operate/mobility/define-geometry.md | 2 +- docs/operate/mobility/move-arm.md | 2 +- docs/operate/mobility/move-base.md | 6 +- docs/operate/reference/controls-package.md | 38 ++--- .../reference/kinematic-chain-config.md | 2 +- .../reference/services/frame-system/_index.md | 6 +- .../services/frame-system/frame-config.md | 2 +- .../frame-system/nested-frame-config.md | 2 +- .../reference/services/navigation/_index.md | 2 +- .../reference/viam-micro-server/_index.md | 2 +- .../tutorials/configure/build-a-mock-robot.md | 2 +- docs/tutorials/control/air-quality-fleet.md | 6 +- docs/tutorials/control/control-motor.md | 2 +- docs/tutorials/control/drive-rover.md | 2 +- docs/tutorials/control/flutter-app.md | 4 +- .../controlling-an-intermode-rover-canbus.md | 6 +- docs/tutorials/custom/custom-base-dog.md | 2 +- docs/tutorials/get-started/blink-an-led.md | 2 +- docs/tutorials/projects/claw-game.md | 2 +- .../tutorials/projects/verification-system.md | 6 +- .../services/color-detection-scuttle.md | 2 +- docs/tutorials/services/constrain-motion.md | 6 +- .../services/navigate-with-rover-base.md | 4 +- .../services/plan-motion-with-arm-gripper.md | 4 +- .../services/webcam-line-follower-robot.md | 4 +- .../include/components/apis/generated/arm.md | 18 +- .../include/components/apis/generated/base.md | 14 +- .../components/apis/generated/board.md | 22 +-- .../components/apis/generated/camera.md | 10 +- .../components/apis/generated/gantry.md | 14 +- .../apis/generated/generic_component.md | 7 +- .../components/apis/generated/gripper.md | 10 +- .../components/apis/generated/motor.md | 22 +-- .../apis/generated/movement_sensor.md | 20 +-- .../components/apis/generated/power_sensor.md | 10 +- .../components/apis/generated/sensor.md | 4 +- .../components/apis/generated/servo.md | 10 +- .../overrides/protos/arm.GetEndPosition.md | 2 +- .../overrides/protos/arm.MoveToPosition.md | 2 +- static/include/components/base-sensor.md | 2 +- .../components/board/test-board-analogs.md | 2 +- .../board/test-board-digital-interrupts.md | 2 +- .../components/camera-view-camera-stream.md | 2 +- static/include/components/motor-sensor.md | 2 +- .../components/test-control/arm-control.md | 2 +- .../components/test-control/base-control.md | 2 +- .../test-control/encoder-control.md | 2 +- .../components/test-control/gantry-control.md | 2 +- .../test-control/generic-control.md | 2 +- .../test-control/gripper-control.md | 2 +- .../test-control/input-controller-control.md | 2 +- .../components/test-control/motor-control.md | 2 +- .../movement-sensor-gps-control.md | 2 +- .../movement-sensor-imu-control.md | 2 +- .../test-control/power-sensor-control.md | 2 +- .../components/test-control/sensor-control.md | 2 +- .../components/test-control/servo-control.md | 2 +- static/include/robot/apis/generated/robot.md | 158 +----------------- .../apis/generated/generic_service.md | 5 - .../include/services/apis/generated/motion.md | 55 +----- .../include/services/apis/generated/slam.md | 4 +- .../include/services/apis/generated/vision.md | 20 +-- .../apis/overrides/protos/motion.MoveOnMap.md | 4 +- .../apis/overrides/protos/slam.GetPosition.md | 2 +- 100 files changed, 258 insertions(+), 463 deletions(-) diff --git a/docs/data-ai/ai/advanced/upload-external-data.md b/docs/data-ai/ai/advanced/upload-external-data.md index a57be4f0f5..04bb930cff 100644 --- a/docs/data-ai/ai/advanced/upload-external-data.md +++ b/docs/data-ai/ai/advanced/upload-external-data.md @@ -96,7 +96,7 @@ You can also turn off **Syncing** unless you have other directories you'd like t ## Upload data with Python -You can use the Python data client API [`file_upload_from_path`](/appendix/apis/data-client/#fileuploadfrompath) method to upload one or more files from your computer to the Viam Cloud. +You can use the Python data client API [`file_upload_from_path`](/dev/reference/apis/data-client/#fileuploadfrompath) method to upload one or more files from your computer to the Viam Cloud. {{% alert title="Note" color="note" %}} @@ -122,13 +122,13 @@ pip install viam-sdk ### Instructions {{< table >}} -{{% tablestep link="/appendix/apis/data-client/#establish-a-connection" %}} +{{% tablestep link="/dev/reference/apis/data-client/#establish-a-connection" %}} **1. Get API key** Go to your organization's setting page and create an API key for your individual {{< glossary_tooltip term_id="part" text="machine part" >}}, {{< glossary_tooltip term_id="part" text="machine" >}}, {{< glossary_tooltip term_id="location" text="location" >}}, or {{< glossary_tooltip term_id="organization" text="organization" >}}. {{% /tablestep %}} -{{% tablestep link="/appendix/apis/data-client/" %}} +{{% tablestep link="/dev/reference/apis/data-client/" %}} **2. Add a `file_upload_from_path` API call** Create a Python script and use the `file_upload_from_path` method to upload your data, depending on whether you are uploading one or multiple files: @@ -136,7 +136,7 @@ Create a Python script and use the `file_upload_from_path` method to upload your {{< tabs >}} {{< tab name="Upload a single file" >}} -To upload just one file, make a call to [`file_upload_from_path`](/appendix/apis/data-client/#fileuploadfrompath). +To upload just one file, make a call to [`file_upload_from_path`](/dev/reference/apis/data-client/#fileuploadfrompath). {{< expand "Click this to see example code" >}} @@ -186,7 +186,7 @@ if __name__ == "__main__": {{% /tab %}} {{< tab name="Upload all files in a directory" >}} -To upload all the files in a directory, you can use the [`file_upload_from_path`](/appendix/apis/data-client/#fileuploadfrompath) method inside a `for` loop. +To upload all the files in a directory, you can use the [`file_upload_from_path`](/dev/reference/apis/data-client/#fileuploadfrompath) method inside a `for` loop. {{< expand "Click this to see example code" >}} @@ -252,7 +252,7 @@ View your uploaded data in your [**DATA** page in the Viam app](https://app.viam ## Upload images with the Viam mobile app -Upload images as machine data straight from your phone, skipping the normal data capture and cloud synchronization process, through the [Viam mobile app](/fleet/control/#control-interface-in-the-viam-mobile-app). +Upload images as machine data straight from your phone, skipping the normal data capture and cloud synchronization process, through the [Viam mobile app](/manage/troubleshoot/teleoperate/default-interface/#viam-mobile-app). This is useful if you want to capture images for training machine learning models on the go. ### Prerequisites diff --git a/docs/data-ai/ai/create-dataset.md b/docs/data-ai/ai/create-dataset.md index 10281ce584..6ec1a38baa 100644 --- a/docs/data-ai/ai/create-dataset.md +++ b/docs/data-ai/ai/create-dataset.md @@ -239,7 +239,7 @@ If you have 25 images in your dataset, at least 20 of those must be labelled. {{< expand "Want to add images to a dataset programmatically? Click here." >}} -You can also add all images with a certain label to a dataset using the [`viam dataset data add` command](/cli/#dataset) or the [Data Client API](/appendix/apis/data-client/#addtagstobinarydatabyfilter): +You can also add all images with a certain label to a dataset using the [`viam dataset data add` command](/dev/cli/#dataset) or the [Data Client API](/dev/reference/apis/data-client/#addtagstobinarydatabyfilter): {{< tabs >}} {{% tab name="CLI" %}} diff --git a/docs/data-ai/ai/deploy.md b/docs/data-ai/ai/deploy.md index c3a80bd206..50a8a5ec27 100644 --- a/docs/data-ai/ai/deploy.md +++ b/docs/data-ai/ai/deploy.md @@ -59,7 +59,7 @@ After deploying your model, you need to configure an additional service to use t For example, you can configure an [`mlmodel` vision service](/services/vision/) to visualize the inferences your model makes. Follow our docs to [run inference](/data-ai/ai/run-inference/) to add an `mlmodel` vision service and see inferences. -For other use cases, consider [creating custom functionality with a module](/how-tos/create-module/). +For other use cases, consider [creating custom functionality with a module](/operate/get-started/other-hardware/). {{< alert title="Add support for other models" color="tip" >}} ML models must be designed in particular shapes to work with the `mlmodel` [classification](/services/vision/mlmodel/) or [detection](/services/vision/mlmodel/) model of Viam's [vision service](/services/vision/). diff --git a/docs/data-ai/ai/run-inference.md b/docs/data-ai/ai/run-inference.md index b42a9c117e..2f1cd9e5ef 100644 --- a/docs/data-ai/ai/run-inference.md +++ b/docs/data-ai/ai/run-inference.md @@ -33,7 +33,7 @@ Then, from the **Select model** dropdown, select the name of the ML model servic ### Test your changes -You can test a deployed vision service by clicking on the **Test** area of its configuration panel or from the [**CONTROL** tab](/fleet/control/). +You can test a deployed vision service by clicking on the **Test** area of its configuration panel or from the [**CONTROL** tab](/manage/troubleshoot/teleoperate/default-interface/#viam-app). The camera stream shows when the vision service identifies something. Try pointing the camera at a scene similar to your training data. diff --git a/docs/data-ai/ai/train-tflite.md b/docs/data-ai/ai/train-tflite.md index 67dd62ef11..ab793efdd4 100644 --- a/docs/data-ai/ai/train-tflite.md +++ b/docs/data-ai/ai/train-tflite.md @@ -149,7 +149,7 @@ Your training script may output logs at the error level but still succeed. {{< /alert >}} -You can also view your training jobs' logs with the [`viam train logs`](/cli/#train) command. +You can also view your training jobs' logs with the [`viam train logs`](/dev/cli/#train) command. {{% /tablestep %}} {{< /table >}} diff --git a/docs/data-ai/ai/train.md b/docs/data-ai/ai/train.md index 70a10f8fcc..784c22c6f2 100644 --- a/docs/data-ai/ai/train.md +++ b/docs/data-ai/ai/train.md @@ -27,7 +27,7 @@ If you wish to do this, skip to [Submit a training job](#submit-a-training-job). For image data, you can follow the instructions to [Create a dataset](/data-ai/ai/create-dataset/) to create a dataset and label data. -For other data you can use the [Data Client API](/appendix/apis/data-client/) from within the training script to get data stored in the Viam Cloud. +For other data you can use the [Data Client API](/dev/reference/apis/data-client/) from within the training script to get data stored in the Viam Cloud. {{% /expand%}} @@ -414,7 +414,7 @@ Update the main to call the functions you have just created. {{% tablestep %}} **9. Using Viam APIs in a training script** -If you need to access any of the [Viam APIs](/appendix/apis/) within a custom training script, you can use the environment variables `API_KEY` and `API_KEY_ID` to establish a connection. +If you need to access any of the [Viam APIs](/dev/reference/apis/) within a custom training script, you can use the environment variables `API_KEY` and `API_KEY_ID` to establish a connection. These environment variables will be available to training scripts. ```python @@ -442,7 +442,7 @@ You can export one of your Viam datasets to test your training script locally. {{% tablestep %}} **1. Export your dataset** -You can get the dataset ID from the dataset page or using the [`viam dataset list`](/cli/#dataset) command: +You can get the dataset ID from the dataset page or using the [`viam dataset list`](/dev/cli/#dataset) command: ```sh {class="command-line" data-prompt="$"} viam dataset export --destination= --dataset-id= --include-jsonl=true @@ -514,7 +514,7 @@ viam training-script upload --path=my-training.tar.gz \ {{% /tab %}} {{< /tabs >}} -You can also [specify the version, framework, type, visibility, and description](/cli/#training-script) when uploading a custom training script. +You can also [specify the version, framework, type, visibility, and description](/dev/cli/#training-script) when uploading a custom training script. To find your organization's ID, run the following command: @@ -530,7 +530,7 @@ You can view uploaded training scripts by navigating to the [registry's **Traini ## Submit a training job -After uploading the training script, you can run it by submitting a training job through the Viam app or using the Viam CLI or [ML Training client API](/appendix/apis/ml-training-client/#submittrainingjob). +After uploading the training script, you can run it by submitting a training job through the Viam app or using the Viam CLI or [ML Training client API](/dev/reference/apis/ml-training-client/#submittrainingjob). {{< table >}} {{% tablestep %}} @@ -548,7 +548,7 @@ Click **Train model** and select **Train on a custom training script**, then fol {{% /tab %}} {{% tab name="CLI" %}} -You can use [`viam train submit custom from-registry`](/cli/#positional-arguments-submit) to submit a training job. +You can use [`viam train submit custom from-registry`](/dev/cli/#positional-arguments-submit) to submit a training job. For example: @@ -562,7 +562,7 @@ viam train submit custom from-registry --dataset-id= \ This command submits a training job to the previously uploaded `MyCustomTrainingScript` with another input dataset, which trains `MyRegistryModel` and publishes that to the registry. -You can get the dataset id from the dataset page or using the [`viam dataset list`](/cli/#dataset) command. +You can get the dataset id from the dataset page or using the [`viam dataset list`](/dev/cli/#dataset) command. {{% /tab %}} {{< /tabs >}} @@ -595,7 +595,7 @@ Your training script may output logs at the error level but still succeed. {{< /alert >}} -You can also view your training jobs' logs with the [`viam train logs`](/cli/#train) command. +You can also view your training jobs' logs with the [`viam train logs`](/dev/cli/#train) command. {{% /tablestep %}} {{< /table >}} diff --git a/docs/data-ai/capture-data/conditional-sync.md b/docs/data-ai/capture-data/conditional-sync.md index 43a3f69b87..c16e12f2fe 100644 --- a/docs/data-ai/capture-data/conditional-sync.md +++ b/docs/data-ai/capture-data/conditional-sync.md @@ -289,7 +289,7 @@ To test your setup, [configure a webcam](/components/camera/webcam/) or another Make sure to physically connect any hardware parts to the computer controlling your machine. For a camera component, use the `ReadImage` method. The data manager will now capture data. -Go to the [**CONTROL** tab](/fleet/control/). +Go to the [**CONTROL** tab](/manage/troubleshoot/teleoperate/default-interface/#viam-app). You should see the sensor. Click on `GetReadings`. diff --git a/docs/data-ai/data/visualize.md b/docs/data-ai/data/visualize.md index 41cb69710f..b5588f7fc2 100644 --- a/docs/data-ai/data/visualize.md +++ b/docs/data-ai/data/visualize.md @@ -267,7 +267,7 @@ See the [guide on querying sensor data](/how-tos/sensor-data-query-with-third-pa For more detailed instructions on using Grafana, including a full step-by-step configuration walkthrough, see [visualizing data with Grafana](/tutorials/services/visualize-data-grafana/). -On top of visualizing sensor data with third-party tools, you can also [query it with the Python SDK](/appendix/apis/data-client/) or [query it with the Viam app](/data-ai/data/query/). +On top of visualizing sensor data with third-party tools, you can also [query it with the Python SDK](/dev/reference/apis/data-client/) or [query it with the Viam app](/data-ai/data/query/). To see full projects using visualization, check out these resources: diff --git a/docs/data-ai/reference/vision/mlmodel.md b/docs/data-ai/reference/vision/mlmodel.md index 4990121c02..4024639b49 100644 --- a/docs/data-ai/reference/vision/mlmodel.md +++ b/docs/data-ai/reference/vision/mlmodel.md @@ -228,7 +228,7 @@ If the classifier's results exceed the confidence threshold, the **Run model** s ### Live camera footage -You can test your detector or classifier from the [**Control tab**](/fleet/control/) or with code using a camera that is part of your machine. +You can test your detector or classifier from the [**Control tab**](/manage/troubleshoot/teleoperate/default-interface/#viam-app) or with code using a camera that is part of your machine. #### Test your vision service diff --git a/docs/dev/_index.md b/docs/dev/_index.md index 052d0fb9f7..5d9da7e8c8 100644 --- a/docs/dev/_index.md +++ b/docs/dev/_index.md @@ -430,7 +430,7 @@ result, err := myTwilioSvc.DoCommand(context.Background(), command) Using the Viam Registry you can turn services and your own custom business logic into _{{< glossary_tooltip term_id="module" text="modules" >}}_. You can then deploy your modules to your machines. -[Create a module →](/how-tos/create-module/) +[Create a module →](/operate/get-started/other-hardware/) @@ -711,7 +711,7 @@ for m in machines: Get status information and logs from all your deployed machines using the fleet management API. -[Learn about Platform APIs →](/appendix/apis/#platform-apis) +[Learn about Platform APIs →](/dev/reference/apis/#platform-apis) diff --git a/docs/dev/contributing.md b/docs/dev/contributing.md index ff80f0511e..73b097ae7a 100644 --- a/docs/dev/contributing.md +++ b/docs/dev/contributing.md @@ -159,7 +159,7 @@ The docs use the [Diátaxis Framework](https://diataxis.fr/) as the basis of t {{< /expand >}} - **Reference**: A concise, information-oriented piece of content that generally starts with an overview/introduction and then a list of some kind (configuration options, API methods, etc.). - Examples include the [API pages](/appendix/apis/) as well as [component and service pages](/operate/reference/components/arm/). + Examples include the [API pages](/dev/reference/apis/) as well as [component and service pages](/operate/reference/components/arm/). Example template: [Component template](https://github.com/viamrobotics/docs/blob/main/docs/components/component/_index.md). diff --git a/docs/dev/reference/apis/_index.md b/docs/dev/reference/apis/_index.md index 79b7d32787..b9aa8aa010 100644 --- a/docs/dev/reference/apis/_index.md +++ b/docs/dev/reference/apis/_index.md @@ -17,7 +17,7 @@ date: "2024-10-01" Every Viam {{< glossary_tooltip term_id="resource" text="resource" >}} exposes an [application programming interface (API)](https://en.wikipedia.org/wiki/API) described through [protocol buffers](https://developers.google.com/protocol-buffers). -The API methods provided by the SDKs for each of these resource APIs wrap gRPC client requests to the machine when you execute your program, providing you a convenient interface for accessing information about and controlling the {{< glossary_tooltip term_id="resource" text="resources" >}} you have [configured](/configure/) on your machine. +The API methods provided by the SDKs for each of these resource APIs wrap gRPC client requests to the machine when you execute your program, providing you a convenient interface for accessing information about and controlling the {{< glossary_tooltip term_id="resource" text="resources" >}} you have [configured](/operate/get-started/supported-hardware/) on your machine. ## Platform APIs diff --git a/docs/dev/reference/changelog.md b/docs/dev/reference/changelog.md index c482593e8b..1bb1bba287 100644 --- a/docs/dev/reference/changelog.md +++ b/docs/dev/reference/changelog.md @@ -147,7 +147,7 @@ For more information, see [Data and machine learning permissions](/cloud/rbac/#d {{% changelog date="2024-06-14" color="changed" title="Python get_robot_part_logs parameters" %}} -The `errors_only` parameter has been removed from [`get_robot_part_logs()`](/appendix/apis/fleet/#getrobotpartlogs) and replaced with `log_levels`. +The `errors_only` parameter has been removed from [`get_robot_part_logs()`](/dev/reference/apis/fleet/#getrobotpartlogs) and replaced with `log_levels`. {{% /changelog %}} @@ -160,21 +160,21 @@ The struct contains an int representing the value of the reading, min and max ra {{% changelog date="2024-05-28" color="added" title="CaptureAllFromCamera and GetProperties to vision API" %}} -The vision service now supports two new methods: [`CaptureAllFromCamera`](/appendix/apis/services/vision/#captureallfromcamera) and [`GetProperties`](/appendix/apis/services/vision/#getproperties). +The vision service now supports two new methods: [`CaptureAllFromCamera`](/dev/reference/apis/services/vision/#captureallfromcamera) and [`GetProperties`](/dev/reference/apis/services/vision/#getproperties). {{% /changelog %}} {{% changelog date="2024-05-14" color="changed" title="Renamed GeoObstacle to GeoGeometry" %}} The motion service API parameter `GeoObstacle` has been renamed to `GeoGeometry`. -This affects users of the [`MoveOnGlobe()`](/appendix/apis/services/motion/#moveonglobe) method. +This affects users of the [`MoveOnGlobe()`](/dev/reference/apis/services/motion/#moveonglobe) method. {{% /changelog %}} {{< changelog date="2024-05-09" color="changed" title="Return type of GetImage" >}} The Python SDK introduced a new image container class called [`ViamImage`](https://python.viam.dev/autoapi/viam/components/camera/index.html#viam.components.camera.ViamImage). -The camera component's [`GetImage()`](/dev/reference/apis/components/camera/#getimage) method now returns a `ViamImage` type, and the vision service's [`GetDetections()`](/appendix/apis/services/vision/#getdetections) and [`GetClassifications()`](/appendix/apis/services/vision/#getclassifications) methods take in `ViamImage` as a parameter. +The camera component's [`GetImage()`](/dev/reference/apis/components/camera/#getimage) method now returns a `ViamImage` type, and the vision service's [`GetDetections()`](/dev/reference/apis/services/vision/#getdetections) and [`GetClassifications()`](/dev/reference/apis/services/vision/#getclassifications) methods take in `ViamImage` as a parameter. You can use the helper functions `viam_to_pil_image` and `pil_to_viam_image` provided by the Python SDK to convert the `ViamImage` into a [`PIL Image`](https://omz-software.com/pythonista/docs/ios/Image.html) and vice versa. @@ -213,7 +213,7 @@ Use [`AnalogByName()`](/dev/reference/apis/components/board/#analogbyname) follo {{% changelog date="2024-04-30" color="changed" title="Python SDK data retrieval behavior" %}} -[`tabular_data_by_filter()`](/appendix/apis/data-client/#tabulardatabyfilter) and [`binary_data_by_filter()`](/appendix/apis/data-client/#binarydatabyfilter) now return paginated data. +[`tabular_data_by_filter()`](/dev/reference/apis/data-client/#tabulardatabyfilter) and [`binary_data_by_filter()`](/dev/reference/apis/data-client/#binarydatabyfilter) now return paginated data. {{% /changelog %}} @@ -245,7 +245,7 @@ Viam has removed support for following builtin camera models: `single_stream`, ` {{% changelog date="2024-04-17" color="changed" title="Updated GetCloudMetadata response" %}} -In addition to the existing returned metadata, the [`GetCloudMetadata`](/appendix/apis/robot/#getcloudmetadata) method now returns `machine_id` and `machine_part_id` as well. +In addition to the existing returned metadata, the [`GetCloudMetadata`](/dev/reference/apis/robot/#getcloudmetadata) method now returns `machine_id` and `machine_part_id` as well. {{% /changelog %}} @@ -271,7 +271,7 @@ You can now use the [ultrasonic sensor component](/operate/reference/components/ {{% changelog date="2024-03-01" color="added" title="Edit a machine configuration that uses a fragment" %}} -You can now edit the configuration of an existing machine that has been configured with a fragment by using [the `fragment_mods` object](/fleet/fragments/#modify-the-config-of-a-machine-that-uses-a-fragment) in your configuration. +You can now edit the configuration of an existing machine that has been configured with a fragment by using [the `fragment_mods` object](/manage/fleet/reuse-configuration/#modify-fragment-settings-on-a-machine) in your configuration. You can use the `fragment_mods` objects to be able to deploy a fragment to a fleet of machines, but still be able to make additional per-machine edits as needed. {{% /changelog %}} @@ -424,7 +424,7 @@ You can: {{% changelog date="2023-09-30" color="added" title="Mobile app" %}} -You can use a [mobile application](/fleet/control/#control-interface-in-the-viam-mobile-app), available for download now in the [Apple](https://apps.apple.com/us/app/viam-robotics/id6451424162) and [Google Play](https://play.google.com/store/apps/details?id=com.viam.viammobile&hl=en&gl=US) app stores, to connect to and control your Viam-powered machines directly from your mobile device. +You can use a [mobile application](/manage/troubleshoot/teleoperate/default-interface/#viam-mobile-app), available for download now in the [Apple](https://apps.apple.com/us/app/viam-robotics/id6451424162) and [Google Play](https://play.google.com/store/apps/details?id=com.viam.viammobile&hl=en&gl=US) app stores, to connect to and control your Viam-powered machines directly from your mobile device. {{% /changelog %}} @@ -502,8 +502,8 @@ If you depend on sensor data to plan and control machine operations, this featur The Python SDK now includes sessions, a safety feature that automatically cancels operations if the client loses connection to your machine. -[Session management](/appendix/apis/sessions/) helps you to ensure safer operation of your machine when dealing with actuating controls. -Sessions are enabled by default, with the option to [disable sessions](/appendix/apis/sessions/#disable-default-session-management). +[Session management](/dev/reference/apis/sessions/) helps you to ensure safer operation of your machine when dealing with actuating controls. +Sessions are enabled by default, with the option to [disable sessions](/dev/reference/apis/sessions/#disable-default-session-management). {{% /changelog %}} @@ -584,7 +584,7 @@ Now when you invite collaborators to join your organization, you can assign perm - **Owner**: These members can see and edit [every tab on the machine page](/cloud/machines/#navigating-the-machine-page), as well as manage users in the app. This role is best for those on your team who are actively engineering and building machines. -- **Operator**: These members can only see and use the [remote control tab](/fleet/control/). +- **Operator**: These members can only see and use the [remote control tab](/manage/troubleshoot/teleoperate/default-interface/). This role is best for those on your team who are teleoperating or remotely controlling machines. For more information about assigning permissions and collaborating with others on Viam, see [Fleet Management](/fleet/). @@ -615,7 +615,7 @@ The latest updates enable you to: The updated code samples now includes: - Options for C++ and TypeScript -- The ability to hide or display your machines' [secrets](/appendix/apis/) +- The ability to hide or display your machines' [secrets](/dev/reference/apis/) Access these samples in the **Code sample** tab on your machine's page to connect to your machine in various languages. @@ -999,7 +999,7 @@ For more information on using data synced to the cloud to train machine learning {{% changelog date="2023-03-31" color="added" title="Motion planning with new `constraint` parameter" %}} -A new parameter, [`constraint`](/services/motion/constraints/), has been added to the [Motion service API](/appendix/apis/services/motion/#api), allowing you to define restrictions on the machine's movement. +A new parameter, [`constraint`](/services/motion/constraints/), has been added to the [Motion service API](/dev/reference/apis/services/motion/#api), allowing you to define restrictions on the machine's movement. The constraint system also provides flexibility to specify that obstacles should only impact specific frames of a machine. {{% /changelog %}} diff --git a/docs/dev/reference/glossary/fragment.md b/docs/dev/reference/glossary/fragment.md index c167df6ce6..be22b1756b 100644 --- a/docs/dev/reference/glossary/fragment.md +++ b/docs/dev/reference/glossary/fragment.md @@ -8,4 +8,4 @@ short_description: A reusable configuration block that you can share across mult A reusable configuration block that you can share across multiple machines. For example, if you are deploying a specific mobile machine that is always physically connected the same way, you can create a fragment to make managing your fleet easy. -For more information, see [Fragments](/fleet/fragments/). +For more information, see [Fragments](/manage/fleet/reuse-configuration/). diff --git a/docs/dev/reference/glossary/machine-config.md b/docs/dev/reference/glossary/machine-config.md index 19bbd293d3..1a965ba177 100644 --- a/docs/dev/reference/glossary/machine-config.md +++ b/docs/dev/reference/glossary/machine-config.md @@ -7,4 +7,4 @@ short_description: The complete configuration of a single machine part. The complete configuration of a single machine {{< glossary_tooltip term_id="part" text="part" >}}. -For more information, see [Configuration](/configure/). +For more information, see [Configuration](/operate/get-started/supported-hardware/). diff --git a/docs/dev/reference/glossary/model-namespace-triplet.md b/docs/dev/reference/glossary/model-namespace-triplet.md index 58b6eeeb4a..2f6a76f002 100644 --- a/docs/dev/reference/glossary/model-namespace-triplet.md +++ b/docs/dev/reference/glossary/model-namespace-triplet.md @@ -1,11 +1,11 @@ --- title: Model Namespace Triplet id: model-namespace-triplet -full_link: /how-tos/create-module/#name-your-new-resource-model +full_link: /operate/get-started/other-hardware/#name-your-new-resource-model short_description: namespace:module-name:name or rdk:builtin:name --- {{< glossary_tooltip term_id="model" text="Models" >}} are uniquely namespaced as colon-delimited-triplets. Modular resource model names have the form `namespace:module-name:model-name`, for example `esmeraldaLabs:sensors:moisture`. Built-in model names have the form `rdk:builtin:name`, for example `rdk:builtin:gpio`. -See [Name your new resource model](/how-tos/create-module/#name-your-new-resource-model) for more information. +See [Name your new resource model](/operate/get-started/other-hardware/#name-your-new-resource-model) for more information. diff --git a/docs/dev/reference/glossary/model.md b/docs/dev/reference/glossary/model.md index e6ed64e6e5..c6813e142b 100644 --- a/docs/dev/reference/glossary/model.md +++ b/docs/dev/reference/glossary/model.md @@ -16,4 +16,4 @@ Models are either included with [`viam-server`](/architecture/viam-server/) or p All models are uniquely namespaced as colon-delimited-triplets. Built-in model names have the form `rdk:builtin:name`. Modular resource model names have the form `namespace:module-name:model-name`. -See [Name your new resource model](/how-tos/create-module/#name-your-new-resource-model) for more information. +See [Name your new resource model](/operate/get-started/other-hardware/#name-your-new-resource-model) for more information. diff --git a/docs/dev/reference/glossary/module.md b/docs/dev/reference/glossary/module.md index d5756e5dbe..8684f27e68 100644 --- a/docs/dev/reference/glossary/module.md +++ b/docs/dev/reference/glossary/module.md @@ -8,6 +8,6 @@ short_description: A module provides one or more modular resources, which add re A _module_ provides one or more {{< glossary_tooltip term_id="modular-resource" text="modular resources" >}}, which add {{< glossary_tooltip term_id="resource" text="resource" >}} {{< glossary_tooltip term_id="type" text="types" >}} or {{< glossary_tooltip term_id="model" text="models" >}} that are not built into Viam. Modules run alongside `viam-server` as separate process, communicating with `viam-server` over UNIX sockets. -You can [create your own module](/how-tos/create-module/) or [add existing modules from the Viam Registry](/registry/modular-resources/). +You can [create your own module](/operate/get-started/other-hardware/) or [add existing modules from the Viam Registry](/registry/modular-resources/). For more information see the [modular resource documentation](/registry/). diff --git a/docs/dev/reference/sdks/_index.md b/docs/dev/reference/sdks/_index.md index feb1e7adc2..a05f93ecad 100644 --- a/docs/dev/reference/sdks/_index.md +++ b/docs/dev/reference/sdks/_index.md @@ -9,7 +9,7 @@ aliases: ### Backend SDKs -The backend SDKs allow you to build business logic to control [components](/dev/reference/apis/#component-apis) and [services](/dev/reference/apis/#service-apis), as well as manage your [fleet](/appendix/apis/fleet/) and [data](/appendix/apis/data-client/), and [billing information](/appendix/apis/billing-client/), or [provision](/manage/fleet/provision/setup/) machines. +The backend SDKs allow you to build business logic to control [components](/dev/reference/apis/#component-apis) and [services](/dev/reference/apis/#service-apis), as well as manage your [fleet](/dev/reference/apis/fleet/) and [data](/dev/reference/apis/data-client/), and [billing information](/dev/reference/apis/billing-client/), or [provision](/manage/fleet/provision/setup/) machines. With the backend SDKs you can also create custom {{< glossary_tooltip term_id="modular-resource" text="modular resources" >}}. {{< sectionlist-custom class="horizontal" >}} @@ -21,7 +21,7 @@ With the backend SDKs you can also create custom {{< glossary_tooltip term_id="m ### Frontend SDKs -The frontend TypeScript SDK allows you to control your machine's [components](/dev/reference/apis/#component-apis), as well as manage your [data](/appendix/apis/data-client/) or [provision](/manage/fleet/provision/setup/) machines. +The frontend TypeScript SDK allows you to control your machine's [components](/dev/reference/apis/#component-apis), as well as manage your [data](/dev/reference/apis/data-client/) or [provision](/manage/fleet/provision/setup/) machines. {{< sectionlist-custom class="horizontal" >}} {{% sectionlist-custom-item link="/dev/reference/sdks/typescript/" %}} @@ -30,7 +30,7 @@ The frontend TypeScript SDK allows you to control your machine's [components](/d ### Mobile SDK -The mobile SDK allows you to build iOS and Android apps to control your machine's [components](/dev/reference/apis/#component-apis), as well as manage your [fleet](/appendix/apis/fleet/) and [data](/appendix/apis/data-client/), or [provision](/manage/fleet/provision/setup/) machines. +The mobile SDK allows you to build iOS and Android apps to control your machine's [components](/dev/reference/apis/#component-apis), as well as manage your [fleet](/dev/reference/apis/fleet/) and [data](/dev/reference/apis/data-client/), or [provision](/manage/fleet/provision/setup/) machines. {{< sectionlist-custom class="horizontal">}} {{% sectionlist-custom-item link="/dev/reference/sdks/flutter/" %}} diff --git a/docs/dev/reference/sdks/use-extra-params.md b/docs/dev/reference/sdks/use-extra-params.md index 5d40d7e301..aba421c07a 100644 --- a/docs/dev/reference/sdks/use-extra-params.md +++ b/docs/dev/reference/sdks/use-extra-params.md @@ -94,7 +94,7 @@ If `extra` information must be passed to a resource, it is handled within a new, {{%expand "Click for instructions on defining a custom model to use extra params" %}} To do this, define a custom implementation of the resource's API as a new _model_, and modify the resource's API methods to handle the `extra` information you send. -Follow the steps in the [Modular Resources documentation](/how-tos/create-module/) to do so. +Follow the steps in the [Modular Resources documentation](/operate/get-started/other-hardware/) to do so. For an example of how to check the values of keys in an `extra` parameter of a built-in resource [API method](/dev/reference/apis/), reference this modification to the built-in [sensor](/operate/reference/components/sensor/) resource type's [Readings](/dev/reference/apis/components/sensor/#getreadings) method in the code of a [new sensor model](/registry/): diff --git a/docs/dev/tools/cli.md b/docs/dev/tools/cli.md index 8d91187fe6..31acb638e2 100644 --- a/docs/dev/tools/cli.md +++ b/docs/dev/tools/cli.md @@ -857,7 +857,7 @@ For example, the following represents the configuration of an example `my-module ``` {{% alert title="Important" color="note" %}} -If you are publishing a public module (`"visibility": "public"`), the [namespace of your model](/how-tos/create-module/#name-your-new-resource-model) must match the [namespace of your organization](/cloud/organizations/#create-a-namespace-for-your-organization). +If you are publishing a public module (`"visibility": "public"`), the [namespace of your model](/operate/get-started/other-hardware/#name-your-new-resource-model) must match the [namespace of your organization](/cloud/organizations/#create-a-namespace-for-your-organization). In the example above, the model namespace is set to `acme` to match the owning organization's namespace. If the two namespaces do not match, the command will return an error. {{% /alert %}} diff --git a/docs/manage/fleet/provision/end-user-setup.md b/docs/manage/fleet/provision/end-user-setup.md index ff724ac7c1..00b3fe264c 100644 --- a/docs/manage/fleet/provision/end-user-setup.md +++ b/docs/manage/fleet/provision/end-user-setup.md @@ -137,7 +137,7 @@ Note that any features that require internet access will not function if the con You can now use your machine. -If your machine needs to be able to connect to more than one WiFi network, you can add additional networks in the [`viam-agent` network configuration](/configure/agent/#networks). -You can also override other configuration details in the [`viam-agent` configuration](/configure/agent/#configuration). +If your machine needs to be able to connect to more than one WiFi network, you can add additional networks in the [`viam-agent` network configuration](/manage/reference/viam-agent/#networks). +You can also override other configuration details in the [`viam-agent` configuration](/manage/reference/viam-agent/#configuration). To control your machine, you can navigate to its **CONTROL** tab in the [Viam app](https://app.viam.com). diff --git a/docs/manage/fleet/provision/setup.md b/docs/manage/fleet/provision/setup.md index 41b000e399..f7a1922393 100644 --- a/docs/manage/fleet/provision/setup.md +++ b/docs/manage/fleet/provision/setup.md @@ -22,7 +22,7 @@ aliases: cost: "0" --- -You can install [`viam-agent`](/configure/agent/) as part of your manufacturing process and provision machines with a pre-defined configuration as they come online. +You can install [`viam-agent`](/manage/reference/viam-agent/) as part of your manufacturing process and provision machines with a pre-defined configuration as they come online. When the end user sets the machine up, they provide network access and `viam-agent` installs `viam-server` and your latest software. Consider a company that sells machines that monitor weather conditions on a maritime craft and provide navigation advice based on those readings. @@ -62,7 +62,7 @@ For Bullseye, the installation of `viam-agent` changes the network configuration You can choose to let your end users complete machine setup by using a captive web portal or a mobile app. -If you choose to have a mobile app experience, you can use the [Viam mobile app](/fleet/control/#control-interface-in-the-viam-mobile-app) or create your own custom mobile app using the [Flutter SDK](https://flutter.viam.dev/viam_protos.provisioning.provisioning/ProvisioningServiceClient-class.html) or the [TypeScript SDK](https://github.com/viamrobotics/viam-typescript-sdk/blob/main/src/app/provisioning-client.ts) to connect to `viam-agent` and provision your machines. +If you choose to have a mobile app experience, you can use the [Viam mobile app](/manage/troubleshoot/teleoperate/default-interface/#viam-mobile-app) or create your own custom mobile app using the [Flutter SDK](https://flutter.viam.dev/viam_protos.provisioning.provisioning/ProvisioningServiceClient-class.html) or the [TypeScript SDK](https://github.com/viamrobotics/viam-typescript-sdk/blob/main/src/app/provisioning-client.ts) to connect to `viam-agent` and provision your machines. The Viam mobile app allows end users to create a new machine in the app, and `agent-provisioning` will then install `viam-server` and run it with a provided configuration. If you choose to use the Viam mobile app, you must provide a {{< glossary_tooltip term_id="fragment" text="fragment" >}} for provisioning. @@ -80,7 +80,7 @@ You can get the machine cloud credentials by clicking the copy icon next to **Ma {{% expand "Want to create a machine and obtain its machine cloud credentials programmatically?" %}} -You can use the [Fleet Management API](/appendix/apis/fleet/) to create machines, and obtain their machine cloud credentials: +You can use the [Fleet Management API](/dev/reference/apis/fleet/) to create machines, and obtain their machine cloud credentials: ```python {class="line-numbers linkable-line-numbers"} import asyncio @@ -209,7 +209,7 @@ Create a file called viam-provisioning.json with the following form } ``` -This file configures some basic metadata, specifies a [fragment](/fleet/fragments/) to use to configure the machine, and provides the WiFi hotspot network name and password to use on startup. +This file configures some basic metadata, specifies a [fragment](/manage/fleet/reuse-configuration/#modify-fragment-settings-on-a-machine) to use to configure the machine, and provides the WiFi hotspot network name and password to use on startup. It also configures timeouts to control how long `viam-agent` waits for a valid local WiFi network to come online before creating its hotspot network, and how long to keep the hotspot active before terminating it. {{% /tab %}} @@ -230,7 +230,7 @@ It also configures timeouts to control how long `viam-agent` waits for a valid l | `offline_timeout` | boolean | Optional | Will only enter provisioning mode (hotspot) after being disconnected longer than this time. Useful on flaky connections, or when part of a system where the device may start quickly, but the wifi/router may take longer to be available. Default: `"2m"` (2 minutes). | | `user_timeout` | boolean | Optional | Amount of time before considering a user (using the captive web portal or provisioning app) idle, and resuming normal behavior. Used to avoid interrupting provisioning mode (for example for network tests/retries) when a user might be busy entering details. Default: `"5m"` (5 minutes). | | `fallback_timeout` | boolean | Optional | Provisioning mode will exit after this time, to allow other unmanaged (for example wired) or manually configured connections to be tried. Provisioning mode will restart if the connection/online status doesn't change. Default: `"10m"` (10 minutes). | -| `networks` | array | Optional | Add additional networks the machine can connect to for provisioning. We recommend that you add WiFi settings in the operating system (for example, directly in NetworkManager) rather than in this file, or in the corresponding machine config in the Viam app, if networks aren't needed until after initial provisioning. See [Networks](/configure/agent/#networks). Default: `[]`. | +| `networks` | array | Optional | Add additional networks the machine can connect to for provisioning. We recommend that you add WiFi settings in the operating system (for example, directly in NetworkManager) rather than in this file, or in the corresponding machine config in the Viam app, if networks aren't needed until after initial provisioning. See [Networks](/manage/reference/viam-agent/#networks). Default: `[]`. | {{% /expand%}} @@ -470,7 +470,7 @@ For a guide you can give to end users for setting up their machine, see [Setup m - By default, the hotspot network is named `viam-setup-HOSTNAME`, where `HOSTNAME` is replaced with the hostname of your machine. The WiFi password for this hotspot network is `viamsetup` by default. - You can customize these values in the [`agent-provisioning` configuration](/configure/agent/#configuration). + You can customize these values in the [`agent-provisioning` configuration](/manage/reference/viam-agent/#configuration). 1. If you as the end user have a provisioning mobile app, go back to the app to complete setup. In the mobile app, you will be prompted to provide the network information for the machine. @@ -497,7 +497,7 @@ For a guide you can give to end users for setting up their machine, see [Setup m - By default, the hotspot network is named `viam-setup-HOSTNAME`, where `HOSTNAME` is replaced with the hostname of your machine. The WiFi password for this hotspot network is `viamsetup` by default. - You can customize these values in the [`agent-provisioning` configuration](/configure/agent/#configuration). + You can customize these values in the [`agent-provisioning` configuration](/manage/reference/viam-agent/#configuration). 1. Once connected to the hotspot, you will be redirected to a sign-in page. If you are using a laptop or are not redirected, try opening [http://viam.setup/](http://viam.setup/) in a browser. diff --git a/docs/manage/fleet/reuse-configuration.md b/docs/manage/fleet/reuse-configuration.md index 0eb61e66db..547f3eb1d3 100644 --- a/docs/manage/fleet/reuse-configuration.md +++ b/docs/manage/fleet/reuse-configuration.md @@ -19,7 +19,7 @@ cost: "0" --- If most of your machines use the same setup, you can use a {{< glossary_tooltip term_id="fragment" text="fragment" >}}, like a cookie cutter, to configure the machines in the same way. -Fragments are a way of sharing and managing [machine configurations](/configure/) across multiple machines. +Fragments are a way of sharing and managing [machine configurations](/operate/get-started/supported-hardware/) across multiple machines. For example, if you have a fleet of rovers that uses the same hardware, you could use a fragment to configure the motors, base component, camera, and all other resources for all rovers. If some of the rovers have a slightly different configuration, you can overwrite the configuration for just those {{< glossary_tooltip term_id="resource" text="resources" >}} of those rovers. @@ -49,7 +49,7 @@ In your machine's **CONFIGURE** tab, switch to **JSON** and copy the raw JSON. {{}} {{% /tablestep %}} -{{% tablestep link="/fleet/fragments/" %}} +{{% tablestep link="/manage/fleet/reuse-configuration/" %}} **3. Create a fragment** On the **FLEET** page, go to the [**FRAGMENTS** tab](https://app.viam.com/fragments). @@ -120,7 +120,7 @@ If you or a collaborator later modify fields within the upstream fragment, your For example if you changed the default camera configuration in the fragment to be a different camera model, your modified rovers would still overwrite the camera model set by the fragment. {{< table >}} -{{% tablestep link="/fleet/fragments/#modify-the-config-of-a-machine-that-uses-a-fragment" %}} +{{% tablestep link="/manage/fleet/reuse-configuration/#modify-fragment-settings-on-a-machine" %}} diff --git a/docs/manage/fleet/system-settings.md b/docs/manage/fleet/system-settings.md index dd7799385a..354f0573ad 100644 --- a/docs/manage/fleet/system-settings.md +++ b/docs/manage/fleet/system-settings.md @@ -39,7 +39,7 @@ You can set automatic upgrades for all packages by setting the field value to `{ Alternatively, you can set automatic upgrades for only packages containing `"security"` in their codename (for example `bookworm-security`), by setting the field value to `{ "type": "security" }`. To disable automatic upgrades, set the field value to `{ "type": "disabled" }`. -For complete reference information, see [viam-agent](/configure/agent/#agent-syscfg). +For complete reference information, see [viam-agent](/manage/reference/viam-agent/#agent-syscfg). ## Configure networks @@ -84,7 +84,7 @@ If the `fallbackNetOne` is not available or the machine can connect but internet } ``` -For complete reference information, see [viam-agent](/configure/agent/#networks). +For complete reference information, see [viam-agent](/manage/reference/viam-agent/#networks). ## Configure operating system logging @@ -92,7 +92,7 @@ By default, the maximum disk space `journald` will use for `viam-server` logs is To adjust these settings update the `"agent"` value in the machine's JSON configuration. -For complete reference information, see [viam-agent](/configure/agent/#agent-syscfg) and the [`journald` docs](https://www.freedesktop.org/software/systemd/man/latest/journald.conf.html#SystemMaxUse=). +For complete reference information, see [viam-agent](/manage/reference/viam-agent/#agent-syscfg) and the [`journald` docs](https://www.freedesktop.org/software/systemd/man/latest/journald.conf.html#SystemMaxUse=). ### Set the maximum disk space diff --git a/docs/manage/manage/access.md b/docs/manage/manage/access.md index e3a96c8b40..c86f365a9c 100644 --- a/docs/manage/manage/access.md +++ b/docs/manage/manage/access.md @@ -9,7 +9,7 @@ description: "To collaborate with others on your machines, you can grant users p --- To collaborate with others on your machines, you can grant users permissions for individual machines or entire locations. -You can use the [Viam app](https://app.viam.com) or the [Viam mobile app](/fleet/control/#control-interface-in-the-viam-mobile-app) to grant or revoke organization owner or operator access to users or API keys. +You can use the [Viam app](https://app.viam.com) or the [Viam mobile app](/manage/troubleshoot/teleoperate/default-interface/#viam-mobile-app) to grant or revoke organization owner or operator access to users or API keys. ## Grant access diff --git a/docs/manage/manage/rbac.md b/docs/manage/manage/rbac.md index 4d8ba017f0..c672dfb168 100644 --- a/docs/manage/manage/rbac.md +++ b/docs/manage/manage/rbac.md @@ -17,7 +17,7 @@ Role-Based Access Control (RBAC) is a way to enforce security in the [Viam app]( You can assign an owner or an operator role for an {{< glossary_tooltip term_id="organization" text="organization" >}}, {{< glossary_tooltip term_id="location" text="location" >}}, or {{< glossary_tooltip term_id="machine" text="machine" >}}. - **Owner**: Can see and edit [every tab on the machine page](/cloud/machines/#navigating-the-machine-page) and perform equivalent operations from the APIs. -- **Operator**: Can see and use only the [**CONTROL**](/fleet/control/) tab and perform equivalent operations from the APIs. +- **Operator**: Can see and use only the [**CONTROL**](/manage/troubleshoot/teleoperate/default-interface/#viam-app) tab and perform equivalent operations from the APIs. Cannot see or edit the [**CONFIGURE**](/cloud/machines/#configure), [**LOGS**](/cloud/machines/#logs), or **CONNECT** tabs. The following sections describe the permissions for each user role when it comes to managing machines, locations, organizations, fragments, and data. diff --git a/docs/manage/reference/billing.md b/docs/manage/reference/billing.md index b01daf7cea..15f8da589f 100644 --- a/docs/manage/reference/billing.md +++ b/docs/manage/reference/billing.md @@ -44,6 +44,6 @@ You can expect a response within 1–3 business days. ## Access billing information programmatically -The [billing client API](/appendix/apis/billing-client/) supports the following methods to retrieve billing information from the [Viam app](https://app.viam.com): +The [billing client API](/dev/reference/apis/billing-client/) supports the following methods to retrieve billing information from the [Viam app](https://app.viam.com): {{< readfile "/static/include/services/apis/billing-client.md" >}} diff --git a/docs/manage/reference/viam-agent/_index.md b/docs/manage/reference/viam-agent/_index.md index 38cae3fae5..80bf726ae6 100644 --- a/docs/manage/reference/viam-agent/_index.md +++ b/docs/manage/reference/viam-agent/_index.md @@ -222,7 +222,7 @@ You can also start `viam-agent` in fast start mode by setting `VIAM_AGENT_FAST_S #### Networks -For an already-online device, you can configure new WiFi networks in the machine's [`viam-agent` configuration](/configure/agent/#configuration) in the Viam app. +For an already-online device, you can configure new WiFi networks in the machine's [`viam-agent` configuration](/manage/reference/viam-agent/#configuration) in the Viam app. It's primarily useful for a machine that moves between different networks, so the machine can automatically connect when moved between locations. To add additional networks add them using the JSON editor for your device's config in the Viam app. diff --git a/docs/manage/reference/viam-agent/manage-viam-agent.md b/docs/manage/reference/viam-agent/manage-viam-agent.md index df56864817..58386bd9df 100644 --- a/docs/manage/reference/viam-agent/manage-viam-agent.md +++ b/docs/manage/reference/viam-agent/manage-viam-agent.md @@ -12,7 +12,7 @@ date: "2024-08-16" # updated: "" # When the content was last entirely checked --- -[`viam-agent`](/configure/agent/) is installed as a `systemd` service named `viam-agent`. +[`viam-agent`](/manage/reference/viam-agent/) is installed as a `systemd` service named `viam-agent`. - To start `viam-agent`: diff --git a/docs/manage/software/deploy-packages.md b/docs/manage/software/deploy-packages.md index f3e61b9a43..1fdb1dac0c 100644 --- a/docs/manage/software/deploy-packages.md +++ b/docs/manage/software/deploy-packages.md @@ -44,7 +44,7 @@ In your machine's **CONFIGURE** tab, switch to **JSON** and copy the raw JSON. {{}} {{% /tablestep %}} -{{% tablestep link="/fleet/fragments/" %}} +{{% tablestep link="/manage/fleet/reuse-configuration/" %}} **3. Create a fragment** Go to [app.viam.com/fragments](https://app.viam.com/fragments). diff --git a/docs/manage/software/update-packages.md b/docs/manage/software/update-packages.md index 35d87eaaed..dde4f5b30d 100644 --- a/docs/manage/software/update-packages.md +++ b/docs/manage/software/update-packages.md @@ -138,7 +138,7 @@ All machines configured with your fragment will update when they next check for ## Check machine status -To check when your machines have last updated their configuration, iterate over your machines using the Fleet Management API, connect to each machine, and use the [`GetMachineStatus` method](/appendix/apis/robot/#getmachinestatus). +To check when your machines have last updated their configuration, iterate over your machines using the Fleet Management API, connect to each machine, and use the [`GetMachineStatus` method](/dev/reference/apis/robot/#getmachinestatus). The following example script iterates over all machines in a given location and if it can connect to the machines, it prints their status information. If it cannot connect to a machine, it prints the most recent log entries. diff --git a/docs/manage/troubleshoot/monitor.md b/docs/manage/troubleshoot/monitor.md index bf247257a8..594ed967b6 100644 --- a/docs/manage/troubleshoot/monitor.md +++ b/docs/manage/troubleshoot/monitor.md @@ -33,10 +33,10 @@ Once you connect to the `viam-server` instance on a part, this display includes ![The machine page with part menu expanded](/fleet/app-usage/machine-page.png) {{% /tablestep %}} -{{% tablestep link="/fleet/control/" %}} +{{% tablestep link="/manage/troubleshoot/teleoperate/default-interface/" %}} **3. Test your machines remotely** -On a machine's [**CONTROL** tab](/fleet/control/), you can remotely operate the machine and test its resources. +On a machine's [**CONTROL** tab](/manage/troubleshoot/teleoperate/default-interface/#viam-app), you can remotely operate the machine and test its resources. {{}} diff --git a/docs/manage/troubleshoot/teleoperate/default-interface.md b/docs/manage/troubleshoot/teleoperate/default-interface.md index 8dc26820b9..bd22ea89a9 100644 --- a/docs/manage/troubleshoot/teleoperate/default-interface.md +++ b/docs/manage/troubleshoot/teleoperate/default-interface.md @@ -34,7 +34,7 @@ You can also switch between different machine parts directly from the **CONTROL* {{}} -In addition to the Viam app, the [Viam mobile app](/fleet/control/#control-interface-in-the-viam-mobile-app) also allows you to test, monitor and remotely operate machines in your fleet. +In addition to the Viam app, the [Viam mobile app](/manage/troubleshoot/teleoperate/default-interface/#viam-mobile-app) also allows you to test, monitor and remotely operate machines in your fleet. For example, you can view live camera feeds, adjust components' runtime parameters, and switch between controllable components. diff --git a/docs/manage/troubleshoot/troubleshoot.md b/docs/manage/troubleshoot/troubleshoot.md index 64602943ec..2763fceac3 100644 --- a/docs/manage/troubleshoot/troubleshoot.md +++ b/docs/manage/troubleshoot/troubleshoot.md @@ -62,7 +62,7 @@ For example: For more information on setting log levels see, [Logging](/architecture/viam-server/#logging). -To access logs from the commandline, use [`viam machines logs`](/cli/#machines-alias-robots) on the command line or the [Machines API](/appendix/apis/robot/). +To access logs from the commandline, use [`viam machines logs`](/dev/cli/#machines-alias-robots) on the command line or the [Machines API](/dev/reference/apis/robot/). ## Remote shell on the machine diff --git a/docs/operate/get-started/supported-hardware/_index.md b/docs/operate/get-started/supported-hardware/_index.md index d58d3a3844..b6bf4fbc4a 100644 --- a/docs/operate/get-started/supported-hardware/_index.md +++ b/docs/operate/get-started/supported-hardware/_index.md @@ -32,7 +32,7 @@ These standardized APIs are implemented by {{< glossary_tooltip term_id="module" Any hardware that is not already supported by a Viam module can be added into Viam's system of modular resources by [creating a new module](../other-hardware/) that provides a driver for the hardware. -Viam also supports various software services such as [data capture](/data-ai/get-started/capture-sync/) and [computer vision](/data-ai/ai/create-dataset/), designed to integrate seamlessly with the hardware driver modules. +Viam also supports various software services such as [data capture](/data-ai/capture-data/capture-sync/) and [computer vision](/data-ai/ai/create-dataset/), designed to integrate seamlessly with the hardware driver modules. ## Supported hardware @@ -119,5 +119,5 @@ To add a service to your machine: ## How modules run Modules run alongside [`viam-server`](/architecture/viam-server/) as separate processes, communicating with `viam-server` over UNIX sockets. -When a module initializes, it registers its {{< glossary_tooltip term_id="model" text="model or models" >}} and associated [APIs](/appendix/apis/) with `viam-server`, making the new model available for use. +When a module initializes, it registers its {{< glossary_tooltip term_id="model" text="model or models" >}} and associated [APIs](/dev/reference/apis/) with `viam-server`, making the new model available for use. `viam-server` manages the [dependencies](/architecture/viam-server/#dependency-management), [start-up](/architecture/viam-server/#start-up), [reconfiguration](/architecture/viam-server/#reconfiguration), [data management](/services/data/#configuration), and [shutdown](/architecture/viam-server/#shutdown) behavior of your modular resource. diff --git a/docs/operate/mobility/define-geometry.md b/docs/operate/mobility/define-geometry.md index ec35ab3e7b..fd90b16575 100644 --- a/docs/operate/mobility/define-geometry.md +++ b/docs/operate/mobility/define-geometry.md @@ -88,7 +88,7 @@ To configure your machine following this example: | --------- | ----------- | ----- | | `parent` | **Required** | Default: `world`. The name of the reference frame you want to act as the parent of this frame. | | `translation` | **Required** | Default: `(0, 0, 0)`. The coordinates that the origin of this component's reference frame has within its parent reference frame.
Units: m in Frame Editor, mm in JSON. | -| `orientation` | **Required** | Default: `(0, 0, 1), 0`. The [orientation vector](/internals/orientation-vector/) that yields the axes of the component's reference frame when applied as a rotation to the axes of the parent reference frame.
**Types**: **Orientation Vector Degrees** (`ov_degrees`), **Orientation Vector Radians** (`ov_radians`), **Euler Angles** (`euler_angles`), and **Quaternion** (`quaternion`). | +| `orientation` | **Required** | Default: `(0, 0, 1), 0`. The [orientation vector](/operate/reference/orientation-vector/) that yields the axes of the component's reference frame when applied as a rotation to the axes of the parent reference frame.
**Types**: **Orientation Vector Degrees** (`ov_degrees`), **Orientation Vector Radians** (`ov_radians`), **Euler Angles** (`euler_angles`), and **Quaternion** (`quaternion`). | | `geometry` | Optional | Default: `none`. Collision geometries for defining bounds in the environment of the machine.
Units: m in Frame Editor, mm in JSON.
**Types**: **Sphere** (`sphere`), **Box** (`box`), and **Capsule** (`capsule`). | ### Configure nested reference frames diff --git a/docs/operate/mobility/move-arm.md b/docs/operate/mobility/move-arm.md index 8616354f78..4cc10eedda 100644 --- a/docs/operate/mobility/move-arm.md +++ b/docs/operate/mobility/move-arm.md @@ -146,7 +146,7 @@ if err != nil { {{}} -This code gets the arm's end position, makes a 100 millimeter adjustment in the +Z direction, and then uses that adjustment as a goal [`Pose`](/internals/orientation-vector/) when commanding arm motion. +This code gets the arm's end position, makes a 100 millimeter adjustment in the +Z direction, and then uses that adjustment as a goal [`Pose`](/operate/reference/orientation-vector/) when commanding arm motion. Run the code to see your arm move 100 mm upwards. For more information, see [`MoveToPosition`](/dev/reference/apis/components/arm/#movetoposition). diff --git a/docs/operate/mobility/move-base.md b/docs/operate/mobility/move-base.md index 70e1aa1e26..163c508722 100644 --- a/docs/operate/mobility/move-base.md +++ b/docs/operate/mobility/move-base.md @@ -170,9 +170,9 @@ func main() { ## Move your base using GPS -To move a base component directly to a destination GPS point, you can use the motion service API's [`MoveOnGlobe`](/appendix/apis/services/motion/#moveonglobe) command. +To move a base component directly to a destination GPS point, you can use the motion service API's [`MoveOnGlobe`](/dev/reference/apis/services/motion/#moveonglobe) command. -If you'd like to plan a more detailed path through a series of waypoints, use the [navigation service API](/appendix/apis/services/navigation/). +If you'd like to plan a more detailed path through a series of waypoints, use the [navigation service API](/dev/reference/apis/services/navigation/). The following tutorial demonstrates how to use GPS navigation with a robot base: {{< cards >}} @@ -181,4 +181,4 @@ The following tutorial demonstrates how to use GPS navigation with a robot base: ## Move your base on a SLAM map -To move a base component to a destination pose on a SLAM map, use the motion service API's [`MoveOnMap`](/appendix/apis/services/motion/#moveonmap) command. +To move a base component to a destination pose on a SLAM map, use the motion service API's [`MoveOnMap`](/dev/reference/apis/services/motion/#moveonmap) command. diff --git a/docs/operate/reference/controls-package.md b/docs/operate/reference/controls-package.md index 3d9081a45b..5fa70fdfaa 100644 --- a/docs/operate/reference/controls-package.md +++ b/docs/operate/reference/controls-package.md @@ -12,7 +12,7 @@ no_list: true [Encoded motors](/operate/reference/components/motor/encoded-motor/) and [sensor controlled bases](/operate/reference/components/base/sensor-controlled/) use a control loop that is implemented by `viam-server`. You can configure the `control_parameters` attribute for both components to adjust the control loop. -However, if you want to change or customize the control loops on these components beyond the configurable parameter, or you want to add a control loop to a different component, you can use the controls package to [build your own PID control loop](/internals/controls-package/#creating-and-using-a-pid-control-loop). +However, if you want to change or customize the control loops on these components beyond the configurable parameter, or you want to add a control loop to a different component, you can use the controls package to [build your own PID control loop](/operate/reference/controls-package/#creating-and-using-a-pid-control-loop). The control package implements feedback control on an endpoint, which is usually the hardware you are trying to control. With the control package, users can design a control loop that monitors a process variable (PV) and compares it with a set point (SP). @@ -38,29 +38,29 @@ The following functions are available for creating and using a control loop: | Method Name | Description | | ----------- | ----------- | -| [`SetupPIDControlConfig`](/internals/controls-package/#setuppidcontrolconfig) | Creates a [PIDLoop](/internals/controls-package/#pidloop) object that contains all the necessary attributes to run a control loop based on the specified [Options](/internals/controls-package/#options). | -| [`TunePIDLoop`](/internals/controls-package/#tunepidloop) | Automatically tunes the system and logs the calculated PID values for the loop. | -| [`StartControlLoop`](/internals/controls-package/#startcontrolloop) | Starts the control loop in a background thread. | -| [`CreateConstantBlock`](/internals/controls-package/#createconstantblock) | Creates a control block of type `constant`, all control loops need at least one constant block representing the set point. | -| [`UpdateConstantBlock`](/internals/controls-package/#updateconstantblock) | Updates the value of a constant block to the new set point. | -| [`CreateTrapzBlock`](/internals/controls-package/#createtrapzblock) | Creates a control block of type `trapezoidalVelocityProfile`. Control loops that control position (for example, control loops for encoded motors), need a trapezoidal velocity profile block. | -| [`UpdateTrapzBlock`](/internals/controls-package/#updatetrapzblock) | Updates the attributes of a trapezoidal velocity profile block to the new desired max velocity. | +| [`SetupPIDControlConfig`](/operate/reference/controls-package/#setuppidcontrolconfig) | Creates a [PIDLoop](/operate/reference/controls-package/#pidloop) object that contains all the necessary attributes to run a control loop based on the specified [Options](/operate/reference/controls-package/#options). | +| [`TunePIDLoop`](/operate/reference/controls-package/#tunepidloop) | Automatically tunes the system and logs the calculated PID values for the loop. | +| [`StartControlLoop`](/operate/reference/controls-package/#startcontrolloop) | Starts the control loop in a background thread. | +| [`CreateConstantBlock`](/operate/reference/controls-package/#createconstantblock) | Creates a control block of type `constant`, all control loops need at least one constant block representing the set point. | +| [`UpdateConstantBlock`](/operate/reference/controls-package/#updateconstantblock) | Updates the value of a constant block to the new set point. | +| [`CreateTrapzBlock`](/operate/reference/controls-package/#createtrapzblock) | Creates a control block of type `trapezoidalVelocityProfile`. Control loops that control position (for example, control loops for encoded motors), need a trapezoidal velocity profile block. | +| [`UpdateTrapzBlock`](/operate/reference/controls-package/#updatetrapzblock) | Updates the attributes of a trapezoidal velocity profile block to the new desired max velocity. | ### SetupPIDControlConfig -Creates a [PIDLoop](/internals/controls-package/#pidloop) object, which contains all the attributes related to a control loop that a controlled component needs, including, most importantly, the control config. +Creates a [PIDLoop](/operate/reference/controls-package/#pidloop) object, which contains all the attributes related to a control loop that a controlled component needs, including, most importantly, the control config. **Parameters:** -- `pidVals` [([]PIDConfig)](/internals/controls-package/#pidconfig): The P, I, and D values for the control loop, if all are zero the loop will auto-tune and log the calculated PID values. +- `pidVals` [([]PIDConfig)](/operate/reference/controls-package/#pidconfig): The P, I, and D values for the control loop, if all are zero the loop will auto-tune and log the calculated PID values. - `componentName` [(string)](https://pkg.go.dev/builtin#string): The name of the component that the PID loop controls. -- `options` [(Options)](/internals/controls-package/#options): All the desired optional parameters to customize the control loop. -- `c` [(Controllable)](/internals/controls-package/#controllable): An interface that contains the necessary functions to move the controlled component. +- `options` [(Options)](/operate/reference/controls-package/#options): All the desired optional parameters to customize the control loop. +- `c` [(Controllable)](/operate/reference/controls-package/#controllable): An interface that contains the necessary functions to move the controlled component. - `logger` (Logger): The logger of the controlled component to log any issues with the control loop setup. **Returns:** -- [(PIDLoop)](/internals/controls-package/#pidloop): A struct containing all relevant control loop attributes. +- [(PIDLoop)](/operate/reference/controls-package/#pidloop): A struct containing all relevant control loop attributes. - [(error)](https://pkg.go.dev/builtin#error): An error, if one occurred. ```go @@ -131,7 +131,7 @@ Creates a new control block of type `constant`. **Returns:** -[(BlockConfig)](/internals/controls-package/#blockconfig): The config for the newly created block. +[(BlockConfig)](/operate/reference/controls-package/#blockconfig): The config for the newly created block. ```go constBlock := control.CreatConstantBlock(context.Background(), "set_point", 10.0) @@ -169,7 +169,7 @@ Creates a new control block of type `trapezoidalVelocityProfile`. **Returns:** -[(BlockConfig)](/internals/controls-package/#blockconfig): The config for the newly created block. +[(BlockConfig)](/operate/reference/controls-package/#blockconfig): The config for the newly created block. ```go trapzBlock := control.CreateTrapzBlock(context.Background(), "set_point", 10.0, []string{"set_point", "endpoint"}) @@ -197,7 +197,7 @@ err := control.UpdateTrapzBlock(context.Background(), "set_point", 10.0, []strin ### PIDLoop -`PIDLoop` is a struct containing all the attributes for setting up a PID control loop. [`SetupPIDControlConfig`](/internals/controls-package/#setuppidcontrolconfig) will create this object for you. +`PIDLoop` is a struct containing all the attributes for setting up a PID control loop. [`SetupPIDControlConfig`](/operate/reference/controls-package/#setuppidcontrolconfig) will create this object for you. ```go type PIDLoop struct { @@ -269,13 +269,13 @@ type Options struct { ``` The built in control loop setup is only structured to work with an encoded motor or a sensor controlled base. If you wish to use a different setup, you can use the options by setting `UseCustomConfig` to `true` and `CompleteCustomConfig` to your custom control loop config of type `control.Config`. -The [Control Blocks](/internals/controls-package/#control-blocks) section details the different options for control blocks and how to create a `control.Config`. +The [Control Blocks](/operate/reference/controls-package/#control-blocks) section details the different options for control blocks and how to create a `control.Config`. ### BlockConfig `BlockConfig` is a struct for the configuration of an individual control block. You have to build individual BlockConfigs if you use the `UseCustomConfig` option. -Each block type requires different attributes, which are outlined in the [Control Blocks](/internals/controls-package/#control-blocks) section. +Each block type requires different attributes, which are outlined in the [Control Blocks](/operate/reference/controls-package/#control-blocks) section. ```go type BlockConfig struct { @@ -534,7 +534,7 @@ If you want to configure a control loop outside of the standard encoded motor or ### Using SetupPIDControlConfig -The following is an example of how to manually set up and tune a control loop using the function [`SetupPIDControlConfig`](/internals/controls-package/#setuppidcontrolconfig): +The following is an example of how to manually set up and tune a control loop using the function [`SetupPIDControlConfig`](/operate/reference/controls-package/#setuppidcontrolconfig): ```go // set the necessary options for a component diff --git a/docs/operate/reference/kinematic-chain-config.md b/docs/operate/reference/kinematic-chain-config.md index 10421296c0..83d2cd73ee 100644 --- a/docs/operate/reference/kinematic-chain-config.md +++ b/docs/operate/reference/kinematic-chain-config.md @@ -13,7 +13,7 @@ no_list: true Many components have complex kinematic chains and require an additional set of intermediate reference frames to use the [motion service](/services/motion/). -For example, an [arm](/operate/reference/components/arm/) has a reference frame originating where the arm is attached to a surface, but it also has links and joints whose frames of reference matter when attempting to move the arm to a [pose](/internals/orientation-vector/) with [`MoveToPosition()`](/dev/reference/apis/components/arm/#movetoposition). +For example, an [arm](/operate/reference/components/arm/) has a reference frame originating where the arm is attached to a surface, but it also has links and joints whose frames of reference matter when attempting to move the arm to a [pose](/operate/reference/orientation-vector/) with [`MoveToPosition()`](/dev/reference/apis/components/arm/#movetoposition). If you want to implement a {{< glossary_tooltip term_id="modular-resource" text="modular resource" >}} with a complex kinematic chain, you need to add a file to your driver that details the attachment of the intermediate reference frames on the component. diff --git a/docs/operate/reference/services/frame-system/_index.md b/docs/operate/reference/services/frame-system/_index.md index bee89afe35..206f1a70d6 100644 --- a/docs/operate/reference/services/frame-system/_index.md +++ b/docs/operate/reference/services/frame-system/_index.md @@ -155,12 +155,12 @@ Configure the reference frame as follows: | --------- | ----------- | ----- | | `parent` | **Required** | Default: `world`. The name of the reference frame you want to act as the parent of this frame. | | `translation` | **Required** | Default: `(0, 0, 0)`. The coordinates that the origin of this component's reference frame has within its parent reference frame.
Units: m in Frame Editor, mm in JSON. | -| `orientation` | **Required** | Default: `(0, 0, 1), 0`. The [orientation vector](/internals/orientation-vector/) that yields the axes of the component's reference frame when applied as a rotation to the axes of the parent reference frame.
Types: **Orientation Vector Degrees** (`ov_degrees`), **Orientation Vector Radians** (`ov_radians`), **Euler Angles** (`euler_angles`), and **Quaternion** (`quaternion`). | +| `orientation` | **Required** | Default: `(0, 0, 1), 0`. The [orientation vector](/operate/reference/orientation-vector/) that yields the axes of the component's reference frame when applied as a rotation to the axes of the parent reference frame.
Types: **Orientation Vector Degrees** (`ov_degrees`), **Orientation Vector Radians** (`ov_radians`), **Euler Angles** (`euler_angles`), and **Quaternion** (`quaternion`). | | `geometry` | Optional | Default: `none`. Collision geometries for defining bounds in the environment of the machine.
Units: m in Frame Editor, mm in JSON.
Types: **Sphere** (`sphere`), **Box** (`box`), and **Capsule** (`capsule`). | {{% alert title="Info" color="info" %}} -The `orientation` parameter offers types for ease of configuration, but the frame system always stores and returns [orientation vectors](/internals/orientation-vector/) in `Orientation Vector Radians`. +The `orientation` parameter offers types for ease of configuration, but the frame system always stores and returns [orientation vectors](/operate/reference/orientation-vector/) in `Orientation Vector Radians`. Other types will be converted to `ov_radian`. {{% /alert %}} @@ -213,7 +213,7 @@ Add this value to `"z"` in the camera's reference frame `Translation` attribute, Now the distance between these components is accurately reflected in the visualization. However, the camera doesn't yet display as oriented towards the base. -Adjust the [orientation vector](/internals/orientation-vector/) to 0.5 degrees in `"ox"` in the camera's reference frame `Orientation` attribute, and the frame system readjusts to show the camera's orientation: +Adjust the [orientation vector](/operate/reference/orientation-vector/) to 0.5 degrees in `"ox"` in the camera's reference frame `Orientation` attribute, and the frame system readjusts to show the camera's orientation: ![Camera oriented 0.5 degrees OX shown in the Frame System Editor](/services/frame-system/demo_camera_edited_2.png) diff --git a/docs/operate/reference/services/frame-system/frame-config.md b/docs/operate/reference/services/frame-system/frame-config.md index 34b7cee8f9..4c0f6b2e44 100644 --- a/docs/operate/reference/services/frame-system/frame-config.md +++ b/docs/operate/reference/services/frame-system/frame-config.md @@ -82,5 +82,5 @@ To configure your machine following this example: | --------- | ----------- | ----- | | `parent` | **Required** | Default: `world`. The name of the reference frame you want to act as the parent of this frame. | | `translation` | **Required** | Default: `(0, 0, 0)`. The coordinates that the origin of this component's reference frame has within its parent reference frame.
Units: m in Frame Editor, mm in JSON. | -| `orientation` | **Required** | Default: `(0, 0, 1), 0`. The [orientation vector](/internals/orientation-vector/) that yields the axes of the component's reference frame when applied as a rotation to the axes of the parent reference frame.
**Types**: **Orientation Vector Degrees** (`ov_degrees`), **Orientation Vector Radians** (`ov_radians`), **Euler Angles** (`euler_angles`), and **Quaternion** (`quaternion`). | +| `orientation` | **Required** | Default: `(0, 0, 1), 0`. The [orientation vector](/operate/reference/orientation-vector/) that yields the axes of the component's reference frame when applied as a rotation to the axes of the parent reference frame.
**Types**: **Orientation Vector Degrees** (`ov_degrees`), **Orientation Vector Radians** (`ov_radians`), **Euler Angles** (`euler_angles`), and **Quaternion** (`quaternion`). | | `geometry` | Optional | Default: `none`. Collision geometries for defining bounds in the environment of the machine.
Units: m in Frame Editor, mm in JSON.
**Types**: **Sphere** (`sphere`), **Box** (`box`), and **Capsule** (`capsule`). | diff --git a/docs/operate/reference/services/frame-system/nested-frame-config.md b/docs/operate/reference/services/frame-system/nested-frame-config.md index 0a00b5be22..656d9fa3e6 100644 --- a/docs/operate/reference/services/frame-system/nested-frame-config.md +++ b/docs/operate/reference/services/frame-system/nested-frame-config.md @@ -115,5 +115,5 @@ To configure your machine following this example: | --------- | ----------- | ----- | | `parent` | **Required** | Default: `world`. The name of the reference frame you want to act as the parent of this frame. | | `translation` | **Required** | Default: `(0, 0, 0)`. The coordinates that the origin of this component's reference frame has within its parent reference frame.
Units: m in Frame Editor, mm in JSON. | -| `orientation` | **Required** | Default: `(0, 0, 1), 0`. The [orientation vector](/internals/orientation-vector/) that yields the axes of the component's reference frame when applied as a rotation to the axes of the parent reference frame.
Types: **Orientation Vector Degrees** (`ov_degrees`), **Orientation Vector Radians** (`ov_radians`), **Euler Angles** (`euler_angles`), and **Quaternion** (`quaternion`). | +| `orientation` | **Required** | Default: `(0, 0, 1), 0`. The [orientation vector](/operate/reference/orientation-vector/) that yields the axes of the component's reference frame when applied as a rotation to the axes of the parent reference frame.
Types: **Orientation Vector Degrees** (`ov_degrees`), **Orientation Vector Radians** (`ov_radians`), **Euler Angles** (`euler_angles`), and **Quaternion** (`quaternion`). | | `geometry` | Optional | Default: `none`. Collision geometries for defining bounds in the environment of the machine.
Units: m in Frame Editor, mm in JSON.
Types: **Sphere** (`sphere`), **Box** (`box`), and **Capsule** (`capsule`). | diff --git a/docs/operate/reference/services/navigation/_index.md b/docs/operate/reference/services/navigation/_index.md index d36e8a50b2..7e3602558a 100644 --- a/docs/operate/reference/services/navigation/_index.md +++ b/docs/operate/reference/services/navigation/_index.md @@ -282,7 +282,7 @@ An example of an `Orientation` reading: orientation, err := imuwit.Orientation(context.Background(), nil) ``` -Use orientation readings to determine the orientation of an object in 3D space as an [_orientation vector_](/internals/orientation-vector/). +Use orientation readings to determine the orientation of an object in 3D space as an [_orientation vector_](/operate/reference/orientation-vector/). An orientation vector indicates how it is rotated relative to an origin coordinate system around the x, y, and z axes. You can choose the origin reference frame by configuring it using Viam's [frame system](/services/frame-system/). The `GetOrientation` readings will report orientations relative to that initial frame. diff --git a/docs/operate/reference/viam-micro-server/_index.md b/docs/operate/reference/viam-micro-server/_index.md index 3c7225f014..1c38f8fa0d 100644 --- a/docs/operate/reference/viam-micro-server/_index.md +++ b/docs/operate/reference/viam-micro-server/_index.md @@ -20,7 +20,7 @@ date: "2024-09-03" ## Support -[Client API](/appendix/apis/) usage with the micro-RDK currently supports the following {{< glossary_tooltip term_id="resource" text="resources" >}}: +[Client API](/dev/reference/apis/) usage with the micro-RDK currently supports the following {{< glossary_tooltip term_id="resource" text="resources" >}}: {{< cards >}} {{% relatedcard link="/dev/reference/apis/components/base/" %}} diff --git a/docs/tutorials/configure/build-a-mock-robot.md b/docs/tutorials/configure/build-a-mock-robot.md index d791ce5ae6..31f38e9c5f 100644 --- a/docs/tutorials/configure/build-a-mock-robot.md +++ b/docs/tutorials/configure/build-a-mock-robot.md @@ -93,7 +93,7 @@ You will need to reference the component names later when you connect to your mo ## Control your mock robot using the Viam app -When you add components to your machine, the Viam app automatically generates a UI for them under the [**CONTROL** tab](/fleet/control/): +When you add components to your machine, the Viam app automatically generates a UI for them under the [**CONTROL** tab](/manage/troubleshoot/teleoperate/default-interface/#viam-app): {{< imgproc src="/tutorials/build-a-mock-robot/control-tab.png" alt="The Control tab with the fake arm, and motor components." resize="600x" >}} diff --git a/docs/tutorials/control/air-quality-fleet.md b/docs/tutorials/control/air-quality-fleet.md index 2b48510488..a377263fd2 100644 --- a/docs/tutorials/control/air-quality-fleet.md +++ b/docs/tutorials/control/air-quality-fleet.md @@ -45,7 +45,7 @@ You can complete this tutorial using any number of air quality sensing machines. For each machine, you will need the following hardware: - [SDS011 Nova PM sensor](https://www.amazon.com/SDS011-Quality-Detection-Conditioning-Monitor/dp/B07FSDMRR5) - - If you choose to use a different air quality sensor, you may need to [create your own module](/how-tos/create-module/) implementing the [sensor API](/operate/reference/components/sensor/#api) for your specific hardware. + - If you choose to use a different air quality sensor, you may need to [create your own module](/operate/get-started/other-hardware/) implementing the [sensor API](/operate/reference/components/sensor/#api) for your specific hardware. - A single-board computer (SBC) [capable of running `viam-server`](https://docs.viam.com/installation/) - An appropriate power supply @@ -313,11 +313,11 @@ For each machine: {{< expand "Click here for usb_interface troubleshooting help" >}} If you only have one USB device plugged into each of your boards, the `usb_interface` value you configured in the sensor config is likely (conveniently) the same for all of your machines. -If not, you can use [fragment overwrite](/fleet/fragments/#modify-the-config-of-a-machine-that-uses-a-fragment) to modify the value on any machine for which it is different: +If not, you can use [fragment overwrite](/manage/fleet/reuse-configuration/#modify-fragment-settings-on-a-machine) to modify the value on any machine for which it is different: 1. If you're not getting sensor readings from a given machine, check the path of the USB port using the same [process by which you found the first USB path](#usb-path). 2. If the path to your sensor on one machine is different from the one you configured in the fragment, add a fragment overwrite to the config of that machine to change the path without needing to remove the entire fragment. - Follow the [instructions to add a fragment overwrite](/fleet/fragments/#modify-the-config-of-a-machine-that-uses-a-fragment) to your machine's config, using the following JSON template: + Follow the [instructions to add a fragment overwrite](/manage/fleet/reuse-configuration/#modify-fragment-settings-on-a-machine) to your machine's config, using the following JSON template: ```json {class="line-numbers linkable-line-numbers"} "fragment_mods": [ diff --git a/docs/tutorials/control/control-motor.md b/docs/tutorials/control/control-motor.md index 2177316696..fe0beb6ab2 100644 --- a/docs/tutorials/control/control-motor.md +++ b/docs/tutorials/control/control-motor.md @@ -120,7 +120,7 @@ Use the **Backwards** and **Forwards** buttons to change the direction. ### Option 2: Control from the mobile app -You can use [the Viam mobile app](/fleet/control/#control-interface-in-the-viam-mobile-app) to control your motor's speed and direction directly from your smart phone. +You can use [the Viam mobile app](/manage/troubleshoot/teleoperate/default-interface/#viam-mobile-app) to control your motor's speed and direction directly from your smart phone. Open the Viam mobile app and log in to your account. Select the location that your machine is in from the **Locations** tab. diff --git a/docs/tutorials/control/drive-rover.md b/docs/tutorials/control/drive-rover.md index 77b5587155..1189e7d36c 100644 --- a/docs/tutorials/control/drive-rover.md +++ b/docs/tutorials/control/drive-rover.md @@ -813,7 +813,7 @@ Then run your code and watch your rover move in a square. {{% alert title="Tip" color="tip" %}} -If you are interested to learn about what other commands you can give to a base, see the standardized [base API](/appendix/apis/components/base/#api) for a full list of available API methods. +If you are interested to learn about what other commands you can give to a base, see the standardized [base API](/dev/reference/apis/components/base/#api) for a full list of available API methods. {{% /alert %}} {{< /expand>}} diff --git a/docs/tutorials/control/flutter-app.md b/docs/tutorials/control/flutter-app.md index 9219e4f378..4ddfdc1ead 100644 --- a/docs/tutorials/control/flutter-app.md +++ b/docs/tutorials/control/flutter-app.md @@ -29,7 +29,7 @@ Notes: Flutter is Google's user interface toolkit for building applications for mobile, web, and desktop from a single codebase. -If you're looking to monitor and control individual machines with the same functionality you have on the [**CONTROL** tab](/fleet/control/), you can use the general-purpose [Viam mobile app](/fleet/control/#control-interface-in-the-viam-mobile-app) rather than creating your own. +If you're looking to monitor and control individual machines with the same functionality you have on the [**CONTROL** tab](/manage/troubleshoot/teleoperate/default-interface/#viam-app), you can use the general-purpose [Viam mobile app](/manage/troubleshoot/teleoperate/default-interface/#viam-mobile-app) rather than creating your own. If you need custom functionality or a custom interface, you can use Viam's [Flutter SDK](https://flutter.viam.dev/) to build a custom app to interact with your machines that run on Viam. This tutorial guides you through creating a mobile app that shows your machines and their components. @@ -43,7 +43,7 @@ As you work through this project you will learn the following: You do not need any hardware for this tutorial other than a computer running macOS or a 64-bit Linux operating system. -This tutorial assumes you already have a machine [configured](/configure/) on the [Viam app](https://app.viam.com). +This tutorial assumes you already have a machine [configured](/operate/get-started/setup/) on the [Viam app](https://app.viam.com). ## Set up your Flutter development environment diff --git a/docs/tutorials/custom/controlling-an-intermode-rover-canbus.md b/docs/tutorials/custom/controlling-an-intermode-rover-canbus.md index fdefa2d4dc..60a96bb4c1 100644 --- a/docs/tutorials/custom/controlling-an-intermode-rover-canbus.md +++ b/docs/tutorials/custom/controlling-an-intermode-rover-canbus.md @@ -48,7 +48,7 @@ Once you specify the circumference of the wheels and how far they are apart, you However, some rovers or other mobile robots do not expose direct motor control. For these types of machines, this tutorial shows you how to create a {{< glossary_tooltip term_id="modular-resource" text="modular resource" >}}. Creating a modular resource for your robot allows you to issue commands using the same [`base` interface](/dev/reference/apis/components/base/#api) as you would with builtin Viam components. -Once you have created the custom component, you can control both the Viam components and the modular resources using any of the [Viam SDKs](/appendix/apis/). +Once you have created the custom component, you can control both the Viam components and the modular resources using any of the [Viam SDKs](/dev/reference/apis/). Even if your modular resource is built in Golang, you can use the Python, C++, or any other Viam SDK to issue commands. {{% alert title="Tip" color="tip"%}} @@ -115,7 +115,7 @@ You can now power up the rover, which also provides power to your Pi and allows ## A modular resource for the Intermode base -The Viam platform provides [APIs](/appendix/apis/) for common component types within `viam-server`. +The Viam platform provides [APIs](/dev/reference/apis/) for common component types within `viam-server`. For controlling a mobile robot's movements, the [base component](/operate/reference/components/base/) exposes a useful interface. In the rest of this tutorial, you'll learn how to use this API to create your own custom modular resource. @@ -318,7 +318,7 @@ For more information on modules and how they work, see the [modular resources do ### Control the rover -After you configured the base, go to the [**CONTROL**](/fleet/control/) tab and expand the base component to view the controls to enable keyboard or discrete control over your machine's movement. +After you configured the base, go to the [**CONTROL**](/manage/troubleshoot/teleoperate/default-interface/#viam-app) tab and expand the base component to view the controls to enable keyboard or discrete control over your machine's movement. {{< alert title="Caution" color="caution" >}} Be careful, the Intermode is a large and powerful rover - make sure you have the shutoff key in hand for emergencies and make sure your rover has sufficient space to drive around without hitting anyone or anything. diff --git a/docs/tutorials/custom/custom-base-dog.md b/docs/tutorials/custom/custom-base-dog.md index d07efcc53e..59c3957c80 100644 --- a/docs/tutorials/custom/custom-base-dog.md +++ b/docs/tutorials/custom/custom-base-dog.md @@ -220,7 +220,7 @@ You can also try turning the robot off and on again, and then retrying the proce ## Implement the custom base code -Now that the Freenove server is set up, you will follow the [process for creating modular resources](/how-tos/create-module/). +Now that the Freenove server is set up, you will follow the [process for creating modular resources](/operate/get-started/other-hardware/). You will use [this module creation tool](https://github.com/viam-labs/generator-viam-module) to simplify the process and generate the necessary stub files. Then, you will edit them as necessary to define how each base API method interacts with your robot dog. diff --git a/docs/tutorials/get-started/blink-an-led.md b/docs/tutorials/get-started/blink-an-led.md index a128806824..db4fe41e50 100644 --- a/docs/tutorials/get-started/blink-an-led.md +++ b/docs/tutorials/get-started/blink-an-led.md @@ -175,7 +175,7 @@ Click the **Save** button in the top right corner of the page to save your chang ## Control your robot using the Viam app When you configure your board component, the Viam app generates a control panel for it. -Click the [**CONTROL** tab](/fleet/control/) to view the control panels for all your machine's components (in this case, just the board). +Click the [**CONTROL** tab](/manage/troubleshoot/teleoperate/default-interface/#viam-app) to view the control panels for all your machine's components (in this case, just the board). Click the board card to expand it. Here, you can click on **Get** to get the current status of your pin. diff --git a/docs/tutorials/projects/claw-game.md b/docs/tutorials/projects/claw-game.md index 23534a4cf9..2f85ac7520 100644 --- a/docs/tutorials/projects/claw-game.md +++ b/docs/tutorials/projects/claw-game.md @@ -444,7 +444,7 @@ Represented in that file are obstacles for the prize drop hole, and each of the If the dimensions of your enclosure differ from ours, adjust your `obstacles.json` file to match your enclosure. The obstacles for our arm are configured in reference to the "world" frame which is defined as a , which is a special frame that represents the starting point for all other frames in the robot's world. -The list of obstacles are defined in a `WorldState` object, which is passed as an argument in each [move()](/appendix/apis/services/motion/#move) call. +The list of obstacles are defined in a `WorldState` object, which is passed as an argument in each [move()](/dev/reference/apis/services/motion/#move) call. {{< alert title="Tip" color="tip" >}} If the arm is not mounted exactly perpendicular to the x/y axis of the enclosure, you can adjust the theta (_th_) of the arm within the arm component configuration by a number of degrees to compensate. diff --git a/docs/tutorials/projects/verification-system.md b/docs/tutorials/projects/verification-system.md index bf7129441d..cdf2bf8fcc 100644 --- a/docs/tutorials/projects/verification-system.md +++ b/docs/tutorials/projects/verification-system.md @@ -317,9 +317,9 @@ To add a transform camera to your machine: {{% alert title="Note" color="note" %}} The various states do not cause anything to happen on their own besides appearing as overlays on the transform cam. -To trigger an audio alarm or otherwise have your machine take an action based on the reported state, you can write your own logic using one of the [Viam SDKs](/sdks/) to [poll the classifications](/appendix/apis/services/vision/#getclassificationsfromcamera). +To trigger an audio alarm or otherwise have your machine take an action based on the reported state, you can write your own logic using one of the [Viam SDKs](/sdks/) to [poll the classifications](/dev/reference/apis/services/vision/#getclassificationsfromcamera). -See [2D Image Classification](/services/vision/#classifications) for information about working with classifiers in Viam, and [Vision API](/appendix/apis/services/vision/#api) for usage of the Computer Vision API this module implements. +See [2D Image Classification](/services/vision/#classifications) for information about working with classifiers in Viam, and [Vision API](/dev/reference/apis/services/vision/#api) for usage of the Computer Vision API this module implements. {{% /alert %}} With everything configured, you are now ready to see your facial recognition machine in action by watching the transform camera as a person passes in front of the camera. @@ -339,7 +339,7 @@ Now that you've got the verification aspect of your system working, you can use For example: - Write a program using one of the [Viam SDK](/sdks/) to poll the `facial-verification` module for its current state, and take action when a particular state is reached. - For example, you could use [`GetClassificationsFromCamera()`](/appendix/apis/services/vision/#getclassificationsfromcamera) to capture when a transition into the `ALARM` state occurs, and then send you an email with the captured image of the trespasser! + For example, you could use [`GetClassificationsFromCamera()`](/dev/reference/apis/services/vision/#getclassificationsfromcamera) to capture when a transition into the `ALARM` state occurs, and then send you an email with the captured image of the trespasser! - Try changing the type of [detectors](/services/vision/#detections), using different detectors for the `TRIGGER_1` and `TRIGGER_2` states. - Add the [filtered camera module](/data-ai/capture-data/filter-before-sync/) to your machine, and use it as the source camera in your verification system in order to save images to the Viam Cloud only when the system enters into specific states. This way, you could limit the images captured and synced to only those you are interested in reviewing later, for example. diff --git a/docs/tutorials/services/color-detection-scuttle.md b/docs/tutorials/services/color-detection-scuttle.md index 975d60a3e9..ddf943220f 100644 --- a/docs/tutorials/services/color-detection-scuttle.md +++ b/docs/tutorials/services/color-detection-scuttle.md @@ -121,7 +121,7 @@ To determine the color value from the actual cam component image, you can use a ### Test your color detector -You can test your detector by clicking on the **Test** area of the vision service's configuration panel or from the [**CONTROL** tab](/fleet/control/): +You can test your detector by clicking on the **Test** area of the vision service's configuration panel or from the [**CONTROL** tab](/manage/troubleshoot/teleoperate/default-interface/#viam-app): The camera stream will show detections with bounding boxes around the detected colors. diff --git a/docs/tutorials/services/constrain-motion.md b/docs/tutorials/services/constrain-motion.md index c0363cdf3a..69ee218d4f 100644 --- a/docs/tutorials/services/constrain-motion.md +++ b/docs/tutorials/services/constrain-motion.md @@ -223,7 +223,7 @@ The following diagram shows this, as well as the global coordinate system. If you are using a `fake` gripper, there is no real hardware to calibrate and you can [continue to the next section](#use-a-transform-to-represent-a-drinking-cup), imagining that your fake gripper corresponds to the diagram above. -If you are using a real arm and gripper, use the [**CONTROL** tab](/fleet/control/) in the [Viam app](https://app.viam.com/) to move the gripper, look at its reported orientations, and map them to its orientation in the real world. +If you are using a real arm and gripper, use the [**CONTROL** tab](/manage/troubleshoot/teleoperate/default-interface/#viam-app) in the [Viam app](https://app.viam.com/) to move the gripper, look at its reported orientations, and map them to its orientation in the real world. If the axes are different from those described above, take these differences into account in your code. ## Use a transform to represent a drinking cup @@ -231,7 +231,7 @@ If the axes are different from those described above, take these differences int Imagine your cup is 120 millimeters tall with a radius of 45 millimeters. You need to take this space into account to avoid bumping objects on the table with the cup. -You can pass transforms to the [motion service `move` method](/appendix/apis/services/motion/#move) to represent objects that are connected to the robot but are not actual robotic components. +You can pass transforms to the [motion service `move` method](/dev/reference/apis/services/motion/#move) to represent objects that are connected to the robot but are not actual robotic components. To represent the drinking cup held in your robot's gripper, create a transform with the cup's measurements: ```python {class="line-numbers linkable-line-numbers"} @@ -299,7 +299,7 @@ If we changed the orientation along the way, we might spill the tea! {{< alert title="Tip" color="tip" >}} You may be wondering how the orientations of the poses are determined. Our example gripper's frame is defined such that its orientation vector points from its "wrist" to the tip of its jaws. -In the example code above, all poses have an [orientation vector](/internals/orientation-vector/) pointing along the positive X axis of the world frame, which is a horizontal orientation pointing "forwards" with respect to the xArm 6 base. +In the example code above, all poses have an [orientation vector](/operate/reference/orientation-vector/) pointing along the positive X axis of the world frame, which is a horizontal orientation pointing "forwards" with respect to the xArm 6 base. When we tell the gripper to move to such a pose, its orientation vector moves to align with the orientation vector of the pose, so its jaws end up pointing along the global X axis, "forwards" from the robot base. This puts it in a good position for picking up and moving a cup. diff --git a/docs/tutorials/services/navigate-with-rover-base.md b/docs/tutorials/services/navigate-with-rover-base.md index ae89b21888..e938c34a6c 100644 --- a/docs/tutorials/services/navigate-with-rover-base.md +++ b/docs/tutorials/services/navigate-with-rover-base.md @@ -542,7 +542,7 @@ Your rover will begin navigating between waypoints. ### Programmatic method -If you want to do add waypoints programmatically, use the service's [API method `AddWaypoint()`](/appendix/apis/services/navigation/#addwaypoint): +If you want to do add waypoints programmatically, use the service's [API method `AddWaypoint()`](/dev/reference/apis/services/navigation/#addwaypoint): #### Add waypoints @@ -577,7 +577,7 @@ await my_nav.add_waypoint(point=location) #### Begin navigation -To start navigating, set your service to `MODE_WAYPOINT` with the service's [API method `SetMode()`](/appendix/apis/services/navigation/#setmode): +To start navigating, set your service to `MODE_WAYPOINT` with the service's [API method `SetMode()`](/dev/reference/apis/services/navigation/#setmode): {{< tabs >}} {{% tab name="Go" %}} diff --git a/docs/tutorials/services/plan-motion-with-arm-gripper.md b/docs/tutorials/services/plan-motion-with-arm-gripper.md index 4e3dd061cf..d2f349e04b 100644 --- a/docs/tutorials/services/plan-motion-with-arm-gripper.md +++ b/docs/tutorials/services/plan-motion-with-arm-gripper.md @@ -112,7 +112,7 @@ The `GetPose` method provided by the motion service serves a similar function to ### Get the `ResourceName` When you use the [arm API](/dev/reference/apis/components/arm/#api), you call methods on your arm component itself. -To use the [motion service API](/appendix/apis/services/motion/#api) with an arm, you need to pass an argument of type `ResourceName` to the motion service method. +To use the [motion service API](/dev/reference/apis/services/motion/#api) with an arm, you need to pass an argument of type `ResourceName` to the motion service method. Add the following to the section of your code where you access the arm: @@ -239,7 +239,7 @@ Within the app, the **Frame** subtab of your machine's **CONFIGURE** tab gives y In previous examples you controlled motion of individual components. Now you will use the motion service to control the motion of the robot as a whole. -You will use the motion service's [`Move`](/appendix/apis/services/motion/#move) method to execute more general robotic motion. +You will use the motion service's [`Move`](/dev/reference/apis/services/motion/#move) method to execute more general robotic motion. You can designate specific components for motion planning by passing in the resource name (note the use of the arm resource in the code samples below). The `worldState` we constructed earlier is also passed in so that the motion service takes that information into account when planning. diff --git a/docs/tutorials/services/webcam-line-follower-robot.md b/docs/tutorials/services/webcam-line-follower-robot.md index 395dc5849d..f38d3f3b53 100644 --- a/docs/tutorials/services/webcam-line-follower-robot.md +++ b/docs/tutorials/services/webcam-line-follower-robot.md @@ -187,7 +187,7 @@ Click **Save** in the top right corner of the screen. ## Test your components -Navigate to your [machine's **CONTROL** tab](/fleet/control/) to test your components. +Navigate to your [machine's **CONTROL** tab](/manage/troubleshoot/teleoperate/default-interface/#viam-app) to test your components. Verify that it’s connected by refreshing the page and ensuring that the part status dropdown (in the top banner) says, "Live." 1. Go to the **CONTROL** tab, click on the base panel, and toggle the camera to on. @@ -378,7 +378,7 @@ Click **Save** in the top right corner of the screen. ## Test your color detector -Navigate to your [machine's **CONTROL** tab](/fleet/control/) to test the transform camera. +Navigate to your [machine's **CONTROL** tab](/manage/troubleshoot/teleoperate/default-interface/#viam-app) to test the transform camera. Click on the transform camera panel and toggle the camera on. You should now be able to view the camera feed with color detector overlays superimposed on the image. diff --git a/static/include/components/apis/generated/arm.md b/static/include/components/apis/generated/arm.md index 7f5ea7b112..4c35a3c30e 100644 --- a/static/include/components/apis/generated/arm.md +++ b/static/include/components/apis/generated/arm.md @@ -1,6 +1,6 @@ ### GetEndPosition -Get the current position of the arm as a [pose](/internals/orientation-vector/). +Get the current position of the arm as a [pose](/operate/reference/orientation-vector/). {{< tabs >}} {{% tab name="Python" %}} @@ -57,7 +57,7 @@ For more information, see the [Go SDK Docs](https://pkg.go.dev/go.viam.com/rdk/c **Returns:** -- [Future](https://api.flutter.dev/flutter/dart-core/Future-class.html)\<[Pose](https://flutter.viam.dev/viam_sdk/Pose-class.html)\> +- [Future](https://api.flutter.dev/flutter/dart-async/Future-class.html)\<[Pose](https://flutter.viam.dev/viam_sdk/Pose-class.html)\> **Example:** @@ -72,7 +72,7 @@ For more information, see the [Flutter SDK Docs](https://flutter.viam.dev/viam_s ### MoveToPosition -Move the end of the arm in a straight line to the desired [pose](/internals/orientation-vector/), relative to the base of the arm. +Move the end of the arm in a straight line to the desired [pose](/operate/reference/orientation-vector/), relative to the base of the arm. All arms have a `Home` position, which corresponds to setting all joint angles to 0. @@ -142,7 +142,7 @@ For more information, see the [Go SDK Docs](https://pkg.go.dev/go.viam.com/rdk/c **Returns:** -- [Future](https://api.flutter.dev/flutter/dart-core/Future-class.html)\ +- [Future](https://api.flutter.dev/flutter/dart-async/Future-class.html)\ **Example:** @@ -237,7 +237,7 @@ For more information, see the [Go SDK Docs](https://pkg.go.dev/go.viam.com/rdk/c **Returns:** -- [Future](https://api.flutter.dev/flutter/dart-core/Future-class.html)\ +- [Future](https://api.flutter.dev/flutter/dart-async/Future-class.html)\ **Example:** @@ -353,7 +353,7 @@ For more information, see the [Go SDK Docs](https://pkg.go.dev/go.viam.com/rdk/c **Returns:** -- [Future](https://api.flutter.dev/flutter/dart-core/Future-class.html)\<[List](https://api.flutter.dev/flutter/dart-core/List-class.html)\<[double](https://api.flutter.dev/flutter/dart-core/double-class.html)\>\> +- [Future](https://api.flutter.dev/flutter/dart-async/Future-class.html)\<[List](https://api.flutter.dev/flutter/dart-core/List-class.html)\<[double](https://api.flutter.dev/flutter/dart-core/double-class.html)\>\> **Example:** @@ -472,7 +472,7 @@ For more information, see the [Go SDK Docs](https://pkg.go.dev/go.viam.com/rdk/r **Returns:** -- [Future](https://api.flutter.dev/flutter/dart-core/Future-class.html)\<[bool](https://api.flutter.dev/flutter/dart-core/bool-class.html)\> +- [Future](https://api.flutter.dev/flutter/dart-async/Future-class.html)\<[bool](https://api.flutter.dev/flutter/dart-core/bool-class.html)\> **Example:** @@ -545,7 +545,7 @@ For more information, see the [Go SDK Docs](https://pkg.go.dev/go.viam.com/rdk/r **Returns:** -- [Future](https://api.flutter.dev/flutter/dart-core/Future-class.html)\ +- [Future](https://api.flutter.dev/flutter/dart-async/Future-class.html)\ **Example:** @@ -709,7 +709,7 @@ For more information, see the [Go SDK Docs](https://pkg.go.dev/go.viam.com/rdk/r **Returns:** -- [Future](https://api.flutter.dev/flutter/dart-core/Future-class.html)\<[Map](https://api.flutter.dev/flutter/dart-core/Map-class.html)\<[String](https://api.flutter.dev/flutter/dart-core/String-class.html), dynamic\>\> +- [Future](https://api.flutter.dev/flutter/dart-async/Future-class.html)\<[Map](https://api.flutter.dev/flutter/dart-core/Map-class.html)\<[String](https://api.flutter.dev/flutter/dart-core/String-class.html), dynamic\>\> **Example:** diff --git a/static/include/components/apis/generated/base.md b/static/include/components/apis/generated/base.md index c57285028c..f85ebf679b 100644 --- a/static/include/components/apis/generated/base.md +++ b/static/include/components/apis/generated/base.md @@ -68,7 +68,7 @@ For more information, see the [Go SDK Docs](https://pkg.go.dev/go.viam.com/rdk/c **Returns:** -- [Future](https://api.flutter.dev/flutter/dart-core/Future-class.html)\ +- [Future](https://api.flutter.dev/flutter/dart-async/Future-class.html)\ **Example:** @@ -147,7 +147,7 @@ For more information, see the [Go SDK Docs](https://pkg.go.dev/go.viam.com/rdk/c **Returns:** -- [Future](https://api.flutter.dev/flutter/dart-core/Future-class.html)\ +- [Future](https://api.flutter.dev/flutter/dart-async/Future-class.html)\ **Example:** @@ -261,7 +261,7 @@ For more information, see the [Go SDK Docs](https://pkg.go.dev/go.viam.com/rdk/c **Returns:** -- [Future](https://api.flutter.dev/flutter/dart-core/Future-class.html)\ +- [Future](https://api.flutter.dev/flutter/dart-async/Future-class.html)\ **Example:** @@ -351,7 +351,7 @@ For more information, see the [Go SDK Docs](https://pkg.go.dev/go.viam.com/rdk/c **Returns:** -- [Future](https://api.flutter.dev/flutter/dart-core/Future-class.html)\ +- [Future](https://api.flutter.dev/flutter/dart-async/Future-class.html)\ **Example:** @@ -503,7 +503,7 @@ For more information, see the [Go SDK Docs](https://pkg.go.dev/go.viam.com/rdk/r **Returns:** -- [Future](https://api.flutter.dev/flutter/dart-core/Future-class.html)\<[bool](https://api.flutter.dev/flutter/dart-core/bool-class.html)\> +- [Future](https://api.flutter.dev/flutter/dart-async/Future-class.html)\<[bool](https://api.flutter.dev/flutter/dart-core/bool-class.html)\> **Example:** @@ -580,7 +580,7 @@ For more information, see the [Go SDK Docs](https://pkg.go.dev/go.viam.com/rdk/r **Returns:** -- [Future](https://api.flutter.dev/flutter/dart-core/Future-class.html)\ +- [Future](https://api.flutter.dev/flutter/dart-async/Future-class.html)\ **Example:** @@ -745,7 +745,7 @@ For more information, see the [Go SDK Docs](https://pkg.go.dev/go.viam.com/rdk/r **Returns:** -- [Future](https://api.flutter.dev/flutter/dart-core/Future-class.html)\<[Map](https://api.flutter.dev/flutter/dart-core/Map-class.html)\<[String](https://api.flutter.dev/flutter/dart-core/String-class.html), dynamic\>\> +- [Future](https://api.flutter.dev/flutter/dart-async/Future-class.html)\<[Map](https://api.flutter.dev/flutter/dart-core/Map-class.html)\<[String](https://api.flutter.dev/flutter/dart-core/String-class.html), dynamic\>\> **Example:** diff --git a/static/include/components/apis/generated/board.md b/static/include/components/apis/generated/board.md index 877c3e7193..1b461e2c16 100644 --- a/static/include/components/apis/generated/board.md +++ b/static/include/components/apis/generated/board.md @@ -68,7 +68,7 @@ For more information, see the [Go SDK Docs](https://pkg.go.dev/go.viam.com/rdk/c **Returns:** -- [Future](https://api.flutter.dev/flutter/dart-core/Future-class.html)\ +- [Future](https://api.flutter.dev/flutter/dart-async/Future-class.html)\ **Example:** @@ -150,7 +150,7 @@ For more information, see the [Go SDK Docs](https://pkg.go.dev/go.viam.com/rdk/c **Returns:** -- [Future](https://api.flutter.dev/flutter/dart-core/Future-class.html)\<[bool](https://api.flutter.dev/flutter/dart-core/bool-class.html)\> +- [Future](https://api.flutter.dev/flutter/dart-async/Future-class.html)\<[bool](https://api.flutter.dev/flutter/dart-core/bool-class.html)\> **Example:** @@ -240,7 +240,7 @@ For more information, see the [Go SDK Docs](https://pkg.go.dev/go.viam.com/rdk/c **Returns:** -- [Future](https://api.flutter.dev/flutter/dart-core/Future-class.html)\<[double](https://api.flutter.dev/flutter/dart-core/double-class.html)\> +- [Future](https://api.flutter.dev/flutter/dart-async/Future-class.html)\<[double](https://api.flutter.dev/flutter/dart-core/double-class.html)\> **Example:** @@ -325,7 +325,7 @@ For more information, see the [Go SDK Docs](https://pkg.go.dev/go.viam.com/rdk/c **Returns:** -- [Future](https://api.flutter.dev/flutter/dart-core/Future-class.html)\ +- [Future](https://api.flutter.dev/flutter/dart-async/Future-class.html)\ **Example:** @@ -407,7 +407,7 @@ For more information, see the [Go SDK Docs](https://pkg.go.dev/go.viam.com/rdk/c **Returns:** -- [Future](https://api.flutter.dev/flutter/dart-core/Future-class.html)\<[int](https://api.flutter.dev/flutter/dart-core/int-class.html)\> +- [Future](https://api.flutter.dev/flutter/dart-async/Future-class.html)\<[int](https://api.flutter.dev/flutter/dart-core/int-class.html)\> **Example:** @@ -496,7 +496,7 @@ For more information, see the [Go SDK Docs](https://pkg.go.dev/go.viam.com/rdk/c **Returns:** -- [Future](https://api.flutter.dev/flutter/dart-core/Future-class.html)\ +- [Future](https://api.flutter.dev/flutter/dart-async/Future-class.html)\ **Example:** @@ -580,7 +580,7 @@ For more information, see the [Go SDK Docs](https://pkg.go.dev/go.viam.com/rdk/c **Returns:** -- [Future](https://api.flutter.dev/flutter/dart-core/Future-class.html)\<[int](https://api.flutter.dev/flutter/dart-core/int-class.html)\> +- [Future](https://api.flutter.dev/flutter/dart-async/Future-class.html)\<[int](https://api.flutter.dev/flutter/dart-core/int-class.html)\> **Example:** @@ -666,7 +666,7 @@ For more information, see the [Go SDK Docs](https://pkg.go.dev/go.viam.com/rdk/c **Returns:** -- [Future](https://api.flutter.dev/flutter/dart-core/Future-class.html)\<[AnalogValue](https://flutter.viam.dev/viam_sdk/AnalogValue.html)\> +- [Future](https://api.flutter.dev/flutter/dart-async/Future-class.html)\<[AnalogValue](https://flutter.viam.dev/viam_sdk/AnalogValue.html)\> **Example:** @@ -750,7 +750,7 @@ For more information, see the [Go SDK Docs](https://pkg.go.dev/go.viam.com/rdk/c **Returns:** -- [Future](https://api.flutter.dev/flutter/dart-core/Future-class.html)\ +- [Future](https://api.flutter.dev/flutter/dart-async/Future-class.html)\ **Example:** @@ -929,7 +929,7 @@ For more information, see the [Go SDK Docs](https://pkg.go.dev/go.viam.com/rdk/c **Returns:** -- [Future](https://api.flutter.dev/flutter/dart-core/Future-class.html)\ +- [Future](https://api.flutter.dev/flutter/dart-async/Future-class.html)\ **Example:** @@ -1223,7 +1223,7 @@ For more information, see the [Go SDK Docs](https://pkg.go.dev/go.viam.com/rdk/r **Returns:** -- [Future](https://api.flutter.dev/flutter/dart-core/Future-class.html)\<[Map](https://api.flutter.dev/flutter/dart-core/Map-class.html)\<[String](https://api.flutter.dev/flutter/dart-core/String-class.html), dynamic\>\> +- [Future](https://api.flutter.dev/flutter/dart-async/Future-class.html)\<[Map](https://api.flutter.dev/flutter/dart-core/Map-class.html)\<[String](https://api.flutter.dev/flutter/dart-core/String-class.html), dynamic\>\> **Example:** diff --git a/static/include/components/apis/generated/camera.md b/static/include/components/apis/generated/camera.md index 878da30c23..6cb2e82567 100644 --- a/static/include/components/apis/generated/camera.md +++ b/static/include/components/apis/generated/camera.md @@ -41,8 +41,6 @@ For example: ```python {class="line-numbers linkable-line-numbers"} from viam.media.utils.pil import pil_to_viam_image, viam_to_pil_image -my_camera = Camera.from_robot(robot=machine, name="my_camera") - # Get the ViamImage from your camera. frame = await my_camera.get_image() @@ -111,7 +109,7 @@ For more information, see the [Go SDK Docs](https://pkg.go.dev/go.viam.com/rdk/c **Returns:** -- [Future](https://api.flutter.dev/flutter/dart-core/Future-class.html)\<[ViamImage](https://flutter.viam.dev/viam_sdk/ViamImage-class.html)\> +- [Future](https://api.flutter.dev/flutter/dart-async/Future-class.html)\<[ViamImage](https://flutter.viam.dev/viam_sdk/ViamImage-class.html)\> **Example:** @@ -254,7 +252,7 @@ For more information, see the [Go SDK Docs](https://pkg.go.dev/go.viam.com/rdk/c **Returns:** -- [Future](https://api.flutter.dev/flutter/dart-core/Future-class.html)\<[ViamImage](https://flutter.viam.dev/viam_sdk/ViamImage-class.html)\> +- [Future](https://api.flutter.dev/flutter/dart-async/Future-class.html)\<[ViamImage](https://flutter.viam.dev/viam_sdk/ViamImage-class.html)\> **Example:** @@ -315,7 +313,7 @@ For more information, see the [Go SDK Docs](https://pkg.go.dev/go.viam.com/rdk/c **Returns:** -- [Future](https://api.flutter.dev/flutter/dart-core/Future-class.html)\<[CameraProperties](https://flutter.viam.dev/viam_sdk/CameraProperties.html)\> +- [Future](https://api.flutter.dev/flutter/dart-async/Future-class.html)\<[CameraProperties](https://flutter.viam.dev/viam_sdk/CameraProperties.html)\> **Example:** @@ -369,7 +367,7 @@ For more information, see the [Python SDK Docs](https://python.viam.dev/autoapi/ **Returns:** -- [Future](https://api.flutter.dev/flutter/dart-core/Future-class.html)\<[Map](https://api.flutter.dev/flutter/dart-core/Map-class.html)\<[String](https://api.flutter.dev/flutter/dart-core/String-class.html), dynamic\>\> +- [Future](https://api.flutter.dev/flutter/dart-async/Future-class.html)\<[Map](https://api.flutter.dev/flutter/dart-core/Map-class.html)\<[String](https://api.flutter.dev/flutter/dart-core/String-class.html), dynamic\>\> **Example:** diff --git a/static/include/components/apis/generated/gantry.md b/static/include/components/apis/generated/gantry.md index 743d81c07e..4c6f86312b 100644 --- a/static/include/components/apis/generated/gantry.md +++ b/static/include/components/apis/generated/gantry.md @@ -58,7 +58,7 @@ For more information, see the [Go SDK Docs](https://pkg.go.dev/go.viam.com/rdk/c **Returns:** -- [Future](https://api.flutter.dev/flutter/dart-core/Future-class.html)\<[List](https://api.flutter.dev/flutter/dart-core/List-class.html)\<[double](https://api.flutter.dev/flutter/dart-core/double-class.html)\>\> +- [Future](https://api.flutter.dev/flutter/dart-async/Future-class.html)\<[List](https://api.flutter.dev/flutter/dart-core/List-class.html)\<[double](https://api.flutter.dev/flutter/dart-core/double-class.html)\>\> **Example:** @@ -149,7 +149,7 @@ For more information, see the [Go SDK Docs](https://pkg.go.dev/go.viam.com/rdk/c **Returns:** -- [Future](https://api.flutter.dev/flutter/dart-core/Future-class.html)\ +- [Future](https://api.flutter.dev/flutter/dart-async/Future-class.html)\ **Example:** @@ -222,7 +222,7 @@ For more information, see the [Go SDK Docs](https://pkg.go.dev/go.viam.com/rdk/c **Returns:** -- [Future](https://api.flutter.dev/flutter/dart-core/Future-class.html)\<[List](https://api.flutter.dev/flutter/dart-core/List-class.html)\<[double](https://api.flutter.dev/flutter/dart-core/double-class.html)\>\> +- [Future](https://api.flutter.dev/flutter/dart-async/Future-class.html)\<[List](https://api.flutter.dev/flutter/dart-core/List-class.html)\<[double](https://api.flutter.dev/flutter/dart-core/double-class.html)\>\> **Example:** @@ -293,7 +293,7 @@ For more information, see the [Go SDK Docs](https://pkg.go.dev/go.viam.com/rdk/c **Returns:** -- [Future](https://api.flutter.dev/flutter/dart-core/Future-class.html)\<[bool](https://api.flutter.dev/flutter/dart-core/bool-class.html)\> +- [Future](https://api.flutter.dev/flutter/dart-async/Future-class.html)\<[bool](https://api.flutter.dev/flutter/dart-core/bool-class.html)\> **Example:** @@ -373,7 +373,7 @@ For more information, see the [Go SDK Docs](https://pkg.go.dev/go.viam.com/rdk/r **Returns:** -- [Future](https://api.flutter.dev/flutter/dart-core/Future-class.html)\<[bool](https://api.flutter.dev/flutter/dart-core/bool-class.html)\> +- [Future](https://api.flutter.dev/flutter/dart-async/Future-class.html)\<[bool](https://api.flutter.dev/flutter/dart-core/bool-class.html)\> **Example:** @@ -447,7 +447,7 @@ For more information, see the [Go SDK Docs](https://pkg.go.dev/go.viam.com/rdk/r **Returns:** -- [Future](https://api.flutter.dev/flutter/dart-core/Future-class.html)\ +- [Future](https://api.flutter.dev/flutter/dart-async/Future-class.html)\ **Example:** @@ -498,7 +498,7 @@ If you are implementing your own gantry and add features that have no built-in A **Returns:** -- [Future](https://api.flutter.dev/flutter/dart-core/Future-class.html)\<[Map](https://api.flutter.dev/flutter/dart-core/Map-class.html)\<[String](https://api.flutter.dev/flutter/dart-core/String-class.html), dynamic\>\> +- [Future](https://api.flutter.dev/flutter/dart-async/Future-class.html)\<[Map](https://api.flutter.dev/flutter/dart-core/Map-class.html)\<[String](https://api.flutter.dev/flutter/dart-core/String-class.html), dynamic\>\> **Example:** diff --git a/static/include/components/apis/generated/generic_component.md b/static/include/components/apis/generated/generic_component.md index 01ce00bb53..1b983e44e9 100644 --- a/static/include/components/apis/generated/generic_component.md +++ b/static/include/components/apis/generated/generic_component.md @@ -63,7 +63,7 @@ For more information, see the [Go SDK Docs](https://pkg.go.dev/go.viam.com/rdk/r **Returns:** -- [Future](https://api.flutter.dev/flutter/dart-core/Future-class.html)\<[Map](https://api.flutter.dev/flutter/dart-core/Map-class.html)\<[String](https://api.flutter.dev/flutter/dart-core/String-class.html), dynamic\>\> +- [Future](https://api.flutter.dev/flutter/dart-async/Future-class.html)\<[Map](https://api.flutter.dev/flutter/dart-core/Map-class.html)\<[String](https://api.flutter.dev/flutter/dart-core/String-class.html), dynamic\>\> **Example:** @@ -141,10 +141,5 @@ await my_generic_component.close() For more information, see the [Python SDK Docs](https://python.viam.dev/autoapi/viam/components/generic/client/index.html#viam.components.generic.client.GenericClient.close). -{{% /tab %}} -{{% tab name="C++" %}} - -There is no need to explicitly close a generic component's resource in C++, as resource destruction is handled automatically by the generic component's class destructor when variables exit scope. - {{% /tab %}} {{< /tabs >}} diff --git a/static/include/components/apis/generated/gripper.md b/static/include/components/apis/generated/gripper.md index e947196dd4..917862143a 100644 --- a/static/include/components/apis/generated/gripper.md +++ b/static/include/components/apis/generated/gripper.md @@ -57,7 +57,7 @@ For more information, see the [Go SDK Docs](https://pkg.go.dev/go.viam.com/rdk/c **Returns:** -- [Future](https://api.flutter.dev/flutter/dart-core/Future-class.html)\ +- [Future](https://api.flutter.dev/flutter/dart-async/Future-class.html)\ **Example:** @@ -130,7 +130,7 @@ For more information, see the [Go SDK Docs](https://pkg.go.dev/go.viam.com/rdk/c **Returns:** -- [Future](https://api.flutter.dev/flutter/dart-core/Future-class.html)\ +- [Future](https://api.flutter.dev/flutter/dart-async/Future-class.html)\ **Example:** @@ -207,7 +207,7 @@ For more information, see the [Go SDK Docs](https://pkg.go.dev/go.viam.com/rdk/r **Returns:** -- [Future](https://api.flutter.dev/flutter/dart-core/Future-class.html)\<[bool](https://api.flutter.dev/flutter/dart-core/bool-class.html)\> +- [Future](https://api.flutter.dev/flutter/dart-async/Future-class.html)\<[bool](https://api.flutter.dev/flutter/dart-core/bool-class.html)\> **Example:** @@ -281,7 +281,7 @@ For more information, see the [Go SDK Docs](https://pkg.go.dev/go.viam.com/rdk/r **Returns:** -- [Future](https://api.flutter.dev/flutter/dart-core/Future-class.html)\ +- [Future](https://api.flutter.dev/flutter/dart-async/Future-class.html)\ **Example:** @@ -395,7 +395,7 @@ If you are implementing your own gripper and add features that have no built-in **Returns:** -- [Future](https://api.flutter.dev/flutter/dart-core/Future-class.html)\<[Map](https://api.flutter.dev/flutter/dart-core/Map-class.html)\<[String](https://api.flutter.dev/flutter/dart-core/String-class.html), dynamic\>\> +- [Future](https://api.flutter.dev/flutter/dart-async/Future-class.html)\<[Map](https://api.flutter.dev/flutter/dart-core/Map-class.html)\<[String](https://api.flutter.dev/flutter/dart-core/String-class.html), dynamic\>\> **Example:** diff --git a/static/include/components/apis/generated/motor.md b/static/include/components/apis/generated/motor.md index de1e8eb1b2..0b710ed950 100644 --- a/static/include/components/apis/generated/motor.md +++ b/static/include/components/apis/generated/motor.md @@ -63,7 +63,7 @@ For more information, see the [Go SDK Docs](https://pkg.go.dev/go.viam.com/rdk/c **Returns:** -- [Future](https://api.flutter.dev/flutter/dart-core/Future-class.html)\ +- [Future](https://api.flutter.dev/flutter/dart-async/Future-class.html)\ **Example:** @@ -137,7 +137,7 @@ For more information, see the [Go SDK Docs](https://pkg.go.dev/go.viam.com/rdk/c **Returns:** -- [Future](https://api.flutter.dev/flutter/dart-core/Future-class.html)\ +- [Future](https://api.flutter.dev/flutter/dart-async/Future-class.html)\ **Example:** @@ -217,7 +217,7 @@ For more information, see the [Go SDK Docs](https://pkg.go.dev/go.viam.com/rdk/c **Returns:** -- [Future](https://api.flutter.dev/flutter/dart-core/Future-class.html)\ +- [Future](https://api.flutter.dev/flutter/dart-async/Future-class.html)\ **Example:** @@ -296,7 +296,7 @@ For more information, see the [Go SDK Docs](https://pkg.go.dev/go.viam.com/rdk/c **Returns:** -- [Future](https://api.flutter.dev/flutter/dart-core/Future-class.html)\ +- [Future](https://api.flutter.dev/flutter/dart-async/Future-class.html)\ **Example:** @@ -370,7 +370,7 @@ For more information, see the [Go SDK Docs](https://pkg.go.dev/go.viam.com/rdk/c **Returns:** -- [Future](https://api.flutter.dev/flutter/dart-core/Future-class.html)\ +- [Future](https://api.flutter.dev/flutter/dart-async/Future-class.html)\ **Example:** @@ -449,7 +449,7 @@ For more information, see the [Go SDK Docs](https://pkg.go.dev/go.viam.com/rdk/c **Returns:** -- [Future](https://api.flutter.dev/flutter/dart-core/Future-class.html)\<[double](https://api.flutter.dev/flutter/dart-core/double-class.html)\> +- [Future](https://api.flutter.dev/flutter/dart-async/Future-class.html)\<[double](https://api.flutter.dev/flutter/dart-core/double-class.html)\> **Example:** @@ -530,7 +530,7 @@ For more information, see the [Go SDK Docs](https://pkg.go.dev/go.viam.com/rdk/c **Returns:** -- [Future](https://api.flutter.dev/flutter/dart-core/Future-class.html)\<[MotorProperties](https://flutter.viam.dev/viam_sdk/MotorProperties.html)\> +- [Future](https://api.flutter.dev/flutter/dart-async/Future-class.html)\<[MotorProperties](https://flutter.viam.dev/viam_sdk/MotorProperties.html)\> **Example:** @@ -611,7 +611,7 @@ For more information, see the [Go SDK Docs](https://pkg.go.dev/go.viam.com/rdk/c **Returns:** -- [Future](https://api.flutter.dev/flutter/dart-core/Future-class.html)\<[PowerState](https://flutter.viam.dev/viam_sdk/PowerState-class.html)\> +- [Future](https://api.flutter.dev/flutter/dart-async/Future-class.html)\<[PowerState](https://flutter.viam.dev/viam_sdk/PowerState-class.html)\> **Example:** @@ -693,7 +693,7 @@ For more information, see the [Go SDK Docs](https://pkg.go.dev/go.viam.com/rdk/r **Returns:** -- [Future](https://api.flutter.dev/flutter/dart-core/Future-class.html)\<[bool](https://api.flutter.dev/flutter/dart-core/bool-class.html)\> +- [Future](https://api.flutter.dev/flutter/dart-async/Future-class.html)\<[bool](https://api.flutter.dev/flutter/dart-core/bool-class.html)\> **Example:** @@ -768,7 +768,7 @@ For more information, see the [Go SDK Docs](https://pkg.go.dev/go.viam.com/rdk/r **Returns:** -- [Future](https://api.flutter.dev/flutter/dart-core/Future-class.html)\ +- [Future](https://api.flutter.dev/flutter/dart-async/Future-class.html)\ **Example:** @@ -820,7 +820,7 @@ If you are implementing your own motor and add features that have no built-in AP **Returns:** -- [Future](https://api.flutter.dev/flutter/dart-core/Future-class.html)\<[Map](https://api.flutter.dev/flutter/dart-core/Map-class.html)\<[String](https://api.flutter.dev/flutter/dart-core/String-class.html), dynamic\>\> +- [Future](https://api.flutter.dev/flutter/dart-async/Future-class.html)\<[Map](https://api.flutter.dev/flutter/dart-core/Map-class.html)\<[String](https://api.flutter.dev/flutter/dart-core/String-class.html), dynamic\>\> **Example:** diff --git a/static/include/components/apis/generated/movement_sensor.md b/static/include/components/apis/generated/movement_sensor.md index bd192f854d..26e7f2b2e5 100644 --- a/static/include/components/apis/generated/movement_sensor.md +++ b/static/include/components/apis/generated/movement_sensor.md @@ -60,7 +60,7 @@ For more information, see the [Go SDK Docs](https://pkg.go.dev/go.viam.com/rdk/c **Returns:** -- [Future](https://api.flutter.dev/flutter/dart-core/Future-class.html)\<[Vector3](https://flutter.viam.dev/viam_sdk/Vector3-class.html)\> +- [Future](https://api.flutter.dev/flutter/dart-async/Future-class.html)\<[Vector3](https://flutter.viam.dev/viam_sdk/Vector3-class.html)\> **Example:** @@ -141,7 +141,7 @@ For more information, see the [Go SDK Docs](https://pkg.go.dev/go.viam.com/rdk/c **Returns:** -- [Future](https://api.flutter.dev/flutter/dart-core/Future-class.html)\<[Vector3](https://flutter.viam.dev/viam_sdk/Vector3-class.html)\> +- [Future](https://api.flutter.dev/flutter/dart-async/Future-class.html)\<[Vector3](https://flutter.viam.dev/viam_sdk/Vector3-class.html)\> **Example:** @@ -216,7 +216,7 @@ For more information, see the [Go SDK Docs](https://pkg.go.dev/go.viam.com/rdk/c **Returns:** -- [Future](https://api.flutter.dev/flutter/dart-core/Future-class.html)\<[double](https://api.flutter.dev/flutter/dart-core/double-class.html)\> +- [Future](https://api.flutter.dev/flutter/dart-async/Future-class.html)\<[double](https://api.flutter.dev/flutter/dart-core/double-class.html)\> **Example:** @@ -299,7 +299,7 @@ For more information, see the [Go SDK Docs](https://pkg.go.dev/go.viam.com/rdk/c **Returns:** -- [Future](https://api.flutter.dev/flutter/dart-core/Future-class.html)\<[Orientation](https://flutter.viam.dev/viam_sdk/Orientation-class.html)\> +- [Future](https://api.flutter.dev/flutter/dart-async/Future-class.html)\<[Orientation](https://flutter.viam.dev/viam_sdk/Orientation-class.html)\> **Example:** @@ -376,7 +376,7 @@ For more information, see the [Go SDK Docs](https://pkg.go.dev/go.viam.com/rdk/c **Returns:** -- [Future](https://api.flutter.dev/flutter/dart-core/Future-class.html)\<[Position](https://flutter.viam.dev/viam_sdk/Position-class.html)\> +- [Future](https://api.flutter.dev/flutter/dart-async/Future-class.html)\<[Position](https://flutter.viam.dev/viam_sdk/Position-class.html)\> **Example:** @@ -451,7 +451,7 @@ For more information, see the [Go SDK Docs](https://pkg.go.dev/go.viam.com/rdk/c **Returns:** -- [Future](https://api.flutter.dev/flutter/dart-core/Future-class.html)\<[Properties](https://flutter.viam.dev/viam_sdk/Properties.html)\> +- [Future](https://api.flutter.dev/flutter/dart-async/Future-class.html)\<[Properties](https://flutter.viam.dev/viam_sdk/Properties.html)\> **Example:** @@ -540,7 +540,7 @@ For more information, see the [Go SDK Docs](https://pkg.go.dev/go.viam.com/rdk/c **Returns:** -- [Future](https://api.flutter.dev/flutter/dart-core/Future-class.html)\<[Accuracy](https://flutter.viam.dev/viam_sdk/Accuracy.html)\> +- [Future](https://api.flutter.dev/flutter/dart-async/Future-class.html)\<[Accuracy](https://flutter.viam.dev/viam_sdk/Accuracy.html)\> **Example:** @@ -618,7 +618,7 @@ For more information, see the [Go SDK Docs](https://pkg.go.dev/go.viam.com/rdk/c **Returns:** -- [Future](https://api.flutter.dev/flutter/dart-core/Future-class.html)\<[Vector3](https://flutter.viam.dev/viam_sdk/Vector3-class.html)\> +- [Future](https://api.flutter.dev/flutter/dart-async/Future-class.html)\<[Vector3](https://flutter.viam.dev/viam_sdk/Vector3-class.html)\> **Example:** @@ -693,7 +693,7 @@ For more information, see the [Go SDK Docs](https://pkg.go.dev/go.viam.com/rdk/r **Returns:** -- [Future](https://api.flutter.dev/flutter/dart-core/Future-class.html)\<[Map](https://api.flutter.dev/flutter/dart-core/Map-class.html)\<[String](https://api.flutter.dev/flutter/dart-core/String-class.html), dynamic\>\> +- [Future](https://api.flutter.dev/flutter/dart-async/Future-class.html)\<[Map](https://api.flutter.dev/flutter/dart-core/Map-class.html)\<[String](https://api.flutter.dev/flutter/dart-core/String-class.html), dynamic\>\> **Example:** @@ -794,7 +794,7 @@ For more information, see the [Go SDK Docs](https://pkg.go.dev/go.viam.com/rdk/r **Returns:** -- [Future](https://api.flutter.dev/flutter/dart-core/Future-class.html)\<[Map](https://api.flutter.dev/flutter/dart-core/Map-class.html)\<[String](https://api.flutter.dev/flutter/dart-core/String-class.html), dynamic\>\> +- [Future](https://api.flutter.dev/flutter/dart-async/Future-class.html)\<[Map](https://api.flutter.dev/flutter/dart-core/Map-class.html)\<[String](https://api.flutter.dev/flutter/dart-core/String-class.html), dynamic\>\> **Example:** diff --git a/static/include/components/apis/generated/power_sensor.md b/static/include/components/apis/generated/power_sensor.md index c16292dff2..8430209f88 100644 --- a/static/include/components/apis/generated/power_sensor.md +++ b/static/include/components/apis/generated/power_sensor.md @@ -58,7 +58,7 @@ For more information, see the [Go SDK Docs](https://pkg.go.dev/go.viam.com/rdk/c **Returns:** -- [Future](https://api.flutter.dev/flutter/dart-core/Future-class.html)\<[Voltage](https://flutter.viam.dev/viam_sdk/Voltage.html)\> +- [Future](https://api.flutter.dev/flutter/dart-async/Future-class.html)\<[Voltage](https://flutter.viam.dev/viam_sdk/Voltage.html)\> **Example:** @@ -133,7 +133,7 @@ For more information, see the [Go SDK Docs](https://pkg.go.dev/go.viam.com/rdk/c **Returns:** -- [Future](https://api.flutter.dev/flutter/dart-core/Future-class.html)\<[Current](https://flutter.viam.dev/viam_sdk/Current.html)\> +- [Future](https://api.flutter.dev/flutter/dart-async/Future-class.html)\<[Current](https://flutter.viam.dev/viam_sdk/Current.html)\> **Example:** @@ -207,7 +207,7 @@ For more information, see the [Go SDK Docs](https://pkg.go.dev/go.viam.com/rdk/c **Returns:** -- [Future](https://api.flutter.dev/flutter/dart-core/Future-class.html)\<[double](https://api.flutter.dev/flutter/dart-core/double-class.html)\> +- [Future](https://api.flutter.dev/flutter/dart-async/Future-class.html)\<[double](https://api.flutter.dev/flutter/dart-core/double-class.html)\> **Example:** @@ -279,7 +279,7 @@ For more information, see the [Go SDK Docs](https://pkg.go.dev/go.viam.com/rdk/r **Returns:** -- [Future](https://api.flutter.dev/flutter/dart-core/Future-class.html)\<[Map](https://api.flutter.dev/flutter/dart-core/Map-class.html)\<[String](https://api.flutter.dev/flutter/dart-core/String-class.html), dynamic\>\> +- [Future](https://api.flutter.dev/flutter/dart-async/Future-class.html)\<[Map](https://api.flutter.dev/flutter/dart-core/Map-class.html)\<[String](https://api.flutter.dev/flutter/dart-core/String-class.html), dynamic\>\> **Example:** @@ -379,7 +379,7 @@ For more information, see the [Go SDK Docs](https://pkg.go.dev/go.viam.com/rdk/r **Returns:** -- [Future](https://api.flutter.dev/flutter/dart-core/Future-class.html)\<[Map](https://api.flutter.dev/flutter/dart-core/Map-class.html)\<[String](https://api.flutter.dev/flutter/dart-core/String-class.html), dynamic\>\> +- [Future](https://api.flutter.dev/flutter/dart-async/Future-class.html)\<[Map](https://api.flutter.dev/flutter/dart-core/Map-class.html)\<[String](https://api.flutter.dev/flutter/dart-core/String-class.html), dynamic\>\> **Example:** diff --git a/static/include/components/apis/generated/sensor.md b/static/include/components/apis/generated/sensor.md index af592f6c92..6cba6b44bb 100644 --- a/static/include/components/apis/generated/sensor.md +++ b/static/include/components/apis/generated/sensor.md @@ -57,7 +57,7 @@ For more information, see the [Go SDK Docs](https://pkg.go.dev/go.viam.com/rdk/r **Returns:** -- [Future](https://api.flutter.dev/flutter/dart-core/Future-class.html)\<[Map](https://api.flutter.dev/flutter/dart-core/Map-class.html)\<[String](https://api.flutter.dev/flutter/dart-core/String-class.html), dynamic\>\> +- [Future](https://api.flutter.dev/flutter/dart-async/Future-class.html)\<[Map](https://api.flutter.dev/flutter/dart-core/Map-class.html)\<[String](https://api.flutter.dev/flutter/dart-core/String-class.html), dynamic\>\> **Example:** @@ -108,7 +108,7 @@ If you are implementing your own sensor and add features that have no built-in A **Returns:** -- [Future](https://api.flutter.dev/flutter/dart-core/Future-class.html)\<[Map](https://api.flutter.dev/flutter/dart-core/Map-class.html)\<[String](https://api.flutter.dev/flutter/dart-core/String-class.html), dynamic\>\> +- [Future](https://api.flutter.dev/flutter/dart-async/Future-class.html)\<[Map](https://api.flutter.dev/flutter/dart-core/Map-class.html)\<[String](https://api.flutter.dev/flutter/dart-core/String-class.html), dynamic\>\> **Example:** diff --git a/static/include/components/apis/generated/servo.md b/static/include/components/apis/generated/servo.md index 05d5c87580..98eee445e9 100644 --- a/static/include/components/apis/generated/servo.md +++ b/static/include/components/apis/generated/servo.md @@ -75,7 +75,7 @@ For more information, see the [Go SDK Docs](https://pkg.go.dev/go.viam.com/rdk/c **Returns:** -- [Future](https://api.flutter.dev/flutter/dart-core/Future-class.html)\ +- [Future](https://api.flutter.dev/flutter/dart-async/Future-class.html)\ **Example:** @@ -165,7 +165,7 @@ For more information, see the [Go SDK Docs](https://pkg.go.dev/go.viam.com/rdk/c **Returns:** -- [Future](https://api.flutter.dev/flutter/dart-core/Future-class.html)\<[int](https://api.flutter.dev/flutter/dart-core/int-class.html)\> +- [Future](https://api.flutter.dev/flutter/dart-async/Future-class.html)\<[int](https://api.flutter.dev/flutter/dart-core/int-class.html)\> **Example:** @@ -240,7 +240,7 @@ For more information, see the [Go SDK Docs](https://pkg.go.dev/go.viam.com/rdk/r **Returns:** -- [Future](https://api.flutter.dev/flutter/dart-core/Future-class.html)\<[bool](https://api.flutter.dev/flutter/dart-core/bool-class.html)\> +- [Future](https://api.flutter.dev/flutter/dart-async/Future-class.html)\<[bool](https://api.flutter.dev/flutter/dart-core/bool-class.html)\> **Example:** @@ -317,7 +317,7 @@ For more information, see the [Go SDK Docs](https://pkg.go.dev/go.viam.com/rdk/r **Returns:** -- [Future](https://api.flutter.dev/flutter/dart-core/Future-class.html)\ +- [Future](https://api.flutter.dev/flutter/dart-async/Future-class.html)\ **Example:** @@ -368,7 +368,7 @@ If you are implementing your own servo and add features that have no built-in AP **Returns:** -- [Future](https://api.flutter.dev/flutter/dart-core/Future-class.html)\<[Map](https://api.flutter.dev/flutter/dart-core/Map-class.html)\<[String](https://api.flutter.dev/flutter/dart-core/String-class.html), dynamic\>\> +- [Future](https://api.flutter.dev/flutter/dart-async/Future-class.html)\<[Map](https://api.flutter.dev/flutter/dart-core/Map-class.html)\<[String](https://api.flutter.dev/flutter/dart-core/String-class.html), dynamic\>\> **Example:** diff --git a/static/include/components/apis/overrides/protos/arm.GetEndPosition.md b/static/include/components/apis/overrides/protos/arm.GetEndPosition.md index 02b9bb4202..4b69030318 100644 --- a/static/include/components/apis/overrides/protos/arm.GetEndPosition.md +++ b/static/include/components/apis/overrides/protos/arm.GetEndPosition.md @@ -1 +1 @@ -Get the current position of the arm as a [pose](/internals/orientation-vector/). +Get the current position of the arm as a [pose](/operate/reference/orientation-vector/). diff --git a/static/include/components/apis/overrides/protos/arm.MoveToPosition.md b/static/include/components/apis/overrides/protos/arm.MoveToPosition.md index e662cf777d..6acb8f2367 100644 --- a/static/include/components/apis/overrides/protos/arm.MoveToPosition.md +++ b/static/include/components/apis/overrides/protos/arm.MoveToPosition.md @@ -1,3 +1,3 @@ -Move the end of the arm in a straight line to the desired [pose](/internals/orientation-vector/), relative to the base of the arm. +Move the end of the arm in a straight line to the desired [pose](/operate/reference/orientation-vector/), relative to the base of the arm. All arms have a `Home` position, which corresponds to setting all joint angles to 0. diff --git a/static/include/components/base-sensor.md b/static/include/components/base-sensor.md index 1b51cb5feb..6e5a50dc90 100644 --- a/static/include/components/base-sensor.md +++ b/static/include/components/base-sensor.md @@ -3,7 +3,7 @@ Alternatively, if your base has position reporting motors, you can use the [whee Setting the `control_parameters` attribute sets up a PID control loop. Setting the `control_parameters` will automatically set up the required PID loop for a sensor controlled base. -For more information on PID or to set up a more complex control loop, see the [controls package](/internals/controls-package/) +For more information on PID or to set up a more complex control loop, see the [controls package](/operate/reference/controls-package/) If you want these values to be auto-tuned, you can set all values to 0: `[ { "type": "linear_velocity", "p": 0, "i": 0, "d": 0 }, { "type": "angular_velocity", "p": 0, "i": 0, "d": 0 } ]`, and `viam-server` will auto-tune and log the calculated values. Tuning takes several seconds and spins the motors. diff --git a/static/include/components/board/test-board-analogs.md b/static/include/components/board/test-board-analogs.md index 9213f9f952..f1b9096ac7 100644 --- a/static/include/components/board/test-board-analogs.md +++ b/static/include/components/board/test-board-analogs.md @@ -1,4 +1,4 @@ -Once you have configured your analogs, open the board's **TEST** panel on the [**CONFIGURE**](/configure/) or [**CONTROL**](/fleet/control/) tabs to monitor analogs. +Once you have configured your analogs, open the board's **TEST** panel on the **CONFIGURE** or [**CONTROL**](/manage/troubleshoot/teleoperate/default-interface/#viam-app) tabs to monitor analogs. The numbers displayed next to each analog name represent the digital signal received from the analog inputs. {{}} \ No newline at end of file diff --git a/static/include/components/board/test-board-digital-interrupts.md b/static/include/components/board/test-board-digital-interrupts.md index cbb391671f..7d61e74fa2 100644 --- a/static/include/components/board/test-board-digital-interrupts.md +++ b/static/include/components/board/test-board-digital-interrupts.md @@ -1,4 +1,4 @@ -Once you have configured your digital interrupts, open the board's **TEST** panel on the [**CONFIGURE**](/configure/) or [**CONTROL**](/fleet/control/) tabs to monitor interrupt activity. +Once you have configured your digital interrupts, open the board's **TEST** panel on the **CONFIGURE** or [**CONTROL**](/manage/troubleshoot/teleoperate/default-interface/#viam-app) tabs to monitor interrupt activity. The value displayed next to each interrupt name represents the total count of interrupts triggered by the corresponding digital interrupt. {{}} \ No newline at end of file diff --git a/static/include/components/camera-view-camera-stream.md b/static/include/components/camera-view-camera-stream.md index 3f870b0e0f..5b6df9c322 100644 --- a/static/include/components/camera-view-camera-stream.md +++ b/static/include/components/camera-view-camera-stream.md @@ -1,4 +1,4 @@ -Once your camera is configured and connected, expand the **TEST** panel on the [**CONFIGURE**](/configure/) or [**CONTROL**](/fleet/control/) tabs. +Once your camera is configured and connected, expand the **TEST** panel on the **CONFIGURE** or [**CONTROL**](/manage/troubleshoot/teleoperate/default-interface/#viam-app) tabs. If everything is configured correctly, you will see the live feed from your camera. {{< imgproc src="/components/camera/example_camera_image.png" alt="Example Camera view inside Viam app" resize="800x" style="width:500px" class="imgzoom" >}} diff --git a/static/include/components/motor-sensor.md b/static/include/components/motor-sensor.md index 78ad3e2e8d..ec1ed4e6d5 100644 --- a/static/include/components/motor-sensor.md +++ b/static/include/components/motor-sensor.md @@ -6,7 +6,7 @@ The first just uses the encoder feedback to increase or decrease the power being The second requires setting the `control_parameters` attribute, which sets up a PID control loop to adjust the distance and velocity of the motor. Setting the `control_parameters` will automatically set up the required PID loop for an encoded motor. -For more information on PID or to set up a more complex control loop, see the [controls package](/internals/controls-package/) +For more information on PID or to set up a more complex control loop, see the [controls package](/operate/reference/controls-package/) If you want these values to be auto-tuned, you can set all values to 0: `{ "p": 0, "i": 0, "d": 0 }`, and `viam-server` will auto-tune and log the calculated values. Tuning takes several seconds and spins the motor. diff --git a/static/include/components/test-control/arm-control.md b/static/include/components/test-control/arm-control.md index 53856b6c6a..3c1cc357b6 100644 --- a/static/include/components/test-control/arm-control.md +++ b/static/include/components/test-control/arm-control.md @@ -1,6 +1,6 @@ ## Test the arm -Once your arm is configured and connected, open the arm's **TEST** panel on the [**CONFIGURE**](/configure/) or [**CONTROL**](/fleet/control/) tabs. +Once your arm is configured and connected, open the arm's **TEST** panel on the **CONFIGURE** or [**CONTROL**](/manage/troubleshoot/teleoperate/default-interface/#viam-app) tabs. Use the buttons to move the end position or the joints and check whether it moves as expected. diff --git a/static/include/components/test-control/base-control.md b/static/include/components/test-control/base-control.md index b569bf4497..74e2ae82e4 100644 --- a/static/include/components/test-control/base-control.md +++ b/static/include/components/test-control/base-control.md @@ -1,4 +1,4 @@ -After you configure the base, open the base's **TEST** panel on the [**CONFIGURE**](/configure/) or [**CONTROL**](/fleet/control/) tabs to view the controls to enable keyboard or discrete control over your machine's movement. +After you configure the base, open the base's **TEST** panel on the **CONFIGURE** or [**CONTROL**](/manage/troubleshoot/teleoperate/default-interface/#viam-app) tabs to view the controls to enable keyboard or discrete control over your machine's movement. {{< imgproc src="/components/base/base-control-tab.png" alt="The base component in control tab" resize="800x" style="width:500px" class="imgzoom" >}} diff --git a/static/include/components/test-control/encoder-control.md b/static/include/components/test-control/encoder-control.md index a08c3118aa..fb01d31215 100644 --- a/static/include/components/test-control/encoder-control.md +++ b/static/include/components/test-control/encoder-control.md @@ -1,6 +1,6 @@ ## Test the encoder -Once your encoder is configured and connected, open the encoders's **TEST** panel on the [**CONFIGURE**](/configure/) or [**CONTROL**](/fleet/control/) tabs. +Once your encoder is configured and connected, open the encoders's **TEST** panel on the **CONFIGURE** or [**CONTROL**](/manage/troubleshoot/teleoperate/default-interface/#viam-app) tabs. The ticks count is displayed. Try moving the encoder (for example, by turning a motor it is attached to) and check whether the count increases as expected. diff --git a/static/include/components/test-control/gantry-control.md b/static/include/components/test-control/gantry-control.md index 2d443d4a7b..fd8efa4e08 100644 --- a/static/include/components/test-control/gantry-control.md +++ b/static/include/components/test-control/gantry-control.md @@ -1,6 +1,6 @@ ## Test the gantry -Once your gantry is configured and connected, open the gantry's **TEST** panel on the [**CONFIGURE**](/configure/) or [**CONTROL**](/fleet/control/) tabs. +Once your gantry is configured and connected, open the gantry's **TEST** panel on the **CONFIGURE** or [**CONTROL**](/manage/troubleshoot/teleoperate/default-interface/#viam-app) tabs. Use the panel to adjust the position of the actuator on the axis and check whether it moves as expected. diff --git a/static/include/components/test-control/generic-control.md b/static/include/components/test-control/generic-control.md index b63c3814a0..8fcdb797dc 100644 --- a/static/include/components/test-control/generic-control.md +++ b/static/include/components/test-control/generic-control.md @@ -1,6 +1,6 @@ ## Test the generic component -After you configure your generic component, open the generic's **TEST** panel on the [**CONFIGURE**](/configure/) or [**CONTROL**](/fleet/control/) tabs. +After you configure your generic component, open the generic's **TEST** panel on the **CONFIGURE** or [**CONTROL**](/manage/troubleshoot/teleoperate/default-interface/#viam-app) tabs. Use the card to send arbitrary commands to the resource with [`DoCommand()`](/dev/reference/apis/components/generic/#docommand). {{}} \ No newline at end of file diff --git a/static/include/components/test-control/gripper-control.md b/static/include/components/test-control/gripper-control.md index 4be2ab6242..584c2eaced 100644 --- a/static/include/components/test-control/gripper-control.md +++ b/static/include/components/test-control/gripper-control.md @@ -1,6 +1,6 @@ ## Test the gripper -After you configure your gripper, open the gripper's **TEST** panel on the [**CONFIGURE**](/configure/) or [**CONTROL**](/fleet/control/) tabs. +After you configure your gripper, open the gripper's **TEST** panel on the **CONFIGURE** or [**CONTROL**](/manage/troubleshoot/teleoperate/default-interface/#viam-app) tabs. Use the buttons to open and close the gripper. {{}} diff --git a/static/include/components/test-control/input-controller-control.md b/static/include/components/test-control/input-controller-control.md index cadcea3d69..d338621831 100644 --- a/static/include/components/test-control/input-controller-control.md +++ b/static/include/components/test-control/input-controller-control.md @@ -1,6 +1,6 @@ ## Test the input controller -After you configure your input controller, open the input controller's **TEST** panel on the [**CONFIGURE**](/configure/) or [**CONTROL**](/fleet/control/) tabs. +After you configure your input controller, open the input controller's **TEST** panel on the **CONFIGURE** or [**CONTROL**](/manage/troubleshoot/teleoperate/default-interface/#viam-app) tabs. View the current value of each input on your controller. {{}} \ No newline at end of file diff --git a/static/include/components/test-control/motor-control.md b/static/include/components/test-control/motor-control.md index feb3cf5a91..60d3942b3b 100644 --- a/static/include/components/test-control/motor-control.md +++ b/static/include/components/test-control/motor-control.md @@ -1,4 +1,4 @@ -Once your motor is configured and connected, open the motor's **TEST** panel on the [**CONFIGURE**](/configure/) or [**CONTROL**](/fleet/control/) tabs. +Once your motor is configured and connected, open the motor's **TEST** panel on the **CONFIGURE** or [**CONTROL**](/manage/troubleshoot/teleoperate/default-interface/#viam-app) tabs. Use the buttons to try turning your motor forwards or backwards at different power levels and check whether it moves as expected. {{}} diff --git a/static/include/components/test-control/movement-sensor-gps-control.md b/static/include/components/test-control/movement-sensor-gps-control.md index 12acdb9c2d..e0e44e945b 100644 --- a/static/include/components/test-control/movement-sensor-gps-control.md +++ b/static/include/components/test-control/movement-sensor-gps-control.md @@ -1,6 +1,6 @@ ## Test the movement sensor -After you configure your movement sensor, open the movement sensor's **TEST** panel on the [**CONFIGURE**](/configure/) or [**CONTROL**](/fleet/control/) tabs. +After you configure your movement sensor, open the movement sensor's **TEST** panel on the **CONFIGURE** or [**CONTROL**](/manage/troubleshoot/teleoperate/default-interface/#viam-app) tabs. This panel presents the data collected by the movement sensor. The sections in the panel include the position, linear velocity and compass heading. diff --git a/static/include/components/test-control/movement-sensor-imu-control.md b/static/include/components/test-control/movement-sensor-imu-control.md index 005c9a1dd7..4dda9298b3 100644 --- a/static/include/components/test-control/movement-sensor-imu-control.md +++ b/static/include/components/test-control/movement-sensor-imu-control.md @@ -1,6 +1,6 @@ ## Test the movement sensor -After you configure your movement sensor, open the movement sensor's **TEST** panel on the [**CONFIGURE**](/configure/) or [**CONTROL**](/fleet/control/) tabs. +After you configure your movement sensor, open the movement sensor's **TEST** panel on the **CONFIGURE** or [**CONTROL**](/manage/troubleshoot/teleoperate/default-interface/#viam-app) tabs. This panel presents the data collected by the movement sensor. The sections in the panel include the orientation, angular velocity and linear acceleration. diff --git a/static/include/components/test-control/power-sensor-control.md b/static/include/components/test-control/power-sensor-control.md index a88b82af71..6b6bf0baf3 100644 --- a/static/include/components/test-control/power-sensor-control.md +++ b/static/include/components/test-control/power-sensor-control.md @@ -1,6 +1,6 @@ ## Test the power sensor -After you configure your power sensor, open the power sensor's **TEST** panel on the [**CONFIGURE**](/configure/) or [**CONTROL**](/fleet/control/) tabs. +After you configure your power sensor, open the power sensor's **TEST** panel on the **CONFIGURE** or [**CONTROL**](/manage/troubleshoot/teleoperate/default-interface/#viam-app) tabs. The panel contains readings for your voltage, current, and power. {{}} \ No newline at end of file diff --git a/static/include/components/test-control/sensor-control.md b/static/include/components/test-control/sensor-control.md index 1359a36ed5..44a1179892 100644 --- a/static/include/components/test-control/sensor-control.md +++ b/static/include/components/test-control/sensor-control.md @@ -1,4 +1,4 @@ -After you configure your sensor, open the sensor's **TEST** panel on the [**CONFIGURE**](/configure/) or [**CONTROL**](/fleet/control/) tabs. +After you configure your sensor, open the sensor's **TEST** panel on the **CONFIGURE** or [**CONTROL**](/manage/troubleshoot/teleoperate/default-interface/#viam-app) tabs. To access detailed readings from your sensor, click on the **Get Readings** button. {{}} diff --git a/static/include/components/test-control/servo-control.md b/static/include/components/test-control/servo-control.md index 09206be7e1..6dd7ecf12c 100644 --- a/static/include/components/test-control/servo-control.md +++ b/static/include/components/test-control/servo-control.md @@ -1,5 +1,5 @@ ## Test the servo -After you establish the connection to your servo motor, open the servo's **TEST** panel on the [**CONFIGURE**](/configure/) or [**CONTROL**](/fleet/control/) tabs. Use the buttons to move the servo motor to the desired angle. +After you establish the connection to your servo motor, open the servo's **TEST** panel on the **CONFIGURE** or [**CONTROL**](/manage/troubleshoot/teleoperate/default-interface/#viam-app) tabs. Use the buttons to move the servo motor to the desired angle. {{}} diff --git a/static/include/robot/apis/generated/robot.md b/static/include/robot/apis/generated/robot.md index 98f90a3110..5aed010b21 100644 --- a/static/include/robot/apis/generated/robot.md +++ b/static/include/robot/apis/generated/robot.md @@ -187,30 +187,6 @@ out, err := machine.DiscoverComponents(context.Background(), []resource.Discover For more information, see the [Go SDK Docs](https://pkg.go.dev/go.viam.com/rdk/robot#Robot). -{{% /tab %}} -{{% tab name="TypeScript" %}} - -**Parameters:** - -- `queries` [(DiscoveryQuery[])](https://ts.viam.dev/classes/robotApi.DiscoveryQuery.html): An array of [tuples of API and model](https://ts.viam.dev/classes/robotApi.DiscoveryQuery.html#constructor) that you want to retrieve the component configurations corresponding to. - -**Returns:** - -- [(Discovery[])](https://ts.viam.dev/classes/robotApi.Discovery.html): List of discovered component configurations. - -```typescript -// Define a new discovery query. -const q = new proto.DiscoveryQuery(acme.API, resource.Model{Name: "some model"}) - -// Define an array of discovery queries. -let qs: proto.DiscoveryQuery[] = [q] - -// Get the array of discovered component configurations. -const componentConfigs = await machine.discoverComponents(queries); -``` - -For more information, see the [Typescript SDK Docs](https://ts.viam.dev/classes/RobotClient.html). - {{% /tab %}} {{% tab name="Flutter" %}} @@ -220,7 +196,7 @@ For more information, see the [Typescript SDK Docs](https://ts.viam.dev/classes/ **Returns:** -- [Future](https://api.flutter.dev/flutter/dart-core/Future-class.html)\<[List](https://api.flutter.dev/flutter/dart-core/List-class.html)\<[Discovery](https://flutter.viam.dev/viam_sdk/Discovery-class.html)\>\> +- [Future](https://api.flutter.dev/flutter/dart-async/Future-class.html)\<[List](https://api.flutter.dev/flutter/dart-core/List-class.html)\<[Discovery](https://flutter.viam.dev/viam_sdk/Discovery-class.html)\>\> **Example:** @@ -281,24 +257,6 @@ fmt.Println(frameSystem) For more information, see the [Go SDK Docs](https://pkg.go.dev/go.viam.com/rdk/robot#Robot). -{{% /tab %}} -{{% tab name="TypeScript" %}} - -**Parameters:** - -- `transforms` [(Transform[])](https://ts.viam.dev/classes/commonApi.Transform.html): An optional array of [additional transforms](/services/frame-system/#additional-transforms). - -**Returns:** - -- [(FrameSystemConfig[])](https://ts.viam.dev/classes/robotApi.FrameSystemConfig.html): An array of individual parts that make up a machine's frame system. - -For more information, see the [TypeScript SDK Docs](https://ts.viam.dev/classes/RobotClient.html#frameSystemConfig). - -```typescript {class="line-numbers linkable-line-numbers"} -// Get the frame system configuration -console.log("FrameSytemConfig:", await robot.frameSystemConfig()); -``` - {{% /tab %}} {{< /tabs >}} @@ -401,76 +359,6 @@ For more information, see the [Go SDK Docs](https://pkg.go.dev/go.viam.com/rdk/r {{% /tab %}} {{< /tabs >}} -### GetStatus - -Get the status of the resources on the machine. -You can provide a list of ResourceNames for which you want statuses. -If no names are passed in, the status of every resource configured on the machine is returned. - -{{< tabs >}} -{{% tab name="Python" %}} - -**Parameters:** - -- `components` ([List[viam.proto.common.ResourceName]](https://python.viam.dev/autoapi/viam/proto/common/index.html#viam.proto.common.ResourceName)) (optional): Optional list of ResourceName for components you want statuses. - -**Returns:** - -- ([List[viam.proto.robot.Status]](https://python.viam.dev/autoapi/viam/proto/robot/index.html#viam.proto.robot.Status)): A list of statuses for each requested resource. - -**Example:** - -```python {class="line-numbers linkable-line-numbers"} -# Get the status of the resources on the machine. -statuses = await machine.get_status() -resource_statuses = machine_status.resources -``` - -For more information, see the [Python SDK Docs](https://python.viam.dev/autoapi/viam/robot/client/index.html#viam.robot.client.RobotClient.get_status). - -{{% /tab %}} -{{% tab name="Go" %}} - -**Parameters:** - -- `ctx` [(Context)](https://pkg.go.dev/context#Context): A Context carries a deadline, a cancellation signal, and other values across API boundaries. -- `resourceNames` [([]resource.Name)](https://pkg.go.dev/go.viam.com/rdk/resource#Name): A list of resource names for components you want the status of. If no names are passed in, all resource statuses are returned. - -**Returns:** - -- [([]Status)](https://pkg.go.dev/go.viam.com/rdk/robot#Status): The `Status` of each resource queried. If no resource was provided as a parameter, the status of all resources is returned. -- [(error)](https://pkg.go.dev/builtin#error): An error, if one occurred. - -**Example:** - -```go {class="line-numbers linkable-line-numbers"} -status, err := machine.Status(context.Background(), nil) -``` - -For more information, see the [Go SDK Docs](https://pkg.go.dev/go.viam.com/rdk/robot#Robot). - -{{% /tab %}} -{{% tab name="TypeScript" %}} - -**Parameters:** - -- `resourceNames` [(commonApi.ResourceName[])](https://ts.viam.dev/classes/commonApi.ResourceName.html): An optional array of ResourceNames for components you want the status of. - If no names are passed in, all resource statuses are returned. - -**Returns:** - -- [(robotApi.Status[])](https://ts.viam.dev/classes/robotApi.Status.html): An array containing the status of each resource. - -For more information, see the [TypeScript SDK Docs](https://ts.viam.dev/classes/RobotClient.html#transformPCD). - -```typescript {class="line-numbers linkable-line-numbers"} -// Get the status of the resources on the machine. -const status = await machine.getStatus(); -``` - -{{% /tab %}} -{{< /tabs >}} - ### StopAll Cancel all current and outstanding operations for the machine and stop all actuators and movement. @@ -516,24 +404,6 @@ err := machine.StopAll(context.Background(), nil) For more information, see the [Go SDK Docs](https://pkg.go.dev/go.viam.com/rdk/robot#Robot). -{{% /tab %}} -{{% tab name="TypeScript" %}} - -**Parameters:** - -- None - -**Returns:** - -- None - -For more information, see the [TypeScript SDK Docs](https://ts.viam.dev/classes/RobotClient.html#stopAll). - -```typescript {class="line-numbers linkable-line-numbers"} -// Cancel all current and outstanding operations for the machine and stop all actuators and movement. -await machine.stopAll(); -``` - {{% /tab %}} {{< /tabs >}} @@ -642,7 +512,7 @@ For more information, see the [Go SDK Docs](https://pkg.go.dev/go.viam.com/rdk/r **Returns:** -- [Future](https://api.flutter.dev/flutter/dart-core/Future-class.html)\<[CloudMetadata](https://flutter.viam.dev/viam_sdk/CloudMetadata.html)\> +- [Future](https://api.flutter.dev/flutter/dart-async/Future-class.html)\<[CloudMetadata](https://flutter.viam.dev/viam_sdk/CloudMetadata.html)\> **Example:** @@ -784,7 +654,7 @@ For more information, see the [Python SDK Docs](https://python.viam.dev/autoapi/ **Returns:** -- [Future](https://api.flutter.dev/flutter/dart-core/Future-class.html)\<[RobotClient](https://flutter.viam.dev/viam_sdk/RobotClient-class.html)\> +- [Future](https://api.flutter.dev/flutter/dart-async/Future-class.html)\<[RobotClient](https://flutter.viam.dev/viam_sdk/RobotClient-class.html)\> **Example:** @@ -878,7 +748,7 @@ For more information, see the [Python SDK Docs](https://python.viam.dev/autoapi/ **Returns:** -- [Future](https://api.flutter.dev/flutter/dart-core/Future-class.html)\ +- [Future](https://api.flutter.dev/flutter/dart-async/Future-class.html)\ **Example:** @@ -994,7 +864,7 @@ For more information, see the [Go SDK Docs](https://pkg.go.dev/go.viam.com/rdk/r **Returns:** -- [Future](https://api.flutter.dev/flutter/dart-core/Future-class.html)\ +- [Future](https://api.flutter.dev/flutter/dart-async/Future-class.html)\ **Example:** @@ -1004,23 +874,5 @@ await machine.close(); For more information, see the [Flutter SDK Docs](https://flutter.viam.dev/viam_sdk/RobotClient/close.html). -{{% /tab %}} -{{% tab name="TypeScript" %}} - -**Parameters:** - -- None - -**Returns:** - -- None - -For more information, see the [TypeScript SDK Docs](https://ts.viam.dev/classes/RobotClient.html#disconnect). - -```typescript {class="line-numbers linkable-line-numbers"} -// Cleanly close the underlying connections and stop any periodic tasks -await machine.disconnect(); -``` - {{% /tab %}} {{< /tabs >}} diff --git a/static/include/services/apis/generated/generic_service.md b/static/include/services/apis/generated/generic_service.md index e6a38d061e..273017e49c 100644 --- a/static/include/services/apis/generated/generic_service.md +++ b/static/include/services/apis/generated/generic_service.md @@ -107,10 +107,5 @@ await my_generic_service.close() For more information, see the [Python SDK Docs](https://python.viam.dev/autoapi/viam/services/generic/client/index.html#viam.services.generic.client.GenericClient.close). -{{% /tab %}} -{{% tab name="C++" %}} - -There is no need to explicitly close a generic service's resource in C++, as resource destruction is handled automatically by the generic service's class destructor when variables exit scope. - {{% /tab %}} {{< /tabs >}} diff --git a/static/include/services/apis/generated/motion.md b/static/include/services/apis/generated/motion.md index 49dbd273d3..8f99db31e3 100644 --- a/static/include/services/apis/generated/motion.md +++ b/static/include/services/apis/generated/motion.md @@ -48,21 +48,8 @@ The motion service takes the volumes associated with all configured machine comp **Example:** ```python {class="line-numbers linkable-line-numbers"} -motion = MotionClient.from_robot(robot=robot, name="builtin") - -# Assumes a gripper configured with name "my_gripper" on the machine -gripper_name = Gripper.get_resource_name("my_gripper") -my_frame = "my_gripper_offset" - -goal_pose = Pose(x=0, y=0, z=300, o_x=0, o_y=0, o_z=1, theta=0) - -# Move the gripper -moved = await motion.move(component_name=gripper_name, - destination=PoseInFrame(reference_frame="myFrame", - pose=goal_pose), - world_state=worldState, - constraints={}, - extra={}) +resource_name = Arm.get_resource_name("externalFrame") +success = await MotionServiceClient.move(resource_name, ...) ``` For more information, see the [Python SDK Docs](https://python.viam.dev/autoapi/viam/services/motion/client/index.html#viam.services.motion.client.MotionClient.move). @@ -73,31 +60,7 @@ For more information, see the [Python SDK Docs](https://python.viam.dev/autoapi/ **Parameters:** - `ctx` [(Context)](https://pkg.go.dev/context#Context): A Context carries a deadline, a cancellation signal, and other values across API boundaries. -- `componentName` [(resource.Name)](https://pkg.go.dev/go.viam.com/rdk/resource#Name): The `resource.Name` of the piece of the robot that should arrive at the destination. Note that `Move` moves the distal end of the component to the destination. For example, when moving a robotic arm, the piece that will arrive at the destination is the end effector attachment point, not the base of the arm. -- `destination` [(\*referenceframe.PoseInFrame)](https://pkg.go.dev/go.viam.com/rdk/referenceframe#PoseInFrame): Describes where the `component_name` should end up. Can be any pose, from the perspective of any component whose location is configured as a [`frame`](/services/frame-system/). Note that the destination pose is relative to the distal end of the specified frame. This means that if the `destination` is the same as the `component_name` frame, for example an arm's frame, then a pose of `{X: 10, Y: 0, Z: 0}` will move that arm’s end effector by 10 mm in the local `X` direction. -- `worldState` [(\*referenceframe.WorldState)](https://pkg.go.dev/go.viam.com/rdk/referenceframe#WorldState): Data structure specifying information about the world around the machine. - Used to augment the motion solving process. - `worldState` includes obstacles and transforms: - - - **Obstacles**: Geometries located at a pose relative to some frame. - When solving a motion plan with movable frames that contain inherent geometries, the solved path is constrained such that none of those inherent geometries intersect with the obstacles. - Important considerations: - - If a motion begins with a component already in collision with an obstacle, collisions between that specific component and that obstacle will not be checked. - - The motion service assumes that obstacles are static. - If a worldstate obstacle is physically attached to a part of the robot such that it will move with the robot, specify it with _transforms_. - - Obstacles are defined by a [(pose)](https://pkg.go.dev/go.viam.com/rdk/spatialmath#Pose) and a [(geometry)](https://pkg.go.dev/go.viam.com/rdk/spatialmath#Geometry) with dimensions. - The pose location is the point at the center of the geometry. - - Obstacle locations are defined with respect to the _origin_ of the specified frame. - Their poses are relative to the _origin_ of the specified frame. - An obstacle associated with the frame of an arm with a pose of {X: 0, Y: 0, Z: -10} is interpreted as being 10mm below the base of the arm, not 10mm below the end effector. - This is different from `destination` and `componentName`, where poses are relative to the distal end of a frame. - - **Transforms**: A list of `PoseInFrame` messages that specify other transformations to temporarily add to the frame system at solve time. - Transforms can be used to account for geometries that are attached to the robot but not configured as robot components. - For example, you could use a transform to represent the volume of a marker held in your machine's gripper. - Transforms are not added to the config or carried into later processes. - -- `constraints` [(\*motionplan.Constraints)](https://pkg.go.dev/go.viam.com/rdk/motionplan#Constraints): Pass in optional [motion constraints](/services/motion/constraints/). By default, motion is unconstrained with the exception of obstacle avoidance. -- `extra` [(map[string]interface{})](https://go.dev/blog/maps): Extra options to pass to the underlying RPC call. +- `req` [(MoveReq)](https://pkg.go.dev/go.viam.com/rdk/services/motion#MoveReq) **Returns:** @@ -148,9 +111,9 @@ For more information, see the [Go SDK Docs](https://pkg.go.dev/go.viam.com/rdk/s ### MoveOnMap -Move a [base](/operate/reference/components/base/) component to a destination [pose](/internals/orientation-vector/) on a {{< glossary_tooltip term_id="slam" text="SLAM" >}} map. +Move a [base](/operate/reference/components/base/) component to a destination [pose](/operate/reference/orientation-vector/) on a {{< glossary_tooltip term_id="slam" text="SLAM" >}} map. -`MoveOnMap()` is non blocking, meaning the motion service will move the component to the destination [pose](/internals/orientation-vector/) after `MoveOnMap()` returns. +`MoveOnMap()` is non blocking, meaning the motion service will move the component to the destination [pose](/operate/reference/orientation-vector/) after `MoveOnMap()` returns. Each successful `MoveOnMap()` call returns a unique `ExecutionID` which you can use to identify all plans generated during the `MoveOnMap()` call. @@ -181,7 +144,7 @@ Make sure the [SLAM service](/services/slam/) you use alongside this motion serv - `component_name` ([viam.proto.common.ResourceName](https://python.viam.dev/autoapi/viam/gen/common/v1/common_pb2/index.html#viam.gen.common.v1.common_pb2.ResourceName)) (required): The `ResourceName` of the base to move. - `destination` ([viam.proto.common.Pose](https://python.viam.dev/autoapi/viam/components/arm/index.html#viam.components.arm.Pose)) (required): The destination, which can be any [Pose](https://python.viam.dev/autoapi/viam/proto/common/index.html#viam.proto.common.Pose) with respect to the SLAM map's origin. - `slam_service_name` ([viam.proto.common.ResourceName](https://python.viam.dev/autoapi/viam/gen/common/v1/common_pb2/index.html#viam.gen.common.v1.common_pb2.ResourceName)) (required): The `ResourceName` of the [SLAM service](/services/slam/) from which the SLAM map is requested. -- `configuration` ([viam.proto.service.motion.MotionConfiguration](https://python.viam.dev/autoapi/viam/gen/service/motion/v1/motion_pb2/index.html#viam.gen.service.motion.v1.motion_pb2.MotionConfiguration)) (optional): +- `configuration` ([viam.proto.service.motion.MotionConfiguration](https://python.viam.dev/autoapi/viam/gen/service/motion/v1/motion_pb2/index.html#viam.gen.service.motion.v1.motion_pb2.MotionConfiguration)) (optional): The configuration you want to set across this machine for this motion service. This parameter and each of its fields are optional. - `obstacle_detectors` [(Iterable[ObstacleDetector])](https://python.viam.dev/autoapi/viam/proto/service/motion/index.html#viam.proto.service.motion.ObstacleDetector): The names of each [vision service](/services/vision/) and [camera](/operate/reference/components/camera/) resource pair you want to use for transient obstacle avoidance. @@ -225,7 +188,7 @@ For more information, see the [Python SDK Docs](https://python.viam.dev/autoapi/ **Parameters:** - `ctx` [(Context)](https://pkg.go.dev/context#Context): A Context carries a deadline, a cancellation signal, and other values across API boundaries. -- `req` [(MoveOnMapReq)](https://pkg.go.dev/go.viam.com/rdk/services/motion#MoveOnMapReq): +- `req` [(MoveOnMapReq)](https://pkg.go.dev/go.viam.com/rdk/services/motion#MoveOnMapReq): A `MoveOnMapReq` which contains the following values: - `ComponentName` [(resource.Name)](https://pkg.go.dev/go.viam.com/rdk/resource#Name): The `resource.Name` of the base to move. @@ -327,7 +290,7 @@ Translation in obstacles is not supported by the [navigation service](/services/ - `movement_sensor_name` ([viam.proto.common.ResourceName](https://python.viam.dev/autoapi/viam/gen/common/v1/common_pb2/index.html#viam.gen.common.v1.common_pb2.ResourceName)) (required): The `ResourceName` of the [movement sensor](/operate/reference/components/movement-sensor/) that you want to use to check the machine's location. - `obstacles` ([Sequence[viam.proto.common.GeoGeometry]](https://python.viam.dev/autoapi/viam/gen/common/v1/common_pb2/index.html#viam.gen.common.v1.common_pb2.GeoGeometry)) (optional): Obstacles to consider when planning the motion of the component, with each represented as a `GeoGeometry`.
  • Default: `None`
- `heading` ([float](https://docs.python.org/3/library/stdtypes.html#numeric-types-int-float-complex)) (optional): The compass heading, in degrees, that the machine's movement sensor should report at the `destination` point.
  • Range: `[0-360)` `0`: North, `90`: East, `180`: South, `270`: West
  • Default: `None`
-- `configuration` ([viam.proto.service.motion.MotionConfiguration](https://python.viam.dev/autoapi/viam/gen/service/motion/v1/motion_pb2/index.html#viam.gen.service.motion.v1.motion_pb2.MotionConfiguration)) (optional): +- `configuration` ([viam.proto.service.motion.MotionConfiguration](https://python.viam.dev/autoapi/viam/gen/service/motion/v1/motion_pb2/index.html#viam.gen.service.motion.v1.motion_pb2.MotionConfiguration)) (optional): The configuration you want to set across this machine for this motion service. This parameter and each of its fields are optional. - `obstacle_detectors` [(Iterable[ObstacleDetector])](https://python.viam.dev/autoapi/viam/proto/service/motion/index.html#viam.proto.service.motion.ObstacleDetector): The names of each [vision service](/services/vision/) and [camera](/operate/reference/components/camera/) resource pair you want to use for transient obstacle avoidance. @@ -371,7 +334,7 @@ For more information, see the [Python SDK Docs](https://python.viam.dev/autoapi/ **Parameters:** - `ctx` [(Context)](https://pkg.go.dev/context#Context): A Context carries a deadline, a cancellation signal, and other values across API boundaries. -- `req` [(MoveOnGlobeReq)](https://pkg.go.dev/go.viam.com/rdk/services/motion#MoveOnGlobeReq): +- `req` [(MoveOnGlobeReq)](https://pkg.go.dev/go.viam.com/rdk/services/motion#MoveOnGlobeReq): A `MoveOnGlobeReq` which contains the following values: - `componentName` [(resource.Name)](https://pkg.go.dev/go.viam.com/rdk/resource#Name): The `resource.Name` of the base to move. diff --git a/static/include/services/apis/generated/slam.md b/static/include/services/apis/generated/slam.md index ba864c01eb..e8d87598b5 100644 --- a/static/include/services/apis/generated/slam.md +++ b/static/include/services/apis/generated/slam.md @@ -1,6 +1,6 @@ ### GetPosition -Get the current position of the component the SLAM service is configured to source point cloud data from in the SLAM map as a [`Pose`](/internals/orientation-vector/). +Get the current position of the component the SLAM service is configured to source point cloud data from in the SLAM map as a [`Pose`](/operate/reference/orientation-vector/). {{< tabs >}} {{% tab name="Python" %}} @@ -143,7 +143,7 @@ For more information, see the [Python SDK Docs](https://python.viam.dev/autoapi/ **Returns:** -- [(Properties)](https://pkg.go.dev/go.viam.com/rdk/services/slam#Properties): +- [(Properties)](https://pkg.go.dev/go.viam.com/rdk/services/slam#Properties): Information about the current SLAM session. An object containing four fields: diff --git a/static/include/services/apis/generated/vision.md b/static/include/services/apis/generated/vision.md index c1378e0847..a81817cca8 100644 --- a/static/include/services/apis/generated/vision.md +++ b/static/include/services/apis/generated/vision.md @@ -75,7 +75,7 @@ For more information, see the [Go SDK Docs](https://pkg.go.dev/go.viam.com/rdk/s **Returns:** -- [Future](https://api.flutter.dev/flutter/dart-core/Future-class.html)\<[List](https://api.flutter.dev/flutter/dart-core/List-class.html)\<[Detection](https://flutter.viam.dev/viam_protos.service.vision/Detection-class.html)\>\> +- [Future](https://api.flutter.dev/flutter/dart-async/Future-class.html)\<[List](https://api.flutter.dev/flutter/dart-core/List-class.html)\<[Detection](https://flutter.viam.dev/viam_protos.service.vision/Detection-class.html)\>\> **Example:** @@ -180,7 +180,7 @@ For more information, see the [Go SDK Docs](https://pkg.go.dev/go.viam.com/rdk/s **Returns:** -- [Future](https://api.flutter.dev/flutter/dart-core/Future-class.html)\<[List](https://api.flutter.dev/flutter/dart-core/List-class.html)\<[Detection](https://flutter.viam.dev/viam_protos.service.vision/Detection-class.html)\>\> +- [Future](https://api.flutter.dev/flutter/dart-async/Future-class.html)\<[List](https://api.flutter.dev/flutter/dart-core/List-class.html)\<[Detection](https://flutter.viam.dev/viam_protos.service.vision/Detection-class.html)\>\> **Example:** @@ -271,7 +271,7 @@ For more information, see the [Go SDK Docs](https://pkg.go.dev/go.viam.com/rdk/s **Returns:** -- [Future](https://api.flutter.dev/flutter/dart-core/Future-class.html)\<[List](https://api.flutter.dev/flutter/dart-core/List-class.html)\<[Classification](https://flutter.viam.dev/viam_protos.service.vision/Classification-class.html)\>\> +- [Future](https://api.flutter.dev/flutter/dart-async/Future-class.html)\<[List](https://api.flutter.dev/flutter/dart-core/List-class.html)\<[Classification](https://flutter.viam.dev/viam_protos.service.vision/Classification-class.html)\>\> **Example:** @@ -379,7 +379,7 @@ For more information, see the [Go SDK Docs](https://pkg.go.dev/go.viam.com/rdk/s **Returns:** -- [Future](https://api.flutter.dev/flutter/dart-core/Future-class.html)\<[List](https://api.flutter.dev/flutter/dart-core/List-class.html)\<[Classification](https://flutter.viam.dev/viam_protos.service.vision/Classification-class.html)\>\> +- [Future](https://api.flutter.dev/flutter/dart-async/Future-class.html)\<[List](https://api.flutter.dev/flutter/dart-core/List-class.html)\<[Classification](https://flutter.viam.dev/viam_protos.service.vision/Classification-class.html)\>\> **Example:** @@ -473,7 +473,7 @@ For more information, see the [Go SDK Docs](https://pkg.go.dev/go.viam.com/rdk/s **Returns:** -- [Future](https://api.flutter.dev/flutter/dart-core/Future-class.html)\<[List](https://api.flutter.dev/flutter/dart-core/List-class.html)\<[PointCloudObject](https://flutter.viam.dev/viam_protos.common.common/PointCloudObject-class.html)\>\> +- [Future](https://api.flutter.dev/flutter/dart-async/Future-class.html)\<[List](https://api.flutter.dev/flutter/dart-core/List-class.html)\<[PointCloudObject](https://flutter.viam.dev/viam_protos.common.common/PointCloudObject-class.html)\>\> **Example:** @@ -544,14 +544,6 @@ For more information, see the [Python SDK Docs](https://python.viam.dev/autoapi/ **Example:** ```go {class="line-numbers linkable-line-numbers"} -// import ( "go.viam.com/rdk/vision/viscapture" ) - -visService, err := vision.FromRobot(machine, "my_vision_svc") -if err != nil { - logger.Error(err) - return -} - // The data to capture and return from the camera captOpts := viscapture.CaptureOptions{ ReturnImage: true, @@ -662,7 +654,7 @@ For more information, see the [Go SDK Docs](https://pkg.go.dev/go.viam.com/rdk/r **Returns:** -- [Future](https://api.flutter.dev/flutter/dart-core/Future-class.html)\<[Map](https://api.flutter.dev/flutter/dart-core/Map-class.html)\<[String](https://api.flutter.dev/flutter/dart-core/String-class.html), dynamic\>\> +- [Future](https://api.flutter.dev/flutter/dart-async/Future-class.html)\<[Map](https://api.flutter.dev/flutter/dart-core/Map-class.html)\<[String](https://api.flutter.dev/flutter/dart-core/String-class.html), dynamic\>\> **Example:** diff --git a/static/include/services/apis/overrides/protos/motion.MoveOnMap.md b/static/include/services/apis/overrides/protos/motion.MoveOnMap.md index 4fbb64d360..fae9c41213 100644 --- a/static/include/services/apis/overrides/protos/motion.MoveOnMap.md +++ b/static/include/services/apis/overrides/protos/motion.MoveOnMap.md @@ -1,6 +1,6 @@ -Move a [base](/operate/reference/components/base/) component to a destination [pose](/internals/orientation-vector/) on a {{< glossary_tooltip term_id="slam" text="SLAM" >}} map. +Move a [base](/operate/reference/components/base/) component to a destination [pose](/operate/reference/orientation-vector/) on a {{< glossary_tooltip term_id="slam" text="SLAM" >}} map. -`MoveOnMap()` is non blocking, meaning the motion service will move the component to the destination [pose](/internals/orientation-vector/) after `MoveOnMap()` returns. +`MoveOnMap()` is non blocking, meaning the motion service will move the component to the destination [pose](/operate/reference/orientation-vector/) after `MoveOnMap()` returns. Each successful `MoveOnMap()` call returns a unique `ExecutionID` which you can use to identify all plans generated during the `MoveOnMap()` call. diff --git a/static/include/services/apis/overrides/protos/slam.GetPosition.md b/static/include/services/apis/overrides/protos/slam.GetPosition.md index 80ceccb48f..7a2a60fb4a 100644 --- a/static/include/services/apis/overrides/protos/slam.GetPosition.md +++ b/static/include/services/apis/overrides/protos/slam.GetPosition.md @@ -1 +1 @@ -Get the current position of the component the SLAM service is configured to source point cloud data from in the SLAM map as a [`Pose`](/internals/orientation-vector/). +Get the current position of the component the SLAM service is configured to source point cloud data from in the SLAM map as a [`Pose`](/operate/reference/orientation-vector/).