How to Set Up and Use the Virtual Robotics Toolkit in a Hosted Environment

The following content is credited to Ariel Hershler of Learning Works. His personal and professional links can be found below:


Background

During the current COVID-19 pandemic, many teams around the world are unable to meet up physically to work on designing and programming their robot. Some teams are able to meet physically only outdoors, which is not an appropriate environment for working on the robot. Many teams are unable to meet at all, holding all of their team meetings using collaboration tools such as Zoom or Microsoft Teams. These tools work reasonably well for general team discussions, breakout sessions, working on the research project, etc.; however, teams would like to start working on designing, building and programming their robots. This blog shows a way to do this.

Cogmation Robotics Inc.’s Virtual Robotics Toolkit (VRT)

The VRT is an advanced robot simulator. A team can import a robot design made using Lego CAD tools such as Lego Digital Designer (LDD), BrickLink Studio 2.0, and others. The VRT converts this imported robot design into a very precise, working simulation of a robot, which can be programmed using either the legacy Lego EV3 Programming environment (based on LabView), or using the new Lego Classroom Programming environment (based on Scratch). The VRT can execute the programming with great accuracy, showing the simulated robot performing the programming in a 3D simulation which can be viewed from all angles.

Because it is so advanced, for optimal results the VRT requires a fairly high end computer with a graphics processor (GPU). For a detailed list of system requirements, see Cogmation’s FAQ page.

These computers can be fairly expensive. To lower the cost for teams to use the VRT, this blog shows a way to set up and use the VRT in a hosted environment. This blog shows how to do this using Amazon Web Services (AWS), although the techniques shown here will work for many other hosted environments, as long as they offer the option to include a dedicated graphics processor (GPU).

Please note that since we need to use a high-end computer with a dedicated graphics processor, we cannot take advantage of the AWS Free Tier. To set this up, one will, at a minimum, need to pay a monthly fee and a per-hour fee, in addition to any software licensing charges. Depending on your usage pattern, it may be cheaper to pay a higher monthly fee with no hourly charges.

Setting up an AWS WorkSpaces Account and Logging in to the AWS Console

a) Click this link: https://aws.amazon.com/workspaces/

b) Click on this button:

c) You will be asked to either sign in, or create a new AWS account. To set up a new account, click on

d) You will get a screen like this:

We recommend using a dedicated email address for this account, as it will have a lot of permissions, including the ability to set up and configure new services, thereby incurring financial charges. You should check that you have access to emails received by this email address.

We recommend using a strong password for this account, such as a password consisting of 25 random upper-case and lower-case characters as well as digits and symbols.

After entering this basic information, you will be taken to a few more screens, asking for your contact information and credit card details. Your credit card will be verified with a temporary charge, and your phone number will be verified with a text message (SMS) or a voice call.

When you have successfully entered all of this information, you will be asked to select a Support Plan. We are using the free Basic Plan. You can always change this later from the AWS Console.

When you are done, AWS will create your account and send you an email when your account is ready.

When your account is ready, you will be able to log in to the AWS Console.

Setting up the WorkSpaces Virtual Computer with Graphics Processor (GPU)

Once you have logged in to the AWS Console, either type in “WorkSpaces” in the search bar on top, or find “WorkSpaces” by expanding “All Services” and looking under “End User Computing”:

Next, you’ll need to select the region where your virtual computer will be hosted. In general, you should pick a region that is geographically closest to you. However, please note that not all regions support the Graphics bundle we want to use. Therefore, if you select a region and then are unable to continue according to this write-up, you’ll need to select a different region.

For the purposes of this blog, I selected US-West (Oregon).

Once you select the region, you will see a screen like this:

a) Click the button.

b) On the next screen, you can click the first button if you’re just setting up one virtual environment. Skip to step f) if you want more control over the process, or if you tried this and didn’t have success.

c) On the next screen, select “Graphics” from the second dropdown (do not select “Graphics Pro” as that is a more expensive bundle not needed for our purposes), and then select “Graphics with Windows 10” in the list:

Please note that if these choices are not available, you will need to select a different region by changing the selected region in the top right hand corner of the AWS Console.

d) Below the list in which you just selected “Graphics with Windows 10”, you will see the following:

We strongly recommend entering a different user account and not the AWS Console user you created earlier. 

The user account entered here is comparable to the local administrative account on a regular Windows computer: it will be used to log into the virtual environment and can modify that environment by installing or removing applications and make other changes.  

Consider that this account will usually be used by the team mentor(s).

The email address you fill out here will receive an email with details on how to set a password, download the AWS WorkSpaces client software, and access the virtual environment. Please note that all of this will be used only by the team mentor(s).

e) After filling in these details, click on .

It may take a considerable time (up to 20 minutes) until the user account entered in step d) receives  an email with the aforementioned details. You must wait until the virtual computer has been provisioned by AWS WorkSpaces. If you get an error message, you may want to continue with the next step.

f) Under some circumstances, the above process may not succeed in provisioning an AWS WorkSpace. Here we are documenting the steps taken to do the process manually, step by step. This is also useful in case you want more control over the process, or if you already had one or more virtual computers and need to add more.

g) The first thing you need to set up is an AWS directory. This is like a phonebook of all your users. If you are coming from the AWS Console, click WorkSpaces. Then, click Directories in the menu on the left. If there already is a directory in the list, you can skip the next step, which explains a bit about setting up a directory.

h) To set up a directory, click on .

You will be asked to select which type of directory you want to set up. In most cases, we recommend using “Simple AD”, which is included in the cost of WorkSpaces. If you use other Microsoft services, you may want to create a “Managed Microsoft AD”, at additional cost. If you are part of an organization that uses Microsoft Active Directory to manage its users, you may want to create an AD Connector so that the AWS services can access the existing Active Directory of your organization.

