WO2011021375A1 - ロボットアームの制御装置及び制御方法、組立ロボット、ロボットアームの制御プログラム、及び、ロボットアームの制御用集積電子回路 - Google Patents

ロボットアームの制御装置及び制御方法、組立ロボット、ロボットアームの制御プログラム、及び、ロボットアームの制御用集積電子回路 Download PDF

Info

Publication number
WO2011021375A1
WO2011021375A1 PCT/JP2010/005054 JP2010005054W WO2011021375A1 WO 2011021375 A1 WO2011021375 A1 WO 2011021375A1 JP 2010005054 W JP2010005054 W JP 2010005054W WO 2011021375 A1 WO2011021375 A1 WO 2011021375A1
Authority
WO
WIPO (PCT)
Prior art keywords
robot arm
correction
force
unit
information
Prior art date
Application number
PCT/JP2010/005054
Other languages
English (en)
French (fr)
Inventor
津坂 優子
岡▲崎▼ 安直
Original Assignee
パナソニック株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by パナソニック株式会社 filed Critical パナソニック株式会社
Priority to JP2011500781A priority Critical patent/JP4759660B2/ja
Priority to CN201080005370.4A priority patent/CN102292194B/zh
Publication of WO2011021375A1 publication Critical patent/WO2011021375A1/ja
Priority to US13/085,560 priority patent/US9211646B2/en

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • B25J9/1687Assembly, peg and hole, palletising, straight line, weaving pattern movement
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/42Recording and playback systems, i.e. in which the programme is recorded from a cycle of operations, e.g. the cycle of operations being manually controlled, after which this record is played back on the same machine
    • G05B19/423Teaching successive positions by walk-through, i.e. the tool head or end effector being grasped and guided directly, with or without servo-assistance, to follow a path
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/36Nc in input of data, input key till input tape
    • G05B2219/36432By putting some constraints on some DOF, move within limited volumes, areas, planes, limits motion in x, y or z planes, virtual reality constraints
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/36Nc in input of data, input key till input tape
    • G05B2219/36433Position assisted teaching
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39319Force control, force as reference, active compliance
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39338Impedance control, also mechanical
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40028Insert flexible rod, beam into hole
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40033Assembly, microassembly

Definitions

  • the present invention relates to, for example, a robot arm control device and method for generating and teaching a robot assembly method for assembly in a factory, an assembly robot having a robot arm control device, a robot arm program, and a robot arm control.
  • the present invention relates to an integrated electronic circuit.
  • a force sensor is attached to the wrist of the robot, etc., and the teacher directly holds the handle attached to the tip of the force sensor to guide the robot to the teaching point to teach the robot position. (See Patent Document 1).
  • Patent Document 1 since it is necessary for the teacher to teach all the teaching points, the teaching takes time and is very troublesome. Furthermore, in the industrial field, when correcting a part of the taught movement, it must be corrected by programming with a remote device called a teaching pendant, or all operations must be taught from the beginning. Was bad.
  • Patent Document 2 when a person directly teaches, the intent of the teaching worker is understood and the operational feeling during the operation is automatically changed.
  • the teaching worker has a plurality of positions, forces, speeds, and the like. It does not understand the operation intention other than the operation feeling such as which parameter is to be operated among the teaching parameters of the types. Therefore, it is necessary to explicitly set which parameter the work instructor teaches. Furthermore, part of the taught movement could not be corrected, and work efficiency was poor.
  • An object of the present invention has been made in view of such problems, and a robot arm control device and control method, an assembly robot, and a robot that allow an operator to teach a robot easily and in a short time. It is an object to provide an arm control program and an integrated electronic circuit for controlling a robot arm.
  • the present invention is configured as follows.
  • a control device for a robot arm that controls an operation of a robot arm for assembly work and performs an assembly work for assembling an assembly object gripped by the robot arm on an object.
  • Force detecting means for detecting the force of a person acting on the robot arm;
  • An information acquisition unit for acquiring information about the operation including the position of the robot arm in the assembly operation and the human force detected by the force detection unit;
  • Object force detection means for detecting the force applied by the robot arm to the assembly object;
  • the motion is obtained from the information related to the motion including the position of the robot arm in the assembly work acquired by the information acquisition unit, the information related to the force of the person, and the force applied to the target detected by the target force detection means.
  • a correction operation type determining means for determining the type of correction operation to be corrected; During the assembly operation of the robot arm, the human force detected by the force detection unit and acquired by the information acquisition unit and the type of the correction operation determined by the correction operation type determination unit are determined.
  • a control device for a robot arm comprising a motion correction means for controlling the robot arm and correcting the motion.
  • a robot arm control method for controlling an operation of an assembly robot arm and performing an assembly operation for assembling an assembly object gripped by the robot arm on an object. And Detecting the force of the person acting on the robot arm with force detection means, A force applied to the assembly object by the robot arm is detected by an object force detection means; Information related to the operation including the position of the robot arm in the assembly operation, information detected by the force detection unit and acquired by the information acquisition unit, and information detected by the object force detection unit.
  • the type of the correction operation for correcting the operation is determined by the correction operation type determination means.
  • the human force detected by the force detection unit and acquired by the information acquisition unit and the type of the correction operation determined by the correction operation type determination unit are determined. Accordingly, a robot arm control method is provided, wherein the robot arm is controlled and the motion is corrected by a motion correction means.
  • the robot arm there is provided an assembly robot comprising the robot arm control device according to any one of the first to ninth aspects for controlling the robot arm.
  • the control of the robot arm for the assembly robot that controls the operation of the robot arm for assembly work and performs the assembly work for assembling the assembly object gripped by the robot arm on the object.
  • a program Information relating to the operation including the position of the robot arm in the assembly operation and information detected by the force detection means and obtained by the information acquisition unit and information relating to the force of the person acting on the robot arm and detected by the object force detection means Determining the type of the correction operation for correcting the operation by the correction operation type determination means using the force applied to the object by the robot arm;
  • the human force detected by the force detection unit and acquired by the information acquisition unit and the type of the correction operation determined by the correction operation type determination unit are determined.
  • a robot arm control program for an assembly robot is provided for causing the computer to execute an operation correction step of controlling the robot arm and correcting the operation by an operation correction unit.
  • the control of the robot arm for the assembly robot that controls the operation of the robot arm for assembly work and performs the assembly work for assembling the assembly object gripped by the robot arm on the object.
  • Integrated electronic circuit for Information relating to the operation including the position of the robot arm in the assembly operation and information detected by the force detection means and obtained by the information acquisition unit and information relating to the force of the person acting on the robot arm and detected by the object force detection means
  • Corrective action type determining means for determining the type of corrective action for correcting the action using a force applied by the robot arm to the object;
  • the human force detected by the force detection unit and acquired by the information acquisition unit and the type of the correction operation determined by the correction operation type determination unit are determined. Accordingly, there is provided an integrated electronic circuit for controlling a robot arm for an assembly robot, comprising: an operation correcting unit that controls the robot arm to correct the operation.
  • control device for a robot arm of the present invention by including the correction operation type determination unit, the force detection unit, the object force detection unit, the operation correction unit, and the control unit, Information on an assembly operation including the force applied by the robot arm, the force applied to the object, and the position and speed of the robot arm can be used to easily correct the assembly operation according to the human force. Control becomes possible.
  • the correction operation type determination means the operation correction means, and the control means are provided.
  • the assembly operation is simplified according to the human force detected by the force detection means. It is possible to control the robot arm that can be corrected to
  • correction operation type determination means it is possible to automatically switch and correct a plurality of operations without using a button or the like. Further, by including the correction operation type determination means, it is possible to switch between performing a plurality of types of correction at a time or performing one type of correction according to the skill of the person who operates the apparatus.
  • the mechanical impedance value of the robot arm is set according to the type of the correction operation, so that the mechanical impedance value is changed according to the correction direction of the robot arm. It is possible to weaken or stop the force on the work surface being corrected.
  • FIG. 1 is a diagram showing an outline of a configuration of a control device for a robot arm that constitutes an assembly robot according to a first embodiment of the present invention.
  • FIG. 2A is a diagram illustrating an operation state of the robot arm in the robot arm control device according to the first embodiment of the present invention
  • FIG. 2B is a diagram illustrating an operation state of the robot arm in the robot arm control device according to the first embodiment of the present invention
  • FIG. 3 is a diagram showing a detailed configuration of the robot arm control device and the robot arm to be controlled in the first embodiment of the present invention
  • FIG. 4 is a diagram illustrating a list of operation information in an operation database in the control device for the robot arm according to the first embodiment of the present invention.
  • FIG. 5 is a diagram for explaining information relating to an operation database flag in the robot arm control device according to the first embodiment of the present invention
  • FIG. 6 is a diagram for explaining information relating to a correction parameter flag in the control device for the robot arm according to the first embodiment of the present invention
  • FIG. 7 is a block diagram illustrating a configuration of a control unit of the robot arm control device according to the first embodiment of the present invention
  • FIG. 8 is a diagram relating to a path of the robot arm control device in the first embodiment of the present invention
  • FIG. 9 is a diagram illustrating a display unit of the peripheral device in the first embodiment of the present invention
  • FIG. 10 is a diagram for explaining a list of work impossible area database information in the robot arm control device of the first embodiment of the present invention
  • FIG. 10 is a diagram for explaining a list of work impossible area database information in the robot arm control device of the first embodiment of the present invention
  • FIG. 11 is a diagram relating to the path of the robot arm control device according to the first embodiment of the present invention
  • FIG. 12A is a diagram related to a coordinate system in the robot arm control device of the first embodiment of the present invention
  • FIG. 12B is a diagram relating to a coordinate system in the robot arm control device of the first embodiment of the present invention
  • FIG. 12C is a diagram relating to a coordinate system in the robot arm control device of the first embodiment of the present invention
  • FIG. 13 is a flowchart showing operation steps of an operation correction unit, a correction operation type determination unit, an operation selection unit, an operation storage unit, an operation database, and a control parameter management unit in the robot arm control apparatus of the first embodiment of the present invention.
  • FIG. 12A is a diagram related to a coordinate system in the robot arm control device of the first embodiment of the present invention
  • FIG. 12B is a diagram relating to a coordinate system in the robot arm control device of the first embodiment of the present invention
  • FIG. 12C is a diagram
  • FIG. 14 is a flowchart showing the operation steps of the correction operation type determination unit in the robot arm control device of the first embodiment of the present invention
  • FIG. 15 is a diagram showing the relationship between the force applied by a person and the time in the robot arm control device of the first embodiment of the present invention
  • FIG. 16 is a flowchart showing the operation steps of the control unit in the robot arm control device of the first embodiment of the present invention
  • FIG. 17 is a diagram illustrating force and position thresholds in the robot arm control device of the first embodiment of the present invention
  • FIG. 18A is a diagram showing an operation state of the robot arm in the robot arm control device of the first embodiment of the present invention
  • FIG. 18B is a diagram showing an operation state of the robot arm in the robot arm control device of the first embodiment of the present invention
  • FIG. 18C is a diagram showing an operation state of the robot arm in the robot arm control device of the first embodiment of the present invention
  • FIG. 18D is a diagram showing an operation state of the robot arm in the robot arm control device of the first embodiment of the present invention
  • FIG. 19A is a diagram showing an operation state of the robot arm in the robot arm control device of the first embodiment of the present invention
  • FIG. 19B is a diagram showing an operation state of the robot arm in the robot arm control device of the first embodiment of the present invention
  • FIG. 19C is a diagram showing an operation state of the robot arm in the robot arm control device of the first embodiment of the present invention
  • FIG. 19A is a diagram showing an operation state of the robot arm in the robot arm control device of the first embodiment of the present invention
  • FIG. 19B is a diagram showing an operation state of the robot arm in the robot arm control device of the first embodiment of the present invention
  • FIG. 19D is a diagram showing an operation state of the robot arm in the robot arm control device of the first embodiment of the present invention
  • FIG. 20A is a diagram showing an operation state of the robot arm in the robot arm control device of the first embodiment of the present invention
  • FIG. 20B is a diagram showing an operation state of the robot arm in the robot arm control device of the first embodiment of the present invention
  • FIG. 20C is a diagram illustrating an operation state of the robot arm in the robot arm control device according to the first embodiment of the present invention (a diagram when FIG. 20A is viewed from above);
  • FIG. 20D is a diagram showing an operation state of the robot arm in the robot arm control device of the first embodiment of the present invention;
  • FIG. 20E is a diagram showing an operation state of the robot arm in the robot arm control device of the first embodiment of the present invention
  • FIG. 21A is a diagram showing an operation state of the robot arm in the robot arm control device of the first embodiment of the present invention
  • FIG. 21B is a diagram showing an operation state of the robot arm in the robot arm control device of the first embodiment of the present invention
  • FIG. 22A is a diagram showing an operation state of the robot arm in the robot arm control device of the first embodiment of the present invention
  • FIG. 22B is a diagram showing an operation state of the robot arm in the robot arm control device of the first embodiment of the present invention
  • FIG. 22C is a diagram showing an operation state of the robot arm in the robot arm control device of the first embodiment of the present invention
  • FIG. 21A is a diagram showing an operation state of the robot arm in the robot arm control device of the first embodiment of the present invention
  • FIG. 21B is a diagram showing an operation state of the robot arm in the robot arm control device of the first embodiment of the present invention
  • FIG. 23 is a diagram illustrating an operation state of the robot arm in the robot arm control device of the first embodiment of the present invention
  • FIG. 24A is a diagram showing an operation state of the robot arm in the robot arm control device of the first embodiment of the present invention
  • FIG. 24B is a diagram showing an operation state of the robot arm in the robot arm control device of the first embodiment of the present invention
  • FIG. 24C is a diagram showing an operation state of the robot arm in the robot arm control device of the first embodiment of the present invention
  • FIG. 25A is a diagram showing an operation state of the robot arm in the robot arm control device of the first embodiment of the present invention
  • FIG. 25B is an enlarged view of the hand when explaining the operation state of the robot arm in the robot arm control device of the first embodiment of the present invention
  • FIG. 25A is a diagram showing an operation state of the robot arm in the robot arm control device of the first embodiment of the present invention
  • FIG. 25B is an enlarged view of the hand when explaining the operation state of the robot arm in the robot arm
  • FIG. 26 is a diagram illustrating a data input IF of a peripheral device in the robot arm control device of the first embodiment of the present invention.
  • FIG. 27 is a diagram illustrating a detailed configuration of a control device that constitutes an assembly robot and a robot arm that is a control target in the robot arm control device according to the second embodiment of the present invention;
  • FIG. 28A is a diagram showing an operation state of the robot arm in the robot arm control device of the embodiment of the present invention;
  • FIG. 28B is a diagram showing an operation state of the robot arm in the robot arm control device of the embodiment of the present invention;
  • FIG. 28C is a diagram showing an operation state of the robot arm in the robot arm control device of the embodiment of the present invention;
  • FIG. 29 is a diagram illustrating a list of operation information in an operation database in the robot arm control device of the embodiment of the present invention
  • FIG. 30A is a diagram showing an operation state of the robot arm in the robot arm control device of the embodiment of the present invention
  • FIG. 30B is a diagram showing an operation state of the robot arm in the robot arm control device of the embodiment of the present invention
  • FIG. 30C is a diagram showing an operation state of the robot arm in the robot arm control device of the embodiment of the present invention
  • FIG. 30D is a diagram showing an operation state of the robot arm in the robot arm control device of the embodiment of the present invention
  • FIG. 30E is a diagram showing an operation state of the robot arm in the robot arm control device of the embodiment of the present invention
  • FIG. 30A is a diagram showing an operation state of the robot arm in the robot arm control device of the embodiment of the present invention
  • FIG. 30B is a diagram showing an operation state of the robot arm in the robot arm control device of the embodiment of the present invention
  • FIG. 30F is a diagram illustrating an operation state of the robot arm in the robot arm control device of the embodiment of the present invention
  • FIG. 30G is a diagram showing an operation state of the robot arm in the robot arm control device of the embodiment of the present invention (an enlarged view of the insertion portion of the insertion slot in FIG. 30B)
  • FIG. 30H is a diagram illustrating an operation state of the robot arm in the robot arm control device of the embodiment of the present invention (an enlarged view of the insertion portion of the insertion slot in FIG. 30C)
  • FIG. 30I is a diagram showing an operation state of the robot arm in the robot arm control device of the embodiment of the present invention (an enlarged view of the insertion portion of the insertion slot in FIG. 30D);
  • FIG. 30G is a diagram showing an operation state of the robot arm in the robot arm control device of the embodiment of the present invention (an enlarged view of the insertion portion of the insertion slot in FIG. 30B)
  • FIG. 30H is a diagram illustrating an operation state
  • FIG. 30J is a diagram showing an operation state of the robot arm in the robot arm control device of the embodiment of the present invention (an enlarged view of the insertion portion of the insertion slot in FIG. 30E);
  • FIG. 30K is a diagram showing an operation state of the robot arm in the robot arm control device of the embodiment of the present invention (an enlarged view of the insertion portion of the insertion slot in FIG. 30F);
  • FIG. 30L is a diagram (an enlarged view of a circle L in FIG. 30I) showing an operation state of the robot arm in the robot arm control device of the embodiment of the present invention and enlarging the vicinity of the insertion port;
  • FIG. 30M is a diagram (an enlarged view of a circle M in FIG.
  • FIG. 30J shows the operation state of the robot arm in the robot arm control device of the embodiment of the present invention and enlarging the vicinity of the insertion port
  • FIG. 30N is a diagram (an enlarged view of a circle N in FIG. 30K) showing the operation state of the robot arm in the robot arm control device of the embodiment of the present invention and enlarging the vicinity of the insertion port
  • FIG. 31 is a diagram illustrating a relationship between a force applied to an object and its time in the robot arm control device of the embodiment of the present invention
  • FIG. 32 is a flowchart showing the operation steps of the correction operation type determination unit in the robot arm control device of the embodiment of the present invention
  • FIG. 33A is a diagram showing an operation state of the robot arm in the robot arm control device of the embodiment of the present invention
  • FIG. 33B is a diagram showing an operation state of the robot arm in the robot arm control device of the embodiment of the present invention
  • FIG. 33C is a diagram showing an operation state of the robot arm in the robot arm control device of the embodiment of the present invention
  • FIG. 34A is a diagram showing an operation state of the robot arm in the robot arm control device of the embodiment of the present invention
  • FIG. 34B is a diagram showing an operation state of the robot arm in the robot arm control device of the embodiment of the present invention
  • FIG. 34C is a diagram showing an operation state of the robot arm in the robot arm control device of the embodiment of the present invention
  • FIG. 34A is a diagram showing an operation state of the robot arm in the robot arm control device of the embodiment of the present invention
  • FIG. 34B is a diagram showing an operation state of the robot arm in the robot arm control device of the embodiment of the present invention
  • FIG. 34C is
  • FIG. 34D is a diagram showing an operation state of the robot arm in the robot arm control device of the embodiment of the present invention (an enlarged view of the insertion portion of the insertion slot in FIG. 34A);
  • FIG. 34E is a diagram showing an operation state of the robot arm in the robot arm control device of the embodiment of the present invention (an enlarged view of the insertion portion of the insertion port in FIG. 34B);
  • FIG. 34F is a diagram showing an operation state of the robot arm in the robot arm control device of the embodiment of the present invention (an enlarged view of the insertion portion of the insertion slot in FIG. 34C);
  • FIG. 35A is a diagram showing an operation state of the robot arm in the robot arm control device of the embodiment of the present invention;
  • 35B is a diagram showing an operation state of the robot arm in the robot arm control device of the embodiment of the present invention
  • FIG. 35C is a diagram showing an operation state of the robot arm in the robot arm control device of the embodiment of the present invention
  • FIG. 35D is a diagram showing an operation state of the robot arm in the robot arm control device of the embodiment of the present invention (an enlarged view of the insertion portion of the insertion slot in FIG. 35A)
  • FIG. 35E is a diagram showing an operation state of the robot arm in the robot arm control device of the embodiment of the present invention (an enlarged view of the insertion portion of the insertion slot in FIG. 35B);
  • FIG. 35B is a diagram showing an operation state of the robot arm in the robot arm control device of the embodiment of the present invention
  • FIG. 35F is a diagram showing an operation state of the robot arm in the robot arm control device of the embodiment of the present invention (an enlarged view of the insertion portion of the insertion slot in FIG. 35C);
  • FIG. 36A is a diagram showing an operation state of the robot arm in the robot arm control device of the embodiment of the present invention;
  • FIG. 36B is a diagram showing an operation state of the robot arm in the robot arm control device of the embodiment of the present invention;
  • FIG. 36C is a diagram showing an operation state of the robot arm in the robot arm control device of the embodiment of the present invention;
  • FIG. 36D is a diagram showing an operation state of the robot arm in the robot arm control device of the embodiment of the present invention (an enlarged view of the insertion portion of the insertion slot in FIG. 36A);
  • FIG. 36A is a diagram showing an operation state of the robot arm in the robot arm control device of the embodiment of the present invention
  • FIG. 36B is a diagram showing an operation state of the robot arm in the robot arm control device of
  • FIG. 36E is a diagram showing an operation state of the robot arm in the robot arm control device of the embodiment of the present invention (an enlarged view of the insertion portion of the insertion slot in FIG. 36B);
  • FIG. 36F is a diagram showing an operation state of the robot arm in the robot arm control device of the embodiment of the present invention (an enlarged view of the insertion portion of the insertion slot in FIG. 36C);
  • FIG. 36G is a diagram (an enlarged view of a circle G in FIG. 36D) showing an operation state of the robot arm in the robot arm control device of the embodiment of the present invention;
  • FIG. 36H is a view (an enlarged view of a circle H in FIG. 36E) showing an operation state of the robot arm in the robot arm control device of the embodiment of the present invention;
  • FIG. 36I is a diagram (an enlarged view of circle I in FIG. 36F) showing an operation state of the robot arm in the robot arm control device of the embodiment of the present invention.
  • a control device for a robot arm that controls an operation of a robot arm for assembly work and performs an assembly work for assembling an assembly object gripped by the robot arm on an object.
  • Force detecting means for detecting the force of a person acting on the robot arm;
  • An information acquisition unit for acquiring information about the operation including the position of the robot arm in the assembly operation and the human force detected by the force detection unit;
  • Object force detection means for detecting the force applied by the robot arm to the assembly object;
  • the motion is obtained from the information related to the motion including the position of the robot arm in the assembly work acquired by the information acquisition unit, the information related to the force of the person, and the force applied to the target detected by the target force detection means.
  • a correction operation type determining means for determining the type of correction operation to be corrected; During the assembly operation of the robot arm, the human force detected by the force detection unit and acquired by the information acquisition unit and the type of the correction operation determined by the correction operation type determination unit are determined.
  • a control device for a robot arm comprising a motion correction means for controlling the robot arm and correcting the motion.
  • the robot arm assembly method can be corrected according to human power.
  • the information related to the operation is applied to the position and posture information of the robot arm according to the assembly work performed by the robot arm and from the robot arm to the assembly work surface. It includes at least one of force information, information on the direction of the robot arm, speed information of the robot arm, and non-workable area information which is information about an area where the robot arm is not operated.
  • the robot arm control device according to the first aspect is provided.
  • the position information, the force information applied by the robot arm, the information on the direction, the speed information, and the speed information at each time are not desired. At least one piece of information regarding the area can be corrected.
  • the information related to the operation has at least force information applied from the robot arm to the work surface according to the assembly work performed by the robot arm
  • the motion correction unit is configured to apply a force control mode in which a predetermined force is applied from the robot arm to the work surface based on the information related to the motion in the xyz axis direction in which the robot arm can move.
  • the robot arm control device according to the first aspect is characterized in that the magnitude or direction of the set force among the information regarding the correction is corrected.
  • a force control mode for performing the operation by applying a preset force from the robot arm to the work surface based on the information related to the operation in the xyz-axis direction in which the robot arm can move While the operation is being performed by the robot arm by setting for each axis, the setting of the information related to the operation before the correction operation is set according to the force of the person detected by the force detection means. The magnitude or direction of the applied force can be corrected.
  • the information related to the movement includes information on the position and posture of the robot arm, information on the direction of the robot arm, and information on the direction of the robot arm according to the assembly work performed by the robot arm. It has speed information of the robot arm, and work impossible area information that is information related to the area where work is not performed,
  • the motion correction means is configured to apply a force applied to the robot arm from the person to the robot arm while operating in a position control mode for controlling the position of the robot arm based on information on the motion.
  • the impedance detection mode in which the robot arm operates is set for each axis in the xyz axis direction in which the robot arm can move, and the operation is performed while the operation is being performed.
  • the robot arm control device according to the first aspect is characterized in that the operation of the information related to the operation in the impedance control is corrected according to the human force acquired by the information acquisition unit.
  • the force detection unit is configured to operate the operation while setting an impedance control mode in which the robot arm operates according to a force applied to the arm for each axis in the xyz axis direction in which the robot arm can move.
  • the operation of the information related to the operation in the impedance control can be corrected according to the force of the person detected in (1).
  • the display device further comprises display means for displaying information on the type of the correction operation based on the type of the correction operation determined by the correction operation type determination unit. 4.
  • a control device for a robot arm according to any one of aspects 4 is provided.
  • the correction operation type determination means detects the movement amount of the position and posture of the hand of the robot arm, and The correction operation type determination means is detected by the object detection means and the force applied to the object acquired by the information acquisition unit is less than a first threshold, and is detected by the correction operation type determination means When the movement amount of the position and posture of the hand of the robot arm is equal to or greater than a third threshold, the type of correction operation is determined as the type of movement of the position and posture of the work surface, Further, the motion correction unit is configured to detect the robot according to the force of the person detected by the force detection unit and acquired by the information acquisition unit and the type of the correction operation determined by the correction operation type determination unit.
  • the robot arm control device according to the first aspect, wherein the position and posture of the hand of the arm are corrected.
  • the correction operation type determination means detects the movement amount of the position and posture of the hand of the robot arm
  • the correction operation type determination means is detected by the object detection means and the force applied to the object acquired by the information acquisition unit is less than a first threshold, and is detected by the correction operation type determination means
  • the motion correction unit is configured to detect the robot according to the force of the person detected by the force detection unit and acquired by the information acquisition unit and the type of the correction operation determined by the correction operation type determination unit.
  • the correction operation type determination means detects the amount of movement of the position of the hand of the robot arm
  • the correction operation type determination unit detects a force applied to the object by the object force detection unit, and a component of the force applied to the object acquired through the information acquisition unit is a certain time
  • the force applied to the object that exceeds a certain threshold and is detected by the object force detection unit and acquired through the information acquisition unit is different for a certain period of time. If the movement amount of the robot arm detected by the correction operation type determination unit is equal to or greater than a certain threshold, the correction operation type is a position / posture correction type.
  • the motion correction means detects the force applied to the object by the object force detection unit, and the force applied to the object acquired through the information acquisition unit and the correction operation type determination unit
  • the robot arm control device according to the first aspect, wherein the position and orientation of the robot arm are corrected according to the type of the correction operation determined in (1).
  • the correction action type determination unit adds the object detected by the object force detection unit and detected through the information acquisition unit when the force applied to the object is detected.
  • a component of the applied force exceeds a certain threshold for a certain period of time, and the force applied to the object is detected by the object force detection unit and is acquired through the information acquisition unit.
  • the motion correction means detects the force applied to the object by the object force detection unit, and the force applied to the object acquired through the information acquisition unit and the correction operation type determination unit.
  • any one of the first to ninth aspects further comprising display means for displaying information relating to the type of correction operation based on the type of correction operation determined by the correction operation type determination means.
  • a robot arm control device according to one aspect is provided.
  • a robot arm control method for controlling an operation of an assembly robot arm and performing an assembly operation for assembling an assembly object gripped by the robot arm on an object. And Detecting the force of the person acting on the robot arm with force detection means, A force applied to the assembly object by the robot arm is detected by an object force detection means; Information related to the operation including the position of the robot arm in the assembly operation, information detected by the force detection unit and acquired by the information acquisition unit, and information detected by the object force detection unit.
  • the type of the correction operation for correcting the operation is determined by the correction operation type determination means.
  • the human force detected by the force detection unit and acquired by the information acquisition unit and the type of the correction operation determined by the correction operation type determination unit are determined. Accordingly, a robot arm control method is provided, wherein the robot arm is controlled and the motion is corrected by a motion correction means.
  • the correction type of the movement is determined based on information on the movement of the robot arm, the human force is detected, and the work of the robot arm is performed according to the human force and the correction type. , The operation can be provided.
  • the robot arm there is provided an assembly robot comprising the robot arm control device according to any one of the first to ninth aspects for controlling the robot arm.
  • the control of the robot arm for the assembly robot that controls the operation of the robot arm for assembly work and performs the assembly work for assembling the assembly object gripped by the robot arm on the object.
  • a program Information relating to the operation including the position of the robot arm in the assembly operation and information detected by the force detection means and obtained by the information acquisition unit and information relating to the force of the person acting on the robot arm and detected by the object force detection means Determining the type of the correction operation for correcting the operation by the correction operation type determination means using the force applied to the object by the robot arm;
  • the human force detected by the force detection unit and acquired by the information acquisition unit and the type of the correction operation determined by the correction operation type determination unit are determined.
  • a robot arm control program for an assembly robot is provided for causing the computer to execute an operation correction step of controlling the robot arm and correcting the operation by an operation correction unit.
  • the control of the robot arm for the assembly robot that controls the operation of the robot arm for assembly work and performs the assembly work for assembling the assembly object gripped by the robot arm on the object.
  • Integrated electronic circuit for Information relating to the operation including the position of the robot arm in the assembly operation and information detected by the force detection means and obtained by the information acquisition unit and information relating to the force of the person acting on the robot arm and detected by the object force detection means
  • Corrective action type determining means for determining the type of corrective action for correcting the action using a force applied by the robot arm to the object;
  • the human force detected by the force detection unit and acquired by the information acquisition unit and the type of the correction operation determined by the correction operation type determination unit are determined. Accordingly, there is provided an integrated electronic circuit for controlling a robot arm for an assembly robot, comprising: an operation correcting unit that controls the robot arm to correct the operation.
  • an assembly operation for attaching a flexible substrate 74 to a flexible substrate insertion slot 75 of a device 6 such as a television, a DVD recorder, or a mobile phone in cell production in a factory.
  • the assembly robot arm 5 for the assembly robot will be described.
  • the robot arm 5 of the assembly robot 1 is installed on the wall surface 7a of the work table 7, and the base end of the robot arm 5 is movably supported by a rail 8 fixed to the wall surface 7a. However, it can be moved in the lateral direction along the rail 8, for example, in the horizontal direction, automatically by the force of the hand 16 of the person 16A, or by a motor or the like.
  • the fixing position of the base end of the robot arm 5 is not limited to the wall surface 7a of the work table 7, but may be a ceiling or the like.
  • the side surface of the work table 7 includes a data input IF 26 such as an operation panel 26A on which buttons 26a and the like are arranged, and a display unit 14 as an example of display means arranged on the wall surface of the work table 7 and the like. Has been.
  • the rail 8 has a rail fixed portion 8a fixed to the wall surface 7a and a rail movable portion that has a wheel (not shown) that is driven to rotate forward and backward by driving of the motor 65 and is movable with respect to the rail fixed portion 8a. 8b.
  • the base part 34 to which the base end of the robot arm 5 is connected is connected to the rail movable part 8b, and the base part 34 of the robot arm 5 is configured to be movable together with the rail movable part 8b with respect to the rail fixing part 8a. ing.
  • a wheel that is driven to rotate forward and backward by a motor 65 is provided on the base portion 34 to which the base end of the robot arm 5 is connected, and along the rail 8 fixed to the wall surface 7a, It is good also as a structure that the base part 34 moves.
  • a hand 30 that can be opened and closed is attached to the tip of the robot arm 5 in order to hold the flexible substrate 74.
  • the assembly robot 1 is a robot that inserts a flexible substrate 74 into the insertion port 75 of the device 6 fixedly placed on the work table 7, and controls the robot arm 5 and the operation of the robot arm 5. It consists of a device.
  • the person 16 is turned on by a data input IF 26 (for example, pressing “ON” of the power button 26a of the operation panel 26A in FIG. 26) disposed on the side surface of the work table 7.
  • a data input IF 26 for example, pressing “ON” of the power button 26a of the operation panel 26A in FIG. 26
  • the robot arm 5 can be moved by a human hand 16 so that the tip of the robot arm 5 can be moved and the device 6 can be easily installed on the work table 7. (The robot arm 5 can be moved by a human hand 16 to a position where it does not interfere with the installation of the device 6 on the work table 7).
  • the assembly robot 1 is operated by pushing a data input IF 26 (for example, a start button of the work switch 26c of the operation panel 26A in FIG.
  • a data input IF 26 for example, a start button of the work switch 26c of the operation panel 26A in FIG.
  • An optimum assembly operation is selected by an operation selection unit 29 described later, and an assembly operation by the robot arm 5 is started based on the selected operation.
  • the operation panel 26A as an example of the data input IF 26 is fixed to the side surface of the work table 7.
  • a remote control capable of remote operation may be used.
  • the hand 30 of the robot arm 5 is used to hold a desired portion such as the substrate of the flexible substrate 74 or the connector portion at the tip of the substrate. Thereafter, the robot arm 5 is moved by the hand 16 or automatically with the hand 30 holding the flexible board 74, and the connector portion of the flexible board 74 is opposed to the flexible board insertion port 75 of the device 6. The connector portion of the flexible board 74 is inserted into the insertion port 75 by the arm 5 and the flexible board 74 is assembled to the device 6. At this time, the robot arm 5 is controlled so as to correct the operation of the robot arm 5 by pressing the robot arm 5 with a human hand 16 as necessary.
  • FIG. 18B when a force change or a position for inserting the flexible board 74 into the insertion port 75 is changed due to a model change of the flexible board 74 or the device 6 or the like, As shown in FIG. 18C, the person 16 confirms the change state, and corrects the force so as to apply a stronger force by pressing the robot arm 5 with the hand 16 of the person. By doing in this way, as shown to FIG. 18D, force adjustment can be inserted more strongly.
  • the assembly work by the robot arm 5 will be described in detail.
  • FIG. 3 is a diagram showing in detail the components of the control device that constitutes the assembly robot 1.
  • the control device of the assembly robot 1 is roughly composed of a control device main body 45, the motion generation device 12, and a peripheral device 47.
  • the control device main body 45, the motion generation device 12, and the peripheral device 47 are each configured by a general personal computer.
  • the control device main body 45 includes an operation correction unit 20 as an example of an operation correction unit of the operation generation device 12, a correction operation type determination unit 23 as an example of a correction operation type determination unit, and a data input IF 26 of a peripheral device 47, respectively.
  • Control parameter management unit 21 as an example of connected control parameter management means
  • control unit impedance control unit
  • the motion generation device 12 includes a motion database 17, a work impossible area database 28, a motion correction unit 20, a correction motion type determination unit 23, a motion storage unit 15, a motion selection unit 29, and an information acquisition unit (information acquisition unit).
  • An example of means) is provided.
  • the motion storage unit 15 is connected to the motion database 17, the work impossible area database 28, and the motion correction unit 20.
  • the motion database 17 and the work impossible area database 28 are connected to the motion storage unit 15, the motion correction unit 20, and the motion selection unit 29, respectively.
  • the motion correction unit 20 is connected to the motion database 17, the work impossible region database 28, the motion storage unit 15, the control parameter management unit 21 of the control device main body 45, the correction motion type determination unit 23, and the data input IF 26 of the peripheral device 47. Has been.
  • the correction operation type determination unit 23 is connected to the operation correction unit 20, the data input IF 26 of the peripheral device 47, and the control parameter management unit 21 of the control device main body 45.
  • the action selection unit 29 is connected to the action database 17, the work impossible area database 28, and the data input IF 26.
  • the information acquisition unit 100 includes a correction operation type determination unit 23, an operation database 17, an unworkable area database 28, a force detection unit (an example of force detection unit) 53 of the control unit 22, and a target force detection unit (target force detection unit). Example) 78. Therefore, the information acquisition unit 100 includes information on the operation of the robot arm 5 including the position of the robot arm 5 in the assembly work, information on the human force acting on the robot arm 5 detected by the force detection unit 53, and object force.
  • Information from the detection unit 78 can be acquired.
  • the information acquired by the information acquisition unit 100 is input to the correction operation type determination unit 23, and the operation of the robot arm 5 is described below from the information regarding the operation acquired by the information acquisition unit 100 and the information regarding human power, as will be described later.
  • the correction operation type determination unit 23 can determine the type of correction operation for correcting the correction.
  • the peripheral device 47 includes a correction operation type determination unit 23, an operation correction unit 20, a control parameter management unit 21 of the control device body unit 45, a data input IF 26 connected to the display unit 14 and the operation generation device 12, and a rail movable unit.
  • An encoder 64 that is attached to the rotation shaft of the motor 65 of 8b and detects the rotation angle of the rotation shaft
  • an encoder 44 that is attached to the rotation shaft of the motor 43 of each joint portion and detects the rotation angle of the rotation shaft
  • hand drive The angle information is input from an encoder 61 that is attached to the rotation shaft of the motor 62 and detects the rotation angle of the rotation shaft, and the input / output IF 24 connected to the control unit 22 and the rail movable unit 8b.
  • Motor drivers connected to the motor 65 and the motor 43 of each joint of the robot arm 5 and the motor 62 for opening and closing the hand 5, configured with a display unit 14 connected to the correction operation type determining unit 23.
  • the input / output IF 24 is configured to include, for example, a D / A board, an A / D board, a counter board, and the like connected to an expansion slot such as a PCI bus of a personal computer.
  • the motion generation device 12 that controls the motion of the robot arm 5 and the rail movable portion 8b, the control device main body 45, and the peripheral device 47 execute the respective motions, whereby each of the joint portions of the robot arm 5 is performed.
  • Each joint angle information that is joint angle information and output from an encoder 44 described later is taken into the control device main body 45 through the input / output IF 24.
  • the control device main body 45 calculates a control command value in the rotation operation of each joint of the robot arm 5 based on each taken joint angle information.
  • the position information of the rail movable portion 8 b output from the encoder 64 of the motor 65 of the rail movable portion 8 b is taken into the control device main body 45 through the input / output IF 24.
  • the control apparatus main-body part 45 calculates the control command value of the motor 65 of the rail movable part 8b based on each taken-in positional information.
  • the calculated control command value of the motor 43 of each joint part of the robot arm 5 is given to the motor driver 25 through the input / output IF 24, and each joint part of the robot arm 5 according to each control command value sent from the motor driver 25.
  • the motors 43 are driven independently.
  • the calculated control command value of the rail movable portion 8b is given to the motor driver 25 through the input / output IF 24, and the motor 65 of the rail movable portion 8b is driven according to each control command value sent from the motor driver 25. .
  • the hand 30 further includes a hand driving motor 62 and an encoder 61 that detects the rotational phase angle of the rotation shaft of the hand driving motor 62 as an example of a hand driving device that is driven and controlled by the motor driver 25.
  • the hand 30 is opened by rotating the rotating shaft of the motor 62 in the forward direction, and the flexible substrate 74 is positioned so as to be graspable by the hand 30, while the hand 30 is rotated by rotating the rotating shaft of the motor 62 in the reverse direction.
  • the flexible substrate 74 positioned at a position where the hand 30 can be gripped and the hand 30 can be gripped by the hand 30 can be configured.
  • a control signal (open / close command) from the hand control unit 54 (shown in FIG. 7) of the control unit 22 of the control device main body 45. Signal), the rotation of the hand driving motor 62 is driven and controlled via the motor driver 25, and the hand 30 is opened and closed by rotating the rotating shaft of the hand driving motor 62 forward and backward.
  • the robot arm 5 is a multi-link manipulator with 6 degrees of freedom, and the tip of the hand 30, the forearm link 32 having the wrist 31 to which the hand 30 is attached at the tip, and the proximal end of the forearm link 32 are rotatable.
  • the upper arm link 33 to be connected is provided, and a base portion 34 on which the base end of the upper arm link 33 is rotatably connected and supported.
  • the base part 34 is connected to the rail movable part 8b.
  • the wrist portion 31 has three rotation axes of the fourth joint portion 38, the fifth joint portion 39, and the sixth joint portion 40, and changes the relative posture of the hand 30 with respect to the forearm link 32. be able to. That is, in FIG.
  • the fourth joint portion 38 can change the relative posture around the horizontal axis of the hand 30 with respect to the wrist portion 31.
  • the sixth joint portion 40 can change the relative posture of the hand 30 with respect to the wrist portion 31 about the horizontal axis orthogonal to the horizontal axis of the fourth joint portion 38 and the vertical axis of the fifth joint portion 39.
  • the other end of the forearm link 32 is rotatable around the third joint portion 37 with respect to the tip of the upper arm link 33, that is, around a horizontal axis parallel to the horizontal axis of the fourth joint portion 38.
  • the other end of the upper arm link 33 is rotatable around the second joint portion 36 with respect to the base portion 34, that is, around a horizontal axis parallel to the horizontal axis of the fourth joint portion 38. Further, the upper movable portion 34a of the pedestal 34 rotates around the first joint 35 relative to the lower fixed portion 34b of the pedestal 34, that is, around the vertical axis parallel to the vertical axis of the fifth joint 39. It is possible. As a result, the robot arm 5 constitutes the multi-link manipulator having 6 degrees of freedom so as to be rotatable around a total of six axes.
  • Each joint that constitutes a rotating portion of each axis includes a motor 43 as an example of a rotation driving device and an encoder 44 that detects a rotation phase angle (that is, a joint angle) of the rotation axis of the motor 43.
  • the motor 43 is provided in one member of a pair of members (for example, a rotation-side member and a support-side member that supports the rotation-side member) constituting each joint portion, and is described later. (Actually, it is arranged inside one member of each joint portion of the robot arm 5).
  • the encoder 44 is provided in one member in order to detect the rotation phase angle (that is, the joint angle) of the rotation shaft of the motor 43 (actually, one member of each joint portion of the robot arm 5 is provided). Arranged inside).
  • the rotating shaft of the motor 43 provided in one member is connected to the other member, and the other member can be rotated around each axis with respect to the one member by rotating the rotating shaft forward and backward. .
  • Reference numeral 46 denotes a rail coordinate system O d , which indicates a relative positional relationship from the point O s at the end of the rail 8 (see FIG. 8).
  • Reference numeral 41 denotes a pedestal coordinate system of the pedestal 34 fixed to the rail movable portion 8b of the rail 8, and shows a relative positional relationship from the rail coordinate system Od .
  • the hand coordinate system 42 indicates a relative positional relationship from the platform coordinate system 41.
  • the origin position O d (x, y) of the rail coordinate system 46 viewed from the end point O s of the rail 8 is set as the position (rail position) of the rail movable portion 8b. Further, the origin position O e (x, y, z) of the hand coordinate system 42 viewed from the platform coordinate system 41 is set as the hand position of the robot arm 5 (the position of the tip of the hand 30), and viewed from the platform coordinate system 41.
  • the roll angle, pitch angle, and yaw angle will be described with reference to FIGS. 12A to 12C.
  • this coordinate system is rotated around the Z axis by an angle ⁇ with Y ′ as the rotation axis (see FIG. 12B).
  • the coordinate axes at this time are [X ′′, Y ′, Z ′′].
  • this coordinate system is rotated around the X ′′ axis by an angle ⁇ with the X ′′ axis as the rotation axis (see FIG. 12C).
  • the coordinate axes at this time are [X ′′, Y ′ ′′, Z ′ ′′].
  • the posture of the coordinate system at this time is a roll angle ⁇ , a pitch angle ⁇ , and a yaw angle ⁇ , and the posture vector at this time is ( ⁇ , ⁇ , ⁇ ).
  • the hand position and orientation vector r When controlling the hand position and orientation of the robot arm 5 respectively, the hand position and orientation vector r, to be made to follow on the hand position generated by the target track generation unit 55 to be described later and orientation target vector r d become.
  • Reference numeral 26 denotes a data input IF (interface), and a person (assembly worker) inputs an instruction such as start or end of assembly work to the assembly robot 1 using an input device such as a button, a keyboard, a mouse, or a microphone. Interface.
  • the display unit 14 is, for example, a display device installed on the work table 7, and displays on the display unit 14 the type of a robot operation or a parameter to be corrected, which will be described later.
  • the operation database 17 stores and holds information (information related to the operation) regarding the operation (for example, assembly operation) such as the position and posture of the rail movable unit 8b and the robot arm 5 at a certain time.
  • the information related to the operation includes the information on the hand position / posture of the robot arm 5 according to the work (for example, assembly work) performed by the robot arm 5 and the force information applied to the device 6 by the robot arm 5.
  • the information includes at least one of speed information of the robot arm 5 and non-work area information that is information related to a non-work area.
  • the operation database 17 is, for example, information on the operation of the rail movable unit 8b and the robot arm 5 shown in FIG. 4, and a work ID number for identifying a work, an action ID number for identifying individual actions in the work, Information on the position of the rail movable part 8b in the operation, information on the hand position and posture of the robot arm 5 in the operation, and the robot arm 5 in the operation are assembled on the assembly work surface (for example, the flexible board insertion port of the device 6).
  • the work ID number for identifying the insertion work in the motion database 17 is information indicating the work ID number assigned to each work in order to identify each other when there are a plurality of types of assembly work (for example, insertion work). It is.
  • the operation ID number for identifying individual operations in the assembly operation in the operation database 17 identifies each assembly operation in one assembly operation from each other when one assembly operation is composed of a plurality of assembly operations. Therefore, this is information representing an operation ID number assigned to each assembly operation.
  • the information on the position of the rail movable portion 8b in the operation database 17 represents the information on the rail position described above, that is, the origin position O d (x, y) of the rail coordinate system 46 viewed from the O s at the end of the rail 8.
  • the first rail position (x 1 , y 1) of the rail movable portion 8b is used.
  • Information regarding the position of the rail movable portion 8b in the motion database 17 is set in advance in the motion database 17, or the robot arm 5 is directly gripped by a human hand 16 and the robot is operated in an impedance control mode to be described later.
  • the arm 5 may be moved and stored.
  • the information on the hand position and posture of the robot arm 5 in the motion database 17 represents the hand position and posture of the robot arm 5 described above, and from the origin position O e and the posture, (x, y, z, ⁇ , ⁇ , ⁇ ).
  • Information on the position, posture, and time of the robot arm 5 in the motion database 17 is obtained by, for example, directly holding the robot arm 5 with a human hand 16 as shown in FIG. 5 and the information on the hand position and posture of the robot arm 5 is acquired by the control unit 22 at certain time intervals (for example, every 0.2 msec) (specifically, also described in the description of the control unit 22).
  • the joint angle measured by the encoder 44 of each joint unit is converted into the hand position and posture by the forward kinematics calculation unit 58 to acquire the hand position and posture information of the robot arm 5), and the time information And stored in the operation database 17 by the operation storage unit 15.
  • information on position, posture and time may be generated in advance by the manufacturer at the time of product shipment and stored in the operation database 17. Further, the robot arm 5 is moved, and the environment (environment including the robot arm 56 and the device 6) is photographed with an image pickup device such as a camera (for example, disposed above the robot arm 5), and the obtained image Model matching processing is performed between data (for example, an image of the insertion port 75 of the device 6 in the obtained environment information) and an image of an object stored in advance (for example, an image of the insertion port 75 of the device 6).
  • the matched position may be stored in the operation database 17 as the hand position of the robot arm 5 in the operation storage unit 15 through the data input IF 26, although not specifically illustrated.
  • the information on the force applied by the robot arm 5 stored in the motion database 17 indicates information on the force applied to the target object when the robot arm 5 performs work, and the robot arm 5 has x, y and z directions. Forces to be applied are f x , f y , and f z , respectively, and forces to be applied in the ⁇ , ⁇ , and ⁇ directions are f ⁇ , f ⁇ , and f ⁇ . In the motion database 17, it is expressed as (f x , f y , f z , f ⁇ , f ⁇ , f ⁇ ).
  • the flag information is a value indicating which information among the position, posture, and force of the robot arm 5 indicated by each action ID is valid.
  • the flag information is a 32-bit numerical value shown in FIG. To express. In FIG. 5, “1” is set when each value of position, posture, and force is valid in each bit, and “0” is set when invalid. For example, the 0th bit is “1” if the x-coordinate value of the position is valid, and “0” if it is invalid.
  • the first bit is “1” if the y-coordinate value of the position is valid, and “0” if it is invalid.
  • the second bit is “1” when the position z-coordinate value is valid, and “0” when the position is invalid.
  • the third, fourth, and fifth bits sequentially indicate the validity of the posture ⁇ , ⁇ , and ⁇ .
  • the sixth to eleventh bits indicate whether the force components f x , f y , f z , f ⁇ , f ⁇ , and f ⁇ are valid or invalid.
  • Information on the time at which each operation in the operation database 17 acts that is, the time in the operation database 17 in FIG. 4 is a time required for the assembly robot 1 to execute each operation, and the operation stored in this operation ID.
  • This time represents the relative time from the previous operation, not the absolute time. That is, the time until the rail movable part 8b and the robot arm 5 move is represented by the position of the rail movable part 8b and the position and posture of the robot arm 5 indicated by the operation ID.
  • This is information indicating which parameter is to be corrected according to the type. Specifically, it is represented by a 32-bit numerical value shown in FIG. In FIG. 6, “1” is set when each value of position, posture, and force can be corrected by each bit, and “0” is set when correction is impossible. For example, the 0th bit is “1” if the x-coordinate value of the position can be corrected, and “0” otherwise. The first bit is “1” if the y-coordinate value of the position can be corrected, and “0” otherwise.
  • the second bit is “1” if the z-coordinate value of the position can be corrected, and “0” otherwise.
  • the third, fourth, and fifth bits sequentially indicate the possibility of correcting the postures ⁇ , ⁇ , and ⁇ .
  • the sixth to eleventh bits represent the force correction possibility.
  • the progress information indicating whether or not the operation database 17 is currently operating is information indicating whether or not the assembly robot 1 is currently operating.
  • “1” is recorded and operating. Otherwise, “0” is recorded.
  • a person selects an assembly operation to be performed via the data input IF 26, and the selected information is input from the data input IF 26 to the operation selection unit 29.
  • the action selecting unit 29 sets “1” for the assembling action currently in operation among the plurality of assembling actions constituting the assembling work. Is stored in the operation database 17, and “0” is stored in the operation database 17 for an assembly operation that is not operating.
  • a notification that the operation commanded from the control unit 22 is completed is input to the operation storage unit 15 via the operation correction unit 20, and the operation method database 17 is stored in the operation storage unit 15.
  • the operation IDs “1” to “8” are moved above the device 6 to the insertion port 75 of the device 6 while the hand 30 of the robot arm 5 is gripping the flexible substrate 74 as shown in FIG. 21A. It is an operation to do.
  • Operations “9” to “16” are operations for inserting the flexible board 74 into the insertion port 75 of the device 6 using the robot arm 5 as shown in FIG. 21B.
  • the operation selection unit 29 in FIG. 3 is optimal from the work list of the operation database 17 (for example, work display such as “insert 1” and “insert 2” displayed below the center of the switch 26c in FIG. 26).
  • work display such as “insert 1” and “insert 2” displayed below the center of the switch 26c in FIG. 26.
  • the unworkable area database 28 stores information related to areas where the assembly robot 1 does not perform work (in this example, flexible board insertion work). Specific information is shown in FIG. In FIG. 10, the position (x, y) of the work disabling region represents a region where a person does not want to work with the assembly robot 1. For example, if the hatched area of the workable surface R in FIG.
  • each of the coordinates, of the working path of the working area RA do the work, expressed in relative coordinates from the coordinates O s end of the rail 8. Coordinates representing these unworkable areas RB are generated by an operation correction unit 20 described later and stored in the unworkable area database 28.
  • the correction operation type determination unit 23 determines a type of correction that can be corrected by a person applying force to the robot arm 5 with his / her hand 16 in the operation correction unit 20 described later. For example, as shown in FIG. 19C, when a person applies force to the robot arm 5 from the lateral direction with his hand 16, the direction parallel to the work surface of the robot arm 5 (for example, the insertion surface of the insertion port 75 of the device 6) ( For example, when the work surface is along the horizontal direction, the work surface means the horizontal direction. In the following description, for the sake of simplicity, the work area RA is simply moved. Can be translated. The type of correction operation in this case is “movement of the position of the work surface”.
  • the operation correction unit 20 can set the force applied at the time of insertion stronger as shown in FIG. 19D.
  • the type of the correction operation in this case is “force application”.
  • the correction operation type determination unit 23 can determine the type of correction of the assembly operation from the degree of force applied to the robot arm 5 by the human hand 16 and the hand position of the robot arm 5. Details will be described later.
  • the motion correcting unit 20 assembles the motion database 17 by applying a force to the robot arm 5 with the hand 16 while the assembly robot 1 is performing the assembly operation based on the position, posture, and time information of the motion database 17. It has a function to correct operation information. Details will be described later.
  • the operation storage unit 15 stores the operation information corrected by the operation correction unit 20 in the operation database 17 or the work impossible area database 28.
  • control parameter management unit 21 Details of the control parameter management unit 21 will be described.
  • the control parameter management unit 21 Based on the motion correction instruction from the motion correction unit 20, the control parameter management unit 21 performs impedance control mode, hybrid impedance control mode, force control mode, force hybrid impedance control mode, and high-rigidity position of the robot arm 5. Setting of switching between control modes, setting of mechanical impedance setting values in each control mode, and hand position and posture target correction output rd ⁇ output by the impedance calculation unit 51 of the control unit 22 in each control mode Setting and setting of operation information to the target trajectory setting unit 55 of the control unit 22 are performed.
  • control parameter management unit 21 stores the position of the rail movable unit 8b stored in the operation database 17 (the origin position O d (x, y) of the rail coordinate system 46 viewed from the coordinates O s of the end of the rail 8). Then, a route in the work area RA excluding the work impossible area RB in the work impossible area database 28 is generated. Also, the control parameter management unit 21 receives information such as the hand position or force information of the robot arm 5 from the control unit 22, and notifies the operation correction unit 20 of the information.
  • a command for opening / closing the hand 30 is input by the data input IF 26
  • input information from the data input IF 26 is input to the hand control unit 54 of the control unit 22 via the control parameter management unit 21, and control parameter management is performed.
  • An opening / closing command for the hand 30 is issued from the unit 21 to the hand control unit 54.
  • the position control mode is a mode in which the robot arm 5 operates based on a hand position and posture target vector command of a target trajectory generation unit 55 described later.
  • the impedance control mode is a mode in which the robot arm 5 operates according to the force applied to the robot arm 5 from a person or the like.
  • the hybrid impedance control mode is a mode (impedance control mode) in which the robot arm 5 operates according to the force applied to the robot arm 5 from a person or the like while the robot arm 5 is operating in the position control mode.
  • the position control mode and the impedance control mode are performed simultaneously. For example, during an assembly operation of inserting the flexible board 74 into the insertion port 75 of the device 6, correction such as holding the robot arm 5 directly with a human hand 16 and translating the work area RA as shown in FIG. 18C. This is the mode to perform.
  • an object for example, a flexible substrate
  • a work surface for example, the insertion surface of the insertion port 75 of the device 6
  • a force given in advance to the control unit 22. 74 for example, when the robot arm 5 applies a certain force to the insertion port 75 to insert the flexible board 74 into the insertion port 75 in the control mode in which the operation is performed while pressing the robot 74).
  • the force hybrid impedance control mode is a control mode that switches between the hybrid impedance control mode and the impedance control mode for each of the six axes, and further operates in a force control mode that operates by applying a specified force. Note that the impedance control mode cannot be set in the direction in which the force control mode is set (the force control mode and the impedance control mode are in an exclusive relationship).
  • control modes are operated by setting appropriate control modes as follows for each direction and posture of the robot arm 5 during the assembly operation.
  • the assembly robot 1 places the flexible board 74 held by the hand 30 with respect to the insertion port 75 of the device 6 with respect to the insertion surface of the insertion port 75 of the device 6 which is an example of a work surface.
  • the flexible substrate 74 is applied to the insertion port 75 by applying a force specified in a vertical insertion direction (in FIG. 18A, since the insertion surface of the insertion port 75 is along the horizontal plane, the insertion direction is perpendicular to the horizontal surface and downward).
  • the force hybrid impedance control mode is set. Specifically, the following control modes are set for each of the six axes (x, y, z, ⁇ , ⁇ , ⁇ ).
  • the (x, y) component operates in the hybrid impedance control mode
  • the ( ⁇ , ⁇ , ⁇ ) component operates in the impedance control mode
  • the z-axis component operates in the force control mode.
  • the direction parallel to the insertion surface of the insertion port 75 of the device 6 is set to the hybrid impedance control mode, so that the hybrid impedance can be obtained when a person is operating while operating in the position control mode.
  • the robot arm 5 can be moved according to the force applied to the robot arm 5 from a person or the like.
  • the posture of the robot arm 5 can be changed according to the force applied to the robot arm 5 from a person or the like while stopped. become. Further, by setting the z-axis component to the force control mode, it becomes possible to operate while pressing with a designated force.
  • the high-rigidity position control mode is a mode in which the position control mode during the assembly work is further increased in rigidity, and is realized by increasing the gain in the position error compensation unit 56 described later.
  • the force applied by the human hand 16 can be detected by the force detection unit 53 based on the amount of change in the hand position of the robot arm 5 by making the robot arm 5 unable to move easily. it can.
  • ⁇ Inertia M, viscosity D, and rigidity K are set as mechanical impedance setting parameters.
  • Each parameter of the mechanical impedance set value is set based on the following evaluation formula using the correction value.
  • KM, KD, and KK are gains, each of which is a constant value.
  • the control parameter management unit 21 outputs the inertia M, viscosity D, and rigidity K of the mechanical impedance parameters calculated based on the equations (1) to (3) to the control unit 22, respectively.
  • the viscosity D and stiffness are set by setting the above correction value high (specifically, about 10 times higher) in the control parameter management unit 21 only for position components and posture components other than the x-axis and y-axis. Since K is set to be large, resistance or hardness is generated in the movement of the robot arm 5, and it is difficult for the position component and posture component other than the x-axis and the y-axis to move.
  • control parameter management unit 21 receives information on the hand position and force of the robot arm 5 from the control unit 22, and moves to the operation selection unit 29, the operation storage unit 15, and the operation correction unit 20 from the control parameter management unit 21. Make a notification.
  • control parameter management unit 21 notifies the control unit 22 of operation information such as position, posture, and time input from the operation correction unit 20.
  • FIG. 7 shows a block diagram of the control unit 22.
  • the control unit 22 operates in the control mode set by the control parameter management unit 21, and further, according to the control mode, the mechanical impedance of the robot arm 5 set based on the set values of the inertia M, the viscosity D, and the stiffness K.
  • the mechanical impedance value of the robot arm 5 is controlled to the set value.
  • the control unit 22 performs control to press the flexible substrate 74 against the insertion surface of the insertion port 75 with a designated force.
  • the control part 22 controls the rail movable part 8b, and performs control which moves the robot arm 5 to the designated position on the rail fixing
  • control unit 22 Details of the control unit 22 will be described with reference to FIG.
  • the control unit 22 includes a robot arm control unit 49 that controls driving of the motor 43 of each joint unit of the robot arm 5 and a rail control unit 48 that controls driving of the motor 65 of the rail movable unit 8b. Is done.
  • the robot arm control unit 49 includes a position error calculation unit 50, an impedance calculation unit 51, a force detection unit 53 as an example of a force detection unit, a hand control unit 54, a target trajectory generation unit 55, a position error compensation unit 56, and an approximate reverse motion.
  • a scientific calculation unit 57 and a forward kinematics calculation unit 58 are provided.
  • the position error compensation unit 56, approximate inverse kinematics calculation unit 57, and forward kinematics calculation unit 58 constitute a position control system 59.
  • the current value (joint angle vector) vector q [q 1 , q 2 , q 3 , q 4 , q 5 , q of the joint angle measured by the encoder 44 of the joint axis of each joint part. 6 ] T is output and taken into the control unit 22 by the input / output IF 24.
  • q 1 , q 2 , q 3 , q 4 , q 5 , q 6 are respectively the first joint part 35, the second joint part 36, the third joint part 37, the fourth joint part 38, and the fifth joint. This is the joint angle of the part 39 and the sixth joint part 40.
  • Target track generation unit 55 receives the input of the assembly operation from the control parameter managing unit 21, for implementing the operation of the robot arm 5 to the target, and the hand position and orientation target vector r d, the hand force vector fd and a flag indicating which parameter is effective for each direction (a flag indicating validity) are output.
  • Target track generation unit 55 uses the polynomial interpolation, and the track between points, and interpolating a force to generate a hand position and orientation target vector r d and the force vector f d.
  • the hand control unit 54 issues a command to the hand driving motor 62 of the robot arm 5 to drive the hand driving motor 62 to open and close the hand 30 by the hand opening / closing command input from the control parameter management unit 21. .
  • the force detection unit 53 functions as an example of a force detection unit, and detects an external force applied to the robot arm 5 due to contact between a person or the like and the robot arm 5.
  • the joint angle error compensation output u qe is fetched .
  • J v (q) is
  • v [v x , v y , v z , ⁇ x , ⁇ y , ⁇ z ] T
  • (v x , v y , v z ) represents the robot arm 5 in the hand coordinate system 42.
  • the translation speed of the hand, ( ⁇ x , ⁇ y , ⁇ z ) is the angular velocity of the hand of the robot arm 5 in the hand coordinate system 42.
  • M is the weight of the flexible substrate 74 held by the hand 30 of the robot arm 5
  • g is the gravitational acceleration.
  • the value of the weight m of the flexible board 74 can be input by the person from the data input IF 26 to the force detection unit 53 before the flexible board 74 is gripped by the hand 30. Since m is not a value that is frequently changed, it may be a preset value.
  • the impedance calculation unit 51 is a part that performs the function of realizing the control of the mechanical impedance value of the robot arm 5 to the mechanical impedance set value.
  • the hand position and posture target correction output rd ⁇ is output from the impedance calculator 51.
  • the force hybrid impedance control mode if there is a force component designated as valid by a flag (a flag indicating validity), inertia that is an impedance parameter set by the control parameter management unit 21 Based on M, viscosity D, rigidity K, current value q of the joint angle, external force F ext detected by the force detector 53, and f d output from the target trajectory generator 55, the robot arm 5
  • a hand position and posture target correction output rd ⁇ for realizing control that causes the machine impedance value to approach the machine impedance set value for the robot arm 5 is calculated by the impedance calculation unit 51 using the following equation (4). Output from the impedance calculator 51.
  • Hand position and orientation target correcting output r d? Is added by the position error calculation unit 50 to output to the hand position and orientation target vector r d of the target track generation unit 55, the tip unit position and orientation correction target vector r dm is the position error calculation Generated by the unit 50.
  • the position error calculation unit 50 sets the hand position and posture target correction output rd ⁇ other than the z component to 0. Set with.
  • Position error calculation unit 50 further calculates the tip unit position and orientation correction target vector r dm, error r e between the tip unit position and orientation vectors r calculated by the forward kinematics calculation unit 58 to be described later, the determined error r e is output to the position error compensator 56.
  • the forward kinematics calculator 58 receives a joint angle vector q, which is a current value q of the joint angle measured by the encoder 44 from the encoder 44 of each joint axis of each joint of the robot arm 5 via the input / output IF 24. Entered.
  • the forward kinematics calculator 58 performs a geometric calculation of conversion from the joint angle vector q of the robot arm 5 to the hand position and posture vector r.
  • the hand position and posture vector r calculated by the forward kinematics calculator 58 is output to the position error calculator 50, the impedance calculator 51, and the target trajectory generator 55.
  • Positional error compensating unit 56 based on the error r e obtained by the position error calculation unit 50, and outputs a positional error compensating output u re the approximation reverse kinematical calculation unit 57.
  • the position error compensation output ure is
  • K P is a proportional gain matrix
  • K I is an integral gain matrix
  • K D is the derivative gain matrix
  • r e [x, y, z, ⁇ , ⁇ , ⁇ ] It is a diagonal matrix composed of gains for each component of T.
  • the position error compensation unit 56 sets the proportional gain matrix K P , the integral gain matrix K I , and the differential gain matrix K D to large values set in advance.
  • the high rigidity means that the rigidity is higher than that in the normal position control, and specifically, a large value is set as compared with the normal position control mode. For example, if the value is set to about twice that in the normal position control mode, the rigidity can be increased to about twice.
  • J r (q) is
  • u in is an input to the approximate inverse kinematics calculation unit 57
  • u out is an output from the approximate inverse kinematics calculation unit 57
  • the input u in is the joint angle error q e
  • the joint angle error compensation output u qe is given as a voltage command value to the motor driver 25 of the robot arm 5 via the D / A board of the input / output IF 24, and each joint axis is driven to rotate forward and reverse by each motor 43. 5 operates.
  • the rail control unit 48 drives and controls the motor 65 of the rail movable unit 8b based on the positional information of the rail movable unit 8b input from the target track generation unit 55, and moves the robot arm 5 on the rail fixed unit 8a. Control is performed so as to move together with 8b. Specifically, the rail controller 48 controls forward / reverse rotation driving of the motor 65 of the rail movable portion 8b, and the rail movable portion 8b to which the robot arm 5 is connected can be moved in the left-right direction on the rail fixing portion 8a. It is said.
  • the joint angle data (joint variable vector or joint angle vector q) measured by the encoders 44 of the joints of the robot arm 5 is taken into the control device body 45 (step S51).
  • the inverse kinematics calculation unit 57 calculates the Jacobian matrix Jr and the like necessary for the kinematics calculation of the robot arm 5 (step S52).
  • the forward kinematics calculator 58 calculates the current hand position and posture vector r of the robot arm 5 from the joint angle data (joint angle vector q) from the robot arm 5 (step S53).
  • the target track calculation unit 55 calculates the tip unit position and orientation target vector r d and the force target vector f d of the robot arm 5 (step S54).
  • the force detection unit 53 calculates an equivalent hand external force F ext at the hand of the robot arm 5 from the drive current value i of the motor 43, the joint angle data (joint angle vector q), and the joint angle error compensation output u qe. Calculate (step S55).
  • step S56 the control mode set by the control parameter management unit 21 is set.
  • the process proceeds to step S57.
  • the process proceeds to step S58.
  • step S57 processing in the impedance calculation unit 51
  • the impedance calculation unit 51 sets the hand position and posture target correction output rd ⁇ to 0. Let it be a vector. Thereafter, the process proceeds to step S59.
  • the inertia M, viscosity D, and rigidity of the mechanical impedance parameter set in the control parameter management unit 21 are set.
  • joint angle data joint angle vector q
  • the hand position and posture target correction output rd ⁇ is obtained as an impedance calculation unit 51.
  • step S59 the position in the error calculating unit 50, and the tip unit position and orientation correction target vector r dm is the sum of the tip unit position and orientation target vector r d and the tip unit position and orientation target correcting output r d?
  • the current hand position and orientation vector r error r e difference tip unit position and orientation is a is calculated (step S59, the step S60).
  • a PID compensator can be considered as a specific example of the position error compensator 56. Control is performed so that the position error converges to 0 by appropriately adjusting three gains of proportionality, differentiation, and integration, which are constant diagonal matrices.
  • step S59 high gain position control is realized by increasing the gain to a certain value.
  • step S59 or step S61 subsequent to step S60 in the approximation reverse kinematical calculation unit 57, by multiplying the inverse matrix of the Jacobian matrix J r calculated in step S52 in the approximation reverse kinematical calculation unit 57, the position error compensation output
  • the approximate inverse kinematics calculation unit 57 converts u re into a joint angle error compensation output u qe that is a value related to a joint angle error from a value related to a hand position and posture error.
  • step S61 the joint angle error compensation output u qe is given from the approximate inverse kinematics calculation unit 57 to the motor driver 25 via the input / output IF 24, and the amount of current flowing through each motor 43 is changed to change the robot arm 5. Rotational motions of the respective joint axes are generated (step S62).
  • the above steps S51 to S62 are repeatedly executed as a control calculation loop, thereby controlling the operation of the robot arm 5, that is, controlling the mechanical impedance value of the robot arm 5 to the appropriately set value. Can be realized.
  • the correction operation type determination unit 23 determines a correction type in which the operation correction unit 20 can correct the assembly operation by applying force to the robot arm 5 with the human hand 16. There are the following six types of correction.
  • the first correction type is “movement of the position of the work surface”. Specifically, when the flexible board 74a whose size or rigidity has been changed by the model change is inserted into the insertion port 75 of the device 6 using the operation information that operates as shown in FIG. 19A, the flexible board as shown in FIG. 19B. There is a case where the connector portion of the flexible board 74a cannot be inserted into the insertion port 75a because 74a gets caught in the insertion port 75a. In such a case, as shown in FIG. 19C, while the robot arm 5 is inserting the flexible board 74a into the insertion port 75a of the device 6 in the position control mode, the robot is moved by the human hand 16 as shown in FIG. 19C.
  • the motion correcting unit 20 changes the position in the horizontal direction with respect to the work surface of the robot arm 5 (for example, the insertion surface of the insertion port 75 of the device 6) as shown in FIG. Can move the robot arm 5 parallel to the insertion surface of the insertion port 75 of the device 6.
  • the second type of correction is “force applied” when the flexible board 74 is inserted. This is effective when the force bit is “1” in the operation flag (the flag indicating validity) of the operation currently being performed (the progress information of the operation database 17 is “1”).
  • FIG. 18B when the robot arm 5 is inserted into the insertion port 75b of the flexible board 74b and a force is applied downward from above to the robot arm 5 with a human hand 16 as shown in FIG.
  • the force applied by the correction unit 20 is increased as shown in FIG. 18D, and conversely, if the human arm 16 applies a force upward from below to the robot arm 5, the force applied can be corrected to be weaker. it can.
  • the third type of correction is the “speed” of the hand of the robot arm 5.
  • the human hand 16 moves in a direction opposite to the moving direction of the robot arm 5 as shown in FIG.
  • the motion correction unit 20 can decelerate the speed when the robot arm 5 moves, as shown in FIG. 22C.
  • the movement correcting unit 20 moves the robot arm 5. The speed of time can be accelerated.
  • the fourth type of correction is “change of direction (posture)”.
  • 20A and 20C views of FIG. 20A from the top
  • 20B when the robot arm 5 holding the flexible substrate 74 is inserted in the same manner as the operation with respect to the insertion port 75 of the device 6 in FIG. 20A as shown in FIG.
  • the flexible substrate 74 cannot be inserted into the insertion port 75c by being caught in the insertion port 75c. In this case, as shown in FIG.
  • the orientation of the robot arm 5 (particularly, the hand 30 holding the flexible board 74) is changed by the human hand 16.
  • the robot arm 5 (particularly, the hand 30 or a portion in the vicinity of the hand) so as to change, the robot arm 5 (particularly, the hand 30 holding the flexible board 74 as shown in FIG. ) And the traveling direction of the robot arm 5 (particularly, the hand 30) can be changed in accordance with the insertion port 75a. This can be realized by changing the posture ( ⁇ , ⁇ , ⁇ ) of the hand of the robot arm 5.
  • the fifth type of correction is “area that you do not want to work on”.
  • the robot arm 5 for example, the hand 30
  • the robot arm 5 is gripped, and the robot arm 5 is applied with force along the outline of the region RB where the user does not want to work.
  • the operation correcting unit 20 can set a region RB that the user does not want to work as shown in FIG.
  • the sixth type of correction is “Movement in the vertical direction of the work surface”.
  • FIG. 24A while the flexible substrate 74 is being inserted into the insertion port 75 of the device 6 by the robot arm 5, an upward force is applied to the robot arm 5 by the human hand 16 as shown in FIG. 24B.
  • the operation correction unit 20 can perform the insertion work of the flexible substrate 74 at the convex portion 6a protruding upward, for example, as shown in FIG. 24C.
  • the correction operation type determination unit 23 determines one type of correction among the six types of correction. Specifically, one of the six types of correction is selected by the data input IF 26 such as a button, or is detected by the force detection unit 53 and acquired by the information acquisition unit 100. Information on the relationship between the force applied to the robot arm 5 by the human hand 16, the force applied to the robot arm 5 stored in the motion database 17 and acquired by the information acquisition unit 100, and the type of correction (for example, the direction in which the force is applied) And the relationship information between the magnitude and the correction type), the correction operation type determination unit 23 estimates the type.
  • the robot arm 5 When the power button 26a of the assembly robot 1 is turned “ON” and the robot arm 5 is not gripped by the human hand 16 and no force is applied to the robot arm 5, the robot arm 5 does not move.
  • the robot arm 5 When a force is applied to the robot arm 5 by the human hand 16, the robot arm 5 is moved in the direction in which the robot arm 5 is moved in the impedance control mode (a mode in which the force of the human hand 16 is detected and moved by impedance control). Can be made.
  • the force detection unit 53 of the control unit 22 detects the force acting on the robot arm 5, and the information on the force detected by the force detection unit 53 is determined via the information acquisition unit 100.
  • the data is input to the unit 23 (step S71).
  • step S72 the all components obtained in is detected by the force detection unit 53 and the information acquisition section 100 a force (f x, f y, f z, f ⁇ , f ⁇ , 6 components of f [psi) is Whether or not it is below a certain threshold (specifically, (f dx , f dy , f dz , f d ⁇ , f d ⁇ , f d ⁇ ) of ID “1” in FIG. 17) Judge with.
  • the control mode in that case is an impedance control mode.
  • step S72 the one of component (f x of the acquired detected by the force detection unit 53 and the information acquisition unit 100 force, f y, f z, f ⁇ , f ⁇ , of the six components of the f [psi of any component), the certain threshold value (specifically, (f dx of ID "1" in FIG. 17, f dy, f dz, f d ⁇ , f d ⁇ , f d ⁇ )) to exceed the correction operation If the type determining unit 23 determines, the process proceeds to step S73.
  • step S73 the correction operation type determination unit 23 further determines whether the current assembly robot 1 is operating in the operation database 17 based on the information acquired via the information acquisition unit 100. Specifically, the correction operation type determination unit 23 determines that no operation is selected by the operation selection unit 29 and the progress information is “0” for all the operation IDs in the operation database 17. In the case of determination (a state in which work is not started), the correction operation type determination unit 23 determines that the operation database 17 is not operating, and the process proceeds to step S76. When the assembly operation is selected by the operation selection unit 29 and the assembly is started, and the correction operation type determination unit 23 determines that the progress information is “1”, the operation database 17 The corrective action type determination unit 23 determines that it is operating, and the process proceeds to step S74.
  • step S74 when the robot arm 5 is gripped by the human hand 16 and a force is applied in a direction in which the operation of the robot arm 5 is desired to be corrected, the force applied to the robot arm 5 is detected by the force detection unit 53, and the force is detected. Displacement of the forces (f x , f y , f z , f ⁇ , f ⁇ , f ⁇ ) from the human hand 16 detected by the detection unit 53 and acquired through the information acquisition unit 100 for a certain period of time.
  • the amount is measured by the correction operation type determination unit 23, and the correction operation type determination is made as to which of the displacement amount of the position component (f x , f y , f z ) or the posture component (f ⁇ , f ⁇ , f ⁇ ) is larger. Measurement is performed by the unit 23. Specifically, as shown in FIG. 15, each time series force (f x , f y , f z , f ⁇ , f ⁇ , f ⁇ ) is measured by the correction operation type determination unit 23, and is constant.
  • the correction operation type determination unit 23 measures how much the force is displaced in time (for example, time 1), and the correction operation type determination unit 23 measures the component having the largest displacement. In this example, the displacement of f phi is the largest, the process proceeds as judged by the correction operation type determining unit 23 orientation component is force is applied from the position component to step S79.
  • the correction operation type determination unit 23 determines in step S74 that the displacement amount of the posture is larger than the displacement amount of the position, the correction operation type determination is made that the correction type is “direction (posture) change”. Then, the correction type estimation process is completed (step S79).
  • the control mode at that time is the same control mode (force hybrid impedance control mode) as before the correction type is determined.
  • the correction operation type determination unit 23 determines in step S74 that the displacement amount of the position is equal to or greater than the displacement amount of the posture, the work surface (for example, the insertion surface of the insertion port 75 of the device 6) is further displayed.
  • the force component in the vertical direction for example, when the connector portion of the flexible substrate 75 is inserted into the device 6 installed so that the insertion port 75 of the device 6 is horizontal to the ground (for example, the mounting surface of the device 6
  • f z in the case of a polishing operation for polishing a polishing target surface of the device 6 installed so as to be horizontal on the ground (for example, the mounting surface of the device 6) is a certain threshold value. Whether or not (specifically, f dz of ID “1” in FIG. 17) or more is determined by the correction operation type determination unit 23 (step S75).
  • the correction operation type determination unit 23 determines in step S75 that the force component in the direction perpendicular to the work surface (for example, the insertion surface of the insertion port 75 of the device 6) is smaller than the certain threshold value, the work surface further For example, when the flexible substrate 74 is inserted into the device 6 that is set horizontally on the work table 7 (for example, the insertion surface of the insertion port 75 of the device 6). x, either or both of the f y) is, the certain threshold (specifically, determines f dx of ID in FIG. 17, "1", determines if an f dy) or in the correction operation type determining unit 23 ( Step S80).
  • step S80 the force component in the direction horizontal to the work surface (for example, the insertion surface of the insertion port 75 of the device 6) (the direction along the work surface) is the threshold value (specifically, ID “1” in FIG. 17).
  • the correction operation type determination unit 23 determines that it is less than “f x , f y )”, it determines that there is no correction (no type), and ends the correction type estimation process (step S81). If there is no correction, stop the correction and work.
  • step S80 the correction operation type determination unit 23 determines that the force component in the direction horizontal to the work surface (for example, the insertion surface of the insertion port 75 of the device 6) (the direction along the work surface) is equal to or greater than the certain threshold value. If so, the process proceeds to step S83.
  • step S83 the movement amount of the robot arm 5 in a direction (direction along the work surface) horizontal to the work surface (for example, the insertion surface of the insertion port 75 of the device 6) calculated by the correction operation type determination unit 23 is
  • the correction operation type determination unit 23 determines that the threshold value is more than a certain threshold (specifically, g x , g y of ID “2” in FIG. 17)
  • the “movement of the position of the work surface” is set as the correction type. Is determined by the correction operation type determination unit 23, and the correction type estimation process is terminated (step S84).
  • the control unit 22 controls the control parameter management unit 21.
  • the hand position of the robot arm 5 before the human operation and the hand position during the operation are input to the correction operation type determination unit 23 via the information acquisition unit 100, and the hand position before the operation is subtracted from the hand position during the operation.
  • the value can be calculated by the correction operation type determination unit 23 as a movement amount.
  • the correction operation type determination unit 23 specifically, from the control unit 22 via the control parameter management unit 21 or the information acquisition unit 100 before the human operation.
  • step S83 If the correction operation type determination unit 23 determines in step S83 that the amount of movement in the direction horizontal to the work surface (for example, the insertion surface of the insertion port 75 of the device 6) is less than the certain threshold, As the type, the type of “speed” in the direction horizontal to the work surface (for example, the insertion surface of the insertion port 75 of the device 6) is determined, and the correction type estimation process is terminated (step S85).
  • step S75 if the correction operation type determination unit 23 determines that the force perpendicular to the work surface (for example, the insertion surface of the insertion port 75 of the device 6) is equal to or greater than the certain threshold value, the correction operation is further performed.
  • the amount of movement of the robot arm 5 in the vertical direction of the work surface calculated by the type determining unit 23 is a certain threshold (specifically, ID “2” in FIG. 17).
  • the correction operation type determination unit 23 determines whether or not it is larger than g z ) (step S82).
  • step S82 when the correction operation type determination unit 23 determines that the amount of movement in the vertical direction of the work surface (for example, the insertion surface of the insertion port 75 of the device 6) is larger than the certain threshold, the type of correction is selected. Then, the type of “movement in the vertical direction of the work surface” is determined by the correction operation type determination unit 23, and the correction type estimation process is ended (step S87).
  • step S82 determines in step S82 that the vertical movement amount of the work surface (for example, the insertion surface of the insertion port 75 of the device 6) is equal to or less than the certain threshold value, the correction type As “force correction” (step S86), and the correction type estimation process is terminated.
  • step S73 If it is determined in step S73 that the correction operation type determination unit 23 does not operate in the operation database 17, the process proceeds to step S76.
  • step S76 the robot arm 5 is further applied by the human hand 16. 17 is horizontal to the work surface (for example, the insertion surface of the insertion port 75 of the device 6), and the amount of movement in the horizontal direction for a certain period of time is a certain threshold value (specifically, ID “2” in FIG. 17).
  • the correction operation type determination unit 23 determines whether or not it is greater than or equal to g x , g y ).
  • step S76 the force applied to the robot arm 5 by the human hand 16 is horizontal to the work surface (for example, the insertion surface of the insertion port 75 of the device 6), and the horizontal movement amount for a certain time is
  • the correction operation type determination unit 23 determines that the threshold value is equal to or greater than a certain threshold, it is determined that the correction type is “region not desired to be worked” (step S78), and the correction type estimation process is terminated. To do.
  • step S76 when the force applied to the robot arm 5 with the human hand 16 is not horizontal (for example, vertical) with respect to the work surface (for example, the insertion surface of the insertion port 75 of the device 6), If the correction operation type determination unit 23 determines that the amount of movement in the horizontal direction is less than the certain threshold even when the force is horizontal to the surface (for example, the insertion surface of the insertion port 75 of the device 6), the correction type Is determined as “no correction” (step S77), and the correction type estimation process ends.
  • the correction type can be switched by the correction operation type determination unit 23 without using the data input IF 26 such as a button.
  • the motion correction unit 20 is a function that corrects motion information in the motion database 17 by applying a force to the robot arm 5 with a human hand 16 during motion based on the position, posture, and time of the motion database 17. .
  • the operation correction unit 20 When the power is turned on by a human hand 16 using a data input IF 26 (for example, the power button 26a of the operation panel 26A) disposed on the work table 7 of the assembly robot 1, the operation correction unit 20 operates in the impedance control mode. A command is issued to the control parameter management unit 21.
  • a data input IF 26 for example, the power button 26a of the operation panel 26A
  • the operation selecting unit 29 selects a desired assembly work from the work list in the operation database 17 and gives an instruction to start the assembly operation.
  • the motion correction unit 20 is based on the motion information of the work ID selected from the motion database 17 (specifically, the position of the rail movable unit 8b and the position, posture, and time of the robot arm 5). And the control mode of the robot arm 5 is set.
  • the flag bit is “1” in the flag (the flag indicating validity) for the operation ID “1” in the operation database 17.
  • a hybrid impedance control mode (a mode in which the robot arm 5 operates according to the force applied to the robot arm 5 from a person or the like while operating in the position control mode) for each position and posture of the robot arm 5 ) Is set by the operation correction unit 20, and a command is issued to the control parameter management unit 21.
  • a command is issued from the motion correction unit 20 to the control parameter management unit 21, the robot arm 5 holding the flexible board 75 with the hand 30 moves toward the insertion port 75 as shown in FIG.
  • a command is issued to the control parameter management unit 21 in accordance with the next operation information sequentially from the operation ID “1”.
  • the operation ID “9” issues a command to the control parameter management unit 21 so as to operate in the force hybrid impedance control mode.
  • a hybrid impedance control mode (a mode in which the robot arm 5 is actuated according to the force applied to the robot arm 5 by a person or the like while operating in the position control mode) is set by the motion correction unit 20.
  • the force control mode is set by the operation correction unit 20 for the component in which the bit of the flag (flag indicating validity) is “1”.
  • the component for which neither the hybrid impedance control mode nor the force control mode is set has the impedance control mode set by the operation correction unit 20.
  • the operation ID “9” of the operation ID “3” in FIG. 4 indicates the operation of inserting the flexible board 74 into the insertion port 75, and the flag when the operation ID is “9” is 1. , 2 and 8 bits are “1”, so that the hybrid impedance control mode is set by the operation correction unit 20 for the x-axis component and the y-axis component, and force control is performed for the z-axis component.
  • the mode is set by the motion correction unit 20, and the impedance control mode is set by the motion correction unit 20 for the posture component.
  • the control parameter management unit 21 receives a command from the operation correction unit 20. That is, when a command is issued from the motion correction unit 20 to the control parameter management unit 21 to perform assembly work in the force hybrid impedance control mode or the force hybrid impedance control mode, the robot arm 5 is moved as shown in FIGS. 21A to 21B. After moving toward the insertion port 75, the robot arm 5 starts the operation of inserting the flexible board 74 into the insertion port 75.
  • FIG. 19C the robot arm 5 is directly grasped by a human hand 16, and the work surface (for example, the device 6) is moved in parallel with the work surface (for example, the insertion surface of the insertion port 75 of the device 6). A force is applied to the robot arm 5 in parallel to the insertion surface of the insertion opening 75.
  • the work surface for example, the device 6
  • the work surface for example, the insertion surface of the insertion port 75 of the device 6
  • the correction type estimation shown in the flowchart of FIG. 14 based on the force applied by the human hand 16 to the robot arm 5 and the information stored in the operation database 17 acquired by the information acquisition unit 100 by the correction operation type determination unit 23.
  • the type of correction is estimated and determined by processing.
  • the human hand 16 since the human hand 16 applies a force to the robot arm 5 in a direction horizontal to the work surface (for example, the insertion surface of the insertion port 75 of the device 6), the robot arm 5 is moved by a certain threshold value or more.
  • step S ⁇ b> 84 the correction operation type determination unit 23 determines that the correction type is “movement of the position of the work surface”.
  • the robot arm 5 is moved in the position control mode by the force hybrid impedance control mode for the x-axis component and the y-axis component.
  • the force applied to the robot arm 5 with the human hand 16 is detected by the force detection unit 53, and the robot arm 5 is moved in the x-axis direction in the direction in which the force is applied to the robot arm 5 with the human hand 16.
  • the insertion position of the flexible substrate 75 can be corrected as shown in FIG. 19D.
  • the correction operation type determination unit 23 performs the correction operation type determination unit 23 at the timing when the correction type is determined.
  • the control parameter management unit 21 It can be set so that movement other than the x-axis and the y-axis cannot be performed.
  • the x-axis direction and y of the robot arm 5 are made lower than the rigidity in the other directions so that the robot arm 5 can be easily moved in the x-axis direction and the y-axis direction by the human hand 16, and the rigidity in directions other than the x-axis direction and the y-axis direction can be increased.
  • the robot arm 5 can be made difficult to move in a direction other than the x-axis direction and the y-axis direction by the human hand 16.
  • the force applied to the work surface of the z-axis component (for example, the insertion surface of the insertion port 75 of the device 6) by the correction operation type determination unit 23 is It may be weaker or smaller (specifically, about half) than that before the correction.
  • a command can be issued from the correction operation type determination unit 23 to the control parameter management unit 21 so as to stop the force control.
  • the 6th to 17th bits of the flag of the operation database 17 are set to “0” by the correction operation type determination unit 23.
  • the robot arm 5 is gripped by the human hand 16 and a force is applied in a horizontal direction to the work surface (for example, the insertion surface of the insertion port 75 of the device 6) to move the robot arm 5 by ⁇ x and ⁇ y.
  • the work surface for example, the insertion surface of the insertion port 75 of the device 6
  • the value of ⁇ x and the value of ⁇ y are transmitted to the operation correction unit 20 via the control unit 22 and the control parameter management unit 21.
  • the motion correction unit 20 subtracts ⁇ x from all the x coordinate values of the motion information of the selected work ID, and further subtracts ⁇ y from all the y coordinate values to correct the motion information corrected by the motion correction unit 20.
  • the control parameter management unit 21 instructs the control unit 22 to operate the robot arm 5 with coordinates corrected for ⁇ x and ⁇ y. This corrects the operation as shown in FIG. 19D.
  • the operation information reduced by ⁇ x and ⁇ y is stored in the operation database 17 by the operation storage unit 15.
  • the robot arm 5 is directly gripped by the human hand 16 and the work is performed.
  • a force is applied to the robot arm 5 perpendicular to the work surface (for example, the insertion surface of the insertion port 75 of the device 6) so as to move upward in the vertical direction with respect to the surface (for example, the insertion surface of the insertion port 75 of the device 6).
  • the correction type estimation process shown in the flowchart of FIG. 14 based on the force applied to the robot arm 5 by the human hand 16 and the information in the action database 17 respectively acquired by the information acquisition part 100 by the correction action type determination part 23.
  • the type of correction is estimated and determined.
  • the human hand 16 since the human hand 16 applies a force to the robot arm 5 in the direction perpendicular to the work surface (for example, the insertion surface of the insertion port 75 of the device 6), the robot arm 5 is moved by a certain threshold value or more.
  • the correction operation type determination unit 23 determines that the correction type is “the vertical movement of the work surface”.
  • the force detection unit 53 detects the force of the human hand 16 by the impedance control mode, and the robot arm 5 The robot arm 5 can be moved in the z-axis direction in the direction in which force is applied by the hand 16, and the insertion position can be corrected in the z-axis direction as shown in FIG. 24C.
  • the correction operation type determination unit 23 performs the second bit of FIG. 6 at the timing when the correction type is determined by the correction operation type determination unit 23.
  • the correction operation type determination unit 23 By setting “1” and setting the other bits to “0” and issuing a command from the correction operation type determination unit 23 to the control parameter management unit 21, movement other than in the z-axis direction cannot be performed. Can be set.
  • the rigidity in the z-axis direction is changed to another direction.
  • the rigidity of the robot arm 5 is made easier to move in the z-axis direction with the human hand 16 and the rigidity other than in the z-axis direction is increased, and the robot arm 5 is moved in the direction other than the z-axis direction with the human hand 16. It can be made difficult to move in the direction.
  • the correction operation type determination unit 23 corrects the force applied to the work surface of the z-axis component (for example, the insertion surface of the insertion port 75 of the device 6). It may be weaker or smaller (specifically, about half) than the previous operation. Alternatively, a command can be issued from the correction operation type determination unit 23 to the control parameter management unit 21 so as to stop the force control. Specifically, the 6th to 17th bits of the flag of the operation database 17 are set to “0” by the correction operation type determination unit 23. Thereby, it is possible to prevent the device 6 from being damaged by applying a force to the robot arm 5 while moving the robot arm 5 in the z-axis direction.
  • the robot arm 5 is gripped by the human hand 16, and a force is applied in the direction perpendicular to the work surface (for example, the insertion surface of the insertion port 75 of the device 6) to cause the robot arm 5 to be z-axis by ⁇ z.
  • the value of ⁇ z is transmitted to the operation correction unit 20 via the control unit 22 and the control parameter management unit 21.
  • the motion correction unit 20 transmits motion information corrected by subtracting ⁇ z from all z coordinate values of the motion information of the selected work ID from the motion correction unit 20 to the control parameter management unit 21.
  • the control parameter management unit 21 instructs the control unit 22 to operate the robot arm 5 with the corrected coordinates corresponding to ⁇ z. This corrects the operation as shown in FIG. 24C.
  • the motion information reduced by ⁇ z is stored in the motion database 17 by the motion storage unit 15.
  • the correction type estimation process shown in the flowchart of FIG. 14 based on the force applied to the robot arm 5 by the human hand 16 and the information in the action database 17 respectively acquired by the information acquisition part 100 by the correction action type determination part 23.
  • the type of correction is estimated and determined.
  • step S79 since force is applied to move the robot arm 5 in the direction in which it is desired to be changed by the human hand 16, in step S79, if the type of correction is “change in direction (posture)”, the correction operation is performed.
  • the type is determined by the type determining unit 23.
  • the force applied to the robot arm 5 by the human hand 16 is detected by the force detection unit 53 by the impedance control mode.
  • the insertion direction can be corrected as shown in FIG. 20E by rotating the robot arm 5 in the direction of the ⁇ axis in the direction in which a force is applied to the robot arm 5 with the hand 16.
  • the correction operation type determination unit 23 sets the correction parameter flag in FIG. 6 at the timing when the correction type is determined by the correction operation type determination unit 23.
  • the third bit is set to “1” and the other bits are set to “0”, and a command is issued from the correction operation type determination unit 23 to the control parameter management unit 21. Accordingly, the correction operation type determination unit 23 can set the movement other than the direction of the ⁇ axis so that the movement is not possible.
  • the mechanical impedance set value in the impedance control mode is changed by the correction operation type determination unit 23, and a command is issued from the correction operation type determination unit 23 to the control parameter management unit 21, so that the rigidity in the ⁇ -axis direction is changed to another direction.
  • the rigidity of the robot arm 5 is made easier to move in the ⁇ -axis direction by the human hand 16 and the rigidity other than the ⁇ -axis direction is increased, and the robot arm 5 is moved in the direction other than the ⁇ -axis direction by the human hand 16. It can be made difficult to move.
  • the force applied to the work surface of the z-axis component (for example, the insertion surface of the insertion port 75 of the device 6) by the correction operation type determining unit 23 is the operation before correction. It can be weaker or smaller than the time (specifically, about half).
  • a command can be issued from the correction operation type determination unit 23 to the control parameter management unit 21 so as to stop the force control.
  • the 6th to 17th bits of the flag of the operation database 17 are set to “0” by the correction operation type determination unit 23.
  • the robot arm 5 is gripped by the human hand 16 and a force is applied in the direction perpendicular to the work surface (for example, the insertion surface of the insertion port 75 of the device 6) to cause the robot arm 5 to have a ⁇ axis by ⁇ .
  • the value of ⁇ is transmitted to the operation correction unit 20 via the control unit 22 and the control parameter management unit 21.
  • the motion correction unit 20 transmits the motion information corrected by subtracting ⁇ from all the ⁇ coordinate values of the motion information of the selected work ID from the motion correction unit 20 to the control parameter management unit 21.
  • the control parameter management unit 21 instructs the control unit 22 to operate the robot arm 5 with the corrected coordinates corresponding to ⁇ . This corrects the operation as shown in FIG. 20E.
  • the operation information reduced by ⁇ is stored in the operation database 17 in the operation storage unit 15.
  • the motion correction unit 20 applies a force to the robot arm 5 with the human hand 16 in a state of operating in the hybrid impedance control mode or the force hybrid impedance control mode depending on the position, posture, and time of the motion database 17. By applying, the generated position can be corrected for each direction.
  • the correction type estimation process shown in the flowchart of FIG. 14 based on the force applied to the robot arm 5 by the human hand 16 and the information in the action database 17 respectively acquired by the information acquisition part 100 by the correction action type determination part 23.
  • the type of correction is estimated and determined.
  • the human hand 16 since the human hand 16 applies a force to the robot arm 5 in the direction perpendicular to the work surface (for example, the insertion surface of the insertion port 75 of the device 6), the robot arm 5 is not moved beyond the certain threshold value.
  • the correction operation type determination unit 23 determines that the correction type is “force correction”.
  • the correction operation type determination unit 23 controls the control parameter management unit to operate in the high-rigidity position control mode from the force hybrid impedance control mode.
  • a command is issued to 21.
  • the high-rigidity position control mode the high-rigidity at the time of position control can be set in the high-rigidity position control mode by the correction-operation-type determining unit 23 at the time of command from the correction operation type determining unit 23 to the control parameter management unit 21. Since the operation flag of operation ID “3” and operation ID “9” in the operation database 17 is set to “1” in the 0, 1, and 8 bits, the z-axis direction operates in the force control mode.
  • control parameter management unit 23 controls the control parameters so that only the z-axis direction operates in the high-rigidity position control mode and the other directions operate in the hybrid impedance control mode. A command is issued to the unit 21.
  • the high-rigidity position control mode is a mode in which the position control mode set for each direction in the hybrid impedance control mode during assembly work is further increased in rigidity, and the gain in the position error compensation unit 56 is increased (specifically If the robot arm 5 is applied with a human hand 16 and the robot arm 5 cannot be moved easily, the robot arm 5 cannot be moved easily.
  • the force applied to the robot arm 5 by the human hand 16 can be detected by the force detection unit 53.
  • the force detected by the force detection unit 53 of the control unit 22 is notified to the operation correction unit 20.
  • the motion can be corrected so as to be inserted more strongly (with a stronger force).
  • the robot arm 5 is gripped and the application of force to the robot arm 5 is stopped.
  • all the components of the force are equal to or less than the threshold values in step S72 of FIG. 14, so that the correction operation type determination unit 23 sets “correction” as the correction type. "None" is determined (step S88 in FIG.
  • the motion correction unit 20 receives the information of “no correction” and issues a command from the correction operation type determination unit 23 to the control parameter management unit 21 so as to control from the highly rigid position control mode to the hybrid impedance control mode. As a result, work is performed on the corrected operation database 17.
  • the motion correction unit 20 is inserted with the corrected force when the human hand 16 applies a force while operating in the hybrid impedance control mode based on the force information of the motion database 17. It becomes possible to correct.
  • the correction type estimation process shown in the flowchart of FIG. 14 based on the force applied to the robot arm 5 by the human hand 16 and the information in the action database 17 respectively acquired by the correction action type determination part 23 by the information acquisition part 100.
  • the type of correction is estimated and determined.
  • the human hand 16 since the human hand 16 applies a force to the robot arm 5 in a direction horizontal to the work surface (for example, the insertion surface of the insertion port 75 of the device 6), the robot arm 5 is not moved more than the certain threshold value.
  • the correction operation type determination unit 23 determines that the type of correction is the “speed” type in the direction parallel to the work surface (for example, the insertion surface of the insertion port 75 of the device 6).
  • the robot arm 5 While the robot arm 5 is moved in the position control mode by the hybrid impedance control mode, the force applied to the robot arm 5 by the human hand 16 is detected by the force detection unit 53 by the impedance control mode, and the robot is moved by the human hand 16.
  • the robot arm 5 is moved in the x-axis direction and the y-axis direction in the direction in which a force is applied to the arm 5. From the position of the robot arm 5 shown in the operation database 17, for example, work ID operation ID as (x 1, y 2, z 1), the position of the robot arm 5 of the next operation ID (x 2, y 2, z when the time to move to 2) and t 1, the case of changing the speed of the robot arm 5 by the force of the human hand 16 (see FIG.
  • the value of time t 2 is controlled by the control unit 22 and control parameter management.
  • the data is transmitted to the operation correction unit 20 via the unit 21.
  • the motion correction unit 20 changes the motion information of the selected work ID from the time t 1 to the time t 2 and transmits the motion information from the motion correction unit 20 to the control parameter management unit 21.
  • the control parameter managing unit 21 instructs the control parameter managing unit 21 to operate in t 2 is corrected time to the control unit 22. This corrects the operation as shown in FIG. 22C.
  • the time t 2 is stored in the operation database 17 by the operation storage unit 15.
  • the motion correction unit 20 applies the force to the robot arm 5 with the human hand 16 while operating in the force hybrid impedance control mode based on the information on the position, posture, and time of the motion database 17.
  • the operation speed of the robot arm 5 can be corrected.
  • the operation correction unit 20 When the power is turned on by a human hand 16 using a data input IF 26 (for example, the power button 26a of the operation panel 26A) arranged on the upper part of the assembly robot 1, the operation correction unit 20 is controlled so as to operate in the impedance control mode. A command is issued to the parameter management unit 21.
  • the hand 16 of the person 16A In a state where the operation is not selected by the motion selection unit 29, as shown in FIG. 23, the hand 16 of the person 16A directly grips the robot arm 5 (for example, the hand 30) and the work surface (for example, the device 6).
  • the robot arm 5 is moved so as to move in a direction parallel to the upper surface of the work table 7 on which the robot is placed, and the robot arm 5 (e.g. The hand 30) is moved.
  • 25A is a view of the work surface (for example, the upper surface of the work table 7 on which the device 6 is placed) as viewed from above. If a region RB that is not desired to be operated is a hatched region, a human hand 16 Moves the robot arm 5 and moves the robot arm 5 (for example, the hand 30) along the outline of the region RB that the user does not want to work as indicated by an arrow. At that time, a mark 63 is given to the center tip of the upper surface of the hand (hand 30) of the robot arm 5 (see FIG. 25A and FIG. 25B), and the mark 63 is moved in a direction not desired to be worked.
  • a region RB that is not desired to be operated is a hatched region
  • a human hand 16 Moves the robot arm 5 and moves the robot arm 5 (for example, the hand 30) along the outline of the region RB that the user does not want to work as indicated by an arrow.
  • a mark 63 is given to the center tip of the upper surface of
  • the correction operation type determination unit 23 executes the correction type estimation process shown in FIG. 14 to determine that the operation is not performed in the operation database 17 (steps S72, S73, S76).
  • the force applied to 5 is horizontal to the work surface (for example, the upper surface of the work table 7 on which the device 6 is placed) and the amount of horizontal movement for a certain period of time is equal to or greater than the certain threshold value.
  • step S78 it is determined that the type of correction is “region not desired to be worked on”.
  • the force applied to the robot arm 5 with the human hand 16 is detected by the force detection unit 53, and the robot arm 5 is moved in the x-axis direction and in the direction in which the force is applied to the robot arm 5 with the human hand 16.
  • the position (x 1 , y 1 ), the position (x 2 , y 2 ), the position (x 3 , y 3 ), the position (x 4 , y 4 ) are moved in the y-axis direction.
  • the robot arm 5 (for example, the hand 30) is moved in order.
  • the position information is transmitted to the operation correction unit 20 via the control unit 22 and the control parameter management unit 21.
  • the motion correction unit 20 stores these pieces of position information as information on the work impossible region RB in the work unavailable region database 28 by the operation storage unit 15.
  • the fact that these four positions are information on the apex of the work impossible area RB means that, for example, the hand position of the robot arm 5 moved by a person at a certain interval is acquired and the coordinates of the acquired hand position are connected.
  • An area can be generated and used as an unworkable area RB.
  • a function to determine the shape of the area is added. For example, if “rectangular” is set, if the direction of movement changes at an angle close to 90 degrees, the position is the vertex information. If it is set as "Random", the hand position of the robot arm 5 moved by a person at a certain interval is obtained, and the coordinates of the obtained hand position are generated and cannot be operated.
  • the region RB can be set.
  • the correction parameter shown in FIG. 6 is displayed at the timing when the correction type is determined by the correction operation type determination unit 23.
  • the robot arm 5 is set by setting the 0th and 1st bits of the flag to “1” and setting the other bits to “0” and issuing a command from the correction operation type determination unit 23 to the control parameter management unit 21.
  • the rigidity in the x-axis direction and the y-axis direction can be reduced,
  • the hand 16 makes it easy to move the robot arm 5 in the x-axis direction and the y-axis direction, and increases the rigidity in the axial direction other than the x-axis direction and the y-axis direction. It can be made difficult to move in an axial direction other than the y-axis direction.
  • the motion correction unit 20 can set an area that the user's hand 16 does not want to work by applying force.
  • the display unit 14 displays the screen of the display unit 14 divided into left and right two screens 14a and 14b, and the assembly of the robot arm 5 described in the operation database 17 on the left screen 14a.
  • the action is displayed as video, photo or text.
  • the correction type information estimated by the correction operation type determination unit 23 is displayed on the screen 14b on the right side as video, photos, or text.
  • the right-side screen 14b displays the image for correcting the force and the strength of the current force.
  • the power of the assembly robot 1 is turned on by the data input IF 26 with the human hand 16 (step S121).
  • the operation correction unit 20 issues a command to the control parameter management unit 21 to control in the impedance control mode (step S122).
  • step S130 determines whether or not the work impossible area RB is to be corrected. If the correction operation type determination unit 23 determines that the work impossible area RB is corrected, the operation correction unit 20 performs correction (step S133), and the correction information is stored in the operation database 17 by the operation storage unit 15. Store (step S134). Thereafter, the process proceeds to step S123.
  • Step S123 the operation selecting unit 29 allows the person to select one operation from the list of assembly operations displayed on the display unit 14 via the data input IF 26, and the current information selected in the progress information of the operation database 17 is selected. Is set (step S123).
  • the motion correction unit 20 instructs the control parameter management unit 21 to operate in the force hybrid impedance control mode, and the human arm 16 moves the robot arm 5 to a work surface such as the device 6 (for example, the insertion port of the device 6).
  • the data input IF 26 for example, the start button of the switch 26c
  • an operation start command is issued (step S124).
  • the correction operation type determination unit 23 estimates and determines the type of the correction operation (step S125).
  • step S125 when the correction operation type determination unit 23 determines that the correction type is a correction type of force applied to the work surface (for example, the insertion surface of the insertion port 75 of the device 6), the work surface A command is issued from the operation correction unit 20 to the control parameter management unit 21 so as to operate in a highly rigid position control mode in a direction perpendicular to (for example, the insertion surface of the insertion port 75 of the device 6) (steps S126 and S127). ).
  • the correction operation type determination unit 23 determines that the correction type is a correction type of force applied to the work surface (for example, the insertion surface of the insertion port 75 of the device 6)
  • the work surface A command is issued from the operation correction unit 20 to the control parameter management unit 21 so as to operate in a highly rigid position control mode in a direction perpendicular to (for example, the insertion surface of the insertion port 75 of the device 6) (steps S126 and S127).
  • the motion correction unit 20 corrects the motion information by holding the robot arm 5 with the human hand 16 and applying a force to the robot arm 5 with the human hand 16 in the direction to be corrected (step S128).
  • the control mode is the force impedance control mode.
  • the motion correction unit 20 corrects the motion information by applying a force to the robot arm 5 with the human hand 16 in the direction to be corrected without changing the motion information (steps S126 and S128).
  • step S128 the motion information corrected in step S128 is stored in the motion database 17 by the motion storage unit 15, and the series of assembly work and assembly motion setting processing ends (step S129).
  • step S125 if the correction operation type determination unit 23 determines that the correction type is “no correction” in step S125, the series of assembly work and assembly operation setting processing ends (steps S126 and S131).
  • the assembly robot 1 After completion of the assembly work and assembly operation setting process, the assembly robot 1 performs the assembly work based on the set assembly work and assembly operation.
  • step S121 to S122, step S130, step S123 and step S124, and steps S133 to S134 the hybrid impedance control mode or the high-rigidity position control is performed during the operation in the hybrid impedance control mode or the force hybrid impedance control.
  • the assembly operation by the robot arm 5 is realized by correcting the assembly operation.
  • the correction operation type determination unit 23 can automatically switch and correct a plurality of operations by simply applying force to the robot arm 5 with a human hand 16 without using a button or the like.
  • the machine impedance value of the robot arm 5 is appropriately set according to the type of the correction operation, so that the machine arm according to the correction direction of the robot arm 5. Since the impedance value can be changed and controlled, or the force being corrected can be weakened or stopped, the device 6 can be prevented from being damaged during the correction of the operation.
  • the motion correction unit 20 includes the force applied to the robot arm 5 by the human hand 16 and the information in the motion database 17 respectively acquired by the information acquisition unit 100 by the correction operation type determination unit 23. Then, after the correction type is estimated, the operation is corrected immediately. However, the human arm 16 erroneously applies force to the robot arm 5 to select a correction type that is not intended by the person. In order to prevent this, the correction may be started after a certain period of time after the estimation by the correction operation type determination unit 23. In this case, until the correction is started, the person can operate as many times as necessary until the intended correction type is selected.
  • the operation selection unit 29, the operation storage unit 15, the operation correction unit 20, the correction operation type determination unit 23, the control parameter management unit 21, the control unit 22, etc., or any of them can themselves be configured in software. Therefore, for example, as a computer program having steps constituting the control operation of the first embodiment of the present specification or an embodiment to be described later, it is readable and stored in a recording medium such as a storage device (hard disk or the like), and the computer Each step described above can be executed by reading the program into a temporary storage device (semiconductor memory or the like) of the computer and executing it using the CPU.
  • a temporary storage device semiconductor memory or the like
  • the basic configuration of the robot arm control device of the assembly robot 1 including the robot arm control device is the same as that of the first embodiment. Omitted and only different parts will be described in detail below.
  • the structure of the assembly robot 1 is shown in FIG.
  • a target force detection unit 78 functioning as an example of a target force detection means (shown in FIG. 27).
  • the object force detection mechanism 76 and the object force information output unit 77 are separated from the original position of the hand 30 for easy understanding.
  • the robot arm 5 other than the object force information output unit 77 shown by a virtual line is the same as that in the first embodiment, and the description thereof will be omitted.
  • the object force detection mechanism 76 is composed of, for example, a six-axis force sensor mechanism, and is arranged near the hand 30 of the robot arm 5.
  • the object force detection mechanism 76 is operated while the robot arm 5 inserts the flexible board 74 into the insertion slot 75 as shown in FIG. 28A or the person grips the robot arm 5 with the hand 16 as shown in FIG. 28B. Then, when a person is teaching the robot arm 5 so that the flexible board 74 is inserted into the insertion port 75 by the robot arm 5, as shown in FIG. It is.
  • the object force information output unit 77 outputs the six-axis force values detected by the object force detection mechanism 76 to the operation correction unit 20, the correction operation type determination unit 23, and the information acquisition unit 100, respectively.
  • the information acquisition unit 100 includes information on the operation of the robot arm 5 including the position of the robot arm 5 in the assembly work, information on the human force acting on the robot arm 5 detected by the force detection unit 53, and an object force detection unit. Information relating to the force applied to the flexible substrate 74 (detected by the object force detection mechanism 76 and output from the object force information output unit 77) detected at 78 can be acquired.
  • the information acquired by the information acquisition unit 100 is input to the correction operation type determination unit 23, and the correction operation for correcting the operation of the robot arm 5 from the information about the operation acquired by the information acquisition unit 100 and the information about the human power. Can be determined by the correction operation type determination unit 23.
  • the force detection unit 53 detects both the force applied by a person and the force acting on the flexible substrate 74 that is an example of the object.
  • the flexible that is an example of the object.
  • the force acting on the substrate 74 is detected by the object force detection mechanism 76, and the force applied by the person is detected by the force detection unit 53.
  • FIG. 29 shows an example of the operation database 17. All items are the same as in the first embodiment.
  • FIG. 31 is a graph showing the force applied to the flexible substrate 74 in time series.
  • Work ID [4] represents an insertion work for inserting the flexible substrate 74 into the insertion port 75 by the robot arm 5.
  • FIG. 30A to FIG. 30F (FIGS. 30G to 30N are enlarged views of the vicinity of the insertion slot 75).
  • the operation ID “1” to the operation ID “7” of the work ID “4” indicate that the robot arm 5 holding the flexible board 74 with the hand 30 moves toward the insertion slot 75 as shown in FIG. 30A.
  • the value of the force applied to the flexible substrate 74 detected by the object force detection mechanism 76 is the state of “31a” in FIG. 31).
  • FIGS. 30B and 30G are an enlarged views of the insertion portion of the insertion port 75.
  • FIG. 30H is an enlarged view of the insertion portion of the insertion port 75.
  • the robot arm 5 moves until the tip 74h of the connector part 74g of the flexible board 74 comes into contact.
  • the connector part 74g of the flexible board 74 represents a state in which the connector part 74g of the flexible board 74 is not pierced into the insertion slot 75 (a state in which the tip part of the connector part 74g of the flexible board 74 does not enter the insertion slot 75 even a little).
  • the value of the force applied to the flexible substrate 74 detected in 76 is the state of “31c” in FIG.
  • FIG. 31 shows an operation in a state where the distal end portion 75h of the insertion port 75 and the distal end portion 74h of the flexible substrate 74 are in contact (the value of the force applied to the flexible substrate 74 detected by the object force detection mechanism 76 is shown in FIG. "31d" state).
  • FIGS. 30E, 30J, and 30M are enlarged views of the insertion portion of the insertion port 75, respectively.
  • the tip portion 74h of the flexible substrate 74 is pierced into the recess 75i of the insertion port 75, and the operation during the insertion so that the tip portion 74h is further inserted into the recess 75i is shown (target force detection mechanism 76).
  • target force detection mechanism 76 The value of the force applied to the flexible substrate 74 detected in step 3 is in the state “31e” in FIG.
  • FIGS. 37F, 30K, and 30N are enlarged views of the insertion portion of the insertion port 75, respectively.
  • 2 represents a state in which the insertion of the flexible board 74 into the insertion port 75 is completed (a state in which the distal end portion 74h is completely inserted into the recess 75i) (force applied to the flexible board 74 detected by the object force detection mechanism 76). Is the state of “31f” in FIG. 31).
  • the correction operation type determination unit 23 is a correction type that allows the operation correction unit 20 to correct an operation by applying a force to the robot arm 5 with a hand 16 of the person. To decide.
  • the first correction type is “position / posture correction”. Specifically, when the position or orientation of the insertion slot 75 in FIG. 33A is changed to the insertion slot 75j in FIG. 38B due to the model change of the device 6, the flexible board 74 is inserted into the insertion slot as shown in FIG. I can't insert it because it catches on 75j. In this case, as shown in FIG. 33B, the robot arm 5 applies a force to change the position or orientation of the robot arm 5 with the human hand 16 during the insertion operation of the flexible board 74 into the insertion port 75j. Then, the movement correction unit 20 can change the position and posture of the robot arm 5 as shown in FIG. 33C and change the traveling direction of the robot arm 5 according to the insertion port 75j. This can be realized by changing the posture (x, y, z, ⁇ , ⁇ , ⁇ ) of the hand of the robot arm 5.
  • the second correction type is the “speed” of the hand of the robot arm 5. Similar to the first embodiment, while the robot arm 5 holding the flexible substrate 74 is moving toward the insertion port 75 of the device 6 as shown in FIG. 22A, the robot arm 5 is moved in the advancing direction as shown in FIG. 22B. When force is applied to the robot arm 5 with the human hand 16 in the opposite direction, the motion correction unit 20 can reduce the speed when the robot arm 5 is moved, as shown in FIG. 22C. On the other hand, when the human hand 16 applies a force to the robot arm 5 with the human hand 16 in the moving direction of the robot arm 5 while the robot arm 5 is moving, the movement correcting unit 20 moves the robot arm 5. The speed of time can be accelerated.
  • the third type of correction is “force applied” when the flexible board 74 is inserted. This is effective when the force bit is “1” in the operation flag (the flag indicating validity) of the operation currently being performed (the progress information of the operation database 17 is “1”).
  • the human arm 16 faces the robot arm 5 downward from above as shown in FIG. 18C.
  • the force is applied to the robot arm 5 by the motion correction unit 20 as shown in FIG. Can be corrected weakly.
  • the fourth type of correction is “area that you do not want to work on”.
  • the robot arm 5 for example, the hand 30
  • the robot is moved along the outline of the region RB where the user does not want to work.
  • the operation correction unit 20 can set a region RB that the user does not want to work as shown in FIG.
  • the correction operation type determination unit 23 determines one type of correction among the four types of correction. Specifically, one of the four types of correction is selected by the data input IF 26 such as a button, or is detected by the force detection unit 53 and acquired by the information acquisition unit 100. Information on the relationship between the force applied to the robot arm 5 by the human hand 16 and the type of correction (for example, information on the relationship between the direction in which the force is applied, the magnitude and the type of correction), and the target force detected by the target force detection mechanism 76 The type is estimated by the correction operation type determination unit 23 based on the force applied to the object such as the flexible substrate 74 acquired by the information acquisition unit 100 via the information output unit 77.
  • the robot arm 5 When the power button 26a of the assembly robot 1 is turned “ON” and the robot arm 5 is not gripped by the human hand 16 and no force is applied to the robot arm 5, the robot arm 5 does not move.
  • the robot arm 5 When a force is applied to the robot arm 5 by the human hand 16, the robot arm 5 is moved in the direction in which the robot arm 5 is moved in the impedance control mode (a mode in which the force of the human hand 16 is detected and moved by impedance control). Can be made.
  • the force detection unit 53 of the control unit 22 detects the force acting on the robot arm 5, and the information on the force detected by the force detection unit 53 is determined via the information acquisition unit 100. Input to the unit 23 (step S1).
  • step S2 all the components of the acquired in detected by the force detection unit 53 and the information acquisition section 100 a force (f x, f y, f z, f ⁇ , f ⁇ , 6 components of f [psi) is Then, the correction operation type determination unit 23 determines whether or not it is below a certain threshold value.
  • the specific threshold value is stored in advance as shown in FIG. 17 according to the rigidity of the flexible substrate 74.
  • the ID (flexible substrate ID) of the flexible substrate 74 is “1”
  • the control mode in that case is an impedance control mode.
  • step S2 one of the components (f x of the acquired detected by the force detection unit 53 and the information acquisition unit 100 force, f y, f z, f ⁇ , f ⁇ , of the six components of the f [psi Is a certain threshold value (specifically, when the flexible substrate ID is “1”), (f dx1 , f dy1 , f dz1 , f d ⁇ 1 of ID “1” in FIG. 17, f d? 1, if it is determined in the correction operation type determining unit 23 exceeds f d ⁇ 1)), the process proceeds to step S4.
  • step S4 the correction operation type determination unit 23 further determines whether the current assembly robot 1 is operating in the operation database 17 based on the information acquired via the information acquisition unit 100. Specifically, the correction operation type determination unit 23 determines that no operation is selected by the operation selection unit 29 and the progress information is “0” for all the operation IDs in the operation database 17. In the case of determination (a state in which work is not started), the correction operation type determination unit 23 determines that the operation database 17 is not operating, and the process proceeds to step S6. If the correction operation type determination unit 23 determines that the assembly operation is selected and started by the operation selection unit 29 and the progress information is “1”, the operation database 17 operates. If so, the correction operation type determination unit 23 determines and proceeds to step S5.
  • step S ⁇ b> 5 the force applied to the flexible substrate 74 as an example of the object is detected by the object force detection unit 76, and information on the force applied to the object detected by the object force detection unit 76 is transmitted to the information acquisition unit 100. Is input to the correction operation type determination unit 23.
  • step S9 the force (ft x , ft y , ft z , ft ⁇ , ft ⁇ , ft ⁇ ) applied to the flexible substrate 74 detected by the object force detection unit 76 is continuously for a certain time (for example, 1 sec).
  • a certain “threshold 1” specifically, when the flexible board ID is “1”, the ID “3” (ft dox1 , ft doy1 , ft doz1 , ft do ⁇ 1 , ft do ⁇ 1 , ft do ⁇ 1 ) of FIG. 17) ,
  • the correction operation type determination unit 23 determines whether or not it is equal to or greater than “threshold 1” in FIG.
  • the correction operation type determination unit When the determination is made at 23 (corresponding to (31a) when it is less than “threshold 1” in FIG. 31), the process proceeds to step S11 (however, it is equal to or more than the force determined at step S2).
  • step S9 When the force (ft x , ft y , ft z , ft ⁇ , ft ⁇ , ft ⁇ ) applied to the object detected by the object force detection unit 76 in step S9 is equal to or greater than the certain “threshold value 1” ( In the case (corresponding to (31c) in FIG. 31), the process proceeds to step S10. In step S9, whether or not it is equal to or greater than a certain threshold (“threshold 1”) continuously for a certain time (for example, 1 sec) is determined as noise in that case even if the force is detected for a moment or more. .
  • a certain threshold for example, 1 sec
  • the movement amount of the robot arm 5 calculated by the correction operation type determination unit 23 is a certain threshold value (specifically, when the flexible substrate ID is “1”, When the correction operation type determination unit 23 determines that it is equal to or greater than g x1 , g y1 , g z1 , g ⁇ 1 , g ⁇ 1 , g ⁇ 1 ) of ID “2” in FIG.
  • the correction operation type determination unit 23 determines the type of “correction” and ends the correction type estimation process (step S14).
  • the movement amount of the robot arm 5 is calculated by the correction operation type determination unit 23, specifically, the robot arm 5 before a human operation is transmitted from the control unit 22 via the control parameter management unit 21 or the information acquisition unit 100.
  • the hand position and the hand position being operated are input to the correction operation type determination unit 23, and the correction operation type determination unit 23 calculates a value obtained by subtracting the hand position before the operation from the hand position being operated as a movement amount. it can.
  • step S11 when the correction operation type determination unit 23 determines that the movement amount of the robot arm 5 is less than the certain threshold, the type of “speed” is determined as the correction type, and the correction type estimation is performed. The process ends (step S15).
  • step S 10 the force applied to the flexible substrate 74 is detected by the object force detection unit 76, detected by the object force detection unit 76, and acquired by the information acquisition unit 100 via the object force information output unit 77.
  • the force applied to the object (ft x , ft y , ft z , ft ⁇ , ft ⁇ , ft ⁇ ) continues for a certain period of time (for example, 1 sec), for a certain “threshold 2” (specifically, flexible board ID When “1” is “1”, it is equal to or greater than the ID “4” (ft dox21 , ft doy 21 , ft doz 21 , ft do ⁇ 21 , ft do ⁇ 21 , ft do ⁇ 21 ) of FIG.
  • step S16 Is determined by the correction operation type determination unit 23. If the force (ft x , ft y , ft z , ft ⁇ , ft ⁇ , ft ⁇ ) applied to the target detected by the target force detection unit 76 is less than the certain “threshold 2”, the correction operation type determination unit If it is determined in step 23 (a case corresponding to (31c) in the case of less than the threshold 2 in FIG. 31), the process proceeds to step S16.
  • step S10 whether or not it is equal to or longer than a certain threshold (“threshold 2”) continuously for a certain time (for example, 1 sec) is determined as noise even if the force is detected for a moment or more.
  • a certain threshold for example, 1 sec
  • step S16 when the movement amount of the position of the hand of the robot arm 5 calculated by the correction operation type determination unit 23 is a certain threshold value (specifically, when the flexible board ID is “1”, the ID of FIG. 17).
  • the correction operation type determination unit 23 determines that “2” is greater than or equal to g x1 , g y1 , g z1 , g ⁇ 1 , g ⁇ 1 , g ⁇ 1 )
  • the correction type “position / posture correction” The type is determined by the correction operation type determination unit 23, and the correction type estimation process is terminated (step S18).
  • step S16 If the correction operation type determination unit 23 determines in step S16 that the movement amount of the robot arm 5 is less than the certain threshold, the correction type is determined by determining the type of “force correction” as the correction type.
  • the type estimation process ends (step S17).
  • step S4 If it is determined in step S4 that the operation type determination unit 23 does not operate in the operation database 17, the process proceeds to step S6.
  • step S6 the movement amount of the robot arm 5 for a certain period of time is determined. Then, the correction operation type determination unit 23 determines whether or not the threshold value is greater than a certain threshold value.
  • step S6 when the correction operation type determination unit 23 determines that the amount of movement of the robot arm 5 for a certain period of time is equal to or greater than the certain threshold value, the correction type “region not desired to be worked” is selected. The type is determined (step S8), and the correction type estimation process is terminated.
  • step S6 when the correction operation type determination unit 23 determines that the movement amount of the robot arm 5 for a certain period of time is less than the certain threshold, the correction type is determined as “no correction”, and correction type estimation processing is performed. Is finished (step S7).
  • the correction type can be switched by the correction operation type determination unit 23 without using the data input IF 26 such as a button.
  • the motion correction unit 20 applies the force to the robot arm 5 with the human hand 16 during the motion based on the position, posture, and time of the motion database 17, and thus the motion of the motion database 17. This function corrects information.
  • the operation correction unit 20 When the power is turned on by a human hand 16 using a data input IF 26 (for example, the power button 26a of the operation panel 26A) disposed on the work table 7 of the assembly robot 1, the operation correction unit 20 operates in the impedance control mode. A command is issued to the control parameter management unit 21.
  • a data input IF 26 for example, the power button 26a of the operation panel 26A
  • the operation selecting unit 29 selects a desired assembly work from the work list in the operation database 17 and gives an instruction to start the assembly operation.
  • the motion correction unit 20 is based on the motion information of the work ID selected from the motion database 17 (specifically, the position of the rail movable unit 8b and the position, posture, and time of the robot arm 5). And the control mode of the robot arm 5 is set.
  • the flag bit is “1” in the flag (the flag indicating validity) for the operation ID “1” in the operation database 17.
  • a hybrid impedance control mode (a mode in which the robot arm 5 operates according to the force applied to the robot arm 5 from a person or the like while operating in the position control mode) for each position and posture of the robot arm 5 ) Is set by the operation correction unit 20, and a command is issued to the control parameter management unit 21.
  • a command is issued from the motion correction unit 20 to the control parameter management unit 21, the robot arm 5 holding the flexible substrate 75 with the hand 30 moves toward the insertion port 75 as shown in FIG.
  • a command is issued to the control parameter management unit 21 in accordance with the next operation information sequentially from the operation ID “1”.
  • the operation IDs “9” to “12” issue a command to the control parameter management unit 21 to operate in the force hybrid impedance control mode.
  • a hybrid impedance control mode (a mode in which the robot arm 5 is actuated according to the force applied to the robot arm 5 by a person or the like while operating in the position control mode) is set by the motion correction unit 20.
  • the force control mode is set by the operation correction unit 20 for the component in which the bit of the flag (flag indicating validity) is “1”.
  • the component for which neither the hybrid impedance control mode nor the force control mode is set has the impedance control mode set by the operation correction unit 20.
  • the distal end portion of the insertion port 75 It shows an operation that moves toward 75 h until the tip 74 h of the flexible substrate 74 comes into contact, and the flag when the operation ID is “9” is the 0th, 1st, 3rd, 4th, 5th, and 8th bits. Since only “1” is set, the hybrid impedance control mode is set by the motion correction unit 20 for the x-axis, y-axis, and posture component, and the force control mode is set by the motion correction unit for the z-axis component. 20 is set.
  • the robot arm 5 is directly gripped by the human hand 16 to insert the work surface (for example, the insertion of the device 6). A force is applied to the robot arm 5 so as to move relative to the insertion surface of the mouth 75).
  • the type of correction is estimated and determined by processing.
  • the robot arm 5 is applied with the human hand 16 to the robot arm 5. 5 is moved by a certain threshold value or more, the correction operation type determination unit 23 determines that the correction type is “position / posture correction” in step S14.
  • the impedance is obtained while moving the robot arm 5 in the position control mode by the hybrid impedance control mode for all components of the position and orientation.
  • the force applied to the robot arm 5 by the human hand 16 in the control mode is detected by the force detection unit 53 and acquired by the information acquisition unit 100, and the robot is moved in the direction in which the force is applied to the robot arm 5 by the human hand 16.
  • the arm 5 can be moved to correct the position and orientation as shown in FIG. 33C.
  • the motion information corrected by subtracting ( ⁇ x, ⁇ y, ⁇ z, ⁇ , ⁇ , ⁇ ) from all the position and posture components of the motion information of the selected work ID is read from the motion correction unit 20. It transmits to the control parameter management unit 21.
  • the control parameter management unit 21 instructs the control unit 22 to operate the robot arm 5 with coordinates corrected by ( ⁇ x, ⁇ y, ⁇ z, ⁇ , ⁇ , ⁇ ). This corrects the operation as shown in FIG. 33B.
  • the motion information reduced by ( ⁇ x, ⁇ y, ⁇ z, ⁇ , ⁇ , ⁇ ) is stored in the motion database 17 by the motion storage unit 15.
  • the motion correction unit 20 applies a force to the robot arm 5 with the human hand 16 in a state of operating in the hybrid impedance control mode or the force hybrid impedance control mode depending on the position, posture, and time of the motion database 17. By applying, the generated position can be corrected for each direction.
  • FIG. 34D is an enlarged view of the insertion portion of the insertion slot 75 in FIG. 34A
  • the robot arm 5 is directly gripped by a human hand 16 and a force is applied to the robot arm 5 so as to move relative to the work surface (for example, the insertion surface of the insertion port 75 of the device 6).
  • the correction type shown in the flowchart of FIG. 32 based on the force applied to the robot arm 5 by the human hand 16 and the information stored in the action database 17 respectively acquired by the correction action type determination part 23 by the information acquisition part 100.
  • the type of correction is estimated and determined.
  • the robot arm 5 is moved over the robot arm 5 by the human hand 16 over the certain threshold value.
  • the correction operation type determination unit 23 determines that the correction type is “position / posture correction”.
  • the robot arm 5 is moved in the position control mode by the hybrid impedance control mode except for the z-axis component of the position and orientation.
  • the force applied to the robot arm 5 by the human hand 16 in the impedance control mode is detected by the force detection unit 53, and the robot arm 5 is moved in the direction in which the human arm 16 applies the force to the robot arm 5.
  • the position / posture can be corrected as shown in FIG. 34C.
  • the robot arm 5 is directly gripped by the human hand 16 and accelerated.
  • the human arm 16 applies a force to the robot arm 5 in a direction opposite to the traveling direction of the robot arm 5.
  • the speed of the hand position of the robot arm 5 may be changed, but a force is applied to the robot arm 5 with a human hand 16 so that the position does not move beyond a certain threshold.
  • the flowchart shown in FIG. 32 shows the force applied to the robot arm 5 by the human hand 16, the information in the motion database 17, and the force applied to the object, which are respectively acquired by the information acquisition unit 100 by the correction operation type determination unit 23.
  • the correction type is estimated and determined by the correction type estimation process shown.
  • the correction operation is performed according to step S15 in FIG.
  • the type is determined by the type determining unit 23.
  • the robot arm 5 While the robot arm 5 is moved in the position control mode by the hybrid impedance control mode, the force applied to the robot arm 5 by the human hand 16 is detected by the force detection unit 53 by the impedance control mode, and the robot is moved by the human hand 16.
  • the robot arm 5 is moved in the direction in which force is applied to the arm 5. From the position of the robot arm 5 shown in the operation database 17, for example, work ID operation ID as (x 1, y 2, z 1), the position of the robot arm 5 of the next operation ID (x 2, y 2, z when the time to move to 2) and t 1, the case of changing the speed of the robot arm 5 by the force of the human hand 16 (see FIG.
  • the value of time t 2 is controlled by the control unit 22 and control parameter management.
  • the data is transmitted to the operation correction unit 20 via the unit 21.
  • the motion correction unit 20 changes the motion information of the selected work ID from the time t 1 to the time t 2 and transmits the motion information from the motion correction unit 20 to the control parameter management unit 21.
  • the control parameter managing unit 21 instructs the control parameter managing unit 21 to operate in t 2 is corrected time to the control unit 22. This corrects the operation as shown in FIG. 22C.
  • the time t 2 is stored in the operation database 17 by the operation storage unit 15.
  • the motion correction unit 20 applies the force to the robot arm 5 with the human hand 16 while operating in the hybrid impedance control mode based on the position, posture, and time information of the motion database 17.
  • the operation speed of the robot arm 5 can be corrected.
  • FIG. 35B when the force on the work surface at the time of work (for example, the insertion surface of the insertion port 75 of the device 6) is changed, the robot arm 5 is directly gripped by the human hand 16 and the work is performed.
  • a force is applied to the robot arm 5 in a direction perpendicular to the surface (for example, the insertion surface of the insertion port 75 of the device 6) will be described.
  • FIGS. 35A to 35F FIGS. 35D to 35F are enlarged views of the vicinity of the insertion slot 75).
  • the insertion operation of inserting the flexible board 74 into the insertion slot 75 by the robot arm 5 is performed earlier.
  • 30A to 30F FIGGS. 30G to 30N are views in which the vicinity of the insertion slot 75 is enlarged) are not described.
  • the flowchart shown in FIG. 32 shows the force applied to the robot arm 5 by the human hand 16, the information in the motion database 17, and the force applied to the object acquired by the information acquisition unit 100 by the correction operation type determination unit 23.
  • the correction type is estimated and determined by the correction type estimation process shown.
  • the flexible substrate 74 is in contact with the insertion port 75 and the force is not more than the “threshold value 2”, and the force is applied to the robot arm 5 with the human hand 16 to move the robot arm 5 by more than the certain threshold value.
  • the correction operation type determination unit 23 determines that the correction type is “force correction”.
  • the correction operation type determination unit 23 controls the control parameter management unit to operate in the high-rigidity position control mode from the force hybrid impedance control mode.
  • a command is issued to 21.
  • the high-rigidity position control mode the high-rigidity at the time of position control can be set in the high-rigidity position control mode by the correction-operation-type determining unit 23 at the time of command from the correction operation type determining unit 23 to the control parameter management unit 21.
  • the 0, 1, 3, 4, 5 and 8 bits are set to “1”.
  • the correction operation type is determined so that only the z-axis direction operates in the high-rigidity position control mode and the other directions operate in the hybrid impedance control mode.
  • a command is issued from the unit 23 to the control parameter management unit 21.
  • the robot arm 5 is directly gripped by the human hand 16 to increase the insertion force (When it is desired to change to a stronger force), the human arm 16 applies a downward force to the robot arm 5 toward the work surface (for example, the insertion surface of the insertion port 75 of the device 6).
  • the hybrid impedance control mode is a mode in which the position control mode set for each direction is further increased in rigidity, and the gain in the position error compensation unit 56 is increased (specifically, When the force is applied to the robot arm 5 with the human hand 16, the robot arm 5 cannot be moved easily, and the robot is moved with the human hand 16.
  • the force applied to the arm 5 can be detected by the force detector 53.
  • the force detected by the force detection unit 53 of the control unit 22 is notified to the operation correction unit 20.
  • the motion can be corrected so as to be inserted more strongly (with a stronger force).
  • the robot arm 5 is gripped and the application of force to the robot arm 5 is stopped.
  • all the components of the force are equal to or less than the threshold values in step S2 of FIG. 32, so that the correction operation type determination unit 23 sets “No correction” as the correction type. ] (Step S3 in FIG. 32).
  • the motion correction unit 20 receives the information of “no correction” and issues a command from the correction operation type determination unit 23 to the control parameter management unit 21 so as to control from the highly rigid position control mode to the hybrid impedance control mode. As a result, work is performed on the corrected operation database 17.
  • the motion correction unit 20 performs the insertion work with the corrected force when the human hand 16 applies the force in the state of operating in the hybrid impedance control mode based on the force information of the motion database 17. It will be possible to correct it.
  • the force control mode is changed to the high-rigidity position control mode, but unlike the first embodiment, a force detection unit 53 that detects a force applied by a person, Since the object force detection unit 76 that detects the force applied to the object is arranged separately, the force detection unit 53 can detect the force applied by the person without changing the control mode in the force control mode. it can. Further, when changing to the position control mode, the force detection unit 53 can detect even in the normal position control mode without changing the rigidity.
  • FIG. 36B the force on the work surface during work (for example, the insertion surface of the insertion port 75 of the device 6) is changed during operation with the work ID “4” operation ID “11” or “12”.
  • the robot arm 5 is directly gripped by a human hand 16 and a force is applied to the robot arm 5 in a direction perpendicular to the work surface (for example, the insertion surface of the insertion port 75 of the device 6).
  • FIGS. 36A to 36I FIGS. 36D to 36F are enlarged views of the vicinity of the insertion port 75
  • FIGS. 36G to 36I are enlarged views of the circular portions of FIGS. 36D to 36F).
  • FIGS. 30A to 30F are enlarged views of the vicinity of the insertion port 75 showing the insertion operation of inserting the flexible board 74 into the insertion port 75 by the robot arm 5 will be described. Is omitted.
  • the correction type is estimated and determined by the correction type estimation process shown in the flowchart of FIG.
  • the type of correction is determined in step S12.
  • the correction operation type determination unit 23 determines that the type is “force correction”.
  • only “force correction” can be selected regardless of the amount of movement of the robot arm. Therefore, as shown in FIG. 36E, the robot arm is moved while the distal end portion 74h of the flexible substrate 74 is inserted, and the flexible substrate is moved. It is possible to prevent the tip portion 74h of 74 from being damaged.
  • the correction operation type determination unit 23 controls the control parameter management unit to operate in the high-rigidity position control mode from the force hybrid impedance control mode.
  • a command is issued to 21.
  • the high-rigidity position control mode the high-rigidity at the time of position control can be set in the high-rigidity position control mode by the correction-operation-type determining unit 23 at the time of command from the correction operation type determining unit 23 to the control parameter management unit 21.
  • the 0, 1, 3, 4, 5 and 8 bits are set to “1”.
  • the correction operation type is determined so that only the z-axis direction operates in the high-rigidity position control mode and the other directions operate in the hybrid impedance control mode.
  • a command is issued from the unit 23 to the control parameter management unit 21.
  • the robot arm 5 is directly gripped by the human hand 16 to increase the insertion force (When it is desired to change to a stronger force), the human arm 16 applies a downward force to the robot arm 5 toward the work surface (for example, the insertion surface of the insertion port 75 of the device 6).
  • the hybrid impedance control mode is a mode in which the position control mode set for each direction is further increased in rigidity, and the gain in the position error compensation unit 56 is increased (specifically, When the force is applied to the robot arm 5 with the human hand 16, the robot arm 5 cannot be moved easily, and the robot is moved with the human hand 16.
  • the force applied to the arm 5 can be detected by the force detector 53.
  • the force detected by the force detection unit 53 of the control unit 22 is notified to the operation correction unit 20.
  • the motion can be corrected so as to be inserted more strongly (with a stronger force).
  • the robot arm 5 is gripped and the application of force to the robot arm 5 is stopped.
  • all the components of the force are equal to or less than the threshold values in step S2 of FIG. 32, so that the correction operation type determination unit 23 sets “No correction” as the correction type. ] (Step S3 in FIG. 32).
  • the motion correction unit 20 receives the information of “no correction” and issues a command from the correction operation type determination unit 23 to the control parameter management unit 21 so as to control from the highly rigid position control mode to the hybrid impedance control mode. As a result, work is performed on the corrected operation database 17.
  • the motion correction unit 20 performs the insertion work with the corrected force when the human hand 16 applies the force in the state of operating in the hybrid impedance control mode based on the force information of the motion database 17. Will be able to be corrected.
  • the force control mode is changed to the high-rigidity position control mode, but unlike the first embodiment, a force detection unit 53 that detects a force applied by a person, Since the object force detection unit 76 that detects the force applied to the object is arranged separately, the force detection unit 53 can detect the force applied by the person without changing the control mode in the force control mode. it can. Further, when changing to the position control mode, the force detection unit 53 can detect even in the normal position control mode without changing the rigidity.
  • the operation correction unit 20 When the power is turned on by a human hand 16 using a data input IF 26 (for example, the power button 26a of the operation panel 26A) arranged on the upper part of the assembly robot 1, the operation correction unit 20 is controlled so as to operate in the impedance control mode. A command is issued to the parameter management unit 21.
  • the hand 16 of the person 16A In a state where the operation is not selected by the motion selection unit 29, as shown in FIG. 23, the hand 16 of the person 16A directly grips the robot arm 5 (for example, the hand 30) and the work surface (for example, the device 6).
  • the robot arm 5 is moved so as to move in a direction parallel to the upper surface of the work table 7 on which the robot is placed, and the robot arm 5 (e.g. The hand 30) is moved.
  • 25A is a view of the work surface (for example, the upper surface of the work table 7 on which the device 6 is placed) as viewed from above. If a region RB that is not desired to be operated is a hatched region, the human hand 16 is The robot arm 5 is moved, and the robot arm 5 (for example, the hand 30) is moved along the outline of the region RB that the user does not want to work as indicated by an arrow. At that time, a mark 63 is given to the center tip of the hand (hand 30) of the robot arm 5 (see FIGS. 25A and 25B), and the mark 63 is moved in a direction not desired to be worked.
  • the correction operation type determination unit 23 executes the correction type estimation process shown in FIG. 32 to determine that the operation database 17 is not operating (step S4). In the above case, it is determined in step S8 that the type of correction is “region not desired to be worked on”.
  • the force applied to the robot arm 5 by the human hand 16 is detected by the force detection unit 53, and the robot arm 5 is moved in the direction in which the force is applied to the robot arm 5 by the human hand 16, As shown in FIG. 25A, the robot arm 5 is moved in the order of position (x 1 , y 1 ), position (x 2 , y 2 ), position (x 3 , y 3 ), position (x 4 , y 4 ).
  • the position information is transmitted to the operation correction unit 20 via the control unit 22 and the control parameter management unit 21.
  • the motion correction unit 20 stores these pieces of position information as information on the work impossible region RB in the work unavailable region database 28 by the operation storage unit 15.
  • the fact that these four positions are information on the apex of the work impossible area RB means that, for example, the hand position of the robot arm 5 moved by a person at a certain interval is acquired and the coordinates of the acquired hand position are connected.
  • An area can be generated and used as an unworkable area RB.
  • a function to determine the shape of the area is added. For example, if “rectangular” is set, if the direction of movement changes at an angle close to 90 degrees, the position is the vertex information. If it is set as "Random", the hand position of the robot arm 5 moved by a person at a certain interval is obtained, and the coordinates of the obtained hand position are generated and cannot be operated.
  • the region RB can be set.
  • the motion correction unit 20 can set an area that the user's hand 16 does not want to work by applying force.
  • the present invention relates to a robot arm control device and control method, an assembly robot, an assembly robot, and the like, which control the operation of the robot arm of an assembly robot when a human and a robot work in cooperation, such as a robot that performs assembly in a factory. It is useful as a control program for a robot arm for a robot and an integrated electronic circuit for controlling a robot arm for an assembly robot.

Abstract

 組立を行うロボットアーム(5)の制御装置において、ロボットアーム(5)の動作に関する情報が記録された動作データベース(17)と、前記動作の補正種別を決定する補正動作種別決定部(23)と、人(16)の力を検出する力検出部(53)と、ロボットアーム(5)の作業中に、人(16)の力と補正種別に応じて、動作を補正する動作補正部(20)とを備えてロボットアームの制御装置を構成する。

Description

ロボットアームの制御装置及び制御方法、組立ロボット、ロボットアームの制御プログラム、及び、ロボットアームの制御用集積電子回路
 本発明は、例えば工場内で組立を行うロボットの組立方法を生成、教示するためのロボットアームの制御装置及び制御方法、ロボットアームの制御装置を有する組立ロボット、ロボットアームのプログラム、ロボットアームの制御用集積電子回路に関する。
 近年、工場内ではセル生産が盛んに行われるようになってきた。セル生産では、ネジ締め作業又は部品の勘合作業、装着作業、フレキシブル基板などの挿入作業、研磨作業などのように多種多様な作業を人手中心で行っている。
 さらに、携帯電話などの電気製品はモデル数が増大し、加えて、各々の機種において、モデルチェンジが頻繁に起こるため、扱う部品の仕様変更又は作業手順の変更が頻繁に発生する。
 これらの作業をロボットにより自動化するためには、多種多様な部品又は作業手順に柔軟に対応する必要がある。
 そのためには、部品変更又は作業手順の変更を簡単、短時間に教示ができる必要がある。
 ロボット装置の教示方法の一例として、ロボットの手首などに力センサを装着し、力センサの先に装着されたハンドルを教示者が直接把持してロボットを教示点に誘導し、ロボットの位置の教示を行っている(特許文献1を参照)。
 さらに、ロボットを直接把持してロボットを教示する際に、教示作業者の意図を理解して教示作業中に力制御の操作感を自動的に変更することを行っている(特許文献2を参照)。
特開昭59-157715号公報 特開2008-110406号公報
 しかしながら、特許文献1においては、全ての教示点を教示者が教示する必要があるため、教示に時間がかかり、非常に面倒であった。さらに、産業用分野にて、教示した動きの一部を修正する場合に、ティーチングペンダントと呼ばれる遠隔装置により、プログラミングにより修正するか、若しくは、全ての動作を一から教示しなければならず、効率が悪かった。
 さらに、特許文献2においては、人の直接教示時に、教示作業者の意図を理解し、作業中の操作感を自動的に変更しているが、教示作業者が位置、力、速度などの複数種類の教示パラメータのうち、どのパラメータを操作しようとしているかなどの操作感以外の操作意図の理解は行っていない。そのため、作業教示者がどのパラメータを教示するかを明示的に設定する必要がある。さらに、教示した動きの一部を修正することができず、作業効率が悪かった。
 本発明の目的は、このような課題に鑑みてなされたものであり、作業者が簡単で短時間にロボットの教示を行うことが可能な、ロボットアームの制御装置及び制御方法、組立ロボット、ロボットアームの制御プログラム、及び、ロボットアームの制御用集積電子回路を提供することにある。
 前記目的を達成するために、本発明は以下のように構成する。
 本発明の第1態様によれば、組立作業用ロボットアームの動作を制御して、前記ロボットアームで把持した組立対象物を被対象物に対して組立てる組立作業を行うロボットアームの制御装置であって、
 前記ロボットアームに作用する人の力を検出する力検出手段と、
 前記組立作業における前記ロボットアームの位置を含む前記動作に関する情報と前記力検出手段で検出された前記人の力とをそれぞれ取得する情報取得部と、
 前記ロボットアームが前記組立対象物に加える力を検出する対象物力検出手段と、
 前記情報取得部でそれぞれ取得した前記組立作業における前記ロボットアームの位置を含む前記動作に関する情報と前記人の力に関する情報と前記対象物力検出手段で検出した前記対象物に加える力とから前記動作を補正する補正動作の種別を決定する補正動作種別決定手段と、
 予め定められた前記ロボットアームの前記組立作業中に、前記力検出手段で検出しかつ前記情報取得部で取得した前記人の力と前記補正動作種別決定手段で決定された前記補正動作の種別とに応じて、前記ロボットアームを制御して前記動作を補正する動作補正手段とを備えることを特徴とするロボットアームの制御装置を提供する。
 本発明の第11態様によれば、組立作業用ロボットアームの動作を制御して、前記ロボットアームで把持した組立対象物を被対象物に対して組立てる組立作業を行うロボットアームの制御方法であって、
 前記ロボットアームに作用する人の力を力検出手段で検出し、
 前記ロボットアームが前記組立対象物に加える力を対象物力検出手段で検出し、
 前記組立作業における前記ロボットアームの位置を含む前記動作に関する情報と前記力検出手段で検出しかつ情報取得部で取得した前記ロボットアームに作用する前記人の力に関する情報と前記対象物力検出手段で検出した前記対象物に加える力とを用いて、前記動作を補正する補正動作の種別を補正動作種別決定手段で決定し、
 予め定められた前記ロボットアームの前記組立作業中に、前記力検出手段で検出しかつ前記情報取得部で取得した前記人の力と前記補正動作種別決定手段で決定された前記補正動作の種別とに応じて、前記ロボットアームを制御して前記動作を動作補正手段で補正することを特徴とするロボットアームの制御方法を提供する。
 本発明の第12態様によれば、前記ロボットアームと、
 前記ロボットアームを制御する第1~9のいずれか1つの態様に記載のロボットアームの制御装置とを備えることを特徴とする組立ロボットを提供する。
 本発明の第13態様によれば、組立作業用ロボットアームの動作を制御して、前記ロボットアームで把持した組立対象物を被対象物に対して組立てる組立作業を行う組立ロボット用ロボットアームの制御プログラムであって、
 前記組立作業における前記ロボットアームの位置を含む前記動作に関する情報と力検出手段で検出しかつ情報取得部で取得した前記ロボットアームに作用する人の力に関する情報と対象物力検出手段で検出しかつ前記ロボットアームが前記対象物に加える力とを用いて、前記動作を補正する補正動作の種別を補正動作種別決定手段で決定するステップと、
 予め定められた前記ロボットアームの前記組立作業中に、前記力検出手段で検出しかつ前記情報取得部で取得した前記人の力と前記補正動作種別決定手段で決定された前記補正動作の種別とに応じて、前記ロボットアームを制御して前記動作を動作補正手段で補正する動作補正ステップとをコンピュータに実行させための組立ロボット用ロボットアームの制御プログラムを提供する。
 本発明の第14態様によれば、組立作業用ロボットアームの動作を制御して、前記ロボットアームで把持した組立対象物を被対象物に対して組立てる組立作業を行う組立ロボット用ロボットアームの制御用集積電子回路であって、
 前記組立作業における前記ロボットアームの位置を含む前記動作に関する情報と力検出手段で検出しかつ情報取得部で取得した前記ロボットアームに作用する人の力に関する情報と対象物力検出手段で検出しかつ前記ロボットアームが前記対象物に加える力とを用いて、前記動作を補正する補正動作の種別を決定する補正動作種別決定手段と、
 予め定められた前記ロボットアームの前記組立作業中に、前記力検出手段で検出しかつ前記情報取得部で取得した前記人の力と前記補正動作種別決定手段で決定された前記補正動作の種別とに応じて、前記ロボットアームを制御して前記動作を補正する動作補正手段とを備えることを特徴とする組立ロボット用ロボットアームの制御用集積電子回路を提供する。
 以上述べたように、本発明のロボットアームの制御装置によれば、補正動作種別決定手段と、力検出手段と、対象物力検出手段と、動作補正手段と、制御手段とを有することにより、前記ロボットアームが加える力及び対象物に加わる力及び前記ロボットアームの位置及び速度を含む組立動作に関する情報を利用して、人の力に応じて、組立動作を簡単に補正することができるロボットアームの制御が可能となる。
 また、本発明のロボットアームの制御方法、ロボットアームの制御プログラム、及び、ロボットアームの制御用集積電子回路によれば、補正動作種別決定手段と、動作補正手段と、制御手段とを有することにより、前記ロボットアームが加える力及び対象物に加わる力及び前記ロボットアームの位置及び速度を含む組立動作に関する情報を利用して、力検出手段で検出された人の力に応じて、組立動作を簡単に補正することができるロボットアームの制御が可能となる。
 さらに、補正動作種別決定手段を有することにより、複数の動作をボタンなどを使わずに自動で切り替えて補正することが可能となる。
さらに、補正動作種別決定手段を有することにより、操作する人のスキルなどに応じて、一度に複数種別の補正を行うか、1種類の補正を行うかを切り替えることができる。
 また、制御パラメータ管理手段と制御部をさらに有することにより、補正動作の種別に応じて、ロボットアームの機械インピーダンス値を設定することで、ロボットアームの補正方向に応じて、機械インピーダンス値を変更させて制御したり、補正中の作業面に対する力を弱めたり停止することができる。
図1は、本発明の第1実施形態における組立ロボットを構成するロボットアームの制御装置の構成の概要を示す図であり、 図2Aは、本発明の前記第1実施形態における前記ロボットアームの制御装置においてロボットアームの操作状態を示す図であり、 図2Bは、本発明の前記第1実施形態における前記ロボットアームの制御装置においてロボットアームの操作状態を示す図であり、 図3は、本発明の前記第1実施形態における前記ロボットアームの制御装置と制御対象であるロボットアームの詳細構成を示す図であり、 図4は、本発明の前記第1実施形態の前記ロボットアームの制御装置における動作データベースの動作情報の一覧表を説明する図であり、 図5は、本発明の前記第1実施形態の前記ロボットアームの制御装置における動作データベースのフラグに関する情報を説明する図であり、 図6は、本発明の前記第1実施形態の前記ロボットアームの制御装置における補正パラメータのフラグに関する情報を説明する図であり、 図7は、本発明の前記第1実施形態における前記ロボットアームの制御装置の制御部の構成を示すブロック図であり、 図8は、本発明の前記第1実施形態における前記ロボットアームの制御装置の経路に関する図であり、 図9は、本発明の前記第1実施形態における周辺装置の表示部を説明する図であり、 図10は、本発明の前記第1実施形態の前記ロボットアームの制御装置における作業不可領域データベース情報の一覧表を説明する図であり、 図11は、本発明の前記第1実施形態における前記ロボットアーム制御装置の経路に関する図であり、 図12Aは、本発明の前記第1実施形態の前記ロボットアーム制御装置における座標系に関する図であり、 図12Bは、本発明の前記第1実施形態の前記ロボットアーム制御装置における座標系に関する図であり、 図12Cは、本発明の前記第1実施形態の前記ロボットアーム制御装置における座標系に関する図であり、 図13は、本発明の前記第1実施形態の前記ロボットアーム制御装置における動作補正部と補正動作種別決定部と動作選択部と動作記憶部と動作データベースと制御パラメータ管理部の動作ステップを表すフローチャートであり、 図14は、本発明の前記第1実施形態の前記ロボットアーム制御装置における補正動作種別決定部の動作ステップを表すフローチャートであり、 図15は、本発明の前記第1実施形態の前記ロボットアーム制御装置において人のかける力とその時刻の関係を示す図であり、 図16は、本発明の前記第1実施形態の前記ロボットアーム制御装置における制御部の動作ステップを表すフローチャートであり、 図17は、本発明の前記第1実施形態の前記ロボットアーム制御装置における力と位置の閾値を説明する図であり、 図18Aは、本発明の前記第1実施形態の前記ロボットアーム制御装置におけるロボットアームの操作状態を示す図であり、 図18Bは、本発明の前記第1実施形態の前記ロボットアーム制御装置におけるロボットアームの操作状態を示す図であり、 図18Cは、本発明の前記第1実施形態の前記ロボットアーム制御装置におけるロボットアームの操作状態を示す図であり、 図18Dは、本発明の前記第1実施形態の前記ロボットアーム制御装置におけるロボットアームの操作状態を示す図であり、 図19Aは、本発明の前記第1実施形態の前記ロボットアーム制御装置におけるロボットアームの操作状態を示す図であり、 図19Bは、本発明の前記第1実施形態の前記ロボットアーム制御装置におけるロボットアームの操作状態を示す図であり、 図19Cは、本発明の前記第1実施形態の前記ロボットアーム制御装置におけるロボットアームの操作状態を示す図であり、 図19Dは、本発明の前記第1実施形態の前記ロボットアーム制御装置におけるロボットアームの操作状態を示す図であり、 図20Aは、本発明の前記第1実施形態の前記ロボットアーム制御装置におけるロボットアームの操作状態を示す図であり、 図20Bは、本発明の前記第1実施形態の前記ロボットアーム制御装置におけるロボットアームの操作状態を示す図であり、 図20Cは、本発明の前記第1実施形態の前記ロボットアーム制御装置におけるロボットアームの操作状態を示す図(図20Aを上から見た図)であり、 図20Dは、本発明の前記第1実施形態の前記ロボットアーム制御装置におけるロボットアームの操作状態を示す図であり、 図20Eは、本発明の前記第1実施形態の前記ロボットアーム制御装置におけるロボットアームの操作状態を示す図であり、 図21Aは、本発明の前記第1実施形態の前記ロボットアーム制御装置におけるロボットアームの動作状態を示す図であり、 図21Bは、本発明の前記第1実施形態の前記ロボットアーム制御装置におけるロボットアームの動作状態を示す図であり、 図22Aは、本発明の前記第1実施形態の前記ロボットアーム制御装置におけるロボットアームの操作状態を示す図であり、 図22Bは、本発明の前記第1実施形態の前記ロボットアーム制御装置におけるロボットアームの操作状態を示す図であり、 図22Cは、本発明の前記第1実施形態の前記ロボットアーム制御装置におけるロボットアームの操作状態を示す図であり、 図23は、本発明の前記第1実施形態の前記ロボットアーム制御装置におけるロボットアームの操作状態を示す図であり、 図24Aは、本発明の前記第1実施形態の前記ロボットアーム制御装置におけるロボットアームの操作状態を示す図であり、 図24Bは、本発明の前記第1実施形態の前記ロボットアーム制御装置におけるロボットアームの操作状態を示す図であり、 図24Cは、本発明の前記第1実施形態の前記ロボットアーム制御装置におけるロボットアームの操作状態を示す図であり、 図25Aは、本発明の前記第1実施形態の前記ロボットアーム制御装置におけるロボットアームの操作状態を示す図であり、 図25Bは、本発明の前記第1実施形態の前記ロボットアーム制御装置におけるロボットアームの操作状態を説明するときのハンドの拡大図であり、 図26は、本発明の前記第1実施形態の前記ロボットアーム制御装置における周辺装置のデータ入力IFを説明する図であり、 図27は、本発明の第2実施形態の前記ロボットアーム制御装置における組立ロボットを構成する制御装置と制御対象であるロボットアームの詳細構成を示す図であり、 図28Aは、本発明の前記実施形態の前記ロボットアーム制御装置におけるロボットアームの操作状態を示す図であり、 図28Bは、本発明の前記実施形態の前記ロボットアーム制御装置におけるロボットアームの操作状態を示す図であり、 図28Cは、本発明の前記実施形態の前記ロボットアーム制御装置におけるロボットアームの操作状態を示す図であり、 図29は、本発明の前記実施形態の前記ロボットアーム制御装置における動作データベースの動作情報の一覧表を説明する図であり、 図30Aは、本発明の前記実施形態の前記ロボットアーム制御装置におけるロボットアームの動作状態を示す図であり、 図30Bは、本発明の前記実施形態の前記ロボットアーム制御装置におけるロボットアームの動作状態を示す図であり、 図30Cは、本発明の前記実施形態の前記ロボットアーム制御装置におけるロボットアームの動作状態を示す図であり、 図30Dは、本発明の前記実施形態の前記ロボットアーム制御装置におけるロボットアームの動作状態を示す図であり、 図30Eは、本発明の前記実施形態の前記ロボットアーム制御装置におけるロボットアームの動作状態を示す図であり、 図30Fは、本発明の前記実施形態の前記ロボットアーム制御装置におけるロボットアームの動作状態を示す図であり、 図30Gは、本発明の前記実施形態の前記ロボットアーム制御装置におけるロボットアームの動作状態を示す図(図30Bの挿入口の挿入部分を拡大した図)であり、 図30Hは、本発明の前記実施形態の前記ロボットアーム制御装置におけるロボットアームの動作状態を示す図(図30Cの挿入口の挿入部分を拡大した図)であり、 図30Iは、本発明の前記実施形態の前記ロボットアーム制御装置におけるロボットアームの動作状態を示す図(図30Dの挿入口の挿入部分を拡大した図)であり、 図30Jは、本発明の前記実施形態の前記ロボットアーム制御装置におけるロボットアームの動作状態を示す図(図30Eの挿入口の挿入部分を拡大した図)であり、 図30Kは、本発明の前記実施形態の前記ロボットアーム制御装置におけるロボットアームの動作状態を示す図(図30Fの挿入口の挿入部分を拡大した図)であり、 図30Lは、本発明の前記実施形態の前記ロボットアーム制御装置におけるロボットアームの動作状態を示しかつ挿入口の付近を拡大した図(図30Iの円Lの拡大図)であり、 図30Mは、本発明の前記実施形態の前記ロボットアーム制御装置におけるロボットアームの動作状態を示しかつ挿入口の付近を拡大した図(図30Jの円Mの拡大図)であり、 図30Nは、本発明の前記実施形態の前記ロボットアーム制御装置におけるロボットアームの動作状態を示しかつ挿入口の付近を拡大した図(図30Kの円Nの拡大図)であり、 図31は、本発明の前記実施形態の前記ロボットアーム制御装置における対象物にかける力とその時刻の関係を示す図であり、 図32は、本発明の前記実施形態の前記ロボットアーム制御装置における補正動作種別決定部の動作ステップを表すフローチャートであり、 図33Aは、本発明の前記実施形態の前記ロボットアーム制御装置におけるロボットアームの操作状態を示す図であり、 図33Bは、本発明の前記実施形態の前記ロボットアーム制御装置におけるロボットアームの操作状態を示す図であり、 図33Cは、本発明の前記実施形態の前記ロボットアーム制御装置におけるロボットアームの操作状態を示す図であり、 図34Aは、本発明の前記実施形態の前記ロボットアーム制御装置におけるロボットアームの操作状態を示す図であり、 図34Bは、本発明の前記実施形態の前記ロボットアーム制御装置におけるロボットアームの操作状態を示す図であり、 図34Cは、本発明の前記実施形態の前記ロボットアーム制御装置におけるロボットアームの操作状態を示す図であり、 図34Dは、本発明の前記実施形態の前記ロボットアーム制御装置におけるロボットアームの操作状態を示す図(図34Aの挿入口の挿入部分を拡大した図)であり、 図34Eは、本発明の前記実施形態の前記ロボットアーム制御装置におけるロボットアームの操作状態を示す図(図34Bの挿入口の挿入部分を拡大した図)であり、 図34Fは、本発明の前記実施形態の前記ロボットアーム制御装置におけるロボットアームの操作状態を示す図(図34Cの挿入口の挿入部分を拡大した図)であり、 図35Aは、本発明の前記実施形態の前記ロボットアーム制御装置におけるロボットアームの操作状態を示す図であり、 図35Bは、本発明の前記実施形態の前記ロボットアーム制御装置におけるロボットアームの操作状態を示す図であり、 図35Cは、本発明の前記実施形態の前記ロボットアーム制御装置におけるロボットアームの操作状態を示す図であり、 図35Dは、本発明の前記実施形態の前記ロボットアーム制御装置におけるロボットアームの操作状態を示す図(図35Aの挿入口の挿入部分を拡大した図)であり、 図35Eは、本発明の前記実施形態の前記ロボットアーム制御装置におけるロボットアームの操作状態を示す図(図35Bの挿入口の挿入部分を拡大した図)であり、 図35Fは、本発明の前記実施形態の前記ロボットアーム制御装置におけるロボットアームの操作状態を示す図(図35Cの挿入口の挿入部分を拡大した図)であり、 図36Aは、本発明の前記実施形態の前記ロボットアーム制御装置におけるロボットアームの操作状態を示す図であり、 図36Bは、本発明の前記実施形態の前記ロボットアーム制御装置におけるロボットアームの操作状態を示す図であり、 図36Cは、本発明の前記実施形態の前記ロボットアーム制御装置におけるロボットアームの操作状態を示す図であり、 図36Dは、本発明の前記実施形態の前記ロボットアーム制御装置におけるロボットアームの操作状態を示す図(図36Aの挿入口の挿入部分を拡大した図)であり、 図36Eは、本発明の前記実施形態の前記ロボットアーム制御装置におけるロボットアームの操作状態を示す図(図36Bの挿入口の挿入部分を拡大した図)であり、 図36Fは、本発明の前記実施形態の前記ロボットアーム制御装置におけるロボットアームの操作状態を示す図(図36Cの挿入口の挿入部分を拡大した図)であり、 図36Gは、本発明の前記実施形態の前記ロボットアーム制御装置におけるロボットアームの操作状態を示す図(図36Dの円Gの拡大図)であり、 図36Hは、本発明の前記実施形態の前記ロボットアーム制御装置におけるロボットアームの操作状態を示す図(図36Eの円Hの拡大図)であり、 図36Iは、本発明の前記実施形態の前記ロボットアーム制御装置におけるロボットアームの操作状態を示す図(図36Fの円Iの拡大図)である。
 以下に、本発明にかかる実施の形態を図面に基づいて詳細に説明する。
 以下、図面を参照して本発明における実施形態を詳細に説明する前に、本発明の種々の態様について説明する。
 本発明の第1態様によれば、組立作業用ロボットアームの動作を制御して、前記ロボットアームで把持した組立対象物を被対象物に対して組立てる組立作業を行うロボットアームの制御装置であって、
 前記ロボットアームに作用する人の力を検出する力検出手段と、
 前記組立作業における前記ロボットアームの位置を含む前記動作に関する情報と前記力検出手段で検出された前記人の力とをそれぞれ取得する情報取得部と、
 前記ロボットアームが前記組立対象物に加える力を検出する対象物力検出手段と、
 前記情報取得部でそれぞれ取得した前記組立作業における前記ロボットアームの位置を含む前記動作に関する情報と前記人の力に関する情報と前記対象物力検出手段で検出した前記対象物に加える力とから前記動作を補正する補正動作の種別を決定する補正動作種別決定手段と、
 予め定められた前記ロボットアームの前記組立作業中に、前記力検出手段で検出しかつ前記情報取得部で取得した前記人の力と前記補正動作種別決定手段で決定された前記補正動作の種別とに応じて、前記ロボットアームを制御して前記動作を補正する動作補正手段とを備えることを特徴とするロボットアームの制御装置を提供する。
 このような構成により、人の力に応じて、ロボットアームの組立方法を補正することができる。
 本発明の第2態様によれば、前記動作に関する情報は、前記ロボットアームが行う前記組立作業に応じた、前記ロボットアームの前記位置と姿勢との情報と、前記ロボットアームから組立作業面にかける力情報と、前記ロボットアームの方向に関する情報と、前記ロボットアームの速度情報と、前記ロボットアームの作業を行わない領域に関する情報である作業不可領域情報のうちの少なくとも1つの情報を有することを特徴とする第1の態様に記載のロボットアームの制御装置を提供する。
 このような構成により、前記ロボットアームが行う作業に応じて、それぞれの時間での、位置情報と、前記ロボットアームがかける力情報と、方向に関する情報と、速度情報と、作業をしてほしくない領域に関する情報のうちの少なくとも1つの情報を補正することができる。
 本発明の第3態様によれば、前記動作に関する情報は、前記ロボットアームが行う前記組立作業に応じた、前記ロボットアームから前記作業面にかける力情報を少なくとも有し、
 前記動作補正手段は、前記動作に関する情報に基づいて、予め設定された力を前記ロボットアームから前記作業面に作用させて前記動作を行なう力制御モードを前記ロボットアームが移動可能なxyz軸方向のそれぞれの軸別に設定して前記動作を前記ロボットアームで行っている最中に、前記力検出手段で検出しかつ前記情報取得部で取得した前記人の力に応じて、補正動作前の前記動作に関する情報のうちの前記設定された力の大きさ又は方向を補正することを特徴とする第1の態様に記載のロボットアームの制御装置を提供する。
 このような構成により、前記動作に関する情報に基づいて、予め設定された力を前記ロボットアームから前記作業面に作用させて前記動作を行なう力制御モードを前記ロボットアームが移動可能なxyz軸方向のそれぞれの軸別に設定して前記動作を前記ロボットアームで行っている最中に、前記力検出手段で検出した前記人の力に応じて、補正動作前の前記動作に関する情報のうちの前記設定された力の大きさ又は方向を補正することができる。
 本発明の第4態様によれば、前記動作に関する情報は、前記ロボットアームが行う前記組立作業に応じた、前記ロボットアームの前記位置と姿勢の情報と、前記ロボットアームの方向に関する情報と、前記ロボットアームの速度情報と、作業を行わない領域に関する情報である作業不可領域情報とを有し、
 前記動作補正手段は、前記動作に関する情報に基づいて、前記ロボットアームの位置を制御する位置制御モードで動作している最中に、前記ロボットアームに対して前記人から前記ロボットアームに加わる力に応じて前記ロボットアームが作動するインピーダンス制御モードを前記ロボットアームが移動可能なxyz軸方向のそれぞれの軸別に設定して前記作業を動作させている最中に、前記力検出手段で検出しかつ前記情報取得部で取得した前記人の力に応じて、前記インピーダンス制御での前記動作に関する情報の前記動作を補正することを特徴とする第1の態様に記載のロボットアームの制御装置を提供する。
 このような構成により、前記動作に関する情報に基づいて、前記ロボットアームの位置を制御する位置制御モードで動作している最中に、駆動停止している前記ロボットアームに対して前記人から前記ロボットアームに加わる力に応じて前記ロボットアームが作動するインピーダンス制御モードを前記ロボットアームが移動可能なxyz軸方向のそれぞれの軸別に設定して前記作業を動作させている最中に、前記力検出手段で検出した前記人の力に応じて、前記インピーダンス制御での前記動作に関する情報の前記動作を補正することができる。
 本発明の第5態様によれば、前記補正動作種別決定手段で決定した前記補正動作の種別に基づき、前記補正動作の種別に関する情報を表示する表示手段をさらに備えることを特徴とする第1~4のいずれか1つの態様に記載のロボットアームの制御装置を提供する。
 本発明の第6態様によれば、前記補正動作種別決定手段は、前記ロボットアームの前記手先の位置と姿勢の移動量を検出するとともに、
 前記補正動作種別決定手段は、前記対象物検出手段で検出しかつ前記情報取得部で取得した前記対象物に加わる力が第1の閾値未満であり、かつ前記補正動作種別決定手段により検出された前記ロボットアームの前記手先の位置と姿勢の移動量が第3閾値以上である場合に、前記補正動作の種別として、作業面の位置と姿勢の移動の種別であると決定し、
 さらに、前記動作補正手段は、前記力検出手段で検出しかつ前記情報取得部で取得した前記人の力と前記補正動作種別決定手段で決定された前記補正動作の種別とに応じて、前記ロボットアームの前記手先の位置と姿勢を補正することを特徴とする第1の態様に記載のロボットアームの制御装置を提供する。
 本発明の第7態様によれば、前記補正動作種別決定手段は、前記ロボットアームの前記手先の位置と姿勢の移動量を検出するとともに、
 前記補正動作種別決定手段は、前記対象物検出手段で検出しかつ前記情報取得部で取得した前記対象物に加わる力が第1の閾値未満であり、かつ前記補正動作種別決定手段により検出された前記ロボットアームの前記手先の位置と姿勢の移動量が第3閾値未満である場合に、前記補正動作の種別として、速度の補正の種別であると決定し、
 さらに、前記動作補正手段は、前記力検出手段で検出しかつ前記情報取得部で取得した前記人の力と前記補正動作種別決定手段で決定された前記補正動作の種別とに応じて、前記ロボットアームの速度を補正することを特徴とする第1の態様に記載のロボットアームの制御装置を提供する。
 本発明の第8態様によれば、前記補正動作種別決定手段は、前記ロボットアームの前記手先の位置の移動量を検出するとともに、
 前記補正動作種別決定部は、前記対象物力検出部で前記対象物に加えられた力が検出されかつ前記情報取得部を介して取得した前記対象物に加えられた力の成分が、ある時間、ある閾値を越えており、かつ、前記対象物力検出部で前記対象物に加えられた力が検出されかつ前記情報取得部を介して取得した前記対象物に加えられた力が、ある時間、別のある閾値以下であり、かつ、前記補正動作種別決定部で検出された前記ロボットアームの移動量が、ある閾値以上である場合に、前記補正動作の種別として、位置・姿勢の補正の種別であると決定し、
 さらに、前記動作補正手段は、前記対象物力検出部で前記対象物に加えられた力が検出されかつ前記情報取得部を介して取得した前記対象物に加えられた力と前記補正動作種別決定手段で決定された前記補正動作の種別とに応じて、前記ロボットアームの位置及び姿勢を補正することを特徴とする第1の態様に記載のロボットアームの制御装置を提供する。
 本発明の第9態様によれば、前記補正動作種別決定部は、前記対象物力検出部で前記対象物に加えられた力が検出されかつ前記情報取得部を介して取得した前記対象物に加えられた力の成分が、ある時間、ある閾値を越えており、かつ、前記対象物力検出部で前記対象物に加えられた力が検出されかつ前記情報取得部を介して取得した前記対象物に加えられた力が、ある時間、別のある閾値を越える場合に、前記補正動作の種別として、力の補正の種別であると決定し、
 さらに、前記動作補正手段は、前記対象物力検出部で前記対象物に加えられた力が検出されかつ前記情報取得部を介して取得した前記対象物に加えられた力と前記補正動作種別決定手段で決定された前記補正動作の種別とに応じて、前記ロボットアームの位置及び姿勢を補正することを特徴とする第1の態様に記載のロボットアームの制御装置を提供する。
 本発明の第10態様によれば、前記補正動作種別決定手段で決定した前記補正動作の種別に基づき、前記補正動作の種別に関する情報を表示する表示手段をさらに備える第1~9のいずれか1つの態様に記載のロボットアームの制御装置を提供する。
 このような構成により、補正動作の種別に関する情報を表示することができる。
 本発明の第11態様によれば、組立作業用ロボットアームの動作を制御して、前記ロボットアームで把持した組立対象物を被対象物に対して組立てる組立作業を行うロボットアームの制御方法であって、
 前記ロボットアームに作用する人の力を力検出手段で検出し、
 前記ロボットアームが前記組立対象物に加える力を対象物力検出手段で検出し、
 前記組立作業における前記ロボットアームの位置を含む前記動作に関する情報と前記力検出手段で検出しかつ情報取得部で取得した前記ロボットアームに作用する前記人の力に関する情報と前記対象物力検出手段で検出した前記対象物に加える力とを用いて、前記動作を補正する補正動作の種別を補正動作種別決定手段で決定し、
 予め定められた前記ロボットアームの前記組立作業中に、前記力検出手段で検出しかつ前記情報取得部で取得した前記人の力と前記補正動作種別決定手段で決定された前記補正動作の種別とに応じて、前記ロボットアームを制御して前記動作を動作補正手段で補正することを特徴とするロボットアームの制御方法を提供する。
 このような構成により、ロボットアームの動作に関する情報に基づき、前記動作の補正種別を決定し、人の力を検出し、前記ロボットアームの作業中に、前記人の力と前記補正種別に応じて、前記動作を提供することができる。
 本発明の第12態様によれば、前記ロボットアームと、
 前記ロボットアームを制御する第1~9のいずれか1つの態様に記載のロボットアームの制御装置とを備えることを特徴とする組立ロボットを提供する。
 本発明の第13態様によれば、組立作業用ロボットアームの動作を制御して、前記ロボットアームで把持した組立対象物を被対象物に対して組立てる組立作業を行う組立ロボット用ロボットアームの制御プログラムであって、
 前記組立作業における前記ロボットアームの位置を含む前記動作に関する情報と力検出手段で検出しかつ情報取得部で取得した前記ロボットアームに作用する人の力に関する情報と対象物力検出手段で検出しかつ前記ロボットアームが前記対象物に加える力とを用いて、前記動作を補正する補正動作の種別を補正動作種別決定手段で決定するステップと、
 予め定められた前記ロボットアームの前記組立作業中に、前記力検出手段で検出しかつ前記情報取得部で取得した前記人の力と前記補正動作種別決定手段で決定された前記補正動作の種別とに応じて、前記ロボットアームを制御して前記動作を動作補正手段で補正する動作補正ステップとをコンピュータに実行させための組立ロボット用ロボットアームの制御プログラムを提供する。
 本発明の第14態様によれば、組立作業用ロボットアームの動作を制御して、前記ロボットアームで把持した組立対象物を被対象物に対して組立てる組立作業を行う組立ロボット用ロボットアームの制御用集積電子回路であって、
 前記組立作業における前記ロボットアームの位置を含む前記動作に関する情報と力検出手段で検出しかつ情報取得部で取得した前記ロボットアームに作用する人の力に関する情報と対象物力検出手段で検出しかつ前記ロボットアームが前記対象物に加える力とを用いて、前記動作を補正する補正動作の種別を決定する補正動作種別決定手段と、
 予め定められた前記ロボットアームの前記組立作業中に、前記力検出手段で検出しかつ前記情報取得部で取得した前記人の力と前記補正動作種別決定手段で決定された前記補正動作の種別とに応じて、前記ロボットアームを制御して前記動作を補正する動作補正手段とを備えることを特徴とする組立ロボット用ロボットアームの制御用集積電子回路を提供する。
 以下、本発明の実施の形態について図面を用いて詳細に説明する。
 (第1実施形態)
 まず、本発明の第1実施形態における、ロボットアームの制御装置を備える組立ロボット1の構成について説明する。
 図1に示すように、組立ロボット1の一例として、工場内のセル生産で、テレビ若しくはDVDレコーダ、又は、携帯電話などの機器6のフレキシブル基板挿入口75に、フレキシブル基板74を取り付ける組立作業を行う、組立ロボット用ロボットアーム5について説明する。
 組立ロボット1のロボットアーム5は、作業台7の壁面7aに設置され、ロボットアーム5の基端が、壁面7aに固定されたレール8に、移動可能に支持され、レール8上をロボットアーム5が、レール8沿いの横方向例えば水平方向に、人16Aの手16の力により、又はモータなどにより自動的に、移動可能とする。ロボットアーム5の基端の固定場所は、作業台7の壁面7aに限られるものではなく、天井などでもよい。
 作業台7の側面には、ボタン26aなどが配置された操作盤26Aなどのデータ入力IF26と、作業台7の壁面などに配置された表示手段の一例としての表示部14とを備えるように構成されている。
 レール8は、壁面7aに固定されたレール固定部8aと、モータ65の駆動により正逆回転駆動される車輪(図示せず)を有してレール固定部8aに対して移動可能なレール可動部8bとで構成されている。ロボットアーム5の基端が連結された台部34が前記レール可動部8bに連結されて、レール固定部8aに対して、ロボットアーム5の台部34がレール可動部8bと共に移動可能に構成されている。又は、このような構成に代えて、ロボットアーム5の基端が連結された台部34にモータ65により正逆回転駆動される車輪を設けて、壁面7aに固定されたレール8に沿って、台部34が移動するような構成としてもよい。
 ロボットアーム5の先端には、フレキシブル基板74を把持するために開閉可能なハンド30が取り付けられている。
 組立ロボット1は、作業台7の上に固定的に載置された機器6の挿入口75にフレキシブル基板74を挿入するロボットであり、前記ロボットアーム5と、ロボットアーム5の動作を制御する制御装置とで構成されている。
 組立ロボット1の操作手順の概要を説明する。
 まず、図2Aにおいて、人16が作業台7の側面に配置されているデータ入力IF26(例えば図26の操作盤26Aの電源ボタン26aの「ON」を押すなど)により電源を入れる。
 次に、機器6を作業台7の上に設置する。設置の際に、図2Bに示すように、ロボットアーム5の先端を移動させて、機器6を作業台7の上に設置しやすいように、ロボットアーム5を人の手16により移動することができる(機器6を作業台7の上に設置するのに邪魔にならない位置までロボットアーム5を人の手16により移動することができる)。
 次に、作業台7の側面に配置されているデータ入力IF26(例えば図26の操作盤26Aの作業スイッチ26cのスタートボタンなど)を人の手16で押すことにより、組立ロボット1が作動し、後述する動作選択部29で最適な組立動作を選択して、その選択された動作に基づき、ロボットアーム5による組立作業を開始させる。
 なお、データ入力IF26の一例としての操作盤26Aは、作業台7の側面に固定したが、遠隔操作が可能なリモコンでも良い。
 ロボットアーム5による組立作業の際には、ロボットアーム5のハンド30により、フレキシブル基板74の基板自体若しくは基板先端のコネクタ部などの所望の箇所を把持させる。その後、ハンド30でフレキシブル基板74を把持した状態でロボットアーム5を、人の手16で又は自動的に移動させ、フレキシブル基板74のコネクタ部が機器6のフレキシブル基板挿入口75に対向させ、ロボットアーム5により、フレキシブル基板74のコネクタ部を挿入口75内に挿入して、フレキシブル基板74を機器6に組み付ける。このとき、必要に応じて、人の手16でロボットアーム5を押すなどしてロボットアーム5の動作を補正などするように制御している。
 より具体的には、図18Bに示すように、フレキシブル基板74又は機器6などのモデルチェンジにより、フレキシブル基板74を挿入口75内に挿入する力加減又は位置などが変更になった場合には、人16が変更の状態を確認し、図18Cに示すように、人の手16でロボットアーム5を押すなどして力を強めにかけるように補正する。このようにすることで、図18Dに示すように、力加減を強めに挿入することができる。以下、このようなロボットアーム5による組立作業について詳細に説明する。
 図3は、組立ロボット1を構成する制御装置の構成要素を詳細に示す図であり、制御装置本体部45と、動作を生成する動作生成装置12と、制御対象であるロボットアーム5と、レール8と、周辺装置47との詳細構成を示す図である。組立ロボット1の前記制御装置は、制御装置本体部45と、動作生成装置12と、周辺装置47とで大略構成されている。
 制御装置本体部45及び動作生成装置12及び周辺装置47は、それぞれ、一般的なパーソナルコンピュータにより構成される。
 制御装置本体部45は、動作生成装置12の動作補正手段の一例としての動作補正部20と補正動作種別決定手段の一例としての補正動作種別決定部23と周辺装置47のデータ入力IF26とにそれぞれ接続された制御パラメータ管理手段の一例としての制御パラメータ管理部21と、制御パラメータ管理部21と周辺装置47の入出力IF24とに接続されたインピーダンス制御手段の一例としての制御部(インピーダンス制御部)22とを備えるように構成される。
 動作生成装置12は、動作データベース17と、作業不可領域データベース28と、動作補正部20と、補正動作種別決定部23と、動作記憶部15と、動作選択部29と、情報取得部(情報取得手段の一例)100とを備えるように構成される。動作記憶部15は、動作データベース17と作業不可領域データベース28と動作補正部20とに接続されている。動作データベース17と作業不可領域データベース28とは、それぞれ、動作記憶部15と動作補正部20と動作選択部29とに接続されている。動作補正部20は、動作データベース17と作業不可領域データベース28と動作記憶部15と制御装置本体部45の制御パラメータ管理部21と補正動作種別決定部23と周辺装置47のデータ入力IF26とが接続されている。補正動作種別決定部23は、動作補正部20と周辺装置47のデータ入力IF26と制御装置本体部45の制御パラメータ管理部21とに接続されている。動作選択部29は、動作データベース17と作業不可領域データベース28とデータ入力IF26と接続されている。情報取得部100は、補正動作種別決定部23と、動作データベース17と作業不可領域データベース28と、制御部22の力検出部(力検出手段の一例)53と対象物力検出部(対象物力検出手段の一例)78とに接続されている。よって、情報取得部100は、組立作業におけるロボットアーム5の位置を含むロボットアーム5の動作に関する情報と、力検出部53で検出されたロボットアーム5に作用する人の力に関する情報と、対象物力検出部78からの情報とをそれぞれ取得可能としている。情報取得部100で取得した情報は、補正動作種別決定部23に入力され、情報取得部100でそれぞれ取得した動作に関する情報と人の力に関する情報とから、後述するように、ロボットアーム5の動作を補正する補正動作の種別を補正動作種別決定部23で決定することができる。
 周辺装置47は、補正動作種別決定部23と動作補正部20と制御装置本体部45の制御パラメータ管理部21と表示部14と動作生成装置12とに接続されたデータ入力IF26と、レール可動部8bのモータ65の回転軸に取り付けられてその回転軸の回転角度を検出するエンコーダ64と各関節部のモータ43の回転軸に取り付けられてその回転軸の回転角度を検出するエンコーダ44とハンド駆動用のモータ62の回転軸に取り付けられてその回転軸の回転角度を検出するエンコーダ61とからそれぞれの角度情報が入力されるとともに制御部22に接続された入出力IF24と、レール可動部8bのモータ65とロボットアーム5の各関節部のモータ43とハンド開閉駆動用のモータ62とにそれぞれ接続されたモータドライバ25と、補正動作種別決定部23に接続された表示部14とを備えるように構成される。
 入出力IF24は、パーソナルコンピュータのPCIバスなどの拡張スロットに接続された、例えばD/Aボードと、A/Dボードと、カウンタボードとなどを備えるように構成されている。
 ロボットアーム5及びレール可動部8bの動作を制御する動作生成装置12と、制御装置本体部45と、周辺装置47とが、それぞれの動作を実行することにより、ロボットアーム5の各関節部の各関節角度情報であってかつ後述するエンコーダ44より出力される各関節角度情報が、入出力IF24を通じて制御装置本体部45に取り込まれる。そして、制御装置本体部45は、取り込まれた各関節角度情報に基づき、ロボットアーム5の各関節部の回転動作での制御指令値を算出する。さらに、レール可動部8bのモータ65のエンコーダ64より出力されるレール可動部8bの位置情報が、入出力IF24を通じて制御装置本体部45に取り込まれる。そして、制御装置本体部45は、取り込まれた各位置情報に基づき、レール可動部8bのモータ65の制御指令値を算出する。
 算出されたロボットアーム5の各関節部のモータ43の制御指令値は、入出力IF24を通じてモータドライバ25に与えられ、モータドライバ25から送られた各制御指令値に従って、ロボットアーム5の各関節部のモータ43がそれぞれ独立して駆動される。
 また、算出されたレール可動部8bの制御指令値は、入出力IF24を通じてモータドライバ25に与えられ、モータドライバ25から送られた各制御指令値に従って、レール可動部8bのモータ65が駆動される。
 また、モータドライバ25により駆動制御されるハンド駆動装置の一例としてハンド駆動用のモータ62と、ハンド駆動用のモータ62の回転軸の回転位相角を検出するエンコーダ61とをさらにハンド30に備えて、例えば、モータ62の回転軸を正方向に回転させることによりハンド30を開いて、フレキシブル基板74をハンド30で把持可能に位置させる一方、モータ62の回転軸を逆方向に回転させることによりハンド30を閉じて、ハンド30に把持可能な位置に位置させたフレキシブル基板74をハンド30で把持するように構成することができる。このような場合、エンコーダ61で検出されたモータ62の回転軸の回転角度を基に、制御装置本体部45の制御部22のハンド制御部54(図7に図示)からの制御信号(開閉指令信号)により、モータドライバ25を介してハンド駆動用のモータ62の回転を駆動制御して、ハンド駆動用のモータ62の回転軸を正逆回転させることによりハンド30を開閉させる。
 ロボットアーム5は、6自由度の多リンクマニピュレータであり、ハンド30と、ハンド30が取り付けられている手首部31を先端に有する前腕リンク32と、前腕リンク32の基端に先端が回転可能に連結される上腕リンク33と、上腕リンク33の基端が回転可能に連結支持される台部34とを備えている。台部34は、レール可動部8bに連結されている。手首部31は、第4関節部38と、第5関節部39と、第6関節部40との3つの回転軸を有しており、前腕リンク32に対するハンド30の相対的な姿勢を変化させることができる。すなわち、図3において、第4関節部38は、手首部31に対するハンド30の横軸周りの相対的な姿勢を変化させることができる。第6関節部40は、手首部31に対するハンド30の、第4関節部38の横軸及び第5関節部39の縦軸とそれぞれ直交する横軸周りの相対的な姿勢を変化させることができる。前腕リンク32の他端は、上腕リンク33の先端に対して第3関節部37周りに、すなわち、第4関節部38の横軸と平行な横軸周りに回転可能とする。上腕リンク33の他端は、台部34に対して第2関節部36周りに、すなわち、第4関節部38の横軸と平行な横軸周りに回転可能とする。さらに、台部34の上側可動部34aは、台部34の下側固定部34bに対して第1関節部35周りに、すなわち、第5関節部39の縦軸と平行な縦軸周りに回転可能としている。この結果、ロボットアーム5は、合計6個の軸周りに回転可能として前記6自由度の多リンクマニピュレータを構成している。
 各軸の回転部分を構成する各関節部には、回転駆動装置の一例としてのモータ43と、モータ43の回転軸の回転位相角(すなわち関節角)を検出するエンコーダ44とを備えている。モータ43は、各関節部を構成する一対の部材(例えば、回動側部材と、該回動側部材を支持する支持側部材)のうちの一方の部材に備えられ、かつ後述するモータドライバ25により駆動制御される(実際には、ロボットアーム5の各関節部の一方の部材の内部に配設されている)。また、エンコーダ44は、モータ43の回転軸の回転位相角(すなわち、関節角)を検出するために、一方の部材に備えられる(実際には、ロボットアーム5の各関節部の一方の部材の内部に配設されている)。一方の部材に備えられたモータ43の回転軸が他方の部材に連結されて、前記回転軸を正逆回転させることにより、他方の部材を一方の部材に対して各軸周りに回転可能とする。
 46はレール座標系Oであり、レール8の端の点O(図8参照)からの相対的な位置関係を示す。41はレール8のレール可動部8bに固定された台部34の台部座標系であり、レール座標系Oからの相対的な位置関係を示す。手先座標系42は台部座標系41からの相対的な位置関係を示す。
 レール8の端の点Oから見たレール座標系46の原点位置O(x、y)をレール可動部8bの位置(レール位置)とする。さらに、台部座標系41から見た手先座標系42の原点位置O(x、y、z)をロボットアーム5の手先位置(ハンド30の先端の位置)とし、台部座標系41から見た手先座標系42の姿勢をロール角とピッチ角とヨー角とで表現した(φ、θ、ψ)をロボットアーム5の手先姿勢とし、手先位置及び姿勢ベクトルをベクトルr=[x、y、z、φ、θ、ψ]と定義する。ロール角、ピッチ角、ヨー角について図12A~図12Cを用いて説明する。
 まず、絶対座標系35のZ軸を回転軸として、座標系を角度φだけ回転させた座標系を考える(図12A)。このときの座標軸を[X'、Y'、Z]とする。
 次に、この座標系を、Y'を回転軸として角度θだけZ軸周りに回転させる(図12B参照)。このときの座標軸を[X’’、Y'、Z’’]とする。
 最後に、この座標系を、X’’軸を回転軸として、角度ψだけX’’軸周りに回転させる(図12C参照)。このときの座標軸を[X’’、Y’’’、Z’’’]とする。このときの座標系の姿勢を、ロール角度φ、ピッチ角度θ、ヨー角度ψとし、このときの姿勢ベクトルは(φ,θ,ψ)となる。姿勢(φ,θ,ψ)の座標系が、原点位置を手先座標系42の原点位置O(x,y,z)に平行移動した座標系と、手先座標系42が一致する場合、手先座標系42の姿勢ベクトルは(φ,θ,ψ)であるとする。
 ロボットアーム5の手先位置と姿勢とをそれぞれ制御する場合には、手先位置及び姿勢ベクトルrを、後述する目標軌道生成部55で生成された手先位置と姿勢目標ベクトルrとに追従させることになる。
 26はデータ入力IF(インターフェース)であり、人(組立作業者)がボタン又はキーボード又はマウス又はマイクなどの入力装置を使用して、組立作業の開始、終了などの指令を組立ロボット1に入力するインターフェースである。
 表示部14は、例えば作業台7に設置されたディスプレイ装置であり、後述するロボットの動作又は補正するパラメータの種別などを表示部14に表示する。
 動作データベース17は、レール可動部8b及びロボットアーム5の、ある時間における位置及び姿勢など動作(例えば組立動作)に関する情報(動作に関する情報)を記憶して保持している。ここで、動作に関する情報とは、データベースは、前記ロボットアーム5が行う作業(例えば組立作業)に応じた、ロボットアーム5の手先位置姿勢の情報と、ロボットアーム5が機器6に加える力情報と、ロボットアーム5の速度情報と、作業を行わない領域に関する情報である作業不可領域情報とのうちの少なくとも1つの情報を含むものである。
 動作データベース17の詳細について説明する。
 動作データベース17は、例えば、図4に示したレール可動部8b及びロボットアーム5の動作に関する情報で、作業を識別する作業ID番号と、その作業内の個々の動作を識別する動作ID番号と、その動作におけるレール可動部8bの位置に関する情報と、前記動作におけるロボットアーム5の手先位置と姿勢とに関する情報と、前記その動作におけるロボットアーム5が組立作業面(例えば、機器6のフレキシブル基板挿入口75の挿入面)にかける力に関する情報と、ロボットアーム5の位置と姿勢と力とのパラメータのうちのいずれの情報が有効か否かを示すフラグ(有効性を示すフラグ)に関する情報と、各動作が作用する時間に関する情報と、後述する動作補正部20で動作データベース17の動作情報を補正する際の補正すべきパラメータの種別に関する情報と、現在動作中かどうかを示す進捗情報とを保持するように構成される。
 動作データベース17の挿入作業を識別する作業ID番号は、複数種類の組立作業(例えば挿入作業)がある場合に、互いに識別するために、それぞれの作業に対して付された作業ID番号を表す情報である。
 動作データベース17の組立作業内の個々の動作を識別する動作ID番号は、1つの組立作業が複数の組立動作で構成されている場合に、1つの組立作業内の個々の組立動作を互いに識別するために、それぞれの組立動作に対して付された動作ID番号を表す情報である。
 動作データベース17のレール可動部8bの位置に関する情報は、前述したレール位置の情報を表し、すなわち、レール8の端のOから見たレール座標系46の原点位置O(x、y)とし、例えば図8に示すように、組立ロボット1がレール固定部8a上を左から右に走行して組立動作を行なう場合においては、レール可動部8bの第1のレール位置(x、y)、第2のレール位置(x、y)、第3のレール位置(x、y)などを記憶する。
 動作データベース17のレール可動部8bの位置に関する情報は、動作データベース17内に、予め設定しておくか、ロボットアーム5を人の手16で直接把持して、後述するインピーダンス制御モードにて、ロボットアーム5を移動させて記憶させても良い。
 動作データベース17のロボットアーム5の手先位置と姿勢とに関する情報は、前述したロボットアーム5の手先位置と姿勢とを表し、原点位置Oと姿勢とから、(x、y、z、φ、θ、ψ)と表す。
 動作データベース17のロボットアーム5の位置及び姿勢・時間の情報は、例えば、図1に示すように、ロボットアーム5を人の手16で直接把持して、後述するインピーダンス制御モードにて、ロボットアーム5を移動させて、ある一定時間毎(例えば0.2msec毎)にロボットアーム5の手先位置と姿勢の情報を制御部22で取得し(具体的に、制御部22の説明でも記載しているように、順運動学計算部58により各関節部のエンコーダ44で計測された関節角を手先位置及び姿勢に変換してロボットアーム5の手先位置と姿勢の情報を取得し)、時間の情報と共に、動作データベース17に動作記憶部15で記憶する。なお、製品出荷時にメーカにてあらかじめ位置及び姿勢・時間の情報を同様の方法で生成し、動作データベース17に記憶しておいても良い。また、ロボットアーム5を移動させて、(例えば、ロボットアーム5の上方に配置された)カメラなどの画像撮像装置で環境(ロボットアーム56及び機器6を含む環境)を撮影し、得られた画像データ(例えば、得られた環境情報のうちの機器6の挿入口75の画像)と、あらかじめ記憶された物体の画像(例えば機器6の挿入口75の画像)との間でモデルマッチング処理を行い、合致した位置をロボットアーム5の手先位置として動作データベース17に、具体的には図示していないがデータ入力IF26を介して動作記憶部15で記憶するようにしても良い。 動作データベース17に記憶されているロボットアーム5がかける力に関する情報は、ロボットアーム5が作業をする際に対象となる物体にかける力の情報を示し、ロボットアーム5のx、y、z方向にかける力をそれぞれf、f、fとし、さらにφ、θ、ψ方向にかける力をfφ、fθ、fψとする。動作データベース17では、(f、f、f、fφ、fθ、fψ)と表す。例えばf=5[N]である場合は、z軸方向に5Nの力をかけて作業することを表し、機器6の挿入口75にフレキシブル基板74を挿入する組立作業の際に、機器6の挿入口75の挿入面に対して垂直方向に力をかけて挿入する場合などに使用するパラメータである。
 動作データベース17の、ロボットアーム5の位置と姿勢と力とのパラメータのうちのいずれの情報が有効か否かを示すフラグ(有効性を示すフラグ)に関する情報、すなわち、図4の動作データベース17のフラグの情報は、各動作IDが示すロボットアーム5の位置と姿勢と力とのうちのいずれの情報が有効かを示す値であり、具体的には、図5で示した32ビットの数値で表す。図5において、それぞれのビットで位置、姿勢、力のそれぞれの値が有効の場合は「1」とし、無効の場合は「0」とする。例えば、0ビット目は位置のx座標の値が有効の場合は「1」とし、無効の場合は「0」とする。1ビット目は位置のy座標の値が有効の場合は「1」とし、無効の場合は「0」とする。2ビット目は位置のz座標の値が有効の場合は「1」とし、無効の場合は「0」とし、順次、3,4,5ビット目は姿勢のφ、θ、ψの有効性を表す。6ビット目~11ビット目は力のそれぞれの成分f、f、f、fφ、fθ、fψが有効か無効かを表す。また、フラグは将来の拡張用に多め(32ビット)に用意しているため、この例では、12ビット目から31ビット目は使用しないので、「0」を入れておくが、12ビット目のみ、格納できる変数としても良い。図5では、0ビット目から1ビット目が「1」となり、8ビット目が「1」となっているので、動作情報のうち、位置のx、y情報と力のf情報のみが有効であることを示し、動作情報のうち、z、φ、θ、ψ、及び、力のf以外の値のそれぞれに、どういう値が記憶されていても無効であるとする。
 動作データベース17の各動作が作用する時間に関する情報、すなわち、図4の動作データベース17の時間は、各動作を組立ロボット1が実行するために必要な時間であり、この動作IDに記憶された動作を、ここで記憶された時間をかけて組立ロボット1が動作することを表す。この時間は、絶対時刻ではなく、前の動作からの相対時間を表す。すなわち、動作IDが示すレール可動部8bの位置及びロボットアーム5の位置及び姿勢に、レール可動部8b及びロボットアーム5がそれぞれ移動するまでの時間を表す。
 動作データベース17の、動作補正部20で動作データベース17の動作情報を補正する際の補正すべきパラメータの種別に関する情報、すなわち、図4の補正パラメータフラグは、後述する補正動作種別決定部23で決定した種別に応じて、どのパラメータを補正するかを表す情報である。具体的には、図6に示した32ビットの数値で表す。図6において、それぞれのビットで位置、姿勢、力のそれぞれの値の補正が可能な場合は「1」とし、補正が不可能な場合は「0」とする。例えば、0ビット目は位置のx座標の値の補正が可能な場合は「1」とし、不可能な場合は「0」とする。1ビット目は位置のy座標の値の補正が可能な場合は「1」とし、不可能な場合は「0」とする。2ビット目は位置のz座標の値の補正が可能な場合は「1」とし、不可能な場合は「0」とする。順次、3,4,5ビット目は姿勢のφ、θ、ψの補正可能性を表す。同様に、6ビット目~11ビット目は力の補正可能性を表す。また、フラグは将来の拡張用に多め(32ビット)に用意しているため、この例では、12ビット目から31ビット目は使用しないので、「0」を入れておくが、12ビット目のみ、格納できる変数としても良い。
 動作データベース17の、現在動作中かどうかを示す進捗情報は、組立ロボット1の現在動作中の動作であるかどうかどうかを示す情報で、動作中の場合は「1」を記録するとともに、動作中でない場合は「0」を記録する。具体的には、人は、データ入力IF26を介して作業したい組立作業を選択して、選択された情報がデータ入力IF26から動作選択部29に入力される。選択した作業のうちの一番目の組立動作が組立ロボット1で開始されると、動作選択部29により、その組立作業を構成する複数の組立動作のうち、現在動作中の組立動作について「1」を動作データベース17に記憶するとともに、動作していない組立動作について「0」を動作データベース17に記憶する。なお、動作中か否かの情報は、制御部22から指令した動作が終了したことの通知を動作補正部20を介して動作記憶部15に入力し、動作記憶部15にて作業方法データベース17に記憶する。
 図4において、動作ID「1」~「8」は、図21Aに示すように、機器6の挿入口75まで機器6の上方を、ロボットアーム5のハンド30がフレキシブル基板74を把持しながら移動する動作である。動作「9」~「16」は、図21Bに示すように、ロボットアーム5を使用して、機器6の挿入口75にフレキシブル基板74を挿入する動作である。
 図3の動作選択部29は、動作データベース17の作業一覧(例えば、図26のスイッチ26cの中央の下側に表示された「挿入1」及び「挿入2」というような作業表示)から最適な作業を人16がデータ入力IF26を介して選択するとき、選択された作業のうち、現在、動作している動作IDの進捗情報に「1」を設定して動作データベース17に記憶し、その他の動作については「0」を設定して動作データベース17に記憶する。
 作業不可領域データベース28は、組立ロボット1で作業(この例ではフレキシブル基板挿入作業)をしない領域に関する情報を記憶しており、具体的な情報については、図10に示す。図10において、作業不可領域の位置(x、y)は、人が、組立ロボット1により作業をしてほしくない領域を表す。例えば、図11の作業可能面Rのうち、斜線の領域を作業不可領域RBとした場合は、その領域RBを表すのに必要な座標(この例では、矩形領域の4個の角の座標(xc1,yc1)、(xc2,yc2)、(xc3,yc3)、(xc4,yc4))を記憶する。なお、それぞれの座標は、作業を行う作業領域RAの作業経路のうち、レール8の端の座標Oからの相対座標で表す。これらの作業不可領域RBを表す座標は、後述する動作補正部20で生成され、作業不可領域データベース28に記憶される。
 補正動作種別決定部23は、後述する動作補正部20にて、人がその手16でロボットアーム5に力をかけることにより動作の補正を行うことが可能な補正の種別を決定する。例えば、図19Cのように、人がその手16でロボットアーム5に横方向から力をかけると、ロボットアーム5の作業面(例えば、機器6の挿入口75の挿入面)に対する平行な方向(例えば、作業面が水平方向沿いの場合には水平方向を意味する。以下の説明では、説明を簡単にするため、単に「水平方向」と称する。)の位置を移動することで、作業領域RAを平行移動させることができる。この場合の補正動作の種別は、「作業面の位置の移動」である。図18Aに示すようにロボットアーム5で機器6の挿入口75にフレキシブル基板74を挿入中に、図18Cに示すように、人がその手16でロボットアーム5の上方からロボットアーム5(例えばハンド30)に下向きの力をかけると、後述する動作補正部20によって、図19Dのように挿入時の力のかけ具合を強めに設定することができる。この場合の補正動作の種別は、「力のかけ具合」である。このように、補正動作種別決定部23は、人の手16によるロボットアーム5への力のかけ具合とロボットアーム5の手先位置などから、組立動作の補正の種別を決定することができる。なお、詳細については後述する。
 動作補正部20は、動作データベース17の位置と姿勢と時間との情報に基づいて組立ロボット1が組立動作中に、人が手16でロボットアーム5に力をかけることにより、動作データベース17の組立動作情報を補正する機能を持っている。詳細については、後述する。
 動作記憶部15は、動作補正部20により補正した動作情報を動作データベース17若しくは作業不可領域データベース28に記憶する。
 次に、制御パラメータ管理部21の詳細について説明する。
 制御パラメータ管理部21は、動作補正部20の動作補正指示に基づいて、ロボットアーム5のインピーダンス制御モードと、ハイブリッドインピーダンス制御モードと、力制御モードと、力ハイブリッドインピーダンス制御モードと、高剛性の位置制御モードとを切り替える設定、及び、それぞれの制御モード時の機械インピーダンス設定値の設定、及び、それぞれの制御モードで制御部22のインピーダンス計算部51で出力する手先位置及び姿勢目標補正出力rdΔの設定、及び、制御部22の目標軌道設定部55への動作情報の設定を行う。
 さらに、制御パラメータ管理部21は、動作データベース17に記憶されているレール可動部8bの位置(レール8の端の座標Oから見たレール座標系46の原点位置O(x、y))から、作業不可領域データベース28の作業不可領域RBを除いた作業領域RAでの経路を生成する。また、制御部22からロボットアーム5の手先位置又は力の情報などの情報を制御パラメータ管理部21で受けて、制御パラメータ管理部21から動作補正部20へそれらの情報の通知を行う。また、データ入力IF26によりハンド30の開閉の指令が入力されると、データ入力IF26からの入力情報が制御パラメータ管理部21を介して制御部22のハンド制御部54へ入力されて、制御パラメータ管理部21からハンド制御部54へハンド30の開閉指令を出す。
 位置制御モードは、後述する目標軌道生成部55の手先位置及び姿勢目標ベクトル指令に基づいて、ロボットアーム5が作動するモードである。
 インピーダンス制御モードは、人などからロボットアーム5に加わる力に応じて、ロボットアーム5が作動するモードである。
 ハイブリッドインピーダンス制御モードは、位置制御モードでロボットアーム5が動作している最中に、人などからロボットアーム5に加わる力に応じて、ロボットアーム5が作動するモード(インピーダンス制御モード)であり、位置制御モードとインピーダンス制御モードを同時に行うモードである。例えば、機器6の挿入口75にフレキシブル基板74を挿入する組立作業中に、図18Cのように、人の手16でロボットアーム5を直接持って、作業領域RAを平行移動するなどの補正を行うモードである。
 力制御モードは、制御部22へ予め与えられた力で、ロボットアーム5が作業面(例えば、機器6の挿入口75の挿入面)に対してハンド30で把持した対象物(例えば、フレキシブル基板74)を押し付けながら動作する制御モードで、例えば、機器6の挿入口75に対してロボットアーム5が、ある力をかけてフレキシブル基板74を挿入口75に挿入する際に、ロボットアーム5の作業面成分に使用する制御モードである。
 力ハイブリッドインピーダンス制御モードは、6軸の方向別にハイブリッドインピーダンス制御モードかインピーダンス制御モードかを切り替え、さらに、指定した力を作用させて動作する力制御モードで動作させる制御モードである。なお、力制御モードが設定された方向にインピーダンス制御モードを設定することはできない(力制御モードとインピーダンス制御モードは排他的な関係)。
 これらの制御モードは、組立動作の際に、ロボットアーム5の方向及び姿勢別に、それぞれ、以下のように、適切な制御モードを設定して動作させる。
 例えば、組立ロボット1が、図18Aのように、機器6の挿入口75に対して、ハンド30で把持したフレキシブル基板74を、作業面の一例である機器6の挿入口75の挿入面に対して垂直な挿入方向(図18Aでは、挿入口75の挿入面が水平面沿いであるため、水平面対して垂直な挿入方向でかつ下向き)に指定した力をかけて、フレキシブル基板74を挿入口75に挿入する場合には、力ハイブリッドインピーダンス制御モードを設定する。具体的には、(x、y、z、φ、θ、ψ)の6軸のそれぞれに、以下の制御モードを設定する。すなわち、(x、y)成分がハイブリッドインピーダンス制御モードで動作し、(φ、θ、ψ)成分がインピーダンス制御モードで動作し、z軸成分が力制御モードで動作する力ハイブリッドインピーダンス制御モードである。このように機器6の挿入口75の挿入面と平行な方向は、ハイブリッドインピーダンス制御モードとすることで、位置制御モードで動作している最中に、人が操作している際に、ハイブリッドインピーダンス制御モードに切り替えることで、人などからロボットアーム5に加わる力に応じて、ロボットアーム5を移動させることができる。さらに、(φ、θ、ψ)成分をインピーダンス制御モードとすることで、停止している状態で人などからロボットアーム5に加わる力に応じて、ロボットアーム5の姿勢を変更することができるようになる。また、z軸成分を力制御モードに設定することで、指定された力で押し付けながら動作することができるようになる。
 高剛性位置制御モードは、組立作業中の位置制御モードを、さらに高剛性にしたモードで、かつ、後述する位置誤差補償部56でのゲインを大きくすることで実現し、人の手16で力をロボットアーム5にかけると、ロボットアーム5を容易に移動できなくすることで、ロボットアーム5の手先位置の変化量により、人の手16がかけた力を力検出部53で検出することができる。
 機械インピーダンス設定値の設定パラメータとしては、慣性M、粘性D、剛性Kがある。機械インピーダンス設定値の各パラメータの設定は、補正値を使って、以下の評価式に基づいて行う。
Figure JPOXMLDOC01-appb-M000001
Figure JPOXMLDOC01-appb-M000002
Figure JPOXMLDOC01-appb-M000003
 前記式(1)~(3)中のKM、KD、KKはゲインであり、それぞれ、ある定数値である。
 制御パラメータ管理部21は、前記式(1)~(3)に基づいて計算した機械インピーダンスパラメータの慣性M、粘性D、剛性Kを制御部22へそれぞれ出力する。
 前記式(1)~(3)により、例えば、図19Cのように、人が作業面(例えば、挿入口75に対してフレキシブル基板75を挿入する挿入作業を行う作業面)の領域を移動させるように補正させたい場合に、x軸及びy軸以外の位置成分及び姿勢成分が簡単に動くと、前記補正作業を行うことが困難になる。そこで、x軸及びy軸以外の位置成分及び姿勢成分についてのみ、制御パラメータ管理部21で、上述の補正値を高く(具体的には約10倍だけ高く)設定することで、粘性D及び剛性Kが大きくなるように設定されることになり、ロボットアーム5の動きに抵抗感又は硬さが生じ、x軸及びy軸以外の位置成分及び姿勢成分について動きにくくなる。
 又は、別の方法として、後述するインピーダンス計算部51から出力される手先位置及び姿勢目標補正出力rdΔの各成分のうち、x軸及びy軸以外の値を、制御パラメータ管理部21で、全て0にする方法がある。これによって、x軸及びy軸以外は、人の手16の力で移動できなくなるため、誤操作を防ぐことができる。
 さらに、動作補正部20に、ロボットアーム5の手先位置と姿勢と、人のかけた力の情報(ロボットアーム5に作用する人の力に関する情報)とを制御パラメータ管理部21から通知する必要がある。そのため、制御部22からロボットアーム5の手先位置及び力の情報を制御パラメータ管理部21が受けて、動作選択部29と、動作記憶部15と、動作補正部20とへ制御パラメータ管理部21から通知を行う。また、制御パラメータ管理部21は、動作補正部20から入力された、位置と姿勢と時間となどの動作情報を制御部22へ通知する。
 図7は制御部22のブロック図を示す。制御部22は、制御パラメータ管理部21で設定された制御モードで動作し、さらに制御モードに応じて、慣性Mと粘性Dと剛性Kとの設定値に基づき設定されたロボットアーム5の機械インピーダンス設定値に、ロボットアーム5の機械インピーダンスの値を制御する。さらに、制御部22は、挿入作業の場合には、指定された力で、挿入口75の挿入面に対してフレキシブル基板74を押し付ける制御を行う。さらに、制御部22は、レール可動部8bを制御して、ロボットアーム5をレール固定部8a上の指定された位置に移動する制御を行う。
 次に、制御部22の詳細について、図7により説明する。
 制御部22は、ロボットアーム5の各関節部のモータ43の駆動をそれぞれ制御するロボットアーム制御部49と、レール可動部8bのモータ65の駆動を制御するレール制御部48とを備えるように構成される。ロボットアーム制御部49は、位置誤差計算部50とインピーダンス計算部51と力検出手段の一例としての力検出部53とハンド制御部54と目標軌道生成部55と位置誤差補償部56と近似逆運動学計算部57と順運動学計算部58とを備えて構成している。位置誤差補償部56と近似逆運動学計算部57と順運動学計算部58とで位置制御系59を構成している。
 次に、ロボットアーム制御部49について詳細に説明する。
 ロボットアーム5からは、それぞれの関節部の関節軸のエンコーダ44により計測された関節角の現在値(関節角度ベクトル)ベクトルq=[q,q,q,q,q,qが出力され、入出力IF24により制御部22に取り込まれる。ただし、q,q,q,q,q,qは、それぞれ、第1関節部35、第2関節部36、第3関節部37、第4関節部38、第5関節部39、第6関節部40の関節角度である。
 目標軌道生成部55は、制御パラメータ管理部21からの組立動作の入力を受けて、目標とするロボットアーム5の動作を実現するための、手先位置及び姿勢目標ベクトルrと、手先の力ベクトルfと、それぞれの方向別にどのパラメータが有効かを示すフラグ(有効性を示すフラグ)とが出力される。目標とするロボットアーム5の動作は、目的とする組立作業に応じて、動作補正部20から、制御パラメータ管理部21を介して、それぞれの時間(t=0、t=t、t=t、・・・)でのポイントごとの位置及び姿勢(rd0、rd1、rd2、・・・)の情報と、力(fd0、fd1、fd2、・・・)の情報とが目標軌道生成部55に与えられる。
 目標軌道生成部55は、多項式補間を使用し、各ポイント間の軌道と、力とを補間し、手先位置及び姿勢目標ベクトルr及び力ベクトルfを生成する。
 ハンド制御部54は、制御パラメータ管理部21から入力したハンド開閉指令により、ハンド駆動用のモータ62を駆動してハンド30を開閉するよう、ロボットアーム5のハンド駆動用のモータ62へ指令を出す。
 力検出部53は、力検出手段の一例として機能し、人などとロボットアーム5との接触によってロボットアーム5に加わる外力を検出する。力検出部53には、モータドライバ47の電流センサで計測された、ロボットアーム5の各関節部を駆動するモータ43を流れる電流値i=[i,i,i,i,i,iが入出力IF24を介して取り込まれ、また、各関節部の各関節角の現在値qが入出力IF24を介して取り込まれるとともに、後述する近似逆運動学計算部57からの関節角度誤差補償出力uqeが取り込まれる。力検出部53は、オブザーバーとして機能し、以上の電流値iと関節角の現在値qと関節角度誤差補償出力uqeとに基づいて、ロボットアーム5に加わる外力により各関節部に発生するトルクτextを算出する。そして、Fext=J(q)-Tτext-[0,0,mg]によりロボットアーム5の手先における等価手先外力Fextに換算して等価手先外力Fextを出力する。ここで、J(q)は、
Figure JPOXMLDOC01-appb-M000004
を満たすヤコビ行列である。ただし、ただし、v=[v、v、v、ω、ω、ωであり、(v、v、v)は手先座標系42でのロボットアーム5の手先の並進速度、(ω、ω、ω)は手先座標系42でのロボットアーム5の手先の角速度である。また、mはロボットアーム5のハンド30に把持されたフレキシブル基板74の重さであり、gは重力加速度である。フレキシブル基板74の重さmの値は、フレキシブル基板74をハンド30で把持する前に、人がデータ入力IF26から力検出部53に入力することもできるが、通常は、フレキシブル基板74の重さmは度々変更される値ではないため、予め設定した値とすることもできる。
 インピーダンス計算部51は、ロボットアーム5に機械インピーダンス設定値への前記ロボットアーム5の機械インピーダンスの値の制御を実現する機能を果たす部分である。
 インピーダンス制御モードが指定された際には、インピーダンス計算部51から手先位置及び姿勢目標補正出力rdΔを出力する。力ハイブリッドインピーダンス制御モードに切り替えられた際には、フラグ(有効性を示すフラグ)で有効と指定された力成分が存在する場合には、制御パラメータ管理部21で設定されたインピーダンスパラメータである慣性Mと粘性Dと剛性Kと、関節角の現在値qと、力検出部53が検出した外力Fextと、目標軌道生成部55から出力されるfとに基づいて、前記ロボットアーム5の機械インピーダンスの値がロボットアーム5に機械インピーダンス設定値に近づくようにする制御を実現するための手先位置及び姿勢目標補正出力rdΔを、以下の式(4)によりインピーダンス計算部51で計算し、インピーダンス計算部51から出力する。
 手先位置及び姿勢目標補正出力rdΔは、目標軌道生成部55の出力する手先位置及び姿勢目標ベクトルrに位置誤差計算部50で加算され、手先位置及び姿勢補正目標ベクトルrdmが位置誤差計算部50で生成される。例えば、z軸方向のみ、力をかけて挿入し、その他の成分は位置制御モードで動くようにするには、手先位置及び姿勢目標補正出力rdΔのz成分以外を0に位置誤差計算部50で設定する。
Figure JPOXMLDOC01-appb-M000005
ただし、
Figure JPOXMLDOC01-appb-M000006
Figure JPOXMLDOC01-appb-M000007
Figure JPOXMLDOC01-appb-M000008
であり、sはラプラス演算子である。
 位置誤差計算部50は、さらに、手先位置及び姿勢補正目標ベクトルrdmと、後述する順運動学計算部58により計算される手先位置及び姿勢ベクトルrとの誤差rを求め、求められた誤差rを位置誤差補償部56に出力する。
 順運動学計算部58には、ロボットアーム5の各関節部の各関節軸のエンコーダ44からエンコーダ44で計測された関節角の現在値qである関節角度ベクトルqが、入出力IF24を介して入力される。順運動学計算部58は、ロボットアーム5の関節角度ベクトルqから、手先位置及び姿勢ベクトルrへの変換の幾何学的計算を行う。順運動学計算部58で計算された手先位置及び姿勢ベクトルrは、位置誤差計算部50及びインピーダンス計算部51及び目標軌道生成部55に出力される。
 位置誤差補償部56は、位置誤差計算部50で求められた誤差rに基づいて、位置誤差補償出力ureを近似逆運動学計算部57に出力する。
 具体的には、位置誤差補償出力ureは、
Figure JPOXMLDOC01-appb-M000009
により計算される。ここで、Kは比例ゲイン行列、Kは積分ゲイン行列、Kは微分ゲイン行列であり、その対角成分が手先位置ベクトルr = [x、y、z、φ、θ、ψ]の各成分に対するゲインで構成される対角行列である。
 さらに、位置誤差補償部56では、高剛性位置制御モードが設定された際に、比例ゲイン行列K、積分ゲイン行列K、微分ゲイン行列Kをあらかじめ設定された値に大きく設定する。ここで、高剛性とは、通常の位置制御と比較して剛性が高くなることを意味し、具体的には、通常の位置制御モードと比較して大きな値を設定する。例えば、通常の位置制御モード時の2倍程度の値に設定すると、剛性を約2倍まで高くすることができる。
 このようにすることで、高剛性の位置制御を実現することができる。なお、前記ゲインを各成分毎に値を変えることで、例えば、z軸方向のみ高剛性で、その他の方向は通常の位置制御で動作するよう制御することができる。
 近似逆運動学計算部57は、位置誤差補償部56から入力される位置誤差補償出力ureとロボットアーム5において計測される関節角度ベクトルqとに基づいて、近似式uout=J(q)-1inにより、逆運動学の近似計算を行う。ただし、J(q)は、
Figure JPOXMLDOC01-appb-M000010
の関係を満たすヤコビ行列であり、uinは近似逆運動学計算部57への入力であり、uoutは近似逆運動学計算部57からの出力であり、入力uinを関節角度誤差qとすれば、q=J(q)-1のように手先の位置姿勢誤差rから関節角度誤差qへの変換式となる。
 従って、位置誤差補償部56から位置誤差補償出力ureが近似逆運動学計算部57に入力されると、近似逆運動学計算部57からの出力として、関節角度誤差qを補償するための関節角度誤差補償出力uqeが近似逆運動学計算部57から入出力IF24を介してロボットアーム5のモータドライバ25に出力される。
 関節角度誤差補償出力uqeは、入出力IF24のD/Aボードを介してロボットアーム5のモータドライバ25に電圧指令値として与えられ、各モータ43により各関節軸が正逆回転駆動されロボットアーム5が動作する。
 レール制御部48は、目標軌道生成部55から入力されたレール可動部8bの位置情報に基づき、レール可動部8bのモータ65を駆動制御してレール固定部8a上でロボットアーム5をレール可動部8bと共に移動させるように制御を行う。具体的には、レール可動部8bのモータ65の正逆回転駆動をレール制御部48により制御して、ロボットアーム5が連結されたレール可動部8bをレール固定部8a上で左右方向に移動可能としている。
 以下、ロボットアーム5のロボットアーム制御プログラムの実際の動作ステップについて、図16のフローチャートに基づいて説明する。
 ロボットアーム5の関節部のそれぞれのエンコーダ44により計測された関節角度データ(関節変数ベクトル又は関節角度ベクトルq)が制御装置本体部45に取り込まれる(ステップS51)。
 次いで、逆運動学計算部57にて、ロボットアーム5の運動学計算に必要なヤコビ行列J等の計算を行う (ステップS52)。
 次いで、順運動学計算部58にて、ロボットアーム5からの関節角度データ(関節角度ベクトルq)から、ロボットアーム5の現在の手先位置及び姿勢ベクトルrを計算する(ステップS53)。
 次いで、動作補正部20から送信された動作情報に基づき、目標軌道計算部55は、ロボットアーム5の手先位置及び姿勢目標ベクトルr及び力目標ベクトルfを計算する(ステップS54)。
 次いで、力検出部53は、モータ43の駆動電流値iと、関節角度データ(関節角度ベクトルq)と、関節角度誤差補償出力uqeとから、ロボットアーム5の手先における等価手先外力Fextを計算する(ステップS55)。
 次いで、ステップS56では、制御パラメータ管理部21で設定された制御モードを設定する。高剛性位置制御モードのみの場合には、ステップS57に処理を進める。一方、力ハイブリッドインピーダンス制御モード若しくはインピーダンス制御モード若しくはハイブリッドインピーダンス制御モードの場合には、ステップS58へ処理を進める。
 ステップS57(インピーダンス計算部51での処理)では、制御パラメータ管理部21において、高剛性位置制御モードが設定された場合には、インピーダンス計算部51で、手先位置及び姿勢目標補正出力rdΔを0ベクトルとする。その後、ステップS59に進む。
 制御パラメータ管理部21において、力ハイブリッドインピーダンス制御モード、若しくはインピーダンス制御モード若しくはハイブリッドインピーダンス制御モードが設定された場合には、制御パラメータ管理部21において設定された機械インピーダンスパラメータの慣性Mと粘性Dと剛性Kと、関節角度データ(関節角度ベクトルq)と、力検出部53により計算されたロボットアーム5に加わる等価手先外力Fextとから、手先位置及び姿勢目標補正出力rdΔが、インピーダンス計算部51により計算される(ステップS58)。
 次いで、位置誤差計算部50では、手先位置及び姿勢目標ベクトルrと手先位置及び姿勢目標補正出力rdΔの和である手先位置及び姿勢補正目標ベクトルrdmと、現在の手先位置及び姿勢ベクトルrとの差である手先位置及び姿勢の誤差rが計算される(ステップS59、ステップS60)。ステップS60では、位置誤差補償部56の具体例としてはPID補償器が考えられる。定数の対角行列である比例、微分、積分の3つのゲインを適切に調整することにより、位置誤差が0に収束するように制御が働く。ステップS59では、そのゲインを、ある値まで大きくすることで、高剛性の位置制御を実現する。
 ステップS59又はステップS60に次いでステップS61では、近似逆運動学計算部57では、ステップS52で計算したヤコビ行列Jの逆行列を近似逆運動学計算部57で乗算することにより、位置誤差補償出力ureを、手先位置及び姿勢の誤差に関する値から関節角度の誤差に関する値である関節角度誤差補償出力uqeに、近似逆運動学計算部57により変換する。
 ステップS61に次いで、関節角度誤差補償出力uqeが、近似逆運動学計算部57から入出力IF24を通じ、モータドライバ25に与えられ、それぞれのモータ43を流れる電流量を変化させることによりロボットアーム5のそれぞれの関節軸の回転運動が発生する(ステップS62)。
 以上のステップS51~ステップS62が制御の計算ループとして繰り返し実行されることにより、ロボットアーム5の動作の制御、すなわち、ロボットアーム5の機械インピーダンスの値を、前記適切に設定された設定値に制御する動作を実現することができる。
 次に、補正動作種別決定部23と動作補正部20について詳細に説明する。
 補正動作種別決定部23は、動作補正部20にて、人の手16でロボットアーム5に力をかけることで組立動作の補正を行うことが可能な補正の種別を決定する。以下の6種類の補正の種別がある。
 1つ目の補正の種別は、「作業面の位置の移動」である。具体的には、図19Aのように動作する動作情報を使って、モデルチェンジにより大きさ又は剛性が変化したフレキシブル基板74aを機器6の挿入口75に挿入するとき、図19Bのようにフレキシブル基板74aが挿入口75aにひっかかってフレキシブル基板74aのコネクタ部を挿入口75a内に挿入できない場合がある。そのような場合に、図19Cのように、ロボットアーム5が位置制御モードで機器6の挿入口75aにフレキシブル基板74aを挿入している最中に、図19Cのように人の手16でロボットアーム5に横方向から力をかけると、動作補正部20によって、図19Dのようにロボットアーム5の作業面(例えば、機器6の挿入口75の挿入面)に対する水平方向の位置をロボットアーム5が移動することで、ロボットアーム5を機器6の挿入口75の挿入面に対して平行移動することができる。
 2つ目の補正の種別は、フレキシブル基板74の挿入時の「力のかけ具合」である。これは、現在動作中(動作データベース17の進捗情報が「1」)の動作のフラグ(有効性を示すフラグ)において、力のビットが「1」となっている場合に有効である。図18Bに示すように、ロボットアーム5でフレキシブル基板74bの挿入口75bへの挿入作業中に、図18Cのように、人の手16でロボットアーム5に上方から下向きに力をかけると、動作補正部20によって、図18Dのように力のかけ具合を強めに、逆に、人の手16でロボットアーム5に下方から上向きに力をかけると、力のかけ具合を弱めに補正することができる。
 3つ目の補正の種別は、ロボットアーム5の手先「速度」である。図22Aのように、フレキシブル基板74を把持したロボットアーム5が機器6の挿入口75に向かって移動中に、図22Bのように、ロボットアーム5の進行方向に反する方向に人の手16でロボットアーム5に力をかけると、動作補正部20によって、図22Cのように、ロボットアーム5の移動時の速度を減速させることができる。逆に、ロボットアーム5が移動中に、人の手16がロボットアーム5の進行方向に向かって人の手16でロボットアーム5に力をかけると、動作補正部20によって、ロボットアーム5の移動時の速度を加速させることができる。
 4つ目の補正の種別は、「方向(姿勢)の変更」である。図20A及び図20C(図20Aを上から見た図)のように動作する動作情報を使って、モデルチェンジにより、図20Aの機器6の挿入口75の向きが図20Bの挿入口75cのように変更された場合には、図20Bのように、フレキシブル基板74を把持したロボットアーム5を、図20Aの機器6の挿入口75に対する動作と同様な動作で挿入を行うと、フレキシブル基板74が挿入口75cに引っかかってフレキシブル基板74を挿入口75cに挿入することができない。その場合に、図20Dのように、ロボットアーム5によるフレキシブル基板74の挿入作業中に、人の手16でロボットアーム5(特に、フレキシブル基板74を把持しているハンド30)の姿勢の向きを変更するようにロボットアーム5(特にハンド30又はハンド近傍の部分)に力をかけると、動作補正部20によって、図20Eのようにロボットアーム5(特に、フレキシブル基板74を把持しているハンド30)の姿勢を変更して、挿入口75aに合わせてロボットアーム5(特に、ハンド30)の進行方向を変更することができる。これは、ロボットアーム5の手先の姿勢(φ、θ、ψ)を変更することで実現できる。
 5つ目の補正の種別は、「作業をして欲しくない領域」である。人16Aの手16で図23に示すように、ロボットアーム5(例えば、ハンド30)を把持して、作業をして欲しくない領域RBの輪郭に沿って、ロボットアーム5に力をかけてロボットアーム5(例えば、ハンド30)を移動させると、動作補正部20によって、図23のように、作業をして欲しくない領域RBを設定することができる。
 6つ目の補正の種別は、「作業面垂直方向の移動」である。図24Aのように、ロボットアーム5で機器6の挿入口75に対するフレキシブル基板74の挿入作業中に、図24Bのように人の手16でロボットアーム5に、上方向の力をかけて、ロボットアーム5を上方向に移動させると、動作補正部20によって、例えば、図24Cに示すように、機器6の上向きに突出した凸部6aでのフレキシブル基板74の挿入作業を行うことができる。
 補正動作種別決定部23は、前記の6種類の補正の種別のうち、1種類の補正の種別を決定する。具体的には、ボタンなどのデータ入力IF26にて6種の補正の種別のうちの1つの補正の種別を選択するか、若しくは、力検出部53で検出されて情報取得部100で取得された人の手16でロボットアーム5にかけた力と、動作データベース17に記憶されて情報取得部100で取得されたロボットアーム5にかけた力と、補正の種別との関係情報(例えば、力のかかる向きと大きさと補正の種別との関係情報)とにより、補正動作種別決定部23で種別を推定する。
 以下、補正の種別の推定方法の具体的な補正種別推定処理について、図14のフローチャートを使って詳細に説明する。
 組立ロボット1の電源ボタン26aを「ON」にした状態で、人の手16でロボットアーム5を把持して力をロボットアーム5に加えていない場合は、ロボットアーム5は動かない。人の手16でロボットアーム5に力を加えている場合は、インピーダンス制御モード(人の手16の力を検出した方向にインピーダンス制御で移動させるモード)でロボットアーム5を移動させたい方向に移動させることができる。この場合、制御部22の力検出部53にて、ロボットアーム5に作用する力を検出し、力検出部53で検出された力の情報が、情報取得部100を介して、補正動作種別決定部23に入力される(ステップS71)。
 次いで、ステップS72では、力検出部53で検出しかつ情報取得部100で取得された力の全ての成分(f、f、f、fφ、fθ、fψの6成分)が、ある閾値(具体的には、図17のID「1」の(fdx、fdy、fdz、f、f、f))以下であるか否かを補正動作種別決定部23で判断する。力検出部53で検出しかつ情報取得部100で取得された力の全ての成分(f、f、f、fφ、fθ、fψの6成分)が、前記ある閾値以下であると補正動作種別決定部23で判断した場合は、ロボットアーム5は動かず、補正はせず(ステップS88)、補正動作の種別推定方法の補正種別推定処理を終了する。その場合の制御モードは、インピーダンス制御モードである。
 ステップS72にて、力検出部53で検出しかつ情報取得部100で取得された力のいずれかの成分(f、f、f、fφ、fθ、fψの6成分のうちのいずれかの成分)が、前記ある閾値(具体的には、図17のID「1」の(fdx、fdy、fdz、f、f、f))を越えると補正動作種別決定部23で判断した場合は、ステップS73に進む。
 ステップS73では、さらに、現在の組立ロボット1が動作データベース17で動作しているかどうか、を情報取得部100を介して取得した情報を基に補正動作種別決定部23で判定する。具体的には、動作選択部29にて作業を選択しておらず、かつ、動作データベース17の全ての作業IDについて、進捗情報が「0」となっている、と補正動作種別決定部23で判断する場合(作業を開始していない状態)は、動作データベース17で動作していないと補正動作種別決定部23で判定して、ステップS76に進む。動作選択部29にて組立作業を選択して組立を開始しており、かつ、進捗情報が「1」となっていると補正動作種別決定部23で判断している場合は、動作データベース17で動作していると補正動作種別決定部23で判定して、ステップS74に進む。
 ステップS74では、人の手16でロボットアーム5を把持して、ロボットアーム5の動作を補正したい方向に力を加えるとき、力検出部53でロボットアーム5に加えられた力を検出し、力検出部53で検出されかつ情報取得部100を介して取得した人の手16からの力(f、f、f、fφ、fθ、fψ)のそれぞれのある一定時間の変位量を補正動作種別決定部23で計測し、位置成分(f、f、f)と姿勢成分(fφ、fθ、fψ)のどちらの変位量が大きいかを補正動作種別決定部23で計測する。具体的には、図15に示すように、(f、f、f、fφ、fθ、fψ)それぞれの時系列の力を補正動作種別決定部23で計測し、ある一定時間(例えばtime 1)に力がどれくらい変位したか、を補正動作種別決定部23で計測し、最も変位の大きかった成分を補正動作種別決定部23で計測する。この例では、fφの変位が最も大きいので、姿勢成分が位置成分より力がかかっていると補正動作種別決定部23で判断してステップS79へ進む。
 ステップS74にて姿勢の変位量が位置の変位量より大きいと補正動作種別決定部23で判断する場合には、補正の種別は「方向(姿勢)の変更」の種別であると補正動作種別決定部23で決定して、補正の種別推定処理を終了する(ステップS79)。その際の制御モードは、補正の種別を決定する前と同様の制御モード(力ハイブリッドインピーダンス制御モード)である。
 一方、ステップS74にて位置の変位量が姿勢の変位量以上であると補正動作種別決定部23で判断する場合には、さらに、作業面(例えば、機器6の挿入口75の挿入面)に垂直な方向の力成分(例えば、機器6の挿入口75が地面(例えば、機器6の載置面)に水平になるように設置された機器6にフレキシブル基板75のコネクタ部を挿入する場合、又は、組立作業の一部として、地面(例えば、機器6の載置面)に水平になるように設置された機器6の研磨対象面を研磨する研磨作業の場合はf)が、ある閾値(具体的には、図17のID「1」のfdz)以上かどうか、を補正動作種別決定部23で判定する(ステップS75)。
 ステップS75で、作業面(例えば、機器6の挿入口75の挿入面)に垂直な方向の力成分が前記ある閾値より小さい、と補正動作種別決定部23で判定された場合は、さらに作業面(例えば、機器6の挿入口75の挿入面)に水平な方向(作業面沿いの方向)の力成分(例えば作業台7に水平に設定された機器6にフレキシブル基板74を挿入する場合はf、fのいずれか若しくは両方)が、ある閾値(具体的には、図17のID「1」のfdx、fdy)以上であるかどうかを補正動作種別決定部23で判定する(ステップS80)。
 ステップS80にて、作業面(例えば、機器6の挿入口75の挿入面)に水平な方向(作業面沿いの方向)の力成分が前記ある閾値(具体的には、図17のID「1」のf、f)未満であると補正動作種別決定部23で判断する場合は、補正なし(種別なし)と決定して、補正種別推定処理を終了する(ステップS81)。補正なしの場合は補正を中止して作業を行う。
 ステップS80にて、作業面(例えば、機器6の挿入口75の挿入面)に水平な方向(作業面沿いの方向)の力成分が前記ある閾値以上であると補正動作種別決定部23で判断する場合は、ステップS83に進む。
 ステップS83では、さらに補正動作種別決定部23で算出された作業面(例えば、機器6の挿入口75の挿入面)に水平な方向(作業面沿いの方向)のロボットアーム5の移動量が、ある閾値(具体的には、図17のID「2」のg、g)以上であると補正動作種別決定部23で判断する場合は、補正の種別として「作業面の位置の移動」の種別を補正動作種別決定部23で決定して、補正種別推定処理を終了する(ステップS84)。なお、作業面(例えば、機器6の挿入口75の挿入面)に水平な方向の移動量を補正動作種別決定部23で算出するとき、具体的には、制御部22から制御パラメータ管理部21又は情報取得部100を介して人の操作前のロボットアーム5の手先位置と操作中の手先位置を補正動作種別決定部23に入力し、操作中の手先位置から操作前の手先位置を減じた値を移動量として補正動作種別決定部23で算出することができる。また、作業面に垂直な方向の移動量を補正動作種別決定部23で算出するとき、具体的には、制御部22から制御パラメータ管理部21又は情報取得部100を介して人の操作前のロボットアーム5の手先位置のz成分と操作中の手先位置のz成分を補正動作種別決定部23に入力し、操作中の手先位置のz成分から操作前の手先位置のz成分を減じた値を移動量として補正動作種別決定部23で算出することができる。
 ステップS83にて、作業面(例えば、機器6の挿入口75の挿入面)に水平な方向の移動量が前記ある閾値未満であると補正動作種別決定部23で判定された場合は、補正の種別として、作業面(例えば、機器6の挿入口75の挿入面)に水平な方向の「速度」の種別を決定して、補正種別推定処理を終了する(ステップS85)。
 また、ステップS75で、作業面(例えば、機器6の挿入口75の挿入面)に垂直な力が前記ある閾値以上であると補正動作種別決定部23で判定された場合は、さらに、補正動作種別決定部23で算出された作業面(例えば、機器6の挿入口75の挿入面)のロボットアーム5の垂直方向の移動量が、ある閾値(具体的には、図17のID「2」のg)より大きいか否かを補正動作種別決定部23で判断する(ステップS82)。
 ステップS82において、作業面(例えば、機器6の挿入口75の挿入面)の垂直方向の移動量が、前記ある閾値より大きいと補正動作種別決定部23で判断する場合には、補正の種別して「作業面垂直方向の移動」の種別を補正動作種別決定部23で決定して、補正種別推定処理を終了する(ステップS87)。
 また、ステップS82で作業面(例えば、機器6の挿入口75の挿入面)の垂直方向の移動量が前記ある閾値以下であると補正動作種別決定部23で判断する場合には、補正の種別として「力の補正」と決定し(ステップS86)、補正種別推定処理を終了する。
 また、ステップS73において、動作データベース17で動作していないと補正動作種別決定部23で判定された場合には、ステップS76に進み、ステップS76にて、さらに、人の手16でロボットアーム5にかけている力が作業面(例えば、機器6の挿入口75の挿入面)に水平であり、かつ、ある一定時間の水平方向の移動量が、ある閾値(具体的には、図17のID「2」のg、g)以上であるか否かを補正動作種別決定部23で判断する。
 ステップS76において、人の手16でロボットアーム5にかけている力が作業面(例えば、機器6の挿入口75の挿入面)に水平であり、かつ、ある一定時間の水平方向の移動量が、前記ある閾値以上であると補正動作種別決定部23で判断する場合には、補正の種別として「作業をして欲しくない領域」の種別であると決定し(ステップS78)、補正種別推定処理を終了する。ステップS76で、人の手16でロボットアーム5にかけている力が作業面(例えば、機器6の挿入口75の挿入面)に対して水平ではない場合(例えば、垂直である場合)、又は、作業面(例えば、機器6の挿入口75の挿入面)に水平な力であっても水平方向の移動量が前記ある閾値未満であると補正動作種別決定部23で判断する場合は、補正の種別として「補正なし」と決定し(ステップS77)、補正種別推定処理を終了する。
 以上により、ボタンなどのデータ入力IF26を使わずに、補正動作種別決定部23により、補正の種別を切り替えることができる。
 動作補正部20は、動作データベース17の位置と姿勢と時間とに基づいて動作中に、人の手16でロボットアーム5に力をかけることで、動作データベース17の動作情報を補正する機能である。
 以下、動作補正部20の機能について説明する。
 人の手16で、組立ロボット1の作業台7に配置されているデータ入力IF26(例えば操作盤26Aの電源ボタン26aなど)により電源を入れると、動作補正部20は、インピーダンス制御モードで動作するよう、制御パラメータ管理部21へ指令を出す。
 次に、人の手16で、動作選択部29により、動作データベース17の作業の一覧の中から所望の組立作業を選択して、組立動作開始の指示を行う。動作補正部20は、動作データベース17の中から選択された作業IDの動作情報(具体的には、レール可動部8bの位置及びロボットアーム5の位置と姿勢と時間と)に基づきレール可動部8b及びロボットアーム5の制御モードを設定する。この例では、図4の作業ID「3」が選択されたので、動作データベース17の動作ID「1」に対するフラグ(有効性を示すフラグ)のうち、フラグのビットが「1」になっているロボットアーム5の位置及び姿勢のそれぞれに対して、ハイブリッドインピーダンス制御モード(位置制御モードで動作している最中に、人などからロボットアーム5に加わる力に応じて、ロボットアーム5が作動するモード)が動作補正部20で設定され、制御パラメータ管理部21へ指令を出す。動作補正部20から制御パラメータ管理部21へ指令を出すと、図21Aに示すように、挿入口75に向かって、フレキシブル基板75をハンド30で把持したロボットアーム5が移動する。動作ID「1」から順次次の動作情報により、制御パラメータ管理部21へ指令を出す。動作ID「9」は力ハイブリッドインピーダンス制御モードで動作するように、制御パラメータ管理部21へ指令を出す。
 力ハイブリッドインピーダンス制御モードの場合は、動作データベース17の動作IDに対するフラグ(有効性を示すフラグ)のうち、フラグのビットが「1」になっているロボットアーム5の位置及び姿勢のそれぞれに対して、ハイブリッドインピーダンス制御モード(位置制御モードで動作している最中に、人などからロボットアーム5に加わる力に応じて、ロボットアーム5が作動するモード)が動作補正部20で設定され、力のフラグ(有効性を示すフラグ)のビットが「1」になっている成分は力制御モードが動作補正部20で設定される。位置及び姿勢の6成分のうち、ハイブリッドインピーダンス制御モードも力制御モードもいずれも設定されていない成分は、インピーダンス制御モードが動作補正部20で設定される。
 例えば、図4の作業ID「3」の動作ID「9」の場合は、挿入口75に対してフレキシブル基板74を挿入する作業を示しており、動作IDが「9」の場合のフラグは1,2,8ビット目のみ「1」であるので、x軸成分及びy軸成分に対しては、ハイブリッドインピーダンス制御モードが動作補正部20で設定されるとともに、z軸成分に対しては力制御モードが動作補正部20で設定され、姿勢成分に対してはインピーダンス制御モードが動作補正部20で設定される。
 制御パラメータ管理部21は、動作補正部20から指令を受ける。すなわち、力ハイブリッドインピーダンス制御モード若しくは力ハイブリッドインピーダンス制御モードで組立作業をするように動作補正部20から制御パラメータ管理部21へ指令を出すと、図21A~図21Bに示すように、ロボットアーム5が挿入口75に向かって移動した後、挿入口75にフレキシブル基板74を挿入する作業をロボットアーム5が開始する。
 次に、モデルチェンジなどにより、フレキシブル基板74又は挿入口75の仕様変更に伴って、人が状況などを確認して、図19Cに示すように、もう少し横方向にロボットアーム5を平行移動させて作業させたい場合を例にとって説明する。 図19Cに示すように、人の手16でロボットアーム5を直接つかんで、作業面(例えば、機器6の挿入口75の挿入面)に対して平行移動するように作業面(例えば、機器6の挿入口75の挿入面)に平行に力をロボットアーム5にかける。
 補正動作種別決定部23により、情報取得部100で取得された、人の手16がロボットアーム5にかけた力と動作データベース17に記憶された情報とにより、図14のフローチャートに示した補正種別推定処理で補正の種別を推定して決定する。ここでは、人の手16で、作業面(例えば、機器6の挿入口75の挿入面)に水平な方向に力をロボットアーム5にかけて、ロボットアーム5を前記ある閾値以上移動させているので、ステップS84において、補正の種別として「作業面の位置の移動」の種別であると補正動作種別決定部23で決定する。
 図4の作業IDが「3」の場合で動作IDが「9」に示す作業の場合は、x軸成分及びy軸成分は力ハイブリッドインピーダンス制御モードにより、位置制御モードでロボットアーム5を移動させながら、インピーダンス制御モードにより人の手16でロボットアーム5にかけられた力を力検出部53で検出して人の手16でロボットアーム5に力をかけた方向にロボットアーム5をx軸方向及びy軸方向に移動させて、図19Dのようにフレキシブル基板75の挿入位置を補正することができる。
 なお、この例では、x軸の方向及びy軸の方向にのみ動作を補正したいので、補正動作種別決定部23で補正の種別が決定されたタイミングで、補正動作種別決定部23により、図6の補正パラメータフラグの0,1ビット目を「1」に設定するとともに、その他のビットを「0」に設定して、補正動作種別決定部23から制御パラメータ管理部21へ指令を出すことで、x軸及びy軸以外の移動ができないように設定することができる。さらに、インピーダンス制御モード時の機械インピーダンス設定値を補正動作種別決定部23で変更して補正動作種別決定部23から制御パラメータ管理部21へ指令を出すことで、ロボットアーム5のx軸方向及びy軸方向の剛性を他の方向の剛性よりも低くして、人の手16でロボットアーム5をx軸方向及びy軸方向に動かしやすくし、x軸方向及びy軸方向以外の方向の剛性を高くして、人の手16でロボットアーム5をx軸方向及びy軸方向以外の方向に動かしにくくするようにすることができる。これにより、ロボットアーム5のx軸成分及びy軸成分のみを補正したい場合に、ロボットアーム5のz軸成分の補正を誤って行なうことがないようにできる。また、ロボットアーム5のx軸方向及びy軸方向の補正中に、補正動作種別決定部23により、z軸成分の作業面(例えば、機器6の挿入口75の挿入面)にかける力を、補正前の動作時より弱く若しくは小さく(具体的には半分程度に)することもできる。又は、力制御を停止するよう、補正動作種別決定部23から制御パラメータ管理部21へ指令を出すこともできる。具体的には、動作データベース17のフラグの6~17ビット目を「0」に補正動作種別決定部23で設定する。これにより、x軸方向及びy軸方向にロボットアーム5を移動させて補正している最中に、ロボットアーム5に力をかけて機器6を傷つけることを防ぐことができる。
 上述のように、人の手16でロボットアーム5を把持して、作業面(例えば、機器6の挿入口75の挿入面)に水平な方向へ力をかけてロボットアーム5をΔx分及びΔy分だけx軸方向及びy軸方向に移動させた場合に、Δxの値及びΔyの値が、制御部22と制御パラメータ管理部21とを経由して、動作補正部20に送信される。
 動作補正部20では、選択された作業IDの動作情報の全てのx座標の値からΔxを減じ、さらに、全てのy座標の値から、Δyを減じて補正した動作情報を、動作補正部20から制御パラメータ管理部21へ送信する。制御パラメータ管理部21は、Δx分及びΔy分を補正した座標でロボットアーム5が動作するように制御部22へ指示する。これにより、図19Dのような動作に補正される。次に、Δx及びΔy分だけ減じた動作情報を、動作記憶部15で動作データベース17に記憶する。
 次に、図24Bのように、例えば、機器6上を作業中に、機器6に設置された凸部6aで挿入作業する場合は、人の手16でロボットアーム5を直接把持して、作業面(例えば、機器6の挿入口75の挿入面)に対して垂直方向の上向きに移動するように作業面(例えば、機器6の挿入口75の挿入面)に垂直に力をロボットアーム5にかける。
 補正動作種別決定部23により、情報取得部100でそれぞれ取得された、人の手16がロボットアーム5にかけた力と動作データベース17の情報とにより、図14のフローチャートに示した補正種別推定処理で補正の種別を推定して決定する。ここでは、人の手16でロボットアーム5に、作業面(例えば、機器6の挿入口75の挿入面)の垂直方向に力をかけて、ロボットアーム5を前記ある閾値以上移動させているので、ステップS87において、補正の種別として「作業面の垂直方向の移動」の種別であると補正動作種別決定部23で決定する。
 力ハイブリッドインピーダンス制御モード若しくはハイブリッドインピーダンス制御モードにより、位置制御モードでロボットアーム5を移動させながら、インピーダンス制御モードにより、人の手16の力を力検出部53で検出してロボットアーム5に人の手16で力をかけた方向にロボットアーム5をz軸方向に移動させて、図24Cのように挿入位置をz軸方向に補正することができる。
 なお、この例では、z軸の方向にのみ動作を補正したいので、補正動作種別決定部23で補正の種別が決定されたタイミングで、補正動作種別決定部23により、図6の2ビット目を「1」に設定するとともに、それ以外のビットを「0」に設定して、補正動作種別決定部23から制御パラメータ管理部21へ指令を出すことで、z軸方向以外の移動ができないように設定することができる。さらに、インピーダンス制御モード時の機械インピーダンス設定値を補正動作種別決定部23で変更して補正動作種別決定部23から制御パラメータ管理部21へ指令を出すことで、z軸方向の剛性を他の方向の剛性よりも低くして、人の手16でロボットアーム5をz軸方向に動かしやすくし、z軸方向以外の剛性を高くして、人の手16でロボットアーム5をz軸方向以外の方向に動かしにくくするようにすることができる。
 また、ロボットアーム5のz軸方向の動作を補正する際に、補正動作種別決定部23により、z軸成分の作業面(例えば、機器6の挿入口75の挿入面)にかける力を、補正前の動作時より弱く若しくは小さく(具体的には半分程度に)することもできる。又は、力制御を停止するよう、補正動作種別決定部23から制御パラメータ管理部21へ指令を出すこともできる。具体的には、動作データベース17のフラグの6~17ビット目を「0」に補正動作種別決定部23で設定する。これにより、z軸方向にロボットアーム5を移動させている最中に、ロボットアーム5に力をかけて機器6を傷つけることを防ぐことができる。
 上述のように、人の手16でロボットアーム5を把持して、作業面(例えば、機器6の挿入口75の挿入面)の垂直方向へ力をかけてロボットアーム5をΔz分だけz軸方向に移動させた場合に、Δzの値が、制御部22と制御パラメータ管理部21とを経由して、動作補正部20に送信される。
 動作補正部20では、選択された作業IDの動作情報の全てのz座標の値からΔzを減じて補正した動作情報を、動作補正部20から制御パラメータ管理部21へ送信する。制御パラメータ管理部21は、Δz分の補正した座標でロボットアーム5が動作するように制御部22へ指示する。これにより、図24Cのような動作に補正される。次に、Δz分減じた動作情報を、動作記憶部15で動作データベース17に記憶する。
 図20Bのように、例えば、ロボットアーム5の姿勢を変更させる場合は、図20Dのように、人の手16でロボットアーム5を直接把持して、変更したい方向にロボットアーム5を移動させる。
 補正動作種別決定部23により、情報取得部100でそれぞれ取得された、人の手16がロボットアーム5にかけた力と動作データベース17の情報とにより、図14のフローチャートに示した補正種別推定処理で補正の種別を推定して決定する。ここでは、人の手16でロボットアーム5を変更したい方向に移動させようと力をかけているので、ステップS79において、補正の種別として「方向(姿勢)の変更」の種別であると補正動作種別決定部23で決定する。
 ハイブリッドインピーダンス制御モード若しくは力ハイブリッドインピーダンス制御モードにより、位置制御モードでロボットアーム5を移動させながら、インピーダンス制御モードにより、人の手16でロボットアーム5にかけた力を力検出部53で検出して人の手16でロボットアーム5に力をかけた方向にロボットアーム5をφ軸方向に回転させて、図20Eのように挿入方向を補正することができる。
 なお、この例では、φ軸の方向にのみ動作を補正したいので、補正動作種別決定部23で補正の種別が決定されたタイミングで、補正動作種別決定部23により、図6の補正パラメータフラグの3ビット目を「1」に設定するとともに、それ以外のビットを「0」に設定して、補正動作種別決定部23から制御パラメータ管理部21へ指令を出す。これにより、φ軸方向以外の移動ができないように補正動作種別決定部23で設定することができる。さらに、インピーダンス制御モード時の機械インピーダンス設定値を補正動作種別決定部23で変更して補正動作種別決定部23から制御パラメータ管理部21へ指令を出すことで、φ軸方向の剛性を他の方向の剛性より低くして、人の手16でロボットアーム5をφ軸方向に動かしやすくし、φ軸方向以外の剛性を高くして、人の手16でロボットアーム5をφ軸方向以外の方向に動かしにくくするようにすることができる。
 また、ロボットアーム5のφ軸方向の補正中に、補正動作種別決定部23により、z軸成分の作業面(例えば、機器6の挿入口75の挿入面)にかける力を、補正前の動作時より弱く若しくは小さく(具体的には半分程度に)することができる。又は、力制御を停止するよう、補正動作種別決定部23から制御パラメータ管理部21へ指令を出すこともできる。具体的には、動作データベース17のフラグの6~17ビット目を「0」に補正動作種別決定部23で設定する。これにより、φ軸方向に移動させている最中に、ロボットアーム5に力をかけて機器6を傷つけることを防ぐことができる。
 上述のように、人の手16でロボットアーム5を把持して、作業面(例えば、機器6の挿入口75の挿入面)の垂直方向へ力をかけてロボットアーム5をΔφ分だけφ軸方向に回転させた場合に、Δφの値が、制御部22と制御パラメータ管理部21とを経由して、動作補正部20に送信される。
 動作補正部20では、選択された作業IDの動作情報の全てのφ座標の値からΔφを減じて補正した動作情報を、動作補正部20から制御パラメータ管理部21へ送信する。制御パラメータ管理部21は、Δφ分の補正した座標でロボットアーム5が動作するように制御部22へ指示する。これにより、図20Eのような動作に補正される。次に、Δφ分だけ減じた動作情報を、動作記憶部15で動作データベース17に記憶する。
 以上により、動作補正部20は、動作データベース17の位置と姿勢と時間とにより、ハイブリッドインピーダンス制御モード若しくは力ハイブリッドインピーダンス制御モードで動作している状態で、人の手16でロボットアーム5に力をかけることで、生成された位置を方向別に補正することができるようになる。
 次に、図18Cのように、組立作業時の作業面(例えば、機器6の挿入口75の挿入面)に対する力を変更する場合は、人の手16でロボットアーム5を直接把持して、作業面(例えば、機器6の挿入口75の挿入面)に対して垂直方向に力をロボットアーム5にかける。
 補正動作種別決定部23により、情報取得部100でそれぞれ取得された、人の手16がロボットアーム5にかけた力と動作データベース17の情報とにより、図14のフローチャートに示した補正種別推定処理で補正の種別を推定して決定する。ここでは、人の手16で作業面(例えば、機器6の挿入口75の挿入面)の垂直方向に力をロボットアーム5にかけて、ロボットアーム5を前記ある閾値以上移動させていないので、ステップS86において、補正の種別として「力の補正」の種別であると補正動作種別決定部23で決定する。
 補正動作種別決定部23で補正の種別が「力の補正」であると決定したタイミングで、力ハイブリッドインピーダンス制御モードから高剛性位置制御モードで動作するよう補正動作種別決定部23から制御パラメータ管理部21へ指令を出す。補正動作種別決定部23から制御パラメータ管理部21への指令時に、高剛性位置制御モードでは、方向別に位置制御時の高剛性を補正動作種別決定部23で設定することができるため、例えば図4の動作データベース17の作業ID「3」でかつ動作ID「9」の動作のフラグは、0、1、8ビットが「1」に設定されているので、z軸方向は力制御モードで動作し、その他の方向はハイブリッドインピーダンス制御モードで動作するため、z軸方向のみ高剛性位置制御モードで動作し、その他の方向はハイブリッドインピーダンス制御モードで動作するよう、補正動作種別決定部23から制御パラメータ管理部21へ指令を出す。
 次に、図18Cに示すように、ロボットアーム5がフレキシブル基板74の挿入作業のために動作している最中に、人の手16でロボットアーム5を直接把持して、挿入する力を強め(より強い力)に変更をしたい場合には、人の手16で作業面(例えば、機器6の挿入口75の挿入面)に向かってロボットアーム5に下方向に力をかける。高剛性位置制御モードでは、組立作業時のハイブリッドインピーダンス制御モードのうち、方向別設定された位置制御モードを、さらに高剛性にしたモードで、かつ、位置誤差補償部56でのゲインを大きく(具体的には、組立作業時の位置制御モードの2倍程度に)することで実現し、人の手16でロボットアーム5に力をかけると、ロボットアーム5を容易に移動させることができず、人の手16でロボットアーム5にかけた力を力検出部53で検出することができる。制御部22の力検出部53で検出された力を動作補正部20に通知する。動作補正部20に通知された力を、動作記憶部15で動作データベース17に記憶することで、強めに(より強い力で)挿入するよう動作を補正することができる。人が補正を終了したい場合は、ロボットアーム5を把持して力をロボットアーム5にかけることを止める。人の手16でロボットアーム5に力をかけない場合は、図14のステップS72により、力の全ての成分が前記閾値以下になるので、補正動作種別決定部23により、補正の種別として「補正なし」であると決定する(図14のステップS88)。動作補正部20は、「補正なし」の情報を受けて、高剛性の位置制御モードからハイブリッドインピーダンス制御モードで制御するよう、補正動作種別決定部23から制御パラメータ管理部21に指令を出す。これにより、補正後の動作データベース17で作業を行う。
 以上により、動作補正部20は、動作データベース17の力の情報により、ハイブリッドインピーダンス制御モードで動作している状態で、人の手16が力をかけることで、補正された力で挿入するように補正することができるようになる。
 次に、図22Bのように、ロボットアーム5の移動時の速度を変更する場合は、人の手16でロボットアーム5を直接把持して、加速したい場合は、挿入のためのロボットアーム5の進行方向と同じ向きに人の手16でロボットアーム5に力をかける一方、減速したい場合は、挿入のためのロボットアーム5の進行方向に逆らう向きに人の手16でロボットアーム5に力をかける。その際に、ロボットアーム5の手先位置の速度を変えても良いが、位置は前記ある閾値以上動かさないように人の手16でロボットアーム5に力をかける。
 補正動作種別決定部23により、情報取得部100でそれぞれ取得された、人の手16でロボットアーム5にかけた力と動作データベース17の情報とにより、図14のフローチャートに示した補正種別推定処理で補正の種別を推定して決定する。ここでは、人の手16で作業面(例えば、機器6の挿入口75の挿入面)に水平な方向に力をロボットアーム5にかけて、ロボットアーム5を前記ある閾値以上移動させていないので、図14のステップS85により、補正の種別として、作業面(例えば、機器6の挿入口75の挿入面)に水平な方向の「速度」の種別であると補正動作種別決定部23で決定する。
 ハイブリッドインピーダンス制御モードにより、位置制御モードでロボットアーム5を移動させながら、インピーダンス制御モードにより、人の手16でロボットアーム5にかけた力を力検出部53で検出して、人の手16でロボットアーム5に力をかけた方向に、ロボットアーム5をx軸方向及びy軸方向に移動させる。動作データベース17で例えば作業IDと動作IDとで示されたロボットアーム5の位置(x、y、z)から、次の動作IDのロボットアーム5の位置(x、y、z)まで移動するのにかかる時間をtとすると、ロボットアーム5の速度を人の手16の力で変更した場合(図22B参照)には、すなわち、位置(x、y、z)から位置(x、y、z)までに移動するのにかかる時間がtからtに変更された場合には、時間tの値が、制御部22と制御パラメータ管理部21とを経由して、動作補正部20に送信される。動作補正部20では、選択された作業IDの動作情報について、tの時間からtの時間に変更して、動作補正部20から制御パラメータ管理部21へ送信する。制御パラメータ管理部21において、補正した時間であるtで動作するように制御パラメータ管理部21から制御部22へ指示する。これにより、図22Cのような動作に補正される。次に、時間tを、動作記憶部15で動作データベース17に記憶する。
 以上により、動作補正部20は、動作データベース17の位置と姿勢と時間との情報により、力ハイブリッドインピーダンス制御モードで動作している状態で、人の手16でロボットアーム5に力をかけることで、ロボットアーム5の動作速度を補正することができるようになる。
 図23に示すように、組立ロボット1に作業をして欲しくない領域RBを、ロボットアーム5を使って設定する場合を例にとって説明する。
 人の手16で組立ロボット1の上部に配置されているデータ入力IF26(例えば操作盤26Aの電源ボタン26aなど)により電源を入れると、動作補正部20は、インピーダンス制御モードで動作するよう、制御パラメータ管理部21へ指令を出す。動作選択部29にて作業を選択していない状態で、図23に示すように、人16Aの手16がロボットアーム5(例えばハンド30など)を直接把持して、作業面(例えば、機器6が載置されている作業台7の上面)に対して平行な方向に移動するようにロボットアーム5を移動させて、作業をして欲しくない領域RBの輪郭に沿って、ロボットアーム5(例えばハンド30)を移動させる。図25Aは、作業面(例えば、機器6が載置されている作業台7の上面)を上方から見た図で、作業をして欲しくない領域RBを斜線の領域とすると、人の手16がロボットアーム5を移動させて、矢印のように、作業をして欲しくない領域RBの輪郭にロボットアーム5(例えばハンド30)を沿わせて、移動させる。その際、ロボットアーム5の手先(ハンド30)の上面の中央先端にマーク63が付与されており(図25A及び図25B参照)、作業をして欲しくない方向にマーク63を向けて移動させる。
 補正動作種別決定部23により、図14に示した補正種別推定処理を実行して動作データベース17で動作していないと判定し(ステップS72,S73,S76)、さらに、人の手16でロボットアーム5にかけている力が作業面(例えば、機器6が載置されている作業台7の上面)に水平であり、かつ、ある一定時間の水平方向の移動量が、前記ある閾値以上の場合は、ステップS78において、補正の種別として「作業をしてほしくない領域」の種別であると決定する。
 インピーダンス制御モードにより、人の手16でロボットアーム5にかけた力を力検出部53で検出して、人の手16でロボットアーム5に力をかけた方向に、ロボットアーム5をx軸方向及びy軸方向に移動させて、図25Aのように、位置(x、y)、位置(x、y)、位置(x、y)、位置(x、y)の順にロボットアーム5(例えばハンド30)を移動させる。このとき、これらの位置情報が、制御部22と制御パラメータ管理部21とを経由して、動作補正部20に送信される。動作補正部20は、その指令を受けて、これらの位置情報が作業不可領域RBの情報として、動作記憶部15により作業不可領域データベース28に記憶する。これらの4つの位置が作業不可領域RBの頂点の情報であることは、例えば、ある一定間隔で人が移動させたロボットアーム5の手先位置を取得して、取得した手先位置の座標をつなげて領域を生成し、それを作業不可領域RBとすることができる。さらに、どのような形の領域とするかを決定する機能を追加し、例えば、「矩形」と設定されている場合は、90度近くの角度で移動方向が変われば、その位置を頂点の情報として記憶し、「ランダム」と設定された場合は、ある一定間隔で人が移動させたロボットアーム5の手先位置を取得して、取得した手先位置の座標をつなげて生成し、それを作業不可領域RBとすることができる。
 なお、この例では、x軸の方向及びy軸の方向にのみロボットアーム5の動作を補正したいので、補正動作種別決定部23で、補正の種別が決定されたタイミングで、図6の補正パラメータフラグの0,1ビット目を「1」に設定するとともに、その他のビットを「0」に設定して、補正動作種別決定部23から制御パラメータ管理部21へ指令を出すことで、ロボットアーム5がx軸方向及びy軸方向以外の軸方向への移動ができないように設定することができる。さらに、インピーダンス制御モード時の機械インピーダンス設定値を変更して補正動作種別決定部23から制御パラメータ管理部21へ指令を出すことで、x軸方向及びy軸方向の剛性を低くして、人の手16でロボットアーム5をx軸方向及びy軸方向に動かしやすくし、x軸方向及びy軸方向以外の軸方向の剛性を高くして、人の手16でロボットアーム5をx軸方向及びy軸方向以外の軸方向に動かしにくくするようにできる。
 以上により、動作補正部20は、人の手16が力をかけることで、作業をして欲しくない領域の設定を行うことができるようになる。
 表示部14には、図9に示すように、表示部14の画面を左右2画面14a,14bに分割して表示し、左側の画面14aに、動作データベース17で記述されたロボットアーム5の組立動作が映像若しくは写真若しくはテキストで表示される。さらに、右側の画面14bには、補正動作種別決定部23にて推定された補正の種別の情報を映像若しくは写真若しくはテキストで表示する。この図9の例では、人の手16で作業面(例えば、機器6の挿入口75の挿入面)に垂直に力をロボットアーム5にかけて、力のかけ具合を補正するような動作をすると、補正動作種別決定部23が、補正の種別として「力の補正」の種別であると決定したタイミングで、右側の画面14bに力の補正をしている映像と現在の力の強弱を表示する。
 なお、この例では、映像若しくは写真、テキストとしたが、動作を説明する音声などでも良い。
 以上の動作補正部20と補正動作種別決定部23と動作選択部29と動作記憶部15と動作データベース17と制御パラメータ管理部21の動作ステップ(すなわち、組立ロボット1を駆動開始してから組立作業を開始するまでの間に行う、組立作業及び組立動作の設定処理)について、図13のフローチャートに基づいて説明する。
 人の手16でデータ入力IF26により、組立ロボット1の電源をオンする(ステップS121)。
 次いで、動作補正部20が、インピーダンス制御モードで制御するように制御パラメータ管理部21へ指令を出す(ステップS122)。
 次に、作業不可領域RBの補正かどうか、を補正動作種別決定部23により判定する(ステップS130)。作業不可領域RBの補正であると補正動作種別決定部23により判定された場合は、動作補正部20にて補正を行い(ステップS133)、その補正の情報を動作記憶部15により動作データベース17に記憶する(ステップS134)。その後、ステップS123に進む。
 ステップS130で作業不可領域RBの補正ではない、と補正動作種別決定部23により判定された場合に、又は、ステップS134を実行した後の場合に、ステップS123に進む。ステップS123では、動作選択部29により、人が、表示部14に表示された組立作業の一覧から1つの作業をデータ入力IF26を介して選択し、動作データベース17の進捗情報に、選択された現在の作業を設定する(ステップS123)。
 次いで、動作補正部20は、制御パラメータ管理部21へ力ハイブリッドインピーダンス制御モードで動作するよう指令を出し、人の手16でロボットアーム5を機器6などの作業面(例えば、機器6の挿入口75の挿入面)まで誘導し、データ入力IF26(例えば、スイッチ26cのスタートボタン)にて、ハイブリッドインピーダンス制御モード若しくは力ハイブリッドインピーダンス制御モードに切り替えて、作業開始の指令を行う(ステップS124)。
 次いで、人が補正したい方向に力をかけると、補正動作種別決定部23により補正動作の種別を推定して決定する(ステップS125)。
 次いで、ステップS125で、補正の種別として、作業面(例えば、機器6の挿入口75の挿入面)にかける力の補正の種別であると補正動作種別決定部23で決定した場合は、作業面(例えば、機器6の挿入口75の挿入面)に垂直な方向に対して高剛性の位置制御モードで動作するよう、動作補正部20から制御パラメータ管理部21へ指令を出す(ステップS126,S127)。
 次いで、人の手16でロボットアーム5を把持して、補正したい方向に人の手16でロボットアーム5に力をかけることで、動作補正部20が動作情報を補正する(ステップS128)。
 一方、ステップS125で、補正の種別として作業面(例えば、機器6の挿入口75の挿入面)にかける力の種別以外の補正の種別であると決定した場合は、制御モードは力インピーダンス制御モードで変更せず、補正したい方向に人の手16でロボットアーム5に力をかけることで、動作補正部20が動作情報を補正する(ステップS126,S128)。
 次いで、ステップS128で補正された動作情報は、動作記憶部15により、動作データベース17に記憶されて、一連の組立作業及び組立動作の設定処理を終了する(ステップS129)。
 一方、ステップS125で、補正動作種別決定部23により、補正の種別として「補正なし」であると決定した場合は、一連の組立作業及び組立動作の設定処理を終了する(ステップS126,S131)。
 組立作業及び組立動作の設定処理終了後は、設定された組立作業及び組立動作に基づき、組立ロボット1により組立作業を行う。
 以上の動作ステップS121~ステップS122,ステップS130,ステップS123及びステップS124、ステップS133~ステップS134により、ハイブリッドインピーダンス制御モード若しくは力ハイブリッドインピーダンス制御で動作中に、ハイブリッドインピーダンス制御モード若しくは高剛性位置制御にて、組立動作を補正することで、ロボットアーム5による組立作業が実現する。
 また、補正動作種別決定部23により、複数の動作をボタンなどを使わずに人の手16でロボットアーム5に力をかけるだけで、自動で切り替えて補正することが可能となる。
 また、制御パラメータ管理部21と制御部22とを有することにより、補正動作の種別に応じて、ロボットアーム5の機械インピーダンス値を適宜設定することで、ロボットアーム5の補正方向に応じて、機械インピーダンス値を変更させて制御したり、補正中の力を弱めたり停止することができるので、動作の補正中に、機器6を傷つけることを防ぐことができる。
 なお、前記第1実施形態において、動作補正部20は、補正動作種別決定部23により、情報取得部100でそれぞれ取得された、人の手16でロボットアーム5にかけた力と動作データベース17の情報とにより、補正の種別の推定を行った後で、すぐに動作の補正を行ったが、人の手16で誤ってロボットアーム5に力をかけて、人の意図しない補正の種別を選択してしまう事を防ぐために、補正動作種別決定部23で推定後、ある一定時間後に補正を開始しても良い。この場合、補正が始まるまでは、人は意図した補正種別を選択するまで、何度でも操作することができる。
 また、前記第1実施形態において、動作選択部29と動作記憶部15と動作補正部20と補正動作種別決定部23と制御パラメータ管理部21と制御部22となどのそれぞれ、又は、そのうちの任意の一部は、それ自体がソフトウェアで構成することができる。よって、例えば、本明細書の前記第1実施形態又は後述する実施形態の制御動作を構成するステップを有するコンピュータプログラムとして、記憶装置(ハードディスク等)などの記録媒体に読み取り可能に記憶させ、そのコンピュータプログラムをコンピュータの一時記憶装置(半導体メモリ等)に読み込んでCPUを用いて実行することにより、前記した各ステップを実行することができる。
(第2実施形態)
 本発明の第2実施形態における、ロボットアームの制御装置を備える組立ロボット1の前記ロボットアームの制御装置の基本的な構成は、第1実施形態の場合と同様であるので、共通部分の説明は省略し、異なる部分についてのみ以下、詳細に説明する。
 第2実施形態において、第1実施形態と同様に、図1に示すように、セル生産の工場でテレビ又はDVDレコーダなどの機器6のフレキシブル基板挿入口75にフレキシブル基板74を取り付ける場合を例にとって説明する。
 組立ロボット1の構成を図27に示す。
 制御装置本体部45と、周辺装置47と、作業負荷領域データベース28と、動作記憶部15と、動作選択部29と、対象物力検出手段の一例として機能する対象物力検出部78(図27に示すように、対象物力検出機構76と対象物力情報出力部77とで構成されている。ただし、対象物力検出機構76は、理解しやすくするため、本来の配置位置であるハンド30の位置とは別に仮想線で対象物力情報出力部77の近くに図示している。)以外のロボットアーム5とは、第1実施形態と同様であるので、説明は省略する。
 対象物力検出機構76は、例えば、6軸の力センサの機構で構成され、ロボットアーム5のハンド30付近に配置する。対象物力検出機構76は、図28Aに示すように、ロボットアーム5がフレキシブル基板74を挿入口75に挿入したり、図28Bに示すように、人が手16でロボットアーム5を把持しながら操作してロボットアーム5によりフレキシブル基板74を挿入口75に挿入するように、人がロボットアーム5に教示をしている際に、図28Cに示すように、フレキシブル基板74に加わる力を検出する機構である。対象物力情報出力部77は、対象物力検出機構76で検出した6軸の力の値を動作補正部20と補正動作種別決定部23と情報取得部100とにそれぞれ出力する。情報取得部100は、組立作業におけるロボットアーム5の位置を含むロボットアーム5の動作に関する情報と、力検出部53で検出されたロボットアーム5に作用する人の力に関する情報と、対象物力検出部78で検出された(対象物力検出機構76で検出され対象物力情報出力部77から出力された)フレキシブル基板74に加わる力に関する情報とをそれぞれ取得可能としている。情報取得部100で取得した情報は、補正動作種別決定部23に入力され、情報取得部100でそれぞれ取得した動作に関する情報と人の力に関する情報とから、ロボットアーム5の動作を補正する補正動作の種別を補正動作種別決定部23で決定することができる。
 第1実施形態では、力検出部53で人の加える力と対象物の一例であるフレキシブル基板74に作用する力の両方を検出したが、本第2実施形態では、対象物の一例であるフレキシブル基板74に作用する力は対象物力検出機構76で検出し、人が加える力は力検出部53でそれぞれ検出する。
 図29は、動作データベース17の一例を示す。全ての項目は第1実施形態と同様である。
 作業ID「4」の作業について詳細に説明する。図31は、フレキシブル基板74に加わる力を時系列に現したグラフを示す。
 作業ID[4]は、ロボットアーム5により、フレキシブル基板74を挿入口75に挿入する挿入作業を表す。具体的には、図30A~図30F(図30G~図30Nは挿入口75の付近を拡大した図)に示す。
 まず、作業ID「4」の動作ID「1」~動作ID「7」は、図30Aに示すように、フレキシブル基板74をハンド30で把持したロボットアーム5が挿入口75に向かって移動している動作を表す(対象物力検出機構76で検出されたフレキシブル基板74に加わる力の値は、図31の「31a」の状態である。)。
 次に、作業ID「4」の動作ID「8」は、図30B及び図30G(図30Gは挿入口75の挿入部分を拡大した図)に示すように、フレキシブル基板74のコネクタ部74gが挿入口75に接触した時点の動作を表す(対象物力検出機構76で検出されたフレキシブル基板74に加わる力の値は、図31の「31b」の状態である。)。
 次に、作業ID「4」の動作ID「9」は、図30C及び図30H(図30Hは挿入口75の挿入部分を拡大した図)に示すように、挿入口75の先端部分75hに向かって、フレキシブル基板74のコネクタ部74gの先端部分74hが接触するまでロボットアーム5が移動している動作を表す。ただし、フレキシブル基板74のコネクタ部74gは挿入口75には刺さっていない状態(フレキシブル基板74のコネクタ部74gの先端部分が挿入口75内に少しでも入り込んでいない状態)を表す(対象物力検出機構76で検出されたフレキシブル基板74に加わる力の値は、図31の「31c」の状態である。)。
 次に、作業ID「4」の動作ID「10」は、図30D、図30I、及び、図30L(図30I及び図30Lは挿入口75の挿入部分をそれぞれ拡大した図)の動作に示すように、挿入口75の先端部分75hとフレキシブル基板74の先端部分74hが接触している状態の動作を示す(対象物力検出機構76で検出されたフレキシブル基板74に加わる力の値は、図31の「31d」の状態である。)。
 次に、作業ID「4」の動作ID「11」及び「12」は、図30E、図30J、及び、図30M(図30J及び図30Mは挿入口75の挿入部分をそれぞれ拡大した図)に示すように、挿入口75の凹部75iに、フレキシブル基板74の先端部分74hが刺さって、先端部分74hを凹部75iにさらに差し込むように挿入している最中の動作を示す(対象物力検出機構76で検出されたフレキシブル基板74に加わる力の値は、図31の「31e」の状態である。)。
 次に、作業ID「4」の動作ID「13」及び「14」は、図37F、図30K及び図30N(図30K及び図30Nは挿入口75の挿入部分をそれぞれ拡大した図)に示すように、フレキシブル基板74の挿入口75への挿入が完了している状態(先端部分74hが凹部75i内に差し込み完了した状態)を表す(対象物力検出機構76で検出されたフレキシブル基板74に加わる力の値は、図31の「31f」の状態である。)。
 補正動作種別決定部23は、第1実施形態と同様に、動作補正部20にて、人がその手16でロボットアーム5に力をかけることにより動作の補正を行うことが可能な補正の種別を決定する。以下、4種類の補正の種別がある。
 1つ目の補正の種別は、「位置・姿勢の補正」である。具体的には、機器6のモデルチェンジにより、図33Aの挿入口75の位置又は向きが図38Bの挿入口75jのように変更した場合には、図33Bのように、フレキシブル基板74が挿入口75jに引っかかって挿入ができない。その場合に、図33Bのように、ロボットアーム5がフレキシブル基板74の挿入口75jへの挿入作業中に、人の手16でロボットアーム5の位置又は姿勢の向きを変更するように力をかけると、動作補正部20によって、図33Cのようにロボットアーム5の位置及び姿勢を変更して、挿入口75jに合わせてロボットアーム5の進行方向を変更することができる。ロボットアーム5の手先の姿勢(x、y、z、φ、θ、ψ)を変更することで実現できる。
 2つ目の補正の種別は、ロボットアーム5の手先「速度」である。第1実施形態と同様に、図22Aのように、フレキシブル基板74を把持したロボットアーム5で機器6の挿入口75に向かって移動中に、図22Bのように、ロボットアーム5の進行方向に反する方向に人の手16でロボットアーム5に力をかけると、動作補正部20によって、図22Cのように、ロボットアーム5の移動時の速度を減速させることができる。逆に、ロボットアーム5が移動中に、人の手16がロボットアーム5の進行方向に向かって人の手16でロボットアーム5に力をかけると、動作補正部20によって、ロボットアーム5の移動時の速度を加速させることができる。
 3つ目の補正の種別は、フレキシブル基板74の挿入時の「力のかけ具合」である。これは、現在動作中(動作データベース17の進捗情報が「1」)の動作のフラグ(有効性を示すフラグ)において、力のビットが「1」となっている場合に有効である。第1実施形態と同様、図18Bに示すように、ロボットアーム5でフレキシブル基板74の挿入口75bへの挿入作業中に、図18Cのように、人の手16でロボットアーム5に上方から下向きに力をかけると、動作補正部20によって、図18Dのように力のかけ具合を強めに、逆に、人の手16でロボットアーム5に下方から上向きに力をかけると、力のかけ具合を弱めに補正することができる。
 4つ目の補正の種別は、「作業をして欲しくない領域」である。第1実施形態と同様に、人16Aの手16で図23に示すように、ロボットアーム5(例えば、ハンド30)を把持して、作業をして欲しくない領域RBの輪郭に沿って、ロボットアーム5に力をかけてロボットアーム5(例えば、ハンド30)を移動させると、動作補正部20によって、図23のように、作業をして欲しくない領域RBを設定することができる。
 補正動作種別決定部23は、前記の4種類の補正の種別のうち、1種類の補正の種別を決定する。具体的には、ボタンなどのデータ入力IF26にて4種の補正の種別のうちの1つの補正の種別を選択するか、若しくは、力検出部53で検出されて情報取得部100で取得された人の手16でロボットアーム5にかけた力と補正の種別との関係情報(例えば、力のかかる向きと大きさと補正の種別との関係情報)と、対象物力検出機構76で検出されて対象物力情報出力部77を介して情報取得部100で取得されたフレキシブル基板74などの対象物にかかる力により、補正動作種別決定部23で種別を推定する。
 以下、補正の種別の推定方法の具体的な補正種別推定処理について、図32のフローチャートを使って詳細に説明する。
 組立ロボット1の電源ボタン26aを「ON」にした状態で、人の手16でロボットアーム5を把持して力をロボットアーム5に加えていない場合は、ロボットアーム5は動かない。人の手16でロボットアーム5に力を加えている場合は、インピーダンス制御モード(人の手16の力を検出した方向にインピーダンス制御で移動させるモード)でロボットアーム5を移動させたい方向に移動させることができる。この場合、制御部22の力検出部53にて、ロボットアーム5に作用する力を検出し、力検出部53で検出された力の情報が、情報取得部100を介して、補正動作種別決定部23に入力される(ステップS1)。
 次いで、ステップS2では、力検出部53で検出しかつ情報取得部100で取得された力の全ての成分(f、f、f、fφ、fθ、fψの6成分)が、ある閾値以下であるか否かを補正動作種別決定部23で判断する。具体的な閾値は、フレキシブル基板74の剛性により、図17のようにあらかじめ記憶されており、フレキシブル基板74のID(フレキシブル基板ID)が「1」の場合には、図17のID「1」の(fdx1、fdy1、fdz1、fdφ1、fdθ1、fdψ1)とする。力検出部53で検出しかつ情報取得部100で取得された力の全ての成分(f、f、f、fφ、fθ、fψの6成分)が、前記ある閾値以下であると補正動作種別決定部23で判断した場合は、ロボットアーム5は動かず、補正はせず(ステップS3)、補正動作の種別推定方法の補正種別推定処理を終了する。その場合の制御モードは、インピーダンス制御モードである。
 ステップS2にて、力検出部53で検出しかつ情報取得部100で取得された力のいずれかの成分(f、f、f、fφ、fθ、fψの6成分のうちのいずれかの成分)が、前記ある閾値(具体的には、フレキシブル基板IDが「1」の場合には、図17のID「1」の(fdx1、fdy1、fdz1、fdφ1、fdθ1、fdψ1))を越えると補正動作種別決定部23で判断した場合は、ステップS4に進む。
 ステップS4では、さらに、現在の組立ロボット1が動作データベース17で動作しているかどうか、を情報取得部100を介して取得した情報を基に補正動作種別決定部23で判定する。具体的には、動作選択部29にて作業を選択しておらず、かつ、動作データベース17の全ての作業IDについて、進捗情報が「0」となっている、と補正動作種別決定部23で判断する場合(作業を開始していない状態)は、動作データベース17で動作していないと補正動作種別決定部23で判定して、ステップS6に進む。動作選択部29にて組立作業を選択して開始しており、かつ、進捗情報が「1」となっていると補正動作種別決定部23で判断している場合は、動作データベース17で動作していると補正動作種別決定部23で判定して、ステップS5に進む。
 ステップS5では、対象物力検出部76で、対象物の一例としてのフレキシブル基板74に加わる力を検出し、対象物力検出部76で検出された対象物に加わる力の情報が、情報取得部100を介して補正動作種別決定部23に入力される。
 ステップS9では、対象物力検出部76で検出されたフレキシブル基板74に加えられた力(ft、ft、ft、ftφ、ftθ、ftψ)がある時間(例えば1sec)連続してある「閾値1」(具体的には、フレキシブル基板IDが「1」の場合には、図17のID「3」の(ftdox1、ftdoy1、ftdoz1、ftdoφ1、ftdoθ1、ftdoψ1)、図31の「閾値1」)以上であるか否か、を補正動作種別決定部23で判断する。対象物力検出部76で検出された対象物に加わる力(ft、ft、ft、ftφ、ftθ、ftψ)が、前記ある「閾値1」未満であると補正動作種別決定部23で判断した場合(図31の「閾値1」未満の場合の(31a)に相当する場合)はステップS11に進む(ただしステップS2で判定した力以上であること)。ステップS9にて、対象物力検出部76で検出された対象物に加わる力(ft、ft、ft、ftφ、ftθ、ftψ)が前記ある「閾値1」以上である場合(図31の(31c)に相当する場合)には、ステップS10に進む。ステップS9で、ある時間(例えば1sec)連続してある閾値(「閾値1」)以上であるか否かを判断するのは、一瞬、力が前記閾値以上検出されても、その場合はノイズとし、人が意思を持って力を加えたときは、一瞬ではなく、1秒程度以上、力を加えていると考え、人意思を持って力を加えたときか否かを判断するためである。
 ステップS11では、補正動作種別決定部23で算出されたロボットアーム5の移動量が、ある閾値(具体的には、フレキシブル基板IDが「1」の場合には、,
図17のID「2」のgx1、gy1、gz1、gφ1、gθ1、gψ1)以上であると補正動作種別決定部23で判断する場合は、補正の種別として「位置・姿勢の補正」の種別を補正動作種別決定部23で決定して、補正種別推定処理を終了する(ステップS14)。なお、ロボットアーム5の移動量を補正動作種別決定部23で算出するとき、具体的には、制御部22から制御パラメータ管理部21又は情報取得部100を介して人の操作前のロボットアーム5の手先位置と操作中の手先位置を補正動作種別決定部23に入力し、操作中の手先位置から操作前の手先位置を減じた値を移動量として補正動作種別決定部23で算出することができる。
 ステップS11にて、ロボットアーム5の移動量が前記ある閾値未満であると補正動作種別決定部23で判定された場合は、補正の種別として、「速度」の種別を決定して、補正種別推定処理を終了する(ステップS15)。
 ステップS10では、対象物力検出部76でフレキシブル基板74に加えられた力を検出し、対象物力検出部76で検出され、かつ対象物力情報出力部77を介して情報取得部100で取得されたた対象物に加わる力(ft、ft、ft、ftφ、ftθ、ftψ)が、ある時間(例えば1sec)連続して、ある「閾値2」(具体的には、フレキシブル基板IDが「1」の場合には、図17のID「4」の(ftdox21、ftdoy21、ftdoz21、ftdoφ21、ftdoθ21、ftdoψ21)、図31の「閾値2」)以上であるか否かを補正動作種別決定部23で判断する。対象物力検出部76で検出された対象物に加わる力(ft、ft、ft、ftφ、ftθ、ftψ)が、前記ある「閾値2」未満であると補正動作種別決定部23で判断した場合(図31の閾値2未満の場合の(31c)に相当の場合)は、ステップS16に進む。対象物力検出部76で検出された対象物に加わる力(ft、ft、ft、ftφ、ftθ、ftψ)が前記ある「閾値2」以上であると補正動作種別決定部23で判断した場合(図31の(31d)に相当の場合)は、補正の種別として「力の補正」の種別であると決定し、補正種別推定処理を終了する(ステップS12)。ステップS10で、ある時間(例えば1sec)連続してある閾値(「閾値2」)以上であるか否かを判断するのは、一瞬、力が前記閾値以上検出されても、その場合はノイズとし、人が意思を持って力を加えたときは、一瞬ではなく、1秒程度以上、力を加えていると考え、人意思を持って力を加えたときか否かを判断するためである。
 ステップS16では、補正動作種別決定部23で算出されたロボットアーム5の手先の位置の移動量が、ある閾値(具体的には、フレキシブル基板IDが「1」の場合には、図17のID「2」のgx1、gy1、gz1、gφ1、gθ1、gψ1)以上であると補正動作種別決定部23で判断する場合は、補正の種別として「位置・姿勢の補正」の種別を補正動作種別決定部23で決定して、補正種別推定処理を終了する(ステップS18)。
 ステップS16にて、ロボットアーム5の移動量が前記ある閾値未満であると補正動作種別決定部23で判定された場合は、補正の種別として、「力の補正」の種別を決定して、補正種別推定処理を終了する(ステップS17)。
 また、ステップS4において、動作データベース17で動作していないと補正動作種別決定部23で判定された場合には、ステップS6に進み、ステップS6にて、ある一定時間のロボットアーム5の移動量が、ある閾値以上であるか否かを補正動作種別決定部23で判断する。
 ステップS6において、ある一定時間のロボットアーム5の移動量が、前記ある閾値以上であると補正動作種別決定部23で判断する場合には、補正の種別として「作業をして欲しくない領域」の種別であると決定し(ステップS8)、補正種別推定処理を終了する。
 ステップS6において、ある一定時間のロボットアーム5の移動量が前記ある閾値未満であると補正動作種別決定部23で判断する場合は、補正の種別として「補正なし」と決定し、補正種別推定処理を終了する(ステップS7)。
以上により、ボタンなどのデータ入力IF26を使わずに、補正動作種別決定部23により、補正の種別を切り替えることができる。
 動作補正部20は、第1実施形態と同様に動作データベース17の位置と姿勢と時間とに基づいて動作中に、人の手16でロボットアーム5に力をかけることで、動作データベース17の動作情報を補正する機能である。
 以下、動作補正部20の機能について説明する。
 人の手16で、組立ロボット1の作業台7に配置されているデータ入力IF26(例えば操作盤26Aの電源ボタン26aなど)により電源を入れると、動作補正部20は、インピーダンス制御モードで動作するよう、制御パラメータ管理部21へ指令を出す。
 次に、人の手16で、動作選択部29により、動作データベース17の作業の一覧の中から所望の組立作業を選択して、組立動作開始の指示を行う。動作補正部20は、動作データベース17の中から選択された作業IDの動作情報(具体的には、レール可動部8bの位置及びロボットアーム5の位置と姿勢と時間と)に基づきレール可動部8b及びロボットアーム5の制御モードを設定する。この例では、図29の作業ID「4」が選択されたので、動作データベース17の動作ID「1」に対するフラグ(有効性を示すフラグ)のうち、フラグのビットが「1」になっているロボットアーム5の位置及び姿勢のそれぞれに対して、ハイブリッドインピーダンス制御モード(位置制御モードで動作している最中に、人などからロボットアーム5に加わる力に応じて、ロボットアーム5が作動するモード)が動作補正部20で設定され、制御パラメータ管理部21へ指令を出す。動作補正部20から制御パラメータ管理部21へ指令を出すと、図30Aに示すように、挿入口75に向かって、フレキシブル基板75をハンド30で把持したロボットアーム5が移動する。動作ID「1」から順次次の動作情報により、制御パラメータ管理部21へ指令を出す。動作ID「9」~「12」は力ハイブリッドインピーダンス制御モードで動作するように、制御パラメータ管理部21へ指令を出す。
 力ハイブリッドインピーダンス制御モードの場合は、動作データベース17の動作IDに対するフラグ(有効性を示すフラグ)のうち、フラグのビットが「1」になっているロボットアーム5の位置及び姿勢のそれぞれに対して、ハイブリッドインピーダンス制御モード(位置制御モードで動作している最中に、人などからロボットアーム5に加わる力に応じて、ロボットアーム5が作動するモード)が動作補正部20で設定され、力のフラグ(有効性を示すフラグ)のビットが「1」になっている成分は力制御モードが動作補正部20で設定される。位置及び姿勢の6成分のうち、ハイブリッドインピーダンス制御モードも力制御モードもいずれも設定されていない成分は、インピーダンス制御モードが動作補正部20で設定される。
 例えば、図29の作業ID「4」の動作ID「9」の場合は、図33A、図30C、図30H(図30Hは挿入部分を拡大した図)に示すように、挿入口75の先端部分75hに向かって、フレキシブル基板74の先端部分74hが接触するまで移動している動作を示しており、動作IDが「9」の場合のフラグは0,1,3,4,5,8ビット目のみ「1」であるので、x軸及びy軸及び姿勢成分に対しては、ハイブリッドインピーダンス制御モードが動作補正部20で設定されるとともに、z軸成分に対しては力制御モードが動作補正部20で設定される。
 次に、作業ID「4」の動作ID「10」~「12」では、動作ID「9」と同様の動作モードで動作する。
 次に、作業ID「4」の動作ID「13」「14」では、動作ID[1]と同様の動作モードで動作する。
 次に、モデルチェンジなどにより、フレキシブル基板74又は挿入口75の仕様変更に伴って、人が状況などを確認して、図33Bに示すように、ロボットアーム5の位置又はロボットアーム5の姿勢を移動させて作業させたい場合を例にとって説明する。
 図33Aに示すように、作業ID「4」の動作ID「1」~「8」で動作中に、人の手16でロボットアーム5を直接把持して、作業面(例えば、機器6の挿入口75の挿入面)に対して移動するようにロボットアーム5に力をかける。
 補正動作種別決定部23により、情報取得部100で取得された、人の手16がロボットアーム5にかけた力と動作データベース17に記憶された情報とにより、図32のフローチャートに示した補正種別推定処理で補正の種別を推定して決定する。ここでは、フレキシブル基板74が接触していない状態で(対象物力検出部76で検出された力が閾値以下である状態で)、人の手16で、ロボットアーム5に力をかけて、ロボットアーム5を前記ある閾値以上移動させているので、ステップS14において、補正の種別として「位置・姿勢の補正」の種別であると補正動作種別決定部23で決定する。
 図29の作業IDが「4」の場合で動作IDが「1」に示す作業の場合は、位置姿勢の全成分でハイブリッドインピーダンス制御モードにより、位置制御モードでロボットアーム5を移動させながら、インピーダンス制御モードにより人の手16でロボットアーム5にかけられた力を力検出部53で検出して情報取得部100で取得された、人の手16でロボットアーム5に力をかけた方向に、ロボットアーム5を移動させて、図33Cのように位置及び姿勢を補正することができる。
 上述のように、人の手16でロボットアーム5を把持して、力をかけてロボットアーム5を(Δx、Δy、Δz、Δφ、Δθ、Δψ)分だけ移動させた場合に、(Δx、Δy、Δz、Δφ、Δθ、Δψ)の値が、制御部22と制御パラメータ管理部21とを経由して、動作補正部20に送信される。
 動作補正部20では、選択された作業IDの動作情報の全ての位置及び姿勢成分について、(Δx、Δy、Δz、Δφ、Δθ、Δψ)を減じて補正した動作情報を、動作補正部20から制御パラメータ管理部21へ送信する。制御パラメータ管理部21は、(Δx、Δy、Δz、Δφ、Δθ、Δψ)分を補正した座標でロボットアーム5が動作するように制御部22へ指示する。これにより、図33Bのような動作に補正される。次に、(Δx、Δy、Δz、Δφ、Δθ、Δψ)分だけ減じた動作情報を、動作記憶部15で動作データベース17に記憶する。
 以上により、動作補正部20は、動作データベース17の位置と姿勢と時間とにより、ハイブリッドインピーダンス制御モード若しくは力ハイブリッドインピーダンス制御モードで動作している状態で、人の手16でロボットアーム5に力をかけることで、生成された位置を方向別に補正することができるようになる。
 図34A、図34D(図34Dは図34Aの挿入口75の挿入部分を拡大した図)に示すように、動作ID「9」で動作中に、斜めに挿入してしまった場合に、図34Bに示すように、人の手16でロボットアーム5を直接把持して、作業面(例えば、機器6の挿入口75の挿入面)に対して移動するようにロボットアーム5に力をかける。
 補正動作種別決定部23により、情報取得部100でそれぞれ取得された、人の手16がロボットアーム5にかけた力と動作データベース17に記憶された情報とにより、図32のフローチャートに示した補正種別推定処理で補正の種別を推定して決定する。ここでは、フレキシブル基板74に前記「閾値2」以上の力が加わっている状態で(ステップS10)、人の手16で、ロボットアーム5にかけて、ロボットアーム5を前記ある閾値以上移動させているので(ステップS16)、ステップS17において、補正の種別として「位置・姿勢の補正」の種別であると補正動作種別決定部23で決定する。
 図29の作業IDが「4」の場合で動作IDが「9」に示す作業の場合は、位置姿勢のz軸成分以外でハイブリッドインピーダンス制御モードにより、位置制御モードでロボットアーム5を移動させながら、インピーダンス制御モードにより人の手16でロボットアーム5にかけられた力を力検出部53で検出して、人の手16でロボットアーム5に力をかけた方向に、ロボットアーム5を移動させて、図34Cのように位置・姿勢を補正することができる。
 次に、図22Bのように、速度を変更する場合は、人の手16でロボットアーム5を直接把持して、加速したい場合は、ロボットアーム5の進行方向と同じ向きに人の手16でロボットアーム5に力をかけ、減速したい場合は、ロボットアーム5の進行方向に逆らう向きに人の手16でロボットアーム5に力をかける。その際に、ロボットアーム5の手先位置の速度を変えても良いが、位置はある閾値以上動かさないように人の手16でロボットアーム5に力をかける。
 補正動作種別決定部23により、情報取得部100でそれぞれ取得された、人の手16でロボットアーム5にかけた力と動作データベース17の情報と、対象物にかかる力とにより、図32のフローチャートに示した補正種別推定処理で補正の種別を推定して決定する。ここでは、人の手16で力をロボットアーム5にかけて、ロボットアーム5をある閾値以上移動させていないので、図32のステップS15により、補正の種別として、「速度」の種別であると補正動作種別決定部23で決定する。
 ハイブリッドインピーダンス制御モードにより、位置制御モードでロボットアーム5を移動させながら、インピーダンス制御モードにより、人の手16でロボットアーム5にかけた力を力検出部53で検出して、人の手16でロボットアーム5に力をかけた方向に、ロボットアーム5を移動させる。動作データベース17で例えば作業IDと動作IDとで示されたロボットアーム5の位置(x、y、z)から、次の動作IDのロボットアーム5の位置(x、y、z)まで移動するのにかかる時間をtとすると、ロボットアーム5の速度を人の手16の力で変更した場合(図22B参照)には、すなわち、位置(x、y、z)から位置(x、y、z)までに移動するのにかかる時間がtからtに変更された場合には、時間tの値が、制御部22と制御パラメータ管理部21とを経由して、動作補正部20に送信される。動作補正部20では、選択された作業IDの動作情報について、tの時間からtの時間に変更して、動作補正部20から制御パラメータ管理部21へ送信する。制御パラメータ管理部21において、補正した時間であるtで動作するように制御パラメータ管理部21から制御部22へ指示する。これにより、図22Cのような動作に補正される。次に、時間tを、動作記憶部15で動作データベース17に記憶する。
 以上により、動作補正部20は、動作データベース17の位置と姿勢と時間との情報により、ハイブリッドインピーダンス制御モードで動作している状態で、人の手16でロボットアーム5に力をかけることで、ロボットアーム5の動作速度を補正することができるようになる。
 次に、図35Bのように、作業時の作業面(例えば、機器6の挿入口75の挿入面)に対する力を変更する場合は、人の手16でロボットアーム5を直接把持して、作業面(例えば、機器6の挿入口75の挿入面)に対して垂直方向に力をロボットアーム5にかける場合について説明する。この動作は、図35A~図35F(図35D~図35Fは挿入口75の付近を拡大した図)に示すが、先の、ロボットアーム5により、フレキシブル基板74を挿入口75に挿入する挿入作業を表す図30A~図30F(図30G~図30Nは挿入口75の付近を拡大した図)と同様な動作については、説明を省略する。
 補正動作種別決定部23により、情報取得部100でそれぞれ取得された、人の手16がロボットアーム5にかけた力と動作データベース17の情報と、対象物にかかる力とにより、図32のフローチャートに示した補正種別推定処理で補正の種別を推定して決定する。ここでは、フレキシブル基板74が挿入口75に接触しており、かつその力が前記「閾値2」以下であり、人の手16で力をロボットアーム5にかけて、ロボットアーム5を前記ある閾値以上移動させていないので、ステップS18において、補正の種別として「力の補正」の種別であると補正動作種別決定部23で決定する。
 補正動作種別決定部23で補正の種別が「力の補正」であると決定したタイミングで、力ハイブリッドインピーダンス制御モードから高剛性位置制御モードで動作するよう補正動作種別決定部23から制御パラメータ管理部21へ指令を出す。補正動作種別決定部23から制御パラメータ管理部21への指令時に、高剛性位置制御モードでは、方向別に位置制御時の高剛性を補正動作種別決定部23で設定することができるため、例えば図4の動作データベース17の作業ID「4」でかつ動作ID「9」の動作のフラグは、0、1、3,4,5、8ビットが「1」に設定されているので、z軸方向は力制御モードで動作し、その他の方向はハイブリッドインピーダンス制御モードで動作するため、z軸方向のみ高剛性位置制御モードで動作し、その他の方向はハイブリッドインピーダンス制御モードで動作するよう、補正動作種別決定部23から制御パラメータ管理部21へ指令を出す。
 次に、図35Bに示すように、ロボットアーム5がフレキシブル基板74の挿入作業の動作をしている最中に、人の手16でロボットアーム5を直接把持して、挿入する力を強め(より強い力)に変更をしたい場合には、人の手16で作業面(例えば、機器6の挿入口75の挿入面)に向かってロボットアーム5に下方向に力をかける。高剛性位置制御モードでは、ハイブリッドインピーダンス制御モードのうち、方向別設定された位置制御モードを、さらに高剛性にしたモードで、かつ、位置誤差補償部56でのゲインを大きく(具体的には、通常の位置制御モードの2倍程度に)することで実現し、人の手16でロボットアーム5に力をかけると、ロボットアーム5を容易に移動させることができず、人の手16でロボットアーム5にかけた力を力検出部53で検出することができる。制御部22の力検出部53で検出された力を動作補正部20に通知する。動作補正部20に通知された力を、動作記憶部15で動作データベース17に記憶することで、強めに(より強い力で)挿入するよう動作を補正することができる。人が補正を終了したい場合は、ロボットアーム5を把持して力をロボットアーム5にかけることを止める。人の手16でロボットアーム5に力をかけない場合は、図32のステップS2により、力の全ての成分が閾値以下になるので、補正動作種別決定部23により、補正の種別として「補正なし」であると決定する(図32のステップS3)。動作補正部20は、「補正なし」の情報を受けて、高剛性の位置制御モードからハイブリッドインピーダンス制御モードで制御するよう、補正動作種別決定部23から制御パラメータ管理部21に指令を出す。これにより、補正後の動作データベース17で作業を行う。
 以上により、動作補正部20は、動作データベース17の力の情報により、ハイブリッドインピーダンス制御モードで動作している状態で、人の手16が力をかけることで、補正された力で挿入作業するように補正することができるようになる。
 なお、この例で力の補正値を取得するために、力制御モードから高剛性位置制御モードに変更したが、第1実施形態とは異なり、人の加える力を検出する力検出部53と、対象物に加える力を検出する対象物力検出部76とを分けて配置しているため、制御モードは力制御モードで変更せずに、力検出部53で人が加えた力を検出することができる。さらに、位置制御モードに変更する場合には剛性を変更しなくても、通常の位置制御モードでも力検出部53で検出することができる。
 次に、図36Bのように、作業ID「4」動作ID「11」若しくは「12」で動作中に、作業時の作業面(例えば、機器6の挿入口75の挿入面)に対する力を変更する場合は、人の手16でロボットアーム5を直接把持して、作業面(例えば、機器6の挿入口75の挿入面)に対して垂直方向に力をロボットアーム5にかける場合について説明する。この動作は、図36A~図36I(図36D~図36Fは挿入口75の付近を拡大した図、図36G~図36Iは図36D~図36Fの円部分の拡大図)に示すが、先の、ロボットアーム5により、フレキシブル基板74を挿入口75に挿入する挿入作業を表す図30A~図30F(図30G~図30Nは挿入口75の付近を拡大した図)と同様な動作については、説明を省略する。
 補正動作種別決定部23により、情報取得部100でそれぞれ取得された、人の手16がロボットアーム5にかけた力と動作データベース17の情報と、対象物の一例であるフレキシブル基板74にかかる力により、図32のフローチャートに示した補正種別推定処理で補正の種別を推定して決定する。ここでは、フレキシブル基板74が挿入口75に接触しており、かつその力が前記「閾値2」以上であり、人の手16で力をロボットアーム5にかけているので、ステップS12において、補正の種別として「力の補正」の種別であると補正動作種別決定部23で決定する。ここではロボットアームの移動量に関係なく、「力の補正」のみしか選択できないため、図36Eのようにフレキシブル基板74の先端部分74hが差し込まれている最中にロボットアームを移動させてフレキシブル基板74の先端部分74hを傷めることを防ぐことができる。
 補正動作種別決定部23で補正の種別が「力の補正」であると決定したタイミングで、力ハイブリッドインピーダンス制御モードから高剛性位置制御モードで動作するよう補正動作種別決定部23から制御パラメータ管理部21へ指令を出す。補正動作種別決定部23から制御パラメータ管理部21への指令時に、高剛性位置制御モードでは、方向別に位置制御時の高剛性を補正動作種別決定部23で設定することができるため、例えば図4の動作データベース17の作業ID「4」でかつ動作ID「9」の動作のフラグは、0、1、3,4,5、8ビットが「1」に設定されているので、z軸方向は力制御モードで動作し、その他の方向はハイブリッドインピーダンス制御モードで動作するため、z軸方向のみ高剛性位置制御モードで動作し、その他の方向はハイブリッドインピーダンス制御モードで動作するよう、補正動作種別決定部23から制御パラメータ管理部21へ指令を出す。
 次に、図35Bに示すように、ロボットアーム5がフレキシブル基板74の挿入作業の動作をしている最中に、人の手16でロボットアーム5を直接把持して、挿入する力を強め(より強い力)に変更をしたい場合には、人の手16で作業面(例えば、機器6の挿入口75の挿入面)に向かってロボットアーム5に下方向に力をかける。高剛性位置制御モードでは、ハイブリッドインピーダンス制御モードのうち、方向別設定された位置制御モードを、さらに高剛性にしたモードで、かつ、位置誤差補償部56でのゲインを大きく(具体的には、通常の位置制御モードの2倍程度に)することで実現し、人の手16でロボットアーム5に力をかけると、ロボットアーム5を容易に移動させることができず、人の手16でロボットアーム5にかけた力を力検出部53で検出することができる。制御部22の力検出部53で検出された力を動作補正部20に通知する。動作補正部20に通知された力を、動作記憶部15で動作データベース17に記憶することで、強めに(より強い力で)挿入するよう動作を補正することができる。人が補正を終了したい場合は、ロボットアーム5を把持して力をロボットアーム5にかけることを止める。人の手16でロボットアーム5に力をかけない場合は、図32のステップS2により、力の全ての成分が閾値以下になるので、補正動作種別決定部23により、補正の種別として「補正なし」であると決定する(図32のステップS3)。動作補正部20は、「補正なし」の情報を受けて、高剛性の位置制御モードからハイブリッドインピーダンス制御モードで制御するよう、補正動作種別決定部23から制御パラメータ管理部21に指令を出す。これにより、補正後の動作データベース17で作業を行う。
 以上により、動作補正部20は、動作データベース17の力の情報により、ハイブリッドインピーダンス制御モードで動作している状態で、人の手16が力をかけることで、補正された力で挿入作業するように補正することができるようになる。
 なお、この例で力の補正値を取得するために、力制御モードから高剛性位置制御モードに変更したが、第1実施形態とは異なり、人の加える力を検出する力検出部53と、対象物に加える力を検出する対象物力検出部76とを分けて配置しているため、制御モードは力制御モードで変更せずに、力検出部53で人が加えた力を検出することができる。さらに、位置制御モードに変更する場合には剛性を変更しなくても、通常の位置制御モードでも力検出部53で検出することができる。
 図23に示すように、組立ロボット1に作業をして欲しくない領域RBを、ロボットアーム5を使って設定する場合を例にとって説明する。
 人の手16で組立ロボット1の上部に配置されているデータ入力IF26(例えば操作盤26Aの電源ボタン26aなど)により電源を入れると、動作補正部20は、インピーダンス制御モードで動作するよう、制御パラメータ管理部21へ指令を出す。動作選択部29にて作業を選択していない状態で、図23に示すように、人16Aの手16がロボットアーム5(例えばハンド30など)を直接把持して、作業面(例えば、機器6が載置されている作業台7の上面)に対して平行な方向に移動するようにロボットアーム5を移動させて、作業をして欲しくない領域RBの輪郭に沿って、ロボットアーム5(例えばハンド30)を移動させる。図25Aは作業面(例えば、機器6が載置されている作業台7の上面)を上方から見た図で、作業をして欲しくない領域RBを斜線の領域とすると、人の手16がロボットアーム5を移動させて、矢印のように、作業をして欲しくない領域RBの輪郭にロボットアーム5(例えばハンド30)を沿わせて、移動させる。その際、ロボットアーム5の手先(ハンド30)の中央先端にマーク63が付与されており(図25A及び図25B参照)、作業をして欲しくない方向にマーク63を向けて移動させる。
 補正動作種別決定部23により、図32に示した補正種別推定処理を実行して動作データベース17で動作していないと判定し(ステップS4)、さらに、ある一定時間の移動量が、前記ある閾値以上の場合は、ステップS8において、補正の種別として「作業をして欲しくない領域」の種別であると決定する。
 インピーダンス制御モードにより、人の手16でロボットアーム5にかけた力を力検出部53で検出して、人の手16でロボットアーム5に力をかけた方向に、ロボットアーム5を移動させて、図25Aのように、位置(x、y)、位置(x、y)、位置(x、y)、位置(x、y)の順にロボットアーム5を移動させる。このとき、これらの位置情報が、制御部22と制御パラメータ管理部21とを経由して、動作補正部20に送信される。動作補正部20は、その指令を受けて、これらの位置情報が作業不可領域RBの情報として、動作記憶部15により作業不可領域データベース28に記憶する。これらの4つの位置が作業不可領域RBの頂点の情報であることは、例えば、ある一定間隔で人が移動させたロボットアーム5の手先位置を取得して、取得した手先位置の座標をつなげて領域を生成し、それを作業不可領域RBとすることができる。さらに、どのような形の領域とするかを決定する機能を追加し、例えば、「矩形」と設定されている場合は、90度近くの角度で移動方向が変われば、その位置を頂点の情報として記憶し、「ランダム」と設定された場合は、ある一定間隔で人が移動させたロボットアーム5の手先位置を取得して、取得した手先位置の座標をつなげて生成し、それを作業不可領域RBとすることができる。
 以上により、動作補正部20は、人の手16が力をかけることで、作業をして欲しくない領域の設定を行うことができるようになる。
 さらに、前記様々な実施形態及び変形例のうちの任意の実施形態又は任意の変形例を適宜組み合わせることにより、それぞれの有する効果を奏するようにすることができる。
 本発明は、例えば工場内で組立を行うロボットなど人とロボットが協調して作業を行う際の組立ロボットのロボットアームの動作の制御を行う、ロボットアームの制御装置及び制御方法、組立ロボット、組立ロボット用ロボットアームの制御プログラム、及び、組立ロボット用ロボットアームの制御用集積電子回路として有用である。
 本発明は、添付図面を参照しながら好ましい実施形態に関連して充分に記載されているが、この技術の熟練した人々にとっては種々の変形又は修正は明白である。そのような変形又は修正は、添付した請求の範囲による本発明の範囲から外れない限りにおいて、その中に含まれると理解されるべきである。

Claims (14)

  1.  組立作業用ロボットアームの動作を制御して、前記ロボットアームで把持した組立対象物を被対象物に対して組立てる組立作業を行うロボットアームの制御装置であって、
     前記ロボットアームに作用する人の力を検出する力検出手段と、
     前記組立作業における前記ロボットアームの位置を含む前記動作に関する情報と前記力検出手段で検出された前記人の力とをそれぞれ取得する情報取得部と、
     前記ロボットアームが前記組立対象物に加える力を検出する対象物力検出手段と、
     前記情報取得部でそれぞれ取得した前記組立作業における前記ロボットアームの位置を含む前記動作に関する情報と前記人の力に関する情報と前記対象物力検出手段で検出した前記対象物に加える力とから前記動作を補正する補正動作の種別を決定する補正動作種別決定手段と、
     予め定められた前記ロボットアームの前記組立作業中に、前記力検出手段で検出しかつ前記情報取得部で取得した前記人の力と前記補正動作種別決定手段で決定された前記補正動作の種別とに応じて、前記ロボットアームを制御して前記動作を補正する動作補正手段 とを備えるロボットアームの制御装置。
  2.  前記動作に関する情報は、前記ロボットアームが行う前記組立作業に応じた、前記ロボットアームの前記位置と姿勢との情報と、前記ロボットアームから組立作業面にかける力情報と、前記ロボットアームの方向に関する情報と、前記ロボットアームの速度情報と、前記ロボットアームの作業を行わない領域に関する情報である作業不可領域情報のうちの少なくとも1つの情報を有する請求項1に記載のロボットアームの制御装置。
  3.  前記動作に関する情報は、前記ロボットアームが行う前記組立作業に応じた、前記ロボットアームから前記作業面にかける力情報を少なくとも有し、前記動作補正手段は、前記動作に関する情報に基づいて、予め設定された力を前記ロボットアームから前記作業面に作用させて前記動作を行なう力制御モードを前記ロボットアームが移動可能なxyz軸方向のそれぞれの軸別に設定して前記動作を前記ロボットアームで行っている最中に、前記力検出手段で検出しかつ前記情報取得部で取得した前記人の力に応じて、補正動作前の前記動作に関する情報のうちの前記設定された力の大きさ又は方向を補正する請求項1に記載のロボットアームの制御装置。
  4.  前記動作に関する情報は、前記ロボットアームが行う前記組立作業に応じた、前記ロボットアームの前記位置と姿勢の情報と、前記ロボットアームの方向に関する情報と、前記ロボットアームの速度情報と、作業を行わない領域に関する情報である作業不可領域情報とを有し、
     前記動作補正手段は、前記動作に関する情報に基づいて、前記ロボットアームの位置を制御する位置制御モードで動作している最中に、前記ロボットアームに対して前記人から前記ロボットアームに加わる力に応じて前記ロボットアームが作動するインピーダンス制御モードを前記ロボットアームが移動可能なxyz軸方向のそれぞれの軸別に設定して前記作業を動作させている最中に、前記力検出手段で検出しかつ前記情報取得部で取得した前記人の力に応じて、前記インピーダンス制御での前記動作に関する情報の前記動作を補正する請求項1に記載のロボットアームの制御装置。
  5.  前記補正動作種別決定手段で決定した前記補正動作の種別に基づき、前記補正動作の種別に関する情報を表示する表示手段をさらに備えることを特徴とする請求項1~4のいずれか1つに記載のロボットアームの制御装置。
  6.  前記補正動作種別決定手段は、前記ロボットアームの前記手先の位置と姿勢の移動量を検出するとともに、
     前記補正動作種別決定手段は、前記対象物検出手段で検出しかつ前記情報取得部で取得した前記対象物に加わる力が第1の閾値未満であり、かつ前記補正動作種別決定手段により検出された前記ロボットアームの前記手先の位置と姿勢の移動量が第3閾値以上である場合に、前記補正動作の種別として、作業面の位置と姿勢の移動の種別であると決定し、
     さらに、前記動作補正手段は、前記力検出手段で検出しかつ前記情報取得部で取得した前記人の力と前記補正動作種別決定手段で決定された前記補正動作の種別とに応じて、前記ロボットアームの前記手先の位置と姿勢を補正する請求項1に記載のロボットアームの制御装置。
  7.  前記補正動作種別決定手段は、前記ロボットアームの前記手先の位置と姿勢の移動量を検出するとともに、
     前記補正動作種別決定手段は、前記対象物検出手段で検出しかつ前記情報取得部で取得した前記対象物に加わる力が第1の閾値未満であり、かつ前記補正動作種別決定手段により検出された前記ロボットアームの前記手先の位置と姿勢の移動量が第3閾値未満である場合に、前記補正動作の種別として、速度の補正の種別であると決定し、
     さらに、前記動作補正手段は、前記力検出手段で検出しかつ前記情報取得部で取得した前記人の力と前記補正動作種別決定手段で決定された前記補正動作の種別とに応じて、前記ロボットアームの速度を補正する請求項1に記載のロボットアームの制御装置。
  8.  前記補正動作種別決定手段は、前記ロボットアームの前記手先の位置の移動量を検出するとともに、
     前記補正動作種別決定部は、前記対象物力検出部で前記対象物に加えられた力が検出されかつ前記情報取得部を介して取得した前記対象物に加えられた力の成分が、ある時間、ある閾値を越えており、かつ、前記対象物力検出部で前記対象物に加えられた力が検出されかつ前記情報取得部を介して取得した前記対象物に加えられた力が、ある時間、別のある閾値以下であり、かつ、前記補正動作種別決定部で検出された前記ロボットアームの移動量が、ある閾値以上である場合に、前記補正動作の種別として、位置・姿勢の補正の種別であると決定し、
     さらに、前記動作補正手段は、前記対象物力検出部で前記対象物に加えられた力が検出されかつ前記情報取得部を介して取得した前記対象物に加えられた力と前記補正動作種別決定手段で決定された前記補正動作の種別とに応じて、前記ロボットアームの位置及び姿勢を補正する請求項1に記載のロボットアームの制御装置。
  9.  前記補正動作種別決定部は、前記対象物力検出部で前記対象物に加えられた力が検出されかつ前記情報取得部を介して取得した前記対象物に加えられた力の成分が、ある時間、ある閾値を越えており、かつ、前記対象物力検出部で前記対象物に加えられた力が検出されかつ前記情報取得部を介して取得した前記対象物に加えられた力が、ある時間、別のある閾値を越える場合に、前記補正動作の種別として、力の補正の種別であると決定し、
     さらに、前記動作補正手段は、前記対象物力検出部で前記対象物に加えられた力が検出されかつ前記情報取得部を介して取得した前記対象物に加えられた力と前記補正動作種別決定手段で決定された前記補正動作の種別とに応じて、前記ロボットアームの位置及び姿勢を補正する請求項1に記載のロボットアームの制御装置。
  10.  前記補正動作種別決定手段で決定した前記補正動作の種別に基づき、前記補正動作の種別に関する情報を表示する表示手段をさらに備える請求項1~4,6~8のいずれか1つに記載のロボットアームの制御装置。
  11.  組立作業用ロボットアームの動作を制御して、前記ロボットアームで把持した組立対象物を被対象物に対して組立てる組立作業を行うロボットアームの制御方法であって、
     前記ロボットアームに作用する人の力を力検出手段で検出し、
     前記ロボットアームが前記組立対象物に加える力を対象物力検出手段で検出し、
     前記組立作業における前記ロボットアームの位置を含む前記動作に関する情報と前記力検出手段で検出しかつ情報取得部で取得した前記ロボットアームに作用する前記人の力に関する情報と前記対象物力検出手段で検出した前記対象物に加える力とを用いて、前記動作を補正する補正動作の種別を補正動作種別決定手段で決定し、
     予め定められた前記ロボットアームの前記組立作業中に、前記力検出手段で検出しかつ前記情報取得部で取得した前記人の力と前記補正動作種別決定手段で決定された前記補正動作の種別とに応じて、前記ロボットアームを制御して前記動作を動作補正手段で補正するロボットアームの制御方法。
  12.  前記ロボットアームと、
     前記ロボットアームを制御する請求項1~4,6~9のいずれか1つに記載のロボットアームの制御装置とを備える組立ロボット。
  13.  組立作業用ロボットアームの動作を制御して、前記ロボットアームで把持した組立対象物を被対象物に対して組立てる組立作業を行う組立ロボット用ロボットアームの制御プログラムであって、
     前記組立作業における前記ロボットアームの位置を含む前記動作に関する情報と力検出手段で検出しかつ情報取得部で取得した前記ロボットアームに作用する人の力に関する情報と対象物力検出手段で検出しかつ前記ロボットアームが前記対象物に加える力とを用いて、前記動作を補正する補正動作の種別を補正動作種別決定手段で決定するステップと、
     予め定められた前記ロボットアームの前記組立作業中に、前記力検出手段で検出しかつ前記情報取得部で取得した前記人の力と前記補正動作種別決定手段で決定された前記補正動作の種別とに応じて、前記ロボットアームを制御して前記動作を動作補正手段で補正する動作補正ステップとをコンピュータに実行させための組立ロボット用ロボットアームの制御プログラム。
  14.  組立作業用ロボットアームの動作を制御して、前記ロボットアームで把持した組立対象物を被対象物に対して組立てる組立作業を行う組立ロボット用ロボットアームの制御用集積電子回路であって、
     前記組立作業における前記ロボットアームの位置を含む前記動作に関する情報と力検出手段で検出しかつ情報取得部で取得した前記ロボットアームに作用する人の力に関する情報と対象物力検出手段で検出しかつ前記ロボットアームが前記対象物に加える力とを用いて、前記動作を補正する補正動作の種別を決定する補正動作種別決定手段と、
     予め定められた前記ロボットアームの前記組立作業中に、前記力検出手段で検出しかつ前記情報取得部で取得した前記人の力と前記補正動作種別決定手段で決定された前記補正動作の種別とに応じて、前記ロボットアームを制御して前記動作を補正する動作補正手段とを備える組立ロボット用ロボットアームの制御用集積電子回路。
PCT/JP2010/005054 2009-08-21 2010-08-12 ロボットアームの制御装置及び制御方法、組立ロボット、ロボットアームの制御プログラム、及び、ロボットアームの制御用集積電子回路 WO2011021375A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2011500781A JP4759660B2 (ja) 2009-08-21 2010-08-12 ロボットアーム制御用の装置、方法、プログラム及び集積電子回路、並びに、組立ロボット
CN201080005370.4A CN102292194B (zh) 2009-08-21 2010-08-12 机器人手臂的控制装置及控制方法、装配机器人、机器人手臂的控制程序及机器人手臂的控制用集成电路
US13/085,560 US9211646B2 (en) 2009-08-21 2011-04-13 Control apparatus and control method for robot arm, assembly robot, control program for robot arm, and control-purpose integrated electronic circuit for robot arm

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2009191796 2009-08-21
JP2009-191796 2009-08-21

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US13/085,560 Continuation US9211646B2 (en) 2009-08-21 2011-04-13 Control apparatus and control method for robot arm, assembly robot, control program for robot arm, and control-purpose integrated electronic circuit for robot arm

Publications (1)

Publication Number Publication Date
WO2011021375A1 true WO2011021375A1 (ja) 2011-02-24

Family

ID=43606835

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2010/005054 WO2011021375A1 (ja) 2009-08-21 2010-08-12 ロボットアームの制御装置及び制御方法、組立ロボット、ロボットアームの制御プログラム、及び、ロボットアームの制御用集積電子回路

Country Status (4)

Country Link
US (1) US9211646B2 (ja)
JP (1) JP4759660B2 (ja)
CN (1) CN102292194B (ja)
WO (1) WO2011021375A1 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013080500A1 (ja) * 2011-11-30 2013-06-06 パナソニック株式会社 ロボットの教示装置、ロボット装置、ロボットの教示装置の制御方法、ロボットの教示装置の制御プログラム
JP2017024097A (ja) * 2015-07-17 2017-02-02 ファナック株式会社 ロボットによる自動組立システム
WO2018043212A1 (ja) * 2016-08-29 2018-03-08 株式会社ソニー・インタラクティブエンタテインメント 組立装置、及び電子機器の製造方法
JP2019018340A (ja) * 2017-07-20 2019-02-07 キヤノン株式会社 作業用ロボット、作業用ロボットの制御方法
JP2020021660A (ja) * 2018-08-02 2020-02-06 パナソニックIpマネジメント株式会社 ケーブル挿入装置およびケーブル挿入方法
JP2020089961A (ja) * 2018-12-07 2020-06-11 セイコーエプソン株式会社 ロボットシステムおよび接続方法

Families Citing this family (65)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010084743A1 (ja) * 2009-01-22 2010-07-29 パナソニック株式会社 ロボットアームの制御装置及び制御方法、ロボット、ロボットアームの制御プログラム、並びに、集積電子回路
US9119655B2 (en) 2012-08-03 2015-09-01 Stryker Corporation Surgical manipulator capable of controlling a surgical instrument in multiple modes
DE102011011542B4 (de) * 2011-02-17 2016-05-25 Convergent Information Technologies Gmbh Verfahren zur automatisierten Programmierung und Optimierung von robotischen Arbeitsabläufen
CN103118842A (zh) * 2011-03-17 2013-05-22 松下电器产业株式会社 机器人、机器人的控制装置、控制方法以及控制程序
JP5931497B2 (ja) 2011-08-04 2016-06-08 オリンパス株式会社 手術支援装置およびその組立方法
JP5936914B2 (ja) 2011-08-04 2016-06-22 オリンパス株式会社 操作入力装置およびこれを備えるマニピュレータシステム
JP6081061B2 (ja) * 2011-08-04 2017-02-15 オリンパス株式会社 手術支援装置
JP6021484B2 (ja) 2011-08-04 2016-11-09 オリンパス株式会社 医療用マニピュレータ
EP2740434A4 (en) 2011-08-04 2015-03-18 Olympus Corp MEDICAL MANIPULATOR AND CONTROL METHOD THEREOF
US9519341B2 (en) 2011-08-04 2016-12-13 Olympus Corporation Medical manipulator and surgical support apparatus
JP6009840B2 (ja) 2011-08-04 2016-10-19 オリンパス株式会社 医療機器
JP5953058B2 (ja) 2011-08-04 2016-07-13 オリンパス株式会社 手術支援装置およびその着脱方法
JP6005950B2 (ja) 2011-08-04 2016-10-12 オリンパス株式会社 手術支援装置及びその制御方法
WO2013035244A1 (ja) 2011-09-06 2013-03-14 パナソニック株式会社 ロボットアームの制御装置及び制御方法、ロボット、制御プログラム、並びに、集積電子回路
JP5977544B2 (ja) * 2012-03-09 2016-08-24 キヤノン株式会社 情報処理装置、情報処理方法
KR101800189B1 (ko) * 2012-04-30 2017-11-23 삼성전자주식회사 수술 로봇의 힘 제어 장치 및 방법
CN102672719B (zh) * 2012-05-10 2014-11-19 浙江大学 一种仿人机器人手臂作业动态稳定控制方法
AU2013296278B2 (en) 2012-08-03 2018-06-14 Stryker Corporation Systems and methods for robotic surgery
US9226796B2 (en) 2012-08-03 2016-01-05 Stryker Corporation Method for detecting a disturbance as an energy applicator of a surgical instrument traverses a cutting path
EP2749974A2 (en) * 2012-12-28 2014-07-02 Kabushiki Kaisha Yaskawa Denki Robot teaching system, robot teaching assistant device, and robot teaching method
US9486918B1 (en) * 2013-03-13 2016-11-08 Hrl Laboratories, Llc System and method for quick scripting of tasks for autonomous robotic manipulation
US9694495B1 (en) * 2013-06-24 2017-07-04 Redwood Robotics Inc. Virtual tools for programming a robot arm
JP5850004B2 (ja) * 2013-08-09 2016-02-03 株式会社安川電機 ロボット制御装置及びロボット制御方法
DE102013218823A1 (de) * 2013-09-19 2015-04-02 Kuka Laboratories Gmbh Verfahren zum manuell geführten Verstellen der Pose eines Manipulatorarms eines Industrieroboters und zugehöriger Industrieroboter
DE102014202145A1 (de) * 2014-02-06 2015-08-06 Kuka Roboter Gmbh Verfahren zum Programmieren eines Industrieroboters und zugehörigerIndustrieroboter
JP5893666B2 (ja) * 2014-04-14 2016-03-23 ファナック株式会社 力に応じて動かすロボットのロボット制御装置およびロボットシステム
DE102014010638A1 (de) 2014-07-17 2016-01-21 Kuka Roboter Gmbh Verfahren und Vorrichtung zum Steuern eines Roboters
US10759634B2 (en) 2014-08-08 2020-09-01 GM Global Technology Operations LLC Electromechanical system for interaction with an operator
US10626963B2 (en) 2015-10-19 2020-04-21 GM Global Technology Operations LLC Articulated mechanism for linear compliance
DE102014216514B3 (de) * 2014-08-20 2015-09-10 Kuka Roboter Gmbh Verfahren zum Programmieren eines Industrieroboters und zugehöriger Industrieroboter
JP6660102B2 (ja) * 2014-08-27 2020-03-04 キヤノン株式会社 ロボット教示装置およびその制御方法、ロボットシステム、プログラム
US9737371B2 (en) 2014-09-30 2017-08-22 Auris Surgical Robotics, Inc. Configurable robotic surgical system with virtual rail and flexible endoscope
US10201901B2 (en) * 2015-01-29 2019-02-12 Canon Kabushiki Kaisha Robot apparatus, method for controlling robot, program, and recording medium
DE102015205176B3 (de) * 2015-03-23 2016-05-12 Kuka Roboter Gmbh Robustes intuitives Bedienverfahren durch Berührung eines Manipulators
CN104742120A (zh) * 2015-03-31 2015-07-01 佛山市新鹏机器人技术有限公司 一种具备动力的拖动示教机械手
DE102015009151A1 (de) * 2015-07-14 2017-01-19 Kuka Roboter Gmbh Ermitteln eines Eingabebefehls für einen Roboter, der durch manuelles Ausüben einer Kraft auf den Roboter eingegeben wird
DE102015012960B4 (de) 2015-08-14 2021-09-16 Franka Emika Gmbh Robotersystem und Gehäuseteil für ein solches Robotersystem
DE102016218180B4 (de) 2015-09-21 2019-12-12 GM Global Technology Operations LLC Verlängerte Greifhilfevorrichtung mit erweiterter Reichweite zum Durchführen von Montageaufgaben
US10350766B2 (en) 2015-09-21 2019-07-16 GM Global Technology Operations LLC Extended-reach assist device for performing assembly tasks
JP6489991B2 (ja) 2015-10-02 2019-03-27 ファナック株式会社 ロボットを操作するハンドルを備えたロボット用操作装置
DE102015012962A1 (de) 2015-10-08 2017-04-13 Sami Haddadin Robotersystem
CN108430375B (zh) 2015-11-11 2021-05-07 马科外科公司 机器人系统以及反向驱动该系统的方法
DE102016004787B4 (de) 2016-04-20 2023-02-02 Franka Emika Gmbh Antriebsvorrichtung für einen Roboter und Verfahren zu ihrer Herstellung
DE102016004788A1 (de) 2016-04-20 2017-10-26 Kastanienbaum GmbH Verfahren zur Herstellung eines Roboters und Vorrichtung zur Durchführung dieses Verfahrens
DE102016004841B4 (de) * 2016-04-24 2018-01-04 Kastanienbaum GmbH Verfahren und Vorrichtung zum Festlegen eines Bewegungsablaufs für einen Roboter
WO2017203937A1 (ja) * 2016-05-26 2017-11-30 三菱電機株式会社 ロボット制御装置
US10427305B2 (en) * 2016-07-21 2019-10-01 Autodesk, Inc. Robotic camera control via motion capture
JP6571618B2 (ja) * 2016-09-08 2019-09-04 ファナック株式会社 人間協調型ロボット
CN108115672B (zh) * 2016-11-26 2021-04-20 沈阳新松机器人自动化股份有限公司 一种斜交腕喷涂机器人的运动控制系统及其方法
GB2557179B (en) * 2016-11-29 2020-01-01 Rolls Royce Plc Methods, apparatus, computer programs and non-transitory computer readable storage mediums for controlling a hyper redundant manipulator
WO2018112025A1 (en) 2016-12-16 2018-06-21 Mako Surgical Corp. Techniques for modifying tool operation in a surgical robotic system based on comparing actual and commanded states of the tool relative to a surgical site
JP6946057B2 (ja) * 2017-05-30 2021-10-06 キヤノン株式会社 ロボットハンド、ロボットハンドの制御方法、ロボット装置
TWI639906B (zh) * 2017-06-16 2018-11-01 中原大學 主動式組裝系統、主動式組裝之方法及其定位組裝裝置
US10509415B2 (en) * 2017-07-27 2019-12-17 Aurora Flight Sciences Corporation Aircrew automation system and method with integrated imaging and force sensing modalities
CN110892217A (zh) * 2017-08-04 2020-03-17 伊莱克斯家用电器股份公司 用于组装冷却设备的方法、实施该方法的组装线以及所述冷却设备的隔室
JP6633587B2 (ja) * 2017-10-05 2020-01-22 ファナック株式会社 ロボットの構成部材の速度を制限する制御装置
JP6848903B2 (ja) * 2018-03-08 2021-03-24 オムロン株式会社 部品挿入装置、部品挿入方法、およびプログラム
JP7135437B2 (ja) * 2018-05-22 2022-09-13 セイコーエプソン株式会社 ロボットシステムの制御方法及びロボットシステム
JP7172277B2 (ja) * 2018-08-21 2022-11-16 セイコーエプソン株式会社 制御装置及びロボットシステム
JP6916157B2 (ja) * 2018-10-23 2021-08-11 ファナック株式会社 人と協働作業を行うロボットシステム、及びロボット制御方法
CN109591013B (zh) * 2018-12-12 2021-02-12 山东大学 一种柔性装配仿真系统及其实现方法
EP3747604B1 (en) * 2019-06-07 2022-01-26 Robert Bosch GmbH Robot device controller, robot device arrangement and method for controlling a robot device
CN114341823A (zh) * 2019-09-29 2022-04-12 西门子股份公司 用于控制多轴运动机器的方法、装置和存储介质
JP2022047658A (ja) * 2020-09-14 2022-03-25 セイコーエプソン株式会社 作業時間提示方法、力制御パラメーター設定方法、ロボットシステムおよび作業時間提示プログラム
US20220134557A1 (en) * 2020-10-30 2022-05-05 Sintokogio, Ltd. Control device, robot control system, program, and control method

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59157715A (ja) 1983-02-25 1984-09-07 Hitachi Ltd ロボツトの直接教示方法
JPH06190753A (ja) * 1992-12-25 1994-07-12 Fujitsu Ltd ロボット制御装置
JP2006212741A (ja) * 2005-02-04 2006-08-17 National Institute Of Advanced Industrial & Technology タスクスキル生成装置
JP2008110406A (ja) 2006-10-27 2008-05-15 Yaskawa Electric Corp ロボットの直接教示装置
JP2008238338A (ja) * 2007-03-27 2008-10-09 Gifu Univ 動作支援装置およびその制御方法
JP2008296308A (ja) * 2007-05-30 2008-12-11 Panasonic Corp 家事支援ロボットアームの移動制御システムおよび移動制御方法および移動制御プログラム
WO2009004772A1 (ja) * 2007-07-05 2009-01-08 Panasonic Corporation ロボットアームの制御装置及び制御方法、ロボット、及び制御プログラム
JP4512672B2 (ja) * 2008-08-08 2010-07-28 パナソニック株式会社 掃除機の制御装置及び制御方法、掃除機、掃除機の制御プログラム、及び、集積電子回路

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5380978A (en) * 1991-07-12 1995-01-10 Pryor; Timothy R. Method and apparatus for assembly of car bodies and other 3-dimensional objects
JPH06250728A (ja) 1993-02-26 1994-09-09 Hitachi Constr Mach Co Ltd ロボットの直接教示装置
US5495410A (en) * 1994-08-12 1996-02-27 Minnesota Mining And Manufacturing Company Lead-through robot programming system
JP3307788B2 (ja) 1994-09-19 2002-07-24 株式会社安川電機 アーム駆動装置
US5956465A (en) * 1996-04-04 1999-09-21 Nissan Motor Co., Ltd. Production facility with automatic movable body for man-machine cooperation
JPH1139020A (ja) 1997-07-16 1999-02-12 Yaskawa Electric Corp ロボットの直接教示装置
JP3110403B2 (ja) * 1998-11-16 2000-11-20 技術研究組合医療福祉機器研究所 マスタスレーブマニピュレータ装置の制御方法とマニピュレータ操作入力のトレーニング方法
US6385508B1 (en) * 2000-10-31 2002-05-07 Fanuc Robotics North America, Inc. Lead-through teach handle assembly and method of teaching a robot assembly
JP3808321B2 (ja) * 2001-04-16 2006-08-09 ファナック株式会社 ロボット制御装置
US7443115B2 (en) * 2002-10-29 2008-10-28 Matsushita Electric Industrial Co., Ltd. Apparatus and method for robot handling control
US20060178775A1 (en) * 2005-02-04 2006-08-10 George Zhang Accelerometer to monitor movement of a tool assembly attached to a robot end effector
ATE476692T1 (de) * 2006-02-23 2010-08-15 Abb Ab System zur steuerung der position und orientierung eines objekts je nach von einem benutzer empfangenen kräften und drehmomenten

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59157715A (ja) 1983-02-25 1984-09-07 Hitachi Ltd ロボツトの直接教示方法
JPH06190753A (ja) * 1992-12-25 1994-07-12 Fujitsu Ltd ロボット制御装置
JP2006212741A (ja) * 2005-02-04 2006-08-17 National Institute Of Advanced Industrial & Technology タスクスキル生成装置
JP2008110406A (ja) 2006-10-27 2008-05-15 Yaskawa Electric Corp ロボットの直接教示装置
JP2008238338A (ja) * 2007-03-27 2008-10-09 Gifu Univ 動作支援装置およびその制御方法
JP2008296308A (ja) * 2007-05-30 2008-12-11 Panasonic Corp 家事支援ロボットアームの移動制御システムおよび移動制御方法および移動制御プログラム
WO2009004772A1 (ja) * 2007-07-05 2009-01-08 Panasonic Corporation ロボットアームの制御装置及び制御方法、ロボット、及び制御プログラム
JP4512672B2 (ja) * 2008-08-08 2010-07-28 パナソニック株式会社 掃除機の制御装置及び制御方法、掃除機、掃除機の制御プログラム、及び、集積電子回路

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013080500A1 (ja) * 2011-11-30 2013-06-06 パナソニック株式会社 ロボットの教示装置、ロボット装置、ロボットの教示装置の制御方法、ロボットの教示装置の制御プログラム
CN103501969A (zh) * 2011-11-30 2014-01-08 松下电器产业株式会社 机器人的示教装置、机器人装置、机器人的示教装置的控制方法以及机器人的示教装置的控制程序
US9211640B2 (en) 2011-11-30 2015-12-15 Panasonic Intellectual Property Management Co., Ltd. Teaching device for robot, robot apparatus, method of controlling teaching device for robot, and control program of teaching device for robot
JP2017024097A (ja) * 2015-07-17 2017-02-02 ファナック株式会社 ロボットによる自動組立システム
WO2018043212A1 (ja) * 2016-08-29 2018-03-08 株式会社ソニー・インタラクティブエンタテインメント 組立装置、及び電子機器の製造方法
JPWO2018043212A1 (ja) * 2016-08-29 2019-06-24 株式会社ソニー・インタラクティブエンタテインメント 組立装置、及び電子機器の製造方法
JP2019018340A (ja) * 2017-07-20 2019-02-07 キヤノン株式会社 作業用ロボット、作業用ロボットの制御方法
JP7427358B2 (ja) 2017-07-20 2024-02-05 キヤノン株式会社 ロボットシステム、物品の製造方法、制御方法、制御プログラム、および記録媒体
JP2020021660A (ja) * 2018-08-02 2020-02-06 パナソニックIpマネジメント株式会社 ケーブル挿入装置およびケーブル挿入方法
JP7253681B2 (ja) 2018-08-02 2023-04-07 パナソニックIpマネジメント株式会社 ケーブル挿入装置およびケーブル挿入方法
JP2020089961A (ja) * 2018-12-07 2020-06-11 セイコーエプソン株式会社 ロボットシステムおよび接続方法
JP7167681B2 (ja) 2018-12-07 2022-11-09 セイコーエプソン株式会社 ロボットシステムおよび接続方法

Also Published As

Publication number Publication date
US9211646B2 (en) 2015-12-15
CN102292194A (zh) 2011-12-21
CN102292194B (zh) 2015-03-04
JPWO2011021375A1 (ja) 2013-01-17
US20110190932A1 (en) 2011-08-04
JP4759660B2 (ja) 2011-08-31

Similar Documents

Publication Publication Date Title
JP4759660B2 (ja) ロボットアーム制御用の装置、方法、プログラム及び集積電子回路、並びに、組立ロボット
US8175750B2 (en) Control apparatus and control method for robot arm, robot, control program for robot arm, and robot arm control-purpose integrated electronic circuit
JP4584354B2 (ja) ロボットアームの制御装置及び制御方法、ロボット、ロボットアームの制御プログラム、並びに、集積電子回路
JP4531126B2 (ja) ロボットアームの制御装置及び制御方法、ロボット、ロボットアームの制御プログラム、及びロボットアーム制御用集積電子回路
JP4568795B2 (ja) ロボットアームの制御装置及び制御方法、ロボット、ロボットアームの制御プログラム、並びに、集積電子回路
JP5512048B2 (ja) ロボットアームの制御装置及び制御方法、ロボット、制御プログラム、並びに、集積電子回路
JP5129415B2 (ja) ロボット、ロボットの制御装置、制御方法、及び制御プログラム
US20150120050A1 (en) Robot control device, robot, and robot system
US11161249B2 (en) Robot control apparatus and robot system
JP2018167334A (ja) 教示装置および教示方法
JP4498061B2 (ja) 溶接ロボット制御装置
JP2013094947A (ja) ロボットアーム
JP2013111684A (ja) ロボットアームの制御装置及び制御方法、ロボット、ロボットアームの制御プログラム、並びに、ロボットアームの制御用集積電子回路
JP2020097101A (ja) ロボット装置、ロボットシステム、ロボット装置の制御方法、ロボット装置を用いた物品の製造方法、制御プログラム及び記録媒体
WO2011021376A1 (ja) ロボットアームの制御装置及び制御方法、家事ロボット、ロボットアームの制御プログラム、及び、ロボットアーム制御用集積電子回路
JPH079608B2 (ja) ロボツトの制御方法及びその装置
WO2014126216A1 (ja) 多関節ロボットの制御方法

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 201080005370.4

Country of ref document: CN

WWE Wipo information: entry into national phase

Ref document number: 2011500781

Country of ref document: JP

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 10809722

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2010809722

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 10809722

Country of ref document: EP

Kind code of ref document: A1