Add ability to detect and notify of faulty parts

Issue #59 resolved
Brian Gerkey created an issue

The idea is that, right after a part is dropped into a kit tray, a QA system might determine that the part is faulty and in need of replacement. This happens before submission of the tray.

Need to add a model to the environment to represent the QA scanner; one per AGV kit tray.

Need syntax in the scenario to enable this behavior.

Need topic or other mechanism to notify team that part was bad.

Need to update scoring system to not score for faulty part (i.e., if you fail to replace it, it doesn't count).

Comments (6)

  1. Deanna Hood
    • faulty_part_detector added above each AGV. they are logical cameras that only report parts known to be faulty.

    • parts are specified as faulty in the config files with, e.g.:

    faulty_parts:
      - piston_rod_part_1
      - piston_rod_part_3
      - gasket_part_clone_0
    
    • parts with clone in the name are on the belt, others are on the bins. bin models have unique numbers across all bins (i.e. there will only ever be one piston_rod_part_3 across all bins).

    • teams should listen to the topic of each faulty part detector to know where it sees faulty parts, and use that to decide which parts to remove from the tray.

    • faulty parts in trays count as unwanted models for the scoring (they don't get points for them, they lose the all-parts bonus if they're there)

    • kit trays now publish TrayContents ROS messages instead of KitTray messages. the new msg includes whether or not parts are faulty. This topic is used internally by ARIAC and is only available to teams as a cheat.

    • faulty parts will not count when triggering interrupting orders once there are N wanted/unwanted parts in the tray (https://bitbucket.org/osrf/ariac/pull-requests/45). this is because they are to be removed anyway, so they just interfere with the calculations of convenient/inconvenient times to interrupt the first order.

    • todo: somehow penalise teams for dropping faulty parts on the ground when clearing them from the tray?

  2. Deanna Hood

    no need to penalise teams for dropping faulty parts on the ground but it should be clarified that they can do whatever they want with them.

  3. Log in to comment