Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

JT edits pt 2 #3776

Merged
merged 10 commits into from
Jan 3, 2025
Merged

JT edits pt 2 #3776

merged 10 commits into from
Jan 3, 2025

Conversation

JessamyT
Copy link
Collaborator

No description provided.

When packaged in this fashion, you can run the resulting executable on your desired target platform or platforms without needing to install additional software or manage dependencies manually.

{{% alert title="Note" color="note" %}}
To follow these PyInstaller packaging steps, you must have enabled cloud build when moving through the module generator prompts.
Copy link
Member

Choose a reason for hiding this comment

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

note: some of these steps aren't necessary if someone selected cloudbuild=yes in the generator wizard

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Which ones are or aren't necessary?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

It seems based on my local testing that none of these are necessary, but that before testing locally I do need to have them run first sh run.sh and then sh build.sh. Are any of these necessary for cloud build though @abe-winter ?

@JessamyT JessamyT marked this pull request as ready for review December 31, 2024 20:57
weight: 40
layout: "docs"
type: "docs"
no_list: true
description: "Move a mobile robot with manual or autonomous navigation."
---

You have three options for moving a mobile robot [base](/operate/reference/components/base/):
Copy link
Collaborator

@npentrel npentrel Jan 2, 2025

Choose a reason for hiding this comment

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

Guessing this isn't done yet but make sure this has some example code on this page please. Possible that both the pages drive a rover and navigate with a rover should just be in this page instead.

I think the options are:

- Drive a robotic base
- Move on a map 
- Move using GPS 

That woult probably be good subheaders or subpages

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Do you want both this and the arm page to follow the pattern that's now in place on the gantry page, just with the addition of links to the tutorials somewhere in there? I think for base and arm it still makes sense to keep the tutorials because there's complexity and because we have the tutorials available that take someone from start to finish.

Copy link
Collaborator Author

@JessamyT JessamyT Jan 4, 2025

Choose a reason for hiding this comment

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

I've decided to try putting the how-to arm API content into the page, making it not an index page anymore. I put the more complex tutorials back into unlisted tutorials and linked to them from the new Use automated complex motion planning section in Arm. I still want to shorten those but for now at least this puts some code samples onto the arm page, and makes it mostly fit the format of gantry. Same with base, just put some of the base API how-to code samples into the move a base page, and linked to longer service tutorials for now.

Comment on lines +16 to +19
{{< cards >}}
{{% card link="/dev/reference/apis/components/gantry/" %}}
{{% card link="/dev/reference/apis/services/motion/" %}}
{{< /cards >}}
Copy link
Collaborator

Choose a reason for hiding this comment

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

I don't think it makes sense to have these big cards here that link to the same thing you've got in the bullet list.

Suggested change
{{< cards >}}
{{% card link="/dev/reference/apis/components/gantry/" %}}
{{% card link="/dev/reference/apis/services/motion/" %}}
{{< /cards >}}

I think the bullets are the right ones, and should actually link to H2s in this page

## Prerequisites
configuration...

## Move each axis

## Use automated complex motion planning

That way the code doesn't need to be in expanders. It may be nice to keep the steps for the prerequisites section but I guess generally we'd but those into expanders. If you want to keep a configuration section I'd put that after prerequisites and then still ahve two headings with the code expanded.

Copy link
Collaborator

Choose a reason for hiding this comment

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

Can you change the heading "Full tutorial code" to just "Full code" on this.
And I guess the decrbing working environment etc will still move to the machine gemonetry page?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

I will change the heading.
I was thinking the working environment would remain here as a start-to-finish example.

@@ -8,11 +8,39 @@ no_list: true
description: "Install the software that drives hardware and connects your device to the cloud."
---

Get started by installing the open-source software that drives your hardware and connects your device to the cloud.
Copy link
Collaborator

Choose a reason for hiding this comment

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

This page looks good. I think there are at least two more things that need covering - the platform requirements and the operating system installation that links to all of the pages in prepare

Comment on lines +20 to 21
1. From your machine's page in the Viam app, follow the setup instructions to install `viam-server` on your device and connect it to the cloud.
`viam-server` is the executable binary that runs on your device and manages hardware drivers, software, and data capture and sync.
Copy link
Collaborator

Choose a reason for hiding this comment

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

All of this is viam-server specific and I think it shouldn't be. We don't cover the micro-rdk anywhere so this needs to be agnostic.

Also we need to tell people to use the viam-agent install method I think. Or this needs to go in the content of this page somewhere

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

I'm adding mention of viam-micro-server--see how you like the latest

@@ -8,11 +8,39 @@ no_list: true
description: "Install the software that drives hardware and connects your device to the cloud."
Copy link
Collaborator

Choose a reason for hiding this comment

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

set no list to false. I think we should go from here to the next page with the navigation at the end of the page

docs/operate/mobility/define-geometry.md Outdated Show resolved Hide resolved
@@ -7,3 +7,179 @@ type: "docs"
no_list: true
Copy link
Collaborator

