-
Notifications
You must be signed in to change notification settings - Fork 45
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
JT edits pt 2 #3776
Conversation
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. |
There was a problem hiding this comment.
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
There was a problem hiding this comment.
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?
There was a problem hiding this comment.
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 ?
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/): |
There was a problem hiding this comment.
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
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
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.
{{< cards >}} | ||
{{% card link="/dev/reference/apis/components/gantry/" %}} | ||
{{% card link="/dev/reference/apis/services/motion/" %}} | ||
{{< /cards >}} |
There was a problem hiding this comment.
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.
{{< 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.
There was a problem hiding this comment.
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?
There was a problem hiding this comment.
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. |
There was a problem hiding this comment.
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
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. |
There was a problem hiding this comment.
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
There was a problem hiding this comment.
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." |
There was a problem hiding this comment.
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
@@ -7,3 +7,179 @@ type: "docs" | |||
no_list: true |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
no_list: true |
There was a problem hiding this comment.
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
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Discussion in this thread: https://github.com/viamrobotics/docs/pull/3776/files/e8fdbd60ace40fabbd6185b484fb95a561987e2b#r1902276471
Co-authored-by: Naomi Pentrel <[email protected]>
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. |
There was a problem hiding this comment.
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
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/) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
same with this
{{% 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 %}} |
There was a problem hiding this comment.
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...
{{% 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 %}} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
{{% 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 %}} |
No description provided.