Patent Description:
Conventionally, remote control robot systems are known, which is provided with a master arm operated by an operator and a slave arm which operates according to the operation to the master arm. The operator operates the master arm to cause the slave arm to perform a work, such as assembly and maintenance of an apparatus. Among those remote control robot systems, there is a type, for example, which makes the operator sense through the master arm the gravity of an object held by the slave arm, a reaction force (contact force) which the slave arm or the object held by the slave arm receives by contacting another object. Patent Document <NUM> discloses this kind of technology.

In this kind of remote control robot system, for example, when the weight of the object held by the slave arm is large, since the operator operates the master arm while perceiving the weight, this could be a burden to the operator. The system disclosed in Patent Document <NUM> is configured to switch, by a switch, between a mode in which the operator who operates the master arm is made to sense only the reaction force which acts on the slave arm, or a mode in which the operator is made to sense the reaction force as well as the gravity of the object. In detail, the system disclosed in Patent Document <NUM> calculates the weight of the object held by the slave arm at a timing of setting. Then, if making the operator sense only the reaction force which acts on the slave arm, the master arm is driven, during a period other than the setting timing, based on a drive signal acquired by subtracting the force corresponding to the gravity of the object from the force received by the slave arm.

Patent Document <NUM> discloses an operation system of a robot arm that includes the robot arm disposed in a work box which is sealed, an operation apparatus disposed outside the work box and including an operation device which is operated by an operator to input an operation command of the robot arm, a control apparatus moving the robot arm based on the operation command from the operation apparatus, and a reaction force controller. Based on movable region information which indicates a movable region of the robot arm in the work box, as the robot arm approaches the limit of the movable region, the reaction force controller increases a reaction force which is against a force of moving the operation device by the operator in a direction approaching the limit of the movable region.

Patent Document <NUM> discloses a further exemplary remote control robot system.

However, like the system disclosed in Patent Document <NUM>, if a given external force, such as the gravity of the object held by the slave arm, is completely canceled, a gap may arise between the feel anticipated by the operator and the feel received through the master arm. Such a gap of operational feel may have a bad influence on workability.

Therefore, one purpose of the present invention is to provide a remote control robot system which is improved in an operational feel received by an operator through a master arm.

The problems described above are solved by the present invention as defined in claim <NUM>.

According to the present invention, the operator is presented through the master arm the imaginary external force acting in the gravity direction which is independent from the force received by the slave arm from the exterior. Therefore, for example, by causing the external force which does not become a burden to act on the master arm in a gravity in which the operator anticipates to receive the force, the gap between the feeling anticipated by the operator and the feeling received by the operator through the master arm can be reduced. Thus, the operational feel received by the operator through the master arm can be improved.

The magnitude of the imaginary external force are able to be set from the setting value input part, and thus the imaginary external force applied to the master arm can be suitably adjusted to the magnitude which is easy for the operator's manipulation.

For example, the remote control robot system may further include a holding hand provided to a tip end of the slave arm and configured to hold a workpiece, and a gravity compensating module configured to compensate a gravity of the workpiece held by the holding hand. The instruction generating module may generate the instruction to apply the imaginary external force in the gravity direction to the master arm when the workpiece is held by the holding hand. The imaginary external force is independent from the gravity of the workpiece held by the holding hand. According to this configuration, by the gravity compensating module, the imaginary external force which does not become a burden can be acted on the master arm in the gravity direction, without reflecting on the master arm the gravity of the object held by the holding hand of the slave arm. Therefore, the operational burden of the master arm can be reduced, and the feeling of holding the object can be presented to the operator.

The remote control robot system may further include a grip part provided to a tip end of the master arm, and grippable by the operator, and a grip sensor configured to detect whether the grip part is gripped. The instruction generating module may generate the instruction to apply the imaginary external force to the master arm when the grip sensor is detected to be gripped, and may generate an instruction not to apply the imaginary external force to the master arm when the grip sensor is detected not to be gripped. According to this configuration, the imaginary external force acts on the tip end of the master arm in the given direction only while the operator grips the grip part, and the imaginary external force stops acting when the operator releases the grip part. Therefore, when the operator releases the grip part, it can be prevented that the master arm operates by the imaginary external force.

According to the remote control robot system of the present invention, the operational feel received by the operator through the master arm can be improved.

Hereinafter, one embodiment of the present invention will be described with reference to the drawings.

