WO2010084743A1 - ロボットアームの制御装置及び制御方法、ロボット、ロボットアームの制御プログラム、並びに、集積電子回路 - Google Patents
ロボットアームの制御装置及び制御方法、ロボット、ロボットアームの制御プログラム、並びに、集積電子回路 Download PDFInfo
- Publication number
- WO2010084743A1 WO2010084743A1 PCT/JP2010/000293 JP2010000293W WO2010084743A1 WO 2010084743 A1 WO2010084743 A1 WO 2010084743A1 JP 2010000293 W JP2010000293 W JP 2010000293W WO 2010084743 A1 WO2010084743 A1 WO 2010084743A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- robot arm
- correction
- information
- force
- unit
- Prior art date
Links
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J13/00—Controls for manipulators
- B25J13/08—Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
- B25J13/085—Force or torque sensors
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/0003—Home robots, i.e. small robots for domestic use
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/42—Recording 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/423—Teaching 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
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/37—Measurements
- G05B2219/37357—Force, pressure, weight or deflection
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/39—Robotics, robotics to robotics hand
- G05B2219/39325—External force control, additional loop comparing forces corrects position
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/40—Robotics, robotics mapping to robotics vision
- G05B2219/40411—Robot assists human in non-industrial environment like home or office
Definitions
- the present invention relates to a robot arm control device and control method for generating and teaching a robot motion, a robot having a robot arm control device, a robot arm control program, and an integrated electronic circuit.
- home robots such as care robots or housework support robots have been actively developed. Unlike an industrial robot, a home robot is operated by an amateur at home, so it needs to be able to easily teach the operation. Furthermore, since the operating environment when the robot is working varies depending on the home, it is necessary to flexibly cope with the home environment.
- a force sensor is attached to the wrist of the robot, the teacher directly grasps the handle attached to the tip of the force sensor, guides the robot to the teaching point, and determines the position of the robot. Teaching is performed (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.
- the home environment is changing every moment, it is difficult to predict all environmental changes at the time of teaching, and even if many sensors can be installed, the detection accuracy is not 100% In some cases, malfunction may occur.
- a human recognizes the situation of the operating robot and transmits it to the robot each time, so that it can be operated without being conscious of the teaching, and an unexpected environment at the time of teaching. Even when fluctuations occur, the robot can be operated by teaching each time.
- a human motion is tangled in the acceleration or deceleration direction of the robot arm motion, and the human cannot correct it correctly. Furthermore, when correcting as a repetitive motion, the repetitive motion fluctuates due to the degree of human power, and cannot be corrected correctly. Further, since a person operates without understanding in detail the characteristics such as the movable range of the robot arm, the motion desired by the person cannot be corrected near the movable range. In addition, when an elderly person, a disabled person, a child, or the like is operating, if the power to be applied to the work target is insufficient, correct correction cannot be performed. Similarly, when it is desired to operate the robot arm at high speed, if the person cannot operate at that speed, correct correction cannot be performed.
- the object of the present invention has been made in view of such a problem, and realizes robot control that enables an operator to easily teach a robot in a short time even when there is an unpredictable environmental change.
- a robot arm control device and method, a robot, a robot arm control program, and an integrated electronic circuit are provided.
- the present invention is configured as follows.
- a robot arm control apparatus that performs operations by the robot arm by controlling the operation of the robot arm,
- An operation information acquisition unit that acquires at least one time-series operation information among the position, posture, speed, and force of the robot arm corresponding to the operation;
- An operation correction information acquisition unit for acquiring operation correction information related to a correction method of the operation information by the robot arm;
- the robot arm is operated based on the operation information, and the human arm is applied with the human force during the operation of the robot arm, so that the robot arm cannot correct the operation by the human operation.
- a change condition setting unit for setting a change condition when changing the operation of the robot arm by the operation of the person, at least one of the position, posture, speed, and force of the robot arm acquired by the motion information acquisition unit
- An operation correction unit for correcting operation information Provided is a robot arm control device for controlling the movement of the robot arm based on the movement information corrected by the movement correction unit.
- a robot arm control method for performing an operation by the robot arm by controlling the operation of the robot arm
- the motion information acquisition unit acquires at least one time-series motion information among the position, posture, speed, and force of the robot arm corresponding to the motion
- the motion correction information acquisition unit acquires motion correction information related to a correction method by the robot arm of the motion information
- the robot arm is operated based on the operation information, and the human arm is applied with the human force during the operation of the robot arm, so that the robot arm cannot correct the operation by the human operation.
- the robot arm There is provided a robot having the robot arm control device according to any one of the first to 21 aspects, which controls the operation of the robot arm.
- a control program for a robot arm that controls the operation of the robot arm and performs work by the robot arm, Acquiring at least one time-series motion information of the position, posture, speed, and force of the robot arm corresponding to the motion with a motion information acquisition unit; Obtaining motion correction information related to a method of correcting the motion information by the robot arm with a motion correction information acquisition unit;
- the robot arm is operated based on the operation information, and the human arm is applied with the human force during the operation of the robot arm, so that the robot arm cannot correct the operation by the human operation.
- an integrated electronic circuit for controlling a robot arm that performs an operation by the robot arm by controlling an operation of the robot arm
- the motion information acquisition unit acquires at least one time-series motion information among the position, posture, speed, and force of the robot arm corresponding to the motion
- the motion correction information acquisition unit acquires motion correction information related to a correction method by the robot arm of the motion information
- the robot arm is operated based on the operation information, and the human arm is applied with the human force during the operation of the robot arm, so that the robot arm cannot correct the operation by the human operation.
- the motion information acquisition unit the motion correction information acquisition unit, the change condition setting unit, the motion correction unit, Therefore, it is possible to control the movement of the robot arm that can easily correct the movement of the robot arm described by the movement information according to the human force and the movement correction information. Furthermore, it is possible to perform motion correction in consideration of fluctuations in motion parameters input from a person.
- the operation of the robot arm described by the operation information is considered in consideration of the fluctuation of the operation parameter input by a person. It is possible to control the robot arm that can easily correct the operation.
- FIG. 1 is a diagram showing an outline of a configuration of a control device for a robot arm in the first embodiment of the present invention.
- FIG. 2 is a diagram showing a detailed configuration of a control device and a robot arm that is a control target that constitute the robot system in the first embodiment of the present invention
- FIG. 3 is a block diagram showing a configuration of a control unit of the control device in the first embodiment of the present invention
- FIG. 4A is a diagram illustrating a list of operation information in an operation information database of the control device in the first embodiment
- FIG. 4B is a diagram illustrating a list of other operation information in the operation information database of the control device in the first embodiment
- FIG. 5 is a diagram for explaining flag information in the operation information database of the control device in the first embodiment.
- FIG. 6 is a diagram for explaining information about the correction parameter flag in the operation information database of the control device in the first embodiment.
- FIG. 7 is a diagram showing an operation state of the control device for the robot arm in the first embodiment of the present invention
- FIG. 8A is a diagram illustrating an operation of the control device for the robot arm in the first embodiment of the present invention
- FIG. 8B is a diagram illustrating an operation of the robot arm control device and a human operation state in the first embodiment of the present invention;
- FIG. 8C is a diagram showing an operation of the control device for the robot arm in the first embodiment of the present invention
- FIG. 9 is a diagram illustrating the operation of the robot arm control device according to the first embodiment of the present invention
- FIG. 10 is a diagram illustrating an operation of the control device for the robot arm in the first embodiment of the present invention
- FIG. 11 is a flowchart showing operation steps of the control unit of the control device in the first embodiment of the present invention
- FIG. 12A is a diagram illustrating a list of operation correction information in the operation correction information database of the control device in the first embodiment
- FIG. 12B is a diagram illustrating a list of operation correction information in the operation correction information database of the control device in the first embodiment
- FIG. 13 is a diagram for explaining a list of operation information of the robot arm in the first embodiment of the present invention
- FIG. 14 shows operation steps of the change condition setting unit, the operation correction unit, the operation command unit, the operation storage unit, the operation information database, the operation correction information database, and the control parameter management unit of the control device according to the first embodiment of the present invention.
- FIG. 15A is a diagram illustrating a list of robot arm operation information in the robot arm control apparatus according to the second embodiment of the present invention
- FIG. 15B is a diagram for explaining operation information of the robot arm in the robot arm control device according to the second embodiment of the present invention
- FIG. 15A is a diagram illustrating a list of robot arm operation information in the robot arm control apparatus according to the second embodiment of the present invention
- FIG. 15B is a diagram for explaining operation information of the robot arm in the robot arm control device according to the second embodiment of the present invention
- FIG. 15A is a diagram illustrating a list of robot arm operation information in the robot arm control apparatus according to the second
- FIG. 16 is a diagram illustrating a list of motion correction information in the motion correction information database of the robot arm control device according to the second embodiment of the present invention
- FIG. 17A is a diagram illustrating a list of robot arm operation information of the robot arm control device according to the third embodiment of the present invention
- FIG. 17B is a diagram for explaining operation information of the robot arm of the control device for the robot arm according to the third embodiment of the present invention
- FIG. 17C is a diagram for explaining operation information of the robot arm of the robot arm control device according to the third embodiment of the present invention
- FIG. 18 is a diagram illustrating a list of motion correction information in the motion correction information database of the robot arm control device according to the third embodiment of the present invention
- FIG. 18 is a diagram illustrating a list of motion correction information in the motion correction information database of the robot arm control device according to the third embodiment of the present invention
- FIG. 19 is a diagram illustrating a detailed configuration of the control device and a robot arm that is a control target that configure a robot system according to a fourth embodiment of the present invention
- FIG. 20 is a diagram illustrating a list of motion correction information in the motion correction information database of the robot arm control device according to the fourth embodiment of the present invention.
- FIG. 21 is a diagram illustrating a list of operation information of the robot arm in the control device of the fourth embodiment of the present invention
- FIG. 22 is a diagram illustrating a list of motion correction information in the motion correction information database of the robot arm control device according to the fifth embodiment of the present invention.
- FIG. 23A is a diagram illustrating a list of operation information of the robot arm in the control device of the fifth embodiment of the present invention.
- FIG. 23B is a diagram for explaining operation information of the robot arm in the control device of the fifth embodiment of the present invention
- FIG. 23C is a diagram for explaining operation information of the robot arm in the control device of the fifth embodiment of the present invention
- FIG. 23D is a diagram for explaining operation information of the robot arm in the control device of the fifth embodiment of the present invention
- FIG. 23E is a diagram for explaining operation information of the robot arm in the control device of the fifth embodiment of the present invention
- FIG. 24 is a diagram illustrating a list of motion correction information in the motion correction information database of the robot arm control device according to the sixth embodiment of the present invention.
- FIG. 25A is a diagram illustrating a list of operation information of the robot arm in the control device of the sixth embodiment of the present invention.
- FIG. 25B is a diagram for explaining operation information of the robot arm in the control device of the sixth embodiment of the present invention
- FIG. 25C is a diagram for explaining operation information of the robot arm in the control device of the sixth embodiment of the present invention
- FIG. 26A is a diagram showing the operation of the robot arm control apparatus according to the eighth embodiment of the present invention
- FIG. 26B is a diagram showing an operation of the robot arm control device according to the eighth embodiment of the present invention
- FIG. 27A is a diagram showing an operation of the robot arm control device and a human operation state in the eighth embodiment of the present invention
- FIG. 27B is a diagram showing an operation of the robot arm control device and a human operation state in the eighth embodiment of the present invention
- FIG. 28 is a diagram for explaining a list of motion correction information in the motion correction information database.
- FIG. 29 is a diagram illustrating a list of motion correction information in the motion correction information database of the robot arm control device according to the eighth embodiment.
- FIG. 30 is a diagram illustrating the operation of the robot arm control device according to the eighth embodiment of the present invention;
- FIG. 31 is a diagram illustrating a detailed configuration of a control device and a robot arm that is a control target that configure a robot system according to a seventh embodiment of the present invention.
- FIG. 32A is a diagram showing an operation of a control device for a robot arm and a human operation state in the ninth embodiment of the present invention, FIG.
- FIG. 32B is a diagram illustrating an operation of the control device for the robot arm and a human operation state in the ninth embodiment of the present invention
- FIG. 32C is a diagram showing an operation of the robot arm control device and a human operation state in the ninth embodiment of the present invention
- FIG. 33 is a diagram illustrating a list of motion correction information in the motion correction information database of the robot arm control device according to the ninth embodiment
- FIG. 34 is a diagram for explaining a list of robot arm operation information of the robot arm control device according to the ninth embodiment of the present invention
- FIG. 35 is a diagram illustrating a list of assist values of an assist value calculation unit in the control device of the eighth embodiment of the present invention, FIG.
- FIG. 36 is a diagram illustrating a list of assist values of an assist value calculation unit in the robot arm control device of the ninth embodiment of the present invention
- FIG. 37 is a diagram illustrating a list of motion correction information in the motion correction information database of the robot arm control device according to the ninth embodiment
- FIG. 38A is a diagram for explaining information about the movable range of the robot arm in the seventh embodiment of the present invention
- FIG. 38B is a diagram for explaining information on the movable range of the robot arm in the seventh embodiment of the present invention
- FIG. 39 is a diagram illustrating a list of operation information in the operation history information database of the robot arm in the control device of the seventh embodiment of the present invention
- FIG. 40 is a diagram illustrating information regarding the movable range of the robot arm in the control device of the seventh embodiment.
- FIG. 41 is a diagram for explaining information about a movable range of the robot arm in the control device of the seventh embodiment.
- FIG. 42 is a diagram illustrating a detailed configuration of a control device and a robot arm that is a control target that configure a robot system according to a tenth embodiment of the present invention.
- FIG. 43A is a diagram illustrating a list of correction history information in the operation correction information database of the control device of the tenth embodiment;
- FIG. 43B is a diagram illustrating a list of correction history information in the operation correction information database of the control device of the tenth embodiment;
- FIG. 44 is a diagram showing a display unit constituting the robot system in the tenth embodiment of the present invention
- FIG. 45A is a diagram related to a coordinate system in a robot arm of the control device according to the first embodiment of the present invention
- FIG. 45B is a diagram relating to a coordinate system in a robot arm of the control device according to the first embodiment of the present invention
- FIG. 45C is a diagram relating to a coordinate system in a robot arm of the control device according to the first embodiment of the present invention
- FIG. 46 is a flowchart showing an adaptation order of each correction method in the motion correction unit of the robot arm control apparatus according to the eleventh embodiment of the present invention.
- a robot arm control apparatus that performs operations by the robot arm by controlling the operation of the robot arm,
- An operation information acquisition unit that acquires at least one time-series operation information among the position, posture, speed, and force of the robot arm corresponding to the operation;
- An operation correction information acquisition unit for acquiring operation correction information related to a correction method of the operation information by the robot arm;
- the robot arm is operated based on the operation information, and the human arm is applied with the human force during the operation of the robot arm, so that the robot arm cannot correct the operation by the human operation.
- a change condition setting unit for setting a change condition when changing the operation of the robot arm by the operation of the person, at least one of the position, posture, speed, and force of the robot arm acquired by the motion information acquisition unit
- An operation correction unit for correcting operation information Provided is a robot arm control device for controlling the movement of the robot arm based on the movement information corrected by the movement correction unit.
- the motion correction information acquisition unit is described to delete and correct a part of the motion information for the operation of the person on the robot arm.
- the robot arm control device according to the first aspect is provided for acquiring motion correction information related to the correction method.
- the motion correction information acquisition unit may extract a part of the motion information for the human operation on the robot arm from a position or speed of the robot arm or The robot arm control device according to the first aspect, which acquires motion correction information related to a correction method described to assist and correct at least one value of the force applied to the robot arm.
- the robot arm further includes a force detection unit that detects a force applied to the robot arm from the outside
- the movement information acquired by the movement information acquisition unit includes the position information of the hand of the robot arm, the posture information of the robot arm, and the robot at each time according to the movement performed by the robot arm.
- the force of the person detected by the force detection unit when correction is required by the operation correction unit according to the change condition set by the change condition setting unit and during the operation of the robot arm, When correcting the motion information acquired by the motion information acquisition unit according to the motion correction information, the position information or posture information at each time or 4.
- the robot arm control device according to the first, second, or third aspect, wherein the motion information acquired by the motion information acquisition unit is corrected using at least one of speed information and force information. I will provide a.
- the robot arm further includes a force detection unit that detects a force applied to the robot arm from the outside
- the motion correction information acquired by the motion information acquisition unit includes a periodicity correction method that detects and corrects a period with a periodicity with respect to a trajectory of the motion information with respect to the operation of the person, and an operation being corrected by the person.
- the motion correction unit is the case where correction is necessary according to the change condition set by the change condition setting unit, and during the operation of the robot arm, the human force detected by the force detection unit,
- the robot arm control device according to a third aspect, wherein the motion information acquired by the motion information acquisition unit is corrected according to at least one of the periodicity correction method and the assist correction method. To do.
- the robot arm further includes a force detection unit that detects a force applied to the robot arm from the outside
- the motion correction information acquired by the motion correction information acquisition unit includes a section in which a certain period of time has elapsed since the person started operating the robot arm, and a section immediately before the person finishes operating the robot arm.
- the motion correction unit is The human force detected by the force detection unit when correction is necessary according to the change condition set by the change condition setting unit and during the operation of the robot arm, (I) a section in which a certain time has passed since the person started operating the robot arm; (II) By the correction method of deleting and correcting at least one of the sections (I) and (II) of the section immediately before the person finishes operating the robot arm, the motion information acquisition unit The acquired motion information is corrected, and the length of the section (I) or (II) is determined according to the speed of the robot arm.
- the robot arm further includes a force detection unit that detects a force applied to the robot arm from the outside
- the motion correction information is a correction method in which the human force is equal to or greater than a threshold for power and is corrected by deleting a section other than a period in which the time equal to or greater than the threshold for time continues.
- the motion correction unit is configured to detect the force of the person detected by the force detection unit when correction is necessary according to the change condition set by the change condition setting unit and during the operation of the robot arm.
- the motion acquired by the motion information acquisition unit by a correction method that deletes and corrects other than the section in which the time equal to or greater than the time threshold continues for that the human power is equal to or greater than the power threshold.
- a robot arm control device according to a second aspect for correcting information is provided.
- the robot arm further includes a force detection unit that detects a force applied to the robot arm from the outside
- the motion correction information is a correction method for correcting by deleting an operation section within the time when the human force is equal to or greater than the power threshold within a time equal to or less than the time threshold.
- the motion correction unit is configured to detect the force of the person detected by the force detection unit when correction is necessary according to the change condition set by the change condition setting unit and during the operation of the robot arm.
- the motion information acquisition unit performs the correction by deleting and correcting the operation section within the time.
- a robot arm control device according to a second aspect of correcting the acquired motion information is provided.
- a force detection unit that detects a force applied from the outside to the robot arm;
- a correction method type determination unit that determines the type of parameter to be corrected among the operation information acquired by the operation information acquisition unit;
- the operation correction information is a correction method for correcting by deleting a parameter other than the type determined by the correction method type determination unit,
- the motion correction unit is configured to detect the force of the person detected by the force detection unit when correction is necessary according to the change condition set by the change condition setting unit and during the operation of the robot arm.
- the periodicity correction method eliminates the bias in a section where there is a bias with respect to any one or more pieces of information on the position, posture, speed, or force of the robot arm.
- Correction method to correct The motion correction unit is configured to detect the force of the person detected by the force detection unit when correction is necessary according to the change condition set by the change condition setting unit and during the operation of the robot arm. Acquired by the motion information acquisition unit by a correction method for correcting the position and orientation information of the robot arm so that the deviation is eliminated in a section where there is a deviation regarding the position or orientation, speed or force information of the robot arm.
- a robot arm control device that corrects the motion information.
- the motion correction unit is configured to detect the force of the person detected by the force detection unit when correction is necessary according to the change condition set by the change condition setting unit and during the operation of the robot arm.
- a correction method that corrects so that the information on the position and posture of each robot arm in the repeated section is averaged.
- the robot arm control device according to a fifth aspect of the invention corrects the motion information acquired by the motion information acquisition unit.
- the person continues the operation for the number of operations on the robot arm that is equal to or greater than the lower limit threshold and equal to or less than the upper limit threshold, and before and after the operation of the person.
- the correction method corrects the motion information when the difference between before and after the operation is greater than or equal to a threshold value.
- the motion correction unit is configured to detect the force of the person detected by the force detection unit when correction is necessary according to the change condition set by the change condition setting unit and during the operation of the robot arm.
- the information according to the fifth aspect in which the motion information acquired by the motion information acquisition unit is corrected by a correction method for correcting the changed motion information when the difference between the values before and after the operation is greater than or equal to a threshold value.
- a control device for a robot arm is provided.
- the person continues the operation for the number of times equal to or greater than the lower limit threshold and equal to or less than the upper limit threshold, and the robot arm is
- the position information of the hand has changed and the number of times when the changed position information is outside the movable range of the robot arm is equal to or greater than the threshold for the movable range, the position information is moved to the movable position of the robot arm.
- the operation correction unit when correction is necessary according to the change condition set in the change condition setting unit, the person continues the operation of the number of times more than the lower limit threshold and less than the upper limit threshold, Further, when the position information of the hand of the robot arm has changed from before the operation, and the number of times when the changed position information is outside the movable range of the robot arm is greater than or equal to the threshold for the movable range.
- a robot arm control device according to a twelfth aspect, wherein the motion information acquired by the motion information acquisition unit is corrected by a correction method for correcting the position information so as to be within the movable range. .
- the force detection unit detects force information applied to the hand of the robot arm
- the person continues the operation for the number of times equal to or greater than the lower limit threshold and equal to or less than the upper limit threshold, and the force information applied to the hand of the robot arm is used for force information after the operation before the operation.
- the operation correction unit is configured to detect the human force detected by the force detection unit when correction is necessary according to the change condition set by the change condition setting unit and during the operation of the robot arm.
- a robot arm control device according to a twelfth aspect, wherein the motion information acquired by the motion information acquisition unit is corrected by a correction method for correcting the force information so as to increase.
- the person continues the operation for the number of times not less than the lower limit threshold and not more than the upper limit threshold, and the speed information of the hand of the robot arm is operated.
- a correction method for correcting the speed information so as to increase in the case where the speed threshold is increased by more than a threshold after the operation The operation correction unit is configured to detect the human force detected by the force detection unit when correction is necessary according to the change condition set by the change condition setting unit and during the operation of the robot arm.
- the person continues the operation for the number of times equal to or greater than the lower limit threshold and equal to or less than the upper limit threshold, and the speed information of the hand of the robot arm increases after the operation more than the threshold for the speed after the operation.
- the robot arm control device according to the twelfth aspect, wherein the motion information acquired by the motion information acquisition unit is corrected by a correction method for correcting the speed information so as to increase.
- the apparatus further comprises an assist value calculation unit that calculates a value for correcting the motion information acquired by the motion information acquisition unit,
- the assist value calculation unit provides the robot arm control device according to a twelfth aspect, in which the value is calculated according to the number of times the person operates the robot arm.
- the robot arm further includes a force detector that detects a force applied to the robot arm from the outside, The operation information acquired by the operation information acquisition unit only with the force of the person detected by the force detection unit when the person continues the operation of the number of operations equal to or greater than the lower limit threshold of the number of operations on the robot arm.
- the robot arm control device according to the first, second, or third aspect is provided.
- the robot arm further includes a force detector that detects a force applied to the robot arm from the outside,
- a force detector that detects a force applied to the robot arm from the outside
- the operation correction unit needs to be corrected according to the change condition set by the change condition setting unit, based on the operation information, (I) a hybrid impedance control mode in which the robot arm operates in response to a force detected by the force detection unit and applied to the robot arm while the robot arm is operating; (II) an impedance control mode in which the robot arm operates according to the force applied to the robot arm from the person to the robot arm that is detected and stopped by the force detection unit; and (III) At least one of the three types of control modes, which is a force control mode that operates by applying a specified force, is set for each direction of the rotation axis of the joint portion of the robot arm, and While the control mode (III) is set in at least one of the directions of the rotation axis and the robot arm is operated, the human operation is performed in the direction in which the control mode (
- the robot arm is switched to a control mode in which the robot arm does not move by an operation of the person during the operation of the robot arm, and operates by applying the specified force among the motion information acquired by the motion information acquisition unit.
- the robot arm control device according to the first, second, or third aspect for correcting the force at the time is provided.
- a hybrid impedance control mode in which the robot arm is operated according to a force detected by the force detection unit and applied to the robot arm while the robot arm is operating
- an impedance control mode in which the robot arm operates according to the force applied to the robot arm from the person to the robot arm that is detected and stopped by the force detection unit
- At least one of the three types of control modes which is a force control mode that operates by applying a specified force, is set for each direction of the rotation axis of the joint portion of the robot arm, and While the control mode (II) is set in at least one of the directions of the rotation axis and the robot arm is operated, the direction in which the control mode (I) or (II) is set
- the robot arm according to the first, second, or third aspect that switches to the hybrid impedance control according to the motion correction information and correct
- the display device further includes a display unit that displays information related to advice on the human operation based on information related to the history of the motion correction information adapted at the time of correction of the motion correction unit.
- a robot arm control device according to the second or third aspect is provided.
- the motion correction unit is configured to perform the operation on the person's robot arm when the correction is required according to the change condition set by the change condition setting unit. After correcting the motion information acquired by the motion information acquisition unit by a correction method described so as to correct by deleting a part of the motion information, the human arm to the robot arm.
- the robot arm control device according to the first, second, or third aspect of the present invention corrects so as to assist and correct a part of the motion information with respect to a human operation.
- a robot arm control method for performing an operation by the robot arm by controlling the operation of the robot arm
- the motion information acquisition unit acquires at least one time-series motion information among the position, posture, speed, and force of the robot arm corresponding to the motion
- the motion correction information acquisition unit acquires motion correction information related to a correction method by the robot arm of the motion information
- the robot arm is operated based on the operation information, and the human arm is applied with the human force during the operation of the robot arm, so that the robot arm cannot correct the operation by the human operation.
- the robot arm There is provided a robot having the robot arm control device according to any one of the first to 21 aspects, which controls the operation of the robot arm.
- a control program for a robot arm that controls the operation of the robot arm and performs work by the robot arm, Acquiring at least one time-series motion information of the position, posture, speed, and force of the robot arm corresponding to the motion with a motion information acquisition unit; Obtaining motion correction information related to a method of correcting the motion information by the robot arm with a motion correction information acquisition unit;
- the robot arm is operated based on the operation information, and the human arm is applied with the human force during the operation of the robot arm, so that the robot arm cannot correct the operation by the human operation.
- an integrated electronic circuit for controlling a robot arm that performs an operation by the robot arm by controlling an operation of the robot arm
- the motion information acquisition unit acquires at least one time-series motion information among the position, posture, speed, and force of the robot arm corresponding to the motion
- the motion correction information acquisition unit acquires motion correction information related to a correction method by the robot arm of the motion information
- the robot arm is operated based on the operation information, and the human arm is applied with the human force during the operation of the robot arm, so that the robot arm cannot correct the operation by the human operation.
- FIGS. 1 and 2 are diagrams showing an outline of a robot system 1 including the robot arm 5 and its control device 70 in the first embodiment of the present invention.
- the robot arm 5 of the robot system 1 is installed on a wall surface 7a of a work table 7 such as a home kitchen or table.
- the base end 5a of the robot arm 5 is supported so as to be movable with respect to the rail 8 fixed to the wall surface 7a, and the robot arm 5 is moved laterally (for example, in the horizontal direction) along the rail 8 in the horizontal direction. It can be moved by force.
- FIG. 1 shows, as an example, a robot system that stirs a pot 3.
- the person 4 directly grips the robot arm 5 of the robot system 1, and the person 4 applies a force to the robot arm 5.
- the robot arm 5 is moved along the rail 8 by the force applied from the person 4 to the robot arm 5, and the robot arm 5 is guided to the vicinity of the cooking utensil 3 such as a pot.
- the person 4 puts a cooking tool 9 such as a ladle for stirring work or a cleaning tool 46 such as a sponge for wiping work on the hand 30 at the tip of the robot arm 5 of the robot system 1 (see FIG. 9). Install.
- a cooking tool 9 such as a ladle for stirring work or a cleaning tool 46 such as a sponge for wiping work on the hand 30 at the tip of the robot arm 5 of the robot system 1 (see FIG. 9).
- the person 4 uses the data input IF 26 when the person 4 presses the button 13a of the operation panel 13 of the robot system 1 arranged on the side surface of the cooking apparatus 6 such as an IH cooking heater or a gas stove.
- the robot arm 5 is actuated to start a preselected work, that is, a stirring work or a wiping cleaning work.
- the rail 8 is arranged on the wall surface 7a of the work table 7.
- it can be installed at a place suitable for work such as a ceiling surface or a side surface of the island kitchen top plate.
- operation panel 13 is fixed to the side surface of the cooking device 6, a remote control capable of remote operation may be used instead of the operation panel 13.
- FIG. 2 is a diagram showing a detailed configuration of the robot arm 5 to be controlled and the control device 70 of the robot arm 5 constituting the robot system 1.
- the control device 70 of the robot arm 5 includes a control device main body 11, a motion generation device 12 that generates motion of the robot arm 5, and a peripheral device 14.
- the robot arm 5 of the first embodiment is an articulated robot arm composed of a multi-link manipulator having 6 degrees of freedom.
- the robot arm 5 includes a hand 30, a forearm link 32 having a wrist 31 to which the hand 30 is attached at a distal end 32a, and an upper arm link 33 having a distal end 33a rotatably connected to a proximal end 32b of the forearm link 32.
- the base end 33b of the upper arm link 33 is provided with a base portion 34 that is rotatably connected and supported.
- the pedestal 34 is connected to the movable rail 8, but may be fixed at a fixed position.
- 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 the relative posture (direction) of the hand 30 with respect to the forearm link 32.
- the fifth joint portion 39 can change the relative posture of the hand 30 with respect to the wrist portion 31 around the vertical axis ( ⁇ ) orthogonal to the horizontal axis of the fourth joint portion 38.
- the sixth joint portion 40 is relative to the wrist portion 31 around the horizontal axis ( ⁇ ) orthogonal to the horizontal axis ( ⁇ ) of the fourth joint portion 38 and the vertical axis ( ⁇ ) of the fifth joint portion 39. Can change the attitude.
- 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.
- the upper movable portion 34a of the base portion 34 rotates around the first joint portion 35 with respect to the lower fixed portion 34b of the base portion 34, that is, around the vertical axis parallel to the vertical axis of the fifth joint portion 39. It is possible.
- 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 the rotating portion of each axis is provided with a rotation drive device such as a motor 43 and an encoder 44 that detects the rotation phase angle (ie, the joint angle) of the rotation axis of the motor 43.
- the motor 43 of the first embodiment is disposed inside each joint portion of the robot arm 5.
- the motor 43 is driven and controlled by a motor driver 25 (described later) provided on one of the two link members constituting each joint.
- the rotation shaft of the motor 43 provided in the joint portion of one link member of each joint portion is connected to the other link member, and the other link member is moved forward and backward by rotating the rotation shaft forward and backward. It is possible to rotate around each axis with respect to one link member.
- Reference numeral 41 denotes an absolute coordinate system in which the relative positional relationship is fixed with respect to the lower fixed portion 34 b of the base portion 34
- reference numeral 42 denotes a hand coordinate system in which the relative positional relationship with respect to the hand 30 is fixed.
- the origin position O e (x, y, z) of the hand coordinate system 42 viewed from the absolute coordinate system 41 is set as the hand position (position of the hand 30) of the robot arm 5, and the hand coordinate system 42 viewed from the absolute coordinate system 41 is used.
- a coordinate system in which the coordinate system is rotated by an angle ⁇ with the Z axis of the absolute coordinate system 35 as a rotation axis is considered (see FIG. 45A).
- the coordinate axes at this time are [X ′, Y ′, Z].
- this coordinate system is rotated by an angle ⁇ about Y ′ as a rotation axis (see FIG. 45B).
- Let the coordinate axes at this time be [X ′′, Y ′, Z ′′].
- this coordinate system is rotated by an angle ⁇ with X ′′ as the rotation axis (see FIG. 45C).
- 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 coordinate system of the posture ( ⁇ , ⁇ , ⁇ ) is parallel to the origin position O e (x, y, z) of the hand coordinate system 42 and the hand coordinate system 42 coincides with the hand coordinate system 42
- the posture vector of the system is assumed to be ( ⁇ , ⁇ , ⁇ ).
- each joint angle information output from the control unit 44 is taken into the control device main body 11 through the counter board of the input / output IF 24, and based on each taken joint angle information, the control device main body 11 performs rotation operation of each joint portion.
- a control command value is calculated.
- the calculated control command values are given to the motor driver 25 for driving and controlling the joints of the robot arm 5 through the D / A board of the input / output IF 24, and the control command values sent from the motor driver 25 are sent. Accordingly, the motor 43 of each joint portion of the robot arm 5 is driven.
- a hand drive motor 62 and an encoder 61 that detects the rotation phase angle of the rotation shaft of the hand drive motor 62 are further provided in the hand 30.
- the rotation angle information detected by the encoder 61 is taken into the control device main body 11 through the counter board of the input / output IF 24, and the control unit 22 of the control device main body 11 is based on the taken rotation angle information.
- a control command value for the opening / closing operation of the hand 30 is calculated by the hand control unit 54 (shown in FIG. 3).
- the calculated control command value is given to the motor driver 25 that also opens and closes the hand 30 through the D / A board of the input / output IF 24, and the motor 62 is rotated according to each control command value sent from the motor driver 25.
- the hand 30 is opened and closed by controlling the drive and rotating the rotating shaft of the motor 62 for driving the hand forward and backward.
- the control device main body 11, the motion generation device 12, and the peripheral device 14 are each configured by a general personal computer as an example.
- the motion generation device 12 includes a motion information database 17 that functions as an example of a motion information acquisition unit, a motion correction information database 18 that functions as an example of a motion correction information acquisition unit, a motion command unit 27, a motion correction unit 20,
- the change condition setting unit 82 and the operation storage unit 15 are configured. Between the motion correction unit 20 and the control parameter management unit 21 and between the change condition setting unit 82 and the control parameter management unit 21, information on the hand position and posture of the robot arm 5 and the person 4 are added respectively. Force information and operation commands are input and output.
- the control parameter management unit 21 outputs the hand position and posture of the robot arm 5 and information on the force applied from the person 4 to the robot arm 5 to the operation storage unit 15.
- the motion information database 17 is information (motion information) related to the motion of the robot arm 5 such as the hand position and posture of the robot arm 5 at a certain time.
- the operation information is recorded by the operation storage unit 15.
- the motion information database 17 inputs / outputs motion information to / from the motion command unit 27, inputs / outputs motion information to / from the motion correction unit 20, and inputs main motion information from the motion storage unit 15. And memorized.
- the operation information database 17 inputs and outputs operation information to and from the change condition setting unit 82, and main operation information is input and stored by the operation storage unit 15.
- the change condition set by the change condition setting unit 82 is input from the change condition setting unit 82 to the operation correction unit 20.
- An operation correction start command is input from the operation command unit 27 to the change condition setting unit 82.
- operation information database 17 for example, information (operation information) related to the operation of the robot arm 5 illustrated in FIGS. 4A and 4B is stored in the operation storage unit 15. Specific examples of the operation information are shown below.
- a work ID number for identifying a work (see the “work ID” column in FIGS. 4A and 4B).
- the work ID is a code used to identify information related to the work
- the action ID is a code used to identify information related to the action.
- the “position and orientation” of the motion information database 17 in FIGS. 4A and 4B that is, information on the hand position and posture of the robot arm 5 represents the hand position and posture of the robot arm 5 described above, and is based on the origin position O e and the posture. , (X, y, z, ⁇ , ⁇ , ⁇ ).
- the information on the force indicates information on the force applied to the target object when the robot arm 5 performs work, and the components of the force in the x, y, z, ⁇ , ⁇ , and ⁇ directions are expressed as (f x , f y , f z , f ⁇ , f ⁇ , f ⁇ ).
- f z 5 [N]
- wiping and cleaning the top plate such as the IH cooking heater 6, it is used when the surface of the top plate is rubbed with force.
- the information about the “flag” in the motion information database in FIGS. 4A and 4B is a value indicating which information among the hand position, posture, and force of the robot arm 5 based on the motion information indicated by each “motion ID” is valid. It is. Specifically, it is represented by the 32-bit numerical value shown in FIG. In FIG. 5, “1” is set when each value of the hand position, posture, and force is valid, and “0” is set when each value of the hand position, posture, and force is invalid. For example, at the 0th bit, “1” is set when the x-coordinate value of the hand position of the robot arm 5 is valid, and “0” is set when it is invalid.
- the first bit “1” is set when the y-coordinate value of the hand position of the robot arm 5 is valid, and “0” is set when it is invalid.
- “1” is set when the value of the z-coordinate of the hand position of the robot arm 5 is valid, and “0” is set when the value is invalid.
- the third, fourth, and fifth bits sequentially indicate the validity of the postures ⁇ , ⁇ , and ⁇ (that is, “1” is valid and “0” is invalid).
- the 6th to 11th bits indicate whether each component of force is valid or invalid (ie, “1” when valid, and “0” when invalid).
- the information related to “time” in the motion information database 17 in FIG. 4A and FIG. 4B is the time for executing each motion of the robot arm 5, and the motion stored in this “motion ID” is the “time” here. It represents performing over time stored as information relating to ".” That is, it represents the relative time from the previous operation, not the absolute time. That is, the “position / posture” indicated by the “motion ID” represents the time until the hand 30 of the robot arm 5 moves or the time until the “force” indicated by the “motion ID” is reached.
- the information regarding the “correction parameter flag” in the operation information database 17 is information indicating which parameters are corrected by the operation correction unit 20 and the change condition setting unit 82 described later. Specifically, it is represented by a 32-bit numerical value shown in FIG. In FIG. 6, “1” is set when the respective values of the hand position, posture, and force can be corrected by each bit, and when correction of the respective values of the hand position, posture, and force is impossible, “ 0 ”. For example, in the 0th bit, “1” is set when the x-coordinate value of the hand position can be corrected, and “0” is set when the x-coordinate value of the hand position cannot be corrected.
- the first bit “1” is set when the y-coordinate value of the hand position can be corrected, and “0” is set when the y-coordinate value of the hand position cannot be corrected.
- the second bit “1” is set when the z-coordinate value of the hand position can be corrected, and “0” is set when the z-coordinate value of the hand position cannot be corrected.
- the third, fourth, and fifth bits indicate the correctability of the posture ⁇ , ⁇ , and ⁇ (that is, “1” when correction is possible, and “0” when correction is impossible).
- the 6th to 11th bits indicate the possibility of correction of each component of the force (ie, “1” when correction is possible and “0” when correction is impossible).
- the 12th to 31st bits are not used, so “0” is inserted. It is good also as a variable which can store only a bit.
- the information related to “progress information” in the operation information database 17 in FIGS. 4A and 4B is information indicating whether or not the operation is being executed, and is “1” if the operation is being executed. If it is not an operation, it is stored as “0” in the operation information database 17 by the operation storage unit 15. Specifically, when the operation is started by the operation command unit 27, the person 4 stores “1” in the operation storage unit 15 for the operation currently being executed (executed) among the operations of the operation. Then, “0” is stored in the operation storage unit 15 for the operation that is not currently operated (executed).
- the operation command unit 27 receives a command for starting the operation of the work “work ID” designated by the person 4 through the data input IF 26.
- the operation command unit 27 receives an instruction to start the operation of the designated “work ID” and starts the operation of the designated “work ID”.
- “1” is set to “progress information” of “operation ID” during operation by the operation command unit 27 and stored in the operation information database 17 by the operation storage unit 15.
- “0” is set in the motion command unit 27 and stored in the motion information database 17 by the motion storage unit 15.
- Information on the position and orientation of the hand of the robot arm 5 and the time in the motion information database 17 is, for example, as shown in FIG. 5 is moved, information on the hand position and posture of the robot arm 5 is acquired at certain time intervals (for example, every 0.2 msec), and is stored in the motion information database 17 by the motion storage unit 15 along with the time. To do. Further, the force information in the motion information database 17 is created by inputting a force value to be applied by the data input IF 26.
- 3 is a pan as an example of a cooking utensil
- 9 is a ladle as an example of a cooking utensil held by the hand 30 to stir the pan 3.
- the motion correction information database 18 is, for example, information (motion correction information) regarding a method for correcting the motion of the robot arm 5 illustrated in FIG. 12A.
- the motion correction information ID number (see the column of “motion correction information ID” in FIG. 12A) that is an ID for identifying the motion correction information, and information related to the correction section (“correction section” in FIG. 12A).
- the information on the start time indicating the relative time from the time when the person 4 started operating the robot arm 5 while the operation is started with the operation information ("start time” in FIG. 12A).
- Information on the time immediately before the person 4 finishes the operation of the robot arm 5 see the “End time” column in FIG.
- the change condition setting unit 82 has a function of setting a condition for changing the operation of the robot arm 5 (a condition for changing the operation of the robot arm 5 including whether or not to perform the correction operation of the robot arm 5).
- the intention of the operation of the person 4 with respect to the movement of the arm 5 is estimated, and the target value target value of the movement information regarding the movement of the robot arm 5 (the value regarding the hand position or posture finally reached by the movement of the robot arm 5, or
- it has a function of estimating a value that is a value related to a hand position or posture that is not finally reached but is a target value when operating the hand position or posture.
- the change condition setting unit 82 is an impedance control mode, a position control mode, or a force control mode, which will be described later, or a control mode in which these are combined for each direction based on information on the position, posture, force, and time in the motion information database 17.
- an operation correction start command is received from the data input IF 26 through the operation command unit 27 together with the operation correction unit 20.
- the change condition setting unit 82 corrects the movement information of the robot arm 5 in the movement information database 17 by applying a force to the robot arm 5 by the person 4 based on the movement correction information in the movement correction information database 18.
- the robot arm 5 has a function of setting a condition for changing the operation information of the robot arm 5 (for example, estimating a target value).
- the motion correction unit 20 is an impedance control mode, a position control mode, or a force control mode, which will be described later, or a control mode in which these are combined for each direction, based on information on the position, posture, force, and time in the motion information database 17.
- the operation correction unit 20 receives an operation correction start command from the data input IF 26 via the operation command unit 27.
- the motion correction unit 20 has a function of correcting the motion information of the robot arm 5 in the motion information database 17 according to the change condition (for example, the estimated target value of the motion information) set by the change condition setting unit 82. Yes.
- the operation correction unit 20 may have the function of the change condition setting unit 82.
- the operation correction unit 20 is divided into the operation correction unit 20 and the change condition setting unit 82 for each function. is doing.
- the person 4 selects the work to be executed by the robot arm 5 from the work related to “work ID” in the work information database 17 by using the data input IF 26, and inputs the selection information to the motion command unit 27.
- the change condition setting unit 82 and the operation command unit 27 receive a work selection command for the work of “work ID” designated by the person 4 through the data input IF 26, and the change condition setting unit 82 and the motion correction unit 20 are received from the operation command unit 27.
- work selection instructions is the motion information of the work of “work ID” selected from the motion information database 17 (specifically, position information, posture information, time information, and force information). In accordance with the flag, the control parameter management unit 21 is instructed to set the control mode and operate.
- the person 4 issues a command to start the operation of the selected work to the operation command unit 27 through the data input IF 26.
- the change condition setting unit 82 and the motion correction unit 20 receive commands from the motion command unit 27, and the motion correction unit 20 changes the z-axis direction.
- the other axes issue commands to the control parameter management unit 21 to work in the position control mode. Then, as shown in FIG. 9, the robot arm 5 starts wiping and cleaning work on the top plate such as the IH cooking heater 6.
- the change condition setting unit 82 and the motion correction unit 20 receive commands from the motion command unit 27, and the motion correction unit 20 is in the position control mode. A command is issued to the control parameter management unit 21 to perform a stirring operation. Then, as shown in FIG. 8A, the robot arm 5 starts a stirring operation.
- the person 4 confirms the condition of ingredients of the pot 3 and moves the ladle 9 held by the hand 30 of the robot arm 5 from the upper surface of the pot 3 toward the bottom of the pot 3.
- a case will be described as an example in which the material in the pot 3 is stirred in a circle, and correction is made so as to stir while repeating the operation of stirring the material in the pot 3 in a circle while moving from the bottom of the pot toward the top surface of the pot 3.
- the data input IF 26 issues a correction start command to the operation command unit 27.
- the operation command unit 27 receives a correction start command from the data input IF 26 and outputs a correction start to the operation correction unit 20 and the change condition setting unit 82.
- the operation correction unit 20 receives a correction start command from the data input IF 26, sets the control mode according to the correction parameter flag of the operation information database 17 and the change condition setting unit 82, and operates. Thus, a command is issued to the control parameter management unit 21.
- the correction parameter flag of “operation ID” when the operation of “operation ID” “2” in FIG. 4B is in operation is 0, 1, 2 bits in FIG. 4B. Since only the eyes are “1” and the others are “0”, this indicates that only the x, y, and z axes of the robot arm 5 can be corrected.
- the operation correction unit 20 issues a command to the control parameter management unit 21 so as to operate in a mode in which the force is detected and moved in the direction in which the force is detected.
- the robot arm 5 is moved in the position control mode by the hybrid impedance control mode.
- the robot arm 5 can be moved in the z-axis direction in the direction in which the force of the person 4 is detected and applied. Since the person 4 wants to make corrections so as to stir in a circle on the x and y planes while moving up and down, the person 4 moves the robot arm 5 up and down with force applied to the robot arm 5 as shown in FIG. 8B. .
- the change condition setting unit 82 information on the hand position and posture of the robot arm 5 from the control unit 22 through the control parameter management unit 21 to the end point when the person 4 starts correction is fixed to a certain level. Acquired every time (for example, every 0.2 seconds).
- the acquired data is shown in FIG. In FIG. 13, “ID” is an identification number for identifying each acquired data, “position / posture” is the acquired position and posture of the hand of the robot arm 5, and “time” is the time when the person 4 starts correction Is 0 and represents the relative time from that point.
- the motion correction unit 20 searches the motion correction information database 18 for motion correction information having the same ID as the currently working “work ID”.
- the motion correction information of “2” of “work ID” has “1” of “motion correction information ID”.
- the motion correction information with “motion correction information ID” “1” is “deletion time” is “1”
- “end time” is table ID “2”
- “correction method” is “deletion”. Is obtained by the change condition setting unit 82.
- the change condition setting unit 82 corrects the data of FIG.
- the change condition setting unit 82 calculates the speed for each direction of the position and orientation based on the ID having the smallest “ID” among the data acquired by the motion correction unit 20. Specifically, the speed at each ID is changed by the formula of (position / posture of the ID immediately before the current ID) / (time of the current ID minus time of the previous ID) / Obtained by the condition setting unit 82. The speed obtained by the change condition setting unit 82 is shown in the speed column of FIG. Next, since the speed of the ID number at the beginning of the operation, in this example, the speed of ID “2” is (0, 0.5, 0, 0, 0, 0) (m / s), Since the fast speed is 0.5 (m / s), the “start time” in FIG. 12A is the table “1” in FIG. 12B, so the speed 0.5 (m / s) obtained earlier is 0. Since it is 3 (m / s) or more, the change condition setting unit 82 acquires that the start time is 3 (s).
- the elapsed time is sequentially calculated by the change condition setting unit 82, and the elapsed time is calculated as “start time” (in this example, “3 seconds”).
- start time in this example, “3 seconds”.
- the elapsed time from “1” to “11” is 3 seconds, the data in that section is deleted by the operation correction unit 20.
- the “end time” is calculated by the change condition setting unit 82.
- the “end time (table ID)” in FIG. 12A is “2” from the table in FIG. 12B.
- the speed of the largest ID of “Table ID” is 0 in the direction (0, 0.25, 0, 0, 0, 0,) (m / s) in the example of FIG. .25 (m / s), the speed of 0.25 (m / s) is “0.2 or more and less than 0.3 when“ table ID ”is“ 2 ”according to FIG. 12B. Therefore, the change condition setting unit 82 acquires information whose end time (“correction time”) is 1 (second).
- the elapsed time is calculated by the change condition setting unit 82 in order from the ID having the largest “ID”, and the elapsed time is set as the change condition setting.
- the operation correction unit 20 corrects the interval until the “end time” (in this example, “1 second”) previously obtained by the unit 82 by the method described in the correction method of the operation correction information (“deletion” in this example). To do. In the example of FIG. 13, since the elapsed time from “ID” “25” to “20” is 1 second, the data of the section is deleted by the operation correction unit 20.
- the information on the hand position and orientation acquired by the change condition setting unit 82 in this way is output from the change condition setting unit 82 and stored in the operation information database 17 by the operation storage unit 15 as shown in FIG. 8C.
- the operation of the ladle 9 at the tip of the robot arm can be corrected to the operation of stirring in a circle while moving up and down.
- the amount of camera shake occurs more frequently immediately after the start of correction than at the end of correction. Therefore, the direction immediately after the start of correction is deleted longer than that at the end of correction.
- a table is set up.
- the “table ID” is set to “1” or “2”. For example, when the robot arm 5 is moving slowly, such as an elderly person or a child, a lot of camera shake occurs. By switching the “table ID”, the deletion time can be set longer even at a low speed. At this time, in order to identify whether it is “elderly” or “child”, an ID for identifying whether it is “elderly” or “child” may be input by the data input IF. Conversely, when the speed of the robot arm 5 in operation is slow and the person 4 operating the robot arm 5 can reliably operate the robot arm 5, the correction time in FIG. 12B is set to 0 seconds. By doing so, it can be set not to perform correction.
- the hand of the person 4 is shaken at the start of the correction operation and at the end of the operation according to the speed of the robot arm 5 in operation, and the correction including the shake is performed. Can be prevented.
- the change condition setting unit 82 and the motion correction unit 20 operate at the motion information in the motion information database 17 so that the person 4 applies a force to the robot arm 5 so that the correction operation can be performed at the initial stage and the correction operation. It becomes possible to correct by eliminating the shake of the hand of the person 4 at the end.
- the motion correction unit 20 applies the force to the robot arm 5 while operating with the motion information in the motion information database 17, so that the person 4 at the initial stage of the correction operation and at the end of the correction operation It will be possible to correct by eliminating hand shake.
- An operation storage unit 15 stores the operation information corrected by the operation correction unit 20 in the operation information database 17. Furthermore, information on the hand position (position of the hand 30) and posture of the robot arm 5 and the force applied by the person 4 to the robot arm 5 is input from the control parameter management unit 21 to the operation storage unit 15.
- the control device main body 11 is configured to include a control parameter management unit 21 and a control unit 22. Between the control unit 22 and the control parameter management unit 21, information on the hand position or force of the robot arm 5 is input / output.
- control parameter management unit 21 Details of the control parameter management unit 21 will be described.
- the control parameter management unit 21 Based on an instruction from the motion correction unit 20, the control parameter management unit 21 selects a control mode among the three modes of the hybrid impedance control mode, the force hybrid impedance control mode, and the high-rigidity position control mode of the robot arm 5. Set to switch. Further, the control parameter management unit 21 sets mechanical impedance setting values in the hybrid impedance control mode and the force hybrid impedance control mode. The control parameter managing unit 21 performs the setting of the operation information to the hand position and orientation target correcting output r d ⁇ settings and target track generation unit 55 to output impedance calculation unit 51 to be described later.
- the control parameter management unit 21 Based on an instruction from the motion correction unit 20, the control parameter management unit 21 issues a command to the control unit 22 so that the robot arm 5 operates according to the set control mode, and the robot under the control of the control unit 22. The arm 5 is operated. Further, the control parameter management unit 21 notifies the operation correction unit 20 and the change condition setting unit 82 of the hand position or force information of the robot arm 5 from the control unit 22.
- the position control mode is a mode in which the robot arm 5 is operated based on the hand position and posture target vector command of the target trajectory generation unit 55 described later, and the person 4 applies a force to the robot arm 5.
- this is a mode of a control method for controlling the operation of the robot arm 5 so that the robot arm 5 does not move.
- this is a mode in which the robot arm 5 operates during work such as stirring work or wiping work.
- the impedance control mode controls the operation of the robot arm 5 so that the robot arm 5 is operated according to the force detected by the force detection unit 53 and applied to the robot arm 5 from a person 4 or the like. This is the control method mode. For example, as shown in FIG. 7, the mode that operates when the person 4 directly holds the robot arm 5 and guides the robot arm 5 to the work place (the position of the pan 3 in FIG. 7) is the impedance control mode.
- (Iii) Hybrid Impedance Control Mode In the hybrid impedance control mode, the force applied to the robot arm 5 is detected by the force detection unit 53 and detected by the force detection unit 53 when the robot arm 5 is operating in the position control mode. This is a mode of a control method for controlling the operation of the robot arm 5 so that the robot arm 5 operates according to the applied force. Specifically, as shown in FIG. 8A, when the robot arm 5 is performing the mixing work in the position control mode, the person 4 confirms the condition of the ingredients of the pot 3 and 3, when the person 4 wants to correct the operation of the robot arm 5 so as to stir the bottom side portion, the control parameter management unit 21 outputs a command to switch to the hybrid impedance control mode to the control unit 22.
- the force control mode is a control method for controlling the operation of the robot arm 5 so as to operate while pressing the object with the robot arm 5 with the force set from the operation correction unit 20 to the control parameter management unit 21. Is the control mode. For example, when wiping and cleaning the top plate such as the IH cooking heater 6 as shown in FIG.
- the force control mode is a control mode that is used in the direction in which a force is applied and controlled, such as in the case of a stirring operation in which a force is applied to the bottom and rubbed.
- the force hybrid impedance control mode switches between the hybrid impedance control mode, the impedance control mode, and the position control mode for each of the six axes, and operates by applying the specified force.
- This is a control method mode for controlling the operation of the robot arm 5 so as to operate in the force control mode. 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).
- (Vi) Force hybrid impedance control mode For example, when wiping and cleaning a top plate such as the IH cooking heater 6 as shown in FIG.
- force hybrid impedance control mode is set.
- the following control modes are set for each of the six axes (x, y, z, ⁇ , ⁇ , ⁇ ). That is, the (x, y) component is a hybrid impedance control mode, the ( ⁇ , ⁇ , ⁇ ) component is an impedance control mode, and the z-axis component is a force hybrid impedance control mode that operates in a force control mode.
- the direction parallel to the cleaning surface is set to the hybrid impedance control mode, so that the robot arm 5 is moved according to the force applied to the robot arm 5 from the person 4 or the like while operating in the position control mode.
- the posture of the robot arm 5 can be changed according to the force applied to the robot arm 5 from the person 4 or the like while the vehicle is stopped. It becomes like this.
- the z-axis component to the force control mode, it becomes possible to operate while pressing with a designated force.
- the z-axis component may be operated in the force control mode, and the other axes may be operated in the position control mode.
- the position control component is not moved by mistake.
- the high-rigidity position control mode is a control mode in which the position control mode during the operation of the robot arm 5 is made further rigid. Specifically, it is realized by increasing the gain in the position error compensation unit 56 described later, and even if the person 4 applies force, the robot arm 5 cannot be easily moved. Therefore, the force applied by the person 4 can be correctly detected.
- control modes are operated by setting an appropriate control mode for each direction and posture of the robot arm 5 when the robot arm 5 is operated.
- the hand position and posture target correction output r output by the mechanical impedance parameter or the impedance calculation unit 51 according to the parameter to be corrected. Change the d ⁇ setting.
- the control parameter management unit 21 outputs the inertia M, the viscosity D, and the stiffness K of the mechanical impedance parameter calculated based on the equations (3) to (5) to the control unit 22.
- the person 4 uses the ladle 9 held by the hand 30 of the robot arm 5 to stir the upper part in the pan 3.
- the control parameter management unit 21 sets the above correction value to be high only for the position component and the posture component other than the z axis of the robot arm 5 (specifically, for example, about 10 times the above correction value).
- the robot arm 5 is set so that the viscosity D and the rigidity K are increased, and resistance or hardness is generated in the movement of the robot arm 5, and the robot arm 5 becomes difficult to move.
- control parameter management unit 21 from the control parameter management unit 21 to the motion storage unit 15, the motion correction unit 20, and the change condition setting unit 82, information on the hand position and posture of the robot arm 5 and the force applied by the person 4 Need to be notified. Therefore, upon receiving information on the hand position and force of the robot arm 5 from the control unit 22 to the control parameter management unit 21, the control parameter management unit 21 moves to the operation storage unit 15, the operation correction unit 20, and the change condition setting unit 82. Make a notification. Further, the control parameter management unit 21 notifies the control unit 22 of the operation information such as the position, posture, and time input from the operation correction unit 20 to the control parameter management unit 21.
- the control unit 22 includes a target trajectory generation unit 55, a hand control unit 54, a force detection unit 53, an impedance calculation unit 51, a position control system 59 (a position error compensation unit 56, an approximate inverse kinematics calculation unit 57, And a forward kinematics calculation unit 58.) and a position error calculation unit 80.
- the force detection unit 53 is illustrated as a part of the control unit 22 in FIG. 3, but may be configured differently from the control unit 22.
- the current value (joint angle vector) vector q [q 1 , q 2 , q 3 , q 4 , q 5 , q 6 ] T of the joint angle measured by the encoder 44 of each joint axis. 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.
- the target trajectory generation unit 55 is generated by the motion correction unit 20 and input to the target trajectory generation unit 55 via the control parameter management unit 21 so as to operate the robot arm 5 in the position control mode or the hybrid impedance control mode. from operation information, and generates the target track generation unit 55 of the hand position and orientation target vector r d of the target.
- target vector r d is outputted from the target track generation unit 55 to the positional error calculation unit 80.
- the target trajectory generation unit 55 uses polynomial interpolation to interpolate the trajectory between the points, and the hand position and posture target vector. to generate a r d.
- the impedance control mode and outputs a hand position of the robot arm 5 at the time of switching to the impedance control mode, as the hand position and orientation target vector r d of the target. Further, an opening / closing command of the hand 30 is issued to the hand control unit 54 described later by the opening / closing flag of the hand 30 of the operation information in the operation information database 17.
- the target trajectory generation unit 55 is generated by the motion correction unit 20 and operates via the control parameter management unit 21 so as to operate the robot arm 5 in the force hybrid impedance control mode or the high-rigidity position control mode. from operation information input to the section 55, to generate the target track generation unit 55 of the hand position and orientation target vector r d of the target.
- Target track generation unit 55 receives an input of operation information from the control parameter managing unit 21, in the hand position and orientation target vector r d and the target track generation unit 55 for realizing the operation of the robot arm 5 to the target
- the generated hand force vector f d and a flag indicating which parameter is valid for each direction are output from the target trajectory generation unit 55 to the position error calculation unit 80.
- Target track generation unit 55 uses the polynomial interpolation interpolates the track and force between the respective points, it generates a tip unit position and orientation target vector r d and the force vector f d. Further, as in the first embodiment, an opening / closing command for the hand 30 is issued to the hand control unit 54 described later by the opening / closing flag of “hand” in the operation information of the operation information database 17.
- a hand control unit which issues a command to the robot arm 5 via the input / output IF 24 to open / close the hand 30 by the open / close flag input from the target trajectory generating unit 55.
- Reference numeral 53 denotes a force detection unit that detects an external force F ext applied to the robot arm 5 due to contact between the person 4 and the robot arm 5. However, in the case of working with an object having a weight of m held at the hand, mg is subtracted from the detected F ext beforehand.
- g is a gravitational acceleration. The value of the mass m of the grasped object can be input to the force detection unit 53 by the person 4 by the data input IF 26 before grasping the object.
- J v (q) is
- v [v x , v y , v z , ⁇ x , ⁇ y , ⁇ z ] T
- (v x , v y , v z ) is the position of the hand of the robot arm 5 in the hand coordinate system 42.
- the translation speed ( ⁇ x , ⁇ y , ⁇ z ) is the angular velocity of the hand of the robot arm 5 in the hand coordinate system 42.
- m is the mass of the gripping object gripped by the hand 30, and g is the gravitational acceleration.
- the value of the mass m of the grasped object can be input to the force detection unit 53 by the person 4 via the input / output IF 24 before grasping the object. It is also possible to actually hold the object by the hand 30 of the robot arm 5 and calculate the value of the mass m of the grasped object from the estimation result of the equivalent hand external force F ext of the force detection unit 53 at that time.
- the impedance calculation unit 51 is a part that fulfills the function of realizing the control of the mechanical impedance value of the robot arm 5 to the mechanical impedance set value in the robot arm 5, and has been switched from the control parameter management unit 21 to the position control mode. In this case, 0 is output.
- the hand position and posture target correction output rd ⁇ for realizing the control of the mechanical impedance value of the robot arm 5 to the mechanical impedance set value by the robot arm 5 is expressed as follows:
- the hand position and posture target correction output rd ⁇ calculated by the impedance calculation unit 51 according to the equation (6) are output to the position error calculation unit 80.
- the control parameter management unit 21 switches to the force hybrid impedance control mode
- the impedance parameter set by the control parameter management unit 21 is present when the force component specified by the “flag” exists.
- the robot arm 5 From the inertia M, the viscosity D, the rigidity K, the current value q of the joint angle, the external force F ext detected by the force detection unit 53, and the f d output from the target trajectory generation unit 55, the robot arm 5 has a mechanical impedance.
- the hand position and posture target correction output rd ⁇ for realizing the control of the mechanical impedance value of the robot arm 5 to the set value is calculated by the impedance calculation unit 51 according to the following equation (10), and is obtained by calculation.
- the obtained hand position and posture target correction output rd ⁇ is output to the position error calculation unit 80.
- Hand position and orientation target correcting output r d? Is added by the position error calculation unit 80 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 generated .
- the hand position and posture target correction output rd ⁇ The impedance calculation unit 51 sets 0 except for the z component.
- a forward kinematics calculation unit to which a joint angle vector q, which is a current value q of the joint angle measured by the encoder 44 of each joint axis from the robot arm 5, is input via the input / output IF 24.
- the forward kinematics calculation unit 58 performs geometric calculation of conversion from the joint angle vector q of the robot arm 5 to the hand position and posture vector r by the forward kinematics calculation unit 58.
- the hand position and orientation vector r calculated by the forward kinematics calculator 58 is output to the position error calculator 80, the impedance calculator 51, and the target trajectory generator 55.
- Reference numeral 56 denotes a position error compensation unit, which includes a hand position and posture vector r calculated by a forward kinematics calculation unit 58 from a joint angle vector q measured by the robot arm 5, and a hand position and posture correction target vector r dm .
- the error r e is determined by the position error calculation unit 80, the error r e is inputted to the positional error compensating unit 56, the positional error compensating unit 56, the position error compensation output u re is the approximation reverse kinematical calculation unit 57 Is output toward.
- the three gains of proportionality, differentiation, and integration which are constant diagonal matrices, are set to large preset values (compared to the normal position control mode).
- Set a large value specifically, a value about twice that of the normal position control mode, where high rigidity means that the rigidity is higher than that of normal position control. If the value is about twice that in the normal position control mode, the rigidity can be increased up to about twice.) By doing so, position control with high rigidity can be realized. Note that by changing the value of the gain for each component, for example, it is possible to control so that only the z-axis direction is highly rigid and the other directions are operated by normal position control.
- 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.
- Basic impedance control operation (as well as hybrid impedance control) is a hand position and feedback control of the orientation error r e by the positional error compensating unit 56 (position control), the portion enclosed by the dotted line in FIG. 3 position control system 59.
- positional error compensating unit 56 for example, using a PID compensator, the tip unit position and orientation error r e acts to control by the position control system 59 so as to converge to 0, the impedance control operation of the robot arm 5 to the target Can be realized.
- the hand position and posture target correction output is output by the impedance calculation unit 51 to the position control system 59 described above.
- the rd ⁇ is added by the position error calculation unit 80, and the target position and orientation target values are corrected.
- the above-described position control system 59 causes the hand position and posture target values to deviate slightly from the original values, and as a result, the value of the mechanical impedance of the robot arm 5 is set appropriately. An operation for controlling to the set value is realized, and the position control operation of the position control system 59 can be corrected.
- the hand position and posture target correction output rd ⁇ is calculated by the equation (6) in the impedance control mode or the hybrid impedance control mode, and is calculated by the equation (10) in the force hybrid impedance control mode.
- the peripheral device 14 is configured to include a data input IF (interface) 26, an input / output IF (interface) 24, a motor driver 25, and the display unit 2.
- Control information such as a control signal is output from the control unit 22 to the input / output IF 24.
- correction information such as correction parameters stored in the motion information database 17 and a video, photo, or text corresponding to the motion ID are output to the display unit 2, and the robot arm 5 described in the motion information is described.
- An operation image, a photograph, or a text is displayed on the display unit 2.
- the input / output IF 24 is configured to have, 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 input / output IF 24 inputs each joint angle information output from the encoder 44 described later and the angle information output from the encoder 61 of the hand 30 of each joint portion of the robot arm 5 and inputs them to the control unit 22.
- control information such as a control signal is input from the control unit 22 to the input / output IF 24, and control information such as a control command value is output to the motor driver 25.
- the motor driver 25 outputs control information such as control command values to the motor 43 described later and the motor 62 of the hand 30 of each joint portion of the robot arm 5.
- the data input IF 26 is a data input IF (interface), which is an interface for the person 4 to input or change operation information (to be described later) using an input device such as a keyboard or a mouse or a microphone. Further, the data input IF 26 may receive a control operation start and end command from the person 4 to the operation command unit 27 using an input device such as the button 13a of the operation panel 13 of FIG. As the button 13a, for example, it is possible to input a control operation start and a control operation end with one button as a toggle switch, or a control operation start button and a control operation end button may be provided separately.
- a display unit for example, a display device installed on the side of the robot arm 5 or the workbench 7 to display operation information and the like.
- Joint angle data (joint variable vector or joint angle vector q) measured by the encoder 44 of each joint part of the robot arm 5 is transferred from the encoder 44 to the control part 22 of the control device main body part 11 via the input / output IF 24. Captured (step S1).
- the inverse kinematics calculation unit 57 calculates the Jacobian matrix J r and the like necessary for the kinematics calculation of the robot arm 5. Calculation is performed (step S2).
- 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 variable vector or joint angle vector q) from each encoder 44 of the robot arm 5. And it outputs to the position error calculation part 80, the target track
- the target track calculation unit 55 calculates the tip unit position and orientation target vector r d of the robot arm 5, the impedance control mode outputs the hand position of the robot arm 5, a position error calculator 80 as hand position and orientation target vectors r d to the target (step S4).
- the force detection unit 53 calculates the equivalent hand at the hand of the robot arm 5 from the drive current value i of the motor 43, the joint angle data (joint variable vector or joint angle vector q), and the joint angle error compensation output u qe.
- the external force F ext is calculated and output to the impedance calculator 51 (step S5).
- step S6 when the control parameter management unit 21 instructs that there is correction by an operation correction unit 20 described later and corrects the force component of the six axes with the correction parameter, the component for which the force component is set is high.
- the control mode can be switched to the rigid position control mode. Thereafter, the process proceeds to step S7.
- step S6 when the hybrid impedance control mode is set in the control parameter management unit 21, when correcting the position component of the six axes, the position component to be changed is changed to the impedance control mode. Then, it progresses to step S9.
- step S6 if the position control mode is set in the control parameter management unit 21, the process proceeds to step S8, and the position control mode is set in step S8.
- the process proceeds to step S9, and the force control mode is set in step S9.
- step S7 processing in the impedance calculation means 51
- the impedance calculation unit 51 sets the hand position and posture target correction output rd ⁇ to 0. Let it be a vector. Then, it progresses to step S10.
- step S8 processing in the impedance calculation means 51
- the impedance calculation unit 51 sets the hand position and posture target correction output rd ⁇ as a zero vector. To do. Then, it progresses to step S11.
- step S9 when the control parameter management unit 21 sets the impedance control mode or the force control mode, the impedance calculation unit 51 sets the inertia M and the viscosity D of the mechanical impedance parameter set in the control parameter management unit 21. , Stiffness K, joint angle data (joint angle vector q), and equivalent hand external force F ext applied to the robot arm 5 calculated by the force detection unit 53, the hand position and posture target correction output r d ⁇ are impedance calculated. Calculated by unit 80. Further, based on the correction parameter, the value of any component of the hand position and posture target correction output rd ⁇ is set to zero. Then, it progresses to step S11.
- step S11 the positional error compensating unit 56, 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?, And the current hand position error r e of the tip unit position and orientation that is a difference between the attitude vector r is calculated.
- a specific example of the position error compensator 56 is a PID compensator. The position error compensator 56 is controlled so that the position error converges to 0 by appropriately adjusting three gains of proportionality, differentiation, and integration, which are constant diagonal matrices. Thereafter, the process proceeds to step S12.
- step S10 the position error compensator 56 is controlled so that the position error converges to 0 by appropriately adjusting three gains of proportionality, differentiation, and integration, which are constant diagonal matrices of the position error compensation unit 56. Work. By reducing the gain to a certain value, highly rigid position control is realized. Thereafter, the process proceeds to step S12.
- step S12 the approximation reverse kinematical calculation unit 57, by multiplying by the approximation reverse kinematical calculation unit 57 to the inverse matrix of the Jacobian matrix J r calculated in step S2 to the positional error compensating output u re, positional error compensating 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 S ⁇ b> 13 the joint angle error compensation output u qe is given from the approximate inverse kinematics calculation unit 57 to the motor driver 25 through the input / output IF 24.
- the motor driver 25 changes the amount of current flowing through each motor 43 in the joint based on the joint angle error compensation output u qe . Due to this change in the amount of current, a rotational motion of each joint portion of the robot arm 5 occurs, and the robot arm 5 operates.
- the person 4 uses the data input IF 26 to issue a selection command for selecting a task to be executed by the robot arm 5 from the operations in the motion information database 17, that is, a selection command for the selected (designated) “work ID”. Input to the operation command unit 27 (step S50).
- step S51 based on the selection command input to the motion command unit 27, the motion correction unit 20 is stored in the motion information database 17 and is in accordance with the “flag” of the motion information related to the “designated” “work ID”.
- a control mode is set (step S51).
- step S52 when an operation start command for an operation selected by the person 4 using the data input IF 26 is input to the operation command unit 27, the operation command unit 27 receives the operation start command and passes through the operation correction unit 20. Then, the control parameter management unit 21 is instructed to operate in the set control mode (step S52). The control parameter management unit 21 issues a command to the control unit 22 to operate the robot arm 5 under the control of the control unit 22 so that the robot arm 5 operates in the set control mode.
- the person 4 uses the data input IF 26 to input a correction start command to the operation command unit 27 (step S53).
- the motion command unit 27 receives a correction start command
- the motion command start command is input to the motion correction unit 20 and the change condition setting unit 82.
- the motion correction unit 20 sets the control mode time according to the “correction parameter flag”, and issues a command to the control parameter management unit 21 to operate the robot arm 5 in the set control mode (step S54).
- the change condition setting unit 82 corrects the operation information. Specifically, the change condition setting unit 82 obtains information on the hand position and posture of the robot arm 5 from the time point when the person 4 starts correction to the time point when the correction is completed. In step S55, the motion correction unit 20 corrects the acquired motion according to the motion correction information (step S56).
- the motion information corrected by the motion correction unit 20 is stored in the motion information database 17 by the motion storage unit 15 (step 57).
- the motion correction unit 20 can correct the motion blur from the person 4 in consideration.
- the mixing operation that operates in the position control mode is described as an example.
- correction by the same method can be performed by the motion correction unit 20 in consideration of motion blur from the person 4.
- the robot arm 5 is always operated in the hybrid impedance control mode instead of the position control mode during the operation. Also good. In this case, it is impossible to prevent an erroneous operation when the person 4 applies a force to the robot arm 5 by mistake, but the correction can be made anytime without instructing the start of the correction.
- the robot arm 5 is always operated in the hybrid impedance control mode instead of the position control mode during the operation. Also good. In this case, it is impossible to prevent an erroneous operation when the person 4 applies a force to the robot arm 5 by mistake, but the correction can be made anytime without instructing the start of the correction.
- FIG. 16 shows the motion correction information database 18.
- the operation correction information ID number (refer to the “motion correction information ID” column in FIG. 16), which is an ID for identifying the motion correction information, and information relating to the correction section (see the “correction section” column in FIG. 16).
- Information about the threshold of the force when the person 4 applies force while the operation is started with the information (see “force threshold” in FIG. 16) and the force that the person 4 is equal to or more than the “threshold of force”
- Information about the time threshold (see “Time Threshold” in FIG. 16), information on the correction method of the operation information (see the “correction method” column in FIG.
- the operation correction information of the ID indicated by “” is configured to have “work ID” (refer to the column of “work ID” in FIG. 16) that is an identification number for identifying which work is applied.
- “Work ID” is one of the values of “Work ID” in the motion information database 17, and when it is correction information adapted to a plurality of tasks, “2” of “Motion correction information ID” in FIG. Thus, “1,3” and a plurality of IDs can be stored.
- the motion correction unit 20 uses the data input IF 26 to allow the person 4 to perform a task that the robot arm 5 wants to perform from among the tasks related to “work ID” in the work information database 17.
- the selection information is input to the operation command unit 27 and designated.
- the operation command unit 27 receives a work selection command for the work of “work ID” designated by the person 4 through the data input IF 26, and the operation command unit 27 instructs the change condition setting unit 82 and the motion correction unit 20 to select the work. By selecting the work.
- the operation correction unit 20 sets the control mode according to the “flag” of the operation selected in the operation information database 17.
- a command is issued from the operation correction unit 20 to the control parameter management unit 21 so as to operate in the set control mode.
- the operation correction unit 20 sets the control mode through the “correction parameter flag” in the operation information database 17 via the operation command unit 27,
- a command is issued to the control parameter management unit 21 to operate in the set control mode.
- a change condition setting unit that changes the force applied to the hand of the robot arm 5 from the time when the person 4 starts correction to the time when the correction ends and the position and orientation of the hand of the robot arm 5 every certain time (for example, every 0.2 seconds). Get at 82.
- data acquired by the change condition setting unit 82 is shown in FIG. 15A.
- ID represents an identification number for identifying each data acquired by the change condition setting unit 82
- position / posture is the position and posture of the hand of the robot arm 5 acquired by the change condition setting unit 82.
- Force represents the force applied to the robot arm 5 acquired by the change condition setting unit 82
- time represents 0 when the person 4 starts correction, and represents the relative time from that point. .
- the motion correction unit 20 searches the motion correction information database 18 for motion correction information having the same ID as the currently working “work ID”.
- the motion correction information with “work ID” “2” is “motion correction information ID”. “1”.
- the motion correction information whose “motion correction information ID” is “1” is that “force threshold” of “correction section” is “3 (N)”, “time threshold” is “3 (seconds)”, “correction method”
- the change condition setting unit 82 acquires information in which “is“ deleted ”. Using this motion correction information, the motion correction unit 20 corrects the data of FIG.
- a period other than a period in which the information related to the force is equal to or greater than the “force threshold” of the motion correction information is equal to or longer than the “time threshold” of the motion correction information.
- the operation correction unit 20 performs correction using the correction method described in “Correction method” (in this case, “deletion”).
- 15B is a graph in which the time in FIG. 15A is plotted on the horizontal axis and only the x component of the force is plotted on the vertical axis.
- FIG. 15B (c) is a graph in which the time in FIG. 15A is plotted on the horizontal axis. It is a graph which expressed only y ingredient on the vertical axis.
- the time “time1” corresponds to "threshold time” operation correction information.
- FIG. 15B (b) there is a section in which a section greater than or equal to the “force threshold” has a time “time1” or more, but a section greater than or equal to the “force threshold” has a time “ There may be cases where the sections of the respective components are different, such as no section having “time1” or more.
- the change condition setting unit 82 does not delete a section in which the force of any component is equal to or greater than the “force threshold” and is equal to or greater than the time “time1” as a section used for correction for all components. .
- the motion of the ladle 9 at the tip of the robot arm is agitated in a circular shape while moving up and down as shown in FIG. 8C.
- the operation correction unit 20 can perform correction. Further, by the correction using the movement correction information, in the correction by the moving person 4, the force for operating the robot arm 5 of the person 4 is a certain value or more, and the force exists for a certain period of time.
- the force applied to the robot arm 5 of the person 4 is below the threshold in the sections where the hand of the person 4 shakes, such as when the person 4 starts the correction operation and at the end of the correction operation. Therefore, it is possible to prevent such a section from being used for correction.
- the “force threshold” is set to 3 (N) and the “time threshold” is set to 3 (seconds). However, according to the speed as in the first embodiment, respectively. Can be determined. In other words, the force applied by the person 4 is likely to fluctuate while operating fast, and therefore, it is possible to correct only the state of stable operation by setting a large threshold value.
- FIG. 18 shows the motion correction information database 18.
- the operation correction information ID number (refer to the “motion correction information ID” column in FIG. 18), which is an ID for identifying the motion correction information, and information related to the correction section (see the “correction section” column in FIG. 18).
- Information about the force threshold when the person 4 applies force while the operation is started with the information (see “force threshold” in FIG. 18), and the force when the person 4 is equal to or greater than the “force threshold”.
- time threshold in FIG. 18
- information about the correction method of motion information see “correction method” column in FIG. 18
- “motion correction information ID” "Operation ID” see the column of "work ID” in FIG.
- “Work ID” is one of the values of “Work ID” in the motion information database 17.
- the “work ID” is “2” of “motion correction information ID” in FIG. 18.
- the motion correction unit 20 uses the data input IF 26 to allow the person 4 to perform a task that the robot arm 5 wants to perform from among the tasks related to “work ID” in the work information database 17.
- the selection information is input to the operation command unit 27 and designated.
- the operation command unit 27 receives a work selection command for the work of “work ID” designated by the person 4 through the data input IF 26, and the operation command unit 27 instructs the change condition setting unit 82 and the motion correction unit 20 to select the work. By selecting the work.
- the operation correction unit 20 sets the control mode according to the “flag” of the operation selected in the operation information database 17.
- a command is issued from the operation correction unit 20 to the control parameter management unit 21 so as to operate in the set control mode.
- the operation correction unit 20 sets the control mode through the “correction parameter flag” in the operation information database 17 via the operation command unit 27,
- a command is issued to the control parameter management unit 21 to operate in the set control mode.
- a change condition setting unit that changes the force applied to the hand of the robot arm 5 from the time when the person 4 starts correction to the time when the correction ends and the position and orientation of the hand of the robot arm 5 every certain time (for example, every 0.2 seconds). Get at 82.
- data acquired by the change condition setting unit 82 is shown in FIG. 17A.
- ID represents an identification number for identifying each data acquired by the change condition setting unit 82
- position / posture is the position and posture of the hand of the robot arm 5 acquired by the change condition setting unit 82.
- Force represents the force applied to the robot arm 5 acquired by the change condition setting unit 82
- time represents 0 when the person 4 starts correction, and represents the relative time from that point. .
- the motion correction unit 20 searches the motion correction information database 18 for motion correction information having the same ID as the currently working “work ID”.
- the motion correction information with “work ID” “2” in FIG. 18 is “motion correction information ID”. “1”.
- the motion correction information whose “motion correction information ID” is “1” includes that “force threshold” of “correction section” is “13 (N)”, “time threshold” is “1 (second)”, “correction method”
- the change condition setting unit 82 acquires information in which “is“ deleted ”. Using this operation correction information, the data of FIG. 17A acquired earlier is corrected.
- FIG. 17B is a graph in which the time in FIG. 17A is plotted on the horizontal axis and only the x component of force is plotted on the vertical axis
- FIG. 17C is the graph in which the time in FIG. 17A is plotted on the horizontal axis and only the y component of force is plotted on the vertical axis. It is a graph.
- threshold power of Fig. 17B and threshold f 2 is the operation correction information of Fig.
- the time “time2" corresponds to "threshold time” operation correction information.
- FIG. 17B there are sections that are equal to or greater than the “force threshold” and that are equal to or less than the time “time2”. In FIG. In some cases, the section of each component is different. In such a case, if the force of any component is greater than or equal to the “force threshold” and is less than or equal to time “time2”, the motion correction unit 20 deletes the same interval of the other components.
- the motion of the ladle 9 at the tip of the robot arm is agitated in a circular shape while moving up and down as shown in FIG. 8C.
- the operation correction unit 20 can perform correction.
- the force for operating the robot arm 5 of the person 4 is a certain value or more, and the force is less than a certain time.
- the table ID is switched for each work ID so as to reduce the force threshold.
- a threshold value suitable for work.
- a weak person such as a child or a child performs an operation
- the data input IF is set to “child” as described above, it is prepared for a child prepared in advance. You can switch to this table.
- FIG. 19 is a diagram illustrating a detailed configuration of the robot arm 5 to be controlled and the control device 70 of the robot arm 5 that configure the robot system 1 in the fourth embodiment.
- the robot arm 5, the control device main body 11, the peripheral device 14, the operation command unit 27, and the operation information database 17 are the same as those in the first embodiment, and thus description thereof is omitted. .
- each item in FIG. 4A is the same as that in the first embodiment, description thereof is omitted.
- “1” of “Work ID” in FIG. 4A is a circle on the xy plane (the plane along the bottom of the pan) while applying a force of 5 [N] to the z-axis component and rubbing the pan bottom with the ladle 9. Represents the work of stirring in a shape.
- FIG. 20 shows the motion correction information database 18.
- This is an operation correction information ID number (refer to the “motion correction information ID” column in FIG. 20) that is an ID for identifying the motion correction information, and information relating to the correction section (see the “correction section” column in FIG. 20).
- An ID number (see “priority ID number” in FIG. 20) for identifying information relating to the priority, which is the correction order number of the correction type determined by the correction method type determining unit 23 to perform, and a correction method for operation information "Work ID” which is an identification number for identifying which work is to be applied to the information relating to the information (see the column "Correction Method" in FIG.
- “Work ID” is one of the values of “Work ID” in the motion information database 17.
- “work ID” of “2” of “motion correction information ID” in FIG. Thus, “2, 3” and a plurality of IDs can be stored.
- the correction type determination unit 23 in FIG. 19 uses the person 4 when correcting each position, force, or speed for each direction described in the operation parameter of the “operation parameter flag” in the operation information database 17. Determines which parameter type is corrected and outputs the parameter type. For example, the correction type determining unit 23 determines a correction type parameter having the largest change amount of the changed operation information by correcting a plurality of parameters. The amount of change indicates what percentage of the original operation information has changed, and is calculated by ⁇ (operation information after change ⁇ operation information before change) / operation information before change ⁇ ⁇ 100.
- the amount of change when the speed changes to 0.4 (m / s) by the correction of the person 4 is ⁇ (0.4 ⁇ 0.3) /0.3 ⁇ ⁇ 100, and the amount of change is 30%.
- the force value changes from 4 (N) to 8 (N) along with the speed the amount of change is ⁇ (8-4) / 4 ⁇ ⁇ 100, and the amount of change is 100%.
- the speed and force values have changed, but the correction type is determined by the correction type determining unit 23 when the most changed parameter of the two parameters is “force”.
- the type is determined by the change amount of the operation information, but may be determined in advance for each operation ID of the operation information database in FIGS. 4A and 4B. For example, when the corrected motion information is corrected from the pre-correction motion information to the corrected motion information, if all the parameter types of position, force, and speed have changed, only the position is corrected. In addition, the position type may be determined, or if only the force and speed are changed, the force type may be determined.
- the motion correction unit 20 uses the data input IF 26 to allow the person 4 to perform a task that the robot arm 5 wants to perform from among the tasks related to “work ID” in the work information database 17.
- the selection information is input to the operation command unit 27 and designated.
- the operation command unit 27 receives a work selection command for the work of “work ID” designated by the person 4 through the data input IF 26, and the operation command unit 27 instructs the change condition setting unit 82 and the motion correction unit 20 to select the work. To select a work (in this example, “1” of “work ID” is selected).
- the operation correction unit 20 sets the control mode according to the “flag” of the operation selected in the operation information database 17.
- a command is issued from the operation correction unit 20 to the control parameter management unit 21 so as to operate in the set control mode.
- the operation correction unit 20 sets the control mode through the “correction parameter flag” in the operation information database 17 via the operation command unit 27, A command is issued to the control parameter management unit 21 to operate in the set control mode.
- the motion correction unit 20 determines the force applied to the hand of the robot arm 5 and the position and orientation of the hand of the robot arm 5 from the time point when the person 4 starts correction to the time point when the correction is completed every certain time (for example, every 0.2 seconds) Get in.
- data acquired by the operation correction unit 20 is shown in FIG.
- the person 4 When the person 4 corrects the force of the z-axis component and wants to correct the movement of the robot arm 5 so that the bottom of the pot 3 is rubbed a little more strongly when stirring, the person 4 grasps the robot arm 5 and holds the bottom of the pot 3 Towards the strength.
- the position of x and the position of y are the same, but there are cases where correction is made so that the speed is slow (specifically, the “time” of the motion information becomes large).
- the correction type determined by the correction type determination unit 23 is corrected by the “correction method” stored in the operation correction method database 18. Specifically, the correction is performed by the correction method described in the column “Correction method” in FIG. 20 (“Correction” in FIG. 20). For example, when the correction type determining unit 23 determines the force as a parameter to be corrected out of the force, position, and speed (when the position does not change and only changes in time), the force parameter is “correction” in FIG. Correction is performed by the correction method described in the column of “Method” (“Correction” in FIG. 20). In this example, the correction type determination unit 23 can determine the type for each operation ID instead of the work ID, and thus corrects the parameter type to be corrected for each operation ID. Is possible.
- the position of x on the xy plane is not intended to correct the movement of the xy plane.
- the position of y is changed, or the position of x is the same as the position of y, but the speed is corrected to be slow (specifically, the “time” of the motion information increases)
- FIGS. 4A and 4B are the same as those in the first embodiment, and thus the description thereof is omitted.
- “1” of “work ID” in FIGS. 4A and 4B represents a work of stirring the xy plane in a circle while rubbing the z-axis component (pan bottom) with a force of 5 [N].
- FIG. 22 shows the motion correction information database 18.
- the operation correction information ID number (see the “motion correction information ID” column in FIG. 22), which is an ID for identifying the motion correction information, and information on the correction section (see the “correction section” column in FIG. 22).
- Information on the presence or absence of bias in the motion corrected by applying force 4 (see the column “Bias presence / absence” in FIG. 22: Here, “1” indicates bias, and “0” indicates bias)
- Identification for identifying to which work the information relating to the correction method of motion information (see the column “Correction Method” in FIG. 22) and the motion correction information of the ID indicated by “motion correction information ID” are applied.
- “Work ID” (refer to the column “Work ID” in FIG.
- “Work ID” is one of the values of “Work ID” in the motion information database 17, and when it is correction information adapted to a plurality of tasks, “2” of “Motion correction information ID” in FIG. 22. In this way, “2, 3” and a plurality of IDs can be stored.
- the motion correction unit 20 uses the data input IF 26 to allow the person 4 to perform a task that the robot arm 5 wants to perform from among the tasks related to “work ID” in the work information database 17.
- the selection information is input to the operation command unit 27 and designated.
- the operation command unit 27 receives a work selection command for the work of “work ID” designated by the person 4 through the data input IF 26, and the operation command unit 27 instructs the change condition setting unit 82 and the motion correction unit 20 to select the work. By selecting the work.
- the motion correction unit 20 sets the control mode according to the “flag” of the work selected in the work of the motion information database 17.
- a command is issued from the operation command unit 27 to the control parameter management unit 21 so as to operate in the set control mode.
- the operation correction unit 20 sets the control mode through the “correction parameter flag” in the operation information database 17 via the operation command unit 27,
- a command is issued to the control parameter management unit 21 to operate in the set control mode.
- a change condition setting unit that changes the force applied to the hand of the robot arm 5 from the time when the person 4 starts correction to the time when the correction ends and the position and orientation of the hand of the robot arm 5 every certain time (for example, every 0.2 seconds). Get at 82.
- the data acquired by the change condition setting unit 82 is shown in FIG.
- ID represents an identification number for identifying each data acquired by the change condition setting unit 82
- position / posture is the position and posture of the hand of the robot arm 5 acquired by the change condition setting unit 82.
- Force represents the force applied to the robot arm 5 acquired by the change condition setting unit 82
- time represents 0 when the person 4 starts correction, and represents the relative time from that point. .
- the motion correction unit 20 searches the motion correction information database 18 for motion correction information having the same ID as the currently working “work ID”.
- the motion correction information with “work ID” “1” has “motion correction information ID”. “1”.
- the motion correction information with the “motion correction information ID” of “1” is the change condition setting unit 82 that has “correction section” with “bias presence / absence” of “1” and “correction method” of “average”. get.
- the motion correction unit 20 corrects the data of FIG.
- the change condition setting unit 82 checks whether or not the data of FIG. “Bias” means a state in which the force applied by the person 4 to the robot arm 5 at the same timing is increased or decreased when the position and posture speed of the motion information is accelerating or decelerating. For example, in the operation of the robot arm 5, the person 4 corrects the force component of the z component to a constant value while the hand position and posture of the x and y components of the robot arm 5 are accelerating or decelerating. When the robot arm 5 is moved in the x or y acceleration or deceleration direction, the force of the z component is strengthened or weakened and is corrected. In order to prevent such erroneous correction due to an erroneous operation, the motion correction unit 20 performs motion correction based on the motion correction information.
- the change condition setting unit 82 calculates the speed of the position and orientation from the motion information in FIG. 4A.
- the speed represents the amount of movement of the position or posture per unit time. Specifically, when the position at the time “time1” is “r d1 ” and the position at the time “time2” is “r d2 ”, the speed is (r d2 ⁇ r d1 ) / (time2 ⁇ time1). Become. This is calculated by the change condition setting unit 82 for all the position and orientation components for the work in operation.
- FIG. 23B is a diagram in which the velocity of only the x component of the position and posture of the robot arm 5 operating with the motion information is plotted on the vertical axis and the time is plotted on the horizontal axis.
- FIG. 23C is a plot of the force of FIG. 23A on the vertical axis and time on the horizontal axis.
- the change condition setting unit 82 compares FIG. 23B and FIG. 23C and the change condition setting unit 82 determines that the force of FIG. 23C is increasing when the speed of FIG. 23B is accelerating, If there is, the change condition setting unit 82 determines.
- the change condition setting unit 82 determines that there is a bias even when the force is weak as shown in FIG. 23E.
- the change condition setting unit 82 calculates the average of each component of the force information in FIG. 23A. With the force information calculated by the motion correction unit 20, the motion storage unit 15 can correct the motion by the motion correction unit 20 by rewriting the motion information in the motion information database 17.
- the change condition setting unit 82 averages and corrects, but when “minimization” is described in the “correction method” of the operation correction information in FIG. 22, there is a bias. After the determination by the change condition setting unit 82, all the force values can be corrected by the motion correction unit 20 using the minimum value among the components of the force information in FIG. 23A.
- the motion correction unit 20 corrects the force component of the z component to a constant value. In this case, it is possible to prevent the z-component force from being increased or decreased due to the acceleration or deceleration direction of the x and y components of the robot arm 5 being corrected.
- the force information is corrected.
- the operation correction unit 20 performs the operation correction based on the operation correction information.
- FIG. 24 shows the motion correction information database 18.
- the motion correction information ID number (see the “motion correction information ID” column in FIG. 24), which is an ID for identifying the motion correction information, and information on the correction section (see the “correction section” column in FIG. 24).
- Information regarding the presence / absence of repetition of the operation corrected by applying force 4 (see the column of “repetition presence / absence” in FIG. 24: where “1” indicates repetition and “0” indicates no repetition); Identification for identifying to which work the information related to the correction method of motion information (see the column “Correction Method” in FIG. 24) and the motion correction information of the ID indicated by “motion correction information ID” are applied.
- “Work ID” which is a number (see the column “Work ID” in FIG. 24). “Work ID” is one of the values of “Work ID” in the motion information database 17, and in the case of correction information adapted to a plurality of tasks, “work ID” of “2” of “motion correction information ID” in FIG. Thus, “1, 3” and a plurality of IDs can be stored.
- the motion correction unit 20 uses the data input IF 26 to allow the person 4 to perform a task that the robot arm 5 wants to perform from among the tasks related to “work ID” in the work information database 17.
- the selection information is input to the operation command unit 27 and designated.
- the operation command unit 27 receives a work selection command for the work of “work ID” designated by the person 4 through the data input IF 26, and the operation command unit 27 instructs the change condition setting unit 82 and the motion correction unit 20 to select the work. By selecting the work.
- the motion correction unit 20 sets the control mode according to the “flag” of the work selected in the work of the motion information database 17.
- a command is issued from the operation command unit 27 to the control parameter management unit 21 so as to operate in the set control mode.
- the operation correction unit 20 sets the control mode through the “correction parameter flag” in the operation information database 17 via the operation command unit 27,
- a command is issued to the control parameter management unit 21 to operate in the set control mode.
- the change position setting unit 82 acquires the hand position and posture of the robot arm 5 from the time point when the person 4 starts correction to the time point when the correction is finished, every certain time (for example, every 0.2 seconds). As a specific example, the acquired data is shown in FIG. 25A. In FIG.
- ID represents an identification number for identifying each data acquired by the change condition setting unit 82
- position / posture is the position and posture of the hand of the robot arm 5 acquired by the change condition setting unit 82.
- Time represents a relative time from the time when the time when the person 4 started correction is 0.
- the motion correction unit 20 searches the motion correction information database 18 for motion correction information having the same ID as the currently working “work ID”.
- the motion correction information with “work ID” “2” in FIG. 24 is “motion correction information ID”. “1”.
- the change condition setting unit 82 sets information indicating that the “correction section” is “1” and the “correction method” is “average”. get. Using this operation correction information, the data of FIG. 25A acquired earlier is corrected.
- the motion correction unit 20 performs motion correction based on the motion correction information so that the repeated motion does not change.
- FIG. 25B illustrates the x component of the position and orientation of FIG. 25A.
- the “repeated section” means a section that is regularly repeated, although there are some fluctuations, such as “section 1” to “section 4” in FIG. 25A.
- each of a plurality of continuous “position and orientation” data (for example, position and orientation target vector) in FIG. 25A is changed to another “position and orientation” data (for example, position and orientation target vector) and a change condition setting unit.
- r d1 , r d2 , and r d3 be target vectors for successive positions and orientations.
- r d4 , r d5 , and r d6 be target vectors for successive positions and orientations.
- the change condition setting unit 82 determines that a part of the repeated section matches.
- r d1 , r d2 , r d3 and the change condition setting unit 82 set target vectors of consecutive positions and postures shifted backward by one. Comparison is made by the change condition setting unit 82.
- the change condition setting unit 82 calculates section 1, section 2, section 3, and section 4 in FIG.
- the change condition setting unit 82 performs the following calculation. That is, when the difference between r d1 in section 1 , r d4 in section 2, r d7 in section 3, and r d10 in section 4 is less than or equal to the threshold value, the average value r of r d1 , r d4 , r d7 , and r d10 Let dn1 be the coordinates of the corrected section.
- the motion correction unit 20 averages and corrects the motion correction.
- “minimization” is described in the “correction method” of the motion correction information in FIG. After the determination by the condition setting unit 82, instead of calculating the average of FIG.
- the minimum value among r d1 , r d4 , r d7 , and r d10 is set to r dn1
- r d2 , R d5 , r d8 , r d11 may be set to r dn2
- the minimum values of r d3 , r d6 , r d9 , r d12 may be calculated by the change condition setting unit 82 as r dn3 .
- While the robot arm 5 is “2” of “Work ID” in FIG. 4B, for example, as shown in FIG. 8A, the person 4 changes the state of the ingredients of the pan 3 while the pot 3 is being stirred. 8B, in order to stir the pan 3 while moving the hand 30 of the robot arm 5 up and down, the person 4 holds the robot arm 5 and corrects the trajectory.
- FIGS. 38A and 38B show the movable range of the hand (hand 30) of the robot arm 5 (the region indicated by reference numeral 81 in FIGS. 38A and 38B).
- the person 4 grips and operates the robot arm 5, it cannot be moved outside the movable range 81 of the robot arm 5.
- the robot arm 5 can be operated.
- the robot arm 5 is out of the movable range 81. The robot arm 5 stops at that point and cannot be moved any further.
- a person who operates an industrial robot is an expert who is familiar with the movable range of the robot.
- the person 4 who operates the home robot which is an application target example of the present invention, is an amateur who is not familiar with the specifications of the robot, the robot arm 5 stopped outside the movable range 81 as described above will be described. It is difficult to know intuitively whether it can be moved within the movable range 81 if operated. Further, when the person 4 moves the robot arm 5 from the movable range 81 to the outside of the movable range 81 to operate the robot arm 5 in operation, and stops the robot arm 5, The operation is corrected by the operation correction unit 20 at the position where the robot arm 5 is stopped, and the operation that the person 4 does not intend is performed.
- the operation of the operation correction unit 20 and the change condition setting unit 82 which will be described later, and the operation of the change condition setting unit 82 are performed within the movable range 81 by an operation intended by the person 4.
- the robot arm 5 can be operated.
- FIG. 28 shows the motion correction information database 18.
- the motion correction information ID number (refer to the “motion correction information ID” column in FIG. 28), which is an ID for identifying the motion correction information, and information relating to the correction section (see the “correction section” column in FIG. 28).
- Information related to the operation time (see the “time” column in FIG. 28), and information related to the upper limit value (upper limit threshold) of the number of operations (information in the “dissatisfied section” field in FIG. 28). 28) (refer to the “number of times (upper limit)” column in FIG. 28), information on the lower limit value (lower limit threshold) of the number of operations (see the “number of times (lower limit)” column in FIG.
- the change value is a value indicating the degree of change before and after the operation (how much the position and posture have changed).
- the information relating to the correction method of the motion information see the column “Correction Method” in FIG. 28
- the motion correction information of the ID indicated by “motion correction information ID” are applied.
- “Work ID” see the column “Work ID” in FIG. 28) that is an identification number.
- “Work ID” is one of the values of “Work ID” in the motion information database 17.
- the “work ID” is “2” of “motion correction information ID” in FIG. 28.
- “2, 3” and a plurality of IDs can be stored.
- the motion correction unit 20 uses the data input IF 26 to allow the person 4 to perform a task that the robot arm 5 wants to perform from among the tasks related to “work ID” in the work information database 17.
- the selection information is input to the operation command unit 27 and designated.
- the operation command unit 27 receives a work selection command for the work of “work ID” designated by the person 4 through the data input IF 26, and the operation command unit 27 instructs the change condition setting unit 82 and the motion correction unit 20 to select the work. By selecting the work.
- the motion correction unit 20 sets the control mode according to the “flag” of the work selected in the work of the motion information database 17.
- a command is issued from the operation command unit 27 to the control parameter management unit 21 so as to operate in the set control mode.
- the operation correction unit 20 sets the control mode through the “correction parameter flag” in the operation information database 17 via the operation command unit 27,
- a command is issued to the control parameter management unit 21 to operate in the set control mode.
- the change position setting unit 82 acquires the hand position and posture of the robot arm 5 from the time point when the person 4 starts correction to the time point when the correction is finished, every certain time (for example, every 0.2 seconds). As a specific example, data acquired by the change condition setting unit 82 is shown in FIG. “Operation ID” in FIG.
- “Position and posture” represents the hand position and posture of the robot arm 5 from the time when the person 4 starts correcting the movement of the robot arm 5 to the time when it ends. “Date and time” is the date and time when the hand position and force data of the robot arm 5 are acquired, and is expressed as “year / month / day hour: minute: second”.
- FIG. 31 is a diagram showing a detailed configuration of the robot arm 5 to be controlled and the control device 70 of the robot arm 5 constituting the robot system 1 in the seventh embodiment.
- the robot arm 5, the peripheral device 14, the operation command unit 27, and the operation information database 17 are the same as those in the first embodiment, and thus description thereof is omitted.
- the change condition setting unit 82 detects whether the person 4 cannot operate the robot arm 5 to a desired position.
- the change condition setting unit 82 checks whether the “correction section” is “number of times (lower limit)” or more and “number of times (upper limit)” or less.
- the operation ID currently being operated is an operation ID in which the current time being corrected matches the date and time of the operation history information.
- the change condition setting unit 82 checks whether the total number “3” is not less than “number of times (lower limit)” and not more than “number of times (upper limit)” of the “correction section” of the motion correction information database 18. In this example, “number of times (lower limit)” is “3”, and “number of times (upper limit)” is “10”, so “3” falls within this range and the change condition setting unit 82 determines.
- the change condition setting unit 82 can determine that the person 4 is operating many times in a short time by the calculation in the change condition setting unit 82 described above, there is some dissatisfaction with the behavior of the robot arm 5 after the operation of the person 4. Is determined by the change condition setting unit 82.
- the change condition setting unit 82 identifies the dissatisfied part.
- a change condition setting is made as to whether the “position / posture” of the “operation ID” that is greater than or equal to “number of times (lower limit)” and less than or equal to “number of times (upper limit)” of the “correction section” is within the movable range 81 of FIG. Judgment is made by the unit 82. If the “position / posture” outside the movable range is greater than or equal to the “total number outside the movable range” (“1” in FIG. 28) (threshold for the movable range) of the “correction section”, the change condition setting unit 82. In the case of the determination, the change condition setting unit 82 indicates that the person 4 is operating the operating robot arm 5 and is operating outside the movable range, and the person 4 has not corrected the operation at a desired position. Judge with.
- the operation correction unit 20 corrects the unsatisfied part as described above.
- the operation correction unit 20 corrects the operation within the movable range.
- the change condition setting unit 82 calculates that the person 4 is operating like the track 83 in FIG. 40 and is out of the movable range at “L” from the operation history information in the operation history information database 19 in FIG. . Specifically, as described above, the change condition setting unit 82 calculates whether the hand position of the operation history information is within the movable range 81 of FIG. Next, the point M that extends the trajectory 83 and enters the movable range 81 is calculated by the change condition setting unit 82. Next, the change condition setting unit 82 calculates the trajectory 82 within the movable range 81 at the shortest distance from the point L. As shown in FIG.
- the trajectory 82 has the speed S of the trajectory 83 when the distance of the trajectory 82 is “N” (m) so that the trajectory 82 moves at the same speed as the trajectory 83.
- a plurality of points (“L 1”, “L 2”, and “L 3” in FIG. 41) are obtained from the trajectory 82, and the motion information is corrected by the motion correction unit 20 using these points as corrected positions.
- the person 4 operates the robot arm 5 within the movable range 81, so that the movement desired by the person 4 can be generated.
- the person 4 has a robot arm 5 of “1” of “work ID” in FIG. 4, for example, and as shown in FIG. 27A (FIG. 26A is a view seen from above the IH cooking heater 6) During the cleaning operation, the person 4 finds that another place (part) 91a on the top plate such as the IH cooking heater 6 is dirty, and FIG. 27B (FIG. 26B shows the upper side of the IH cooking heater 6). As shown in FIG. 3, in order to clean the vicinity of the dirt, the robot arm 5 is grasped and the hand position of the robot arm 5 is moved to the dirty portion 91 a.
- the person 4 grips the robot arm 5 in operation and applies a force to the robot arm 5 from above the IH cooking heater 6 toward the dirt.
- the operation correcting unit 20 corrects the operation of the robot arm 5 with the force applied by the person 4 and increases the force for rubbing the IH cooking heater 6 of the robot arm 5 to perform wiping and cleaning work.
- the above correction is performed when the person 4 is an elderly person, a disabled person, a child, or the like in order to correct the motion information with the force applied by the person 4, and the person 4 is operating. If the desired force cannot be applied to the robot arm 5, the correction cannot be made. Therefore, it is possible to perform correction with a force that cannot be applied by the person 4 based on the information in the operation correction information database 18 described later and the operations of the change condition setting unit 82 and the operation correction unit 20.
- FIG. 29 shows the motion correction information database 18.
- the motion correction information ID number (refer to the “motion correction information ID” column in FIG. 29), which is an ID for identifying the motion correction information, and information relating to the correction section (see the “correction section” column in FIG. 29).
- Information relating to the operation time (see the “time” column in FIG. 29) and information relating to the upper limit of the number of operations (information in FIG. 29 “ “Number of times (upper limit)”), information on the lower limit value of the number of operations (see “Number of times (lower limit)” column in FIG.
- the motion correction unit 20 uses the data input IF 26 to allow the person 4 to perform a task that the robot arm 5 wants to perform from among the tasks related to “work ID” in the work information database 17.
- the selection information is input to the operation command unit 27 and designated.
- the operation command unit 27 receives a work selection command for the work of “work ID” designated by the person 4 through the data input IF 26, and the operation command unit 27 instructs the change condition setting unit 82 and the motion correction unit 20 to select the work. By selecting the work.
- the motion correction unit 20 sets the control mode according to the “flag” of the work selected in the work of the motion information database 17.
- a command is issued from the operation correction unit 20 to the control parameter management unit 21 so as to operate in the set control mode.
- the operation correction unit 20 sets the control mode through the “correction parameter flag” in the operation information database 17 via the operation command unit 27,
- a command is issued to the control parameter management unit 21 to operate in the set control mode.
- the change condition setting unit 82 acquires the hand position and posture of the robot arm 5 and the force applied by the person 4 from a time point when the person 4 starts correction to a time point when the correction is made by the person 4 every certain time (for example, every 0.2 seconds). To do. In order to identify the data at the time from the start of correction to the end, a number “operation ID” is assigned and stored.
- FIG. “Operation ID” in FIG. 30 is stored as “1” for the first correction, “2” for the second correction, and “3” for the third correction.
- “Position / posture” represents the hand position and posture of the robot arm 5 from the time when the person 4 starts to correct the robot arm 5 to the end, and “force” represents the force applied by the person 4.
- “Date / time” is the date / time when the hand position and force data of the robot arm 5 are acquired, and is expressed as “year / month / day hour: minute: second”.
- FIG. 31 is a diagram showing a detailed configuration of the robot arm 5 to be controlled and the control device 70 of the robot arm 5 constituting the robot system 1 in the eighth embodiment.
- the robot arm 5, the control device main body 11, the peripheral device 14, the operation command unit 27, and the operation information database 17 are the same as those in the first embodiment, and thus description thereof is omitted. .
- the change condition setting unit 82 detects whether or not the person 4 cannot apply a force to be applied to the robot arm 5 based on the operation history information.
- the change condition setting unit 82 checks whether the “correction section” is “number of times (lower limit)” or more and “correction section” is “number of times (upper limit)” or less.
- the operation ID currently being operated is an operation ID in which the current time being corrected matches the date and time of the operation history information.
- the change condition setting unit 82 determines that the total number of operation IDs is within this range (from “number of times (lower limit)” to “number of times (upper limit)” of the “correction section”), the person 4 has a short time. Since the change condition setting unit 82 can determine that the robot has been operated many times, the change condition setting unit 82 determines that there is some dissatisfaction with the behavior of the robot arm 5 after the operation of the person 4.
- the change condition setting unit 82 identifies the dissatisfied part.
- the difference between the “force” of the operation ID that is greater than or equal to “number of times (lower limit)” of the “correction section” and less than or equal to “number of times (upper limit)” and “force” before the correction is The change condition setting unit 82 obtains whether or not “the threshold value” is exceeded.
- the change condition setting unit 82 determines that the behavior of the robot arm 5 after the operation of the person 4, that is, the dissatisfaction with how to apply the force, is unsatisfactory.
- the operation correction unit 20 performs the correction described in the “correction method” of FIG.
- the “operation ID” “3” is included in the date and time of the operation history information. Therefore, the operation ID of the operation currently being corrected is “3”.
- the “time” of the “correction section” in the operation correction information database 18 is subtracted from the date and time of the operation ID “3” and ID “11”.
- the “time” of the “correction section” that is, 30 seconds is subtracted by the change condition setting unit 82 from “2008/8/1 15:36:33”, “2008/8/1 15:00 36 minutes 03 seconds ".
- Operation IDs “1”, “2” and “3” are entered in the section from “2008/8/1 15:36:03” to “2008/8/1 15:36:33”. Therefore, the total number of operation IDs is “3”. It is checked whether or not the total number “3” is not less than “number of times (lower limit)” and not more than “number of times (upper limit)” of “correction section” in the motion correction information database 18. In the example of FIG. 29, “number of times (lower limit)” is “3” and “number of times (upper limit)” is “10”, so “3” falls within this range.
- the change condition setting unit 82 can determine that the person 4 is operating many times in a short time by the above calculation in the change condition setting unit 82, there is some dissatisfaction with the behavior of the robot arm 5 after the operation of the person 4. Is determined by the change condition setting unit 82.
- the change condition setting unit 82 identifies the dissatisfied part.
- the change condition setting unit 82 obtains the difference between the “force” of the operation ID that is greater than or equal to “number of times (lower limit)” and less than or equal to “number of times (upper limit)” of the “correction section” and “force” before correction. For example, when the z component of the “force” before correction is 5 (N) and the z component of the “force” being corrected by the person 4 is 10 (N) with respect to the force for rubbing the IH cooking heater 6, Since the difference (in this example, 5 (N)) is equal to or greater than the force change threshold (“3” (N) in FIG. 29) (force information threshold) in FIG. 29, person 4 added and corrected.
- the change condition setting unit 82 determines that there is dissatisfaction with how to apply the force.
- the operation correction unit 20 corrects the dissatisfied part as described above.
- the correction value described in the correction method in the “force” being corrected by the person 4 is added by the change condition setting unit 82 and corrected by the operation correction unit 20.
- the change condition setting unit 82 determines that there is dissatisfaction, and can assist the force.
- the assist value calculation unit 16 calculates the value of “constant correction” described in the correction method of FIG.
- the person 4 The operation correction unit 20 performs the correction based on the determination by the change condition setting unit 82 and the case where the method of applying the force of the robot arm 5 after the operation 4 is not satisfied. If the person 4 is not yet satisfied after the correction by the motion correction unit 20, the person 4 further performs the same operation many times in a short time.
- the assist value calculation unit 16 is controlled by the control from the operation correction unit 20.
- the correction value in one correction can be increased, and the number of operations of the person 4 can be reduced.
- the assist value calculation unit 16 determines the assist value according to the number of operations according to the table of FIG. As the number of operations, the assist value calculation unit 16 inputs the number of operations previously calculated from the change condition setting unit 82. The correction value determined by the assist value calculation unit 16 is stored in the “constant correction” value of the “correction method” in FIG.
- the change condition setting unit 82 can determine that the behavior of the robot arm 5 after the operation of the person 4 is dissatisfied, and the assist value calculation unit 16 can assist the force. Is determined by the assist value calculation unit 16 according to the number of operations, so that the number of operations of the person 4 can be reduced.
- While the robot arm 5 is “2” of “Work ID” in FIG. 4A or 4B, for example, as shown in FIG. As shown in FIG. 32B, the robot arm 5 is moved fast so that the person 4 grasps the robot arm 5 and the hand position of the robot arm 5 moves fast, as shown in FIG. 32B.
- the motion correction unit 20 corrects the motion of the robot arm 5 at the speed corrected by the person 4, and the robot arm 5 performs the work of stirring faster than before the correction.
- the correction by the motion correction unit 20 as described above is performed when the person 4 is an elderly person, a disabled person, a child, or the like in order to correct the motion information at a speed operated by the person 4. If the robot arm 5 is being operated and the robot arm 5 cannot be operated at the speed to be corrected, the operation of the robot arm 5 cannot be corrected. Therefore, the person 4 can correct the speed at which the robot arm 5 is desired to operate according to the information in the operation correction information database 18 described later and the operation of the operation correction unit 20.
- FIG. 33 shows the motion correction information database 18. This is information regarding the motion correction information ID number (see the column of “motion correction information ID” in FIG. 33) and the correction section (see the column of “correction section” in FIG. 33), which is an ID for identifying the motion correction information.
- Information relating to the operation time see the “time” column in FIG. 33) and information relating to the upper limit of the number of operations (see the “time” section in FIG. 33), which are information for section detection (see the “dissatisfied section” column in FIG. 33).
- “Number of times (upper limit)" information on the lower limit value of the number of operations (see “Number of times (lower limit)” column in FIG.
- the motion correction unit 20 uses the data input IF 26 to allow the person 4 to perform a task that the robot arm 5 wants to perform from among the tasks related to “work ID” in the work information database 17.
- the selection information is input to the operation command unit 27 and designated.
- the operation command unit 27 receives a work selection command for the work of “work ID” designated by the person 4 through the data input IF 26, and the operation command unit 27 instructs the change condition setting unit 82 and the motion correction unit 20 to select the work. By selecting the work.
- the motion correction unit 20 sets the control mode according to the “flag” of the work selected in the work of the motion information database 17.
- a command is issued from the operation command unit 27 to the control parameter management unit 21 so as to operate in the set control mode.
- the operation correction unit 20 sets the control mode through the “correction parameter flag” in the operation information database 17 via the operation command unit 27,
- a command is issued to the control parameter management unit 21 to operate in the set control mode.
- the change position setting unit 82 acquires the hand position and posture of the robot arm 5 from the time point when the person 4 starts correction to the time point when the correction is finished, every certain time (for example, every 0.2 seconds). In order to identify the data at the time from the start of correction to the end, a number “operation ID” is assigned and stored.
- the data acquired by the change condition setting unit 82 is shown in FIG.
- the “operation ID”, “position / posture”, and “date / time” of the hand in FIG. 34 are the same as those in the eighth embodiment.
- the acquired data in FIG. 34 is stored in the operation history information database 19 by the operation storage unit 15 in FIG. 31 as operation history information, as in the case of the eighth embodiment.
- the change condition setting unit 82 detects whether the person 4 cannot operate at a desired speed based on the operation history information.
- the change condition setting unit 82 checks whether the “correction section” is “number of times (lower limit)” or more and “number of times (upper limit)” or less.
- the operation ID currently being operated is an operation ID in which the current time being corrected matches the date and time of the operation history information.
- the change condition setting unit 82 identifies the dissatisfied part.
- the difference between the “speed” of the operation ID that is greater than or equal to “number of times (lower limit)” and less than or equal to “number of times (upper limit)” of the “correction section” and “speed” before correction is The change condition setting unit 82 obtains whether or not “the threshold value” is exceeded.
- the “speed” is a value obtained by dividing the difference between the position and orientation of the hand and the position and orientation of the next hand by the change condition setting unit 82 by the difference in date and time.
- the change condition setting unit 82 determines that the behavior of the robot arm 5 after the operation of the person 4, that is, the speed correction method is unsatisfactory.
- the operation correction unit 20 performs the correction described in the “correction method” of FIG.
- Operation IDs “1”, “2” and “3” are entered in the section from “2008/8/1 15:36:03” to “2008/8/1 15:36:33”. Therefore, the total number of operation IDs is “3”.
- the change condition setting unit 82 checks whether the total number “3” is not less than “number of times (lower limit)” and not more than “number of times (upper limit)” of the “correction section” of the motion correction information database 18. In this example, “number of times (lower limit)” is “3” and “number of times (upper limit)” is “10”, so “3” falls within this range.
- the change condition setting unit 82 can determine that the person 4 is operating many times in a short time by the calculation in the change condition setting unit 82 described above, there is some dissatisfaction with the behavior of the robot arm 5 after the operation of the person 4. Is determined by the change condition setting unit 82.
- the change condition setting unit 82 identifies the dissatisfied part.
- the change condition setting unit 82 obtains the difference between the “speed” of the operation ID included in the “correction section” from “number of times (lower limit)” to “number of times (upper limit)” and less than “speed” before correction. For example, when the z component of “speed” during the stirring operation is 0.5 (m / sec) and the z component of “speed” during correction of person 4 is 0.9 (m / sec) The difference between the two (in this example, 0.4 (m / sec)) is equal to or greater than the threshold value for speed change in the “correction section” (“0.3” (m / sec) in FIG. 29). The change condition setting unit 82 determines that the corrected speed is unsatisfactory.
- the operation correction unit 20 corrects the unsatisfied part as described above.
- the correction value described in the correction method in “speed” during correction of person 4 (this example) is added by the change condition setting unit 82 and corrected by the operation correction unit 20.
- the person 4 When the person 4 is an elderly person, a disabled person, a child, or the like by the above correction by the motion correction unit 20, when the person 4 is operating and cannot operate at the speed to be corrected, the person 4
- the change condition setting unit 82 determines that the behavior of the robot arm 5 after the operation is unsatisfactory and can assist the speed.
- the assist value calculation unit 16 calculates the value of “constant correction” described in the correction method of FIG.
- the change condition setting unit 82 determines whether the person 4 has operated many times in a short time and the speed value corrected by the person 4 has changed from the value before correction.
- the operation correction unit 20 performs the correction. If the person 4 is not yet satisfied after the correction by the motion correction unit 20, the person 4 further performs the same operation many times in a short time.
- “constant correction” is calculated by the change condition setting unit 82 according to the number of operations of the person 4, and when the number of operations is large, the assist value calculation unit 16 controls the operation correction unit 20.
- the correction value in one correction can be increased, and the number of operations of the person 4 can be reduced.
- the assist value calculation unit 16 determines the assist value according to the number of operations according to the table of FIG. As the number of operations, the assist value calculation unit 16 inputs the number of operations previously calculated by the change condition setting unit 82. The correction value determined by the assist value calculation unit 16 is stored in the “constant correction” value of the “correction method” in FIG.
- the change condition setting unit 82 can determine that the behavior of the robot arm 5 after the operation of the person 4 is dissatisfied, and the assist value calculation unit 16 can assist the speed. Is determined by the assist value calculation unit 16 according to the number of operations, so that the number of operations of the person 4 can be reduced.
- the operation correction information database 18 of FIG. 37 is stored.
- the change condition setting unit 82 determines that the person 4 is not satisfied even if the operation correction unit 20 performs correction.
- the operation correction unit 20 corrects the operation so as to operate in the operation before correction.
- the motion correction information ID number (refer to the “motion correction information ID” column in FIG. 37) that is an ID for identifying the motion correction information, and information related to the correction section (see the “correction section” column in FIG. 37).
- information regarding operation time (see the “time” column in FIG. 37), which is information for detecting a dissatisfied region (see the “dissatisfied region” column in FIG. 37), and information regarding the upper limit of the number of operations (see FIG. 37).
- 37 see the “Number of times (upper limit)” column in FIG. 37
- information on the lower limit value of the number of operations see the “Number of times (lower limit)” column in FIG. 37).
- the total number of operations of the person 4 is calculated by the change condition setting unit 82 based on the operation history information by the method already described.
- the change condition setting unit 82 checks whether the number of operations calculated by the change condition setting unit 82 is greater than or equal to “number of times (lower limit)” and less than or equal to “number of times (upper limit)” of the “correction section”. In the case of FIG. 37, since the “number of times (upper limit)” is ⁇ 1, it is not adapted by the change condition setting unit 82 and is corrected when the operation is performed “number of times (lower limit)” or more, that is, “11” times or more.
- the change condition setting unit 82 determines that the person 4 is not satisfied even if In this case, the motion correction unit 20 corrects the motion by the method described in “Correction method”. In FIG. 37, there is “no correction”, so the operation correction unit 20 corrects the operation as it is without changing the operation input by the person 4.
- the operation correction unit 20 can operate without correction.
- FIG. 42 is a diagram illustrating a detailed configuration of the robot arm 5 to be controlled and the control device 70 of the robot arm 5 that configure the robot system 1 according to the tenth embodiment.
- the robot arm 5, the peripheral device 14, the motion command unit 27, the motion information database 17, and the motion correction information database 18 are the same as those in the first embodiment, and thus description thereof is omitted. .
- the motion correction information database 18 of the tenth embodiment stores the information of the motion correction information databases 18 of the first to ninth embodiments. Specifically, it is shown in FIGS. 43A and 43B.
- the “motion correction information ID”, “correction section”, “correction method”, and “work ID” in FIG. 43A are the same as in the second embodiment.
- the “motion correction information ID”, “correction section”, “correction method”, and “work ID” in FIG. 43B are the same as in the fifth embodiment.
- “Number of adaptations” is the number of times of adaptation at the time of motion correction in each motion correction information. For example, when the motion correction information of both FIG. 43A and FIG. 43B is stored in the motion information database 18 and the motion correction is performed according to the conditions of the motion correction information, the change condition is changed.
- the setting unit 82 adds “1” to the “number of adaptations” and stores it. Since the “number of adaptations” in FIG. 43A is “0”, this is a correction method for deleting a section that has not been operated continuously for a certain threshold or more as described in the second embodiment. It represents that you are operating. Furthermore, since the “number of times of adaptation” in FIG.
- the correction history information database 28 displays an advice on the operation of the person 4 on the display unit 2. Specifically, out of the “number of adaptations” in the correction history information database 28, information regarding the most frequently used motion correction information and advice regarding the operation of the person 4 regarding the motion correction information are displayed on the display unit 2. Is displayed. A specific example of the display unit 2 is shown in FIG. The display unit 2 is displayed on two left and right screens, and the motion of the robot arm 5 described by the motion information is displayed on the left screen of FIG. Furthermore, on the screen shown in FIG.
- information relating to the most frequently used motion correction information and information related to the operation of the person 4 regarding the motion correction information are displayed in video, photograph or text. Further, the display unit 2 switches the contents to be displayed when the operation is switched by the operation command unit 27 or when the correction is completed by the operation correction unit 20. In this example, a video, a photograph, or text is used.
- the operation correction unit 20 corrects each correction method described in the first to ninth embodiments in the order of the flowchart shown in FIG.
- step S101 when the correction of the person 4 is started, the correction of “deletion at start / end” described in the first embodiment is performed by the operation correction unit 20 (step S101).
- step S102 the “correction at collision” described in the third embodiment is corrected by the operation correction unit 20 (step S102).
- the operation correction unit 20 performs the correction described in the second embodiment as “deletion if the force applied by the person is greater than or equal to a certain threshold value and does not continue for a certain time or longer” (step S103).
- the operation correction unit 20 performs the correction “correct only the type determined by the correction method type determination unit” described in the fourth embodiment (step S104).
- step S105 the “movable range correction” described in the seventh embodiment is corrected by the operation correction unit 20 (step S105).
- step S106 the “force assist” described in the eighth embodiment is corrected by the operation correction unit 20 (step S106).
- step S107 the “speed assist” described in the ninth embodiment is corrected by the operation correction unit 20 (step S107).
- step S108 the correction of “bias averaging” described in the fifth embodiment is performed by the operation correction unit 20 (step S108).
- step S109 the “correction averaging” correction described in the sixth embodiment is performed by the operation correction unit 20 (step S109).
- Steps S101 to S104 are a type of correction method in which any part of the motion corrected by the person 4 is deleted. By applying before the correction method of steps S105 to S109, a useless motion section is obtained. For example, it is possible to improve the accuracy of extracting repeated parts such as step S109, and to perform correction at higher speed. Further, with regard to the order of steps S101 to S104, the correction accuracy of steps S102 to S104 can be improved or high-speed processing can be performed by correcting step S101 first.
- the correction method of the type to be deleted is first applied to improve the correction accuracy or the processing speed. Can be achieved.
- the robot arm 5 has been described as an example.
- the present invention is not limited to the arm, and may be a mobile robot that moves by wheels, a biped walking robot, a multi-legged walking robot, or the like. Can also be applied, and the same effect is exhibited with respect to contact between a mobile robot and a human.
- the present invention relates to a robot arm control device and control method for controlling the operation of a robot arm when a human and a robot work in cooperation, such as a home robot, a robot having the robot arm control device, a robot arm It is useful as a control program and an integrated electronic circuit. Further, not only a home robot, but also an industrial robot or a robot arm control device and control method of a movable mechanism in a production facility, a robot having the robot arm control device, a robot arm control program, and integration It can also be applied as an electronic circuit.
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Human Computer Interaction (AREA)
- Manipulator (AREA)
Abstract
Description
前記動作に対応する、前記ロボットアームの位置と姿勢と速度と力のうちの少なくとも1つ以上の時系列の動作情報を取得する動作情報取得部と、
前記動作情報の前記ロボットアームによる補正方法に関する動作補正情報を取得する動作補正情報取得部と、
前記ロボットアームを前記動作情報に基づいて動作するとともに、前記ロボットアームの動作中に、前記ロボットアームに前記人の力が加えられることにより、前記ロボットアームが前記人の操作により動作を補正できないよう制御する制御モードから前記ロボットアームの動作を前記人の操作により補正できる制御モードに切り替えた後に、前記ロボットアームに加えられた前記人の力と、動作中の前記ロボットアームの前記動作情報と、前記動作補正情報とから、前記人の操作によって前記ロボットアームの動作を変更するときの変更条件を設定する変更条件設定部と、
前記変更条件設定部で設定された前記変更条件に応じて補正が必要な場合に、前記動作情報取得部で取得した前記ロボットアームの位置と姿勢と速度と力のうちの少なくとも1つ以上の前記動作情報を補正する動作補正部とを備えて、
前記動作補正部により補正された前記動作情報に基づいて、前記ロボットアームの前記動作を制御するロボットアームの制御装置を提供する。
前記動作に対応する、前記ロボットアームの位置と姿勢と速度と力のうちの少なくとも1つ以上の時系列の動作情報を動作情報取得部で取得し、
前記動作情報の前記ロボットアームによる補正方法に関する動作補正情報を動作補正情報取得部で取得し、
前記ロボットアームを前記動作情報に基づいて動作するとともに、前記ロボットアームの動作中に、前記ロボットアームに前記人の力が加えられることにより、前記ロボットアームが前記人の操作により動作を補正できないよう制御する制御モードから前記ロボットアームの動作を前記人の操作により補正できる制御モードに切り替えた後に、前記ロボットアームに加えられた前記人の力と、動作中の前記ロボットアームの前記動作情報と、前記動作補正情報とから、前記人の操作によって前記ロボットアームの動作を変更するときの変更条件を変更条件設定部で設定し、
前記変更条件設定部で設定された前記変更条件に応じて補正が必要な場合に、前記動作情報取得部で取得した前記ロボットアームの位置と姿勢と速度と力のうちの少なくとも1つ以上の前記動作情報を動作補正部で補正し、
前記動作補正部により補正された前記動作情報に基づいて、前記ロボットアームの前記動作を制御するロボットアームの制御方法を提供する。
前記ロボットアームの前記動作を制御する第1~21のいずれか1つの態様に記載のロボットアームの制御装置を有するロボットを提供する。
前記動作に対応する、前記ロボットアームの位置と姿勢と速度と力のうちの少なくとも1つ以上の時系列の動作情報を動作情報取得部で取得するステップと、
前記動作情報の前記ロボットアームによる補正方法に関する動作補正情報を動作補正情報取得部で取得するステップと、
前記ロボットアームを前記動作情報に基づいて動作するとともに、前記ロボットアームの動作中に、前記ロボットアームに前記人の力が加えられることにより、前記ロボットアームが前記人の操作により動作を補正できないよう制御する制御モードから前記ロボットアームの動作を前記人の操作により補正できる制御モードに切り替えた後に、前記ロボットアームに加えられた前記人の力と、動作中の前記ロボットアームの前記動作情報と、前記動作補正情報とから、前記人の操作によって前記ロボットアームの動作を変更するときの変更条件を変更条件設定部で設定するステップと、
前記変更条件設定部で設定された前記変更条件に応じて補正が必要な場合に、前記動作情報取得部で取得した前記ロボットアームの位置と姿勢と速度と力のうちの少なくとも1つ以上の前記動作情報を補正するステップと、
前記動作補正部により補正された前記動作情報に基づいて、前記ロボットアームの前記動作を制御するステップとをコンピュータに実行させるためのロボットアームの制御プログラムを提供する。
前記動作に対応する、前記ロボットアームの位置と姿勢と速度と力のうちの少なくとも1つ以上の時系列の動作情報を動作情報取得部で取得し、
前記動作情報の前記ロボットアームによる補正方法に関する動作補正情報を動作補正情報取得部で取得し、
前記ロボットアームを前記動作情報に基づいて動作するとともに、前記ロボットアームの動作中に、前記ロボットアームに前記人の力が加えられることにより、前記ロボットアームが前記人の操作により動作を補正できないよう制御する制御モードから前記ロボットアームの動作を前記人の操作により補正できる制御モードに切り替えた後に、前記ロボットアームに加えられた前記人の力と、動作中の前記ロボットアームの前記動作情報と、前記動作補正情報とから、前記人の操作によって前記ロボットアームの動作を変更するときの変更条件を変更条件設定部で設定し、
前記変更条件設定部で設定された前記変更条件に応じて補正が必要な場合に、前記動作情報取得部で取得した前記ロボットアームの位置と姿勢と速度と力のうちの少なくとも1つ以上の前記動作情報を動作補正部で補正し、
前記動作補正部により補正された前記動作情報に基づいて、前記ロボットアームの前記動作を制御するロボットアームの集積電子回路を提供する。
前記動作に対応する、前記ロボットアームの位置と姿勢と速度と力のうちの少なくとも1つ以上の時系列の動作情報を取得する動作情報取得部と、
前記動作情報の前記ロボットアームによる補正方法に関する動作補正情報を取得する動作補正情報取得部と、
前記ロボットアームを前記動作情報に基づいて動作するとともに、前記ロボットアームの動作中に、前記ロボットアームに前記人の力が加えられることにより、前記ロボットアームが前記人の操作により動作を補正できないよう制御する制御モードから前記ロボットアームの動作を前記人の操作により補正できる制御モードに切り替えた後に、前記ロボットアームに加えられた前記人の力と、動作中の前記ロボットアームの前記動作情報と、前記動作補正情報とから、前記人の操作によって前記ロボットアームの動作を変更するときの変更条件を設定する変更条件設定部と、
前記変更条件設定部で設定された前記変更条件に応じて補正が必要な場合に、前記動作情報取得部で取得した前記ロボットアームの位置と姿勢と速度と力のうちの少なくとも1つ以上の前記動作情報を補正する動作補正部とを備えて、
前記動作補正部により補正された前記動作情報に基づいて、前記ロボットアームの前記動作を制御するロボットアームの制御装置を提供する。
前記動作情報取得部で取得した前記動作情報は、前記ロボットアームが行う前記動作に応じて、それぞれの時間での、前記ロボットアームの手先の位置情報と、前記ロボットアームの姿勢情報と、前記ロボットアームの速度情報と、前記ロボットアームの手先にかかる力の情報とのうちの少なくとも1つの情報であり、
前記動作補正部により、前記変更条件設定部で設定された前記変更条件に応じて補正が必要な場合でかつ前記ロボットアームの動作中に、前記力検出部で検出された前記人の力と、前記動作補正情報とに応じて、前記動作情報取得部で取得した前記動作情報を補正するとき、前記ロボットアームが行う前記動作に応じて、それぞれの時間での前記位置情報又は前記姿勢情報又は前記速度情報又は前記力の情報のうち少なくとも1つ以上の情報を使用して、前記動作情報取得部で取得した前記動作情報を補正する第1又は2又は3の態様に記載のロボットアームの制御装置を提供する。
前記動作情報取得部で取得した前記動作補正情報は、前記人の操作に対する前記動作情報の軌跡について、周期性のある区間を検出して補正する周期性補正方法と、前記人が補正中の動作について、一部の区間を、前記ロボットアームの位置又は速度又は前記ロボットアームに加える力のうち少なくとも1つ以上の値をアシストして補正するかどうかを検出した後に補正するアシスト補正方法のうちの少なくとも1つの情報であり、
前記動作補正部は、前記変更条件設定部で設定された前記変更条件に応じて補正が必要な場合でかつ前記ロボットアームの動作中に、前記力検出部で検出された前記人の力と、前記周期性補正方法と、前記アシスト補正方法とのうち少なくとも1つの情報に応じて、前記動作情報取得部で取得した前記動作情報を補正する第3の態様に記載のロボットアームの制御装置を提供する。
前記動作補正情報取得部で取得した前記動作補正情報は、前記人が前記ロボットアームを操作し始めてからある時間経過した区間と、前記人が前記ロボットアームの操作を終了する直前の区間のうち、少なくとも1つの区間を削除して補正する補正方法であり、
前記動作補正部は、
前記変更条件設定部で設定された前記変更条件に応じて補正が必要な場合でかつ前記ロボットアームの動作中に、前記力検出部で検出された前記人の力と、
(I)前記人が前記ロボットアームを操作し始めてからある時間経過した区間と、
(II)前記人が前記ロボットアームの操作を終了する直前の区間と
のうち、前記(I)及び(II)の少なくとも1つの区間を削除して補正する補正方法により、前記動作情報取得部で取得した前記動作情報を補正し、前記(I)又は(II)の区間の長さは、前記ロボットアームの速度に応じて決定する第2の態様に記載のロボットアームの制御装置を提供する。
前記動作補正情報は、前記人の力が力用の閾値以上でありかつ時間用の閾値以上の時間が継続する区間以外を削除して補正する補正方法であり、
前記動作補正部は、前記変更条件設定部で設定された前記変更条件に応じて補正が必要な場合でかつ前記ロボットアームの前記動作中に、前記力検出部で検出された前記人の力と、前記人の力が前記力用の閾値以上であることが、前記時間用の閾値以上の時間が継続する区間以外を削除して補正する補正方法により、前記動作情報取得部で取得した前記動作情報を補正する第2の態様に記載のロボットアームの制御装置を提供する。
前記動作補正情報は、時間用の閾値以下の時間内で、前記人の力が力用の閾値以上である場合は、その時間内の操作区間を削除して補正する補正方法であり、
前記動作補正部は、前記変更条件設定部で設定された前記変更条件に応じて補正が必要な場合でかつ前記ロボットアームの前記動作中に、前記力検出部で検出された前記人の力と、前記時間用の閾値以下の時間内で、前記人の力が前記力用の閾値以上である場合は、その時間内の操作区間を削除して補正する補正方法により、前記動作情報取得部で取得した前記動作情報を補正する第2の態様に記載のロボットアームの制御装置を提供する。
前記動作情報取得部で取得した前記動作情報のうち補正の対象となるパラメータの種別を決定する補正方法種別決定部とをさらに備え、
前記動作補正情報は、前記補正方法種別決定部で決定した種別以外のパラメータを削除して補正する補正方法であり、
前記動作補正部は、前記変更条件設定部で設定された前記変更条件に応じて補正が必要な場合でかつ前記ロボットアームの前記動作中に、前記力検出部で検出された前記人の力と、前記補正方法種別決定部で決定した種別以外のパラメータを削除して補正する補正方法により、前記動作情報取得部で取得した前記動作情報を補正する第2の態様に記載のロボットアームの制御装置を提供する。
補正する補正方法であり、
前記動作補正部は、前記変更条件設定部で設定された前記変更条件に応じて補正が必要な場合でかつ前記ロボットアームの前記動作中に、前記力検出部で検出された前記人の力と、前記ロボットアームの位置又は姿勢又は速度又は力の情報に関して偏りがある区間において、前記偏りがなくなるように前記ロボットアームの位置及び姿勢の情報を補正する補正方法により、前記動作情報取得部で取得した前記動作情報を補正する第5の態様に記載のロボットアームの制御装置を提供する。
前記動作補正部は、前記変更条件設定部で設定された前記変更条件に応じて補正が必要な場合でかつ前記ロボットアームの前記動作中に、前記力検出部で検出された前記人の力と、前記ロボットアームの位置又は姿勢又は速度又は力の情報に関して規則的に繰り返している区間において、前記繰り返し区間のそれぞれの前記ロボットアームの位置及び姿勢の情報を平均化するように補正する補正方法により、前記動作情報取得部で取得した前記動作情報を補正する第5の態様に記載のロボットアームの制御装置を提供する。
前記動作補正部は、前記変更条件設定部で設定された前記変更条件に応じて補正が必要な場合でかつ前記ロボットアームの前記動作中に、前記力検出部で検出された前記人の力と、前記人が前記下限閾値以上且つ前記上限閾値以下の回数の操作を継続していて、且つ前記人の操作前後の前記動作情報の位置又は姿勢又は速度又は力に関する情報のいずれか1つ以上の情報において、その値の操作前後の差が閾値以上の場合において、前記変化した動作情報を補正する補正方法により、前記動作情報取得部で取得した前記動作情報を補正する第5の態様に記載のロボットアームの制御装置を提供する。
前記動作補正部は、前記変更条件設定部で設定された前記変更条件に応じて補正が必要な場合に、前記人が前記下限閾値以上且つ前記上限閾値以下の回数の操作を継続していて、且つ、操作前から前記ロボットアームの手先の位置情報が変化しており、且つ変化した前記位置情報が、前記ロボットアームの可動範囲外にある場合の回数が前記可動範囲用の閾値以上ある場合において、前記位置情報を前記可動範囲内となるように補正する補正する補正方法により、前記動作情報取得部で取得した前記動作情報を補正する第12の態様に記載のロボットアームの制御装置を提供する。
前記アシスト補正方法は、前記人が前記下限閾値以上且つ前記上限閾値以下の回数の操作を継続していて、且つ、前記ロボットアームの前記手先にかかる前記力情報が操作前より操作後に力情報用の閾値以上増加している場合において、前記力情報を増加するように補正する補正方法であり、
前記動作補正部は、前記変更条件設定部で設定された前記変更条件に応じて補正が必要な場合でかつ前記ロボットアームの前記動作中に、前記力検出部で検出された前記人の力と、前記人が前記下限閾値以上且つ前記上限閾値以下の回数の操作を継続していて、且つ、前記ロボットアームの手先にかかる力情報が操作前より操作後に前記力情報用の閾値以上増加している場合において、前記力情報を増加するように補正する補正方法により、前記動作情報取得部で取得した前記動作情報を補正する第12の態様に記載のロボットアームの制御装置を提供する。
前記動作補正部は、前記変更条件設定部で設定された前記変更条件に応じて補正が必要な場合でかつ前記ロボットアームの前記動作中に、前記力検出部で検出された前記人の力と、前記人が前記下限閾値以上且つ前記上限閾値以下の回数の操作を継続していて、且つ、前記ロボットアームの手先の速度情報が操作前より操作後に前記速度用の閾値以上増加している場合において、前記速度情報を増加するように補正する補正方法により、前記動作情報取得部で取得した前記動作情報を補正する第12の態様に記載のロボットアームの制御装置を提供する。
前記アシスト値算出部は、前記人が前記ロボットアームを操作した回数に応じて前記値を算出する第12の態様に記載のロボットアームの制御装置を提供する。
前記人が前記ロボットアームに対する操作回数の下限閾値以上の回数の操作を継続している場合は、前記力検出部で検出された前記人の力のみで前記動作情報取得部で取得した前記動作情報を補正する第1又は2又は3の態様に記載のロボットアームの制御装置を提供する。
前記動作補正部は、前記変更条件設定部で設定された前記変更条件に応じて補正が必要な場合に、前記動作情報に基づいて、
(I)前記ロボットアームが動作中に、前記力検出部で検出されたかつ前記ロボットアームに加わる力に応じて前記ロボットアームが作動するハイブリッドインピーダンス制御モードと、
(II)前記力検出部で検出されかつ、停止している前記ロボットアームに対して前記人から前記ロボットアームに加わる力に応じて、前記ロボットアームが作動するインピーダンス制御モードと、さらに、
(III)指定した力を作用させて動作する力制御モードと
の前記3種類の制御モードのうち少なくとも1つ以上の制御モードを前記ロボットアームの関節部の回転軸の方向別に設定するとともに、前記回転軸の方向の少なくとも1つに前記(III)の制御モードが設定して前記ロボットアームを動作させている最中に、前記(III)の制御モードが設定された方向について、前記人の操作時において、前記ロボットアームの動作中に前記人の操作により前記ロボットアームが移動しない制御モードに切り替えて、前記動作情報取得部で取得した前記動作情報のうち前記指定した力を作用させて動作する際の前記力を補正する第1又は2又は3の態様に記載のロボットアームの制御装置を提供する。
(I)前記ロボットアームが動作中に、前記力検出部で検出されかつ前記ロボットアームに加わる力に応じて前記ロボットアームが作動するハイブリッドインピーダンス制御モードと、
(II)前記力検出部で検出されかつ、停止している前記ロボットアームに対して前記人から前記ロボットアームに加わる力に応じて、前記ロボットアームが作動するインピーダンス制御モードと、さらに、
(III)指定した力を作用させて動作する力制御モードとの
前記3種類の制御モードのうち少なくとも1つ以上の制御モードを前記ロボットアームの関節部の回転軸の方向別に設定するとともに、前記回転軸の方向の少なくとも1つに前記(II)の制御モードが設定して前記ロボットアームを動作させている最中に、前記(I)若しくは(II)の制御モードが設定された方向について、前記人の操作時において、前記動作補正情報に応じて、前記ハイブリッドインピーダンス制御に切り替えて、前記動作情報取得部で取得した前記動作情報を補正する第1又は2又は3の態様に記載
のロボットアームの制御装置を提供する。
前記動作に対応する、前記ロボットアームの位置と姿勢と速度と力のうちの少なくとも1つ以上の時系列の動作情報を動作情報取得部で取得し、
前記動作情報の前記ロボットアームによる補正方法に関する動作補正情報を動作補正情報取得部で取得し、
前記ロボットアームを前記動作情報に基づいて動作するとともに、前記ロボットアームの動作中に、前記ロボットアームに前記人の力が加えられることにより、前記ロボットアームが前記人の操作により動作を補正できないよう制御する制御モードから前記ロボットアームの動作を前記人の操作により補正できる制御モードに切り替えた後に、前記ロボットアームに加えられた前記人の力と、動作中の前記ロボットアームの前記動作情報と、前記動作補正情報とから、前記人の操作によって前記ロボットアームの動作を変更するときの変更条件を変更条件設定部で設定し、
前記変更条件設定部で設定された前記変更条件に応じて補正が必要な場合に、前記動作情報取得部で取得した前記ロボットアームの位置と姿勢と速度と力のうちの少なくとも1つ以上の前記動作情報を動作補正部で補正し、
前記動作補正部により補正された前記動作情報に基づいて、前記ロボットアームの前記動作を制御するロボットアームの制御方法を提供する。
前記ロボットアームの前記動作を制御する第1~21のいずれか1つの態様に記載のロボットアームの制御装置を有するロボットを提供する。
前記動作に対応する、前記ロボットアームの位置と姿勢と速度と力のうちの少なくとも1つ以上の時系列の動作情報を動作情報取得部で取得するステップと、
前記動作情報の前記ロボットアームによる補正方法に関する動作補正情報を動作補正情報取得部で取得するステップと、
前記ロボットアームを前記動作情報に基づいて動作するとともに、前記ロボットアームの動作中に、前記ロボットアームに前記人の力が加えられることにより、前記ロボットアームが前記人の操作により動作を補正できないよう制御する制御モードから前記ロボットアームの動作を前記人の操作により補正できる制御モードに切り替えた後に、前記ロボットアームに加えられた前記人の力と、動作中の前記ロボットアームの前記動作情報と、前記動作補正情報とから、前記人の操作によって前記ロボットアームの動作を変更するときの変更条件を変更条件設定部で設定するステップと、
前記変更条件設定部で設定された前記変更条件に応じて補正が必要な場合に、前記動作情報取得部で取得した前記ロボットアームの位置と姿勢と速度と力のうちの少なくとも1つ以上の前記動作情報を補正するステップと、
前記動作補正部により補正された前記動作情報に基づいて、前記ロボットアームの前記動作を制御するステップとをコンピュータに実行させるためのロボットアームの制御プログラムを提供する。
前記動作に対応する、前記ロボットアームの位置と姿勢と速度と力のうちの少なくとも1つ以上の時系列の動作情報を動作情報取得部で取得し、
前記動作情報の前記ロボットアームによる補正方法に関する動作補正情報を動作補正情報取得部で取得し、
前記ロボットアームを前記動作情報に基づいて動作するとともに、前記ロボットアームの動作中に、前記ロボットアームに前記人の力が加えられることにより、前記ロボットアームが前記人の操作により動作を補正できないよう制御する制御モードから前記ロボットアームの動作を前記人の操作により補正できる制御モードに切り替えた後に、前記ロボットアームに加えられた前記人の力と、動作中の前記ロボットアームの前記動作情報と、前記動作補正情報とから、前記人の操作によって前記ロボットアームの動作を変更するときの変更条件を変更条件設定部で設定し、
前記変更条件設定部で設定された前記変更条件に応じて補正が必要な場合に、前記動作情報取得部で取得した前記ロボットアームの位置と姿勢と速度と力のうちの少なくとも1つ以上の前記動作情報を動作補正部で補正し、
前記動作補正部により補正された前記動作情報に基づいて、前記ロボットアームの前記動作を制御するロボットアームの集積電子回路を提供する。
(第1実施形態)
まず、本発明の第1実施形態におけるロボットアームの制御装置を備えるロボットシステム1の構成について説明する。図1及び図2は、本発明の第1実施形態におけるロボットアーム5及びその制御装置70を備えるロボットシステム1の概要を示す図である。
この第1実施形態のロボットアーム5は、一例として、6自由度の多リンクマニピュレータで構成される多関節ロボットアームとする。ロボットアーム5は、ハンド30と、ハンド30が取り付けられている手首部31を先端32aに有する前腕リンク32と、前腕リンク32の基端32bに回転可能に先端33aが連結される上腕リンク33と、上腕リンク33の基端33bが回転可能に連結支持される台部34とを備えている。台部34は、移動可能なレール8に連結されているが、一定位置に固定されていても良い。手首部31は、第4関節部38と、第5関節部39と、第6関節部40との3つの回転軸を有しており、前腕リンク32に対するハンド30の相対的な姿勢(向き)を変化できる。すなわち、図2において、第4関節部38は、手首部31に対するハンド30の横軸(ψ)周りの相対的な姿勢を変化できる。第5関節部39は、手首部31に対するハンド30の、第4関節部38の横軸とは直交する縦軸(Φ)周りの相対的な姿勢を変化させることができる。第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の縦軸と平行な縦軸周りに回転可能としている。
動作生成装置12は、動作情報取得部の一例として機能する動作情報データベース17と、動作補正情報取得部の一例として機能する動作補正情報データベース18と、動作指令部27と、動作補正部20と、変更条件設定部82と、動作記憶部15とを有するように構成される。動作補正部20と制御パラメータ管理部21との間及び変更条件設定部82と制御パラメータ管理部21との間では、それぞれ、ロボットアーム5の手先位置及び姿勢の情報と、人4の加えられた力の情報と、動作指令などが入出力される。制御パラメータ管理部21により、ロボットアーム5の手先位置及び姿勢と人4からロボットアーム5に加えられた力の情報などが動作記憶部15に出力される。ロボットアーム5の手先位置及び姿勢の情報と、人4の加えられた力の情報などが補正方法種別決定部23に出力される。なお、動作生成装置12における各制御モード((i)位置制御モード、(ii)インピーダンス制御モード、(iii)ハイブリッドインピーダンス制御モード、(v)力ハイブリッドインピーダンス制御モード)の詳細については、制御装置本体部11の制御パラメータ管理部21にて後述する
動作情報データベース17は、ロボットアーム5の、ある時間におけるロボットアーム5の手先位置及び姿勢などの動作に関する情報(動作情報)である。動作情報は動作記憶部15により記録される。動作情報データベース17は、動作指令部27との間で動作情報が入出力されるとともに、動作補正部20との間で動作情報が入出力され、動作記憶部15により主々の動作情報が入力され記憶される。また、動作情報データベース17は、変更条件設定部82との間で動作情報が入出力され、動作記憶部15により主々の動作情報が入力され記憶される。変更条件設定部82から動作補正部20へは、変更条件設定部82で設定した変更条件が入力される。動作指令部27から変更条件設定部82へは、動作補正開始の指令が入力される。
動作指令部27には、人4がデータ入力IF26により指定した「作業ID」の作業の動作開始の指令が入力される。動作指令部27は、指定された「作業ID」の作業の動作開始の指令を受けて、指定された「作業ID」の作業の動作を開始させる。具体的には、動作中の「動作ID」の「進捗情報」に「1」を動作指令部27により設定し、動作記憶部15により動作情報データベース17に記憶する。その他の「動作ID」の「進捗情報」については「0」を動作指令部27に設定し、動作記憶部15により動作情報データベース17に記憶する。動作指令部27により指令された作業IDの作業の全ての動作は、「動作ID」の番号の小さいものから、順番に実行され、一番最後の動作まで実行されると、その「作業ID」の先頭の「動作ID」の動作に戻り、一連の動作を繰り返し実行する。
次に、動作補正情報データベース18の詳細について説明する。
変更条件設定部82は、ロボットアーム5の動作の変更条件(ロボットアーム5の補正動作を行うか否かも含むロボットアーム5の動作の変更条件)を設定する機能を有しており、例えば、ロボットアーム5の動作に対する人4の操作の意図を推定して、ロボットアーム5の動作に関する動作情報の目標値目標値(ロボットアーム5の動作により最終的に到達する手先位置又は姿勢などに関する値、又は、最終的に到達はしない手先位置又は姿勢など関する値であるが手先位置又は姿勢などを動作させるときに目標となる値)を推定する機能を持っている。変更条件設定部82は、動作情報データベース17の位置及び姿勢及び力及び時間との情報にて、後述するインピーダンス制御モード、若しくは位置制御モード、若しくは力制御モード、若しくはそれらを方向別に組み合わせた制御モード、のうち、いずれかのモードでのロボットアーム5の動作中に、データ入力IF26から動作指令部27を介して動作補正部20と共に動作補正開始の指令を受ける。すると、変更条件設定部82は、動作補正情報データベース18の動作補正情報に基づいて、人4がロボットアーム5に力を加えることで動作情報データベース17のロボットアーム5の動作情報を補正する際の、ロボットアーム5の動作情報の変更条件を設定する(例えば、目標値を推定する)機能を有している。
動作補正部20は、動作情報データベース17の位置及び姿勢及び力及び時間との情報にて、後述するインピーダンス制御モード、若しくは位置制御モード、若しくは力制御モード、若しくはそれらを方向別に組み合わせた制御モード、のうち、いずれかのモードでのロボットアーム5の動作中に、データ入力IF26から動作指令部27を介して動作補正部20で動作補正開始の指令を受ける。すると、動作補正部20は、変更条件設定部82で設定した変更条件(例えば、推定した動作情報の目標値)に従って、動作情報データベース17のロボットアーム5の動作情報を補正する機能を有している。なお、動作補正部20は、変更条件設定部82の機能をも備えることも考えられるが、本願明細書では、前記したように機能別に動作補正部20と変更条件設定部82とに分けて構成している。
人4は、データ入力IF26により、動作情報データベース17の作業の中の「作業ID」に関する作業の中からロボットアーム5に実行させたい作業を選択して、選択情報を動作指令部27に入力して指定する。人4がデータ入力IF26により指定した「作業ID」の作業の作業選択の指令を変更条件設定部82と動作指令部27が受けて、動作指令部27から変更条件設定部82と動作補正部20とに作業選択の指示を行う。動作補正部20は、動作情報データベース17の中から選択された「作業ID」の作業の動作情報(具体的には、位置の情報と、姿勢の情報と、時間の情報と、力の情報)を、フラグに従って、制御モードを設定して動作するように、制御パラメータ管理部21へ指令を出す。
15は動作記憶部で、動作補正部20により補正した動作情報を動作情報データベース17に記憶する。さらに、動作記憶部15には、制御パラメータ管理部21からロボットアーム5の手先位置(ハンド30の位置)及び姿勢と人4がロボットアーム5にかけた力の情報が入力され、動作記憶部15で記憶する。
制御装置本体部11は、制御パラメータ管理部21と、制御部22とを有するように構成される。制御部22と制御パラメータ管理部21との間では、ロボットアーム5の手先位置又は力の情報などが入出力される。
次に、制御パラメータ管理部21の詳細について説明する。
位置制御モードは、後述する目標軌道生成部55の手先位置と姿勢目標ベクトル指令とに基づいてロボットアーム5が作動するモードであり、人4がロボットアーム5に力を加えてもロボットアーム5は移動しないようにロボットアーム5の動作を制御する制御方法のモードである。具体的には、かき混ぜ作業又は拭き掃除作業などの作業時にロボットアーム5が動作するモードである。
インピーダンス制御モードは、力検出部53で検出され、かつ人4などからロボットアーム5に加わる力に応じて、ロボットアーム5が作動するようにロボットアーム5の動作を制御する制御方法のモードである。例えば、図7に示すように、人4がロボットアーム5を直接持って、作業場所(図7では鍋3の位置)までロボットアーム5を誘導する場合に動作するモードがインピーダンス制御モードである。
ハイブリッドインピーダンス制御モードは、ロボットアーム5が位置制御モードで動作しているときに、ロボットアーム5に加わる力が力検出部53により検出され、かつ力検出部53で検出された力に応じて、ロボットアーム5が作動するようにロボットアーム5の動作を制御する制御方法のモードである。具体的には、ロボットアーム5が、図8Aに示すように、ロボットアーム5が位置制御モードによるかき混ぜ業を行っているときに、人4が鍋3の具材の状況を確認して、鍋3の中の底側の部分をかき混ぜるようにロボットアーム5の動作を人4が補正したい場合に、制御パラメータ管理部21が、ハイブリッドインピーダンス制御モードに切り替える指令を制御部22へ出力する。その結果、図8Bに示すように、人4がロボットアーム5を把持して、ハイブリッドインピーダンス制御モードで下方向に力をかけることで(図8Bの下向きの矢印参照)、水平方向を位置制御モードでかき混ぜながら、図8Cの下向きの矢印及び下側の回転方向の矢印で示すように、垂直方向すなわち鍋底をかき混ぜる動作に補正することができるようになる。このような制御方法がハイブリッドインピーダンス制御モードである。
力制御モードは、動作補正部20から制御パラメータ管理部21へ設定された力で対象物をロボットアーム5で押し付けながら動作するようにロボットアーム5の動作を制御する制御方法の制御モードである。例えば、図9のように、IHクッキングヒータ6などの天板を拭き掃除作業する際に、天板の表面に力を加えて擦るような拭き掃除作業の場合、又は、図10のように、鍋3の底に力を加えて擦るようなかき混ぜ作業の場合など、力を加えて制御する方向に使用する制御モードが力制御モードである。
力ハイブリッドインピーダンス制御モードは、6軸の方向別に、ハイブリッドインピーダンス制御モードか、インピーダンス制御モードか、位置制御モードか、を切り替え、さらに、指定した力を作用させて動作する力制御モードで動作させるようにロボットアーム5の動作を制御する制御方法のモードである。なお、力制御モードが設定された方向にインピーダンス制御モードを設定することはできない(力制御モードとインピーダンス制御モードは排他的な関係)。
例えば、図9のようにIHクッキングヒータ6などの天板を拭き掃除作業する際に、掃除面に平行に円状に動作しながら、掃除面に垂直下向きに指定した力をかけて、拭き掃除をする場合には、力ハイブリッドインピーダンス制御モードを設定する。具体的には、(x,y,z,φ,θ,ψ)の6軸それぞれに以下の制御モードを設定する。すなわち、(x,y)成分がハイブリッドインピーダンス制御モード、(φ,θ,ψ)成分がインピーダンス制御モードで、z軸成分が力制御モードで動作する力ハイブリッドインピーダンス制御モードである。このように掃除面と水平な方向はハイブリッドインピーダンス制御モードとすることで、位置制御モードで動作している最中に、人4などからロボットアーム5に加わる力に応じて、ロボットアーム5を移動させることができる。さらに、(φ,θ,ψ)成分をインピーダンス制御モードとすることで、停止している状態で人4などからロボットアーム5に加わる力に応じて、ロボットアーム5の姿勢を変更することができるようになる。また、z軸成分を力制御モードに設定することで、指定された力で押し付けながら動作することができるようになる。又は、力ハイブリッドインピーダンス制御モードは、(x,y,z,φ,θ,ψ)の6軸のうち、z軸成分が力制御モードで、その他の軸は位置制御モードで動作させても良い。その場合は、衝突など不用意な力がロボットアーム5に加わっても、位置制御成分を誤って移動させることはない。
高剛性位置制御モードは、ロボットアーム5の動作中の位置制御モードをさらに高剛性にした制御モードである。具体的には、後述する位置誤差補償部56でのゲインを大きくすることで実現し、人4が力をかけても、ロボットアーム5を容易に移動させることができないため、接触面からの抗力の影響を受けないため、人4がかけた力を正しく検出することができる。
次に、制御部22の詳細について、図3により説明する。制御部22は、目標軌道生成部55と、ハンド制御部54と、力検出部53と、インピーダンス計算部51と、位置制御系59(位置誤差補償部56と、近似逆運動学計算部57と、順運動学計算部58とを有する。)と、位置誤差計算部80とを有するように構成されている。力検出部53は、図3では制御部22の一部として図示しているが、制御部22とは別の構成としてもよい。
周辺装置14は、データ入力IF(インターフェース)26と、入出力IF(インターフェース)24と、モータドライバ25と、表示部2とを有するように構成される。制御部22から入出力IF24には制御信号などの制御情報が出力される。動作補正部20から、動作情報データベース17で記憶された補正パラメータなどの補正情報及び動作IDに該当する映像若しくは写真若しくはテキストが表示部2へ出力されて、動作情報で記述されたロボットアーム5の動作の映像若しくは写真若しくはテキストを表示部2で表示する。
本発明の第2実施形態における、ロボットアームの制御装置の基本的な構成は、第1実施形態の場合と同様であるので、共通部分の説明は省略し、異なる部分についてのみ以下、詳細に説明する。
図16は、動作補正情報データベース18を示す。動作補正情報を識別するIDである動作補正情報ID番号(図16の「動作補正情報ID」の欄参照)と、補正区間に関する情報(図16の「補正区間」の欄参照)であり、動作情報で動作が開始されている最中に、人4が力を加えた場合の力の閾値に関する情報(図16の「力の閾値」参照)と、人4が「力の閾値」以上の力をどれくらいの時間加えたかの時間の閾値に関する情報(図16の「時間の閾値」参照)と、動作情報の補正方法に関する情報(図16の「補正方法」の欄参照)と、「動作補正情報ID」で示されたIDの動作補正情報をどの作業に適応するかを識別するための識別番号である「作業ID」(図16の「作業ID」の欄参照)とを有するように構成される。「作業ID」は、動作情報データベース17の「作業ID」のいずれかの値であり、複数の作業に適応する補正情報である場合には、図16の「動作補正情報ID」の「2」のように、「1,3」と複数のIDを記憶することができる。
動作補正部20は、第1実施形態と同様に、人4が、データ入力IF26により、動作情報データベース17の作業の中の「作業ID」に関する作業の中からロボットアーム5に実行させたい作業を選択して、選択情報を動作指令部27に入力して指定する。人4がデータ入力IF26により指定した「作業ID」の作業の作業選択の指令を動作指令部27が受けて、動作指令部27から変更条件設定部82と動作補正部20とに作業選択の指示を行うことにより、作業を選択する。動作情報データベース17の作業の中の選択された作業の「フラグ」により、制御モードを動作補正部20が設定する。そして、設定した制御モードで動作するように、制御パラメータ管理部21へ動作補正部20から指令を出す。人4が補正開始の指示をデータ入力IF26により動作指令部27へ入力すると、動作指令部27を介して動作補正部20は、動作情報データベース17の「補正パラメータフラグ」により制御モードを設定し、設定した制御モードで動作するよう制御パラメータ管理部21へ指令を出す。人4が補正を開始した時点から終了する時点までのロボットアーム5の手先にかかる力とロボットアーム5の手先位置及び姿勢を、ある一定時間毎(例えば0.2秒毎)に変更条件設定部82で取得する。具体例として、変更条件設定部82で取得したデータを図15Aに示す。図15Aにおいて、「ID」は、変更条件設定部82で取得した各データを識別する識別番号を表し、「位置姿勢」は、変更条件設定部82で取得したロボットアーム5の手先の位置及び姿勢を表し、「力」は、変更条件設定部82で取得したロボットアーム5にかかる力を表し、「時間」は、人4が補正を開始した時点を0とし、その時点からの相対時間を表す。
本発明の第3実施形態における、ロボットアームの制御装置の基本的な構成は、第1実施形態の場合と同様であるので、共通部分の説明は省略し、異なる部分についてのみ以下、詳細に説明する。
図18は、動作補正情報データベース18を示す。動作補正情報を識別するIDである動作補正情報ID番号(図18の「動作補正情報ID」の欄参照)と、補正区間に関する情報(図18の「補正区間」の欄参照)であり、動作情報で動作が開始されている最中に、人4が力を加えた場合の力の閾値に関する情報(図18の「力の閾値」参照)と、人4が「力の閾値」以上の力をどれくらいの時間加えたかの時間の閾値に関する情報(図18の「時間の閾値」参照)と、動作情報の補正方法に関する情報(図18の「補正方法」の欄参照)と、「動作補正情報ID」で示されたIDの動作補正情報をどの作業に適応するかを識別するための識別番号である「作業ID」(図18の「作業ID」の欄参照)とを有するように構成される。「作業ID」は、動作情報データベース17の「作業ID」のいずれかの値であり、複数の作業に適応する補正情報である場合には図18の「動作補正情報ID」の「2」のように、「1,3」と複数のIDを記憶することができる。
動作補正部20は、第1実施形態と同様に、人4が、データ入力IF26により、動作情報データベース17の作業の中の「作業ID」に関する作業の中からロボットアーム5に実行させたい作業を選択して、選択情報を動作指令部27に入力して指定する。人4がデータ入力IF26により指定した「作業ID」の作業の作業選択の指令を動作指令部27が受けて、動作指令部27から変更条件設定部82と動作補正部20とに作業選択の指示を行うことにより、作業を選択する。動作情報データベース17の作業の中の選択された作業の「フラグ」により、制御モードを動作補正部20が設定する。そして、設定した制御モードで動作するように、制御パラメータ管理部21へ動作補正部20から指令を出す。人4が補正開始の指示をデータ入力IF26により動作指令部27へ入力すると、動作指令部27を介して動作補正部20は、動作情報データベース17の「補正パラメータフラグ」により制御モードを設定し、設定した制御モードで動作するよう制御パラメータ管理部21へ指令を出す。人4が補正を開始した時点から終了する時点までのロボットアーム5の手先にかかる力とロボットアーム5の手先位置及び姿勢を、ある一定時間毎(例えば0.2秒毎)に変更条件設定部82で取得する。具体例として、変更条件設定部82で取得したデータを図17Aに示す。図17Aにおいて、「ID」は、変更条件設定部82で取得した各データを識別する識別番号を表し、「位置姿勢」は、変更条件設定部82で取得したロボットアーム5の手先の位置及び姿勢を表し、「力」は、変更条件設定部82で取得したロボットアーム5にかかる力を表し、「時間」は、人4が補正を開始した時点を0とし、その時点からの相対時間を表す。
本発明の第4実施形態における、ロボットアームの制御装置の基本的な構成は、第1実施形態の場合と同様であるので、共通部分の説明は省略し、異なる部分についてのみ以下、詳細に説明する。
図20は、動作補正情報データベース18を示す。動作補正情報を識別するIDである動作補正情報ID番号(図20の「動作補正情報ID」の欄参照)と、補正区間に関する情報(図20の「補正区間」の欄参照)であり、後述する補正方法種別決定部23で決定された補正種別の補正順序の番号である優先度に関する情報を識別するためのID番号(図20の「優先度ID番号」参照)と、動作情報の補正方法に関する情報(図20の「補正方法」の欄参照)と、「動作補正情報ID」で示されたIDの動作補正情報をどの作業に適応するかを識別するための識別番号である「作業ID」(図20の「作業ID」の欄参照)とを有するように構成される。「作業ID」は動作情報データベース17の「作業ID」のいずれかの値であり、複数の作業に適応する補正情報である場合には、図18の「動作補正情報ID」の「2」のように、「2,3」と複数のIDを記憶することができる。
図19の補正種別決定部23は、人4は、動作情報データベース17の「動作パラメータフラグ」の動作パラメータで記載された方向別のそれぞれの位置若しくは力若しくは速度の補正を行う際に、人4がどのパラメータの種別を補正しているかを決定して、パラメータ種別を出力する。例えば、複数のパラメータを補正して、変化した動作情報の変化量の最も大きい補正種別のパラメータを補正種別決定部23で決定する。変化量とは、元の動作情報に対して何%変化したかを示し、{(変化後の動作情報-変化前の動作情報)/変化前の動作情報}×100で算出する。例えば動作中の速度が、0.3(m/s)である場合に、人4の補正により、速度が0.4(m/s)に変化した場合の変化量は{(0.4-0.3)/0.3}×100となり、変化量は30%となる。さらに速度と共に力の値が4(N)から8(N)に変化した場合の変化量は{(8-4)/4}×100となり、変化量は100%となる。この例では、速度と力の値が変化したが、2つのパラメータのうちの最も変化した方のパラメータは「力」であると、補正種別を補正種別決定部23で決定する。
動作補正部20は、第1実施形態と同様に、人4が、データ入力IF26により、動作情報データベース17の作業の中の「作業ID」に関する作業の中からロボットアーム5に実行させたい作業を選択して、選択情報を動作指令部27に入力して指定する。人4がデータ入力IF26により指定した「作業ID」の作業の作業選択の指令を動作指令部27が受けて、動作指令部27から変更条件設定部82と動作補正部20とに作業選択の指示を行うことにより、作業を選択する(この例では「作業ID」の「1」を選択)。動作情報データベース17の作業の中の選択された作業の「フラグ」により、制御モードを動作補正部20が設定する。そして、設定した制御モードで動作するように、制御パラメータ管理部21へ動作補正部20から指令を出す。人4が補正開始の指示をデータ入力IF26により動作指令部27へ入力すると、動作指令部27を介して動作補正部20は、動作情報データベース17の「補正パラメータフラグ」により制御モードを設定し、設定した制御モードで動作するよう制御パラメータ管理部21へ指令を出す。人4が補正を開始した時点から終了する時点までのロボットアーム5の手先にかかる力とロボットアーム5の手先位置及び姿勢を、ある一定時間毎(例えば0.2秒毎)に動作補正部20で取得する。具体例として、動作補正部20で取得したデータを図21に示す。人4がz軸成分の力を補正して、かき混ぜるとき鍋3の底をもう少し強くこするようにロボットアーム5の動作を補正したい場合、人4はロボットアーム5を把持して鍋3の底に向かって、強めに力をかける。その際に、xy平面(鍋底面沿いの平面)の動作(具体的には、位置に関する情報)は補正するつもりがないのに、xy平面のxの位置又はyの位置を変更してしまったり、xの位置とyの位置とは同じだが、速度が遅くなるように補正してしまう場合(具体的には動作情報の「時間」が大きくなる)がある。そのような誤操作による誤った補正を防ぐために、補正種別決定部23で決定した補正種別について、動作補正方法データベース18に記憶された「補正方法」で補正を行う。具体的には、図20の「補正方法」の欄に記載された補正方法(図20では「補正」)で補正する。例えば、補正種別決定部23で、力、位置、速度(位置は変化せず時間のみ変化する場合)のうち、力を補正すべきパラメータとして決定した場合、力のパラメータについて、図20の「補正方法」の欄に記載された補正方法(図20では「補正」)で補正する。なお、この例では、補正種別決定部23は、作業IDではなく、動作ID毎に種別を決定することができるために、作業の動作ID毎に補正すべきパラメータの種別を切り替えながら補正することが可能である。
本発明の第5実施形態における、ロボットアームの制御装置の基本的な構成は、第1実施形態の場合と同様であるので、共通部分の説明は省略し、異なる部分についてのみ以下、詳細に説明する。
図22は、動作補正情報データベース18を示す。動作補正情報を識別するIDである動作補正情報ID番号(図22の「動作補正情報ID」の欄参照)と、補正区間に関する情報(図22の「補正区間」の欄参照)であり、人4が力を加えて補正した動作の偏りの有無に関する情報(図22の「偏りの有無」の欄参照:ここで、「1」の場合は偏り有り、「0」の場合は偏り無し)と、動作情報の補正方法に関する情報(図22の「補正方法」の欄参照)と、「動作補正情報ID」で示されたIDの動作補正情報をどの作業に適応するかを識別するための識別番号である「作業ID」(図22の「作業ID」の欄参照)とを有するように構成される。「作業ID」は、動作情報データベース17の「作業ID」のいずれかの値であり、複数の作業に適応する補正情報である場合には、図22の「動作補正情報ID」の「2」のように、「2,3」と複数のIDを記憶することができる。
動作補正部20は、第1実施形態と同様に、人4が、データ入力IF26により、動作情報データベース17の作業の中の「作業ID」に関する作業の中からロボットアーム5に実行させたい作業を選択して、選択情報を動作指令部27に入力して指定する。人4がデータ入力IF26により指定した「作業ID」の作業の作業選択の指令を動作指令部27が受けて、動作指令部27から変更条件設定部82と動作補正部20とに作業選択の指示を行うことにより、作業を選択する。動作情報データベース17の作業の中の選択された作業の「フラグ」により制御モードを動作補正部20が設定する。そして、設定した制御モードで動作するように、制御パラメータ管理部21へ動作指令部27から指令を出す。人4が補正開始の指示をデータ入力IF26により動作指令部27へ入力すると、動作指令部27を介して動作補正部20は、動作情報データベース17の「補正パラメータフラグ」により制御モードを設定し、設定した制御モードで動作するよう制御パラメータ管理部21へ指令を出す。人4が補正を開始した時点から終了する時点までのロボットアーム5の手先にかかる力とロボットアーム5の手先位置及び姿勢を、ある一定時間毎(例えば0.2秒毎)に変更条件設定部82で取得する。具体例として、変更条件設定部82取得したデータを図23Aに示す。図23Aにおいて、「ID」は、変更条件設定部82で取得した各データを識別する識別番号を表し、「位置姿勢」は、変更条件設定部82で取得したロボットアーム5の手先の位置及び姿勢を表し、「力」は、変更条件設定部82で取得したロボットアーム5にかかる力を表し、「時間」は、人4が補正を開始した時点を0とし、その時点からの相対時間を表す。
本発明の第6実施形態における、ロボットアームの制御装置の基本的な構成は、第1実施形態の場合と同様であるので、共通部分の説明は省略し、異なる部分についてのみ以下、詳細に説明する。
図24は、動作補正情報データベース18を示す。動作補正情報を識別するIDである動作補正情報ID番号(図24の「動作補正情報ID」の欄参照)と、補正区間に関する情報(図24の「補正区間」の欄参照)であり、人4が力を加えて補正した動作の繰り返しの有無に関する情報(図24の「繰り返しの有無」の欄参照:ここで、「1」の場合は繰り返し有り、「0」の場合は繰り返し無し)と、動作情報の補正方法に関する情報(図24の「補正方法」の欄参照)と、「動作補正情報ID」で示されたIDの動作補正情報をどの作業に適応するかを識別するための識別番号である「作業ID」(図24の「作業ID」の欄参照)とを有するように構成される。「作業ID」は、動作情報データベース17の「作業ID」のいずれかの値であり、複数の作業に適応する補正情報である場合には図24の「動作補正情報ID」の「2」のように、「1,3」と複数のIDを記憶することができる。
動作補正部20は、第1実施形態と同様に、人4が、データ入力IF26により、動作情報データベース17の作業の中の「作業ID」に関する作業の中からロボットアーム5に実行させたい作業を選択して、選択情報を動作指令部27に入力して指定する。人4がデータ入力IF26により指定した「作業ID」の作業の作業選択の指令を動作指令部27が受けて、動作指令部27から変更条件設定部82と動作補正部20とに作業選択の指示を行うことにより、作業を選択する。動作情報データベース17の作業の中の選択された作業の「フラグ」により制御モードを動作補正部20が設定する。そして、設定した制御モードで動作するように、制御パラメータ管理部21へ動作指令部27から指令を出す。人4が補正開始の指示をデータ入力IF26により動作指令部27へ入力すると、動作指令部27を介して動作補正部20は、動作情報データベース17の「補正パラメータフラグ」により制御モードを設定し、設定した制御モードで動作するよう制御パラメータ管理部21へ指令を出す。人4が補正を開始した時点から終了する時点までのロボットアーム5の手先位置及び姿勢を、ある一定時間毎(例えば0.2秒毎)に変更条件設定部82で取得する。具体例として、取得したデータを図25Aに示す。図25Aにおいて、「ID」は、変更条件設定部82で取得した各データを識別する識別番号を表し、「位置姿勢」は、変更条件設定部82で取得したロボットアーム5の手先の位置及び姿勢を表し、「時間」は、人4が補正を開始した時点を0とし、その時点からの相対時間を表す。
本発明の第7実施形態における、ロボットアームの制御装置の基本的な構成は、第1実施形態の場合と同様であるので、共通部分の説明は省略し、異なる部分についてのみ以下、詳細に説明する。
図28は、動作補正情報データベース18を示す。動作補正情報を識別するIDである動作補正情報ID番号(図28の「動作補正情報ID」の欄参照)と、補正区間に関する情報(図28の「補正区間」の欄参照)であり、不満区間検出のための情報(図28の「不満区間」の欄参照)である、操作時間に関する情報(図28の「時間」の欄参照)と、操作回数の上限値(上限閾値)に関する情報(図28の「回数(上限)」の欄参照)と、操作回数の下限値(下限閾値)に関する情報(図28の「回数(下限)」の欄参照)と、人4が操作した位置及び姿勢が補正前から変化しており、その変化値の閾値(変化用の閾値)に関する情報(図28の「可動範囲外の総数」の欄参照)である。ここで、変化値とは、操作前後の変化の度合い(どれくらい位置及び姿勢が変化したか)を示す値である。さらに、動作情報の補正方法に関する情報(図28の「補正方法」の欄参照)と、「動作補正情報ID」で示されたIDの動作補正情報をどの作業に適応するかを識別するための識別番号である「作業ID」(図28の「作業ID」の欄参照)とを有するように構成される。「作業ID」は、動作情報データベース17の「作業ID」のいずれかの値であり、複数の作業に適応する補正情報である場合には図28の「動作補正情報ID」の「2」のように、「2,3」と複数のIDを記憶することができる。
動作補正部20は、第1実施形態と同様に、人4が、データ入力IF26により、動作情報データベース17の作業の中の「作業ID」に関する作業の中からロボットアーム5に実行させたい作業を選択して、選択情報を動作指令部27に入力して指定する。人4がデータ入力IF26により指定した「作業ID」の作業の作業選択の指令を動作指令部27が受けて、動作指令部27から変更条件設定部82と動作補正部20とに作業選択の指示を行うことにより、作業を選択する。動作情報データベース17の作業の中の選択された作業の「フラグ」により制御モードを動作補正部20が設定する。そして、設定した制御モードで動作するように、制御パラメータ管理部21へ動作指令部27から指令を出す。人4が補正開始の指示をデータ入力IF26により動作指令部27へ入力すると、動作指令部27を介して動作補正部20は、動作情報データベース17の「補正パラメータフラグ」により制御モードを設定し、設定した制御モードで動作するよう制御パラメータ管理部21へ指令を出す。人4が補正を開始した時点から終了する時点までのロボットアーム5の手先位置及び姿勢を、ある一定時間毎(例えば0.2秒毎)に変更条件設定部82で取得する。具体例として、変更条件設定部82で取得したデータを図39に示す。図39の「操作ID」は、1回目の補正の場合は「1」、2回目の補正では、「2」、3回目の補正の場合は「3」と、動作記憶部15で操作履歴情報データベース19に記憶する。「位置姿勢」は、人4がロボットアーム5の動作の補正を開始した時点から終了する時点までのロボットアーム5の手先位置及び姿勢を表す。「日時」は、ロボットアーム5の手先位置及び力データを取得した日時で、「年/月/日 時:分:秒」と表す。
本発明の第8実施形態における、ロボットアームの制御装置の基本的な構成は、第1実施形態の場合と同様であるので、共通部分の説明は省略し、異なる部分についてのみ以下、詳細に説明する。
図29は、動作補正情報データベース18を示す。動作補正情報を識別するIDである動作補正情報ID番号(図29の「動作補正情報ID」の欄参照)と、補正区間に関する情報(図29の「補正区間」の欄参照)であり、不満区間検出のための情報(図29の「不満区間」の欄参照)である、操作時間に関する情報(図29の「時間」の欄参照)と、操作回数の上限値に関する情報(図29の「回数(上限)」の欄参照)と、操作回数の下限値に関する情報(図29の「回数(下限)」の欄参照)と、人4が加えた力が加える前から変化しており(例えば、人4がロボットアームに操作をしてもロボットアームの動作が変化しない場合があるため、人4の操作により、人4の操作前のロボットアームの動作が変化している場合)、その変化値の閾値に関する情報(図29の「力変化の閾値」の欄参照)である。さらに動作情報の補正方法に関する情報(図29の「補正方法」の欄参照)と、「動作補正情報ID」で示されたIDの動作補正情報をどの作業に適応するかを識別するための識別番号である「作業ID」(図29の「作業ID」の欄参照)とを有するように構成される。「作業ID」は、動作情報データベース17の「作業ID」のいずれかの値であり、複数の作業に適応する補正情報である場合には図29の「動作補正情報ID」「2」のように、「2,3」と複数のIDを記憶することができる。
動作補正部20は、第1実施形態と同様に、人4が、データ入力IF26により、動作情報データベース17の作業の中の「作業ID」に関する作業の中からロボットアーム5に実行させたい作業を選択して、選択情報を動作指令部27に入力して指定する。人4がデータ入力IF26により指定した「作業ID」の作業の作業選択の指令を動作指令部27が受けて、動作指令部27から変更条件設定部82と動作補正部20とに作業選択の指示を行うことにより、作業を選択する。動作情報データベース17の作業の中の選択された作業の「フラグ」により制御モードを動作補正部20が設定する。そして、設定した制御モードで動作するように、制御パラメータ管理部21へ動作補正部20から指令を出す。人4が補正開始の指示をデータ入力IF26により動作指令部27へ入力すると、動作指令部27を介して動作補正部20は、動作情報データベース17の「補正パラメータフラグ」により制御モードを設定し、設定した制御モードで動作するよう制御パラメータ管理部21へ指令を出す。人4が補正を開始した時点から終了する時点までのロボットアーム5の手先位置及び姿勢、人4が加えた力をある一定時間毎(例えば0.2秒毎)に変更条件設定部82で取得する。補正の開始した時点から終了するまでの時点のデータを識別するために、「操作ID」という番号を付与して記憶する。
本発明の第9実施形態における、ロボットアームの制御装置の基本的な構成は、第1実施形態の場合と同様であるので、共通部分の説明は省略し、異なる部分についてのみ以下、詳細に説明する。
図33は、動作補正情報データベース18を示す。動作補正情報を識別するIDである動作補正情報ID番号(図33の「動作補正情報ID」の欄参照)と、補正区間(図33の「補正区間」の欄参照)に関する情報であり、不満区間検出のための情報(図33の「不満区間」の欄参照)である、操作時間に関する情報(図33の「時間」の欄参照)と、操作回数の上限値に関する情報(図33の「回数(上限)」の欄参照)と、操作回数の下限値に関する情報(図33の「回数(下限)」の欄参照)と、人4が操作した速度が補正前から変化しており、その変化値の閾値に関する情報(図33の「速度変化の閾値」の欄参照)(速度用の閾値)である。さらに動作情報の補正方法に関する情報(図33の「補正方法」の欄参照)と、「動作補正情報ID」で示されたIDの動作補正情報をどの作業に適応するかを識別するための識別番号である「作業ID」(図33の「作業ID」の欄参照)とを有するように構成される。「作業ID」は、動作情報データベース17の「作業ID」のいずれかの値であり、複数の作業に適応する補正情報である場合には図33の「動作補正情報ID」「2」のように、「2,3」と複数のIDを記憶することができる。
動作補正部20は、第1実施形態と同様に、人4が、データ入力IF26により、動作情報データベース17の作業の中の「作業ID」に関する作業の中からロボットアーム5に実行させたい作業を選択して、選択情報を動作指令部27に入力して指定する。人4がデータ入力IF26により指定した「作業ID」の作業の作業選択の指令を動作指令部27が受けて、動作指令部27から変更条件設定部82と動作補正部20とに作業選択の指示を行うことにより、作業を選択する。動作情報データベース17の作業の中の選択された作業の「フラグ」により制御モードを動作補正部20が設定する。そして、設定した制御モードで動作するように、制御パラメータ管理部21へ動作指令部27から指令を出す。人4が補正開始の指示をデータ入力IF26により動作指令部27へ入力すると、動作指令部27を介して動作補正部20は、動作情報データベース17の「補正パラメータフラグ」により制御モードを設定し、設定した制御モードで動作するよう制御パラメータ管理部21へ指令を出す。人4が補正を開始した時点から終了する時点までのロボットアーム5の手先位置及び姿勢を、ある一定時間毎(例えば0.2秒毎)に変更条件設定部82で取得する。補正の開始した時点から終了するまでの時点のデータを識別するために、「操作ID」という番号を付与して記憶する。具体例として、変更条件設定部82で取得したデータを図34に示す。図34の「操作ID」と手先の「位置姿勢」と「日時」とは、第8実施形態の場合と同様である。また、取得した図34のデータは、第8実施形態の場合と同様に、操作履歴情報として、図31の動作記憶部15により、操作履歴情報データベース19に記憶される。
本発明の第10実施形態における、ロボットアームの制御装置の基本的な構成は、第1実施形態の場合と同様であるので、共通部分の説明は省略し、異なる部分についてのみ以下、詳細に説明する。
図42の補正履歴情報データベース28には、第1実施形態から第9実施形態のそれぞれの動作補正情報データベース18のうち、補正時にどの実施形態に対応するデータベース18を適応したかを記憶する。言い換えれば、この第10実施形態の動作補正情報データベース18には、第1実施形態から第9実施形態のそれぞれの動作補正情報データベース18の情報が記憶されている。具体的には図43A及び図43Bに示す。図43Aの「動作補正情報ID」と、「補正区間」と、「補正方法」と、「作業ID」とは第2実施形態と同様である。図43Bの「動作補正情報ID」と、「補正区間」と、「補正方法」と、「作業ID」とは第5実施形態と同様である。「適応回数」は、それぞれの動作補正情報のうち、動作補正時に適応した回数である。例えば、動作情報データベース18に、図43Aと図43Bとの両方の動作補正情報を記憶していた場合に、それぞれの動作補正情報の条件に合致して動作補正を行った場合には、変更条件設定部82により、「適応回数」を「1」だけ加算して記憶する。図43Aの「適応回数」が「0」であることから、第2実施形態で説明した、ある閾値以上連続して操作していない区間を削除する補正方法なので、人4は、ある閾値以上連続して操作していることを表す。さらに、図43Bでの「適応回数」は「3」であることから、第5実施形態で説明したロボットアーム5の動作につられて、動作パラメータが偏った箇所の補正方法を適応したことになる。補正履歴情報データベースに28により、人4の操作に対して助言を表示部2に表示する。具体的には、補正履歴情報データベース28の「適応回数」のうち、最も回数の多い動作補正情報に関する情報と、その動作補正情報に関する、人4の操作に関する助言を表示部2に動作補正部20で表示する。表示部2の具体例を図44に示す。表示部2を左右の2画面で表示し、左側の図44の(a)の画面に、動作情報で記述されたロボットアーム5の動作が映像若しくは写真若しくはテキストで表示される。さらに、右側の図44の(b)の画面には、最も回数の多い動作補正情報に関する情報と、その動作補正情報に関する、人4の操作に対する助言に関する情報を映像若しくは写真若しくはテキストで表示する。また、動作補正部20により、表示部2では、動作指令部27で作業を切り替えた場合、又は、補正が終わる時点で、表示する内容を切り替える。なお、この例では、映像若しくは写真、テキストとしたが、動作を説明する音声などでも良い。
本発明の第11実施形態における、ロボットアームの制御装置の基本的な構成は、第1実施形態の場合と同様であるので、共通部分の説明は省略し、異なる部分についてのみ以下、詳細に説明する。
Claims (25)
- ロボットアームの動作を制御して前記ロボットアームによる作業を行うロボットアームの制御装置であって、
前記動作に対応する、前記ロボットアームの位置と姿勢と速度と力のうちの少なくとも1つ以上の時系列の動作情報を取得する動作情報取得部と、
前記動作情報の前記ロボットアームによる補正方法に関する動作補正情報を取得する動作補正情報取得部と、
前記ロボットアームを前記動作情報に基づいて動作するとともに、前記ロボットアームの動作中に、前記ロボットアームに前記人の力が加えられることにより、前記ロボットアームが前記人の操作により動作を補正できないよう制御する制御モードから前記ロボットアームの動作を前記人の操作により補正できる制御モードに切り替えた後に、前記ロボットアームに加えられた前記人の力と、動作中の前記ロボットアームの前記動作情報と、前記動作補正情報とから、前記人の操作によって前記ロボットアームの動作を変更するときの変更条件を設定する変更条件設定部と、
前記変更条件設定部で設定された前記変更条件に応じて補正が必要な場合に、前記動作情報取得部で取得した前記ロボットアームの位置と姿勢と速度と力のうちの少なくとも1つ以上の前記動作情報を補正する動作補正部とを備えて、
前記動作補正部により補正された前記動作情報に基づいて、前記ロボットアームの前記動作を制御するロボットアームの制御装置。 - 前記動作補正情報取得部は、前記人の前記ロボットアームへの前記人の操作に対する前記動作情報のうち、一部の区間を削除して補正するよう記述された補正方法に関する動作補正情報を取得する、請求項1に記載のロボットアームの制御装置。
- 前記動作補正情報取得部は、人の前記ロボットアームへの前記人の操作に対する前記動作情報のうち、一部の区間を、前記ロボットアームの位置又は速度又は前記ロボットアームに加わる力のうち少なくとも1つ以上の値をアシストして補正するよう記述された補正方法に関する動作補正情報を取得する、請求項1に記載のロボットアームの制御装置。
- 前記ロボットアームに外部から加えられた力を検出する力検出部をさらに備え、
前記動作情報取得部で取得した前記動作情報は、前記ロボットアームが行う前記動作に応じて、それぞれの時間での、前記ロボットアームの手先の位置情報と、前記ロボットアームの姿勢情報と、前記ロボットアームの速度情報と、前記ロボットアームの手先にかかる力の情報とのうちの少なくとも1つの情報であり、
前記動作補正部により、前記変更条件設定部で設定された前記変更条件に応じて補正が必要な場合でかつ前記ロボットアームの動作中に、前記力検出部で検出された前記人の力と、前記動作補正情報とに応じて、前記動作情報取得部で取得した前記動作情報を補正するとき、前記ロボットアームが行う前記動作に応じて、それぞれの時間での前記位置情報又は前記姿勢情報又は前記速度情報又は前記力の情報のうち少なくとも1つ以上の情報を使用して、前記動作情報取得部で取得した前記動作情報を補正する請求項1又は2又は3に記載のロボットアームの制御装置。 - 前記ロボットアームに外部から加えられた力を検出する力検出部をさらに備え、
前記動作情報取得部で取得した前記動作補正情報は、前記人の操作に対する前記動作情報の軌跡について、周期性のある区間を検出して補正する周期性補正方法と、前記人が補正中の動作について、一部の区間を、前記ロボットアームの位置又は速度又は前記ロボットアームに加える力のうち少なくとも1つ以上の値をアシストして補正するかどうかを検出した後に補正するアシスト補正方法のうちの少なくとも1つの情報であり、
前記動作補正部は、前記変更条件設定部で設定された前記変更条件に応じて補正が必要な場合でかつ前記ロボットアームの動作中に、前記力検出部で検出された前記人の力と、前記周期性補正方法と、前記アシスト補正方法とのうち少なくとも1つの情報に応じて、前記動作情報取得部で取得した前記動作情報を補正する請求項3に記載のロボットアームの制御装置。 - 前記ロボットアームに外部から加えられた力を検出する力検出部をさらに備え、
前記動作補正情報取得部で取得した前記動作補正情報は、前記人が前記ロボットアームを操作し始めてからある時間経過した区間と、前記人が前記ロボットアームの操作を終了する直前の区間のうち、少なくとも1つの区間を削除して補正する補正方法であり、
前記動作補正部は、
前記変更条件設定部で設定された前記変更条件に応じて補正が必要な場合でかつ前記ロボットアームの動作中に、前記力検出部で検出された前記人の力と、
(I)前記人が前記ロボットアームを操作し始めてからある時間経過した区間と、
(II)前記人が前記ロボットアームの操作を終了する直前の区間と
のうち、前記(I)及び(II)の少なくとも1つの区間を削除して補正する補正方法により、前記動作情報取得部で取得した前記動作情報を補正し、前記(I)又は(II)の区間の長さは、前記ロボットアームの速度に応じて決定する請求項2に記載のロボットアームの制御装置。 - 前記ロボットアームに外部から加えられた力を検出する力検出部をさらに備え、
前記動作補正情報は、前記人の力が力用の閾値以上でありかつ時間用の閾値以上の時間が継続する区間以外を削除して補正する補正方法であり、
前記動作補正部は、前記変更条件設定部で設定された前記変更条件に応じて補正が必要な場合でかつ前記ロボットアームの前記動作中に、前記力検出部で検出された前記人の力と、前記人の力が前記力用の閾値以上であることが、前記時間用の閾値以上の時間が継続する区間以外を削除して補正する補正方法により、前記動作情報取得部で取得した前記動作情報を補正する請求項2に記載のロボットアームの制御装置。 - 前記ロボットアームに外部から加えられた力を検出する力検出部をさらに備え、
前記動作補正情報は、時間用の閾値以下の時間内で、前記人の力が力用の閾値以上である場合は、その時間内の操作区間を削除して補正する補正方法であり、
前記動作補正部は、前記変更条件設定部で設定された前記変更条件に応じて補正が必要な場合でかつ前記ロボットアームの前記動作中に、前記力検出部で検出された前記人の力と、前記時間用の閾値以下の時間内で、前記人の力が前記力用の閾値以上である場合は、その時間内の操作区間を削除して補正する補正方法により、前記動作情報取得部で取得した前記動作情報を補正する請求項2に記載のロボットアームの制御装置。 - 前記ロボットアームに外部から加えられた力を検出する力検出部と、
前記動作情報取得部で取得した前記動作情報のうち補正の対象となるパラメータの種別を決定する補正方法種別決定部とをさらに備え、
前記動作補正情報は、前記補正方法種別決定部で決定した種別以外のパラメータを削除して補正する補正方法であり、
前記動作補正部は、前記変更条件設定部で設定された前記変更条件に応じて補正が必要な場合でかつ前記ロボットアームの前記動作中に、前記力検出部で検出された前記人の力と、前記補正方法種別決定部で決定した種別以外のパラメータを削除して補正する補正方法により、前記動作情報取得部で取得した前記動作情報を補正する請求項2に記載のロボットアームの制御装置。 - 前記周期性補正方法は、前記ロボットアームの位置又は姿勢又は速度又は力の情報のうちいずれか1つ以上の情報に関して偏りがある区間において、前記偏りがなくなるように
補正する補正方法であり、
前記動作補正部は、前記変更条件設定部で設定された前記変更条件に応じて補正が必要な場合でかつ前記ロボットアームの前記動作中に、前記力検出部で検出された前記人の力と、前記ロボットアームの位置又は姿勢又は速度又は力の情報に関して偏りがある区間において、前記偏りがなくなるように前記ロボットアームの位置及び姿勢の情報を補正する補正方法により、前記動作情報取得部で取得した前記動作情報を補正する請求項5に記載のロボットアームの制御装置。 - 前記周期性補正方法は、前記ロボットアームの位置又は姿勢又は速度又は力の情報に関して周期的に繰り返している区間において、前記繰り返し区間のそれぞれの前記ロボットアームの位置又は姿勢又は速度又は力の情報を平均化するように補正する補正方法であり、
前記動作補正部は、前記変更条件設定部で設定された前記変更条件に応じて補正が必要な場合でかつ前記ロボットアームの前記動作中に、前記力検出部で検出された前記人の力と、前記ロボットアームの位置又は姿勢又は速度又は力の情報に関して規則的に繰り返している区間において、前記繰り返し区間のそれぞれの前記ロボットアームの位置及び姿勢の情報を平均化するように補正する補正方法により、前記動作情報取得部で取得した前記動作情報を補正する請求項5に記載のロボットアームの制御装置。 - 前記アシスト補正方法は、前記人が前記ロボットアームに対する操作回数の下限閾値以上且つ上限閾値以下の回数の操作を継続していて、且つ前記人の操作前後の前記動作情報の位置又は姿勢又は速度又は力に関する情報のいずれか1つ以上の情報において、その値の操作前後の差が閾値以上の場合において、前記動作情報を補正する補正方法であり、
前記動作補正部は、前記変更条件設定部で設定された前記変更条件に応じて補正が必要な場合でかつ前記ロボットアームの前記動作中に、前記力検出部で検出された前記人の力と、前記人が前記下限閾値以上且つ前記上限閾値以下の回数の操作を継続していて、且つ前記人の操作前後の前記動作情報の位置又は姿勢又は速度又は力に関する情報のいずれか1つ以上の情報において、その値の操作前後の差が閾値以上の場合において、前記変化した動作情報を補正する補正方法により、前記動作情報取得部で取得した前記動作情報を補正する請求項5に記載のロボットアームの制御装置。 - 前記アシスト補正方法は、前記人が前記下限閾値以上且つ前記上限閾値以下の回数の操作を継続していて、且つ、前記人の操作前から前記ロボットアームの手先の位置情報が変化しており、且つ変化した前記位置情報が、前記ロボットアームの可動範囲外にある場合の回数が可動範囲用の閾値以上ある場合において、前記位置情報を前記ロボットアームの可動範囲内となるように補正する補正方法であり、
前記動作補正部は、前記変更条件設定部で設定された前記変更条件に応じて補正が必要な場合に、前記人が前記下限閾値以上且つ前記上限閾値以下の回数の操作を継続していて、且つ、操作前から前記ロボットアームの手先の位置情報が変化しており、且つ変化した前記位置情報が、前記ロボットアームの可動範囲外にある場合の回数が前記可動範囲用の閾値以上ある場合において、前記位置情報を前記可動範囲内となるように補正する補正する補正方法により、前記動作情報取得部で取得した前記動作情報を補正する請求項12に記載のロボットアームの制御装置。 - 前記力検出部は、前記ロボットアームの手先にかかる力情報を検出し、
前記アシスト補正方法は、前記人が前記下限閾値以上且つ前記上限閾値以下の回数の操作を継続していて、且つ、前記ロボットアームの前記手先にかかる前記力情報が操作前より操作後に力情報用の閾値以上増加している場合において、前記力情報を増加するように補正する補正方法であり、
前記動作補正部は、前記変更条件設定部で設定された前記変更条件に応じて補正が必要な場合でかつ前記ロボットアームの前記動作中に、前記力検出部で検出された前記人の力と、前記人が前記下限閾値以上且つ前記上限閾値以下の回数の操作を継続していて、且つ、前記ロボットアームの手先にかかる力情報が操作前より操作後に前記力情報用の閾値以上増加している場合において、前記力情報を増加するように補正する補正方法により、前記動作情報取得部で取得した前記動作情報を補正する請求項12に記載のロボットアームの制御装置。 - 前記アシスト補正方法は、前記人が前記下限閾値以上且つ前記上限閾値以下の回数の操作を継続していて、且つ、前記ロボットアームの手先の速度情報が操作前より操作後に速度用の閾値以上増加している場合において、前記速度情報を増加するように補正する補正方法であり、
前記動作補正部は、前記変更条件設定部で設定された前記変更条件に応じて補正が必要な場合でかつ前記ロボットアームの前記動作中に、前記力検出部で検出された前記人の力と、前記人が前記下限閾値以上且つ前記上限閾値以下の回数の操作を継続していて、且つ、前記ロボットアームの手先の速度情報が操作前より操作後に前記速度用の閾値以上増加している場合において、前記速度情報を増加するように補正する補正方法により、前記動作情報取得部で取得した前記動作情報を補正する請求項12に記載のロボットアームの制御装置。 - 前記動作情報取得部で取得した前記動作情報を補正するための値を算出するアシスト値算出部をさらに備え、
前記アシスト値算出部は、前記人が前記ロボットアームを操作した回数に応じて前記値を算出する請求項12に記載のロボットアームの制御装置。 - 前記ロボットアームに外部から加えられた力を検出する力検出部をさらに備え、
前記人が前記ロボットアームに対する操作回数の下限閾値以上の回数の操作を継続している場合は、前記力検出部で検出された前記人の力のみで前記動作情報取得部で取得した前記動作情報を補正する請求項1又は2又は3に記載のロボットアームの制御装置。 - 前記ロボットアームに外部から加えられた力を検出する力検出部をさらに備え、
前記動作補正部は、前記変更条件設定部で設定された前記変更条件に応じて補正が必要な場合に、前記動作情報に基づいて、
(I)前記ロボットアームが動作中に、前記力検出部で検出されたかつ前記ロボットアームに加わる力に応じて前記ロボットアームが作動するハイブリッドインピーダンス制御モードと、
(II)前記力検出部で検出されかつ、停止している前記ロボットアームに対して前記人から前記ロボットアームに加わる力に応じて、前記ロボットアームが作動するインピーダンス制御モードと、さらに、
(III)指定した力を作用させて動作する力制御モードと
の前記3種類の制御モードのうち少なくとも1つ以上の制御モードを前記ロボットアームの関節部の回転軸の方向別に設定するとともに、前記回転軸の方向の少なくとも1つに前記(III)の制御モードが設定して前記ロボットアームを動作させている最中に、前記(III)の制御モードが設定された方向について、前記人の操作時において、前記ロボットアームの動作中に前記人の操作により前記ロボットアームが移動しない制御モードに切り替えて、前記動作情報取得部で取得した前記動作情報のうち前記指定した力を作用させて動作する際の前記力を補正する請求項1又は2又は3に記載のロボットアームの制御装置。 - 前記動作補正部は、前記変更条件設定部で設定された前記変更条件に応じて補正が必要な場合に、前記動作情報に基づいて、
(I)前記ロボットアームが動作中に、前記力検出部で検出されかつ前記ロボットアームに加わる力に応じて前記ロボットアームが作動するハイブリッドインピーダンス制御モードと、
(II)前記力検出部で検出されかつ、停止している前記ロボットアームに対して前記人から前記ロボットアームに加わる力に応じて、前記ロボットアームが作動するインピーダンス制御モードと、さらに、
(III)指定した力を作用させて動作する力制御モードとの
前記3種類の制御モードのうち少なくとも1つ以上の制御モードを前記ロボットアームの関節部の回転軸の方向別に設定するとともに、前記回転軸の方向の少なくとも1つに前記(II)の制御モードが設定して前記ロボットアームを動作させている最中に、前記(I)若しくは(II)の制御モードが設定された方向について、前記人の操作時において、前記動作補正情報に応じて、前記ハイブリッドインピーダンス制御に切り替えて、前記動作情報取得部で取得した前記動作情報を補正する請求項1又は2又は3に記載
のロボットアームの制御装置。 - 前記動作補正部の補正時に適応した前記動作補正情報の履歴に関する情報に基づいて、前記人の操作に対する助言に関する情報を表示する表示部をさらに備える請求項1又は2又は3に記載のロボットアームの制御装置。
- 前記動作補正部は、前記変更条件設定部で設定された前記変更条件に応じて補正が必要な場合に、前記人のロボットアームへの前記人の操作に対する前記動作情報のうち、一部の区間を削除して補正するよう記述された補正方法により、前記動作情報取得部で取得した前記動作情報を補正した後で、前記人の前記ロボットアームへの前記人の操作に対する前記動作情報のうち、一部の区間をアシストして補正するよう補正する請求項1又は2又は3に記載のロボットアームの制御装置。
- ロボットアームの動作を制御して前記ロボットアームによる作業を行うロボットアームの制御方法であって、
前記動作に対応する、前記ロボットアームの位置と姿勢と速度と力のうちの少なくとも1つ以上の時系列の動作情報を動作情報取得部で取得し、
前記動作情報の前記ロボットアームによる補正方法に関する動作補正情報を動作補正情報取得部で取得し、
前記ロボットアームを前記動作情報に基づいて動作するとともに、前記ロボットアームの動作中に、前記ロボットアームに前記人の力が加えられることにより、前記ロボットアームが前記人の操作により動作を補正できないよう制御する制御モードから前記ロボットアームの動作を前記人の操作により補正できる制御モードに切り替えた後に、前記ロボットアームに加えられた前記人の力と、動作中の前記ロボットアームの前記動作情報と、前記動作補正情報とから、前記人の操作によって前記ロボットアームの動作を変更するときの変更条件を変更条件設定部で設定し、
前記変更条件設定部で設定された前記変更条件に応じて補正が必要な場合に、前記動作情報取得部で取得した前記ロボットアームの位置と姿勢と速度と力のうちの少なくとも1つ以上の前記動作情報を動作補正部で補正し、
前記動作補正部により補正された前記動作情報に基づいて、前記ロボットアームの前記動作を制御するロボットアームの制御方法。 - 前記ロボットアームと、
前記ロボットアームの前記動作を制御する請求項1~3のいずれか1つに記載のロボットアームの制御装置を有するロボット。 - ロボットアームの動作を制御して前記ロボットアームによる作業を行うロボットアームの制御プログラムであって、
前記動作に対応する、前記ロボットアームの位置と姿勢と速度と力のうちの少なくとも1つ以上の時系列の動作情報を動作情報取得部で取得するステップと、
前記動作情報の前記ロボットアームによる補正方法に関する動作補正情報を動作補正情報取得部で取得するステップと、
前記ロボットアームを前記動作情報に基づいて動作するとともに、前記ロボットアームの動作中に、前記ロボットアームに前記人の力が加えられることにより、前記ロボットアームが前記人の操作により動作を補正できないよう制御する制御モードから前記ロボットアームの動作を前記人の操作により補正できる制御モードに切り替えた後に、前記ロボットアームに加えられた前記人の力と、動作中の前記ロボットアームの前記動作情報と、前記動作補正情報とから、前記人の操作によって前記ロボットアームの動作を変更するときの変更条件を変更条件設定部で設定するステップと、
前記変更条件設定部で設定された前記変更条件に応じて補正が必要な場合に、前記動作情報取得部で取得した前記ロボットアームの位置と姿勢と速度と力のうちの少なくとも1つ以上の前記動作情報を補正するステップと、
前記動作補正部により補正された前記動作情報に基づいて、前記ロボットアームの前記動作を制御するステップとをコンピュータに実行させるためのロボットアームの制御プログラム。 - ロボットアームの動作を制御して前記ロボットアームによる作業を行うロボットアームを制御する集積電子回路であって、
前記動作に対応する、前記ロボットアームの位置と姿勢と速度と力のうちの少なくとも1つ以上の時系列の動作情報を動作情報取得部で取得し、
前記動作情報の前記ロボットアームによる補正方法に関する動作補正情報を動作補正情報取得部で取得し、
前記ロボットアームを前記動作情報に基づいて動作するとともに、前記ロボットアームの動作中に、前記ロボットアームに前記人の力が加えられることにより、前記ロボットアームが前記人の操作により動作を補正できないよう制御する制御モードから前記ロボットアームの動作を前記人の操作により補正できる制御モードに切り替えた後に、前記ロボットアームに加えられた前記人の力と、動作中の前記ロボットアームの前記動作情報と、前記動作補正情報とから、前記人の操作によって前記ロボットアームの動作を変更するときの変更条件を変更条件設定部で設定し、
前記変更条件設定部で設定された前記変更条件に応じて補正が必要な場合に、前記動作情報取得部で取得した前記ロボットアームの位置と姿勢と速度と力のうちの少なくとも1つ以上の前記動作情報を動作補正部で補正し、
前記動作補正部により補正された前記動作情報に基づいて、前記ロボットアームの前記動作を制御するロボットアームの集積電子回路。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201080001842.9A CN102066057A (zh) | 2009-01-22 | 2010-01-20 | 机器人手臂的控制装置及控制方法、机器人、机器人手臂的控制程序及集成电子电路 |
US12/920,373 US20110015787A1 (en) | 2009-01-22 | 2010-01-20 | Control apparatus and control method for robot arm, robot, control program for robot arm, and integrated electronic circuit |
JP2010509617A JP4584354B2 (ja) | 2009-01-22 | 2010-01-20 | ロボットアームの制御装置及び制御方法、ロボット、ロボットアームの制御プログラム、並びに、集積電子回路 |
EP10733351A EP2390064A4 (en) | 2009-01-22 | 2010-01-20 | APPARATUS AND METHOD FOR CONTROLLING A ROBOT ARM, ROBOT, PROGRAM FOR CONTROLLING A ROBOT ARM, AND INTEGRATED ELECTRONIC CIRCUIT |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009-011810 | 2009-01-22 | ||
JP2009011810 | 2009-01-22 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2010084743A1 true WO2010084743A1 (ja) | 2010-07-29 |
Family
ID=42355800
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2010/000293 WO2010084743A1 (ja) | 2009-01-22 | 2010-01-20 | ロボットアームの制御装置及び制御方法、ロボット、ロボットアームの制御プログラム、並びに、集積電子回路 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20110015787A1 (ja) |
EP (1) | EP2390064A4 (ja) |
JP (2) | JP4584354B2 (ja) |
CN (1) | CN102066057A (ja) |
WO (1) | WO2010084743A1 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107962563A (zh) * | 2016-10-20 | 2018-04-27 | 精工爱普生株式会社 | 控制装置、机器人以及机器人*** |
CN115237111A (zh) * | 2021-04-25 | 2022-10-25 | 广东博智林机器人有限公司 | 导航控制方法、装置、铺贴机器人以及存储介质 |
Families Citing this family (38)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9052710B1 (en) * | 2009-03-20 | 2015-06-09 | Exelis Inc. | Manipulation control based upon mimic of human gestures |
JP5583282B2 (ja) * | 2011-08-24 | 2014-09-03 | パナソニック株式会社 | ロボットアームの制御装置及び制御方法、ロボット、ロボットアームの制御プログラム、並びに、集積電子回路 |
JP5516610B2 (ja) * | 2012-01-19 | 2014-06-11 | 株式会社安川電機 | ロボット、ロボットハンドおよびロボットハンドの保持位置調整方法 |
EP2856210B1 (en) | 2012-05-29 | 2018-04-25 | Sun Nuclear Corporation | Method and system for calorimetry probe |
US9092698B2 (en) | 2012-06-21 | 2015-07-28 | Rethink Robotics, Inc. | Vision-guided robots and methods of training them |
KR101383726B1 (ko) * | 2012-12-17 | 2014-04-08 | 현대자동차(주) | 로봇의 민감도 향상방법 |
JP5893664B2 (ja) * | 2014-04-14 | 2016-03-23 | ファナック株式会社 | 作用された力に応じて移動されるロボットを制御するロボット制御装置 |
DE102014216514B3 (de) * | 2014-08-20 | 2015-09-10 | Kuka Roboter Gmbh | Verfahren zum Programmieren eines Industrieroboters und zugehöriger Industrieroboter |
US9676097B1 (en) * | 2014-11-11 | 2017-06-13 | X Development Llc | Systems and methods for robotic device authentication |
EP3233186B1 (en) | 2014-12-19 | 2018-11-21 | Sun Nuclear Corporation | Radiation therapy dose calculation |
JP5927284B1 (ja) * | 2014-12-22 | 2016-06-01 | ファナック株式会社 | 人との接触力を検出してロボットを停止させるロボット制御装置 |
JP6034895B2 (ja) * | 2015-02-20 | 2016-11-30 | ファナック株式会社 | 外力に応じてロボットを退避動作させる人間協調ロボットシステム |
WO2017020734A1 (zh) * | 2015-08-04 | 2017-02-09 | 北京进化者机器人科技有限公司 | 一种多功能家庭服务机器人 |
US10617891B2 (en) | 2015-04-23 | 2020-04-14 | Sun Nuclear Corporation | Radiation detector calibration |
US10456910B2 (en) * | 2016-01-14 | 2019-10-29 | Purdue Research Foundation | Educational systems comprising programmable controllers and methods of teaching therewith |
EP3490672B1 (en) | 2016-07-28 | 2021-03-03 | Sun Nuclear Corporation | Beam angle direction determination |
JP6698007B2 (ja) * | 2016-12-20 | 2020-05-27 | 株式会社クボタ | 自動走行作業車 |
JP6851837B2 (ja) * | 2017-01-20 | 2021-03-31 | キヤノン株式会社 | 制御装置、ロボットシステム、制御方法、プログラム、記録媒体及び物品の製造方法 |
WO2018160763A1 (en) | 2017-02-28 | 2018-09-07 | Sun Nuclear Corporation | Radiation therapy treatment verification with electronic portal imaging device transit images |
CN106891326B (zh) * | 2017-03-22 | 2019-07-16 | 南京航空航天大学 | 一种机器人示教方法 |
US10509415B2 (en) * | 2017-07-27 | 2019-12-17 | Aurora Flight Sciences Corporation | Aircrew automation system and method with integrated imaging and force sensing modalities |
CN107717996B (zh) * | 2017-11-14 | 2018-08-24 | 北京镁伽机器人科技有限公司 | 具有测距停止功能的多关节机器人和测距停止方法 |
CN108068115B (zh) * | 2017-12-30 | 2021-01-12 | 福建铂格智能科技股份公司 | 一种基于视觉反馈的并联机器人位置闭环校准算法 |
JP7091777B2 (ja) | 2018-03-30 | 2022-06-28 | 株式会社安川電機 | ロボットシステム及び制御方法 |
JP7135437B2 (ja) * | 2018-05-22 | 2022-09-13 | セイコーエプソン株式会社 | ロボットシステムの制御方法及びロボットシステム |
US11278744B2 (en) | 2018-09-28 | 2022-03-22 | Sun Nuclear Corporation | Systems and methods to account for tilt of a radiation measurement system |
CN109062032B (zh) * | 2018-10-19 | 2021-08-31 | 江苏省(扬州)数控机床研究院 | 一种基于近似动态逆的机器人pid变阻抗控制方法 |
JP7053443B2 (ja) * | 2018-12-07 | 2022-04-12 | ファナック株式会社 | 操作装置にて手動操作を行うロボットの制御装置 |
CN109822567B (zh) * | 2019-01-21 | 2021-05-04 | 深圳镁伽科技有限公司 | 运动参数的处理方法、装置和***及存储介质 |
EP3699832A1 (en) * | 2019-02-19 | 2020-08-26 | Tata Consultancy Services Limited | Systems and methods for optimizing scheduling of non-preemptive tasks in multi-robotic environment |
JP6721922B1 (ja) * | 2019-04-23 | 2020-07-15 | Arithmer株式会社 | 指定データ生成装置、指定データ生成方法、および指定データ生成プログラム |
JP7339776B2 (ja) * | 2019-05-28 | 2023-09-06 | 川崎重工業株式会社 | 制御システム、機械装置システム及び制御方法 |
EP3747604B1 (en) * | 2019-06-07 | 2022-01-26 | Robert Bosch GmbH | Robot device controller, robot device arrangement and method for controlling a robot device |
US12011616B2 (en) | 2019-07-10 | 2024-06-18 | Sun Nuclear Corporation | Image-based radiation therapy quality assurance |
US11600004B2 (en) | 2019-07-10 | 2023-03-07 | Sun Nuclear Corporation | Image-based radiation therapy quality assurance |
US11378700B2 (en) | 2019-07-10 | 2022-07-05 | Sun Nuclear Corporation | Scintillator-based radiation therapy quality assurance |
CN114536327A (zh) * | 2022-01-24 | 2022-05-27 | 四川广目科技有限公司 | 一种基于ros***的智能工业机械臂驱动*** |
KR20240007812A (ko) * | 2022-07-07 | 2024-01-17 | 현대자동차주식회사 | 중량물 정밀 조립 장치 및 제어방법 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS59157715A (ja) | 1983-02-25 | 1984-09-07 | Hitachi Ltd | ロボツトの直接教示方法 |
JP2004148466A (ja) * | 2002-10-31 | 2004-05-27 | Yaskawa Electric Corp | ロボット制御装置 |
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 | 家事支援ロボットアームの移動制御システムおよび移動制御方法および移動制御プログラム |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02250782A (ja) * | 1989-03-20 | 1990-10-08 | Fanuc Ltd | 産業用ロボットの手動介入方式 |
IL120889A (en) * | 1997-05-22 | 1998-10-30 | Eshed Robotec 1982 Ltd | Method and facility for direct learning of vending machines |
JPH11277468A (ja) * | 1998-03-30 | 1999-10-12 | Denso Corp | ロボットの制御装置 |
JP3110403B2 (ja) * | 1998-11-16 | 2000-11-20 | 技術研究組合医療福祉機器研究所 | マスタスレーブマニピュレータ装置の制御方法とマニピュレータ操作入力のトレーニング方法 |
US6204620B1 (en) * | 1999-12-10 | 2001-03-20 | Fanuc Robotics North America | Method of controlling an intelligent assist device |
US6285920B1 (en) * | 2000-02-18 | 2001-09-04 | Fanuc Robotics North America | Method of robot teaching with motion constraints |
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 |
US7440807B2 (en) * | 2003-02-14 | 2008-10-21 | The Ritsumeikan Trust | Control system provided with virtual power monitor and thereby provided with function of evaluating and analyzing stability of object to be controlled |
US20060253223A1 (en) * | 2003-12-30 | 2006-11-09 | Vanderbilt University | Robotic trajectories using behavior superposition |
US7979160B2 (en) * | 2007-07-31 | 2011-07-12 | Spirit Aerosystems, Inc. | System and method for robotic accuracy improvement |
US20100256812A1 (en) * | 2008-08-08 | 2010-10-07 | Yuko Tsusaka | Control device and control method for cleaner, cleaner, control program for cleaner, and integrated electronic circuit |
WO2010079564A1 (ja) * | 2009-01-09 | 2010-07-15 | パナソニック株式会社 | ロボットアームの制御装置及び制御方法、ロボット、ロボットアームの制御プログラム、並びに、集積電子回路 |
JP4759660B2 (ja) * | 2009-08-21 | 2011-08-31 | パナソニック株式会社 | ロボットアーム制御用の装置、方法、プログラム及び集積電子回路、並びに、組立ロボット |
-
2010
- 2010-01-20 EP EP10733351A patent/EP2390064A4/en not_active Withdrawn
- 2010-01-20 US US12/920,373 patent/US20110015787A1/en not_active Abandoned
- 2010-01-20 JP JP2010509617A patent/JP4584354B2/ja not_active Expired - Fee Related
- 2010-01-20 CN CN201080001842.9A patent/CN102066057A/zh active Pending
- 2010-01-20 WO PCT/JP2010/000293 patent/WO2010084743A1/ja active Application Filing
- 2010-07-14 JP JP2010159300A patent/JP5325843B2/ja not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS59157715A (ja) | 1983-02-25 | 1984-09-07 | Hitachi Ltd | ロボツトの直接教示方法 |
JP2004148466A (ja) * | 2002-10-31 | 2004-05-27 | Yaskawa Electric Corp | ロボット制御装置 |
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 | 家事支援ロボットアームの移動制御システムおよび移動制御方法および移動制御プログラム |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107962563A (zh) * | 2016-10-20 | 2018-04-27 | 精工爱普生株式会社 | 控制装置、机器人以及机器人*** |
CN115237111A (zh) * | 2021-04-25 | 2022-10-25 | 广东博智林机器人有限公司 | 导航控制方法、装置、铺贴机器人以及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
JP5325843B2 (ja) | 2013-10-23 |
EP2390064A1 (en) | 2011-11-30 |
JP2010234521A (ja) | 2010-10-21 |
EP2390064A4 (en) | 2013-03-27 |
JPWO2010084743A1 (ja) | 2012-07-19 |
JP4584354B2 (ja) | 2010-11-17 |
CN102066057A (zh) | 2011-05-18 |
US20110015787A1 (en) | 2011-01-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5325843B2 (ja) | ロボットアームの制御装置及び制御方法、ロボット、ロボットアームの制御プログラム、並びに、集積電子回路 | |
JP4568795B2 (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 | |
JP4531126B2 (ja) | ロボットアームの制御装置及び制御方法、ロボット、ロボットアームの制御プログラム、及びロボットアーム制御用集積電子回路 | |
WO2011021375A1 (ja) | ロボットアームの制御装置及び制御方法、組立ロボット、ロボットアームの制御プログラム、及び、ロボットアームの制御用集積電子回路 | |
CN102229147B (zh) | 机器手控制装置及控制方法、机器人 | |
WO2010016210A1 (ja) | 掃除機の制御装置及び制御方法、掃除機、掃除機の制御プログラム、及び、集積電子回路 | |
JPWO2009004772A1 (ja) | ロボットアームの制御装置及び制御方法、ロボット、及び制御プログラム | |
JP7165951B2 (ja) | ロボットの制御方法 | |
WO2011021376A1 (ja) | ロボットアームの制御装置及び制御方法、家事ロボット、ロボットアームの制御プログラム、及び、ロボットアーム制御用集積電子回路 | |
JP2011000674A (ja) | ロボット制御装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WWE | Wipo information: entry into national phase |
Ref document number: 201080001842.9 Country of ref document: CN |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2010509617 Country of ref document: JP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 12920373 Country of ref document: US |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 10733351 Country of ref document: EP Kind code of ref document: A1 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2010733351 Country of ref document: EP |
|
NENP | Non-entry into the national phase |
Ref country code: DE |