Install GTA#
Outcome: open the planning dashboard with an image file, without connecting to ROS or a robot.
Prerequisites: the release source folder, a Linux terminal, Python 3.10
with venv, Node.js 22 with npm, and access to a supported model provider.
These instructions use the Ubuntu 22.04 / Python 3.10 environment associated
with the ROS 2 Humble reference workcell. Other platforms require their own
dependency validation.
1. Create the application environment#
Run all commands from the release’s root folder—the directory containing
main.py, config.py, and requirements.txt.
python3.10 -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip
python -m pip install -r requirements.txt
Use the same activated Python environment each time you start GTA. Do not install ROS packages with pip. Hardware setup later uses a Python environment compatible with the sourced ROS installation; see ROS 2 setup.
2. Build the web interface#
cd frontend
npm ci
npm run build
cd ..
This builds both web entry points. The Python applications serve these built files; you do not need a separate frontend development server for normal use.
3. Create your private configuration#
If you do not already have a .env file:
cp .env.example .env
Edit .env locally. Configure all four agents.
Supported provider values are openai and gemini; each configured provider
needs its corresponding key. You can use one provider for all agents or mix
them.
Agent |
Required settings |
|---|---|
Task Decomposer |
|
Skill Generator |
|
Parameter Setter |
|
Vision Module |
|
For example, the following template selects Gemini for every agent. Replace the key and model placeholders with your own settings:
GEMINI_API_KEY=YOUR_PRIVATE_API_KEY
TASK_DECOMPOSER_PROVIDER=gemini
TASK_DECOMPOSER_MODEL=YOUR_VISION_MODEL_ID
SKILL_GENERATOR_PROVIDER=gemini
SKILL_GENERATOR_MODEL=YOUR_VISION_MODEL_ID
PARAMETER_SETTER_PROVIDER=gemini
PARAMETER_SETTER_MODEL=YOUR_VISION_MODEL_ID
VISION_MODULE_PROVIDER=gemini
VISION_MODULE_MODEL=YOUR_VISION_MODEL_ID
TASK_DECOMPOSER_USE_VISION=true
SKILL_GENERATOR_USE_VISION=true
PARAMETER_SETTER_USE_VISION=true
CAMERA_BACKEND=file
CAMERA_IMAGE_PATH=environment.jpg
GTA_BACKEND=ros2
Use model IDs available to your account. Every agent with vision enabled,
and always the Vision Module, needs an image-capable model. For OpenAI, use
OPENAI_API_KEY, provider openai, and models compatible with GTA’s Responses/
Conversations use and current generation settings. See the
configuration reference.
Create keys using the provider’s official instructions: OpenAI API setup or Gemini API keys. See sensitive data for handling credentials and saved outputs.
GTA_BACKEND selects the command transport; CAMERA_BACKEND=file selects
image-file input independently.
4. Prepare the example image#
Copy the bundled example image to the runtime image location:
cp docs/_static/images/cube-scene.jpg environment.jpg
If your root environment.jpg already contains an image you want to keep,
back it up or use a different CAMERA_IMAGE_PATH instead. Use a separate
runtime path for live camera captures.
5. Start and verify#
python main.py
Open http://127.0.0.1:8000. The page should show the cube scene and no
configuration error. Missing ROS is expected for this image-only workflow.
Optionally inspect the local health response:
curl http://127.0.0.1:8000/api/health
The service should report ready: true. This confirms local configuration,
not successful provider authentication; the first generation checks that path.
Next: your first task. If setup fails, use installation troubleshooting.