<FIG> is an outline configuration diagram of a remote control robot system <NUM>. As illustrated in <FIG>, the remote control robot system <NUM> is a robot system of a master-slave type, and is provided with a slave arm <NUM> and a master arm <NUM>. Moreover, the remote control robot system <NUM> includes an input device <NUM>, an output device <NUM>, a situation acquisition device <NUM>, a storage device <NUM>, and a control unit <NUM> which comprehensively controls the system <NUM>.

In the remote control robot system <NUM>, when an operator operates the master arm <NUM>, the slave arm <NUM> which is located distant from the master arm <NUM> follows the motion of the master arm <NUM> to perform a given work. In this embodiment, the remote control robot system <NUM> may be a system which is built in an automobile assembly line and performs a work of attaching a seat to an automobile body.

In detail, as illustrated in <FIG>, a seat (hereinafter, referred to as an "attaching object") W1 is an object (workpiece) held and moved by the slave arm <NUM>, and a hole h is formed in the bottom of the attaching object W1. Moreover, the automobile body (hereinafter, referred to as a "to-be-attached object") W2 which is partially illustrated in <FIG> is supported by a support table (not illustrated), and a pin p which projects upwardly is provided to a given location of the to-be-attached object W2. The operator operates the master arm <NUM> to manipulate the slave arm <NUM>, and as illustrated by a broken line, the attaching object W1 is moved downwardly so that the pin p of the to-be-attached object W2 is inserted into the hole h of the attaching object W1, thereby attaching the attaching object W1 onto the to-be-attached object W2.

Moreover, the remote control robot system <NUM> of this embodiment is configured to switch a mode between a control mode in which the operator operates the slave arm <NUM> through the master arm <NUM> (hereinafter, referred to as a "manual mode"), and a control mode in which the slave arm <NUM> is operated according to a task program set beforehand (hereinafter, referred to as an "automatic mode").

Below, each component of the remote control robot system <NUM> is described in detail.

The slave arm <NUM> is an articulated robotic arm having a plurality of joints JT1-JT6, which is comprised of a serially-coupled body of a plurality of links 11a-11f, and a pedestal <NUM> which supports the serially-coupled body. In more detail, at a first joint JT1, the pedestal <NUM> is coupled to a base-end part of the first link 11a rotatably on an axis extending vertically. At a second joint JT2, a tip-end part of the first link 11a is coupled to a base-end part of the second link 11b rotatably on an axis extending horizontally. At a third joint JT3, a tip-end part of the second link 11b is coupled to a base-end part of the third link 11c rotatably on an axis extending horizontally. At a fourth joint JT4, a tip-end part of the third link 11c is rotatably coupled to a base-end part of the fourth link 11d on an axis extending in the longitudinal direction of the fourth link 11d. At a fifth joint JT5, a tip-end part of the fourth link 11d is coupled to a base-end part of the fifth link 11e rotatably on an axis perpendicular to the longitudinal direction of the fourth link 11d. At a sixth joint JT6, a tip-end part of the fifth link 11e is rotatably coupled to a base-end part of the sixth link 11f in a twisting manner.

An end effector corresponding to the type of a work is detachably attached to a tip-end part of the sixth link 11f. In this embodiment, the end effector is a holding hand <NUM> which holds the attaching object W1.

A drive motor (not illustrated) is provided to each of the joints JT1-JT6 of the slave arm <NUM>, as one example of the actuator which relatively rotates two members coupled by the joint. These drive motors are, for example, servo motors which are servo-controlled by a motor controller <NUM>. Although the motor controller <NUM> according to this embodiment is capable of solely carrying out the servo control of the plurality of drive motors, the motor controller may be provided corresponding to each drive motor. Moreover, each drive motor is provided with a position sensor (not illustrated) for detecting a rotational position of the motor, and a current sensor (not illustrated) for detecting current for controlling the rotation of the motor. The position sensor is, for example, an encoder. The drive motor, the position sensor, and the current sensor are electrically connected to the motor controller <NUM>.

The motor controller <NUM> generates a torque instruction value (current instruction value) based on an instruction value acquired from the control unit <NUM> (in detail, an instruction generating module <NUM> described later), and supplies drive current corresponding to the torque instruction value to the drive motor of each of the joints JT1-JT6. The outputted rotational angle of the drive motor is detected by the position sensor, and is fed back to the motor controller <NUM>. However, the functions of the motor controller <NUM> and the control unit <NUM> may be implemented as a sole circuit or a sole arithmetic unit.

