  Kitting refers to the task of preparing and grouping necessary parts and
tools (or "kits") for assembly in a manufacturing environment. Automating this
process simplifies the assembly task for human workers and improves efficiency.
Existing automated kitting systems adhere to scripted instructions and
predefined heuristics. However, given variability in the availability of parts
and logistic delays, the inflexibility of existing systems can limit the
overall efficiency of an assembly line. In this paper, we propose a bilevel
optimization framework to enable a robot to perform task segmentation-based
part selection, kit arrangement, and delivery scheduling to provide
custom-tailored kits just in time - i.e., right when they are needed. We
evaluate the proposed approach both through a human subjects study (n=18)
involving the construction of a flat-pack furniture table and shop-flow
simulation based on the data from the study. Our results show that the
just-in-time kitting system is objectively more efficient, resilient to
upstream shop flow delays, and subjectively more preferable as compared to
baseline approaches of using kits defined by rigid task segmentation boundaries
defined by the task graph itself or a single kit that includes all parts
necessary to assemble a single unit.
