Method and apparatus for master-slave manipulation supplemented by automatic control based on level of operator skill
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 herebelow) 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 being performed. As described in the &#34;Proceedings of &#39;85 International Conference on Advanced Robotics&#34;, pp. 329-336 and the &#34;Proceedings of the 1984 National Topical Meeting on Robotics and Remote Handling in Hostile Environments&#34;, 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 performing work. Furthermore, depending on the skill required (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, the required 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 the level of skill of a human operator is automatically determined and operations which form part of the work are achieved partly through operations of a computer and partly as a result of manual operations of the human operator. 
     According to another object of the present invention, in working involving remote manipulation using a master and a slave, an operation procedure plan, including combinations of manual and automatic operations, is generated by use of data indicating the level of skill of the operator and a goal for the work to be performed, 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 of the work to be performed, slave managing means for aiding manual operations and performing 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 is first generated and then the operation procedures are sequentially accomplished. 
     The planning means generates operation procedures by mixing automatic operations and manual operations depending on data indicating the skill of the operator and the goal work supplied thereto. This makes it possible 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 aids the operation in the manual operation state. This removes the unnecessary jobs of the operator to proceed the work. The interface means requests the operator&#39;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 the work to be controlled by a computer. However, a decision to divide portions 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 performing an indirect operation of a remote slave while watching the operation on a 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, 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 fatigued in 2 to 3 hours and the level of skill of the operation is at that point 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 while 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 have consequently recognized that operations involving remote manipulation may be divided into operations to be accomplished by the human operator, operations to be performed by the computer, and 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 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 preferably performed depending on a 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. 1-2 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. 1 and 2. 
     FIG. 10 is a block diagram showing the planning processor means. 
     FIGS. 11-12 are schematic diagrams illustrating the block diagram and an operation example of the interface processor means. 
     FIGS. 13-17 are flowcharts of processing in the interface processor means. 
     FIGS. 18-19 are flowcharts of the slave managing processor means. 
     FIGS. 20, 21A, and 21B 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&#39;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&#39;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 
     An embodiment of the present invention will be described with reference to FIG. 1. This embodiment includes an interface processor 103 connected to a master 101 and a TV monitor 102, a planning processor 104, a slave managing processor 105, a slave controlling processor 106, slave 107 to be controlled by the slave controlling processor 106, a sensing device 108 for sensing the state of the slave 107, a memory means 109 in which information concerning read and write operations are effected by the elements 103, 104, 105, 106, and 108, and a first data storage section 111 disposed in the memory 109 for storing data indicating the operation skill of the human operator, namely, the human operator&#39;s skill data. 
     FIG. 2 is a schematic block diagram for explaining the embodiment of FIG. 1 further in detail. In this diagram, the contents of the memory 109 include, in addition to the first data storage section 111, a 2nd data storage section 201 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. 
     &lt;6th data storage section 205&gt; 
     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 the object undergoing work 4b of the master and the slave. 
     The state of system 4a contains information indicating a joint angle of the master and slave, a position of the gripper, a direction of the gripper, and an information item indicating whether or not the gripper is grasping an object. 
     The state of the object undergoing work 4b contains a data item 4b1 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 51. There may be used, for example, 18 bolts; however, only a single 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 4b1 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 51 fixes the flange 52 to the valve casing 53. The information of the position/attitude 4b2 contains position vectors of x i , x j , and x R  of each part in the coordinate system of the space and the attitude angle vector θ i , θ j , and θ k . 
     &lt;2nd data storage section 201&gt; 
     The contents of the 2nd data storage section 201 include a goal for the work 6a, a definition of an operator 6b, and data concerning shape and dimensions of an 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 by x 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 changing 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, &#34;demounting of flange&#34;. 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. 
     &lt;3rd data storage section 202&gt; 
     The 3rd data storage section 202 stores data related to positions, dimensions, and the 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. 
     &lt;1st data storage section 111&gt; 
     The 1st data storage section 111 stores data indicating 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. 
     (1) 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 
     &lt;4th data storage section 203&gt; 
     The 4th data storage section 203 stores the following data. 
     (1) Data of dimensions and shape of slave 107 
     (2) Performance and function of automatic operations by the computer 
     &lt;Sensing means 108 and 8th data storage section 207&gt; 
     The sensing means 108 includes a TV camera or the like for displaying a scene on the TV monitor 102 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 107 and supplies data to the 8th data storage section 207 storing sensed information data. 
     The 8th data storage section 208 stores the following information. 
     (1) Data resulting 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 scene on the monitor 102, etc. 
     &lt;Slave controlling processor means 106 and 7th data storage section 206&gt; 
     The slave controlling processor means 106 controls the position, the velocity, and the force on each joint of the slave 107. The types and target values for the control are contained in the 7th data storage section 206. 
     &lt;Planning processor means 104 and 5th data storage section 204&gt; 
     Since a concrete embodiment of the planning processor means 104 will be described later, an outline thereof will be now described. The planning processor means 104 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 the 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 a plan is stored in the field of the number of the 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 &#34;demounting of bolt&#34; 8g → &#34;demounting of flange&#34; 8h → &#34;demounting of valve body&#34; 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. 1 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 schematic diagrams showing examples of the procedure levels 8c and 8d, respectively. &#34;Demounting of bolt&#34; 8g at the task level 8b in FIG. 8C is divided into &#34;loosen bolt&#34; 9a and &#34;remove bolt&#34; 9b at the sequence level 8c in FIG. 8D. &#34;Loosen bolt&#34; 9a is a task to be conducted by use of a special tool. The lower levels of the &#34;remove bolt&#34; 9b will be described. As shown in FIG. 8E, at the motion level 8d, there are provided concrete items, namely, &#34;approach bolt&#34; 9c, &#34;grip bolt&#34; 9d, &#34;rewind bolt&#34; 9e, and &#34;move x d  &#34; 9f. These items respectively mean &#34;move the gripper to a position to grasp the bolt&#34;, &#34;grip the bolt&#34;, &#34;rewind the bolt&#34;, and &#34;move the gripper to the position x d  &#34;. 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, &#34;approach bolt&#34; 9c is made to be concrete as &#34;move x 1  : cond 1  &#34;, &#34;move x 2  : cond 2  &#34;, &#34;move x 3 , cond 3  &#34;, and &#34;op-move x 4 , cond 4  &#34;. This means that in order to move the gripper to the position x 4  to grip the head of the bolt, the gripper is moved from x 1  to x 3  via x 2  in the automatic mode and is further moved from x 3  to x 4  in the manual mode (op move). As described above, the operator associated with the manual operation is, for example, marked with &#34;op-&#34; in its name so as to be discriminated from the operators to be executed in the automatic mode. The symbol such as &#34;cond 1  &#34; added to an operator indicates an attendant condition to be effected when the operator is executed. The attendant conditions are stored in a separate location, for example, as shown in 10g of FIG. 8G. Field 10g 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. The attendant conditions further include various conditions such as compliance conditions and sensing means to be used. &#34;Op-move&#34; 10d is followed by &#34;close-hand&#34; 10e which is a more specific form of &#34;grip bolt&#34; 9d. The attendant condition, cond 5  of this operator includes the descriptions associated with a force to grip the bolt and the like. The next operator &#34;rotate-hand&#34; 10f 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. 
     &lt;Slave managing processor means 105&gt; 
     The operators stored in the 5th data storage section 204 are sequentially executed according to the &#34;number of operator to be executed next&#34; 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 15 executes the operations depending on the contents of the operators and the attendant conditions. For example, when &#34;move x 1  : cond 1  &#34; 10a is executed, the means 105 controls the slave 107 via the 7th data storage section 206 so that the gripper reaches the position x 1  while satisfying the condition indicated by cond 1 . Furthermore, the processor means 105 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. 
     &lt;Interface processor means 103&gt; 
     If the next operator to be executed is a manual operation, namely, if &#34;op-&#34; is added to the operator, the interface processor means 103 guides the operation of the human operator 110 through a display and a voice output on the monitor 102 and a force generated at the master 101. The interface processor means 103 reads the force applied to the master 101 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. Moreover, the interface processor means 103 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 105 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 103 writes data in a control input data buffer 208 of the 1st data storage section 111. This data is read by the slave managing processor means 105, 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 103. 
     &lt;General flow&gt; 
     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&#39;s skill data are beforehand stored in the 2nd, 3rd, 4th, and 1st data storage sections 201, 202, 203, and 111, respectively. In the flowchart FIG. 9, the initial values are set to the goal for work 6a (FIG. 6) and the 6th data storage section 205 (lla). If &#34;No. 1 of purpose level&#34; 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 104 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 103 or the slave managing processor means 105 is caused to function, namely, an operator is executed (11c), the 6th data storage section 205 is updated, a check is effected to determine whether or not an unexecuted operator exists (11d), and the execution is finished if there does not exist such an operator (11e). 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 103 or 105 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 104 initiates the operator, while the processor means 103 or 105 does nothing until the initiation (planning) is completed (11f). 
     &lt;Detailed description of planning processor means 104&gt; 
     Since the function of the planning processor means 104 has already been outlined, the method for realizing the planning processor means 104 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 104 is initiated to instantiate the operator. As a consequence, the planning processor means 104 is structured as shown in FIG. 10 to instantiate operators at the various levels. The processor means 104 further includes planners 104a-104e 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 instantiation, 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 &#34;the number of operator to be executed next&#34; for the instantiation. 
     The planner at each level fundamentally performs a 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 &#34;state&#34; means the description of the system and objects in the form of the example shown in FIG. 4. However, 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 makes it possible draw a transition graph in which each state is represented as node. In the graph, there exist two or more paths to reach a goal state, a cost is added to each node, 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 12a-12e. 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 instantiation 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 an object undergoing work 6c stored in the 2nd data storage section 201, 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&#39;s skill data stored in the 2nd data storage section 111. In particular, when evaluating the cost of an operator for the manual operation, namely, an operator having &#34;op-&#34; added to the title thereof, the cost is determined with reference to the human operator&#39;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 10g (FIG. 8) of an operator at the trajectory level. Some attendant conditions 10g are beforehand specified as definitions for the associated operators and some attendant conditions 10g 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. 
     &lt;Details of interface processor means 103&gt; 
     The interface processor means 103 will be described in detail with reference to FIG. 11 and subsequent diagrams. FIG. 11 shows the configuration of the interface processor means 103. Each component thereof will be here described. An interface control section 1301 includes a memory, a processor, or the like therein and controls the entire interface processor section 103. A bus 1310 is used to effect a data exchange between the interface control section 1301 and the other components of the interface processor section 103 and the memory means 109. A master control section 1303 controls the master 101 by use of the control data stored in a master control input section 1302. The master control input section 1302 contains the control data to be periodically updated by the interface control section 1301. Based on the content of the operator currently being executed supplied from the interface control section 1301 and the position data of the gripper, an operation command display generator 1304 displays on the TV monitor 102 the contents of work (for example, data 1402-1404 of FIG. 12) and the goal position (for example, the item 1405 of FIG. 12) of the gripper of the slave. In a display mixer section 1305, the CRT display data output from the operation command display generator 1304 to the TV monitor 102 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 109 (FIG. 2). 
     FIG. 12 shows an example of a screen image. The following information items are displayed on the CRT display screen 1401 of the TV monitor 102. 
     (1) Actual images of the object undergoing work and the gripper of the slave 
     (2) Contents of current task items 
     In this diagram, &#34;demount of bolt&#34;, &#34;removal of bolt&#34;, and &#34;approach bolt&#34; are displayed in the task, sequence, and motion level operation indicators 1402, 1403, and 1404, 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 1405. 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, &#34;hold gripper horizontally&#34; is displayed in the attendant condition indicator field 1406 in the neighborhood of the goal position display. 
     Returning now to FIG. 11, the description will be given. In response to an indication from the interface control section 1301, a voice output section 1306 causes a speaker 1311 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 1312 is used by the human operator to release the attendant conditions of the manual operation (for example, the item 1406 of FIG. 14) for some reasons. When the switch 1312 is pressed, an interrupt takes place in the interface control section 1301 via a restriction release switch interface 1307 and then the attendant conditions are released. The method for releasing the attendant conditions will be described later. 
     An operation detector section 1308 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 1309 stores data from the operation detector section 1308. The interface control section 1301 can fetch the data therefrom through the bus 1310. 
     Referring now to the flowcharts of FIGS. 13-17, the operation of the interface processor means 103 will be described. FIG. 13 shows the general flowchart of control executed by the interface control section 1301. The control is implemented by monitoring the present state in the 6th data storage section 205 of the memory means 109. The symbols appearing in the steps 1501-1519 correspond to the contents of the 6th data storage section 205 of FIG. 3. In this diagram, OPN1, FIG1, 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. 13 will be described. When the power is turned on, the system confirms that the FIG. 1 is set to &#34;1&#34; and then reads the OPN2. If the OPN2 is an operator at the trajectory level, the interface processor means 103 starts its operation. The operation of the interface processor means 103 is primarily classified into the following three modes. 
     (1) Automatic operation mode (control procedure 1511) 
     (2) Manual operation mode (control procedure 1513) 
     (3) Restrictive manual operation mode (control procedure 1508) 
     The automatic operation mode can be confirmed since the operator in the OPN2 is not assigned with &#34;op-&#34;. For example, this applies to the case of the operator of 10a in FIG. 8F. The automatic operation mode is confirmed when an operator with &#34;op-&#34; 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 &#34;op-&#34; is found in the OPN2 and the attendant condition, cond i  is added thereto. 
     In the automatic operation mode, the slave 107 is controlled by the slave managing processor means 105. When processing of an operator is completed, the slave managing processor means 105 sets the FIG. 1 to &#34;1&#34;. The interface control section 1301 continuously monitors the FIG. 1, and when the FIG. 1 is set to &#34;1&#34;, the control procedure 1511 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 103 mainly controls the slave 107. In this case, when processing of an operator (OPN1) is finished, the interface control section 1301 updates the description of present status, STATE (1510) and searches an operator to be next executed (1516) 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); however, 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 &#34;0&#34; (1519). Thereafter, the completion flag, FIG. 1 is set to &#34;1&#34; and control is passed to the 6th data storage section 205. 
     FIG. 14 shows the detailed flowchart of the control procedure 1511 in the automatic operation mode. The control routine of the automatic operation is subdivided into three parts, namely, (1) starting process, (2) operation, and (3) ending process. 
     In the starting process 1604, the voice output section 1306 causes the speaker 1311 to sound the start tone (1610) to notify the human operator, and then the content of the operation is displayed by letters on the TV monitor 102 (1611). 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 OPN1 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 (1612, 1613). The display data is generated by the operation command display generator 1304 and is then mixed with the image from the camera in the display mixer section 1305, and the resultant data is displayed on the TV monitor 102. 
     In the ending process 1603, 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 1605 and 1606, 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 1302. This enables the master control input section 1302 to control the master and thereby to transfer information such as the sense of slave gripper to the human operator. 
     FIG. 15 is the detailed flowchart of the control procedure 1513 in the manual operation mode. The start process 1710 is the same as the process 1604 of FIG. 16, whereas the end process 1709 is the same as the process 1603 of FIG. 16. In the start process 1710, 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 (1702, 1703); moreover, the reaction force from the slave is calculated, the master is actuated (1704, 1705), 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 (1706) and then a judgement is made to determine whether or not the slave has reached the goal position. 
     FIG. 16 is the flowchart showing in detail the control procedure 1508 in the restrictive manual operation mode. The start process 1809 is the same as the process 1710, whereas the end process 1808 is the same as the process 1709. In the start process of the restrictive manual operation, however, the attendant condition display 1406 (refer to the example of FIG. 12 for details) is required to be effected. In the restrictive manual operation, the slave is controlled also by the slave managing processor means 105, namely, the control of the restrictive motion such as &#34;hold gripper horizontally&#34; is achieved by the slave managing processor means 105. That is, in the manual operation, the slave control input is calculated from the data in the operation output data memory 1309 and is delivered to the control input section 206; whereas, in the restrictive manual operation, the data in the operation output data memory 1309 is not processed, namely, the pertinent data is directly fed to the control input buffer 208 (in the memory means 109). In this case, by use of the data in the control input buffer 208, the slave managing processor means 105 calculates the data for the control input section 206 under the attendant conditions. Consequently, in the calculation 1804 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 1312 or and off. FIG. 17 is the flowchart (control procedure 1901-1903) of the interrupt routine of the interface control section 1301. When the FIG. 2 is set to &#34;1&#34; (1902), the slave managing processor means 105 can recognize that the control under the attendant conditions may be stopped. In FIG. 16, the restrictive manual operation is simultaneously changed over to the manual operation by the control procedure 1802. 
     &lt;Detailed description of slave managing processor means 105&gt; 
     The detailed embodiment of the slave managing processor means 105 shown in FIGS. 1-2 will be described with reference to FIG. 18. 
     The slave managing processor means 105 continuously monitors (processing block 105a) the completion flag, FLG 1 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 &#34;1&#34;. When an execution at the trajectory level is completed (FLG1=1), the number of operation to be next executed (OPN2) is read (processing block 105b) and the number is checked whether or not the number is associated with an operator at the trajectory level (processing block 105c). 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 105d). If the automatic operation mode is assumed, the execution completion flag is set to &#34;0&#34; and at the same time, the number of the operator to be next executed is set to replace the number of the operator currently executed (processing blocks 105e-105f). In the automatic operation (processing block 105 g), 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 x 1  -x 3  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 105h). Based on the sensed information obtained by the sensing means 108 and stored in the 8th data storage section 207, the current position of the gripper is checked to see 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 105i) in the similar manner described in conjunction with the detailed description of the interface processor means 103. Moreover, the number of the operator to be next executed is searched (processing block 105j) to determine whether or not there exists a number of operator to be next executed (processing block 105k). If such an operator number is found, the number is stored in the OPN2; otherwise, the OPN2 is set to &#34;0&#34;, the execution completion flag, FLGN1 is set to &#34;1&#34; (processing blocks 105l, 105m, 105n), 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 105d,  the operation is checked to see whether or not the operation has attendant conditions to fix the direction of the gripper or the speed of the gripper (processing block 105p). If the operation has the attendant conditions, the operation under the attendant conditions is continued until the interface processor means 103 outputs an indication to release the operation under the restrictive conditions (processing block 105q, 105r, 105s). 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 105 is the operation with the attendant conditions in the manual operation mode, namely, the restrictive manual operation mode. FIG. 19 shows a detailed embodiment of the processing blocks 105p-105s of FIG. 18. In FIG. 21, the operation is first checked to see whether or not the operation is the restrictive manual operation (processing block 311). 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 312-313). The angle data θ jm  are beforehand written in the control input buffer 208 through the interface processor means 103. 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 (processing block 314). As already described in conjunction with FIG. 18, there may exist a case where the human operator of the master causes generation of an indication to release the restrictive conditions for the manual operation, which is judged depending on the value of FLG2=&#34;1&#34; or &#34;0&#34; (processing block 315). If the indication 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  &#39;s of the slave satisfying the attendant conditions are calculated (processing block 316). The resultant data θ j  &#39;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 317). Various processing shown in FIGS. 18-19 is executed at an interval of control (for example, 5-10 ms) to accomplish the master-slave operation and the automatic operation. 
     The slave management processor means 105 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, 21A, and 21B show an embodiment 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 (valve 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 a complete roundness, then the distance and direction from the TV camera 340 to the valve handle (defined by L z  of FIG. 21A and L x  and L y  of FIG. 21B) 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. 
     &lt;Embodiment for automatically evaluating the human 
     operator&#39;s skill&gt; 
     In the foregoing description, the skill data of the human operator is fixedly stored in the 1st data storage section 111 (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&#39;s skill evaluating means 112. 
     The configuration of the human operator&#39;s skill evaluating means 112 will be described with reference to FIG. 23. The human operator&#39;s skill evaluating means 112 includes an evaluating unit 220 and a timer 221. The timer 221 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 evaluating 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 1st data storage section 111 storing the human operator&#39;s skill data and then returns the results of calculations to the human operator&#39;s skill data field of the 1st data storage section 111. 
     The evaluating unit 220 reads the current values of the operation x, velocity x, and f of the slave gripper from the 8th data storage section 207, where x, x, and f are represented as follows. ##EQU1## 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 x , x y , x 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 OPN1 3a, the execution completion flag FLG1 3b, and the number of operator to be executed next OPN2 3c (FIG. 3). 
     Using the number of operator currently executed OPN1 3a, the evaluating unit 220 reads from the 5th data storage section 204 data for the human operator&#39;s skill, namely, the task data (x r , f 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 x 4  of FIG. 8F). 
     The reference carrying speed V o  is the reference speed of the slave when moved to the goal position x r  within the specified trajectory allowance C o . The evaluating unit 220 further reads from the 5th data storage section 204 the goal value x r  of position, the goal value f r  of force, the positioning allowance value B o , and the allowance for trajectory following C o . 
     The dimensions of x r  and f r  are identical to those (=6) of x and f represented by expression (1). 
     Here, x r  is the same as x i  at the trajectory level (FIG. 8F), and f r  is determined by cond i  of FIG. 8G (for example, a force at least 10 N is applied to an object of task). The allowance for positioning B o  has the same dimension as that of x, indicates the allowance when the positioning is conducted on the goal position x 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&#39;s skill evaluating means 112 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 1a to 1f are conducted once when the human operator initiates the use of this remote manipulation system; whereas the procedures after 1f to 1v 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 103 (1a). 
     The evaluating unit 220 effects a check to determine whether or not the name of the human operator has already been registered to the 1st data storage section 11 (1b). If the name has been registered, the following processing (1c-1f) is skipped. 
     A training job is then requested to the 5th data storage section 204. In the training job, appropriate goal position x r  and allowance for positioning B o  are displayed on the TV monitor 102 via the interface processor means 103 so as to ask the human operator 110 to position the slave at the goal position x r  within the positioning allowance B o  by use of the manipulator 101. 
     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 107 at the goal position x 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 2  |A| and log 2  |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.sub.2 A/B 
    
     of the positioning time t for the parameters log 2  A/B (A=|A|, B=|B|) representing the degree of difficulty of the positioning. The evaluation parameters Ra and Rp are registered to the 1st data storage section 111 together with the name of the human operator (1f). This is followed by processing to update the skill data of the human operator registered thereto. 
     Next, the evaluating unit 220 reads data (OPN1, FLG1, OPN2) from the 6th data storage section 205 (1g-1). 
     The evaluating unit 220 judges whether or not the task execution has been started as follows. 
     FLG1=0: The task is in the wait state. 
     FLG1=1: The task is being executed. 
     When the FLG1 is &#34;0&#34;, the task is in the wait state, which continues until the FLG1 is changed to be &#34;1&#34;. For FLG1=1, control proceeds to the next step (1g-2). 
     The evaluating unit 220 then supplies the trigger ON signal to the timer 221 to start the measurement thereof (1h). 
     Next, the evaluating unit 220 reads from the plan section 204 task data (x r , f r , B o , C o , T o , A o , V o ) based on the number of task currently executed OPN1. 
     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 (1j). 
     Next, the evaluating unit 220 reads data x, x, and f from the 8th data storage section 207 (1k). 
     The evaluating unit 220 then conducts calculations with the second evaluation parameters r fi , r Ri , and r ti  as follows. 
     
         r.sub.fi =|f.sub.r -f.sub.i |/f.sub.r 
    
     
         r.sub.Ri =|x.sub.r -x.sub.i | 
    
     
         r.sub.ti =|x.sub.i |/V.sub.o 
    
     where, x is the norm of the vector x (1l). 
     Subsequently, the evaluating means 220 reads the time t from the timer 221 (1m) and then judge whether or not a time-out has occurred by comparing t with T o  (1n). 
     For t≧n T o , a time-out is assumed, the fatigue parameter R fa  is set to n(1o), and the evaluating unit 220 reads the data OPN1 FLG1, and OPN2 from the 6th data storage section 205 and skips the processing steps 1p-1t. 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&lt;n T o , the evaluating unit 220 reads the data OPN1, FLG1, and OPN2 from the 6th data storage section 205 (1p). 
     The evaluating unit 220 then judges whether or not the task has been finished by use of the FLG1. For FLG1=1, the task is judged to be under execution and control returns to the processing 1k; whereas for FLG1=0, the end of task is assumed and control is passed to processing 1r (1q). 
     Next, the evaluating unit 220 calculates the temporary values R fa  &#39;, R p  &#39;, R f  &#39;, R R  &#39; of the evaluation parameters by use of the following formulas (1r). 
     
         R.sub.fa &#39;=(t-T.sub.o)/T.sub.o 
    
     
         R.sub.p &#39;=(t-R.sub.o)/(ln 2A.sub.o /B.sub.o) 
    
     
         R.sub.f &#39;=r.sub.fi (average) 
    
     
         R.sub.R &#39;=r.sub.ri (average) 
    
     
         R.sub.t &#39;=r.sub.ti (average) 
    
     The evaluating unit 220 then judges whether or not |R i  -R i  &#39;| results in a significant difference. If this is the case, the processing 1t is executed; otherwise, the processing 1t is skipped (1s). 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  &#39;|&lt;ε i . The value of ε i  is a fixed value beforehand stored in the evaluating unit 220. 
     In the processing 1t, 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 1, 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 1g. 
     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 107 and 107&#39; are operated through a master handled by a human operator. The information of the monitor 102 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 110. The human operator 110 can operate the slave requiring the manual operation by handling the master 101. In this case, the memory means 1090 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 embodiments without departing from the scope and spirit of the present invention.