Moreover, the slave arm <NUM> has a force sensor <NUM> which detects a force received from the exterior. In this embodiment, the force sensor <NUM> is to acquire a magnitude and a direction of a force fs applied to the slave arm <NUM> (hereinafter, referred to as a "contact force") when the slave arm <NUM> contacts another object (for example, the to-be-attached object W2). In this embodiment, the contact force fs is a reaction force which is applied to the slave arm <NUM> when the holding hand <NUM> or the attaching object W1 held by the holding hand <NUM> contacts the to-be-attached object W2. The force sensor <NUM> is comprised of a <NUM>-axis force sensor which is capable of detecting force components which act in three axial directions perpendicular to each other.

In this embodiment, the force sensor <NUM> is provided to connect a tip-end part of the sixth link 11f with the holding hand <NUM>. Therefore, force information detected by the force sensor <NUM> also includes the gravity of the holding hand <NUM> and the gravity of the attaching object W1 held by the holding hand <NUM>. The force information detected by the force sensor <NUM> is sent to the control unit <NUM>. In the control unit <NUM>, a gravity compensating module <NUM> described later removes the gravity portion described above from the external force detected by the force sensor <NUM> and acquires the contact force fs. That is, in this embodiment, the force sensor <NUM> and the later-described gravity compensating module <NUM> constitute a contact force acquisition part <NUM> (refer to <FIG>) which acquires the contact force fs.

However, the contact force acquisition part <NUM> is not limited to what acquires the contact force fs by the force sensor <NUM> and the gravity compensating module <NUM>, but it may acquire the contact force fs, for example, by using the drive current of the drive motor of the slave arm <NUM>.

The master arm <NUM> is a device to receive manipulation of the operator. In the remote control robot system <NUM> according to this embodiment, the slave arm <NUM> operates so that a hand part of the slave arm <NUM> follows the motion of a hand part of the master arm <NUM>. That is, the master arm <NUM> is configured so that a position and a posture of the slave arm <NUM> can be operated intuitively. Moreover, in the remote control robot system <NUM> according to this embodiment, a bilateral control is adopted in which the hand part of the slave arm <NUM> follows the hand part of the master arm <NUM>, and a force received by the slave arm <NUM> from the exterior is presented to the operator through the master arm <NUM>.

In this embodiment, the master arm <NUM> is an articulated robotic arm having a plurality of joints JTm1-JTm6, which are the same in the number as the joints of the slave arm <NUM>, and the master arm <NUM> is comprised of a pedestal <NUM> and a plurality of links 21a-21f which are coupled serially. The serially-coupling configuration of the links 21a-21f of the master arm <NUM> is substantially the same as the links 11a-11f of the slave arm <NUM>, and detailed description thereof is omitted.

Note that, in this embodiment, although the master arm <NUM> has a similar structure to the slave arm <NUM>, the master arm <NUM> may have a non-similar structure to the slave arm <NUM>. For example, when operation of the slave arm <NUM> performed by the operator through the master arm <NUM> is only a vertical movement, the master arm <NUM> may be an articulated robotic arm having a less number of joints than the slave arm <NUM> (for example, only JTm2, JTm3, and JTm5).

Each of the joints JTm1 -JTm6 of the master arm <NUM> is provided with a drive motor (not illustrated) as one example of an actuator which relatively rotates two members coupled by the joint. These drive motors are, for example, servo motors which are servo-controlled by a motor controller <NUM>. Although the motor controller <NUM> according to this embodiment can solely carry out the servo control of the plurality of drive motors, the motor controller may be provided corresponding to each drive motor. Moreover, each drive motor is provided with a position sensor (not illustrated) for detecting a rotational position of the motor, and a current sensor (not illustrated) for detecting current for controlling the rotation of the motor. The position sensor is, for example, an encoder. The drive motor, the position sensor, and the current sensor are electrically coupled to the motor controller <NUM>.

The motor controller <NUM> generates a torque instruction value (current instruction value) based on the instruction value acquired from the control unit <NUM> (in detail, the instruction generating module <NUM> described later), and supplies a drive current corresponding to the torque instruction value to the drive motor of each of the joints JTm1-JTm6. The outputted rotational angle of the drive motor is detected by the position sensor, and is fed back to the motor controller <NUM>. However, the functions of the motor controller <NUM> and the control unit <NUM> may be implemented as a sole circuit or a sole arithmetic unit.

