You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/appendix/changelog.md
+2-4
Original file line number
Diff line number
Diff line change
@@ -4,7 +4,7 @@ linkTitle: "Changelog"
4
4
weight: 110
5
5
draft: true
6
6
type: "docs"
7
-
description: "Changelog"
7
+
description: "A lot of added features, improvements, and changes over time."
8
8
aliases:
9
9
- "/appendix/release-notes/"
10
10
# SME:
@@ -419,9 +419,7 @@ The UR5 arm model has been improved using this new geometry type.
419
419
420
420
### Added: Modular resources
421
421
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/).
Copy file name to clipboardExpand all lines: docs/appendix/glossary/model.md
+11-2
Original file line number
Diff line number
Diff line change
@@ -6,6 +6,15 @@ short_description: A particular implementation of a resource. For example, UR5e
6
6
aka:
7
7
---
8
8
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/).
10
10
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.
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.
6
6
aka:
7
7
---
8
8
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`.
10
13
11
-
For more information see the [Modular Resource Documentation](/modular-resources/).
14
+
For more information see the [Modular Resource Documentation](/registry/).
Copy file name to clipboardExpand all lines: docs/appendix/glossary/module.md
+4-3
Original file line number
Diff line number
Diff line change
@@ -6,8 +6,9 @@ short_description: A module provides one or more modular resources, which add re
6
6
aka:
7
7
---
8
8
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.
10
11
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/).
12
13
13
-
For more information see the [modular resource documentation](/modular-resources/).
14
+
For more information see the [modular resource documentation](/registry/).
Copy file name to clipboardExpand all lines: docs/appendix/glossary/resource.md
+2
Original file line number
Diff line number
Diff line change
@@ -17,3 +17,5 @@ Resources are individual, addressable elements of a robot.
17
17
18
18
Each part has local resources and can also have resources from another {{< glossary_tooltip term_id="remote" text="remote">}} robot part.
19
19
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).
Copy file name to clipboardExpand all lines: docs/components/board/jetson.md
+2-2
Original file line number
Diff line number
Diff line change
@@ -3,7 +3,7 @@ title: "Configure a jetson board"
3
3
linkTitle: "jetson"
4
4
weight: 20
5
5
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."
7
7
images: ["/icons/components/board.svg"]
8
8
tags: ["board", "components"]
9
9
# SMEs: Gautham, Rand
@@ -13,7 +13,7 @@ tags: ["board", "components"]
13
13
14
14
Follow one of our Jetson [setup guides](/installation/) to prepare your board for running `viam-server` before configuring a `jetson` board.
15
15
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.
Copy file name to clipboardExpand all lines: docs/components/movement-sensor/_index.md
+1-1
Original file line number
Diff line number
Diff line change
@@ -51,7 +51,7 @@ Model | Description <a name="model-table"></a>
51
51
[`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**)
52
52
[`imu-wit`](./imu/imu-wit/) | IMUs manufactured by [WitMotion](https://www.wit-motion.com/)
53
53
[`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
55
55
[`gyro-mpu6050`](./mpu6050/) | A gyroscope/accelerometer manufactured by TDK InvenSense
56
56
[`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
57
57
[`wheeled-odometry`](./wheeled-odometry/) | A model that uses [encoders](/components/encoder/) to get an odometry estimate from a wheeled base
Copy file name to clipboardExpand all lines: docs/components/movement-sensor/viam-visual-odometry.md
+1-1
Original file line number
Diff line number
Diff line change
@@ -28,7 +28,7 @@ While `monocular-visual-odometry` enables you to add movement sensing abilities
28
28
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.
29
29
30
30
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.
32
32
33
33
The source code for this module is available on the [`viam-visual-odometry` GitHub repository](https://github.com/viamrobotics/viam-visual-odometry).
Copy file name to clipboardExpand all lines: docs/components/movement-sensor/wheeled-odometry.md
+1-1
Original file line number
Diff line number
Diff line change
@@ -33,7 +33,7 @@ After configuring a `wheeled-odometry` movement sensor, you can operate your bas
33
33
34
34
To prepare your robot, attach [encoders](/components/encoder/) to each of the position-reporting motors on your base to measure their rotation.
35
35
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.
37
37
You can access this property of a configured motor through the [motor API's `GetProperties()`](/components/motor/#getproperties).
38
38
- Configure your rover as a [wheeled base component](/components/base/wheeled/).
39
39
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.
Copy file name to clipboardExpand all lines: docs/internals/RDK.md
+41-9
Original file line number
Diff line number
Diff line change
@@ -18,20 +18,52 @@ Viam’s Robot Development Kit (RDK) is the [open-source](https://github.com/via
18
18
19
19
## `viam-server`
20
20
21
-
_viam-server_is responsible for:
21
+
_viam-server_manages the following:
22
22
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.
Copy file name to clipboardExpand all lines: docs/manage/CLI.md
+7-7
Original file line number
Diff line number
Diff line change
@@ -15,7 +15,7 @@ The CLI lets you:
15
15
- Retrieve [organization](/manage/fleet/organizations/) and location information
16
16
- Manage [robot fleet](/manage/fleet/) data and logs
17
17
- 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
19
19
20
20
For example, this CLI command moves a servo to the 75 degree position:
21
21
@@ -377,10 +377,10 @@ viam module update
377
377
viam module upload --version "1.0.0" --platform "darwin/arm64" packaged-module.tar.gz
378
378
```
379
379
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.
381
381
382
382
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.
384
384
385
385
#### Command options
386
386
@@ -494,7 +494,7 @@ The `meta.json` file includes the following configuration options:
494
494
<td><code>models</code></td>
495
495
<td>object</td>
496
496
<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>
498
498
</tr>
499
499
<tr>
500
500
<td><code>entrypoint</code></td>
@@ -523,14 +523,14 @@ For example, the following represents the configuration of an example `my-module
523
523
```
524
524
525
525
{{% 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).
527
527
In the example above, the model namespace is set to `acme` to match the owning organization's namespace.
528
528
If the two namespaces do not match, the command will return an error.
529
529
{{% /alert %}}
530
530
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.
532
532
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.
0 commit comments