Need a clarification. For qualification phase, will the policy be tested with multiple NIC and SC plug instances on the task board in respective rails/slots or is the number restricted to at most 1?
1 Like
As far as I understand - and I’d love a confirmation on my understanding too - there will be only one SC port per rail, so a max of two SC ports (one per rail) :
* One or both SC ports are mounted on the task board: `SC_PORT_0` on `SC_RAIL_0` and `SC_PORT_1` on `SC_RAIL_1`, each with a random translation along its rail. Only one SC port will be the target port.
### Trial 3: Generalization (SC)

* **Objective:** Verify the policy's ability to generalize across different plug and port types.
* **Start State:**
* The robot is grasping the `SC_PLUG` end of the same [sfp_sc_cable](../aic_assets/models/sfp_sc_cable/).
* The task board is spawned with a randomized pose (position and yaw angle). While multiple components and SC ports may be present on the board, the specific target port of interest will always be within view of the robot cameras.
* One or both SC ports are mounted on the task board: `SC_PORT_0` on `SC_RAIL_0` and `SC_PORT_1` on `SC_RAIL_1`, each with a random translation along its rail. Only one SC port will be the target port.
* The opposite end of the cable (SFP module) remains free and unconnected.
* **Manipulation Task:** Insert the grasped `SC_PLUG` into one of the SC ports (`SC_PORT_0` or `SC_PORT_1`, as specified by `aic_engine`), ensuring alignment with the task board's SC rails.
## 3. Evaluation Metrics & Scoring
See [Scoring](scoring.md) for details.
---
And multiple NIC cards may be present:
While multiple components and NIC cards may be present on the board…
> The exact number and sequence of trials during final evaluation may be subject to change. However, they will always consist of some combination of the SFP and SC insertions described below.
### Trial 1 and 2: Policy validity and convergence

* **Objective:** Verify policy convergence and the ability to handle randomized NIC poses. The only difference between these two trials is the randomness in 1) the pose of the task board, 2) which `NIC_RAIL` the `NIC_CARD` gets spawned on, and 3) the translation and orientation offset of the `NIC_CARD` on that `NIC_RAIL`.
* **Start State:**
* The robot is grasping the `SFP_MODULE` plug end of an [sfp_sc_cable](../aic_assets/models/sfp_sc_cable/).
* The task board is spawned with a randomized pose (position and yaw angle). While multiple components and NIC cards may be present on the board, the specific target port of interest will always be within view of the robot cameras.
* One or more `NIC_CARD`s are mounted on randomly selected `NIC_RAIL`s (there are 5 rails: `nic_rail_0` through `nic_rail_4`) each with a random translation (along its rail) and a random yaw offset.
* The opposite end of the cable (SC plug) remains free and unconnected.
* **Manipulation Task:** Insert the grasped `SFP_MODULE` plug into either `SFP_PORT_0` or `SFP_PORT_1` on the spawned NIC card (the task config from `aic_engine` will specify which).
### Trial 3: Generalization (SC)

* **Objective:** Verify the policy's ability to generalize across different plug and port types.
Can we get this understanding confirmed?