A gripper (a "grip part" of an embodiment of the present invention) <NUM> which is grippable by the operator is provided to a tip-end part of the sixth link 21f of the master arm <NUM> through a force sensor <NUM>. In this embodiment, a magnitude and a direction of a force fm which is applied to the master arm <NUM> by the operation of the operator who grips the gripper <NUM> (hereinafter, referred to as a "control force") are detected by the force sensor <NUM>. That is, in this embodiment, the force sensor <NUM> functions as a control force acquirer which acquires the control force fm. The force sensor <NUM> is comprised of a <NUM>-axis force sensor which is detectable of force components which act in three axial directions perpendicular to each other. The control force fm detected by the force sensor <NUM> is sent to the control unit <NUM>.

Moreover, the gripper <NUM> is provided with a grip sensor <NUM> which detects whether the gripper <NUM> is gripped. A detection signal generated by the grip sensor <NUM> is sent to the control unit <NUM>.

The input device <NUM> is an input device which is installed outside a workspace together with the master arm <NUM>, and inputs an instruction received from the operator into the control unit <NUM>. Operations other than the operation according to the position and the posture of the slave arm <NUM> are inputted into the input device <NUM>. The input device <NUM> is provided with one or more operational input implements which input operational instructions excluding the position and the posture of the slave arm <NUM>, such as an operational input implement for selecting a control mode of the slave arm <NUM>, and an emergency stop switch. The one or more operational input implements may include, for example, known operational input implements, such as a touch panel, a key, a lever, a button, a switch, and a dial plate. Moreover, a mobile terminal, such as a pendant and a tablet, may be used as the input device <NUM>.

In this embodiment, the input device <NUM> includes a setting value input part <NUM> which receives an input of a setting value for defining a magnitude and a direction of an imaginary external force described later. The setting value input part <NUM> is, for example, a touch panel and a key, which is capable of inputting a numerical value. The setting value inputted from the setting value input part <NUM> will be described later in detail.

The output device <NUM> is to output the information transmitted from the control unit <NUM>. The output device <NUM> is installed at a position where the operator who operates the master arm <NUM> is easy to visually observe. The output device <NUM> includes at least a display device, and may further include a printer, a speaker, a hazard light, etc. The information transmitted from the control unit <NUM> is displayed and outputted on/to the display device. For example, from the speaker, the information transmitted from the control unit <NUM> is outputted as sound. Moreover, for example, from the printer, the information transmitted from the control unit <NUM> is printed out on a recording media, such as paper.

The situation acquisition device <NUM> is a device to acquire status information indicative of a situation in the workspace of the slave arm <NUM>. The status information includes information which is used for recognizing the position and the posture of the slave arm <NUM> in the workspace, or the situation around the slave arm <NUM>. In more detail, the status information includes, for example, the position and the posture of the slave arm <NUM> in the workspace, a spatial relationship between the attaching object W1 held by the slave arm <NUM> and the to-be-attached object W2, and information required for enabling recognition of the situation of the slave arm <NUM> in the workspace and the situation around the slave arm <NUM>. The situation acquisition device <NUM> is, for example, one or more camera devices which images the work situation of the slave arm <NUM>, or a sensor which measures the position of the attaching object W1, the position of the to-be-attached object W2, and a distance between the attaching object W1 and the to-be-attached object W2.

The storage device <NUM> stores various task programs used for the control of the slave arm <NUM>. The task program may be created as an operation flow for each work. For example, the task program is created by teaching, and is stored in the storage device <NUM> so as to be associated with identification information and a task of the slave arm <NUM>. Note that, although the storage device <NUM> is described as an independent device from the control unit <NUM>, the storage device provided to the control unit <NUM> may have the function of the storage device <NUM>.

Moreover, the storage device <NUM> stores operation sequence information created beforehand. The operation sequence information is information on the operation sequence which defines a series of operation processes to be carried out by the slave arm <NUM> in the workspace. In the operation sequence information, an operating order of the operation processes is associated with a control mode of the slave arm <NUM>. Moreover, in the operation sequence information, each operation process is associated with a task program for causing the slave arm <NUM> to automatically perform the operation. However, the operation sequence information may include a program for causing the slave arm <NUM> to automatically perform the work of each operation process.

As illustrated in <FIG>, the slave arm <NUM>, the master arm <NUM>, the input device <NUM>, the output device <NUM>, the situation acquisition device <NUM>, and the storage device <NUM> are communicatably connected to the control unit <NUM> wiredly or wirelessly.