i) Assuming you have a directory, click on WorkSpaces in the menu on the left, and then click  .

j) The first step is to select the directory that will include the new virtual computer and its user account(s). If you already have a directory, it should already be selected in the drop-down list. If you have more than one directory, select the one appropriate for this computer. If you do not have any directories yet, go back to step h).

Click on .

k) In this step we either create or select the user for whom we are creating this WorkSpace. If you have a Simple AD, we recommend clicking on to see a list of all users included in the directory. The resulting list may include the username for whom we are creating this WorkSpace. If so, select that user, then click .

If the list of users does not include an appropriate username, fill out the fields in the top part of the screen and click  .

At the bottom of the screen, there should now be a list with the username for whom we are creating this WorkSpace. 

Click .

l) In this step, select “Graphics” from the second dropdown (do not select “Graphics Pro” as that is a more expensive bundle not needed for our purposes), and then select “Graphics with Windows 10” in the list:

Please note that if these choices are not available, you will need to select a different region by changing the selected region in the top right hand corner of the AWS Console.

In the bottom part of the screen, the selected bundle should be assigned to the username you selected in the previous step. 

Click .

m) In this step, we select the Running Mode. We recommend “AutoStop”, but if you are going to use this WorkSpace for an extensive number of hours each month, the “AlwaysOn” option may work out cheaper.

We are not using encryption, so keep the two checkboxes in the middle of the screen clear.

Tags are useful if you have multiple WorkSpaces and wish to tag them individually so you can identify the cost of each WorkSpace in the reports. 

Click .

n) In this step you can review the WorkSpace that is about to be launched (i.e. created). Note that the WorkSpace you are about to create is not free; you will be billed for the cost of creating this WorkSpace and for running it. 

After reviewing the details, click on to create the WorkSpace.

o) You may receive a warning in the top of the screen:

In this case, you will need to open a service request to increase the limit. Click on this link to open the appropriate service request: https://console.aws.amazon.com/support/home#/case/create?issueType=service-limit-increase&limitType=service-code-workspaces

In the service request you will need to request an increase specifically for the “Graphics” WorkSpace. You will receive an email when the service request has been processed, whereupon you will need to go back to step f).

p) As noted earlier, it may take up to 20 minutes until the user selected in step k) receives an email with the instructions on how to continue.

Logging in to the New WorkSpace for the First Time

The user selected during the WorkSpace launching process described in the previous paragraph, will receive an email with further instructions. This paragraph describes these instructions.

a) The email includes a link. Either click on the link in the email, or copy and paste the entire link, taking care not to copy any preceding or following spaces. 

When this link opens, you will see the below window asking for a new password for the user account. Most of the other fields will have already been filled out. 

We recommend using a strong password for this account, such as a password consisting of 25 random upper-case and lower-case characters as well as digits and symbols.

After filling in the “New Password” and the “Confirm new password” fields, click on the button.

b) You will be automatically logged in. At the bottom of the screen you will find icons for the various client downloads for different operating systems: 

Download, install, and run the client for the operating system of the device on which you will be accessing the WorkSpace.

c) When you run the client, you will see this screen:

d) Enter the registration code from the email you received earlier, and click the “Register” button.

e) You will then see the following screen, asking for your credentials to the WorkSpace:

f) Enter the username (as stated in the email) and the password (as set in step a) for the user account assigned to this WorkSpace, and click “Sign In”.

g) You should now have access to the remote WorkSpace. We strongly recommend searching for and applying all security updates before continuing with the next steps. Note that applying security updates may require one or more restarts of the WorkSpace, during which you will be disconnected and will need to log in again.

Completing the Setup of the WorkSpace

After logging into the WorkSpace for the first time, and applying all security updates, download and install the following software, in the listed order, onto the WorkSpace:

After installing all of the above software, launch VRT, enter Advanced Mode by pressing F12 on your keyboard (or Fn+F12 on Mac), and select “Patch Lego Digital Designer” from the Help menu.

To allow the EV3 programming environment to open without issues, open Internet Options from the Control Panel, select the Security tab, click “Custom”, and set all options to “Enable”, even though some of these are insecure. As long as you do not use Internet Explorer to browse the Internet (use Firefox or Chrome instead), this should not actually cause any issue. 

7. How to use the WorkSpace

Whenever a team wishes to use the WorkSpace collaboratively, follow these steps:

a) The mentor runs the WorkSpaces client and logs in to the WorkSpace as described earlier.

b) The mentor also schedules a Zoom session and starts this Zoom session from their own device (we recommend not to start the Zoom session on the WorkSpace so that the WorkSpace will not be the host of the Zoom session).

c) If so desired, the mentor prepares the WorkSpace for the work the team is to work on (i.e. opens a VRT session, imports a robot, opens the programming, etc.)

d) The mentor runs Zoom on the WorkSpace and joins the Zoom session.

e) The mentor invites the team members to the Zoom, and the team discusses the work to be done.

f) When ready to work on the WorkSpace, the mentor allows the Zoom session on the WorkSpace to share its screen (through the WorkSpaces client), and approves requests to control the screen by team members.

g) Files can be shared with the WorkSpace through the “Files” feature of the Zoom Chat. Of course, the mentor may also install the Amazon WorkDocs client, allowing automatic synchronizing of selected files between the mentor’s local device and the WorkSpace. A detailed description of this feature is beyond the scope of this document.

h) When the session is finished, close all programs including Zoom on the WorkSpace, and then log out of the WorkSpace session using the WorkSpace client. If the WorkSpace is set up for “AutoStop” as recommended in this document, you will be billed only for the time the WorkSpace client is connected to the WorkSpace.

Read More