-
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
Dad 283 tutorial viam on vm #590
Dad 283 tutorial viam on vm #590
Conversation
Download the Ubuntu image: Ubuntu 22.04 LTS, "Jammy Jellyfish," from <a href="https://www.linuxvmimages.com/images/ubuntu-2204/ "> | ||
LinuxVMImages.com</a>[^ubuimage] | ||
|
||
[^ubimage]:Ubuntu 22.04 LTS, "Jammy Jellyfish," virtual image from Linuxvmimages: <<a href="https://www.linuxvmimages.com/images/ubuntu-2204/">ht<span></span>tps://www.linuxvmimages.com/images/ubuntu-2204/</a> |
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.
Are we sure this is a safe/trusted source for the VM image? I think its safer for us to instruct them to get the official Ubuntu ISO as per:
https://linuxhint.com/install-ubuntu22-04-virtual-box/
|
||
Since Viam-server only operates in linux and macOS environments, a virtual machine running a supported OS is the only way for Windows users to natively operate Viam from a Windows PC. | ||
|
||
Using a linux virtual machine provides Windows users with a means to use Viam to configure and operate robots. |
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 we need a better explanation of why someone would do this, as:
- They can configure robots through the viam app
- They can operate robots from the app and via an SDK running anywhere (including windows)
However, other than a mock robot can someone run an actual robot based on the windows/VM compute? We need to be clear.
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.
And those should probably be things we call out as alternative options before letting them continue to ensure they know they have options. If there are links to relevant docs, we can additionally link to those.
|
||
While connected to the robot, you can verify the operation of the fake arm from the **CONTROL** tab or through code, which would allow you to control and observe to positioning of the arm component in the terminal and in the GUI. | ||
|
||
#### Using the GUI |
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.
What GUI? I know you mean the control tab as mentioned above, but this might be confusing to the reader as you introduce a subsection for this when you've already told them they can control it from the CONTROL tab.
|
||
### Using the SDK | ||
|
||
Alternatively, you can programmatically perform random changes and observe the returned positional value changes in the terminal, as well as on the **CONTROL** tab using either the Python SDK or the GO SDK. |
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.
perform random changes is really non-specific - explain what you mean clearly
|
||
In this tutorial, you learned how to create a mock robot using fake components on a Linux virtual machine a Windows host. | ||
|
||
If you're ready to get started with building robots with real hardware components, you should pick up a Raspberry Pi and try building one of Viam's introductory robots on the [tutorials page in our documentation](https://docs.viam.com/tutorials/). |
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.
Here I think you are getting to the intent of the tutorial - to allow people to try Viam locally without a pi or other supported compute. We need to make this clear up front
Do not share your robot secret or robot address publicly. Sharing this information compromises your system security by allowing unauthorized access to your computer. | ||
{{% /alert %}} | ||
|
||
### Control the mock robot arm |
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 might suggest that "Control" is a section at the same header level as "Create"
tags: ["mock", "simulation", "virtual machine", "Windows"] | ||
--- | ||
|
||
**Objective**: Setup and configure viam-server and a mock robot in a linux virtual machine (VM) hosted on Windows. |
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 we normally have an "Objective"? This, the title, and description are all similar and thus repetitive
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.
+1 let's change the description to:
This tutorial provides instructions to install and configure viam-server on a virtual machine hosted on Windows and to use it with a mock robot.
|
||
**Objective**: Setup and configure viam-server and a mock robot in a linux virtual machine (VM) hosted on Windows. | ||
|
||
## What you’ll need for this tutorial |
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 should probably be part of "requirements" after the intro
* SSH Terminal software (e.g., Putty, TeraTerm, etc.) | ||
|
||
{{% alert title="Note" color="note"%}} | ||
VMare may be a viable option for hosting VMs for use with Viam. |
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.
typo: VMware
Also, we might want to say "VMware or other virtualization technologies may be a viable...
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 is not a very helpful note. Do we anticipate VMware or other virtualization software wouldn't work? If so just leave out the note. If not just say "You can also use other visualization software".
If your VM image uses FUSE3, libfuse2 is most likely _not_ installed and you must install libfuse2.<br> | ||
<file>sudo apt-get install libfuse2</file> | ||
|
||
* pip - The installation procedure requires pip.<br> |
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.
Only for the SDK, correct?
@@ -0,0 +1,242 @@ | |||
--- | |||
title: "How to setup Viam-Server on a Linux virtual machine hosted on Windows" |
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.
title: "How to setup Viam-Server on a Linux virtual machine hosted on Windows" | |
title: "Use viam-server on a Linux virtual machine hosted on Windows" |
^this tutorial goes further than just setup
@@ -0,0 +1,242 @@ | |||
--- | |||
title: "How to setup Viam-Server on a Linux virtual machine hosted on Windows" | |||
linkTitle: "Viam-server on a Linux VM on Windows" |
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.
Good - but I think we shouldn't capitalize viam-server
but use it as is since it's the name of the bianry
tags: ["mock", "simulation", "virtual machine", "Windows"] | ||
--- | ||
|
||
**Objective**: Setup and configure viam-server and a mock robot in a linux virtual machine (VM) hosted on Windows. |
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.
+1 let's change the description to:
This tutorial provides instructions to install and configure viam-server on a virtual machine hosted on Windows and to use it with a mock robot.
## What you’ll need for this tutorial | ||
|
||
* A laptop or desktop running Windows 10 or 11. | ||
* *Python 3.9+. |
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.
* *Python 3.9+. | |
* Python 3.9+. |
Do we actually need 3.9+? Anything in this that requires functionality that 3.0 doesn't have?
|
||
## What you’ll need for this tutorial | ||
|
||
* A laptop or desktop running Windows 10 or 11. |
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 can be omitted since it is in the title, so the premise is clear.
However: is this actually a requirement? If I ran a vm elsewhere would it not work?
1. Perform Step 1, "Download Viam app config to your computer." | ||
Click **COPY** on Step 1, then paste into the terminal window and press **Enter**. | ||
This step downloads the viam-server configuration file used by your robot to connect to app.viam.com. | ||
1. Perform Step 2, "Download and install viam-server" | ||
Click **COPY** on Step 2, then paste into the terminal window and press **Enter**. | ||
This step downloads and installs the most recent stable viam-server AppImage package. |
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 here we should just defer to the steps on the setup page rather than duplicating them - it will make this more evergreen in case the steps change.
Click **COPY** on Step 2, then paste into the terminal window and press **Enter**. | ||
This step downloads and installs the most recent stable viam-server AppImage package. | ||
|
||
If the configuration is correct, then the app displays a connection confirmation beneath Step 3 after a short wait, : |
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.
If the configuration is correct, then the app displays a connection confirmation beneath Step 3 after a short wait, : | |
Once you see a connection confirmation, the robot is configured and connected correctly: |
|
||
If the configuration is correct, then the app displays a connection confirmation beneath Step 3 after a short wait, : | ||
|
||
{{< figure src="../img/viam-on-vm/successful-connection.png" width="400px" alt="Successful connection message." title="Successful connection message." >}} |
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.
Does this figure need a title?
|
||
## Create a mock robot | ||
|
||
This section adds a fake motor and arm in the same manner as the [How to Build a Mock Robot](../tutorials/build-a-mock-robot/) tutorial. |
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 may not resolve - you are already in the tutorial folder so I think it shouldn't be in the file location
|
||
{{< figure src="../img/viam-on-vm/successful-connection.png" width="400px" alt="Successful connection message." title="Successful connection message." >}} | ||
|
||
## Create a mock robot |
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.
Why are we not just linking to the build a mock robot tutorial and leaving it at that? Is there something in particular that is different in this than in the other tutorial?
Will stop review here for now until that questio in answered
You can view a rendered version of the docs from this PR at https://docs-test.viam.dev/a2f3acd7b00fa7d739da505b6d99684667d981f6/public |
|
Please note that the footnote shortcode is still broken. Lines 45 and 52 look that way because hugo wasn't allowed to render the footnotes.
This tutorial installs VirtualBox and Ubuntu VM image on a windows machine. After installing viam-server, it adds a fake arm and motor and uses python to generate movement in the arm. arm-move.py is a version of Joe's index.py and other code from the mock bot tute.