The control unit <NUM> is a so-called calculator, and has a processor, such as a CPU, and a memory, such as a ROM and/or a RAM (none of them is illustrated). The memory stores a control program to be executed by the control unit <NUM>, various fixed data, etc. The processor performs, for example, transmission and reception of data with external devices, such as the input device <NUM>, the output device <NUM>, the situation acquisition device <NUM>, and the storage device <NUM>. Moreover, the processor receives inputs of detection signals from various sensors, and outputs a control signal to each controlled target. The control unit <NUM> performs processing for controlling various operations of the system <NUM> by the processor reading and executing software, such as the program stored in the memory. Note that the control unit <NUM> may perform each processing by a centralized control of a sole calculator, or may perform each processing by a distributed control of a collaboration of a plurality of calculators. Moreover, the control unit <NUM> may comprised of a microcontroller, a programmable logic controller (PLC), etc..

The control unit <NUM> includes, as functional blocks, a mode switching module <NUM>, the gravity compensating module <NUM>, the instruction generating module <NUM>, a setting value memory <NUM>, and an external-force-applying switching module <NUM>. In <FIG>, although these functional blocks are collectively illustrated as a sole control unit <NUM>, each functional block or a combination of a plurality of functional blocks may be implemented by one or more independent calculators. In this case, a part of these functional blocks may be disposed in the workspace, and the remainder may be disposed outside the work space.

The mode switching module <NUM> switches the control mode in which the slave arm <NUM> is operated, between the manual mode and the automatic mode which are described above. The switching of the control mode of the slave arm <NUM> by the mode switching module <NUM> is performed based on the above-described operation sequence information stored in the storage device <NUM>. In this embodiment, the gravity compensation by the gravity compensating module <NUM> and the generation of the instruction by the instruction generating module <NUM> are performed when the control mode in which the slave arm <NUM> is operated is the manual mode.

The gravity compensating module <NUM> compensates the gravity of the attaching object W1 so that the gravity of the attaching object W1 held by the slave arm <NUM> is not be presented to the operator through the master arm <NUM>. In detail, the force detected by the force sensor <NUM> includes, for example, the gravity of the attaching object W1 held by the slave arm <NUM>. In the bilateral control, since the external force received by the slave arm is presented to the operator through the master arm, for example, if the weight of the object held by the slave arm is large, the operator operates the master arm while perceiving the weight, and therefore, it could be a burden for the operator. Therefore, in this embodiment, when the attaching object W1 is held by the holding hand <NUM>, the gravity compensating module <NUM> performs a correction to exclude the gravity portion of the holding hand <NUM> and the gravity portion of the attaching object W1 held by the holding hand <NUM> from the value detected by the force sensor <NUM> of the slave arm <NUM>. By correcting in this way, the contact force fs is acquired and it is sent to the instruction generating module <NUM> (described later).

The instruction generating module <NUM> generates an instruction value to be sent to the motor controllers <NUM> and <NUM>. The remote control robot system <NUM> according to this embodiment adopts a parallel type bilateral control. That is, the instruction generating module <NUM> in this embodiment is a positional instruction generating module which generates a positional instruction value Xd,s to be sent to the motor controller <NUM> at the slave arm <NUM> end, and a positional instruction value Xd,m to be sent to the motor controller <NUM> at the master arm <NUM> end based on information on the contact force fs and information on the control force fm. A slave coordinate system of the slave arm <NUM> is associated with a master coordinate system of the master arm <NUM>.

<FIG> is a control block diagram illustrating an outline of the instruction generation by the instruction generating module <NUM>. In this embodiment, the instruction generating module <NUM> has functional parts of a force-speed converter <NUM> and speed-position converters 87a and 87b.

The force-speed converter <NUM> calculates a velocity instruction value vd which defines a moving direction and a moving speed of the hand part of the slave arm <NUM> from a force instruction value based on the contact force fs and the control force fm. The velocity instruction value vd is a velocity vector, and is calculated as a velocity instruction value vdx in the x-axis direction extending in a given horizontal direction, a velocity instruction value vdy in the y-axis direction which is perpendicular to the x-axis and extending horizontally, and a velocity instruction value vdz in the z-axis direction extending in the gravity direction.

In this embodiment, the force-speed converter <NUM> generates the velocity instruction value vd which is obtained by applying an imaginary external force, i.e., an imaginary gravity in the gravity direction (the z-direction) to the master arm <NUM>. Here, the "imaginary external force" is independent from an external force which actually acted on the slave arm <NUM>, i.e., the external force detected by the force sensor <NUM>.