Choose a reason for hiding this comment

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

Suggested change
no_list: true

docs/operate/mobility/move-arm/move-robot-arm.md Outdated Show resolved Hide resolved
Copy link
Collaborator

Choose a reason for hiding this comment

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

This should be an empty page that has no content and just two child pages. Too much feedback that people get confused otherwise

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

docs/operate/mobility/move-arm/move-robot-arm.md Outdated Show resolved Hide resolved
Comment on lines +46 to +67
Use one of the input APIs, such as:

- [Sensor](/dev/reference/apis/components/sensor/)

- Input methods include `GetReadings`.
Python example:

```python {class="line-numbers linkable-line-numbers"}
my_sensor = Sensor.from_robot(robot=machine, name='my_sensor')

# Get the readings provided by the sensor.
readings = await my_sensor.get_readings()
```

- [Power sensor](/dev/reference/apis/components/power-sensor/)

- Input methods include `GetVoltage`, `GetCurrent`, `GetPower`, and `GetReadings`.

- [Board](/dev/reference/apis/components/board/)
- Input methods include `GetGPIO`, `GetPWM`, `PWMFrequency`, `GetDigitalInterruptValue`, and `ReadAnalogReader`.

If you are using camera input with computer vision, see [Act based on inferences](/data-ai/ai/act/) for relevant examples.
Copy link
Collaborator

Choose a reason for hiding this comment

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

I think this gets the same info across but in less space? Alternatively you could put the methods into a table

Suggested change
Use one of the input APIs, such as:
- [Sensor](/dev/reference/apis/components/sensor/)
- Input methods include `GetReadings`.
Python example:
```python {class="line-numbers linkable-line-numbers"}
my_sensor = Sensor.from_robot(robot=machine, name='my_sensor')
# Get the readings provided by the sensor.
readings = await my_sensor.get_readings()
```
- [Power sensor](/dev/reference/apis/components/power-sensor/)
- Input methods include `GetVoltage`, `GetCurrent`, `GetPower`, and `GetReadings`.
- [Board](/dev/reference/apis/components/board/)
- Input methods include `GetGPIO`, `GetPWM`, `PWMFrequency`, `GetDigitalInterruptValue`, and `ReadAnalogReader`.
If you are using camera input with computer vision, see [Act based on inferences](/data-ai/ai/act/) for relevant examples.
Use one of the input APIs, such as a sensor's reading:
```python {class="line-numbers linkable-line-numbers"}
my_sensor = Sensor.from_robot(robot=machine, name='my_sensor')
# Get the readings provided by the sensor.
readings = await my_sensor.get_readings()
\```
Other common inputs include the methods of a [Board](/dev/reference/apis/components/board/) (`GetGPIO`, `GetPWM`, `PWMFrequency`, `GetDigitalInterruptValue`, and `ReadAnalogReader`), or a [Power sensor](/dev/reference/apis/components/power-sensor/) (`GetVoltage`, `GetCurrent`, `GetPower`, and `GetReadings`).
You can also use camera input, for example to detect objects and pick them up with an arm.
See [Act based on inferences](/data-ai/ai/act/) for relevant examples.
If you want to send alerts based on computer vision or captured data, see [Alert on inferences](/data-ai/ai/alert/) or [Alert on data](/data-ai/data/advanced/alert-data/).


To move your actuator, use your actuator component's API, with logic based on your input:

- [Motor](/dev/reference/apis/components/motor/)
Copy link
Collaborator

Choose a reason for hiding this comment

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

same with this

Comment on lines +13 to +16
{{% alert title="Disambiguation" color="tip" %}}
If you want to act or send alerts based on computer vision, see [Act based on inferences](/data-ai/ai/act/) or [Alert on inferences](/data-ai/ai/alert/).
To alert based on data, see [Alert on data](/data-ai/data/advanced/alert-data/).
{{% /alert %}}
Copy link
Collaborator

Choose a reason for hiding this comment

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

I think this info fits more naturally with the Get an input step - where you have some of it already, That gets rid of the alert here too...

Comment on lines +13 to +16
{{% alert title="Disambiguation" color="tip" %}}
If you want to act or send alerts based on computer vision, see [Act based on inferences](/data-ai/ai/act/) or [Alert on inferences](/data-ai/ai/alert/).
To alert based on data, see [Alert on data](/data-ai/data/advanced/alert-data/).
{{% /alert %}}
Copy link
Collaborator

Choose a reason for hiding this comment

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

Suggested change
{{% alert title="Disambiguation" color="tip" %}}
If you want to act or send alerts based on computer vision, see [Act based on inferences](/data-ai/ai/act/) or [Alert on inferences](/data-ai/ai/alert/).
To alert based on data, see [Alert on data](/data-ai/data/advanced/alert-data/).
{{% /alert %}}

@JessamyT JessamyT merged commit ab57992 into viamrobotics:v3.0 Jan 3, 2025
2 of 7 checks passed
@JessamyT JessamyT deleted the jtv3 branch January 3, 2025 18:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants