Configuration#
GTA reads environment variables and the repository’s .env through
python-dotenv. Existing process environment variables take precedence.
Start applications from the repository root and restart them after configuration
changes. See sensitive data for credential handling.
This reference covers the GTA application, not optional benchmark settings.
The source of truth is config.py, the application entry points, and
.env.example; example values are not a calibrated workcell configuration.
Agents and model access#
Variable |
Purpose |
|---|---|
|
Credential for agents with provider |
|
Credential for agents with provider |
|
Required task agent provider/model |
|
Required recipe agent provider/model |
|
Required parameter agent provider/model |
|
Vision agent; configure explicitly for an available image-capable model |
|
Attach scene images to task requests; default false |
|
Attach scene images to recipe requests; default false |
|
Attach scene images to parameter requests; default false |
Providers are openai or gemini; there is no generic provider URL or
Claude backend. A provider name does not verify model access. Choose models
available to your account that support the requests the agent sends. If
USE_VISION is true, that agent needs image support too.
VisionModule sends its prepared image explicitly; it does not use a
VISION_MODULE_USE_VISION switch. Its code default is Gemini with
gemini-3.1-pro-preview; availability is not guaranteed, so do not rely on
the default as a recommendation. The other three provider/model pairs have
no usable code default.
For new OpenAI agents the current client sets reasoning effort medium
and text verbosity low. These are effective generation settings in
agents/base_agent.py, not general .env switches. Models must accept
the settings and API features used by the client. Gemini uses its native chat
configuration. Checkpoints preserve effective model, prompt, and generation
settings for continuation; changing the current default prompt does not
rewrite saved contexts.
Camera#
Variable |
Code default |
Meaning |
|---|---|---|
|
|
|
|
|
File input path; library working copies manage their own images |
|
|
Namespace used to derive topic names |
|
|
Topic-layout choice, not an installed driver |
|
unset |
Full ROS 2 RGB topic override |
|
unset |
Full ROS 2 point-cloud topic override |
|
|
ROS 1 master host |
|
|
ROS 1 master port |
|
Workcell-specific matrix |
JSON 4×4 camera-to-base calibration; replace with your calibration |
ROS 2 discovery uses the sourced environment, including ROS_DOMAIN_ID,
not the ROS 1 master settings. GTA does not force a universal domain ID.
Full topic overrides apply to ROS 2. See camera geometry
before assuming a compatible topic type is sufficient.
Robot, gripper, and tool#
Variable |
Code default |
Meaning |
|---|---|---|
|
|
Robot state/helper/server package |
|
|
Independent gripper package |
|
|
Robot-command and gripper middleware, |
|
|
Shared UR5e address for application interfaces |
|
|
Additional point offset in metres, local to the reported robot TCP |
|
|
Named local tool directions |
|
|
Selected ROS 2 action endpoint |
|
|
Action availability/operation wait policy |
|
|
Wait for all five GTA command subscriptions |
Camera and GTA backends are independent. UR5e and Robotiq implementations are bundled. Unknown device names fail instead of selecting a different device.
Tool values are validated for shape and finite values; named axes must be nonzero. They are not automatically normalized or made right-handed by configuration. Changing tool values requires restarting and generating a new script. See TCP and tool geometry. Standalone UR5e utilities may have separate code-defined addresses and poses.
Web applications#
Variable |
Default |
|---|---|
|
|
|
|
|
|
|
|
|
|
The applications are local operator tools without authentication. Do not expose them to an untrusted network. Disable development reload during hardware operation.