The AI for Industry Challenge (AIC) is designed to foster creativity, technical excellence, and collaboration in solving real-world robotic manipulation tasks. We encourage participants to develop innovative solutions that demonstrate the capabilities of AI in industrial automation.
Participants are expected to honor the spirit of the competition by developing solutions that use only the officially provided interfaces (i.e., ROS 2 topics, services, and message types defined in the AIC Interfaces documentation). The goal is to build AI models that are generalizable, robust, and compliant with the constraints of the physical system and its simulation.
Participants must not attempt to bypass or circumvent the provided interfaces to gain an unfair advantage. Prohibited actions include:
- Direct State Manipulation: Manually altering the robot, task board, or simulation environment (e.g., teleporting components or forcing cable insertions).
- Backend & System Interference: Bypassing official APIs to communicate with ROS or Gazebo backends. This includes and not limited to unauthorized interactions with:
- Configuration & Lifecycle: Modifying ROS 2 parameters or changing node lifecycle states for evaluation nodes.
- Simulation Control: All topics/services in the
/scoring,/gazebo, and/gz_servernamespaces. - Entity Management: Services used to spawn, despawn, or delete models and entities.
- Environment States: Data related to
/clock,/model,/world_stats, physics control (/pause_physics), or simulation resets.
- Exploitative Hardcoding: Hardcoding sensor data or environment configurations to exploit knowledge of the specific simulation setup.
- Process Manipulation: Interfering with the AIC Engine, the scoring system, or the logging infrastructure.
Participants are not permitted to reverse-engineer, exploit, or tamper with the cloud-based evaluation infrastructure. This includes:
- Using unauthorized tools to access or modify the evaluation environment.
- Submitting containers or models containing malicious code, backdoors, or other mechanisms to defeat the competition architecture.
- Bypassing the submission portal or registry to inject or manipulate data.
Participants must not use information from the evaluation environment that is not accessible through official interfaces.
- State Leaking: Reusing internal state information from the simulation or backend systems during evaluation. During training, participants may use all internal state information, including ground truth data available over the
/tftopic. - Data Misuse: Training models using data generated by the evaluation infrastructure that is not part of the toolkit.
The evaluation platform includes automated access control and integrity checks. In addition, we will manually review the submissions of top-performing teams to verify compliance through:
- Container Audits: Reviewing submitted container images to ensure they only interact with the system via defined interfaces.
- Behavioral Verification: Confirming model behavior during live evaluations adheres to the rules.
- Metric Analysis: Cross-checking performance against expected baselines to detect anomalies.
Note: Teams found in violation of these rules face penalties, including disqualification and revocation of prizes.
If you suspect another participant of violating these rules, please report it to the organizers through the official channels. Reports are treated confidentially.
- The submission container must start a process with a ROS 2 Lifecycle node with name
aic_model. - The
aic_modelnode must exhibit the following behavior:- Start in
unconfiguredlifecycle state.- In
unconfiguredstate, no topics should be published by node, especially to command the robot. - A transition to
configuredstate must succeed within a timeout of 60s. Loading of any models should occur within this window.- In
configuredstate, no topics should be published by node, especially to command the robot.- In
configuredstate, the node should reject any goals requests sent to/insert_cableAction Server.
- In
- In
- A transition to
activestate must succeed within a timeout of 60s.- In
activestate, the node should accept any goal request sent to/insert_cableand the goals should be cancellable. - Goal requests should complete within the
time_limitfield of the requested Task. When running evaluation, this field will be set according to thetime_limitspecified in the config passed to theaic_engine.
- In
- A
deactivatetransition request should transition the node back toconfiguredstate successfully within a timeout of 60s. - A
cleanuptransition request should transition the node back tounconfiguredstate successfully within a timeout of 60s. - A
shutdowntransition request must succeed within a timeout of 60s.- In
shutdownstate, no topics should be published by node, especially to command the robot. - In the
shutdownstate, no robot command publishers should be present in the graph.
- In
- In
- Start in