Basic set of behaviours for programming assembly robots
Pettinaro, Giovanni Cosimo
We know from the well established Church-Turing thesis that any computer programming language needs just a limited set of commands in order to perform any computable process. However, programming in these terms is so very inconvenient that a larger set of machine codes need to be introduced and on top of these higher programming languages are erected.In Assembly Robotics we could theoretically formulate any assembly task, in terms of moves. Nevertheless, it is as tedious and error prone to program assemblies at this low level as it would be to program a computer by using just Turing Machine commands.An interesting survey carried out in the beginning of the nineties showed that the most common assembly operations in manufacturing industry cluster in just seven classes. Since the research conducted in this thesis is developed within the behaviour-based assembly paradigm which views every assembly task as the external manifestation of the execution of a behavioural module, we wonder whether there exists a limited and ergonomical set of elementary modules with which to program at least 80% of the most common operations.IIn order to investigate such a problem, we set a project in which, taking into account the statistics of the aforementioned survey, we analyze the experimental behavioural decomposition of three significant assembly tasks (two similar benchmarks, the STRASS assembly, and a family of torches). From these three we establish a basic set of such modules.The three test assemblies with which we ran the experiments can not possibly exhaust ah the manufacturing assembly tasks occurring in industry, nor can the results gathered or the speculations made represent a theoretical proof of the existence of the basic set. They simply show that it is possible to formulate different assembly tasks in terms of a small set of about 10 modules, which may be regarded as an embryo of a basic set of elementary modules.Comparing this set with Kondoleon’s tasks and with Balch’s general-purpose robot routines, we observed that ours was general enough to represent 80% of the most common manufacturing assembly tasks and ergonomical enough to be easily used by human operators or automatic planners. A final discussion shows that it would be possible to base an assembly programming language on this kind of set of basic behavioural modules.