--
This article focuses on our Streaming Simulation offering.
If you are interested in our Remote Simulation, click here to schedule a demo and request access to our limited preview.
If you are looking to participate in the CARLA leaderboard, click here.
--
We'll get a CARLA instance up and running in the cloud and streaming to local docker based agents. (learn more about non docker based agent configuration here)
We'll take you for a spin around the CLI tools first for launching different configurations of streaming simulation. We'll link to areas for exploration along the way and then link to some deeper details at the very end.
Prerequisites
Create your Alpha Drive Account
Install NodeJS: Version 10 or newer
Install Docker CE (optional for local docker agents)
After installing these prerequisites, you can install the alphadrive CLI from NPM.
Installation
Fire up your command prompt/terminal and run:
Linux:
Apt-get is the preferred method of installation for the cli on Linux:
curl http://dist.alphadrive.ai/install-ubuntu.sh | sh -
Alternately, the cli is available via npm for easy installation:
sudo npm install -g @alphadrive/cli
Windows/Mac:
npm install -g @alphadrive/cli
Mac Additional Steps:
The sample agents with streaming visualizations require a local X11 server. You can use brew.org to install the xquartz.org X11 server on mac.
brew cask install xquartz
After install, please execute these command in the terminal and launch/restart XQuartz from your /Applications folder:
defaults write org.macosforge.xquartz.X11 nolisten_tcp -int 0
Running the alpha command:
Now you will have an "alpha" command on your path and your environment configured, you can authenticate with the service and connect to your account:
alpha login
This will open a browser window where you can login and complete the authorization.
Download the demo:
alpha init demo
cd demo
ls
You'll see some example agent scripts for the CARLA simulator as well as a alphadrive.yml configuration script.
Our streaming execution command is as follows:
alpha drive <profile>
Profiles configurations defined in the alphadrive.yml file that include the agent and parameters to run it with. (learn more about profile configuration here)
Manual Test Drive:
Now, let's and take the CARLA simulator out for a (manual) test drive:
alpha drive manual
In the 'manual' profile, we have configured the profile to run the manual_control agent and visually display it in a window. A streaming instance of the CARLA simulator will spin up and start running CARLA.
This is the car's view of the world.
You can control the manual instance by using the controls specified on screen from your keyboard to control the car.
Now let's see a different profile configuration for the CARLA simulator and launch the mapview profile:
alpha drive mapview
This view of the world shows the an overview of the area - great for focusing on planning.
Now let's test an agent without the visual feedback - an agent configured to run the simulator in headless mode.
alpha drive headless
(learn more about configuring for visual mode here and learn more about configuring for headless mode here)
While the agent was running, all of the output was configured to be stored in the _out folder under the session id. (learn more about configuring streaming logging here)
Take a look.
ls _out/<session_id>
Going Beyond the Demo:
Those are the basics of how to use the Alpha Drive developer platform cloud tools.
In this example, all of the agents were running locally via a docker environment.
Alpha Drive has support for native agents interacting with our streaming simulation service.
We'll be writing more articles on how to get up and running from scratch, how to create your own templates and other details about agent development soon. In the mean time take a look at the files to learn more. (and of course learn more about the CARLA simulator here)