Skip to content

Commit ca8ccfc

Browse files
authored
Update the rest of the registry docs (#2169)
1 parent 19af83c commit ca8ccfc

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

64 files changed

+411
-418
lines changed

.github/workflows/run-htmltest.yml

-4
Original file line numberDiff line numberDiff line change
@@ -25,10 +25,6 @@ jobs:
2525
with:
2626
hugo-version: "latest"
2727
extended: true
28-
- name: Temp config
29-
run: |
30-
echo url_latest_version = \"https://docs-test.viam.dev/${{ github.sha }}/public\" > config_pr.toml
31-
echo baseURL = \"https://docs-test.viam.dev/${{ github.sha }}/public\" >> config_pr.toml
3228

3329
- name: Build
3430
run: make build-dist

config_local.toml

+1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
baseURL = "/"
2+
url_latest_version = "/"
23
relativeURLs = true
34
disableAliases = true

docs/appendix/changelog.md

+2-4
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ linkTitle: "Changelog"
44
weight: 110
55
draft: true
66
type: "docs"
7-
description: "Changelog"
7+
description: "A lot of added features, improvements, and changes over time."
88
aliases:
99
- "/appendix/release-notes/"
1010
# SME:
@@ -419,9 +419,7 @@ The UR5 arm model has been improved using this new geometry type.
419419

420420
### Added: Modular resources
421421

422-
You can now implement your own custom {{< glossary_tooltip term_id="resource" text="resources" >}} as [_modular resources_](/modular-resources/).
423-
424-
The [old method](/modular-resources/advanced/custom-components-remotes/) of using a separate server to implement a custom resource is still supported, but implementation as a modular resource reduces network requests and is strongly recommended.
422+
You can now implement your own custom {{< glossary_tooltip term_id="resource" text="resources" >}} as [_modular resources_](/registry/).
425423

426424
{{% alert title="Important: Breaking Change" color="note" %}}
427425

docs/appendix/glossary/component.md

+2
Original file line numberDiff line numberDiff line change
@@ -8,4 +8,6 @@ aka:
88

99
A resource that represents a physical component in a robot which a computer controls; for example, a servo, a camera, or an arm.
1010

11+
Each component is typed by a proto API, such as the [component proto definitions](https://github.com/viamrobotics/api/tree/main/proto/viam/component).
12+
1113
For more information, see [Components](/components/).
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
---
22
title: Model Namespace Triplet
33
id: model-namespace-triplet
4-
full_link: /modular-resources/key-concepts/#naming-your-model-namespacerepo-namename
4+
full_link: /registry/upload/#naming-your-model-namespacerepo-namename
55
short_description: namespace:repo-name:name or rdk:builtin:name
66
aka:
77
---
88

99
{{< glossary_tooltip term_id="model" text="Models" >}} are uniquely namespaced as colon-delimited-triplets.
1010
Modular resource model names have the form `namespace:repo-name:name`.
1111
Built-in model names have the form `rdk:builtin:name`.
12-
See [Naming your model](/modular-resources/key-concepts/#naming-your-model-namespacerepo-namename) for more information.
12+
See [Naming your model](/registry/upload/#naming-your-model-namespacerepo-namename) for more information.

docs/appendix/glossary/model.md

+11-2
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,15 @@ short_description: A particular implementation of a resource. For example, UR5e
66
aka:
77
---
88

9-
A particular implementation of a {{< glossary_tooltip term_id="resource" text="resource" >}} {{< glossary_tooltip term_id="subtype" text="subtype" >}}.
9+
A particular implementation of a {{< glossary_tooltip term_id="resource" text="resource" >}} {{< glossary_tooltip term_id="subtype" text="subtype" >}} that implements its [API](/program/apis/).
1010

11-
For example: `ur5e` is a _model_ of arm, implementing the [resource API](/program/apis/) of the [arm](/components/arm/) subtype of {{< glossary_tooltip term_id="component" text="component" >}}, which, in turn, is a {{< glossary_tooltip term_id="type" text="type" >}} of resource.
11+
Models allow you to control hardware or software of a similar category, such as motors, with a consistent set of methods as an interface, even if the underlying implementation differs.
12+
13+
For example, some _models_ of DC motors communicate using [GPIO](/components/board/), while other DC motors use serial protocols like the [SPI bus](/components/board/#spis).
14+
Regardless, you can power any motor model that implements the `rdk:component:motor` API with the `SetPower()` method.
15+
16+
Models are either included with [`viam-server`](/installation/), provided in {{< glossary_tooltip term_id="module" text="custom modules" >}} available for download from the [Viam registry](https://app.viam.com/registry), or installed as [local modules](/registry/configure/#local-modules).
17+
All models are uniquely namespaced as colon-delimited-triplets.
18+
Built-in model names have the form `rdk:builtin:name`.
19+
Modular resource model names have the form `namespace:repo-name:name`.
20+
See [Naming your model](/registry/upload/#naming-your-model-namespacerepo-namename) for more information.
+7-4
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,14 @@
11
---
22
title: Modular Resource
33
id: modular-resource
4-
full_link: https://docs.viam.com/modular-resources/
5-
short_description: A modular resource is a custom model of a component or service that implements the same API methods.
4+
full_link: /registry/
5+
short_description: A modular resource is a custom model of a component or service that implements the standadized API methods for that resource.
66
aka:
77
---
88

9-
A modular resource is a custom {{< glossary_tooltip term_id="model" text="model" >}} of a {{< glossary_tooltip term_id="component" text="component" >}} or {{< glossary_tooltip term_id="service" text="service" >}} that implements the same [API methods](https://docs.viam.com/program/apis/).
9+
A modular resource is a custom {{< glossary_tooltip term_id="model" text="model" >}} of a {{< glossary_tooltip term_id="component" text="component" >}} or {{< glossary_tooltip term_id="service" text="service" >}} that implements the standardized [API methods](https://docs.viam.com/program/apis/) for that {{< glossary_tooltip term_id="resource" text="resource" >}}.
10+
Modular resources are provided by {{< glossary_tooltip term_id="module" text="modules" >}}, and are not built into the RDK.
11+
A modular resource runs in the module process.
12+
This differs from built-in resources, which run as part of `viam-server`.
1013

11-
For more information see the [Modular Resource Documentation](/modular-resources/).
14+
For more information see the [Modular Resource Documentation](/registry/).

docs/appendix/glossary/module.md

+4-3
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,9 @@ short_description: A module provides one or more modular resources, which add re
66
aka:
77
---
88

9-
A module provides one or more {{< glossary_tooltip term_id="modular-resource" text="modular resources" >}}, which add resource types ([components](/components/) and [services](/services/)) or {{< glossary_tooltip term_id="model" text="models" >}} that are not built into Viam.
9+
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.
10+
Modules run alongside `viam-server` as separate process, communicating with `viam-server` over UNIX sockets.
1011

11-
You can extend the capabilities of Viam on your robot by [creating your own module](/modular-resources/create/) or [adding an existing module from the Viam registry](/modular-resources/configure/).
12+
You can [create your own module](/registry/create/) or [add existing modules from the Viam registry](/registry/configure/).
1213

13-
For more information see the [modular resource documentation](/modular-resources/).
14+
For more information see the [modular resource documentation](/registry/).

docs/appendix/glossary/resource.md

+2
Original file line numberDiff line numberDiff line change
@@ -17,3 +17,5 @@ Resources are individual, addressable elements of a robot.
1717

1818
Each part has local resources and can also have resources from another {{< glossary_tooltip term_id="remote" text="remote">}} robot part.
1919
The capabilities of each resource are exposed through the part’s API.
20+
21+
Each resource on your robot implements either one of the [existing Viam APIs](/registry/create/#valid-apis-to-implement-in-your-model), or a [custom interface](/registry/advanced/#new-api-subtypes).

docs/appendix/glossary/service.md

+2
Original file line numberDiff line numberDiff line change
@@ -8,4 +8,6 @@ aka:
88

99
Services are built-in software packages for complex capabilities such as SLAM, computer vision, motion planning, and data collection.
1010

11+
Each service is typed by a proto API, such as the [service proto definitions](https://github.com/viamrobotics/api/tree/main/proto/viam/service).
12+
1113
For more information, see [Services](/services/).

docs/components/arm/_index.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -61,9 +61,9 @@ To use your arm with Viam, check whether one of the following [built-in models](
6161

6262
{{< alert title="Add support for other models" color="tip" >}}
6363

64-
If none of the existing models fit your use case, you can [create a modular resource](/modular-resources/) to add support for it.
64+
If none of the existing models fit your use case, you can [create a modular resource](/registry/) to add support for it.
6565

66-
You can follow [this guide](/modular-resources/examples/custom-arm/) to implement your custom arm as a [modular resource](/modular-resources/).
66+
You can follow [this guide](/registry/examples/custom-arm/) to implement your custom arm as a [modular resource](/registry/).
6767

6868
{{< /alert >}}
6969

docs/components/board/jetson.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ title: "Configure a jetson board"
33
linkTitle: "jetson"
44
weight: 20
55
type: "docs"
6-
description: "Configure a jetson board."
6+
description: "Configure a jetson board to integrate a NVIDIA Jetson Orin Module and Developer Kit, NVIDIA Jetson AGX, or NVIDIA Jetson Nano into your robot."
77
images: ["/icons/components/board.svg"]
88
tags: ["board", "components"]
99
# SMEs: Gautham, Rand
@@ -13,7 +13,7 @@ tags: ["board", "components"]
1313

1414
Follow one of our Jetson [setup guides](/installation/) to prepare your board for running `viam-server` before configuring a `jetson` board.
1515

16-
If you have a CSI camera, follow [these instructions](/modular-resources/examples/csi/) to configure it using the `viam:camera:csi` model.
16+
If you have a CSI camera, follow [these instructions](/registry/examples/csi/) to configure it using the `viam:camera:csi` model.
1717

1818
{{% /alert %}}
1919

docs/components/movement-sensor/_index.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ Model | Description <a name="model-table"></a>
5151
[`gps-nmea-rtk-serial`](./gps/gps-nmea-rtk-serial/) | [NTRIP-based](https://en.wikipedia.org/wiki/Networked_Transport_of_RTCM_via_Internet_Protocol) [RTK](https://en.wikipedia.org/wiki/Real-time_kinematic_positioning) GPS models using serial communication (**experimental**)
5252
[`imu-wit`](./imu/imu-wit/) | IMUs manufactured by [WitMotion](https://www.wit-motion.com/)
5353
[`accel-adxl345`](./adxl345/) | The [Analog Devices ADXL345](https://www.analog.com/en/products/adxl345.html) digital accelerometer
54-
[`viam_visual_odometry`](./viam-visual-odometry/) | A [modular resource](/modular-resources/) that derives movement data from a [camera](/components/camera/) stream
54+
[`viam_visual_odometry`](./viam-visual-odometry/) | A [modular resource](/registry/) that derives movement data from a [camera](/components/camera/) stream
5555
[`gyro-mpu6050`](./mpu6050/) | A gyroscope/accelerometer manufactured by TDK InvenSense
5656
[`merged`](./merged/) | A model that allows you to aggregate the API methods supported by multiple sensors into a singular sensor client, effectively merging the models of the individual resources
5757
[`wheeled-odometry`](./wheeled-odometry/) | A model that uses [encoders](/components/encoder/) to get an odometry estimate from a wheeled base

docs/components/movement-sensor/viam-visual-odometry.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ While `monocular-visual-odometry` enables you to add movement sensing abilities
2828
If your robot requires precise awareness of its location and its movement, you should consider using a dedicated movement sensor in addition to the `monocular-visual-odometry` module.
2929

3030
The `monocular-visual-odometry` module is available [from the Viam registry](https://app.viam.com/module/viam/monocular-visual-odometry).
31-
See [Modular resources](/modular-resources/#the-viam-registry) for instructions on using a module from the Viam registry on your robot.
31+
See [Modular resources](/registry/#the-viam-registry) for instructions on using a module from the Viam registry on your robot.
3232

3333
The source code for this module is available on the [`viam-visual-odometry` GitHub repository](https://github.com/viamrobotics/viam-visual-odometry).
3434

docs/components/movement-sensor/wheeled-odometry.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ After configuring a `wheeled-odometry` movement sensor, you can operate your bas
3333

3434
To prepare your robot, attach [encoders](/components/encoder/) to each of the position-reporting motors on your base to measure their rotation.
3535

36-
- Select motors that can report their own position, like an encoded [`roboclaw`](/components/motor/roboclaw/) or [`gpio` motors](/components/motor/gpio/) with [encoders](/components/encoder/#supported-models), or the [`odrive`](/modular-resources/examples/odrive/) module.
36+
- Select motors that can report their own position, like an encoded [`roboclaw`](/components/motor/roboclaw/) or [`gpio` motors](/components/motor/gpio/) with [encoders](/components/encoder/#supported-models), or the [`odrive`](/registry/examples/odrive/) module.
3737
You can access this property of a configured motor through the [motor API's `GetProperties()`](/components/motor/#getproperties).
3838
- Configure your rover as a [wheeled base component](/components/base/wheeled/).
3939
Make sure to configure the base width and circumference, as these measurements as a property of the base are vital for accurate odometry estimations by your movement sensor.

docs/internals/RDK.md

+41-9
Original file line numberDiff line numberDiff line change
@@ -18,20 +18,52 @@ Viam’s Robot Development Kit (RDK) is the [open-source](https://github.com/via
1818

1919
## `viam-server`
2020

21-
_viam-server_ is responsible for:
21+
_viam-server_ manages the following:
2222

23-
- All {{< glossary_tooltip term_id="grpc" text="gRPC" >}} and {{< glossary_tooltip term_id="webrtc" >}} communication
24-
- Connecting robots to the cloud
25-
- Loading and managing connections to hardware [components](/components/)
26-
- Running built-in [services](/services/)
27-
- Loading and interfacing with {{< glossary_tooltip term_id="modular-resource" text="modular resources" >}} provided by {{< glossary_tooltip term_id="module" text="modules" >}}.
28-
- Managing configured processes
29-
- Connecting to other parts of your robot
23+
### Communication
24+
25+
`viam-server` handles all {{< glossary_tooltip term_id="grpc" text="gRPC" >}} and {{< glossary_tooltip term_id="webrtc" >}} communication for connecting robots to the cloud or for connecting to other parts of your smart machine.
26+
27+
### Dependency Management
28+
29+
Modular resources may depend on other built-in resources or other modular resources, and vice versa.
30+
The Viam RDK handles dependency management.
31+
32+
### Start-up
33+
34+
`viam-server` ensures that any configured {{< glossary_tooltip term_id="module" text="modules" >}}, {{< glossary_tooltip term_id="resource" text="built-in resources" >}} and {{< glossary_tooltip term_id="modular-resource" text="modular resources" >}}, and processes are loaded on startup.
35+
36+
After start-up, `viam-server` manages:
37+
38+
- the configured processes,
39+
- the connections to hardware,
40+
- the running services, and
41+
- the {{< glossary_tooltip term_id="module" text="modules" >}} that provide the {{< glossary_tooltip term_id="modular-resource" text="modular resources" >}}.
42+
43+
### Reconfiguration
44+
45+
When you or your collaborators change the configuration of a smart machine in the Viam app, `viam-server` automatically synchronizes the configuration to your smart machine and updates the running resources within 15 seconds.
46+
This means you can add, modify, and remove a modular resource instance from a running robot.
47+
48+
You can see configuration changes made by yourself or by your collaborators on the [History tab](/manage/fleet/robots/#history).
49+
You can also revert to an earlier configuration from the History tab.
50+
51+
### Logging
52+
53+
Log messages written appear under the [**Logs** tab](/manage/fleet/robots/#logs) for the smart machine running the module.
54+
55+
### Data management
56+
57+
Data capture for individual components is supported on [certain component subtypes](/services/data/configure-data-capture/#configure-data-capture-for-individual-components).
58+
59+
### Shutdown
60+
61+
During robot shutdown, the RDK handles modular resource instances similarly to built-in resource instances - it signals them for shutdown in topological (dependency) order.
3062

3163
## Next Steps
3264

3365
{{< cards >}}
3466
{{% card link="/program/apis/" %}}
35-
{{% card link="/modular-resources/" %}}
67+
{{% card link="/registry/" %}}
3668
{{% card link="/micro-rdk/" %}}
3769
{{< /cards >}}

docs/manage/CLI.md

+7-7
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ The CLI lets you:
1515
- Retrieve [organization](/manage/fleet/organizations/) and location information
1616
- Manage [robot fleet](/manage/fleet/) data and logs
1717
- Control robots by issuing component and service commands
18-
- Upload and manage [modular resources](/modular-resources/) in the Viam registry
18+
- Upload and manage [modular resources](/registry/) in the Viam registry
1919

2020
For example, this CLI command moves a servo to the 75 degree position:
2121

@@ -377,10 +377,10 @@ viam module update
377377
viam module upload --version "1.0.0" --platform "darwin/arm64" packaged-module.tar.gz
378378
```
379379

380-
See [Upload a custom module](/modular-resources/upload/#upload-a-custom-module) and [Update an existing module](/modular-resources/upload/#update-an-existing-module) for a detailed walkthrough of the `viam module` commands.
380+
See [Upload a custom module](/registry/upload/#upload-a-custom-module) and [Update an existing module](/registry/upload/#update-an-existing-module) for a detailed walkthrough of the `viam module` commands.
381381

382382
If you update and release your module as part of a continuous integration (CI) workflow, you can also
383-
[automatically upload new versions of your module on release](/modular-resources/upload/#update-an-existing-module-using-a-github-action) using a GitHub Action.
383+
[automatically upload new versions of your module on release](/registry/upload/#update-an-existing-module-using-a-github-action) using a GitHub Action.
384384

385385
#### Command options
386386

@@ -494,7 +494,7 @@ The `meta.json` file includes the following configuration options:
494494
<td><code>models</code></td>
495495
<td>object</td>
496496
<td><strong>Required</strong></td>
497-
<td>A list of one or more <a href="/modular-resources/key-concepts/#models">models</a> provided by your custom module. You must provide at least one model, which consists of an <code>api</code> and <code>model</code> key pair.</td>
497+
<td>A list of one or more {{< glossary_tooltip term_id="model" text="models" >}} provided by your custom module. You must provide at least one model, which consists of an <code>api</code> and <code>model</code> key pair.</td>
498498
</tr>
499499
<tr>
500500
<td><code>entrypoint</code></td>
@@ -523,14 +523,14 @@ For example, the following represents the configuration of an example `my-module
523523
```
524524

525525
{{% alert title="Important" color="note" %}}
526-
If you are publishing a public module (`"visibility": "public"`), the [namespace of your model](/modular-resources/key-concepts/#naming-your-model-namespacerepo-namename) must match the [namespace of your organization](/manage/fleet/organizations/#create-a-namespace-for-your-organization).
526+
If you are publishing a public module (`"visibility": "public"`), the [namespace of your model](/registry/upload/#naming-your-model-namespacerepo-namename) must match the [namespace of your organization](/manage/fleet/organizations/#create-a-namespace-for-your-organization).
527527
In the example above, the model namespace is set to `acme` to match the owning organization's namespace.
528528
If the two namespaces do not match, the command will return an error.
529529
{{% /alert %}}
530530

531-
See [Upload a custom module](/modular-resources/upload/#upload-a-custom-module) and [Update an existing module](/modular-resources/upload/#update-an-existing-module) for a detailed walkthrough of the `viam module` commands.
531+
See [Upload a custom module](/registry/upload/#upload-a-custom-module) and [Update an existing module](/registry/upload/#update-an-existing-module) for a detailed walkthrough of the `viam module` commands.
532532

533-
See [Modular resources](/modular-resources/) for a conceptual overview of modules and the modular resource system at Viam.
533+
See [Modular resources](/registry/) for a conceptual overview of modules and the modular resource system at Viam.
534534

535535
### organizations
536536

0 commit comments

Comments
 (0)