In detail, the force-speed converter <NUM> calculates the velocity instruction value vd by using the following conversion formula (<NUM>) from the force instruction value based on the control force fm and the contact force fs so that the imaginary gravity is applied to the master arm <NUM>.

Here, in the left side of the formula (<NUM>), the term of "m×g" is a term for applying the imaginary gravity described above to the hand part of the master arm <NUM>, and "m" is an imaginary mass set beforehand.

The meaning of the term of "m×g" in the above-described conversion formula (<NUM>) is described. Since the gravity of the object held by the holding hand <NUM> is compensated by the gravity compensating module <NUM> as described above, the feeling of holding the object will not be presented to the operator if the instruction value is generated only based on the contact force fs and the control force fm according to the conventional parallel type bilateral control. Therefore, the force-speed converter <NUM> in this embodiment generates the velocity instruction value vd by adding the term of "m×g" like the above-described conversion formula (<NUM>) so that a force which does not become a burden in the gravity direction acts on the master arm <NUM>.

The velocity instruction value vd acquired by the force-speed converter <NUM> is sent to the speed-position converter 87a at the slave arm <NUM> end and the speed-position converter 87b at the master arm <NUM> end. The speed-position converters 87a and 87b generate the positional instruction value Xd,s of the slave arm <NUM> and the positional instruction value Xd,m of the master arm <NUM> as required, on real time, using the velocity instruction value vd, respectively. The positional instruction value Xd,s generated by the speed-position converter 87a are sent to the motor controller <NUM> at the slave arm <NUM> end, and the motor controller <NUM> controls the operation of the slave arm <NUM> based on the positional instruction value Xd,s. The positional instruction value Xd,m generated by the speed-position converter 87b are sent to the motor controller <NUM> at the master arm <NUM> end, and the motor controller <NUM> controls the operation of the master arm <NUM> based on the positional instruction value Xd,m. In this way, since the operation of the master arm <NUM> is controlled based on the positional instruction value Xd,m for causing the imaginary gravity to act on the master arm <NUM>, the feeling of holding the object is presented to the operator through the master arm <NUM>.

The setting value memory <NUM> stores a setting value inputted from the setting value input part <NUM>. The setting value stored in the setting value memory <NUM> is used for the generation of the instruction value by the instruction generating module <NUM>. The setting value stored in the setting value memory <NUM> includes the value of "m" (imaginary mass m) in the above-described formula (<NUM>). The magnitude of the force in the gravity direction acting on the master arm <NUM> is changed according to the imaginary mass m stored in the setting value memory <NUM>. For example, the imaginary mass m is set from the setting value input part <NUM> so that it does not become a burden of the operator who operates the master arm <NUM> (for example, <NUM>). Moreover, the setting value stored in the setting value memory <NUM> may include the values of "M" and "Cv" in the above-described formula (<NUM>).

The external-force-applying switching module <NUM> switches the generation method of the instruction value by the instruction generating module <NUM> so that the instruction for applying the imaginary external force to the above-described master arm <NUM> is generated only when the operator grips the gripper <NUM>. In detail, the external-force-applying switching module <NUM> switches the conversion formula for converting the force instruction value based on the control force fm and the contact force fs in the force-speed converter <NUM> into the velocity instruction value vd according to the detection signal sent to the control unit <NUM> from the grip sensor <NUM>.

That is, if the grip sensor <NUM> detects that the gripper <NUM> is gripped, the external-force-applying switching module <NUM> sets the conversion formula used by the force-speed converter <NUM> as the above-described conversion formula (<NUM>). Therefore, the instruction generating module <NUM> generates an instruction to apply the imaginary gravity to the tip end of the master arm <NUM>.

If the grip sensor <NUM> detects that the gripper <NUM> is not gripped, the external-force-applying switching module <NUM> sets the conversion formula used by the force-speed converter <NUM> to the following conversion formula (<NUM>) so that the imaginary gravity is not applied to the master arm <NUM>.

The above-described conversion formula (<NUM>) is obtained by removing the term "m×g" of the imaginary gravity to be acted on the master arm <NUM> from the left side of the above-described conversion formula (<NUM>). In this way, the velocity instruction value vd is acquired based on the contact force fs and the control force fm, and the positional instruction values Xd,s and Xd,m are generated by the speed-position converters 87a and 87b, respectively. As a result, the imaginary gravity acts on the tip end of the master arm <NUM> only while the operator grips the gripper <NUM>, and the imaginary gravity stops acting when the operator releases the gripper <NUM>. Therefore, when the operator releases the gripper <NUM>, the slave arm <NUM> and the master arm <NUM> are prevented from operating by the imaginary gravity set beforehand in the setting value input part <NUM>.

Moreover, if the grip sensor <NUM> detects that the gripper <NUM> is not gripped, the external-force-applying switching module <NUM> may switch the conversion formula to the following formulas (<NUM>) and (<NUM>), instead of the above-described conversion formula (<NUM>). <MAT> <MAT> Note that, k is a given coefficient.

The above-described formula (<NUM>) is obtained by adding an imaginary external force fv for moving the hand part of the slave arm <NUM> to a given position to the right-hand side of the above-described conversion formula (<NUM>). In the right-hand side of the above-described formula (<NUM>), "Xv" is a target position of the hand part of the slave arm <NUM> set beforehand, and "Xd,s" is a current position of the hand part of the slave arm <NUM>. When the operator releases the gripper <NUM> and the formula is switched to the above-described formulas (<NUM>) and (<NUM>), the hand part of the slave arm <NUM> set beforehand moves toward the target position Xv. Then, unless the slave arm <NUM> receives an external force from the exterior (fs=<NUM>), the hand part of the slave arm <NUM> stops at the target position Xv. Here, the target position Xv is set as a safe position where the hand part of the slave arm <NUM> does not contact another object even if the hand part moves to the position. Thus, since the hand part of the slave arm <NUM> moves to the given position after the operator releases the gripper <NUM>, the attaching object W1 held by the holding hand <NUM> is prevented from moving downwardly and colliding with a floor etc. by the imaginary gravity.

The value of "k" and the value of "Xv" (i.e., position coordinates in the slave coordinate system) in the above-described formula (<NUM>) may be included in the setting value stored in the setting value memory <NUM>.

Next, one example of operation of the remote control robot system <NUM> of the above configuration is described.

The operation sequence information on the attachment work of the attaching object (seat) W1 to the to-be-attached object (automobile body) W2 stored in the storage device <NUM> is comprised of an extraction task T1 for taking out the attaching object W1 from a container, a conveyance task T2 for conveying the attaching object W1 to near an attaching position of the to-be-attached object W2, and an attaching task T3 for attaching the attaching object W1 located near the attaching position to the attaching position. These tasks T1-T3 are repeatedly performed in this order.

In the beginning, the control unit <NUM> reads given operation sequence information stored in the storage device <NUM>, and starts a control of the system <NUM> in accordance with the operation sequence information. First, the control unit <NUM> reads the task program of the extraction task T1 from the storage device <NUM> and executes the task program. Subsequently, the control unit <NUM> reads the task program of the conveyance task T2 and executes the task program. In the extraction task T1 and the conveyance task T2, the control unit <NUM> controls the operation of the slave arm <NUM> in the automatic mode.

After the conveyance task T2 is finished, the control unit <NUM> displays a selection screen for urging the operator a selection of the control mode for the subsequent attaching task T3 on the display device. At the same time, the control unit <NUM> outputs the status information on the slave arm <NUM> for which the control mode is about to be selected to the display device. Here, the status information displayed and outputted on/to the display device may include the identification information on the slave arm <NUM> currently projected, and contents of the subsequent process.

The operator visually observes the status information on the slave arm <NUM> displayed on the display device, and, for example, selects the manual mode or the automatic mode by using the master arm <NUM> or the input device <NUM>. Here, if the manual mode is selected, the control unit <NUM> switches the control mode of the slave arm <NUM> from the automatic mode to the manual mode by the mode switching module <NUM>.

Although the attaching object W1 is held by the holding hand <NUM> of the slave arm <NUM> when the control mode is switched to the manual mode, since the gravity portion of the force detected by the force sensor <NUM> is removed by the gravity compensating module <NUM>, the gravity of the attaching object W1 does not act on the master arm <NUM>. Moreover, when the operator does not grip the gripper <NUM>, the imaginary gravity does not act on the master arm <NUM>, either. That is, the positional instruction value is generated by the instruction generating module <NUM> based on the above-described conversion formula (<NUM>).

