【正文】
lab. The following geometric constraints are defined in the CAD model: collinear between CL_cup and CL_axis, collinear between CL_gear and CL_axis, coplanar between Plane_cup and Plane_gear_1, coplanar between Plane_gear_1 and Plane_axis. According to the above geometric constraints, the three parts construct a loop in the relation graph. The CAD model is created with the mercial software Solidworks 2020, and its API functions are used to develop the assembly planning model. The assembly Information database is developed with Oracle . Models involved with skill generation are developed with Visual Basic . The skillgeneration models are run withWindows 2020 on an HP workstation with a CPU of G Hz and memory of GB. Assuming that the positions of parts are available beforehand, it took about 7 min to generate the skill sequence. The generated assembly sequence is to assemble the gear onto the axis, and then assemble the cup onto the axis and the gear. In the assembly operation, the parts are placed on the worktable with special fixtures and then transported into the workspace, so that their initial position and orientation can be assured. Therefore, in the experiment, all of the skill sequences for the different parts can be generated and then transferred to the Skill Management unit. The skill istransmitted to the micromanipulator through TCP/IP munication. Because the controller of the micromanipulator is run on DOS, the WTTCP tools kit are adopted to develop the TCP/IP munication protocol. Because, currently, the automated control of the fixtures is not realized yet, the parts have to be fixed manually onto the worktable. The promotion between different tasks(assembly lifecycle of different parts) is conducted manually. Here shows some screenshots of the assembly process. In a, the axis is fixed in the workspace。 where ikR is the remaining degrees of freedom of constraint k by part i. For example, in Fig. 2, given that the number of 1s in 7,5 partpartU and 7,6 partpartU is larger than 6,5 partpartU and 5,6 partpartU , respectively, then it can be regarded that the position of Part 7 is determined by constraints with both Part 5 and Part 6, while Part 5 and Part 6 can be fully constrained by constraints between Part 5 and Part can unite Part 5 and Part 6 as one node in the relation graph, also called a posite node, as shown in Fig. 2b. The posite node will be regarded as a single part, but it is obvious that the posite node implies an assembly sequence. 2. Calculate mating directions for all nodes in the relation graph. Again, beginning at the state that the shaft and the hole are assembled, separate the part in one degree of separation by a certain distance (larger than the maximum tolerance), and then check if interference occurs. Separation in both 177。 Assembly Part。 the coarse one, which is of large workspace but lower precision, and the fine one, which is of small workspace but higher precision. In our system, the largerange coarse motion is provided by a planar motion unit, with a repeatability of 2 μm in the x and y directions, which is driven by two linear sliders made by NSK Ltd. The worktable can also provide a rotation motion around the z axis, which is driven by a stepper motor with a maximum resolution of 176。 in f, the cup is fixed in the workspace。 some other parts may have been assembled with the base part) in the workspace so that the mating direction is kept upside. 4. In the CAD model, move the assembly part to the base part in the possible mating direction, while checking if interference (collision) occurs. If interference occurs, mark the base node as an inactive node and go to step 2, whereas select the Operation type according to parts’ geometric features. In this step, an Obstacle Box is also puted. The box, which is modeled as a cuboid, includes all parts in the workspace. It is used to calculate the collisionfree path to move the assembly part, which will be introduced in the following section. The Obstacle Box is described by a position vector and its width, height, and length. 5. Record the assembly sequence with the Operation type, the mating direction, and the grasping position. 6. If all nodes have been searched, then mark the first base node as an inactive node and go to step 2. If not, select a node connected with the assembly node. Mark it as an assembly node, and the assembly node is updated as a base node. Check if there is one of the mating directions of the assembly node that is same as the mating direction of the former assembly node. If there is, use the former mating direction in the following steps. Go to step 3. After searching the entire graph, we may have several assembly sequences. Comparing the values of mount, the more efficient one can be selected. If not even one sequence is returned, then users may have to select one manually. If there are N nodes in the relation graph of Fig. 2b, all of which are not classed as inactive node, and each node may have M mating directions, then it needs MN putations to find all assembly sequences. But because, usually, one part only has one mating direction, and there are some inactive nodes, the putation should be less than MN. It should be noted that, in the above putation, several coordinate systems are involved, such as the coordinates of the assembly sequence, the coordinates of the base part, and the coordinates of the assembly. The relations among the coordinates are represented by a 44 transformation matrix, which is calculated based on the assembly CAD model when creating the relations graph. These matrixes are stored with all of the related parts in the database. They are also used in skill deposition. 3 Skill deposition and execution Definition of skill primitive Skill primitives are the interface between the assembly planning and robot