Skip to content

sc_port_2 target fails: frame does not exist #453

Description

@Priest123-stack

Description

According to the task board documentation, Zone 2 supports up to five SC ports distributed across two rails, which motivated us to build a more diverse SC dataset with >2 SC targets.

Reference:

  • task_board_description.md states: “Supports up to five SC ports...” (Zone 2).

When using an SC data collection config that sets task_1.target_module_name: sc_port_2 and defines sc_rail_0..sc_rail_4, the task board still spawns only sc_port_0 and sc_port_1.
During task execution/scoring, aic_engine fails because TF frame task_board/sc_port_2/sc_port_base_link is missing.

Expected: sc_port_2 should be spawned (or config should be rejected early with a clear validation error).
Actual:

Runtime error during scoring: Transform between aic_world and task_board/sc_port_2/sc_port_base_link not found ... Invalid frame ID ... frame does not exist.

This indicates a mismatch between documented task-board capacity (up to 5 SC ports) and the currently exposed simulator/evaluation SC target modules.

Setup method

Docker + Distrobox + Pixi (recommended)

OS

Ubuntu 24.04.3 LTS

System specs

CPU: 12th Gen Intel(R) Core(TM) i9-12900KF (24 CPUs reported)
RAM: 31 GiB
GPU: NVIDIA GeForce RTX 3090 (24576 MiB)
GPU driver: 580.126.09

Steps to reproduce

  1. Generate expanded trial config from the SC five-port template.
trial_variations:
- name: trial_bug_sc_five_ports_target_2
  overrides:
    scene.task_board.pose.x: 0.17
    scene.task_board.pose.y: 0.0
    scene.task_board.pose.z: 1.14
    scene.task_board.pose.roll: 0.0
    scene.task_board.pose.pitch: 0.0
    scene.task_board.pose.yaw: 3.0

    scene.task_board.sc_rail_0.entity_present: true
    scene.task_board.sc_rail_0.entity_name: sc_mount_0
    scene.task_board.sc_rail_0.entity_pose.translation: 0.006
    scene.task_board.sc_rail_0.entity_pose.roll: 0.0
    scene.task_board.sc_rail_0.entity_pose.pitch: 0.0
    scene.task_board.sc_rail_0.entity_pose.yaw: 0.0

    scene.task_board.sc_rail_1.entity_present: true
    scene.task_board.sc_rail_1.entity_name: sc_mount_1
    scene.task_board.sc_rail_1.entity_pose.translation: 0.024
    scene.task_board.sc_rail_1.entity_pose.roll: 0.0
    scene.task_board.sc_rail_1.entity_pose.pitch: 0.0
    scene.task_board.sc_rail_1.entity_pose.yaw: 0.0

    scene.task_board.sc_rail_2.entity_present: true
    scene.task_board.sc_rail_2.entity_name: sc_mount_2
    scene.task_board.sc_rail_2.entity_pose.translation: 0.041
    scene.task_board.sc_rail_2.entity_pose.roll: 0.0
    scene.task_board.sc_rail_2.entity_pose.pitch: 0.0
    scene.task_board.sc_rail_2.entity_pose.yaw: 0.0
  1. Start sim/model stack.
  2. In another terminal, run aic_engine.
Image

Relevant log output

[ERROR] [aic_engine]: Transform between aic_world and task_board/sc_port_2/sc_port_base_link not found in the tf tree, error: Invalid frame ID "task_board/sc_port_2/sc_port_base_link" passed to canTransform argument source_frame - frame does not exist

Additional context

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions