139 lines
4.2 KiB
YAML
139 lines
4.2 KiB
YAML
nodes:
|
|
- id: zed_camera_cpp
|
|
build: bash -lc "cmake -S dora_zed_cpp -B dora_zed_cpp/build && cmake --build dora_zed_cpp/build"
|
|
path: dora_zed_cpp/build/dora_zed_cpp
|
|
env:
|
|
ZED_RESOLUTION: "720"
|
|
ZED_FPS: "15"
|
|
ZED_DEPTH_MODE: "NEURAL"
|
|
ZED_DEPTH_MIN_MM: "10"
|
|
ZED_DEPTH_MAX_MM: "600"
|
|
ZED_DEPTH_FILL: "false"
|
|
ZED_FLIP: "ON"
|
|
ZED_WARMUP_FRAMES: "30"
|
|
inputs:
|
|
tick: dora/timer/millis/100
|
|
outputs:
|
|
- image_bgr
|
|
- camera_info
|
|
- point_cloud
|
|
- id: ulite6
|
|
build: uv pip install -e dora_ulite6
|
|
path: dora_ulite6/dora_ulite6/main.py
|
|
inputs:
|
|
tick: dora/timer/millis/10
|
|
command: voice/robot_cmd
|
|
outputs:
|
|
- tcp_pose
|
|
- status
|
|
env:
|
|
ROBOT_IP: "192.168.1.192"
|
|
DEFAULT_SPEED: "30"
|
|
DEFAULT_UNITS: "mm"
|
|
API_HOST: "0.0.0.0"
|
|
API_PORT: "9000"
|
|
VACUUM_ENABLED: "true"
|
|
# Initial position on startup: "home", "pose", or "none"
|
|
# Set to "none" - voice control handles initial positioning
|
|
INIT_MODE: "none"
|
|
- id: iobridge
|
|
build: |
|
|
uv venv -p 3.12 --seed --allow-existing
|
|
uv pip install -e dora_iobridge
|
|
path: dora_iobridge/dora_iobridge/main.py
|
|
env:
|
|
VIRTUAL_ENV: ./.venv
|
|
WS_HOST: "0.0.0.0"
|
|
WS_PORT: "9001"
|
|
inputs:
|
|
text_in: voice/voice_out
|
|
data_in: voice/scene_update
|
|
tick: dora/timer/millis/100
|
|
outputs:
|
|
- text_out
|
|
- id: detector
|
|
build: |
|
|
uv venv -p 3.12 --seed --allow-existing
|
|
uv pip install -e dora_yolo_object_detector
|
|
path: dora_yolo_object_detector/dora_yolo_object_detector/main.py
|
|
env:
|
|
VIRTUAL_ENV: ./.venv
|
|
IMAGE_INPUT: "image_bgr"
|
|
POINT_CLOUD_INPUT: "point_cloud"
|
|
POSE_INPUT: "tcp_pose"
|
|
OBJECTS_OUTPUT: "objects"
|
|
IMAGE_OUTPUT: "image_annotated"
|
|
CALIBRATION_FILE: "calibration_ulite6_zed.npz"
|
|
DETECTOR_WEIGHTS: "trained_models/yolo8n.pt"
|
|
CONFIG_FILE: "config.toml"
|
|
USE_ROI: "false"
|
|
SIZE_THRESHOLD: "4200"
|
|
DETECT_EVERY_N: "3"
|
|
MIN_DEPTH_MM: "10"
|
|
MAX_DEPTH_MM: "600"
|
|
inputs:
|
|
image_bgr: zed_camera_cpp/image_bgr
|
|
point_cloud: zed_camera_cpp/point_cloud
|
|
tcp_pose: ulite6/tcp_pose
|
|
tick: dora/timer/millis/100
|
|
outputs:
|
|
- objects
|
|
- image_annotated
|
|
- id: voice
|
|
build: |
|
|
uv venv -p 3.12 --seed --allow-existing
|
|
uv pip install -e "dora_voice_control[llm]"
|
|
path: dora_voice_control/dora_voice_control/main.py
|
|
env:
|
|
VIRTUAL_ENV: ./.venv
|
|
ROBOT_TYPE: "vacuum" # "vacuum" or "gripper"
|
|
OBJECTS_INPUT: "objects"
|
|
POSE_INPUT: "tcp_pose"
|
|
STATUS_INPUT: "status"
|
|
COMMAND_OUTPUT: "robot_cmd"
|
|
CONFIG_FILE: "config.toml"
|
|
# Map Spanish command names to detector class names
|
|
CLASS_MAP: '{"cilindro": "cylinder", "cubo": "cube", "estrella": "star", "caja": "box", "amarillo": "yellow", "rojo": "red", "azul": "blue", "blanco": "white", "grande": "big", "pequeno": "small"}'
|
|
VOICE_IN_INPUT: "voice_in"
|
|
VOICE_OUT_OUTPUT: "voice_out"
|
|
SCENE_OUTPUT: "scene_update"
|
|
TCP_OFFSET_MM: "63.0"
|
|
APPROACH_OFFSET_MM: "50.0"
|
|
STEP_MM: "20.0"
|
|
DEFAULT_ROLL: "180.0"
|
|
DEFAULT_PITCH: "0.0"
|
|
DEFAULT_YAW: "0.0"
|
|
DRY_RUN: "false"
|
|
# Object heights for stack-aware placement (in mm)
|
|
OBJECT_HEIGHT_DEFAULT: "40.0"
|
|
OBJECT_HEIGHT_CUBE: "40.0"
|
|
OBJECT_HEIGHT_CYLINDER: "40.0"
|
|
STACK_CLEARANCE_MM: "5.0"
|
|
# LLM provider for command parsing: "rules", "gemini", "ollama", "openai"
|
|
LLM_PROVIDER: "gemini"
|
|
LLM_MODEL: "gemini-2.0-flash"
|
|
# Initial position (used on startup and reset command)
|
|
INIT_ON_START: "true"
|
|
INIT_X: "250.0"
|
|
INIT_Y: "0.0"
|
|
INIT_Z: "400.0"
|
|
INIT_ROLL: "180.0"
|
|
INIT_PITCH: "0.0"
|
|
INIT_YAW: "0.0"
|
|
IMAGE_INPUT: "image_annotated"
|
|
IMAGE_WIDTH: "1280"
|
|
IMAGE_HEIGHT: "720"
|
|
API_ENABLED: "true"
|
|
API_PORT: "9002"
|
|
inputs:
|
|
objects: detector/objects
|
|
tcp_pose: ulite6/tcp_pose
|
|
status: ulite6/status
|
|
voice_in: iobridge/text_out
|
|
image_annotated: detector/image_annotated
|
|
tick: dora/timer/millis/100
|
|
outputs:
|
|
- robot_cmd
|
|
- voice_out
|
|
- scene_update
|