REMOTE MANIPULATION METHOD AND SYSTEM

Abstract: Remote manipulation method and system of the master-slave type in which an operation procedure plan (8e) is prepared for defining each of a sequence of pieces of work as being performed by manual operation or automatic operation at least on the basis of information on the level of skill of a human operator (11) stored in a data storage section (111) and the sequence of pieces of work is performed in accordance with the plan, whereby work can be done efficiently with human operator's skill taken into consideration.

Description: BACKGROUND OF THE INVENTION The present invention relates to a remote manipulation method using a master manipulator and a slave manipulator and a system using said method. In the remote manipulation, a human operator operates a master manipulator or a handling lever (to be collectively referred to as a master herebelow) and then a slave manipulator (to be referred to as a slave here­ below) is caused to operate according to the operation of the human operator, thereby achieving an objective job. According to the prior art technology, in many remote manipulation systems, the attitude of the slave follows the attitude of the master so as to transfer the reaction force on the slave to the human operator. Generally, operations are performed by also using a TV camera and a TV display to monitor the slave attitude and the state of work. As described in the "Proceedings of '85 International Conference on Advanced Robotics", pp. 329-336 and the "Proceedings of the l984 National Topical Meeting on Robotics and Remote Handling in Hostile Environments", pp. 367-374, there exist some systems in which with an input of a command by a human operator, a computer imposes a restriction on a portion of the motion of the slave (for example, to retain the tip of the hand of the slave to be horizontal), thereby aiding a portion of the manual operation. The conventional technology is attended with difficulties and troublesome operations because the human operator operates the master to indirectly move the slave located at a remote position for achieving work. Furthermore, depending on the skill (degree of dexterity), the efficiency of work (for example, a period of time required for performing a piece of work and the quality of the result of work) is greatly varied. SUMMARY OF THE INVENTION It is therefore an object of the invention to provide a remote manipulation method and a system using the same wherein even when human operators having different levels of skill operate the system, an object work can be effectively performed according to the levels of skill of the respective human operators. According to an aspect of the present invention, an operation procedure matching with a level of skill of a human operator is automatically determined and pieces of work are achieved through mixing automatic operations of a computer and manual operations of the human operator. According to another object of the present invention, in a remote manipulation using a master and a slave, an operation procedure plan including combina­ tions of manual and automatic operations is generated by use of data indicating the level of skill of the operator and a goal work supplied, the automatic operations are automatically performed by a motion management of the computer according to the operation procedure plan, and the manual operations are manually accomplished by the human operator. According to still another aspect of the present invention, there are provided planning means for generating a procedure mixing manual operations and automatic operations based on skill data indicating a level of skill of a human operator and a goal work, slave managing means for performing aids and automatic operations in the automatic operation state, and interface means for effecting management to guide the human operations in the manual operation state for a smooth execution of the work, wherein a plan of operation procedures is first generated and then the operation procedures are sequen­ tially accomplished. The planning means generates operation procedures mixing automatic operations and manual operations depending on the skill data of the operator and the goal work supplied thereto. This provision enables to generate operation procedures for the operators having different levels of skill, thereby developing a high work efficiency. The slave managing means executes automatic operations and provides aids in the manual operation state. This removes the unnecessary jobs of the operator to proceed the work. The interface means requests the operator's intervention during the manual operation mode and supplies the human operator with feedback information such as a sense of force, which enables the human operator to understand the contents of the operation to be performed and to smoothly accomplish the work. The initial point of the present invention is the application of the artificial intelligence to the remote manipulation and a division of a part of work to a computer. However, a decision to divide pieces of work and operations among the computer and the human operator is a difficult job. As a unique problem when the remote manipulation is achieved by the human operator, there arises a difficulty in an indirect operation of a remote slave by watching the TV monitor or the like. To perform such a difficult work, the human operator is required to obtain a sense of directions and particular behaviors of the mechanical system and the control system. In the actual manipulation work, the skill greatly varies between the beginner and the experienced operator, namely, it has been found that some operations executed by the experienced operator cannot be achieved by the beginner and that the operation speed and correctness of the same operation also considerably varies between the beginner and the experienced operator. This includes, for example, an operation to grasp a fragile object with an appropriate force, a fitting work, a positioning operation, the correctness to align axes, and the time and smoothness in an operation to move the gripper of the slave to a desired position. Even the experienced operator becomes to be fatigue in 2 to 3 hours and the level of skill has been greatly decreased. On the other hand, for the operation conducted by the computer, for example, the positioning of the gripper with a coarse precision can be achieved at a very high speed; however, a long period of time is required to move the gripper by detouring an obstacle and to achieve the positioning with a high precision. Moreover, there exist some operations which can be performed only by the human operator. The inventors of the present invention has consequently recognized that the operations in the remote manipulation include the operations to be accomplished by the human operator, the operations to be performed by the computer, and the operations to be achieved by both the computer and the human operator depending on the level of skill of the human operator. Based on this recognition, according to the present invention, a plan of operation procedures comprising computer operations, human operations, and cooperative operations of the computer and the human operator is generated by mixing or combining the objects of work and the skill of the human operator, whereby the portion to be executed by the computer is achieved in the automatic operation state; moreover, the portion of the human operations is prefer­ ably performed depending on the fundamental principle including an operation request for the human operator. This leads to the most smooth and high-speed remote manipulation. BRIEF DESCRIPTION OF THE DRAWINGS FIGs. l-2 are block diagrams illustrating the overall configuration of an embodiment of the present invention. FIG. 3 is a schematic explanatory diagram illustrating in detail the 6th data storage section (status data) of FIG. 2. FIG. 4 is an explanatory diagram showing in detail a portion of FIG. 3. FIG. 5 is a perspective view of an example for explaining the present invention. FIGs. 6-7 are explanatory diagrams illustrating in detail the 2nd data storage section (work data) of FIG. 2. FIGs. 8A-8G are schematic diagrams illustrating in detail the 5th data storage section (operation procedure plan) of FIG. 2. FIG. 9 is a flow chart for explaining the general operation of the embodiment shown in FIGs. l and 2. FIG. l0 is a block diagram showing the planning processor means. FIGs. ll-l2 are schematic diagrams illustrating the block diagram and an operation example of the interface processor means. FIGs. l3-l7 are flowcharts of processing in the interface processor means. FIGs. l8-l9 are flowcharts of the slave managing processor means. FIGs. 20, 2lA, and 2lB are schematic diagrams showing an operation example of the slave managing processor means. FIG. 22 is a block diagram illustrating another embodiment of the present invention having means for evaluating the skill of the human operator. FIG. 23 is a block diagram illustrating the operator's skill evaluating means of FIG. 22. FIGs. 24-26 are explanatory diagrams for explaining parameters. FIG. 27 is a flowchart for explaining the fundamental principle of the operator's skill evaluating means. FIG. 28 is an explanatory diagram of parameters. FIG. 29 is a block diagram illustrating another embodiment of the present invention. DESCRIPTION OF THE PREFERRED EMBODIMENTS A description of an embodiment of the present invention will be described with reference to FIG. l. This embodiment includes an interface processor means l03 connected to a master l0l and a TV monitor l02, planning processor means l04, slave managing processor means l05, slave controlling processor means l06, slave l07 to be controlled by the slave controlling processor means l06, sensing means l08 for sensing the state of the slave l07, memory means l09 on which information read and write operations are effected by the means l03, l04, l05, l06, and l08, and a first data storage section lll disposed in the memory means l09 for storing data of operation skill of the human operator, namely, the human operator's skill data. FIG. 2 is a schematic block diagram for explain­ ing the embodiment of FIG. l further in detail. In this diagram, the contents of the memory means l09 include, in addition to the first data storage section lll, a 2nd data storate section 20l storing work data, a 3rd data storage section 202 storing environment data, a 4th data storage section 203 storing system data, a 5th data storage section 204 storing an operation procedure plan, a 6th data storage section 205 storing system status data, a 7th data storage section 206 storing control input data, and an 8th data storage section 207 storing sensed information data. The blocks of FIG. 2 will be described in the following paragraphs. <6th data storage section 205> As shown in FIG. 3, the 6th data storage section 205 contains an operator number 3a of an operator currently being executed, a flag 3b indicating the end of execution, an operator number 3c of an operator to be next executed, and a description 3d of the system status. Since the items 3a, 3b, and 3c will be described in detail later in conjunction with the 5th data storage section, the description of system status 3d will be given here. As shown in FIG. 4, the content of the description of system status 3d includes a state of system 4a and a state of object undergoing work 4b of the master and the slave. The state of system 4a contains a joint angle of the master and slave, a position of the gripper, a direction of the gripper, and an information item indicat­ ing whether or not the gripper is grasping an object. The state of object undergoing work 4b contains a data item 4bl indicating a mutual relation of the work object and a data item 4b2 indicating a position and an attitude. Let us assume an example of FIG. 5 for a concrete description of each information. In this example, a valve is disassembled through a manipulation operation, namely, a valve body 54 is taken out from a location inside a flange 52 and a valve casing 53 fixed to each other with a bolt 5l. There may be used, for example, l8 bolts; however, only a bolt is assumed to be used for simplification of description. Referring again to FIG. 4, the description will be given. The information of mutual relation 4bl describes the state that the flange 52 and the valve casing 53 are fixed to each other, that the valve body 54 is located in the valve casing 53, and that the bolt 5l fixes the flange 52 to the valve casing 53. The information of the position/ attitude 4b2 contains position vectors i , j , and r of each part in the coordinate system of the space and the attitude angle vector i , j , and k . <2nd data storage section 20l> The contents of the 2nd data storage section 20l include a goal for work 6a, a definition of operator 6b, and data concerning shape and dimensions of object undergoing work 6c as shown in FIG. 6. The goal for work 6a defines a target state that the valve body is located on a work stand and that the position and the attitude are represented with r and r , respectively. Moreover, data associated with the shape of the flange and the bolt is contained as data concerning the work object. The definition of operator 6b will be described with reference to FIG. 7. An operator is means for chang­ ing a state. In order to establish the state of the goal for work (for example, as indicated by 6a of FIG. 6) from the state of object undergoing work (for example, as indicated by 4b of FIG. 4), operations are required to be sequentially achieved by use of appropriate means. The means (operators) are classified into several levels for reasons to be described later. In the example of FIG. 7, a definition is made for a task-level operator, "demounting of flange". Since the description of the level will be given later, the preconditions 7a and the change of state 7b will be here described. The content of the preconditions 7a indicates conditions under which the pertinent operator is available. In the example of this diagram, the preconditions 7a represents that the flange is not fixed and is located on the valve body. The contents of the change of state 7b are described in two parts, namely, a deletion item and an addition item. The deletion item field indicates items to be deleted from the description of the original state after the operator is effected. In the example of FIG. 7, the item indicating that the flange is located on the valve body and the item related to the position and the attitude of the flange. The addition item field contains items to be added. In the example of the diagram, an item indicating that the flange is located on a floor and an item concerning the new position and attitude of the flange. The cost field 7c contains a value of a cost (to be described later) or a function to be evaluated when this operator is executed. <3rd data storage section 202> The 3rd data storage section 202 stores data related to positions, dimensions, and shape of devices other than the work object and the slave. The data is used to prevent, for example, a collision between the slave and other devices when the slave is caused to operate. <lst data storage section lll> The lst data storage section lll stores data of points or a level for an item representing the skill of the human operator so as to indicate the degree of the skill. The skill items include various data as follows. (l) Gripper moving time to trajectory accuracy (2) Gripper positioning time to positioning accuracy (3) Gripper shaft aligning time to aligning accuracy (4) Reaction force sensitivity <4th data storage section 203> The 4th data storage section 203 stores the following data. (l) Data of dimensions and shape of slave l07 (2) Performance and function of automatic operations by the computer <Sensing means l08 and 8th data storage section 207> The sensing means l08 includes a TV camera or the like for displaying a scence on the TV monitor l02 used for the automatic operations of an encoder, a potentiometer, a tacho-generator, a force sensor, and a computer disposed for the control of the slave l07 and supplies data to the 8th data storage section 207 storing sensed information data. The 8th data storage section 208 stores the following information. (l) Data resulted from various sensing operations (2) Positions and performances of various sensors, position and characteristics of the TV camera, the camera number of the camera currently displaying a scence on the monitor l02, etc. <Slave controlling processor means l06 and 7th data storage section 206> The slave controlling processor means l06 controls the position, the velocity, and the force on each joint of the slave l07. The types and target values for the control are contained in the 7th data storage section 206. <Planning processor means l04 and 5th data storage section 204> Since a concrete embodiment of the planning processor means l04 will be described later, an outline thereof will be now described. The planning processor means l04 generates a plan of operation procedures by judging the sequence of operators (FIG. 7) necessary to establish the state of the goal for work (for example, 6a of FIG. 6) from the state of system (for example, 4b of FIG. 4) and stores the results in the 5th data storage section 204. To indicate that the plan of operation procedures has been contained in the 5th data storage section 204, the first number of plan is stored in the field of number of operator to be executed next (3c of FIG. 3) of the 6th data storage section 205. An example is shown in FIG. 8A in which the 5th data storage section 204 stores plans configured in five levels. The plan of each level includes operators defined as shown in FIG. 7. Examples thereof will be illustrated in FIGs. 8A-8G. First, in FIGs. 8A-8B, the plan of the highest level (purpose level plan 8a) comprises only an operator 8f, which represents a concept comprehensively including the overall work. This operator is instantiated with a task level plan 8b (FIG. 8), namely, the procedure is formed as "demounting of bolt" 8g → "demounting of flange" 8h → "demounting of valve body" 8i. In the plan, the operator number field indicates the sequence to execute the operator, and the number in the upper level pointer field indicates the number of the operator which exists in the plan next higher in the level as compared with this plan and from which this item has been created. Namely, in the example of the diagram, three operators of the task level plan 8b of FIG. 8 are generated from the operator No. l of the purpose level plan field 8a of FIG. 8B. As the level lowers, the operator becomes more concrete, and at the lowest level, namely, the operator of the trajectory level 8e, the data becomes to be executed by the human operator or the computer. FIGs. 8D-8E are shcematic diagrams showing examples of the procedure levels 8c and 8d, respectively. "De­ mounting of bolt" 8g at the task level 8b in FIG. 8C is divided into "loosen bolt" 9a and "remove bolt" 9b at the sequence level 8c in FIG. 8D. "Loosen bolt" 9a is a task to be conducted by use of a special tool. The lower levels of the "remove bolt" 9b will be described. As shown in FIG. 8E, at the motion level 8d, there are provided concrete items, namely, "approach bolt" 9c, "grip bolt" 9d, "rewind bolt" 9e, and "move d " 9f. These items respectively mean "move the gripper to a position to grasp the bolt", "grip the bolt", "rewind the bolt", and "move the gripper to the position d ". Of these operations, the items 9c, 9d, and 9e are instantiated as shown in the example of FIG. 8F. This diagram illustrates the lowest level, namely, the trajectory level 8e. As shown in this diagram, "approach bolt" 9c is made to be concrete as "move ₁: cond ₁", "move ₂: cond₂", "move ₃, cond₃", and "op-move ₄, cond₄". This means that in order to move the gripper to the position ₄ to grip the head of the bolt, the gripper is moved from ₁ to ₃ via ₂ in the automatic mode and is further moved from ₃ to ₄ in the manual mode (op move). As described above, the operator associated with the manual operation is, for example, marked with "op-" in its name so as to be discriminated from the operators to be executed in the automatic mode. The symbol such as "cond₁" added to an operator indicates an attendand condition to be effected when the operator is executed. The attendant conditions are stored in a separate location, for example, as shown in l0g of FIG. 8G. Field l0g describes the attitude of the gripper, a restriction concerning the position, namely, the manual operation is to be guided by the computer, and other operations for aids. The attendant conditions further include various conditions such as compliance conditions and sensing means to be used. "Op-move" l0d is followed by "close-hand" l0e which is an concretized item of "grip bolt" 9d. The attendant condition, cond₅ of this operator includes the descriptions associated with a force to grip the bolt and the like. The next operator "rotate-hand" l0f means that the bolt is rotated ten turns and then is moved. The attendant conditions are described such that as the bolt is made to be looser, the position of the hand is gradually moved according to the compliance control and the attitude of the gripper is kept fixed. <Slave managing processor means l05> The operators stored in the 5th data storage section 204 are sequentially executed according to the "number of operator to be executed next" 3c (FIG. 3) contained in the 6th data storage section 205. The operators to be executed are at the trajectory level 8e. In these operations, the slave managing processor means l05 executes the operations depending on the contents of the operators and the attendant conditions. For example, when "move ₁: cond₁" l0a is executed, the means l05 controls the slave l07 via the 7th data storage section 206 so that the gripper reaches the position ₁ while satisfying the condition indicated by cond₁. Furthermore, the processor means l05 judges the end of execution by checking the content of the 8th data storage section 207 and thereby updates the respective items 3a-3d (FIG. 3) of the 6th data storage section 205. <Interface processor means l03> If the next operator to be executed is a manual operation, namely, if "op-" is added to the operator, the interface processor means l03 guides the operation of the human operator ll0 through a display and a voice output on the monitor l02 and a force generated at the master l0l. The interface processor means l03 reads the force applied to the master l0l from the human operator and the change in the force, writes appropriate control input data in the 7th data storage section 206, and reads the sensed information from the 8th data storage section 207 at the same time to generate a reaction force and the like in the master, thereby supplying the feedback information such as the sense of force to the human operator. More­ over, the interface processor means l03 updates the respective items 3a-3d (FIG. 3) of the 6th data storage section 205. Even for an operator related to the manual operation, the slave managing processor means l05 may function in some cases. This applies to a case where the manual operation is aided, for example, the attendant conditions of the operator impose restrictions on the attitude of the gripper. In such a case, the interface processor means l03 writes data in a control input data buffer 208 of the lst data storage section lll. This data is read by the slave managing processor means l05, which then writes in the 7th data storage section 206 the control input to which the restrictive condition is added. In this case, the update of the 6th data storage section 205 is accomplished only by the interface processor means l03. <General flow> A description will be given of an outline of the operation procedures of the manipulation system including the block described above (FIG. 2). Assume that the work data excepting the goal for work, the environment data, the system data, and the human operator's skill data are beforehand stored in the 2nd, 3rd, 4th, and lst data storage sections 20l, 202, 203, and lll, respec­ tively. In the flowhcart of FIG. 9, the initial values are set to the goal for work 6a (FIG. 6) and the 6th data storage section 205 (lla). If "No. l of purpose level" is beforehand stored as the initial value in the field of number of operator to be executed next 3c (FIG. 3) in the 6th data storage section 205, since this entry is not an operator at the trajectory level, the system does not execute the automatic operation or the manual operation. If an operator at a level other than the projectory level is stored in the field 3c, the planning processor means l04 is caused to operate, which then further instantiates the plan at the purpose level to generate a plan at the projectory level, stores the generated plan in the 5th data storage section 204, and thereafter sets the number of the trajectory-level operator to be first executed to the field of number of operator to be executed next 3c of the 6th data storage section 205 (llb). When the data at the trajectory level is stored in the field 3c, the interface processor means l03 or the slave managing processor means l05 is caused to function, namely, an operator is executed (llc), the 6th data storage section 205 is updated, a check is effected to determine whether or not an unexecuted operator exists (lld), and the execution is finished if there does not exist such an opeator (lle). The unexecuted operator includes not only a projectory-level operator not executed but also such operators at a level higher than the trajectory level and not instantiated to the trajectory level. The means l03 or l05 then selects a number for the next execution from the unexecuted operators and sets the number to the field of number of operator to be executed next 3c, thereby executing the next operator. In this case, if the number written in the field 3c is associated with an operator having a level higher than the trajectory level, the planning processor means l04 initiates the operator, while the processor means l03 or l05 does nothing until the initia­ tion (planning) is completed (llf). <Detailed description of planning processor means l04> Since the function of the planning processor means l04 has already been outlined, the method for realizing the planning processor means l04 will be here described. As already described, when an operator number of an operator having a level higher than the trajectory level is written in the field of operator to be executed next 3, the planning processor means l04 is initiated to instantiate the operator. As a consequence, the planning processor means l04 is structured as shown in FIG. l0 to instantiate operators at the various levels. The processor means l04 further includes planners l04a-l04e for the respective levels. Each planner instantiates an operator at a next higher level to obtain a plan of operators at its own level. FIGs. 8A-8G shows examples in which operators at a level cause to generate more operators as the operators are instantiated to the lower level. Although the operators can be instantiated at a time to the lowest level, namely, the trajectory level, there exists another method in which in the course of the operator instantia­ tion, only the first operator at each level is instantiated. In this case, the other operators are temporarily stored in the fields of the respective levels 8a-84 (FIG. 8) and are later selected as "the number of operator to be executed next" for the instantiation. The planner at each level fundamentally performs the similar operation. The generation of a plan is a process for determining a sequence of operators to be executed to establish a state of goal from the initial state. Ordinarily, there exist various ways of transition from the initial state to the goal state, namely, the transition is achieved through various intermediate states. The "state" means the description of the system and objects in the form of the example shown in Fig. 4. How­ ever, the state here is created hypothetically, and thus not identical to the one in Fig. 4. If a plurality of operators (for which the state A satisfies the precondition field 7a (FIG. 7)) can be executed on the state A, the state A is changeable to be another state B, C, or D. Moreover, these states B, C, and D can also be changed to be other states. This allows to draw a transition graph in which each state is represented as a node. In the graph, there exist two or more paths to reach a goal state, a cost is added to each mode to select a path leading to the goal state at the minimum cost. Such a selection can be implemented by use of a general method called a graph search method. When the path is determined, a list of operators to be executed and a list of states (nodes) changing in sequence are obtained and are then respectively stored in the plan fields of the respective levels 8a-8a of the 5th data storage section 204 and the node sections l2a-l2e. When instantiating an operator α stored in the 5th data storage section 204, a node P and a node Q immediately before and after the execution of the operator α are supplied to a planner at a next lower level, which in turn generates a plan by using the node P as the initial state and the node Q as the goal state in the similar fashion. The instantia­ tion of an operator is sequentially achieved as described above. One of the characteristics of the present invention is a method for evaluating the cost of an operator. For example, assume that when an operator β is effected on a node i, the node i is changed to be a node j. In this case, the cost of the node j has a value reflecting the cost of the node i and the cost of the operator β. As a consequence, the plan selected as a result of the graph search is a list of operators each with a relatively low cost. Namely, the plan to be generated greatly varies depending on the method for evaluating the cost of each operator. In this embodiment, the cost field 7c (FIG. 7) contains a cost evaluation function in many cases. The cost evaluation function is used to effect a cost evaluation of an operation at the pertinent time and position by use of the data concerning shape and dimensions of object undergoing work 6c stored in the 2nd data storage section 20l, the environment data stored in the 3rd data storage section 202, the system data stored in the 4th data storage section 203, the system status data stored in the 6th data storage section 205, and the human operator's skill data stored in the 2nd data storage section lll. In particular, when evaluating the cost of an operator for the manual operation, namely, an operator having "op-" added to the title thereof, the cost is determined with reference to the human operator's skill data in any case. Consequently, a manual-operation operator which is evaluated for a low cost in a plan when the skill of the human operator is high is changed to be an operator for the automatic operation if the skill of the human operator is low. Next, a description will be given of the attendant condition l0g (FIG. 8) of an operator at the trajectory level. Some attendant conditions l0g are beforehand specified as definitions for the associated operators and some attendant conditions l0g are determined to minimize the cost of an operator when evaluating the cost thereof. Particularly, in the cost evaluation for an operator to be effected in the manual operation, the attendant conditions greatly influence the cost depending on the skill of the human operator. For example, since the operation to align axes is difficult for the beginner or unexperienced human operator, if an attendant condition is added to generate an appropriate compliance from the visual sensor information, the cost of the operator can be considerably reduced. <Details of interface processor means l03> The interface processor means l03 will be described in detail with reference to FIG. ll and sub­ sequent diagrams. FIG. ll shows the configuration of the interface processor means l03. Each component thereof will be here described. An interface control section l30l includes a memory, a processor, or the like therein and controls the entire interface processor section l03. A bus l3l0 is used to effect a data exchange between the interface control section l30l and the other components of the interface processor section l03 and the memory means l09. A master control section l303 controls the master l0l by use of the control data stored in a master control input section l302. The master control input section l302 contains the control data to be periodically updated by the interface control section l30l. Based on the content of the operator currently being executed supplied from the interface control section l30l and the position data of the gripper, an operation command display generator l304 displays on the TV monitor l02 the contents of work (for example, data l402-l404 of FIG. l2) and the goal position (for example, the item l405 of FIG. l2) of the gripper of the slave. In a display mixer section l305, the CRT display data output from the operation command display generator l304 to the TV monitor l02 is superimposed onto the TV monitor screen information (the images of the object and the gripper of the slave monitored by the TV camera) stored in the 8th data storage section 207 of the memory means l09 (FIG. 2). FIG. l2 shows an example of a screen image. The following information items are displayed on the CRT display screen l40l of the TV monitor l02. (l) Actual images of the object undergoing work and the gripper of the slave (2) Contents of current task items In this diagram, "demount of bolt", "removal of bolt", and "approach bolt" are displayed in the task, sequence, and motion level operation indicators l402, l403, and l404, respectively. (3) Graphic display of goal position of the gripper The goal position of the trajectory-level operator currently in motion is graphically displayed with broken lines in the goal position indicator l406. The operation of the interface is primarily classified into the automatic and manual operation modes as will be described later. In the automatic operation, the goal position is displayed in the first color, for example, white; whereas, in the manual operation, the goal position is displayed in a second color, for example, red for facilitating the discrimination therebetween. (4) Attendant conditions When attendant conditions are added to a manual operation, "hold gripper horizontally" is displayed in the attendant condition indicator field l406 in the neighborhood of the goal position display. Returning now to FIG. ll, the description will be given. In response to an indication from the interface control section l30l, a voice output section l306 causes a speaker l3ll to sound a buzzer tone at the beginning and end of the execution of a new operator at the trajectory level. A synthesized voice generated by a voice synthesis or the like may naturally be available. A restriction release switch l3l2 is used by the human operator to release the attendant conditions of the manual operation (for example, the item l406 of FIG. l4) for some reasons. When the switch l3l2 is pressed, an interrupt takes place in the interface control section l30l via a restriction release switch interface l307 and then the attendant conditions are released. The method for releasing the attendant conditions will be described later. An operation detector section l308 is a sensor including a potentiometer, an encoder, and the like to obtain information such as an angle of each joint of the master when operated by the human operator. An operation output data memory section l309 stores data from the operation detector section l308. The interface control section l30l can fetch the data therefrom through the bus l3l0. Referring now to the flowcharts of FIGs. l3-l7, the operation of the interface processor means l03 will be described. FIG. l3 shows the general flowchart of control executed by the interface control section l30l. The control is implemented by monitoring the present state in the 6th data storage section 205 of the memory means l09. The symbols appearing in the steps l50l-l5l9 correspond to the contents of the 6th data storage section 205 of FIG. 3. In this diagram, OPNl, FIGl, OPN2, STATE, and FIG2 are described for the number of operator currently executed (3a of FIG. 3), the flag indicative of completion of execution (3b of FIG. 3), the number of operator to be executed next (3c of FIG. 3), the description of present status (3d of FIG. 3), and the slave management release flag (3e of FIG. 3), respectively. The following description is given by use of these symbols. First, the flowchart of FIG. l3 will be described. When the power is turned on, the system confirms that the FIG. l is set to "l" and then reads the OPN2. If the OPN2 is an operator at the trajectory level, the interface processor means l03 starts its operation. The operation of the interface processor means l03 is primarily classified into the following three modes. (l) Automatic operation mode (control procedure l5ll) (2) Manual operation mode (control procedure l5l3) (3) Restrictive manual operation mode (control procedure l508) The automatic operation mode can be confirmed since the operator in the OPN2 is not assigned with "op-". For example, this applies to the case of the operator of l0a in FIG. 8F. The automatic operation mode is confirmed when an operator with "op-" is found in the OPN2 and the attendant condition, cond i (FIG. 8G) is not added thereto. The restrictive manual operation mode is confirmed when an operator with "op-" is found in the OPN2 and the attendant condition, cond i is added thereto. In the automatic operation mode, the slave l07 is controlled by the slave managing processor means l05. When processing of an operator is completed, the slave managing processor means l05 sets the FIG. l to "l". The interface control section l30l continuously monitors the FIG. l, and when the FIG. l is set to "l", the control procedure l5ll is finished and then the next operator OPN2 is read. In the manual operation mode and the restrictive manual operation mode, the interface processor means l03 mainly controls the slave l07. In this case, when processing of an operator (OPNl) is finished, the inter­ face control section l30l updates the description of present status, STATE (l5l0) and searches an operator to be next executed (l5l6) according to the definitions of operators as shown in the example of FIG. 7. The search of operators may be effected in the order of numbers assigned thereto if the operators are at the same level (for example, the trajectory level) (FIG. 9); how­ ever, if the operators are not at the same level, the field of upper level pointer is referenced to implement the search of operators at the higher level. When all the operators are executed, the tasks are entirely completed. The OPN2 is then set to "0" (l5l9). There­ after, the completion flag, FIG. l is set to "l" and control is passed to the 6th data storage section 205. FIG. l4 shows the detailed flowchart of the control procedure l5ll in the automatic operation mode. The control routine of the automatic operation is sub­ divided into three parts, namely, (l) starting process, (2) operation, and (3) ending process. In the starting process l604, the voice output section l306 causes the speaker l3ll to sound the start tone (l6l0) to notify the human operator, and then the content of the operation is displayed by letters on the TV monitor l02 (l6ll). The contents of the display include the contents of the task, sequence, and motion levels of the task currently executed and can be recognized by referencing the system status data in the 6th data storage section 205 and the operation procedure in the 5th data storage section 204. Furthermore, by use of the contents of the trajectory-level operator of the OPNl and the position information of camera in the 8th data storage section 207, the goal position of the gripper of the slave in the TV monitor screen is calculated and is then displayed on the TV monitor screen (l6l2, l6l3). The display data is generated by the operation command display generator l304 and is then mixed with the image from the camera in the display mixer section l305, and the resultant data is displayed on the TV monitor l02. In the ending process l603, the end of operator processing is displayed and then the slave goal position is erased from the TV screen. Immediately before the erasure, the image of the slave gripper is matched with the goal position. In the steps l605 and l606, the reaction force from the slave is calculated by use of data in the 8th data storage section 207 and is delivered to the master control input section l302. This enables the master control input section l302 to control the master and thereby to transfer information such as the sense of slave gripper to the human operator. FIG. l5 is the detailed flowchart of the control procedure l5l3 in the manual operation mode. The start process l7l0 is the same as the process l604 of FIG. l6, whereas the end process l709 is the same as the process l603 of FIG. l6. In the start process l7l0, however, the color of the (graphic) display of the slave goal position is different from the color used for the automatic operation to arouse the attention of the human operator. In the manual operation mode, the slave is controlled according to the operation of the master (l702, l703); moreover, the reaction force from the slave is calculated, the master is actuated (l704, l705), and thereby imparting the sense of the gripper to the human operator. In addition, based on the sensed information stored in the 8th data storage section 207, the slave position is calculated (l706) and then a judgement is made to determine whether or not the slave has reached the goal position. FIG. l6 is the flowchart showing in detail the control procedure l508 in the restrictive manual operation mode. The start process l809 is the same as the process l7l0, whereas the end process l808 is the same as the process l709. In the start process of the restrictive manual operation, however, the attendant condition display l406 (refer to the example of FIG. l2 for details) is required to be effected. In the restric­ tive manual operation, the slave is controlled also by the slave managing processor means l05, namely, the control of the restrictive motion such as "hold gripper horizontally" is achieved by the salve managing processor means l05. That is, in the manual operation, the slave control input is calculated from the data in the operation output data memory l309 and is delivered to the control input section 206; whereas, in the restrictive manual operation, the data in the operation output data memory l309 is not processed, namely, the pertinent data is directly fed to the control input buffer 208 (in the memory means l09). In this case, by use of the data in the control input buffer 208, the slave managing processor means l05 calculates the data for the control input section 206 under the attendant conditions. Consequently, in the calculation l804 of the reaction force from the slave, a positional deviation may arise between the master moved by the human operator and the slave moved under the attendant conditions; and hence a weak force is generated to move the master so as to minimize the deviation. This allows the human operator to smoothly conduct the job. Finally, a description will be given of a case where the monitor is caused in the manual operation mode by releasing the attendant conditions. As described above, an interrupt occurs when the human operator turns the restriction release switch l3l2 or and off. FIG. l7 is the flowchart (control procedure l90l-l903) of the interrupt routine of the interface control section l30l. When the FIG. 2 is set to "l" (l902), the slave managing processor means l05 can recognize that the control under the attendant conditions may be stopped. In FIG. l6, the restrictive manual operation is simultaneously changed over to the manual operation by the control procedure l802. <Detailed description of slave managing processor means l05> The detailed embodiment of the slave managing processor means l05 shown in FIGs. l-2 will be described with reference to FIG. l8. The slave managing processor means l05 continu­ ously monitors (processing block l05a) the completion flag, FLG l indicating the completion of the execution stored in the 6th data storage section 205 and the wait state is continued until the execution completion flag of the trajectory level is set to "l". When an execution at the trajectory level is completed (FLGl = l), the number of operation to be next executed (OPN2) is read (processing block l05b) and the number is checked whether or not the number is associated with an operator at the trajectory level (processing block l05c). If the operator is at the trajectory level, and the operation is judged whether or not the operation is in the automatic or manual mode (processing block l05d). If the automatic operation mode is assumed, the execution completion flag is set to "0" and at the same time, the number of operator to be next executed is set to replaced the number of operator currently executed (processing blocks l05e-l05f). In the automatic operation (processing block l05g), the automatic operation of the gripper at the trajectory level is achieved as indicated by the number fields 35-37 of FIG. 8F (the example of FIG. 8e), namely, under the restrictive conditions, position vectors ₁-₃ represented like 3-dimensional vectors are output as goal values to the 7th data storage section 206. In the automatic operation, the end of operation is judged as follows (processing block l05h). Based on the sensed information obtained by the sensing means l08 and stored in the 8th data storage section 207, the current position of the gripper is checked whether or not the gripper position matches with the position vectors specified as the goal values. When the automatic operation is finished, the description of the present status, STATE is updated (processing block l05i) in the similar manner described in conjunction with the detailed description of the interface processor means l03. Moreover, the number of operator to be next executed is searched (processing block l05j) to determine whether or not there exists a number of operator to be next executed (processing block l05k). If such an operator number is found, the number is stored in the OPN2; otherwise, the OPN2 is set to "0", the execution completion flag, FLGNl is set to "l" (processing blocks l05ℓ, l05m, l05n), and control proceeds to execution of the next processing. On the other hand, if the operator is associated with the manual operation in the processing block l05d, the operation is checked whether or not the operation has attendant conditions to fix the direction of the gripper or the speed of the gripper (processing block l05p). If the operation has the attendant conditions, the operation under the attendant conditions is continued until the interface processor means l03 outputs an indication to release the operation under the restrictive conditions (processing block l05q, l05r, l05s). Provision of the restrictive operation release flag, FLNG2 enables the human operator of the master to release the attendant conditions for some reasons in the restrictive manual operation which has been attempted, thereby supporting a flexible operation of the system. The most characteristic point of the slave managing processor means l05 is the operation with the attendant conditions in the manual operation mode, namely, the restrictive manual operation mode. FIG. l9 shows a detailed embodiment of the processing blocks l05p-l05s of FIG. l8. In FIG. 2l, the operation is first checked whether or not the operation is the restrictive manual operation (processing block 3ll). If this is the case, the angle data ϑ jm of each joint of the master in the present state and the angle data ϑ js of each angle of the slave are read from the control input buffer 208 and the 8th data storage section 207, respectively (processing blocks 3l2-3l3). The angle data ϑ jm are beforehand written in the control input buffer 208 through the interface processor means l03. Next, based on the specified conditions, the respective attendant conditions are converted into relationships between the joint angles of the slave satisfying the attendant conditions (proces­ sing block 3l4). As already described in conjunction with FIG. l8, there may exist a case where the human operator of the master causes to generate an indication to release the restrictive conditions for the manual operation, which is judged depending on the value of FLG2 = "l" or "0" (processing block 3l5). If the indica­ tion to release the restrictive conditions is not present (FLG2 = 0), based on the angle data ϑ jm and ϑ js of the joints of the master and slave in the present state, the joint angles ϑ j 's of the slave satisfying the attendant conditions are calculated (processing block 3l6). The resultant data 8 j 's are written in the 7th data storage section 206 as the control goal values of the slave managing processor means of FIG. 2 (processing block 3l7). Various processing shown in FIGs. l8-l9 is executed at an interval of control (for example, 5-l0 ms) to accomplish the master-slave operation and the automatic operation. The slave management processor means l05 may be provided with a slave operation supporting function based on the feedback of sensed information to be described later in addition to the restrictive manual operation described above. FIGs. 20, 2lA, and 2lB show an embodi­ ment of a case where the gripper of the slave is guided according to the image information. As an example of a handle operation of the valve, a description will be given of an aid operation in a course of the operation to grip the object of operation (value handle) in the image data shot by a TV camera 340 installed at the gripper 350 of the slave manipulator. Assume that the valve handle has a known size and the complete roundness, then the distance and direction from the TV camera 340 to the valve handle (defined by L z of FIG. 2lA and L x and L y of FIG. 2lB) can be calculated by extracting the major axis, the minor axis, and the size of the ellipse from the image data of the valve handle on the image. Consequently, when a force is generated for the master in a direction so as to approach the object undergoing work and supplies the operation direction to the human operator, an operation to access the work object can be implemented in a short period of time. <Embodiment for automatically evaluating the human operator's skill> In the foregoing description, the skill data of the human operator is fixedly stored in the lst data storage section lll (FIG. 2); however, in the following paragraphs, as shown in the embodiment of FIG. 22, a description will be given of a method in which the skill data can be automatically generated and updated by use of the human operator's skill evaluating means ll2. The configuration of the human operator's skill evaluating means ll2 will be described with reference to FIG. 23. The human operator's skill evaluating means ll2 includes an evaluating unit 220 and a timer 22l. The timer 22l receives a trigger ON signal from the evaluating unit 220, measures a period of time t (work time or positioning time), and transfers the time to the evaluat­ ing unit 220. The evaluating unit 220 receives data from the 5th data storage section 204 storing the plan, the 6th data storage section 205 storing the present status, the 8th data storage section 207 storing the sensed information, and the lst data storage section lll storing the human operator's skill data and then returns the results of calculations to the human operator's skill data field of the lst data storage section lll. The evaluating unit 220 reads the current values of the operation , velocity , and of the slave gripper from the 8th data storage section 207, where , , and are represented as follows. where, x x , x y , x z x, y, and z components of the tip position of the slave grip α, β, γ, : direction cosine of attitude of hand x , y , z : x, y, and z components of the tip position of manipulator hand , , : angular velocity of direction cosine of attitude of slave f x , f y , f z : x, y: and z components of force applied to hand T x , T y , T z : moment components about x, y, and z axes on the slave The evaluating unit 220 reads from the 6th data storage section the number of operator currently executed OPNl 3a, the execution completion flag FLGl 3b, and the number of operator to be executed next OPN2 3c (FIG. 3). Using the number of operator currently executed OPNl 3a, the evaluating unit 220 reads from the 5th data storage section 204 data for the human operator's skill, namely, the task data ( r , r , B o , C o , T o , A o , V o ). The task data will be here described. The evaluating means 220 reads from the 5th data storage section 204 data of the reference time T o for performing task, carrying distance A o , and reference carrying speed V o The reference time T o for performing task is a period of time required for a job (to be referred to as a task herebelow) at the trajectory level 8e. A o stands for a distance between the position of slave x o immediately before the start of task and the goal position x r of the slave in the task (for example, corresponding to ₄ of FIG. 8F). The reference carrying speed V o is the reference speed of the slave when moved to the goal position r within the specified trajectory allowance C o . The evaluating unit 220 further reads from the 5th data storage section 204 the goal value r of position, the goal value r of force, the positioning allowance value B o , and the allowance for trajectory following C o . The dimensions of r and r are identical to those (=6) of and represented by expression (l). Here, r is the same as i at the trajectory level (FIG. 8F), and r is determined by cond i of FIG. 8G (for example, a force at least l0N is applied to an object of task). The allowance for positioning B o has the same dimension as that of , indicates the allowance when the positioning is conducted on the goal position r , and is specified by cond i at the trajectory level. The allowance for trajectory following C o is specified by cond i to indicate the allowance of the trajectory following error when the trajectory condition is specified in cond i . FIGs. 24-25 show input/output relationships between the human operator's skill evaluating means ll2 and external means. FIG. 27 is a flowchart illustrating the principle of operations of the evaluating means 220. The description will be given with reference to FIG. 27. In this flowchart, the procedures from la to lf are conducted once when the human operator initiates the use of this remote manipula­ tion system; whereas the procedures after lf to lv may be repetitively executed in the form of a large loop in order to update skill data during all operations. Thus, changes in the skill of a human operator due to fatigue or the like appear as changes in the skill data in a real-time, and these changes will affect results of instatiation process for the operation procedure plans that are not executed yet. The details of skill evaluating operations will be described herebelow. The human operator inputs his or her name from a keyboard or the like through the interface processor means l03 (la). The evaluating unit 220 effects a check to determine whether or not the name of the human operator has already been registered to the lst data storage section lll (lb). If the name has been registered, the following processing (lc-lf) is skipped. A training job is then requested to the 5th data storage section 204. In the training job, appropriate goal position r and allowance for positioning o are displayed on the TV monitor l02 via the interface processor means l03 so as to ask the human operator ll0 to position the slave at the goal position r within the positioning allowance B o by use of the manipulator l0l The evaluating unit 220 calculates the distance of movement A o between the starting point and the goal point and measures the time t required to achieve the positioning of the slave l07 at the goal position r within the allowance for positioning B o after the positioning is started. For A o and B o , data of several points are beforehand prepared to enable log₂ |A| and log₂ |B| to cover 3-4 ranges, thereby measuring the positioning time for the data of several points. Using the results of these operations, the basic evaluation parameters Ra and Rp are determined (le) from the regression line t = Ra + Rp · log₂ A/B of the positioning time t for the parameters log₂ A/B (A = |A|, B = |B|) representing the degree of difficulty of the positioning. The evaluation parameters Ra and Rp are registered to the lst data storage section lll together with the name of the human operator (lf). This is followed by processing to update the skill data of the human operator registered thereto. Next, the evaluating unit 220 reads data (OPNl, FLGl, OPN2) from the 6th data storage section 205 (lg-l). The evaluating unit 220 judges whether or not the task execution has been started as follows. FLGl=0: The task is in the wait state. FLGl=l: The task is being executed. When the FLGl is "0", the task is in the wait state, which continues until the FLGl is changed to be "l". For FLGl=l, control proceeds to the next step (lg-2). The evaluating unit 220 then supplies the trigger ON signal to the timer 22l to start the measurement thereof (lh). Next, the evaluating unit 220 reads from the plan section 204 task data ( r , r , B o , C o , T o , A o , V o ) based on the number of task currently executed OPNl. The evaluating unit 220 then reads the skill data (N a , R fa , R p R f , R t R a , ... ) of the human operator (lj). Next, the evaluating unit 220 reads data , , and f from the 8th data storage section 207 (lk). The evaluating unit 220 then conducts calculations with the second evaluation parameters r fi , r Ri , and r ti as follows. r fi = |f r - f i |/f r r Ri = |x r - x i | r ti = | i |/V o where, |x| is the norm of the vector x (lℓ). Subsequently, the evaluating means 220 reads the time t from the timer 22l (lm) and then judge whether or not a time-out has occurred by comparing t with T o (ln). For t ≧ n T o , a time-out is assumed, the fatigue parameter R fa is set to n(lo), and the evaluating unit 220 reads the data OPNl FLGl, and OPN2 from the 6th data storage section 205 and skips the processing steps lp-lt. The state of time-out corresponds to a case where the specific work time is exceeded because the human operator is fatigued, and an appropriate value is set to n depending on the content of the task. The value of n is 2 or 3 in ordinary cases. For t < n T o , the evaluating unit 220 reads the data OPNl, FLGl, and OPN2 from the 6th data storage section 205 (lp). The evaluating unit 220 then judges whether or not the task has been finished by use of the FLGl. For FLGl=l, the task is judged to be under execution and control returns to the processing lk; whereas for FLGl=0, the end of task is assumed and control is passed to processing lr (lq). Next, the evaluating unit 220 calculates the temporary values R fa ′, R p ′, R f ′, R R ′, and R t ′ of the evaluation parameters by use of the following formulas (lr). R fa ′ = (t - T o )/T o R p ′ = (t - R o )/(ℓn 2A o /B o ) R f ′ = (average) R R ′ = (average) R t ′ = (average) The evaluating unit 220 then judges whether or not |R i - R i ′| results in a significant difference. If this is the case, the processing lt is executed; other­ wise, the processing lt is skipped (ls). The judgment of the significant difference is made with respect to ε i , namely, the difference is assumed to be insignificant for a case |R i - R i ′| < ε i . The value of ε i is a fixed value beforehand stored in the evaluating unit 220. In the processing lt, the skill data for which the significant difference is found is updated and the skill update flag indicating the updated skill data is set to l, so that the updated skill data can be readily discriminated by other means. Incidentally, the skill data update flag is of the configuration of FIG. 28. Next, whether or not all tasks have been finished is judged by use of the OPN2 3c. If all tasks have been completed (OPN2 = 0), the evaluating unit 220 completes all operations; otherwise (OPN2 ≠ 0), control returns to the processing lg. FIG. 26 shows the formulas for the evaluation parameters. When the function and speed of computers are improved, the sensing technology and the image processing technology will be further developed, and hence it is forecasted that the ratio of the automatic operation is increased. In this case, the time for the human operator to operate the master is reduced and the free time is provided, which may allow a human operator to operate a plurality of slaves. FIG. 29 shows an embodiment of such a case. As shown in this diagram, two slaves l07 and l07′ are operated through a master handled by a human operator. The information of the monitor l02 is converted into the information of the slave requiring the manual operation and is used to guide the operation of the corresponding slave for the human operator ll0. The human operator ll0 can operate the slave requiring the manual operation by handling the master l0l. In this case, the memory means l090 is configured in the multi­ layer structure corresponding to the respective slaves. This method is similarly applicable even when the number of slaves exceeds two. While the present invention has been described with reference to the particular illustrative embodiments, it is not to be restricted by those embodiments but only the appended claims. It is to be appreciated that those skilled in the art can change or modify the embodi­ ments without departing from the scope and spirit of the present invention.

