El primer módulo permite al usuario la especificación virtual a través de una interfaz gráfica interactiva de un ensamble (disposición de elementos) de un conjunto sencillo de partes. El ensamble especificado por el usuario, es posteriormente almacenado como un archivo en el disco.
El segundo módulo, se encarga de que el ensamble especificado por el usuario sea llevado a cabo por un robot. Para esto se digitaliza una escena la cual contiene partes a partir de las cuales se desea llevar a cabo el ensamble requerido. Tras un procesamiento de la escena capturada, son identificadas y caracterizadas las partes inmersas en la escena. Luego de determinar la factibilidad de realizar el ensamble requerido con las partes de que dispone, se procede a programar a robot para que éste lleve a cabo el ensamble deseado.