Skip to content

Commit

Permalink
DOCS-1101: Update to smart machine more broadly (#1863)
Browse files Browse the repository at this point in the history
  • Loading branch information
npentrel authored Sep 21, 2023
1 parent daf8f8a commit 261f2c4
Show file tree
Hide file tree
Showing 26 changed files with 104 additions and 104 deletions.
4 changes: 2 additions & 2 deletions docs/appendix/glossary/board.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@
title: Board
id: board
full_link: /components/board/
short_description: A board is the signal wire hub of a robot that provides access to GPIO pins, SPI or I2C.
short_description: A board is the signal wire hub of a smart machine that provides access to GPIO pins, SPI or I2C.
aka:
---

A board is the signal wire hub of a robot that provides access to GPIO pins, SPI or I2C.
A board is the signal wire hub of a smart machine that provides access to GPIO pins, SPI or I2C.

Examples of boards include Jetson, Raspberry Pi, Numato, or Arduino.

Expand Down
6 changes: 3 additions & 3 deletions docs/appendix/glossary/client-application.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@
title: Client Application
id: client-application
full_link:
short_description: Client applications run business logic to operate your robot.
short_description: Client applications run business logic to operate your smart machine.
aka:
---

Client applications run business logic to operate your robot.
Client applications run business logic to operate your smart machine.

You can run a client application on the same {{< glossary_tooltip term_id="part" text="part" >}} that runs `viam-server`, or on a separate device.
Client applications typically use an {{< glossary_tooltip term_id="sdk" text="SDK" >}} to talk to their robot.
Client applications typically use an {{< glossary_tooltip term_id="sdk" text="SDK" >}} to talk to their smart machine.
4 changes: 2 additions & 2 deletions docs/appendix/glossary/fragment.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@
title: Fragment
id: fragment
full_link: /manage/configuration/#fragments
short_description: A reusable configuration block that you can share across multiple robots.
short_description: A reusable configuration block that you can share across multiple smart machines.
aka:
---

A reusable configuration block that you can share across multiple robots.
A reusable configuration block that you can share across multiple smart machines.
For example, if you are deploying a specific mobile robot that is always physically connected the same way, you can create a fragment to make managing your fleet easy.

For more information, see [Fragments](../../manage/configuration/#fragments).
4 changes: 2 additions & 2 deletions docs/appendix/glossary/location.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@
title: Location
id: location
full_link: /manage/fleet/locations/
short_description: A location is a virtual grouping of robots that allows you to organize robots and manage access to your fleet.
short_description: A location is a virtual grouping of smart machines that allows you to organize smart machines and manage access to your fleet.
aka:
---

A location is a virtual grouping of robots that allows you to organize robots and manage access to your fleet.
A location is a virtual grouping of smart machines that allows you to organize smart machines and manage access to your fleet.

For more information, see [Manage Locations and Sub-Locations](/manage/fleet/locations/).
6 changes: 3 additions & 3 deletions docs/appendix/local-configuration-file.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,16 +14,16 @@ The `viam-server` binary uses a JSON-formatted configuration file to define all

When you [install `viam-server`](/installation/) from [the Viam app](https://app.viam.com), you configure your robot directly in the app, and the app will automatically sync your configuration to your robot.

However, if your robot will never connect to the internet, you will need to create your own local configuration file, using one of these options:
However, if your smart machine will never connect to the internet, you will need to create your own local configuration file, using one of these options:

* [Build a local configuration file in the Viam app](#build-a-local-configuration-file-in-the-viam-app) - Use the Viam app to build the configuration file and copy it to your robot, without connecting your robot to the Viam app.
* [Build a local configuration file in the Viam app](#build-a-local-configuration-file-in-the-viam-app) - Use the Viam app to build the configuration file and copy it to your smart machine, without connecting your smart machine to the Viam app.
* [Build a local configuration file manually](#build-a-local-configuration-file-manually) - Build your own local configuration file based on the example file.

For information on the individual configuration options available, see [Configuration](/manage/configuration/).

## Build a local configuration file in the Viam app

If your robot will never connect to the internet, and you want to create a local configuration file manually, you can still use the Viam app to build the configuration file even without connecting your robot to it.
If your robot will never connect to the internet, and you want to create a local configuration file manually, you can still use the Viam app to build the configuration file even without connecting your smart machine to it.
Follow the steps below to build and then download your configuration file:

1. Navigate to [the Viam app](https://app.viam.com) and select the **Config** tab.
Expand Down
2 changes: 1 addition & 1 deletion docs/components/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ description: "In-depth information on the various components available within th
images: ["/icons/components.png"]
---

A *component* represents a physical piece of electrical or electromechanical hardware in a robot.
A *component* represents a physical piece of electrical or electromechanical hardware in a smart machine.

The following component types are natively supported.
If you would like to use additional component types, you can [extend Viam with custom components and services](/extend/).
2 changes: 1 addition & 1 deletion docs/components/camera/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ linkTitle: "Camera"
childTitleEndOverwrite: "Camera Component"
weight: 40
type: "docs"
description: "A camera captures 2D or 3D images and sends them to the computer controlling the robot."
description: "A camera captures 2D or 3D images and sends them to the computer controlling the smart machine."
no_list: true
tags: ["camera", "components"]
icon: "/icons/components/camera.svg"
Expand Down
2 changes: 1 addition & 1 deletion docs/extend/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ Viam's [Robot Development Kit (RDK)](/internals/rdk/) provides built-in support
- Various types of hardware [components](/components/).
- High-level functionality exposed as [services](/services/).

However, if you want to work with a new hardware component that is not already supported by Viam, or want to introduce a new software service or service model to support additional functionality on your robot, you can extend Viam by adding a [modular resource](/extend/modular-resources/) to your robot.
However, if you want to work with a new hardware component that is not already supported by Viam, or want to introduce a new software service or service model to support additional functionality on your smart machine, you can extend Viam by adding a [modular resource](/extend/modular-resources/) to your smart machine.

Click on the cards below for instructions on implementing modular resources through {{< glossary_tooltip term_id="module" text="modules" >}} or {{< glossary_tooltip term_id="remote" text="remotes" >}}:

Expand Down
20 changes: 10 additions & 10 deletions docs/extend/modular-resources/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,25 +4,25 @@ linkTitle: "Modular Resources"
weight: 10
type: "docs"
tags: ["server", "rdk", "extending viam", "modular resources", "components", "services"]
description: "Use the Viam module system to implement modular resources that can be included in any Viam-powered robot."
description: "Use the Viam module system to implement modular resources that can be included in any Viam-powered smart machine."
no_list: true
aliases:
- "/program/extend/modular-resources/"
---

At Viam, a robot is configured with one or more {{< glossary_tooltip term_id="resource" text="resources" >}} ([components](/components/) or [services](/services/)) which are each defined by a [public API](/extend/modular-resources/key-concepts/#valid-apis-to-implement-in-your-model).
While Viam offers a number of built-in implementations against these APIs, such as the [wheeled base](/components/base/wheeled/), you may also write your own implementations in order to extend the capabilities of your robot.
At Viam, a smart machine is configured with one or more {{< glossary_tooltip term_id="resource" text="resources" >}} ([components](/components/) or [services](/services/)) which are each defined by a [public API](/extend/modular-resources/key-concepts/#valid-apis-to-implement-in-your-model).
While Viam offers a number of built-in implementations against these APIs, such as the [wheeled base](/components/base/wheeled/), you may also write your own implementations in order to extend the capabilities of your smart machine.

For example, you can:

- **Implement a custom component:** If your robot has specialty hardware, such as an unsupported [motor](/components/motor/), and you want to control it using Viam, you can write a driver to support your hardware by implementing the corresponding component API.
- **Implement a custom component:** If your smart machine has specialty hardware, such as an unsupported [motor](/components/motor/), and you want to control it using Viam, you can write a driver to support your hardware by implementing the corresponding component API.

- **Implement a custom service:** If your robot makes use of a specialty algorithm or data model when working with services such as [SLAM](/services/slam/), [Vision](/services/vision/), or [Motion planning](/services/motion/), you can implement your own algorithm or model against the corresponding service API.
- **Implement a custom service:** If your smart machine uses a custom algorithm or data model when working with services such as [SLAM](/services/slam/), [Vision](/services/vision/), or [Motion planning](/services/motion/), you can implement your own algorithm or model against the corresponding service API.

- **Implement fully custom logic:** If your robot runs specialty or proprietary logic, and you want to use Viam to manage and control that logic, such as when managing a software development lifecyle, you can implement your own custom logic by wrapping the generic API.
- **Implement fully custom logic:** If your smart machine runs custom or proprietary logic and you want to use Viam to manage and control that logic, such as when managing a software development lifecyle, you can implement your own custom logic by wrapping the generic API.

These custom implementations are called *modular resources*, and are made available for use on a robot through {{< glossary_tooltip term_id="module" text="modules" >}}.
A module can provide one or more modular resources, and can be added to your robot from the Viam registry.
These custom implementations are called *modular resources*, and are made available for use on a smart machine through {{< glossary_tooltip term_id="module" text="modules" >}}.
A module can provide one or more modular resources, and can be added to your smart machine from the Viam registry.

## The Viam registry

Expand All @@ -34,12 +34,12 @@ Once the module has been uploaded to the registry, you can [deploy the module](/

### Uploading to Viam registry

After you finish programming your module, you can [upload your module to the Viam registry](/extend/modular-resources/upload/) to make it available for deployment to robots.
After you finish programming your module, you can [upload your module to the Viam registry](/extend/modular-resources/upload/) to make it available for deployment to smart machines.
As part of the upload process, you decide whether your module is *private* (visible only to other members of your [organization](/manage/fleet/organizations/)), or *public* (visible to all Viam users).

You can see details about each module in the [Viam registry](https://app.viam.com/registry) on its module details page.
See the [Odrive module](https://app.viam.com/module/viam/odrive) for an example.
Public modules also display the number of times a module has been deployed to a robot.
Public modules also display the number of times a module has been deployed to a smart machine.

When you make changes to your module, you can [uploaded the newer version](/extend/modular-resources/upload/#update-an-existing-module) with a new version number, and the Viam registry will track each version that you upload.

Expand Down
4 changes: 2 additions & 2 deletions docs/extend/modular-resources/create/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,11 @@ linkTitle: "Create"
weight: 20
type: "docs"
tags: ["server", "rdk", "extending viam", "modular resources", "components", "services"]
description: "Use the Viam module system to implement modular resources that can be included in any Viam-powered robot."
description: "Use the Viam module system to implement modular resources that can be included in any Viam-powered smart machine."
no_list: true
---

You can extend Viam by creating a custom {{< glossary_tooltip term_id="module" text="module" >}} that provides one or more modular {{< glossary_tooltip term_id="resource" text="resources" >}} ([components](/components/) and [services](/services/)) or {{< glossary_tooltip term_id="model" text="models" >}}, and can be added to any robot running on Viam.
You can extend Viam by creating a custom {{< glossary_tooltip term_id="module" text="module" >}} that provides one or more modular {{< glossary_tooltip term_id="resource" text="resources" >}} ([components](/components/) and [services](/services/)) or {{< glossary_tooltip term_id="model" text="models" >}}, and can be added to any smart machine running on Viam.

A common use case for modular resources is to create a new [model](/extend/modular-resources/key-concepts/#models) that implements an existing Viam [API](/program/apis/).

Expand Down
8 changes: 4 additions & 4 deletions docs/extend/modular-resources/key-concepts.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,11 +13,11 @@ A custom module can provide one or more modular resource models.

## Modules

A *module* provides one or more [*modular resources*](#resources), and is a flexible way to extend the functionality of your Viam robot.
A *module* provides one or more [*modular resources*](#resources), and is a flexible way to extend the functionality of your smart machine.
Modules run alongside `viam-server` as a separate process, communicating with `viam-server` over a UNIX socket.
A module provides definitions for one or more pairs of [APIs](#valid-apis-to-implement-in-your-model) and [models](#models).

When the module initializes, it registers those pairs on your robot, making the functionality defined by that pair available for use.
When the module initializes, it registers those pairs on your smart machine, making the functionality defined by that pair available for use.

You can [upload your own modules to the Viam registry](/extend/modular-resources/upload/) or can [add existing modules from the registry](/extend/modular-resources/configure/).

Expand All @@ -28,7 +28,7 @@ See [Creating a custom module](/extend/modular-resources/create/) for more infor
A resource is a [component](/components/) or [service](/services/).
Each component or service is typed by a proto API, such as the [component proto definitions](https://github.com/viamrobotics/api/tree/main/proto/viam/component).

Any resource on your robot needs to implement either one of these [existing Viam APIs](#valid-apis-to-implement-in-your-model), or a custom interface.
Any resource on your smart machine needs to implement either one of these [existing Viam APIs](#valid-apis-to-implement-in-your-model), or a custom interface.

A *modular resource* is a resource that is provided by a [module](#modules), and not built-in to the RDK.
A modular resource runs in the module process. This differs from built-in resources, which run as part of `viam-server`.
Expand Down Expand Up @@ -130,7 +130,7 @@ The RDK ensures that any configured modules are loaded automatically on start-up

### Reconfiguration

When you change the configuration of a Viam robot, the behavior of modular resource instances versus built-in resource instances is equivalent.
When you change the configuration of a robot the behavior of modular resource instances versus built-in resource instances is equivalent.
This means you can add, modify, and remove a modular resource instance from a running robot as normal.

### Data management
Expand Down
4 changes: 2 additions & 2 deletions docs/installation/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ type: docs
image: "/installation/thumbnails/install.png"
imageAlt: "Install Viam"
images: ["/installation/thumbnails/install.png"]
description: "To use Viam software with your robot, install and run the viam-server binary on the computer that you want to use to control the robot."
description: "To use Viam software with your smart machine, install and run the viam-server binary on the computer that you want to use to control the smart machine."
aliases:
- /installation/prepare/
- /installation/macos-install/
Expand All @@ -21,7 +21,7 @@ aliases:
- /getting-started/linux-install/
---

To use Viam software with your robot, install and run the `viam-server` binary on the computer that you want to use to control the robot.
To use Viam software with your smart machine, install and run the `viam-server` binary on the computer that you want to use to control the smart machine.
In most cases, this will be a [single board computer (SBC)](#install-on-a-single-board-computer), like a Raspberry Pi, but you can also install `viam-server` on a [macOS or Linux computer](#install-on-a-macos-or-linux-computer).

For an overview of the Viam software platform, see [Viam in 3 minutes](/viam/).
Expand Down
6 changes: 3 additions & 3 deletions docs/manage/fleet/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ title: "Fleet Management"
linkTitle: "Fleet Management"
weight: 30
type: "docs"
description: "Configure, control, debug, and manage your robots from the cloud at app.viam.com on your own or with a team."
description: "Configure, control, debug, and manage your smart machines from the cloud at app.viam.com on your own or with a team."
tags: ["fleet management", "cloud", "app"]
no_list: true
aliases:
Expand All @@ -13,9 +13,9 @@ aliases:
- "/fleet"
---

The [Viam app](https://app.viam.com) provides fleet management allowing you to work on any number of robots alone or in collaboration with others.
The [Viam app](https://app.viam.com) provides fleet management allowing you to work on any number of smart machines alone or in collaboration with others.

## Work with groups of robots
## Work with groups of smart machines

With Viam, you can organize {{< glossary_tooltip term_id="robot" text="robots" >}} into {{< glossary_tooltip term_id="location" text="locations" >}} and {{< glossary_tooltip term_id="organization" text="organizations" >}}.

Expand Down
6 changes: 3 additions & 3 deletions docs/program/apis/cloud.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,14 @@ title: "Manage Your Fleet with Viam's Cloud API"
linkTitle: "Cloud Management"
weight: 20
type: "docs"
description: "Use the cloud app API with Viam's client SDKs to manage your robot fleet with code."
description: "Use the cloud app API with Viam's client SDKs to manage your smart machine fleet with code."
tags: ["cloud", "sdk", "viam-server", "networking", "apis", "robot api", "cloud management"]
---

The cloud app API allows you to [manage your robot fleet](/manage/fleet/) with code instead of with the graphical interface of the [Viam app](https://app.viam.com/).
The cloud app API allows you to [manage your smart machine fleet](/manage/fleet/) with code instead of with the graphical interface of the [Viam app](https://app.viam.com/).
With it you can

- create and manage organizations, locations, and individual robots
- create and manage organizations, locations, and individual smart machines
- manage permissions and authorization
- create and manage fragments

Expand Down
2 changes: 1 addition & 1 deletion docs/program/apis/robot.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ title: "Manage Robots with Viam's Robot API"
linkTitle: "Robot Management"
weight: 20
type: "docs"
description: "How to use the Robot API to monitor and manage your robots."
description: "How to use the Robot API to monitor and manage your smart machines."
tags: ["robot state", "sdk", "apis", "robot api"]
---

Expand Down
4 changes: 2 additions & 2 deletions docs/services/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,10 @@ title: "Services"
linkTitle: "Services"
weight: 40
type: docs
description: "Services are built-in software packages that make it easier to add complex capabilities such as motion planning or object detection to your robot."
description: "Services are built-in software packages that make it easier to add complex capabilities such as motion planning or object detection to your smart machine."
images: ["/general/services.png"]
---

Services are built-in software packages that make it easier to add complex capabilities such as motion planning or object detection to your robot.
Services are built-in software packages that make it easier to add complex capabilities such as motion planning or object detection to your smart machine.
The following are the service types that Viam natively supports.
If you would like to use additional service types, you can [extend Viam with custom services](/extend/modular-resources/).
Loading

0 comments on commit 261f2c4

Please sign in to comment.