Claims: 1. A remote manipulation method for performing a sequence of pieces of work using a master and a slave, comprising the steps of: generating an operation procedure plan (8e) in which manual operations and automatic operations are mixed from data indicating a level of a human operator's skill (lll) and a goal for work (6a) supplied; automatically executing, according to said operation procedure plan (8e), the automatic operations through a motion management by processor means (l03-l06); and executing the manual operations through a manual operation of the human operator. 2. A remote manipulation method according to Claim l further including the steps of: updating during an operation the data indicating the level of the human operator's skill (lt) and sequentially evaluating the level of the human operator's skill (FIG. 27). 3. A remote manipulation method according to Claim 2 further including a step of updating in sequence the operation procedure plan. 4. A remote manipulation system for performing a sequence of pieces of work using a master and a slave, comprising: planning processor means (l04) for generating an operation procedure plan in which manual operations and automatic operations are mixed from data indicating human operator's skill data and a goal for work supplied; slave managing processor means (l05) for effecting an aid operation at execution of the automatic operations and the manual operations; and interface processor means (l03) for supplying at execution of the manual operations contents of operations to be implemented to the human operator, thereby guiding operations. 5. A remote manipulation system according to Claim 4 further including store means (lll) for storing the human operator's skill data. 6. A remote manipulation system according to Claim 5 further including evaluating means (ll2) for evaluating from the human operator's skill data a level of the human operator's skill. 7. A remote manipulation system according to Claim 4 wherein said interface processor means (l03) displays on a screen of a TV monitor an actual image of an object of work, an actual image of a gripper of the slave, and contents of present task items. 8. A remote manipulation system according to Claim 7 wherein said interface processor means (l03) further displays on the screen of the TV monitor a position of a goal of the gripper in a graphic fashion and attendant conditions. 9. A remote manipulation method for performing a sequence of pieces of work using a master and slave, comprising the steps of: preparing an operation procedure plan in which each of said pieces of work is defined as being performed by manual operation or automatic operation at least on the basis of information on the level of skill of a human operator; and performing said sequence of pieces of work in accordance with said operation procedure plan, whereby work is done efficiently with the level of skill of a human operator taken into consideration. l0. A remote manipulation method according to Claim 9, further comprising the step of updating said operation procedure plan depending on changes of the level of the human operator in the course of performance of said sequence of pieces of work. 11. A remote manipulation system for performing a sequence of pieces of work using a master and slave, comprising: memory means (l09); means (l04) for preparing an operation procedure plan in which each of said pieces of work is defined as being performed by manual operation or automatic operation at least on the basis of information on the level of skill of a human operator, said plan being stored in said memory means; means (l05) associated with said memory means for managing said automatic operation; and slave control means (l06) responsive to the outputs of said manual operation managing means and said automatic operation managing means. 12. A remote manipulation system according to Claim ll, further comprising means (ll2) associated with said memory means for updating said operation procedure plan depending on changes of the level of the human operator in the course of performance of said sequence of pieces of work.

Inventors: ICHIKAWA, YOSHIAKI, KAMIMURA, HIROSHI, SASAKI, MASAYOSHI, SENOH, MAKOTO, SUGIYAMA, SAKAE, SUZUKI, MASANORI, TOMIZAWA, FUMIO
Applicants: HITACHI, LTD.
Application year: 1987
Main classification: G05B19
IPC codes: G05D3, B25J3, G05B19