When the operator grips the gripper <NUM>, the external-force-applying switching module <NUM> switches the conversion formula from the conversion formula (<NUM>) to the conversion formula (<NUM>) for causing the imaginary gravity to act on the master arm <NUM>. Therefore, the operator operates the master arm <NUM> to manipulate the slave arm <NUM>, while receiving the force in the gravity direction through the master arm <NUM>. In this way, the operator operates the master arm <NUM> to bring the attaching object W1 closer to the to-be-attached object W2 in order to insert the pin p of the to-be-attached object W2 into the hole h of the attaching object W1.

When bringing the attaching object W1 closer to the to-be-attached object W2, if the position of the hole h is deviated from the position of the pin p and the pin p contacts the bottom of the attaching object W1 (i.e., a surrounding surface of the hole h), the vertically-upward contact force fs increases, and the force in the gravity direction (vertically downward) which is presented to the operator through the master arm <NUM> is reduced. For example, if the contact force fs balances with the imaginary gravity m×g, the force in the gravity direction which is presented to the operator through the master arm <NUM> becomes zero. Therefore, the operator can recognize through the master arm <NUM> that the bottom of the attaching object W1 rides on the pin p of the to-be-attached object W2.

Then, when the attaching object W1 is shifted horizontally and the position of the hole h is coincided with the position of the pin p, the vertically-upward contact force fs becomes zero, and the imaginary gravity is again presented to the operator through the master arm <NUM>. Therefore, the operator can recognize through the master arm <NUM> that the pin p of the to-be-attached object W2 is inserted into the hole h of the attaching object W1.

In this way, when the attachment of the attaching object W1 to the to-be-attached object W2 is finished, the control returns to the extraction task T1. As described above, the control unit <NUM> sequentially proceeds the operation processes along the operation sequence.

In the remote control robot system <NUM> according to this embodiment, the operator is presented through the master arm <NUM> the imaginary gravity which is independent from the external force received by the slave arm <NUM> and acts so as not to become a burden in the gravity direction. That is, by the gravity compensating module <NUM>, the imaginary gravity set from the setting value input part <NUM> is acted on the master arm <NUM>, for example, without reflecting in the master arm <NUM> the gravity of the attaching object W1 held by the holding hand <NUM> of the slave arm <NUM>. Therefore, the gap between the feeling anticipated by the operator (the feeling of holding the object) and the feeling actually received by the operator through the master arm <NUM> can be reduced. Thus, the operational feel received by the operator through the master arm <NUM> can be improved.

Moreover, in this embodiment, since the magnitude and the direction of imaginary external force can be set from the setting value input part <NUM>, the imaginary external force applied to the master arm <NUM> can be suitably adjusted to the magnitude and the direction which is easy for the operator's manipulation. Therefore, the operational burden of the master arm <NUM> can be reduced, and the feeling of holding the object can be presented to the operator. Further, the imaginary external force applied to the master arm <NUM> is set beforehand from the setting value input part <NUM>, and is independent from the force detected by the force sensor <NUM>. Therefore, regardless of the weight of the object held by the holding hand <NUM>, the imaginary gravity applied to the master arm <NUM> can be made constant.

The present invention is not limited to the embodiment described above, and may be variously modified without departing from the present invention.

For example, in the above embodiment, although the master arm <NUM> and the slave arm <NUM> are controlled by the parallel type bilateral control, the bilateral control applied to the present invention is not limited to the parallel type. For example, any of bilateral controls, such as a symmetrical type, a force reflection type, and a force feedback type, is applicable to the present invention. Moreover, the control scheme applied to the present invention may not be the bilateral control. That is, the force received by the slave arm <NUM> from the exterior may not act on the master arm <NUM>, and only the imaginary gravity may act on the master arm <NUM>.

Claim 1:
A remote control robot system (<NUM>), comprising:
a slave arm (<NUM>) configured to perform a given work;
a master arm (<NUM>) having a motor configured to drive a joint (JTm1 to JTm6), and configured to receive from an operator an operation to manipulate the slave arm (<NUM>);
a setting value input part (<NUM>) configured to receive an input of a setting value defining a magnitude of an imaginary external force;
a setting value memory (<NUM>) configured to store the setting value inputted from the setting value input part (<NUM>);
an instruction generating module (<NUM>) configured to generate an instruction to apply to the master arm (<NUM>) the imaginary external force in a gravity direction based on the setting value stored in the setting value memory (<NUM>); and
a motor controller (<NUM>) configured to supply, to the motor, drive current corresponding to the instruction sent from the instruction generating module (<NUM>).