Wiki | Home | Documentation | Tutorials | Qualifiers | Finals
- By June 7th (mindnight EST), competitors must submit their scripts for evaluation. An extension is possible (no more than a week) as long as the NIST team agrees.
- 7-11 June 2021 - Competitors submission will be evaluated and the results will be posted on June 11th. If an extension is provided, this evaluation week will be pushed back.
Similar to the qualifiers, competitors' systems will be evaluated headless in docker. More information on the submission and evaluation processes can be found here.
We have provided 3 configuration files for practice. Each configuration file is part of a scenario (see Scenarios). Note: These 3 configuration files consist of the most complex trials and similar ones will used during the evaluation for the finals.
- finals_practice1.yaml:
- This trial is part or Scenario 1.
- Competitors are required to build 2 orders. The first order
order_0
must be built onagv3
and delivered toas3
. The second order,order_1
, is not a high-priority order (priority = 1).order_1
will be announced onceorder_0
is shipped to the correct station.assembly_pump_blue
must be flipped inorder_1
. Onceorder_1
is announced the status of the kitting robot will be set to 0 (check the topic/ariac/robot_health
), meaning the kitting robot cannot be used to completeorder_1
and the gantry is required fororder_1
. Since the controllers for the kitting robot are still active even though the robot is disabled, competitors should position the kitting robot so it stays out of the way of the gantry duringorder_1
. - Agility challenges present in this trial are: part re-orientation and faulty products.
- Products can be found only in bins and the conveyor belt is not used.
- The script finals_practice1.sh can be used to visualize the expected results and scores for this trial.
- Run it with
rosrun nist_gear final_practice1.sh
- Run it with
- The score breakdown for this trial is given below:
[ INFO] [1622240698.540821194, 18.454000000]: End of trial. Final score: 16
Score breakdown:
[trial_score]
...total trial score: [16]
...total process time: [9.607]
...arms collision?: [0]
...dropped part penalty: [0]
[order score]
...order ID [order_0]
...total order score: [8]
...completion score: [8]
...time taken: [3.091]
...priority: [1]
[kitting score]
...shipment type: [order_0_kitting_shipment_0]
...completion score: [8]
...complete: [true]
...submitted: [true]
...used correct agv: [true]
...sent to correct station: [true]
...product type presence score: [2]
...product color presence score: [2]
...product pose score: [2]
...all products bonus: [2]
[order score]
...order ID [order_1]
...total order score: [8]
...completion score: [8]
...time taken: [3.516]
...priority: [1]
[kitting score]
...shipment type: [order_1_kitting_shipment_0]
...completion score: [8]
...complete: [true]
...submitted: [true]
...used correct agv: [true]
...sent to correct station: [true]
...product type presence score: [2]
...product color presence score: [2]
...product pose score: [2]
...all products bonus: [2]
- finals_practice2.yaml:
- This trial is part of Scenario 2 and consists of 2 orders.
agv1
andagv2
are loaded with products and are located at stationas2
.agv4
is loaded with products and is located at stationas4
.order_0
consists of adding products in the ventilator located at stationas2
. Competitors should use products fromagv1
andagv2
to do assembly. Each AGV has an extra product just in case the robot drops a product during assembly. If for some reasons the robot drops all products located on the AGVs, competitors can still find those products inbin1
andbin2
.order_1
is a high-priority order (priority = 3). This order will be announced as soon as one product is placed in the ventilator atas2
(duringorder_0
). As soon asorder_1
is announced, competitors must postponeorder_0
and prioritizeorder_1
. Onceorder_1
is shipped, competitors should resumeorder_0
.- To complete
order_1
, competitors should use one of the products located onagv4
. One extra pump is provided on the AGV in case the robot drops the first pump. Extra pumps can be found inbin3
. - The conveyor belt is not used in this trial.
- Agility challenges present in this trial are: in-process order change.
- The script finals_practice2.sh can be used to visualize the expected results and scores for this trial.
- Run it with
rosrun nist_gear final_practice2.sh
- Run it with
- The expected final score for this trial is depicted below.
- To complete
[ INFO] [1622240698.540821194, 18.454000000]: End of trial. Final score: 56
Score breakdown:
[trial_score]
...total trial score: [56]
...total process time: [12.021]
...arms collision?: [0]
...dropped part penalty: [0]
[order score]
...order ID [order_0]
...total order score: [14]
...completion score: [14]
...time taken: [0]
...priority: [1]
[assembly score]
...shipment type: [order_0_assembly_shipment_0]
...completion score: [14]
+2pts x (nb of products with CT & CP): [4]
+1pt x (nb of products with CC): [2]
+bonus: 4pts x (nb of products with CT & CP & CC) = [8]
...complete: [true]
...shipped: [true]
...number of products shipped: [2]
...has faulty products: [false]
...has missing products: [false]
...has unwanted products: [false]
...number of products shipped with correct type (CT): [2]
...number of products shipped with correct pose (CP): [2]
...number of products shipped with correct color (CC): [2]
...correct assembly station: [true]
[order score]
...order ID [order_1]
...total order score: [42]
...completion score: [14]
...time taken: [0]
...priority: [3]
[assembly score]
...shipment type: [order_1_assembly_shipment_0]
...completion score: [14]
+2pts x (nb of products with CT & CP): [4]
+1pt x (nb of products with CC): [2]
+bonus: 4pts x (nb of products with CT & CP & CC) = [8]
...complete: [true]
...shipped: [true]
...number of products shipped: [2]
...has faulty products: [false]
...has missing products: [false]
...has unwanted products: [false]
...number of products shipped with correct type (CT): [2]
...number of products shipped with correct pose (CP): [2]
...number of products shipped with correct color (CC): [2]
...correct assembly station: [true]
- finals_practice3.yaml:
- This trial is part of Scenario 3 and consists of 2 orders.
order_0
is specific to kitting. The order consists of 2 shipments which must be built onagv1
andagv2
and delivered toas2
. The kitting robot will be disabled as soon as 1 product is placed in the kit tray ofagv2
. Competitors are required to use the gantry to finish the kit(s).- Products to build the kits are found in bins and on the belt.
order_1
is a not a high-priority order (priority = 1). This order will be announced as soon as soon asagv2
is shipped toas2
.- To complete
order_1
, competitors should use the products located onagv1
andagv2
. - Agility challenges present in this trial are: faulty products.
- The script finals_practice3.sh can be used to visualize the expected results and scores for this trial.
- Run it with
rosrun nist_gear final_practice3.sh
- Run it with
- The expected final score for this trial is depicted below.
- To complete
[ INFO] [1622258529.378782466, 37.085000000]: End of trial. Final score: 30
Score breakdown:
[trial_score]
...total trial score: [30]
...total process time: [23.749]
...arms collision?: [0]
...dropped part penalty: [0]
[order score]
...order ID [order_0]
...total order score: [16]
...completion score: [16]
...time taken: [15.389]
...priority: [1]
[kitting score]
...shipment type: [order_0_kitting_shipment_0]
...completion score: [8]
...complete: [true]
...submitted: [true]
...used correct agv: [true]
...sent to correct station: [true]
...product type presence score: [2]
...product color presence score: [2]
...product pose score: [2]
...all products bonus: [2]
[kitting score]
...shipment type: [order_0_kitting_shipment_1]
...completion score: [8]
...complete: [true]
...submitted: [true]
...used correct agv: [true]
...sent to correct station: [true]
...product type presence score: [2]
...product color presence score: [2]
...product pose score: [2]
...all products bonus: [2]
[order score]
...order ID [order_1]
...total order score: [14]
...completion score: [14]
...time taken: [0]
...priority: [1]
[assembly score]
...shipment type: [order_1_assembly_shipment_0]
...completion score: [14]
+2pts x (nb of products with CT & CP): [4]
+1pt x (nb of products with CC): [2]
+bonus: 4pts x (nb of products with CT & CP & CC) = [8]
...complete: [true]
...shipped: [true]
...number of products shipped: [2]
...has faulty products: [false]
...has missing products: [false]
...has unwanted products: [false]
...number of products shipped with correct type (CT): [2]
...number of products shipped with correct pose (CP): [2]
...number of products shipped with correct color (CC): [2]
...correct assembly station: [true]
-
How many trials will be run?
- The competition will be made up of 15 trial runs.
- Each trial run will use a unique competition scenario configuration, including any combination of the released agility challenges.
-
Will there be a time limit for each trial run?
- Yes, 500 simulation seconds. With a real-time factor of 1.0, this equates to 500 real seconds. With a real-time factor of 0.5, this equates to 1000 real seconds.
- Teams can listen to the
/clock
ROS topic to know the simulation time (see 'Using Simulation Time from the /clock Topic'). - The trial will automatically end once the time limit is reached; only shipments that have been submitted by that time will be counted.
-
Can each trial run be done with different solutions? E.g., using a scanner over the belt in one trial, but using a logical camera over the belt in another trial?
- One sensor configuration file is to be used for all trials.
- Teams must provide a single "system" that will be used for all trials: the same system will be run multiple times in exactly the same way.
- The system will not have access to the trial number or other information about the trial configuration at startup time.
-
Are re-runs ever permitted?
- The only circumstance in which re-runs will be warranted are if a bug in the simulation impacts the competitor's performance in a trial.
- If you believe you have been impacted by a bug in the simulation, please open a ticket on Github and we will investigate the issue.
-
Is control of the arm permitted before the competition has started?
- No, control of anything in the environment is not permitted before the
start_competition
service has been called, including the arm and the AGVs. - Behavior counter to this will be detected on review of trials.
- No, control of anything in the environment is not permitted before the
-
Which storage bins will be used to store products?
- The same storage (bins and belt) used in the Qualifiers will be used in the Finals. In a given trial, some storage bins may be empty and the belt not be used at all.
- There will be at most one type of product per bin and at most two types of product on the belt.
-
Which products will be used in the competition?
- The 4 models used in Qualifiers will be used in the Finals; no additional products will be added.
-
Will storage bins ever contain more than one type of product?
- No, there will be at most one type of product per bin.
-
How can we know the starting configuration of products in the bins?
- The number of products that are stored in a given bin and their configuration will vary with each trial run.
- Sensors should be used to detect the product types and their configurations; the information will not be communicated to teams through other means.
- Within a storage bin, the product type and origination are homogeneous.
- Product IDs (reported by logical cameras) will be randomized.
- All products will start in the storage bins un-flipped.
-
How many orders per trial run can be expected?
- There will be at most two orders per trial run. If two orders are received, the second order can be of priority 1 or 3.
-
How do we know the priority of an incoming order?
- The priority of the order is shown when the order is announced on the topic
ariac/orders
.
- The priority of the order is shown when the order is announced on the topic
-
What are the limitations of the orders?
- Orders may be made up of products available from the bins/belt. Each order may have up to 2 shipments. No shipment will have more than 4 products.
-
Will there always be enough products to fulfill the required orders?
- No. It is not guaranteed that sufficiently many non-faulty products of each type will be available to complete the requested orders. Competitors will have to submit incomplete orders.
- Which of the services can be used during the Finals?
- The topics/services listed in in the ARIAC interface page that are not labelled as "cheats" will be available during the finals.
- All other interfaces with the simulation will be blocked, and attempts to use them will not be permitted.
-
Is there a minimum/maximum number of sensors?
- A minimum of one sensor is required, no maximum.
-
Are there restrictions on the placement of sensors?
- Sensors can be placed in any free space in the workcell, they do not need to be mounted such that they are touching the conveyor belt/support frame of the storage bin.
- Sensors must be used in a realistic manner and must not exploit any simulation technicalities such as the logical camera seeing through obstructions.
-
Where will the quality control sensors be positioned?
- The quality control sensors will be positioned above the AGVs in the same location as the qualifiers, for all trials.
-
What properties must be satisfied for a product to be scored correctly?
- Products must be placed on the base of the tray to be scored.
- Products balancing on top of other products will not be counted.
- The tolerance of the position/orientation scoring is listed on the scoring metrics page.
-
How will the judges' scoring work?
- In addition to the automated metrics, judges will score teams' systems based on real-world feasibility and agility. The challenge.gov page details how the judges' scoring will work, and how it will be combined with the automated scoring results.