WO2009098855A1 - ロボット、ロボットの制御装置及び制御方法、並びに、ロボットの制御装置の制御プログラム - Google Patents

ロボット、ロボットの制御装置及び制御方法、並びに、ロボットの制御装置の制御プログラム Download PDF

Info

Publication number
WO2009098855A1
WO2009098855A1 PCT/JP2009/000382 JP2009000382W WO2009098855A1 WO 2009098855 A1 WO2009098855 A1 WO 2009098855A1 JP 2009000382 W JP2009000382 W JP 2009000382W WO 2009098855 A1 WO2009098855 A1 WO 2009098855A1
Authority
WO
WIPO (PCT)
Prior art keywords
force
robot
hand
control
robot arm
Prior art date
Application number
PCT/JP2009/000382
Other languages
English (en)
French (fr)
Inventor
Mayumi Komatsu
Yasunao Okazaki
Original Assignee
Panasonic Corporation
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Panasonic Corporation filed Critical Panasonic Corporation
Priority to JP2009543298A priority Critical patent/JP4445038B2/ja
Priority to CN200980101178.2A priority patent/CN101952087B/zh
Publication of WO2009098855A1 publication Critical patent/WO2009098855A1/ja
Priority to US12/712,441 priority patent/US8024071B2/en

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/0003Home robots, i.e. small robots for domestic use
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • B25J13/085Force or torque sensors
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/1633Programme controls characterised by the control loop compliant, force, torque control, e.g. combined with position control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • B25J9/1682Dual arm manipulator; Coordination of several manipulators
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/36Nc in input of data, input key till input tape
    • G05B2219/36433Position assisted teaching

Definitions

  • the present invention relates to a robot, a robot control device and a control method, and a control program for a robot control device when a person and a robot work together (cooperative work).
  • a device As an example of a robotic device, a device has been proposed in which a person and a robot arm cooperate to carry an object. Among them, a technique has been proposed that controls the rotational motion of the hand so that the rotational force in the hand of the hand of the robot arm becomes zero, while controlling the translational motion of the hand in the vertical direction so that the object remains horizontal. (See Patent Document 1)
  • Patent Document 1 realizes cooperative transport when the mass of an object, which has been a problem in the past, is unknown or changes in the middle.
  • the robot arm 101 moves up and down so as to keep the object 103A to be transported horizontal regardless of the force acting on the robot arm 101. Therefore, when there is another object 103B under the object 103A to be transported and the person 103A is trying to lower the object 103A being transported, even if the objects 103A and 103B come into contact with each other, the robot arm 101 A phenomenon may occur that attempts to move down. Therefore, as shown in FIGS. 13A and 13B, the objects 103 ⁇ / b> A and 103 ⁇ / b> B are pressed against each other and damaged, or an excessive load is generated on the robot arm 101.
  • the object of the present invention has been made in view of such a problem, and when a person and a robot arm cooperate to carry an object, the weight of the object to be carried is unknown or the weight is halfway.
  • a safe robot that can be transported even if it changes, and that does not push objects against each other more than necessary even when there are other objects under the robot arm or the object being transported
  • the present invention is configured as follows.
  • a robot arm and a hand arranged at a tip of the robot arm, and an object located between the person and the robot is moved between the person and the hand.
  • a robot that cooperates to carry the object in a held state,
  • a drive unit for adjusting the angle of the hand;
  • a force detector that detects and outputs a force acting between the object and the hand;
  • An angle detector that detects and outputs the angle of the hand;
  • a robot is provided that includes a control unit that performs force control for controlling the vertical force of the robot arm to be a predetermined force based on the output of the angle detection unit and the output of the force detection unit.
  • an object positioned between a person and a robot having a robot arm and a hand arranged at the end of the robot arm is held by the person and the hand.
  • An input section; Control of a robot comprising a control unit that performs force control for controlling the vertical force of the robot arm to be a predetermined force based on the force information of the force detection unit and the angle information of the angle detection unit Providing equipment.
  • the object positioned between a person and a robot having a robot arm and a hand arranged at the end of the robot arm is transported in cooperation with the person and the hand holding the object.
  • a robot control method for controlling the robot The force information detected from the force detection unit that detects the force acting between the object and the hand and the angle information detected from the angle detection unit that detects the angle of the hand that is angle-adjusted by the drive unit are input.
  • a robot control method in which a control unit performs force control for controlling the vertical force of the robot arm to be a predetermined force based on the force information of the force detector and the angle information of the angle detector. provide.
  • the object positioned between a person and a robot having a robot arm and a hand arranged at the end of the robot arm is transported in cooperation with the person and the hand holding the object.
  • a robot control program for controlling the robot On the computer, The force information detected from the force detection unit that detects the force acting between the object and the hand and the angle information detected from the angle detection unit that detects the angle of the hand that is angle-adjusted by the drive unit are input. Functions Based on the force information of the force detection unit and the angle information of the angle detection unit, the control unit realizes a function of performing force control for controlling the vertical force of the robot arm to be a predetermined force.
  • a control program for a robot control device is provided. With such a configuration, it is possible to realize control of a robot that carries an object in cooperation with a robot arm and a person by estimating the carrying force of the person regardless of the weight of the object to be carried.
  • the robot control device and the control method, and the robot control device control program of the present invention in the case where the robot arm of the robot cooperates with a person to carry an object.
  • the control unit estimates the force applied by the person to the object in the vertical direction while assisting the weight of the object. Since the control unit performs vertical force control based on the estimated force, even if the weight of the object is unknown or the weight of the object changes midway, the robot arm and the person are not measured without measuring the weight of the object.
  • Robot control that can carry objects in cooperation with can be realized.
  • the force that the person is trying to carry is estimated from the force generated at the hand of the robot arm and the hand angle, and at the same time, the force control in the vertical direction is performed based on the force generated at the hand of the robot arm. This makes it possible to perform safe robot control that does not force the object being transported when it interferes with other objects underneath.
  • FIG. 1 is a diagram showing an outline of a configuration of a robot system in one embodiment of the present invention.
  • FIG. 2 is a diagram showing a detailed configuration of a robot control device and a robot arm that is a control target that constitute the robot system in the embodiment of the present invention
  • FIG. 3A is a control block diagram of the robot control device in the embodiment of the present invention
  • FIG. 3B is another control block diagram of the robot control apparatus in the embodiment of the present invention
  • FIG. 4A is an explanatory diagram for explaining symbols and the like on the hand of the robot arm controlled by the robot control device in the embodiment of the present invention;
  • FIG. 1 is a diagram showing an outline of a configuration of a robot system in one embodiment of the present invention.
  • FIG. 2 is a diagram showing a detailed configuration of a robot control device and a robot arm that is a control target that constitute the robot system in the embodiment of the present invention
  • FIG. 3A is a control block diagram of the robot control device in the embodiment of the present invention
  • FIG. 4B is an explanatory diagram for explaining a roll angle, a pitch angle, and a yaw angle at the hand of the robot arm controlled by the robot control device according to the embodiment of the present invention
  • FIG. 4C is an explanatory diagram for explaining a roll angle, a pitch angle, and a yaw angle at the hand of the robot arm controlled by the robot control device according to the embodiment of the present invention
  • FIG. 4D is an explanatory diagram for explaining a roll angle, a pitch angle, and a yaw angle at the hand of the robot arm controlled by the robot control device according to the embodiment of the present invention
  • FIG. 5 is an explanatory diagram for explaining symbols and the like at the hand of the robot arm in the embodiment of the present invention
  • FIG. 6A is a diagram showing a state of object transportation by cooperation between the robot arm and a person in the embodiment of the present invention
  • FIG. 6B is a diagram showing a state of object transportation by cooperation between the robot arm and a person in the embodiment of the present invention
  • FIG. 6C is a diagram showing a state of object transportation by cooperation between the robot arm and a person in the embodiment of the present invention
  • FIG. 6D is a diagram showing a state of object transportation by cooperation between the robot arm and a person in the embodiment of the present invention
  • FIG. 7 is a diagram showing an example of an estimation parameter database in the table format in the robot control apparatus according to the embodiment of the present invention
  • FIG. 7 is a diagram showing an example of an estimation parameter database in the table format in the robot control apparatus according to the embodiment of the present invention
  • FIG. 8 is a flowchart showing operation steps for performing object transport operation control of the motion control unit of the robot control device in the embodiment of the present invention
  • FIG. 9 is a flowchart showing a transported object placement determination operation step of the motion control unit of the robot control device in the embodiment of the present invention
  • FIG. 10 is an explanatory diagram showing a state when the object is placed by cooperation of the robot arm and a person in the embodiment of the present invention
  • FIG. 11 is a diagram for explaining an example of a transported object placement determination method by the transported object placing determination unit in the robot control apparatus according to the embodiment of the present invention (FIG. 11A shows the robot arm).
  • FIG. 12 is an explanatory diagram showing a robot system according to a modification of the embodiment of the present invention
  • FIG. 13A is a diagram illustrating an outline of a robot control device in a conventional example
  • FIG. 13B is a diagram for explaining a problem of the robot control device in the conventional example.
  • a robot that transports A drive unit for adjusting the angle of the hand;
  • a force detector that detects and outputs a force acting between the object and the hand;
  • An angle detector that detects and outputs the angle of the hand;
  • a robot is provided that includes a control unit that performs force control for controlling the vertical force of the robot arm to be a predetermined force based on the output of the angle detection unit and the output of the force detection unit.
  • the controller uses the output of the angle detector and the output of the force detector to estimate a force that the person tries to act on the robot in the vertical direction, and the estimated force of the robot arm
  • a robot according to a first aspect is provided that performs force control for controlling a vertical force to be a predetermined force.
  • the force detection unit detects and outputs a vertical force acting between the object and the hand
  • the control unit determines a vertical input of the force control based on an output of the angle detection unit and an output of the force detection unit, and the person lifts the object and inputs the vertical direction of the force control.
  • force control is performed to raise the robot arm
  • the force control is performed so as to increase the upward force of the robot arm when the vertical force detected by the force detection unit increases.
  • the robot according to the first or second aspect, wherein force control is performed so as to reduce the upward force of the robot arm when the vertical force becomes small.
  • the object positioned between a person and a robot having a robot arm and a hand arranged at the end of the robot arm is transported in cooperation with the person and the hand holding the object.
  • a robot control device for controlling the robot The force information detected from the force detection unit that detects the force acting between the object and the hand and the angle information detected from the angle detection unit that detects the angle of the hand whose angle is adjusted by the drive unit are input.
  • An input section; Control of a robot comprising a control unit that performs force control for controlling the vertical force of the robot arm to be a predetermined force based on the force information of the force detection unit and the angle information of the angle detection unit Providing equipment.
  • a conveyance force estimation unit that estimates the force that the person tries to act on the robot in the vertical direction
  • the robot control apparatus according to a fourth aspect, which performs force control for controlling the vertical force of the robot arm to be a predetermined force based on the force estimated by the conveyance force estimation unit.
  • the carrying force estimation unit is a value obtained by adding a value obtained by multiplying the output of the angle detection unit by a coefficient and a value obtained by multiplying the vertical component of the output of the force detection unit by a coefficient, as an input in the vertical direction of the force control.
  • a robot control apparatus according to a fifth aspect of the present invention is provided.
  • a hand position detection unit that detects the position of the hand of the hand of the robot arm is provided, Carrying object loading that determines whether the object being carried is placed on the object placement surface from the output of the hand position detection unit, the output of the angle detection unit, and the output of the force detection unit A position determination unit, Fourth to sixth modes for switching the vertical control of the robot arm from the force control to the position control when the transported object placement determining unit determines that the object is placed on the object placement surface.
  • a robot control device according to any one of the above is provided.
  • the transported object placement determination unit is configured such that the hand of the robot arm is downward from a horizontal plane, the output of the hand position detection unit is changed from descending to stop, and the output of the force detection unit is downward in the vertical direction.
  • the robot control apparatus according to the seventh aspect, wherein when the power of the first object is reduced, the carrying object is determined to be placed on the object placement surface.
  • the object positioned between a person and a robot having a robot arm and a hand arranged at the end of the robot arm is transported in cooperation with the person and the hand holding the object.
  • a robot control method for controlling the robot The force information detected from the force detection unit that detects the force acting between the object and the hand and the angle information detected from the angle detection unit that detects the angle of the hand that is angle-adjusted by the drive unit are input.
  • a robot control method in which a control unit performs force control for controlling the vertical force of the robot arm to be a predetermined force based on the force information of the force detector and the angle information of the angle detector. provide.
  • the object positioned between a person and a robot having a robot arm and a hand arranged at the end of the robot arm is transported in cooperation with the person and the hand holding the object.
  • a robot control program for controlling the robot On the computer, The force information detected from the force detection unit that detects the force acting between the object and the hand and the angle information detected from the angle detection unit that detects the angle of the hand that is angle-adjusted by the drive unit are input. Functions Based on the force information of the force detection unit and the angle information of the angle detection unit, the control unit realizes a function of performing force control for controlling the vertical force of the robot arm to be a predetermined force.
  • a control program for a robot control device is provided.
  • FIG. 1 is a diagram showing an outline of the configuration of the robot system 1 in the embodiment of the present invention.
  • the robot system 1 including the robot 5A having the robot arm 5 and its control device 4 is provided on the wall surface 91 near the work table such as a kitchen or a table.
  • the hand 30 of the hand of the robot arm 5 can hold, for example, hold one end 3a of the object 3 to be transported, and the other end 3b opposite to the one end 3a of the object 3 can cooperate with the robot arm 5.
  • the person 2 and the robot are able to hold the person 2 and the robot 30 with the hand 30 at the end of the robot arm 5 of the robot 5A holding the object 3 positioned between the person 2 and the robot 5A.
  • This is a system for transporting the object 3 in cooperation with 5A.
  • the hand 30 of the robot arm 5 is attached to one end of the object 3 (the gripping portion of the object 3 located between the person 2 and the robot 5A, on the side close to the robot 5A, for example, a pot One grip 3a) and the person 2 is the other end of the object 3 (the object 3 positioned between the person 2 and the robot 5A, the gripping part on the side close to the person 2, for example, a pan)
  • the robot arm 5 of the robot system 1 moves, and the object 3 is moved between the robot arm 5 and the person 2 And can be carried together.
  • the object 3 in the embodiment of the present invention includes a heavy object such as a pot filled with water or ingredients, or tableware or furniture, and an object whose weight changes in the middle (for example, an empty pot). It is a concept that also includes a pot for carrying water or ingredients in the middle of transportation, and can be transported in cooperation while being held by the robot arm 5 and the person 2, and placed on the placement surface.
  • the target object is a concept that also includes a pot for carrying water or ingredients in the middle of transportation, and can be transported in cooperation while being held by the robot arm 5 and the person 2, and placed on the placement surface.
  • the base end of the robot arm 5 is arranged on the wall surface 91 near the work table.
  • work such as a ceiling surface or a work side surface of the island kitchen is performed. It is placed in a place suitable for.
  • FIG. 2 is a diagram showing a detailed configuration of the control device 4 constituting the robot system 1 and the robot arm 5 to be controlled. Further, FIG. 4A shows an enlarged view of the forearm link 32, wrist portion 31, and hand 30 of the robot arm 5.
  • control device 4 is configured by a general personal computer as an example.
  • the control device 4 includes an estimated parameter database 7, an operation trajectory program database 37, and a transport control unit 8. Composed.
  • the estimation parameter database 7, the motion trajectory program database 37, and the transport control unit 8 can be configured as a control program 6.
  • the input / output IF (interface) 9 is configured to include, for example, a D / A board, an A / D board, a counter board, and the like connected to an expansion slot such as a PCI bus of a personal computer.
  • the control device 4 is connected to a motor driver 10 that drives each link manipulator of the robot arm 5 via an input / output IF 9 as an example of an input unit, and sends a control signal to the motor driver 10.
  • each joint angle information and force information output from an encoder 11 (described later) of each joint portion of the robot arm 5 is detected, and a force (described later).
  • the force information generated in the hand (hand 30) of the robot arm 5 output from the detection unit 13 is taken into the control device 4 through the counter board of the input / output IF 9, and the taken joint angle information and force information are taken into the pieces.
  • a control command value for the rotational movement of each joint is calculated by the control device 4.
  • the calculated control command values are given to the motor driver 10 for driving and controlling the joint portions of the robot arm 5 through the D / A board of the input / output IF 9, and the control command values sent from the motor driver 10 are sent. Accordingly, the motor 12 of each joint portion of the robot arm 5 is driven.
  • the motor driver 10 and the motor 12 function as an example of a drive unit.
  • the encoder 11 functions as an example of an angle detection unit that outputs angle information.
  • the robot arm 5 is a multi-link manipulator having six degrees of freedom, and includes a hand 30, a forearm link 32 having a wrist 31 to which the hand 30 is attached at a tip, and a distal end at the base end of the forearm link 32.
  • An upper arm link 33 that is rotatably connected and a base portion 34 that is rotatably supported and fixed to a wall surface 91 by a base end of the upper arm link 33 are provided.
  • the wrist part 31 has three rotation axes of a fourth joint part 27, a fifth joint part 28, and a sixth joint part 29, and changes the relative posture (direction) of the hand 30 with respect to the forearm link 32. be able to. That is, in FIG. 2 and FIG. 4A, the fourth joint portion 27 can change the relative posture around the ⁇ x- axis (vertical axis) of the hand 30 with respect to the wrist portion 31.
  • the fifth joint portion 28 changes the relative posture of the hand 30 with respect to the wrist portion 31 around the ⁇ y axis (horizontal axis) orthogonal to the ⁇ x axis of the fourth joint portion 27.
  • the relative posture of the can be changed. That is, the hand 30 can rotate independently of the one end 32 a of the forearm link 32 in the three axial directions of the ⁇ x axis, the ⁇ y axis, and the ⁇ z axis.
  • the ⁇ x- axis, ⁇ y- axis, and ⁇ z- axis are coordinate axes orthogonal to each other.
  • the hand coordinate system 36 which will be described later, and the ⁇ x axis, ⁇ y axis, and ⁇ z axis in FIG.
  • the other end 32 b of the forearm link 32 is rotatable around the third joint portion 26 with respect to the one end 33 a of the upper arm link 33.
  • being rotatable about the third joint portion 26 means being rotatable about a horizontal axis parallel to the ⁇ y- axis of the fifth joint portion 28.
  • the other end 33 b of the upper arm link 33 is rotatable around the second joint portion 25 with respect to the base portion 34.
  • being rotatable about the second joint portion 25 means being rotatable about a horizontal axis parallel to the ⁇ y- axis of the fifth joint portion 28 (horizontal axis of the third joint portion 26).
  • the upper movable part 34 a of the base part 34 is rotatable around the first joint part 24 with respect to the lower fixed part 34 b of the base part 34.
  • being rotatable around the first joint portion 24 means being rotatable around the z axis of the absolute coordinate system 35.
  • the robot arm 5 can rotate independently around a total of six axes from the first joint portion 24 to the sixth joint portion 29 to constitute the multi-link manipulator having 6 degrees of freedom.
  • Each joint part constituting the rotating part of each shaft has one member of a pair of members (for example, a rotation side member and a support side member supporting the rotation side member) constituting each joint part.
  • a motor 12 (actually disposed inside each joint portion of the robot arm 5) as an example of a rotary drive device that is driven and controlled by a motor driver 10 described later, It includes an encoder 11 (actually disposed inside each joint portion of the robot arm 5) that detects a rotation phase angle (that is, a joint angle) of the rotation shaft. Therefore, the rotation shaft of the motor 12 provided in one member constituting each joint portion is connected to the other member of each joint portion to rotate the rotation shaft forward and backward, thereby causing the other member to move to the other member. It is possible to rotate around each axis with respect to the member.
  • Reference numeral 35 denotes an absolute coordinate system in which the relative positional relationship is fixed with respect to the lower fixed portion 34b of the pedestal 34
  • reference numeral 36 denotes a hand coordinate system in which the relative positional relationship with respect to the hand 30 is fixed. is there.
  • the origin position O e (x, y, z) of the hand coordinate system 36 viewed from the absolute coordinate system 35 is set as the position of the hand 30 of the robot arm 5 (that is, the hand position).
  • the posture of the hand coordinate system 36 viewed from the absolute coordinate system 35 is expressed by coordinates ( ⁇ , ⁇ , ⁇ ) using the roll angle, the pitch angle, and the yaw angle.
  • the roll angle, pitch angle, and yaw angle will be described with reference to FIGS. 4B to 4D.
  • the coordinate axes at this time are assumed to be [X ′, Y ′, Z].
  • this coordinate system is rotated by an angle ⁇ about Y ′ as a rotation axis (see FIG. 4C).
  • the coordinate axes at this time are [X ′′, Y ′, Z ′′].
  • this coordinate system is rotated by an angle ⁇ with X ′′ as the rotation axis (see FIG. 4D).
  • the posture of the coordinate system at this time is a roll angle ⁇ , a pitch angle ⁇ , and a yaw angle ⁇ , and the posture vector at this time is ( ⁇ , ⁇ , ⁇ ).
  • the hand position and orientation vector r When controlling the hand position and orientation of the robot arm 5, the hand position and orientation vector r, to follow the hand position and orientation target vectors r d to transport controller 8 generated by the target track generation unit 18 to be described later It will be.
  • the force detection unit 13 detects or estimates the force generated between the hand 30 of the robot arm 5 and the carrying object 3 and outputs the information.
  • the force detection unit 13 is assumed to be a 6-axis force sensor between the hand 30 and the wrist 31, but may be 6 axes or less when the conveyance direction of the object 3 is limited. However, at least means or a device that can always detect the force in the vertical direction is required.
  • the output from the force detection unit 13 is output to the estimation parameter database 7, the transport force estimation unit 14, the target trajectory generation unit 18, and the transport object placement determination unit (transport object placement determination unit) 19.
  • a force estimation unit (see 13A in FIG. 3B as an example) that estimates from a motor current value or the like without using a sensor may be used.
  • the external force estimation by the force detection unit 13 (force estimation unit 13A) is estimated by the following method.
  • v a [v x, v y, v z, ⁇ x, ⁇ y, ⁇ z] T
  • (v x, v y, v z) is the hand of the robot arm 5 in the hand coordinate system 36
  • the translational speed, ( ⁇ x , ⁇ y , ⁇ z ) is the angular velocity of the hand of the robot arm 5 in the hand coordinate system 36.
  • the conveyance control unit 8 includes a conveyance force estimation unit 14, a force control unit 15, and a conveyance object placement determination unit 19.
  • the force control unit 15 includes an impedance control unit 17, a position error calculation unit 40, a position control unit 16, and a target trajectory generation unit 18.
  • the position control unit 16 includes a position error compensation unit 20, a forward kinematics calculation unit 21, and an approximate inverse kinematics calculation unit 22, and the target trajectory of the robot arm 5 and the robot arm 5 From the current position and orientation, the position control unit 16 outputs a command value for the robot arm 5.
  • the force control system may use other force control methods such as hybrid control in addition to the above method.
  • 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 11 of each joint part.
  • q 1 , q 2 , q 3 , q 4 , q 5 , q 6 are the first joint part 24, the second joint part 25, the third joint part 26, and the fourth part detected from the encoder 11, respectively. This is the joint angle of the joint part 27, the fifth joint part 28, and the sixth joint part 29.
  • the target trajectory generation unit 18 is based on the hand position / posture vector r, the motion trajectory program database 37, the force information from the force detection unit 13, and the transported object placement determination information from the transported object placement determination unit 19 described later. , and outputs a hand position and orientation target vector r d for realizing the operation of the robot arm 5 to a target.
  • the impedance control unit 17 is a part that performs a function of realizing the control of the mechanical impedance value of the robot arm 5 to the mechanical impedance set value to the robot arm 5. While the object placement determination information is input, from the inertia M, the viscosity D, the rigidity K, which are impedance parameters set in advance by an experiment, and the transport force F carry output by the transport force estimation unit 14, the robot arm
  • the hand position and posture target correction output rd ⁇ for realizing the control of the mechanical impedance value of 5 to the mechanical impedance set value is calculated by the following expression (2) and output to the position control unit 16.
  • Hand position and orientation target correcting output r d? Is added by the position error calculation unit 40 to output to the hand position and orientation target vector r d of the target track generation unit 18, the tip unit position and orientation correction target vector r dm is generated .
  • the joint kinematics vector q which is the current value q of the joint angle measured by the encoder 11 of each joint of the robot arm 5, is input to the forward kinematics calculator 21 via the counter board of the input / output IF 9. Then, the forward kinematics calculation unit 21 performs geometrical scientific calculation of conversion from the joint angle vector q of the robot arm 5 to the hand position and posture vector r. Therefore, the forward kinematics calculation unit 21 functions as an example of a hand position detection unit that detects the hand position of the robot arm 5.
  • the hand position and orientation vector r calculated by the forward kinematics calculation unit 21 is output to the target trajectory generation unit 18, the transported object placement determination unit 19, the position error compensation unit 20, and the transport force estimation unit 14.
  • the joint angle error compensation output u qe is given as a voltage command value to the motor driver 10 of the robot 5A via the D / A board of the input / output IF 9, and each joint portion is driven to rotate forward and backward by the respective motors 12 and the robot arm. 5 operates.
  • Basic impedance control operation is hand position and feedback control of the orientation error r e by the positional error compensating unit 20 (position control), it is indicated moiety by and reference numeral 16 surrounded by a dotted line in FIG. 3A and 3B It becomes the position control unit 16.
  • positional error compensating unit 20 for example, using a PID compensator, the tip unit position and orientation error r e acts to control by the position controller 16 to converge to 0, the impedance control operation of the robot arm 5 to the target Can be realized.
  • the conveyance force estimation unit 14 outputs information from the estimation parameter database 7, output information from the force detection unit 13, and posture information q of the hand of the robot arm 5, that is, joint angle data (joint variable vector or joint angle vector q). From the above, the transport force F carry necessary for the cooperative transport of the robot arm 5 and the person 2 is estimated.
  • ⁇ p indicated by reference numeral 23 is an angle formed by the hand of the robot arm 5 with the horizontal plane, and indicates an angle determined from the hand position and posture vector r by the estimation parameter database 7.
  • omega p a direction (counterclockwise) of the arrow in FIG. 5 and positive.
  • FIG. 5 a direction (counterclockwise) of the arrow in FIG. 5 and positive.
  • the vertical force detected by the force detector 13 when the arm 2a of the person 2 and the robot arm 5 support the handles 3a and 3b of the object 3 respectively is F z ( ⁇ 0 ).
  • Orientation of the vertical force F z is the direction of the z-axis of the absolute coordinate system 35 of FIG. 2 as positive.
  • the vertical input of force control (the vertical component of the force control input from the transport force estimation unit 14 to the force control unit 15) is
  • k p and k ⁇ are determined by the sign of the value of the vertical force F z detected by the force detector 13 and the value of the angle ⁇ p formed by the hand of the robot arm 5 with the horizontal plane. is a parameter, the value of the vertical force F z detected by the force detection unit 13, a parameter hand of the robot arm 5 is determined by the sign of the value of the angle omega p formed between the horizontal plane (coefficient). Note that k p and k ⁇ can be set more finely by the value of the angle ⁇ p without depending on whether the value of the angle ⁇ p is positive or negative, and are uniquely determined from the vertical force F z and the angle ⁇ p. It can also be broadly defined as a parameter to be determined.
  • the expression (7) is used as an input in the vertical direction of force control, so that the robot arm 5 can also move in the direction in which the person 2 wants to move up and down.
  • this technique does not require mass information of the object 3 to be transported in advance.
  • the vertical direction of the force F z is detected by the force detection unit 13 changes.
  • the robot arm 5 increases the upward force
  • the robot arm 5 decreases the upward force. Even if 3 changes in weight, the cooperative transport operation can be performed without any trouble.
  • the downward force F z in the vertical direction in which the robot arm 5 is subjected becomes close to 0 (for example, about 0.5 N).
  • the weight of the object 3 borne by the robot arm 5 is always detected as a downward force in the vertical direction. If greater than the vertical force F z is 0 to be detected by the force detection unit 13, under the hand 30 of the object 3 or the robot arm 5 carries, if there is interfering object 43, conveying force estimating section 14 Then, for the sake of safety, the conveyance force estimation unit 14 outputs the vertical force detected by the force detection unit 13 as it is. Thereby, it is possible to prevent the object 3 to be transported or the hand 30 of the robot arm 5 from pressing against the interfering object 43.
  • the vertical force detected by the force detection unit 13 and F z also consider the effect of noise or errors in the force detection unit 13 (however, the hand 30 of the object 3 and the robot arm 5 Is relatively stationary due to gripping such as chucking of the object 3 by the hand 30.)
  • the threshold for switching whether to consider the influence of noise or error in the transport force estimation unit 14 is - ⁇
  • the force detected by the force detector 13 is used for other forces. As it is, it is output from the conveyance force estimation unit 14.
  • the estimated parameter database 7 appropriately selects the parameters k p and k ⁇ based on the output information F z of the force detection unit 13 and the posture information ⁇ p of the hand of the robot arm 5 and outputs the parameters k p and k ⁇ to the conveyance force estimation unit 14. .
  • parameters k p , k correspond to the combination of the vertical component F z of the force generated in advance at the hand of the robot arm 5 and the angle ⁇ p formed by the hand of the robot arm 5 with the horizontal plane.
  • the person 2 moves on the upper surface of the table 90 (that is, the object placement surface 90 a) as illustrated in FIG. 10.
  • the object 3 to be transported is placed on the top, the object 3 may be inclined due to the balance of the force with the hand 30 of the robot arm 5.
  • the object 3 is moved by lowering the arm 2a of the person 2 having the other handle 3b of the object 3 while the one handle 3a of the object 3 is held by the hand 30 of the robot arm 5. It may happen that the person 2 is inclined.
  • the transported object placement determining unit 19 determines whether or not the object 3 being transported is placed on the object placing surface 90a.
  • An example of the transported material placement determination method in the transported material placement determination unit 19 will be described with reference to the graphs of (a) to (c) of FIG.
  • the object 3 to be transported moves from top to bottom and is at a certain position. At rest.
  • Such an operation can be determined by the transported object placement determination unit 19 by detecting a change in the z position (z component of the hand position and the posture vector r) of the hand positions of the robot arm 5. it can. Specifically, in FIG.
  • the z position in a period after a certain time t 1 does not descend or rise, and is determined to be constant.
  • the placement determination unit 19 detects, the transported object placement determination unit 19 determines that the transported object has been placed.
  • the determination that the z position is constant is determined to be constant when the z position is within a certain range ⁇ z for a certain time, for example, as shown in FIG.
  • the fixed range ⁇ z is set in advance to, for example, 10 mm or the like by a prior experiment or the like.
  • the time derivative of z may be calculated, and z may be constant when the absolute value of the time derivative of z is less than or equal to the threshold, that is, when the speed of z is less than or equal to the threshold.
  • the angle ⁇ p is calculated from the position and orientation vector r in the transport object placement determination unit 19, and it is confirmed that the angle ⁇ p is a negative value and constant during a period after a certain time t 1.
  • the transported object placement determination unit 19 determines that the transported object is inclined toward the person 2 and determines that the object 3 carried by the person 2 is about to be placed on the object placement surface 90a. can do.
  • the arm is inputted from the force detection unit 13 in the transported article placement determining unit 19, the vertical direction of the force F z which occurs between the robot arm 5 and the object 3, the person 2 is, with the handle 3b of the object 3 when running the 2a downward from the horizontal plane, the vertical direction of the force F z has a downward value, the absolute value of the vertical force F z is when placing the object 3 to the mounting surface 90a It gets smaller and approaches zero. After loading, the force F z of the vertical direction becomes constant state by a negative value. By detecting this, it is possible to determine that the object 3 carried by the person 2 is placed on the object placement surface 90a and then placed. Specifically, in FIG.
  • the vertical force F z is the time when the object 3 is placed.
  • the vertical force F z has a downward value
  • the vertical force F z increases and the object
  • the vertical force F z is constant at a negative value.
  • the vertical direction of the force F z input from the force detection unit 13 has a downward value, a certain time t 1 before the period, the vertical direction of the force F z is reduced, later than a time t 1
  • the transported object placement determination unit 19 determines that the transported object 3 is placed. Judgment is made. Determination by the transported article placed determination unit 19 with the vertical direction of the force F z is reduced, the value obtained by differentiating the vertical direction of the force F z time, when more than a certain threshold value, and decreases, transported article
  • the placement determination unit 19 determines.
  • the threshold value is set in advance to 5 N / s, for example, by a prior experiment or the like. Moreover, it can determine with the method similar to the position of the said z direction determining with having become constant.
  • the transported article placed determination unit 19 determines that the hand z position of the robot arm 5 information and the information of the angle omega p of the hand of the robot arm 5 makes with the horizontal plane, of the output of the force detector 13 and a vertical direction of the force information F z, determines that the hand 30 of the hand of the robot arm 5 based on the output of the encoder 11 wherein an example of the angle detection unit is inclined downward than the horizontal plane, and, Based on the output of the forward kinematics calculation unit 21, which is an example of the hand position detection unit, it is determined that the fluctuation of the hand z position has changed from falling to a constant, and based on the output of the force detection unit 13, When it is determined that the downward force in the direction has started to decrease (in FIG.
  • the predetermined time ⁇ t is set in advance to, for example, 1 second or the like by a prior experiment or the like.
  • the transported object placement determination unit 19 regards “the placement of the object 3 on the object placement surface 90a has been released”.
  • the place where the object 3 is placed is assumed to be a horizontal plane, it is considered that the hand angle of the robot arm 5 is between the downward direction and the horizontal direction rather than the horizontal direction. For this reason, while the transported object placement determination unit 19 determines that “the object 3 is being placed on the object placing surface 90a”, the robot arm continues to output a signal indicating placement of the transported object.
  • the transported object placement determination unit 19 stops outputting a signal indicating the placement of the transported object.
  • the force F z in the vertical direction generated between the robot arm 5 and the object 3 is between the downward force to zero. Therefore, the force F z in the vertical direction outside this range is detected by the force detection unit 13 (that is, the force detection unit 13 detects that the vertical force F z becomes an upward force), and the detection thereof.
  • the transported object placement determination unit 19 When the information is input to the transported object placement determination unit 19, “the hand 30 of the robot arm 5 is pressing the object 3 against the placement surface 90 a” or “the person 2 raises the object 3. Since the transported object placement determination unit 19 can be regarded as “lifted in the direction”, the transported object placement determination unit 19 also states that “the placement of the object 3 has been released”. ,I reckon.
  • the operation steps of the transport control unit 8 will be described based on the flowcharts of FIGS.
  • the functions of these operation steps can be executed by the computer as the control program 6 (see FIG. 2).
  • the joint angle data (joint variable vector or joint angle vector q) measured by the respective encoders 11 of the joints of the robot arm 5 is taken into the control device 4 from the encoder 11 (step S1).
  • the approximate inverse kinematics calculation unit 22 performs the Jacobian matrix J r necessary for the kinematics calculation of the robot arm 5. Etc. are calculated (step S2).
  • the forward kinematics calculation unit 21 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 11 of the robot arm 5. Then, it is output to the estimation parameter database 7, the position error calculation unit 40, the target trajectory generation unit 18 and the like (step S3).
  • the force detection unit 13 calculates the force F ext generated at the hand based on the output of the force sensor attached to the robot arm 5, and calculates the estimated parameter database 7, the transport force estimation unit 14, the target trajectory. It outputs to the production
  • the transport force estimation unit 14 determines the angle ⁇ p from the hand position and posture vector r calculated by the forward kinematics calculation unit 21 in step S3.
  • the angle ⁇ p ⁇ .
  • the transport force estimation unit 14 outputs the angle ⁇ p to the estimation parameter database 7. (Step S5).
  • the values of the parameters k p and k ⁇ are determined by the estimated parameter database 7 from the force F ext that is the output of the force detector 13 and the angle ⁇ p , respectively, and the estimated parameter database 7 to the transport force estimator 14. Each is output (step S6).
  • transporting force estimation unit 14 because the parameters k p and k omega, and the force F ext occurring in the hand, and the angle omega p, and joint angle data (joint variable vector or joint angle vector q), transport The force F carry is calculated and output to the impedance control unit 17 (step S7).
  • the target trajectory is stored.
  • generator 18 calculates the tip unit position and orientation target vector r d of the robot arm 5 (step S8).
  • the impedance control unit 17 calculates from the inertia M, viscosity D, and rigidity K of mechanical impedance parameters set in advance by experiments, and the equivalent hand external force F carry applied to the robot arm 5 calculated by the conveyance force estimation unit 14.
  • the hand position and posture target correction output rd ⁇ is calculated by the impedance controller 17 and output to the position error calculator 40 (step S9).
  • the position error calculation unit 40 is the sum of the tip unit position and orientation target correcting output r d? From the tip unit position and orientation target vector from the target trajectory generation section 18 r d and the impedance control unit 17 (r d + r d ⁇ ) A certain hand position and posture correction target vector r dm is calculated. Next, the position error calculation unit 40 determines the hand position and posture, which is the difference (r dm ⁇ r) between the hand position and posture correction target vector r dm and the current hand position and posture vector r from the forward kinematics calculation unit 21. the error r e, and outputs the calculated positional error compensating unit 20.
  • the position error compensation unit 20 is a control input for controlling the robot arm 5 so that the error r e of the tip unit position and orientation is converged to 0, and calculates the positional error compensating output u re, the position error
  • the compensation unit 20 outputs to the approximate inverse kinematics calculation unit 22 (step S10).
  • a PID compensator can be considered.
  • the position error compensator 20 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.
  • the approximation reverse kinematical calculation unit 22 by multiplying the inverse matrix of the Jacobian matrix J r calculated in step S2 to the positional error compensating output u re, the positional error compensating output u re, the error of the tip unit position and orientation Is converted into a joint angle error compensation output u qe that is a value related to a joint angle error, and is output to the motor driver 10 of the robot 5A (step S11).
  • the joint angle error compensation output u qe is given information from the approximate inverse kinematics calculation unit 22 to the motor driver 10 through the input / output IF 9, and the motor driver 10 uses the joint angle error compensation output u qe based on the joint angle error compensation output u qe.
  • the amount of current flowing through each motor 12 of the unit is changed. 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 (step S12).
  • step S13 the steps S1 to S12 of the transport control operation are completed.
  • steps S1 to S12 are repeatedly executed as a control calculation loop, so that the operation of the robot arm 5 is controlled, that is, the carrying operation in which the person 2 and the robot arm 5 cooperate to carry the object 3 is realized. can do.
  • the joint angle data (joint variable vector or joint angle vector q) measured by the encoders 11 of the joint portions of the robot arm 5 is taken into the control device 4 from the encoder 11 (step S21).
  • the approximate inverse kinematics calculation unit 22 performs the Jacobian matrix J r necessary for the kinematics calculation of the robot arm 5. Etc. are calculated (step S22).
  • the forward kinematics calculation unit 21 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 11 of the robot arm 5. And it outputs to the estimation parameter database 7, the position error compensation unit 20, the target trajectory generation unit 18, and the transported object placement determination unit 19 (step S23).
  • the force detection unit 13 calculates the force F ext generated at the hand based on the output of the force sensor attached to the robot arm 5, and calculates the estimated parameter database 7, the transport force estimation unit 14, the target trajectory. It outputs to the production
  • the transport force estimation unit 14 and the transported object placement determination unit 19 determine the angle ⁇ p from the hand position and posture vector r calculated by the forward kinematics calculation unit 21 in step S3.
  • the angle ⁇ p ⁇ .
  • the transport force estimation unit 14 outputs the angle ⁇ p to the estimation parameter database 7. (Step S25).
  • a hand z position (z component of the hand position and posture vector r) is determined from the hand position and posture vector r calculated by the forward kinematics calculation unit 21 in step S3.
  • the transported object placement determination unit 19 detects whether or not the object 3 being transported is placed on the object placing surface 90a of the table 90 such as a desk.
  • a determination is made (step S27). Specifically, as described above, the transported object placement determination unit 19 receives information on the hand z position of the robot arm 5 from the forward kinematics calculation unit 21 and information on the angle ⁇ p between the hand and the horizontal plane. From the vertical force information F z in the output from the force detector 13, it is determined whether or not “the object 3 is placed on the placement surface 90 a”.
  • the robot arm 5 is determined based on the angle ⁇ p formed by the hand calculated from the hand position and posture vector r calculated by the forward kinematics calculation unit 21 with respect to the horizontal plane. It is determined that the hand 30 of the hand is inclined downward from the horizontal plane, and it is determined that the fluctuation of the hand z position is changed from falling to a constant based on the output of the forward kinematics calculation unit 21; When it is determined that the downward force in the vertical direction has started to decrease based on the output of the force detection unit 13 (in FIG.
  • the fixed time ⁇ t is set in advance to, for example, 1 second or the like by a prior experiment or the like.
  • the transported object placement determination unit 19 determines that “the object 3 is not placed on the placement surface 90 a”.
  • step S27 a description will be given of performing force control when the transported object placement determining unit 19 determines that "the object 3 is not placed on the placement surface 90a".
  • the estimated parameter database 7 determines the values of the parameters k p and k ⁇ by the estimated parameter database 7 from the force F ext that is the output of the force detector 13 and the angle ⁇ p that is input from the transport force estimator 14, respectively. Each is output from the estimated parameter database 7 to the transport force estimating unit 14 (step S28).
  • a target trajectory generation section 18 calculates the tip unit position and orientation target vector r d of the robot arm 5, and outputs the position error calculation unit 40 (step S30).
  • the impedance control unit 17 calculates from the inertia M, viscosity D, and rigidity K of mechanical impedance parameters set in advance by experiments, and the equivalent hand external force F carry applied to the robot arm 5 calculated by the conveyance force estimation unit 14.
  • the hand position and posture target correction output rd ⁇ is calculated by the impedance control unit 17 and output to the position error calculation unit 40 (step S31).
  • the position error calculation unit 40 is the sum of the tip unit position and orientation target correcting output r d? From the tip unit position and orientation target vector from the target trajectory generation section 18 r d and the impedance control unit 17 (r d + r d ⁇ ) A certain hand position and posture correction target vector r dm is calculated. Next, the position error calculation unit 40 determines the hand position and posture, which is the difference (r dm ⁇ r) between the hand position and posture correction target vector r dm and the current hand position and posture vector r from the forward kinematics calculation unit 21. the error r e, and outputs the calculated positional error compensating unit 20.
  • the position error compensation unit 20 is a control input for controlling the robot arm 5 so that the error r e of the tip unit position and orientation is converged to 0, and calculates the positional error compensating output u re, the position error
  • the compensation unit 20 outputs the approximate inverse kinematics calculation unit 22 (step S32).
  • a PID compensator can be considered.
  • the position error compensator 20 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.
  • the approximation reverse kinematical calculation unit 22 by multiplying the inverse matrix of the Jacobian matrix J r calculated in step S22 to the positional error compensating output u re, the positional error compensating output u re, the error of the tip unit position and orientation Is converted into a joint angle error compensation output u qe that is a value related to a joint angle error, and is output to the motor driver 10 of the robot 5A (step S33).
  • the joint angle error compensation output u qe is given information from the approximate inverse kinematics calculation unit 22 to the motor driver 10 through the input / output IF 9, and the motor driver 10 determines the joint angle error compensation output u qe based on the joint angle error compensation output u qe.
  • the amount of current flowing through each motor 12 of the unit is changed. 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 (step S34).
  • step S21 to step S36 of the transportation control operation are continued, the process returns to the step S21, while in other cases (in the case where only the transportation control operation is terminated, not turning off the power or stopping the robot). Then, step S21 to step S36 of the transport control operation are ended (step S37).
  • step S ⁇ b> 27 the position control will be described with reference to FIG. 9 when it is determined in step S ⁇ b> 27 that “the object 3 has been placed on the placement surface 90 a”.
  • the motion trajectory program database 37 stores in advance the trajectory on which the robot arm 5 operates when it is determined that “the object 3 is placed on the placement surface 90a”. As an example of the trajectory for correcting the inclination of the object 3, it is assumed here that the object 3 moves downward in the vertical direction at a speed of 10 mm per second.
  • the motion trajectory program stored in the motion trajectory program database 37 at the time of placement is stored in advance as the target trajectory. The data is input to the generation unit 18.
  • the target trajectory generation unit 18 When the vertical force Fz is a downward force among the forces generated at the hand of the robot arm 5, the target trajectory generation unit 18 performs the operation trajectory program and the step of the motion trajectory program database 37 of the robot arm 5. Based on the hand position and posture vector r calculated by the forward kinematics calculation unit 21 in S23, the hand position and posture target vector rd of the robot arm 5 are calculated and output to the position error calculation unit 40.
  • the target trajectory generator 18 obtains the hand position and posture target vector rd of the robot arm 5. Without updating, the same value is continuously output to the position error calculator 40. (Step S35). As a result, the robot arm 5 continues to descend until the object 3 is placed on the placement surface 90a without tilting, and stops when the object 3 is placed on the placement surface 90a without tilting and no downward force is applied to the robot. To do.
  • the error r e of the tip unit position and orientation is the control input for controlling the robot arm 5 so as to converge to 0, it calculates the positional error compensating output u re by the positional error compensating unit 20, the position error
  • the compensation unit 20 outputs the approximate inverse kinematics calculation unit 22 (step S36).
  • a PID compensator can be considered.
  • the position error compensator 20 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.
  • control of the transport operation of the robot arm 5 and the placement operation of the transported object that is, the person 2 and the robot arm 5 cooperate with each other in the object.
  • the robot arm 5 can be moved so that the object 3 can be placed without being tilted with respect to the horizontal plane when the object 3 is placed.
  • the transported object placement operation is performed based on the determination result in the transported material placement determination unit 19 based on the placement determination result.
  • the force control and the position control of the robot arm 5 are automatically switched.
  • the force control and the position control of the robot arm 5 may be switched only when the person 2 presses the button. Thereby, the force control and the position control of the robot arm 5 can be switched only when the person 2 intends, and the force control and the position control of the robot arm 5 are not switched when the person 2 does not intend. Therefore, safety can be further improved.
  • force control is performed in all six axis directions.
  • movement other than vertical movement and pitch amount may be moved by position control instead of force control.
  • control device 4 when the object 3 is transported in cooperation with the person 2 and the robot arm 5, the weight of the object 3 is not known or the object 3 It is possible to provide a control device capable of realizing safe robot control in which the object 3 can be smoothly transported even when the weight changes in the middle, and the object 3 is not pressed against the interference object 43.
  • the slide unit is not limited to the base end of the robot arm 5 fixed to the wall surface 9, but can move along a rail 38 to a pair of rails 38 fixed to the wall surface 9.
  • the base end of the robot arm 5 may be supported by the movable body 39, and the robot arm 5 may be moved on the rail 38 along the rail 38 in the lateral direction, for example, in the horizontal direction.
  • the moving body 39 may include a motor or the like that can be self-propelled under the control of the control device 4, or the moving body 39 can move along the rail 38, and can be moved by the force of the person 2. Further, it may be movable together with the person 2.
  • the present invention is useful as a robot that performs collaborative work with a person such as a home robot, a control device and control method for a robot (arm) that controls the operation of the robot arm of the robot, and a control program for the robot control device. is there.
  • a robot arm control device and control method for a movable mechanism in a production facility a robot having a robot arm control device, and a robot arm It can also be applied as a control program.

Abstract

 物体(3)及びハンド(30)間の鉛直方向の力とハンド(30)が水平面となす角度とに基づき、人(2)が鉛直方向にかけている運搬力を運搬力推定部(14)で推定して、推定した力に基づきロボットシステム(1)におけるロボットアームの鉛直方向の力が所定の力となるように力制御を行う。

Description

ロボット、ロボットの制御装置及び制御方法、並びに、ロボットの制御装置の制御プログラム
 本発明は、人とロボットが協働して作業(協調作業)を行う際のロボット、ロボットの制御装置及び制御方法、並びに、ロボットの制御装置の制御プログラムに関する。
 近年、介護ロボット又は家事支援ロボットなどの家庭用ロボットが盛んに開発されるようになってきた。また、産業用ロボットも、今までの人と隔離されたものとは異なり、人との協働作業を行うものが増えている。これらのロボットは、人の近くで作業するため、人との物理的な接触が不可欠である。そのために、安全性の面から、ロボットが機構的に柔らかく、動きについても柔軟である必要がある。
 ロボット装置の一例として、人とロボットアームが協働して物体を運搬する装置が提案されている。その中でも、ロボットアームの手先のハンドにおける回転力が零となるように手先の回転運動を制御する一方、物体が水平を維持するように手先の鉛直方向の並進運動を制御する技術が提案されている(特許文献1参照。)
 この特許文献1の技術によって、従来課題であった物体の質量が不明であったり、途中で変化したりした場合の協働運搬が実現されている。
特開2000-343470号公報
 しかしながら、特許文献1のような従来の技術においては、図13Aに示すように、ロボットアーム101に作用する力とは無関係に、運搬する物体103Aを水平に保つようにロボットアーム101が上下に移動するため、運搬する物体103Aの下に他の物体103Bがあり、なおかつ、人102が運搬している物体103Aを下げようとした場合、物体103A,103B同士が接触しても、さらにロボットアーム101が下に移動しようとする現象が発生しうる。そのために、図13A、図13Bのように、物体103A,103B同士が押し付け合って破損したり、ロボットアーム101に過剰な負荷が発生したりするという課題があった。
 本発明の目的は、このような課題に鑑みてなされたものであり、人とロボットアームが協働して物体を運搬する際に、運搬する物体の重量が不明であったり、重量が途中で変化したりしても運搬することが可能で、かつ、ロボットアーム又は運搬している物体の下に他の物体があった場合でも、物体同士を必要以上に押し付けあうことのない、安全なロボット制御を実現できる、ロボット、ロボットの制御装置及び制御方法、並びに、ロボットの制御装置の制御プログラムを提供することにある。
 前記目的を達成するために、本発明は以下のように構成する。
 本発明の第1態様によれば、ロボットアームと、前記ロボットアームの手先に配置されたハンドとを有して、前記人と前記ロボットとの間に位置した物体を前記人と前記ハンドとで保持した状態で協働して前記物体を運搬するロボットであって、
 前記ハンドの角度を調整する駆動部と、
 前記物体と前記ハンドとの間に働く力を検出して出力する力検出部と、
 前記ハンドの前記角度を検出して出力する角度検出部と、
 前記角度検出部の出力と前記力検出部の出力とに基づいて前記ロボットアームの鉛直方向の力が所定の力となるよう制御する力制御を行う制御部とを備えるロボットを提供する。
 このような構成により、運搬する物体の重量にかかわらず、人の運搬力を推定して、ロボットアームと人とが協働して物体を運搬するロボットの制御が実現できる。
 また、本発明の第4態様によれば、人と、ロボットアームと前記ロボットアームの手先に配置されたハンドとを有するロボットとの間に位置した物体を前記人と前記ハンドとで保持した状態で協働して前記物体を運搬するように前記ロボットを制御する、ロボットの制御装置であって、
 前記物体と前記ハンドとの間に働く力を検出する力検出部から検出された力情報及び駆動部により角度調整される前記ハンドの角度を検出する角度検出部から検出された角度情報を入力する入力部と、
 前記力検出部の前記力情報と前記角度検出部の前記角度情報とに基づいて前記ロボットアームの鉛直方向の力が所定の力となるよう制御する力制御を行う制御部とを備えるロボットの制御装置を提供する。
 本構成によって、人が物体を例えば机などに置くときに、安全に水平に、物体を置くことができるロボットの制御が実現できる。
 本発明の第9態様によれば、
 人と、ロボットアームと前記ロボットアームの手先に配置されたハンドとを有するロボットとの間に位置した物体を前記人と前記ハンドとで保持した状態で協働して前記物体を運搬するように前記ロボットを制御する、ロボットの制御方法であって、
 前記物体と前記ハンドとの間に働く力を検出する力検出部から検出された力情報及び駆動部により角度調整される前記ハンドの角度を検出する角度検出部から検出された角度情報が入力され、
 前記力検出部の前記力情報と前記角度検出部の前記角度情報とに基づいて前記ロボットアームの鉛直方向の力が所定の力となるよう制御する力制御を制御部により行うロボットの制御方法を提供する。
 本発明の第10態様によれば、
 人と、ロボットアームと前記ロボットアームの手先に配置されたハンドとを有するロボットとの間に位置した物体を前記人と前記ハンドとで保持した状態で協働して前記物体を運搬するように前記ロボットを制御する、ロボットの制御プログラムであって、
 コンピュータに、
 前記物体と前記ハンドとの間に働く力を検出する力検出部から検出された力情報及び駆動部により角度調整される前記ハンドの角度を検出する角度検出部から検出された角度情報が入力される機能と、
 前記力検出部の前記力情報と前記角度検出部の前記角度情報とに基づいて前記ロボットアームの鉛直方向の力が所定の力となるよう制御する力制御を制御部により行う機能とを実現させるための、ロボットの制御装置の制御プログラムを提供する。
 これらのような構成により、運搬する物体の重量にかかわらず、人の運搬力を推定して、ロボットアームと人とが協働して物体を運搬するロボットの制御が実現できる。
 以上述べたように、本発明のロボット、ロボットの制御装置及び制御方法、並びに、ロボットの制御装置の制御プログラムによれば、ロボットのロボットアームと人とが協働して物体を運搬する場合において、ロボットアームの手先に発生している力とロボットアームの手先のハンドの角度から、物体の重量分をアシストしつつ人が物体に対して鉛直方向にかけている力を前記制御部により推定し、その推定した力に基づき鉛直方向の力制御を前記制御部により行うため、物体の重量が不明な場合又は物体の重量が途中で変化した場合でも、物体の重量を計測することなく、ロボットアームと人とが協働して物体を運搬することができるロボット制御が実現できる。
 さらに、ロボットアームの手先に発生している力と手先角度から人が運搬しようとしている力を推定するのと同時に、ロボットアームの手先に発生している力にも基づいて鉛直方向の力制御を行うため、運搬している物体が下にある他の物体と干渉したときに無理に押し付けあうことのない安全なロボット制御が可能となる。
 本発明のこれらと他の目的と特徴は、添付された図面についての好ましい実施形態に関連した次の記述から明らかになる。この図面においては、
図1は、本発明の1つの実施形態におけるロボットシステムの構成の概要を示す図であり、 図2は、本発明の前記実施形態における前記ロボットシステムを構成するロボット制御装置と制御対象であるロボットアームの詳細構成を示す図であり、 図3Aは、本発明の前記実施形態における前記ロボット制御装置の制御ブロック図であり、 図3Bは、本発明の前記実施形態における前記ロボット制御装置の別の制御ブロック図であり、 図4Aは、本発明の前記実施形態における前記ロボット制御装置により制御される前記ロボットアームの手先における記号などを説明するための説明図であり、 図4Bは、本発明の前記実施形態における前記ロボット制御装置により制御される前記ロボットアームの手先におけるロール角、ピッチ角、ヨー角について説明するための説明図であり、 図4Cは、本発明の前記実施形態における前記ロボット制御装置により制御される前記ロボットアームの手先におけるロール角、ピッチ角、ヨー角について説明するための説明図であり、 図4Dは、本発明の前記実施形態における前記ロボット制御装置により制御される前記ロボットアームの手先におけるロール角、ピッチ角、ヨー角について説明するための説明図であり、 図5は、本発明の前記実施形態における前記ロボットアームの手先における記号などを説明するための説明図であり、 図6Aは、本発明の前記実施形態における前記ロボットアームと人との協働による物体運搬の状態を示す図であり、 図6Bは、本発明の前記実施形態における前記ロボットアームと人との協働による物体運搬の状態を示す図であり、 図6Cは、本発明の前記実施形態における前記ロボットアームと人との協働による物体運搬の状態を示す図であり、 図6Dは、本発明の前記実施形態における前記ロボットアームと人との協働による物体運搬の状態を示す図であり、 図7は、本発明の前記実施形態にかかる前記ロボット制御装置における推定パラメータデータベースの一例を表形式で示す図であり、 図8は、本発明の前記実施形態における前記ロボット制御装置の運動制御部の物体運搬動作制御を行なうための動作ステップを表すフローチャートであり、 図9は、本発明の前記実施形態における前記ロボット制御装置の前記運動制御部の運搬物載置判定動作ステップを表すフローチャートであり、 図10は、本発明の前記実施形態における前記ロボットアームと人との協働による前記物体の載置時の状態を示す説明図であり、 図11は、本発明の前記実施形態における前記ロボット制御装置において、運搬物載置判定部により運搬物載置判定方法の一例を説明するための図(図11の(a)は前記ロボットアームの手先z位置と時間tとの関係を表すグラフ、図11の(b)は前記ロボットアームの角度ωと時間tとの関係を表すグラフ、図11の(c)は前記ロボットアームの鉛直方向の力Fと時間tとの関係を表すグラフ)であり、 図12は、本発明の前記実施形態の変形例にかかるロボットシステムを示す説明図であり、 図13Aは、従来例におけるロボット制御装置の概要を示す図であり、 図13Bは、従来例におけるロボット制御装置の課題を説明するための図である。
 以下、図面を参照して本発明における実施形態を詳細に説明する前に、本発明の種々の態様について説明する。
 本発明の第1態様によれば、
 ロボットアームと、前記ロボットアームの手先に配置されたハンドとを有して、前記人と前記ロボットとの間に位置した物体を前記人と前記ハンドとで保持した状態で協働して前記物体を運搬するロボットであって、
 前記ハンドの角度を調整する駆動部と、
 前記物体と前記ハンドとの間に働く力を検出して出力する力検出部と、
 前記ハンドの前記角度を検出して出力する角度検出部と、
 前記角度検出部の出力と前記力検出部の出力とに基づいて前記ロボットアームの鉛直方向の力が所定の力となるよう制御する力制御を行う制御部とを備えるロボットを提供する。
 本発明の第2態様によれば、
 前記制御部は、前記角度検出部の出力と前記力検出部の出力とを使用して前記人が前記ロボットに鉛直方向に作用させようとする力を推定し、推定した力で前記ロボットアームの鉛直方向の力が所定の力となるよう制御する力制御を行なう第1態様に記載のロボットを提供する。
 本発明の第3態様によれば、
 前記力検出部は、前記物体と前記ハンドとの間に働く鉛直方向の力を検出して出力し、
 前記制御部は、前記角度検出部の出力と前記力検出部の出力とに基づいて前記力制御の鉛直方向の入力を決定し、前記人が前記物体を持ち上げて前記力制御の鉛直方向の入力が上向きとなるとき、前記ロボットアームを上昇させるように力制御を行うとともに、前記人が前記物体を下降させて前記力制御の鉛直方向の入力が下向きとなるとき、前記ロボットアームを下降させるように力制御を行う一方、前記力検出部で検出された前記鉛直方向の力が大きくなるとき前記ロボットアームの上向きの力を増加させるように力制御を行う一方、前記力検出部で検出された前記鉛直方向の力が小さくなるとき前記ロボットアームの上向きの力を減少させるように力制御を行う第1又は2の態様に記載のロボットを提供する。
 本発明の第4態様によれば、
 人と、ロボットアームと前記ロボットアームの手先に配置されたハンドとを有するロボットとの間に位置した物体を前記人と前記ハンドとで保持した状態で協働して前記物体を運搬するように前記ロボットを制御する、ロボットの制御装置であって、
 前記物体と前記ハンドとの間に働く力を検出する力検出部から検出された力情報及び駆動部により角度調整される前記ハンドの角度を検出する角度検出部から検出された角度情報を入力する入力部と、
 前記力検出部の前記力情報と前記角度検出部の前記角度情報とに基づいて前記ロボットアームの鉛直方向の力が所定の力となるよう制御する力制御を行う制御部とを備えるロボットの制御装置を提供する。
 本発明の第5態様によれば、
 前記角度検出部の出力と前記力検出部の出力に基づいて前記人が前記ロボットに鉛直方向に作用させようとする力を推定する運搬力推定部を備え、
 前記運搬力推定部にて推定した前記力に基づいて前記ロボットアームの鉛直方向の力が所定の力となるよう制御する力制御を行う第4態様に記載のロボットの制御装置を提供する。
 本発明の第6態様によれば、
 前記運搬力推定部は、前記力制御の鉛直方向の入力として、前記角度検出部の出力に係数を乗じた値と、前記力検出部の出力の鉛直成分に係数を乗じた値を加算した値を使用する第5態様に記載のロボットの制御装置を提供する。
 本発明の第7態様によれば、
 さらに、前記ロボットアームの手先の前記ハンドの位置を検出する手先位置検出部を備えるとともに、
 前記手先位置検出部の出力と、前記角度検出部の出力と、前記力検出部の出力とから、前記運搬している物体が物体載置面に載置されたか否かを判定する運搬物載置判定部を備え、
 前記運搬物載置判定部が前記物体が前記物体載置面に載置されたと判定した際には、前記ロボットアームの鉛直方向の制御を、前記力制御から位置制御に切り替える第4~6態様のいずれか1つに記載のロボットの制御装置を提供する。
 本発明の第8態様によれば、
 前記運搬物載置判定部は、前記ロボットアームの前記ハンドが水平面よりも下向きで、前記手先位置検出部の出力が、下降から停止に転じ、かつ前記力検出部の出力のうち、鉛直方向下向きの力が減少に転じたときに、前記運搬している物体が前記物体載置面に載置されたと判定する第7態様に記載のロボットの制御装置を提供する。
 本発明の第9態様によれば、
 人と、ロボットアームと前記ロボットアームの手先に配置されたハンドとを有するロボットとの間に位置した物体を前記人と前記ハンドとで保持した状態で協働して前記物体を運搬するように前記ロボットを制御する、ロボットの制御方法であって、
 前記物体と前記ハンドとの間に働く力を検出する力検出部から検出された力情報及び駆動部により角度調整される前記ハンドの角度を検出する角度検出部から検出された角度情報が入力され、
 前記力検出部の前記力情報と前記角度検出部の前記角度情報とに基づいて前記ロボットアームの鉛直方向の力が所定の力となるよう制御する力制御を制御部により行うロボットの制御方法を提供する。
 本発明の第10態様によれば、
 人と、ロボットアームと前記ロボットアームの手先に配置されたハンドとを有するロボットとの間に位置した物体を前記人と前記ハンドとで保持した状態で協働して前記物体を運搬するように前記ロボットを制御する、ロボットの制御プログラムであって、
 コンピュータに、
 前記物体と前記ハンドとの間に働く力を検出する力検出部から検出された力情報及び駆動部により角度調整される前記ハンドの角度を検出する角度検出部から検出された角度情報が入力される機能と、
 前記力検出部の前記力情報と前記角度検出部の前記角度情報とに基づいて前記ロボットアームの鉛直方向の力が所定の力となるよう制御する力制御を制御部により行う機能とを実現させるための、ロボットの制御装置の制御プログラムを提供する。
 以下、本発明の1つの実施形態にかかる、ロボット、ロボットの制御装置及び制御方法、並びに、ロボットの制御装置の制御プログラムについて、図面を用いて詳細に説明する。
 まず、本発明の1つの実施形態にかかるロボットシステム1の構成について説明する。図1は、本発明の前記実施形態におけるロボットシステム1の構成の概要を示す図である。
 図1に示したように、本発明の前記実施形態における、ロボットアーム5を有するロボット5A及びその制御装置4を備えるロボットシステム1は、キッチン又はテーブルなどの作業台近傍の壁面91にロボットアーム5の基端が載置され、ロボットアーム5の手先のハンド30は運搬対象の物体3の一端3aを保持例えば把持可能とし、物体3の一端3aと相対する他端3bを、ロボットアーム5と協働する人2が把持可能とし、人2とロボット5Aのロボットアーム5の手先のハンド30とが、人2とロボット5Aとの間に位置している物体3を保持した状態で人2とロボット5Aとが協働して物体3を運搬するシステムである。具体的には、ロボットアーム5のハンド30が物体3の一端(人2とロボット5Aとの間に位置している物体3のうちの、ロボット5Aに近い側の把持用部分、例えば、鍋の一方の把手3a)を把持しかつ人2が物体3の他端(人2とロボット5Aとの間に位置している物体3のうちの、人2に近い側の把持用部分、例えば、鍋の他方の把手3b)を把持している状態で、人2が物体3を運びたい方向に力をかけることで、ロボットシステム1のロボットアーム5が移動し、物体3をロボットアーム5と人2とが協働して運搬することができる。
 本発明の前記実施形態における物体3は、水若しくは具材の入った鍋、又は、食器、又は、家具などの重量物をも含むとともに、重量が途中で変化する物体(例えば、空の鍋を運搬していて途中で水又は具材を入れる鍋)をも含む概念であり、ロボットアーム5と人2とが保持しながら協働して運搬して載置面に載置することができる、対象物体である。
 また、本発明の前記実施形態において、ロボットアーム5の基端が作業台近傍の壁面91に配置したが、壁面のないアイランドキッチンの場合は、天井面又はアイランドキッチンの作業側面など作業をするのに適した場所に載置される。
 図2は、ロボットシステム1を構成する制御装置4と制御対象であるロボットアーム5の詳細構成を示す図である。さらに図4Aにロボットアーム5の前腕リンク32、手首部31、ハンド30を拡大して示す。
 制御装置4は、この前記実施形態では、一例として、一般的なパーソナルコンピュータにより構成されており、制御装置4は、推定パラメータデータベース7と、動作軌道プログラム用データベース37と、運搬制御部8とで構成される。このうち、図3A及び図3Bに示すように、推定パラメータデータベース7と、動作軌道プログラム用データベース37と、運搬制御部8は、制御プログラム6として構成することが可能なものである。
 入出力IF(インターフェース)9は、パーソナルコンピュータのPCIバスなどの拡張スロットに接続された、例えばD/Aボード、A/Dボード、カウンタボードなどを備えるように構成されている。
 制御装置4は、入力部の一例としての入出力IF9を介して、ロボットアーム5の各リンクマニピュレータを駆動するモータドライバ10と接続され、そのモータドライバ10に制御信号を送る。
 ロボットアーム5の動作を制御する制御装置4が実行されることにより、ロボットアーム5の各関節部の後述するエンコーダ11より出力される各関節角度情報、及び、力情報を検出しかつ後述する力検出部13より出力されるロボットアーム5の手先(ハンド30)に発生している力情報が、入出力IF9のカウンタボードを通じて制御装置4に取り込まれ、取り込まれた各関節角度情報及び力情報に基づき制御装置4によって各関節部の回転動作での制御指令値が算出される。算出された各制御指令値は、入出力IF9のD/Aボードを通じて、ロボットアーム5の各関節部を駆動制御するためのモータドライバ10に与えられ、モータドライバ10から送られた各制御指令値に従って、ロボットアーム5の各関節部のモータ12が駆動される。このモータドライバ10とモータ12とで駆動部の一例として機能する。また、エンコーダ11は、角度情報を出力する角度検出部の一例として機能する。
 ロボットアーム5は、一例として、6自由度の多リンクマニピュレータであり、ハンド30と、ハンド30が取り付けられている手首部31を先端に有する前腕リンク32と、前腕リンク32の基端に先端が回転可能に連結される上腕リンク33と、上腕リンク33の基端が回転可能に連結支持され壁面91に固定される台部34とを備えている。
 手首部31は、第4関節部27、第5関節部28、第6関節部29の3つの回転軸を有しており、前腕リンク32に対するハンド30の相対的な姿勢(向き)を変化させることができる。すなわち、図2,図4Aにおいて、第4関節部27は、手首部31に対するハンド30のΨ軸(縦軸)周りの相対的な姿勢を変化させることができる。第5関節部28は、手首部31に対するハンド30の、第4関節部27のΨ軸とは直交するΨ軸(横軸)周りの相対的な姿勢を変化させる。第6関節部29は、手首部31に対するハンド30の、第4関節部27のΨ軸及び第5関節部28のΨ軸とそれぞれ直交する手先先端方向の軸Ψ(横軸)周りの相対的な姿勢を変化させることができる。すなわち、ハンド30は、前腕リンク32の一端32aに対してΨ軸,Ψ軸,Ψ軸の3軸方向にそれぞれ独立して回転可能である。ここで、Ψ軸,Ψ軸,Ψ軸は、互いに直交する座標軸である。また、図2における、後述する手先座標系36とΨ軸,Ψ軸,Ψ軸は必ずしも一致しない。
 前腕リンク32の他端32bは、上腕リンク33の一端33aに対して第3関節部26周りに回転可能とする。前記実施形態では、第3関節部26周りに回転可能とは、第5関節部28のΨ軸と平行な横軸周りに回転可能を意味する。上腕リンク33の他端33bは、台部34に対して第2関節部25周りに回転可能とする。前記実施形態では、第2関節部25周りに回転可能とは、第5関節部28のΨ軸(第3関節部26の横軸)と平行な横軸周りに回転可能を意味する。台部34の上側可動部34aは、台部34の下側固定部34bに対して第1関節部24周りに回転可能とする。前記実施形態では、第1関節部24周りに回転可能とは、絶対座標系35のz軸周りに回転可能を意味している。
 この結果、ロボットアーム5は、第1関節部24から第6関節部29の合計6個の軸周りにそれぞれ独立して回転可能として、前記6自由度の多リンクマニピュレータを構成している。
 各軸の回転部分を構成する各関節部には、各関節部を構成する一対の部材(例えば、回動側部材と、該回動側部材を支持する支持側部材)のうちの一方の部材に備えられ、かつ後述するモータドライバ10により駆動制御される回転駆動装置の一例としてのモータ12(実際には、ロボットアーム5の各関節部の内部に配設されている)と、モータ12の回転軸の回転位相角(すなわち、関節角)を検出するエンコーダ11(実際には、ロボットアーム5の各関節部の内部に配設されている)とを備える。よって、各関節部を構成する一方の部材に備えられたモータ12の回転軸が、各関節部の他方の部材に連結されて前記回転軸を正逆回転させることにより、他方の部材を一方の部材に対して各軸周りに回転可能とする。
 35は、台部34の下側固定部34bに対して相対的な位置関係が固定された絶対座標系であり、36はハンド30に対して相対的な位置関係が固定された手先座標系である。絶対座標系35から見た手先座標系36の原点位置O(x,y,z)を、ロボットアーム5のハンド30の位置(すなわち、手先位置)とする。そして、絶対座標系35から見た手先座標系36の姿勢を、ロール角とピッチ角とヨー角を使用して座標(φ,θ,ψ)で表現する。この座標(φ,θ,ψ)を、ロボットアーム5の手先姿勢(ハンド30の姿勢)とし、手先位置及び姿勢ベクトルを、ベクトルr=[x、y、z、φ、θ、ψ]と定義する。ロール角、ピッチ角、ヨー角について図4B~図4Dを用いて説明する。まず、絶対座標系35のZ軸を回転軸として、座標系を角度φだけ回転させた座標系を考える(図4B参照)。このときの座標軸を[X’、Y’、Z]とする。次に、この座標系を、Y’を回転軸として角度θだけ回転させる(図4C参照)。このときの座標軸を[X'’、Y’、Z'’]とする。最後に、この座標系を、X'’を回転軸として角度ψだけ回転させる(図4D参照)。このときの座標系の姿勢をロール角度φ、ピッチ角度θ、ヨー角度ψとし、このときの姿勢ベクトルは(φ,θ,ψ)となる。姿勢(φ,θ,ψ)の座標系が原点位置を手先座標系36の原点位置O(x,y,z)に平行移動した座標系と、手先座標系36が一致する場合、手先座標系の姿勢ベクトルは(φ,θ,ψ)であるとする。
 ロボットアーム5の手先位置及び姿勢を制御する場合には、手先位置及び姿勢ベクトルrを、後述する目標軌道生成部18で生成された手先位置及び姿勢目標ベクトルrに運搬制御部8により追従させることになる。
 力検出部13は、ロボットアーム5のハンド30と運搬物体3の間に発生する力を検出もしくは推定して、その情報を出力する。一例として、力検出部13は、ハンド30と手首部31の間にある6軸の力センサを想定するが、物体3の運搬方向が限定される場合などは6軸以下でもかまわない。ただし、少なくとも、常に鉛直方向の力の検出ができる手段又は装置が必要となる。力検出部13からの出力は、推定パラメータデータベース7、運搬力推定部14、目標軌道生成部18、及び、運搬物載置判定部(運搬物体載置判定部)19に出力される。
 また、力検出部13の別の例として、センサを用いず、モータ電流値などから推定する力推定部(一例として、図3Bの13Aを参照)として構成するようにしてもよい。この場合、力検出部13(力推定部13A)による外力の推定は、次の方法で推定する。モータドライバ10の電流センサ10aは、ロボットアーム5の各関節部を駆動するモータ12を流れる電流値i=[i,i,i,i,i,iを計測する。力検出部13(力推定部13A)には、モータドライバ10の電流センサで計測された電流値i=[i,i,i,i,i,iが、入出力IF9のA/Dボードを介して取り込まれる。また、関節角の現在値qが、入出力IF9のカウンタボードを介して力検出部13(力推定部13A)に取り込まれるとともに、後述する近似逆運動学計算部22からの関節角度誤差補償出力uqeが力検出部13(力推定部13A)に取り込まれる。
 力検出部13(力推定部13A)は、オブザーバーとして機能し、前記電流値i、関節角の現在値q、関節角度誤差補償出力uqeの各情報から、ロボットアーム5に加わる外力によって各関節部に発生するトルクτextを算出する。そして、さらに、力検出部13(力推定部13A)は、Fext=J(q)-Tτextにより、ロボットアーム5の手先における等価手先外力Fextに換算して、換算後の力Fextを推定パラメータデータベース7と運搬力推定部14と目標軌道生成部18と運搬物載置判定部19とに出力する。ここで、J(q)は、
Figure JPOXMLDOC01-appb-M000001
 を満たすヤコビ行列である。ただし、v=[v、v、v、λ、λ、λであり、(v、v、v)は手先座標系36でのロボットアーム5の手先の並進速度、(λ、λ、λ)は手先座標系36でのロボットアーム5の手先の角速度である。
 図3A及び図3Bは運搬制御部8の詳細構成を示す図である。運搬制御部8は、運搬力推定部14と、力制御部15と、運搬物載置判定部19とを備えて構成される。力制御部15は、インピーダンス制御部17と、位置誤差計算部40と、位置制御部16と、目標軌道生成部18とを備えて構成される。さらに、位置制御部16は、位置誤差補償部20と、順運動学計算部21と、近似逆運動学計算部22とを備えて構成され、ロボットアーム5の目標軌道、並びに、ロボットアーム5の現在位置及び姿勢から、位置制御部16によりロボットアーム5の指令値を出力する。なお、力制御系は、上記方法以外にもハイブリッド制御などのその他の力制御方法を使ってもよい。
 ロボットアーム5からは、それぞれの関節部のエンコーダ11により計測された関節角の現在値(関節角度ベクトル)ベクトルq=[q,q,q,q,q,qが出力され、入出力IF9のカウンタボードにより運搬制御部8に取り込まれる。ただし、q,q,q,q,q,qは、それぞれ、エンコーダ11から検出された、第1関節部24、第2関節部25、第3関節部26、第4関節部27、第5関節部28、第6関節部29の関節角度である。
 目標軌道生成部18は、手先位置及び姿勢ベクトルrと動作軌道プログラム用データベース37と力検出部13からの力情報と後述する運搬物載置判定部19からの運搬物載置判定情報を基に、目標とするロボットアーム5の動作を実現するための手先位置及び姿勢目標ベクトルrを出力する。事前に決められた軌道に沿って位置制御を行う場合は、目標とするロボットアーム5の動作は、目的とする作業に応じてそれぞれの時間(t=0、t=t、t=t、・・・)でのポイントごとの位置(rd0、rd1、rd2、・・・)が動作軌道プログラム用データベース37に記憶された動作軌道プログラムに事前に与えられており、目標軌道生成部18は、動作軌道プログラム用データベース37からの前記それぞれの時間(t=0、t=t、t=t、・・・)でのポイントごとの位置(rd0、rd1、rd2、・・・)の情報と手先位置及び姿勢ベクトルrとを基に多項式補間を使用し、各ポイント間の軌道を補完し、手先位置及び姿勢目標ベクトルrを生成する。また、力制御を行う場合は、力制御開始時から手先位置及び姿勢目標ベクトルrの更新を停止することで、後述する手先位置及び姿勢目標補正出力rdΔによって力制御が実現される。なお、位置及び姿勢のうち一部のみ力制御を行いたい場合は、力制御を行いたい成分のみ、更新を停止することで、実現できる。
 インピーダンス制御部17は、ロボットアーム5に、機械インピーダンス設定値への上記ロボットアーム5の機械インピーダンスの値の制御を実現する機能を果たす部分であり、後述する運搬物載置判定部19からの運搬物載置判定情報が入力されるとともに、実験によって事前に設定されたインピーダンスパラメータである慣性M、粘性D、剛性Kと、運搬力推定部14が出力した運搬力Fcarryとから、上記ロボットアーム5の機械インピーダンスの値の機械インピーダンス設定値への制御を実現するための手先位置及び姿勢目標補正出力rdΔを以下の式(2)により計算し、位置制御部16に向けて出力する。手先位置及び姿勢目標補正出力rdΔは、目標軌道生成部18の出力する手先位置及び姿勢目標ベクトルrに位置誤差計算部40により加算され、手先位置及び姿勢補正目標ベクトルrdmが生成される。
Figure JPOXMLDOC01-appb-M000002
ただし、
Figure JPOXMLDOC01-appb-M000003
Figure JPOXMLDOC01-appb-M000004
Figure JPOXMLDOC01-appb-M000005
であり、sはラプラス演算子である。
 順運動学計算部21には、ロボットアーム5の各関節部のエンコーダ11により計測された関節角の現在値qである関節角度ベクトルqを、入出力IF9のカウンタボードを介して入力される。そして、順運動学計算部21では、ロボットアーム5の関節角度ベクトルqから手先位置及び姿勢ベクトルrへの変換の幾何科学的計算を行う。よって、順運動学計算部21は、ロボットアーム5の手先位置を検出する手先位置検出部の一例として機能する。順運動学計算部21で計算された手先位置及び姿勢ベクトルrは、目標軌道生成部18と運搬物載置判定部19と位置誤差補償部20と運搬力推定部14とに出力される。
 位置誤差補償部20は、ロボットアーム5において計測される関節角度ベクトルqから順運動学計算部21により計算される手先位置及び姿勢ベクトルrと、手先位置及び姿勢補正目標ベクトルrdmとの誤差r(=rdm-r)が入力され、位置誤差補償出力ureが、位置誤差補償部20から近似逆運動学計算部22に向けて出力される。
 近似逆運動学計算部22では、位置誤差補償部20から入力される位置誤差補償出力ureとロボットアーム5において計測される関節角度ベクトルqとに基づき、近似式uout=J(q)-1inにより、逆運動学の近似計算を行う。ただし、J(q)は、
Figure JPOXMLDOC01-appb-M000006
の関係を満たすヤコビ行列、uinは近似逆運動学計算部22への入力、uoutは近似逆運動学計算部22からの出力であり、入力uinを関節角度誤差qとすれば、q=J(q)-1のように手先位置及び姿勢誤差rから関節角度誤差qへの変換式となる。したがって、位置誤差補償部20から位置誤差補償出力ureが近似逆運動学計算部22に入力されると、近似逆運動学計算部22からの出力として、関節角度誤差qを補償するための関節角度誤差補償出力uqeが近似逆運動学計算部22からロボット5Aのモータドライバ10に向けて出力される。
 関節角度誤差補償出力uqeは、入出力IF9のD/Aボードを介してロボット5Aのモータドライバ10に電圧指令値として与えられ、それぞれのモータ12により各関節部が正逆回転駆動されロボットアーム5が動作する。
 以上のように構成されるインピーダンス制御部17に関して、ロボットアーム5のインピーダンス制御動作の原理について説明する。
 インピーダンス制御動作の基本は、位置誤差補償部20による手先位置及び姿勢誤差rのフィードバック制御(位置制御)であり、図3A及び図3Bの点線で囲まれかつ参照符号16により示された部分が位置制御部16になる。位置誤差補償部20として、例えば、PID補償器を使用すれば、手先位置及び姿勢誤差rが0に収束するように位置制御部16による制御が働き、目標とするロボットアーム5のインピーダンス制御動作を実現することができる。
 運搬力推定部14は、推定パラメータデータベース7からの出力情報、力検出部13からの出力情報、及び、ロボットアーム5の手先の姿勢情報qすなわち関節角度データ(関節変数ベクトル又は関節角度ベクトルq)から、ロボットアーム5と人2との協働運搬に必要な運搬力Fcarryを推定する。一例を、図5、図6A~6Bを用いて説明する。図5において参照符号23で示すωは、ロボットアーム5の手先が水平面となす角度であって、推定パラメータデータベース7により、手先位置及び姿勢ベクトルrから決定される角度を示している。ここでは、この角度ωにおいて、図5の矢印の向き(反時計回り)を正とする。図6Aで示すように、人2の腕2aとロボットアーム5が物体3の両方の把手3a,3bをそれぞれ支えているときに力検出部13で検出する鉛直方向の力をF(≦0)とする。鉛直方向の力Fの向きは、図2の絶対座標系35のz軸の向きを正とする。このときの力制御の鉛直方向の入力(運搬力推定部14から力制御部15への力制御の入力のうち、鉛直方向成分)を
Figure JPOXMLDOC01-appb-M000007
とする。ここで、k及びkωは、一例として、力検出部13で検出した鉛直方向の力Fの値と、ロボットアーム5の手先が水平面となす角度ωの値の正負で決定されるパラメータであり、力検出部13で検出した鉛直方向の力Fの値と、ロボットアーム5の手先が水平面となす角度ωの値の正負で決定されるパラメータ(係数)である。なお、k及びkωは、角度ωの値の正負によることなく、角度ωの値でもっと細かくパラメータ設定することも可能であり、鉛直方向の力Fと角度ωから一意に決定するパラメータと広く定義することもできる。
 図6Aで示すように、-kz0+(-kωωp0)=0のとき、力制御の入力が0となるので、この状態が釣り合い点となり、静止する。ここで、ωp0は、人2が物体3を持っており、図6Aに示すように、ロボットアーム5と人2との間で物体3が釣り合って保持されているときのロボットアーム5の手先の水平面に対する角度を意味する。また、Fz0は、人2が物体3を持っており、図6Aに示すように、ロボットアーム5と人2との間で物体3が釣り合って保持されているときのロボットアーム5の手先の鉛直方向の力である。
 図6Bで示すように、図6Aの釣り合いの状態から、人2が、物体3の一方の把手3bを上向きに持ち上げて、(ω=ωp+の状態(水平面に対して角度ωp+だけ、人2が物体3の把手3bを持ち上げた状態)となったとする。このとき、-k+kωωp+>0となり、力制御の鉛直方向の入力は上向きとなるので、ロボットアーム5は上昇する。逆に、図6Cで示すように、図6Aの釣り合いの状態から、人2が下向きの力を増加させ、(ω=ωp-の状態(水平面に対して角度ωp-だけ、人2が物体3の把手3bを下げた状態)となったとする。このとき、-k+kωωp-<0となり、力制御の鉛直方向の入力は下向きとなるので、ロボットアーム5は下降する。
 このように、運搬力推定部14において、前記式(7)を、力制御の鉛直方向の入力とすることで、人2が上下に動かしたい方向にロボットアーム5も協働して動くことができ、ロボットアーム5と人2との物体3の協働運搬が実現できる。また、この技術では、運搬する物体3の質量情報を事前に必要としない。さらに、物体3の重量が変化した場合、力検出部13で検出する鉛直方向の力Fが変化する。その結果、物体3の重量が増えた場合には、ロボットアーム5は上向きの力を増加させる一方、物体3の重量が減少した場合には、ロボットアーム5は上向きの力を減少させるので、物体3が重量変化をしても、何ら支障無く、協働運搬動作を行なうことができる。
 もし、運搬する物体3の重量の変動が比較的少ない場合には(例えば、物体3の重量の変動幅の閾値を5kgと予め設定しているとき、運搬する物体の重量が5kg以下であれば)(言い換えれば、人2側で吸収できる程度の物体3の重量変動であれば)、前記式(7)において、k=0として、kωωのみを用いてもよい。一般に、力検出部13の出力にはノイズがあるため、kωωのみとすることで(すなわち、ノイズの原因をとることで)、ノイズによる振動要因を減らすことが可能となる。
 図6Dで示すように、運搬する物体3もしくはロボットアーム5のハンド30の下に、運搬する物体3と、干渉する物体43とがある状況では、運搬する物体3と、干渉する物体43との間に発生する力
Figure JPOXMLDOC01-appb-M000008
によって、ロボットアーム5が受ける鉛直方向の下向きの力Fは0に近くなる(例えば、0.5N程度になる)。
 ここで、干渉する物体43がない場合には、ロボットアーム5が負担する物体3の重量は、常に鉛直方向下向きの力として検出される。もし、力検出部13で検出する鉛直方向の力Fが0より大きい場合は、運搬する物体3もしくはロボットアーム5のハンド30の下に、干渉する物体43があると、運搬力推定部14では判断し、安全のために、運搬力推定部14は、力検出部13で検出した鉛直方向の力を、そのまま出力する。これにより、運搬する物体3もしくはロボットアーム5のハンド30と、干渉する物体43とが押し付け合うことが防止できる。
 これらのことから、力検出部13で検出した鉛直方向の力をFとし、また、力検出部13のノイズ又は誤差の影響を考え(ただし、物体3とロボットアーム5のハンド30との間はハンド30による物体3のチャッキングなどの把持により相対的に不動である。)、運搬力推定部14における、ノイズ又は誤差の影響を考慮するか否かの切り替えの閾値を-εとすると、鉛直方向の運搬力
Figure JPOXMLDOC01-appb-M000009
は、
Figure JPOXMLDOC01-appb-M000010
と決まる。物体3の重量により変化する力は、鉛直方向の力、及び、ピッチ軸周りのトルクであるため(図4B~図4D参照)、それ以外の力に関しては、力検出部13で検出した力を、そのまま、運搬力推定部14から出力する。力検出部13で検出した6軸の力を
Figure JPOXMLDOC01-appb-M000011
とすると、運搬力推定部14の出力は、
Figure JPOXMLDOC01-appb-M000012
となる。ここで、
Figure JPOXMLDOC01-appb-M000013
は、ロボットアーム5の手先から、運搬する物体3の重心までの距離である。
 推定パラメータデータベース7は、力検出部13の出力情報F及びロボットアーム5の手先の姿勢情報ωに基づいて、パラメータk,kωをそれぞれ適宜選択し、運搬力推定部14に出力する。
 推定パラメータデータベース7の一例を図7に示す。この推定パラメータデータベース7では、ロボットアーム5の手先に予め発生している力の鉛直成分Fとロボットアーム5の手先が水平面となす角度ωとの組合せに対応して、パラメータk,kωの値がそれぞれ予め設定されて記憶されている。よって、前記力の鉛直成分と角度ωの情報が推定パラメータデータベース7に入力されると、推定パラメータデータベース7から、パラメータk,kωの値をそれぞれを出力する。例えば、F=-10であり、また、ω=0.1(すなわち、ωが正)のとき、k=0.52,kω=32を推定パラメータデータベース7から出力する。
 次に、運搬物載置判定部19の詳細について説明する。前記実施形態の場合、ノイズ、又は、力検出部13の一例である力センサのオフセットずれなどにより、図10のように、人2が、台90の上面(すなわち、物体載置面90a)の上に、運搬する物体3を置こうとしたにもかかわらず、ロボットアーム5のハンド30との力の釣り合いにより、物体3が傾いた状態になってしまうことが起こりうる。具体的には、例えば、物体3の一方の把手3aはロボットアーム5のハンド30に把持されたままで、物体3の他方の把手3bを持つ人2の腕2aを下げたことにより、物体3が人2側に傾いた状態になってしまうことが起こりうる。
 そこで、運搬物載置判定部19により、運搬中の物体3が物体載置面90aに載置したか否かを判定するようにしている。運搬物載置判定部19における、運搬物載置判定方法の一例を、図11の(a)~(c)のグラフを参照しながら説明する。
 まず、人2が台90の物体載置面90aの上に、運搬する物体3を置こうとする直前には、一般的に、運搬する物体3は、上から下へと移動し、ある位置で静止する。このような動作は、ロボットアーム5の手先位置のうちのz位置(手先位置及び姿勢ベクトルrのうちのz成分)の変動を検出することにより、運搬物載置判定部19で判定することができる。具体的には、図11において、手先z位置と時間tとの関係を表すグラフ(a)に示すように、ロボットアーム5の手先z位置(z方向の手先位置)に着目すると、物体3の載置の瞬間である時間t以前の期間でのz位置は、下降し続けており、物体3の載置の瞬間である時間tより後の期間でのz位置は、下降も上昇もせず、一定となる。
 よって、順運動学計算部21から入力される手先z位置が下降し続けたのち、ある時間tより後の期間でのz位置は、下降も上昇もせず、一定となったことを運搬物載置判定部19が検出すると、運搬物載置判定部19は、運搬物が載置されたと判定するようにしている。z位置が一定となるとの判定は、例えば図11の(a)のように、一定時間の間、z位置が一定範囲Δz内にある場合に一定であると判定する。一定範囲Δzは、事前の実験などにより、例えば10mm等に予め設定する。それ以外にも、zの時間微分を算出し、zの時間微分の絶対値が閾値以下の場合、すなわちzの速度が閾値以下の場合にzが一定であるなどとしてもよい。
 また、前記した人2が台90の物体載置面90aの上に、運搬する物体3を置こうとする直前には、図10に示すように、物体3の一方の把手3aはロボットアーム5のハンド30に把持されたままで、物体3の他方の把手3bを持つ人2の腕2aを下げることになる。よって、物体3の他方の把手3bを持つ人2の腕2aを下げたことにより、物体3が人2側に傾いたときは、ロボットアーム5の手先が水平面となす角度ωは、水平面よりも下向きとなっており、これを検出することにより、人2が運搬する物体3を物体載置面90aに載置しようとし始めたと判定することができる。具体的には、図11において、角度ωと時間tとの関係を表すグラフ(b)に示すように、時間t以降の期間は、角度ωが負の値で一定となる。
 よって、運搬物載置判定部19内で位置及び姿勢ベクトルrから角度ωを算出し、ある時間t以降の期間では、角度ωが負の値で一定となったことを運搬物載置判定部19が検出すると、運搬物載置判定部19は、運搬物が人2側に傾いたと判定し、人2が運搬する物体3を物体載置面90aに載置しようとし始めたと判定することができる。
 ここで言う一定とは、前述のz位置と同様の手法において、判定できる。また、力検出部13から運搬物載置判定部19に入力される、ロボットアーム5と物体3の間に発生する鉛直方向の力Fは、人2が、物体3の把手3bを持つ腕2aを水平面より下向きに動かしているときは、前記鉛直方向の力Fは下向きの値を持ち、物体3を前記載置面90aに載置するときには前記鉛直方向の力Fの絶対値は小さくなり、0に近づく。載置後、前記鉛直方向の力Fは負の値で一定状態となる。これを検出することにより、人2が運搬する物体3を物体載置面90aに載置しようとし、その後、載置したと判定することができる。具体的には、図11において、鉛直方向の力Fと時間tとの関係を表すグラフ(c)に示すように、鉛直方向の力Fは、物体3の載置の瞬間である時間t以前の期間では、前記鉛直方向の力Fは下向きの値を持ち、物体3の載置の瞬間である時間t前の期間に、前記鉛直方向の力Fは上昇し、物体3の載置の瞬間である時間tより後の期間は、前記鉛直方向の力Fは負の値で一定となる。
 力検出部13から入力される前記鉛直方向の力Fが下向きの値を持ち、ある時間t前の期間に、前記鉛直方向の力Fが減少し、前記ある時間tより後の期間は、前記鉛直方向の力Fが負の値で一定となったことを運搬物載置判定部19により検出したときには、運搬物載置判定部19は、運搬物3が載置されたと判定するようにしている。前記鉛直方向の力Fが減少したとの運搬物載置判定部19による判定は、前記鉛直方向の力Fを時間微分した値が、ある閾値以上のときに、減少したと、運搬物載置判定部19により判定する。閾値は、事前の実験などにより、例えば5N/s等に予め設定する。また、一定となったとの判定は、前記z方向の位置と同様の手法において、判定できる。
 以上のことから、運搬物載置判定部19は、ロボットアーム5の手先z位置の情報と、ロボットアーム5の手先が水平面となす角度ωの情報と、力検出部13の出力のうちの鉛直方向の力情報Fとから、前記角度検出部の一例であるエンコーダ11の出力に基づき前記ロボットアーム5の手先の前記ハンド30が水平面よりも下向きに傾斜していると判定し、かつ、前記手先位置検出部の一例である前記順運動学計算部21の出力に基づき手先z位置の変動が下降から一定に転じていると判定し、かつ、前記力検出部13の出力に基づき、鉛直方向下向きの力が減少に転じたと判定したとき(図11では、「物体3が載置する瞬間である時間tから一定時間Δt経過した後の時間tのとき)、物体3は載置面90aに載置された」と、運搬物載置判定部19により、みなす。一定時間Δtは、事前の実験などにより、例えば1秒等に予め設定する。
 次に、運搬物載置判定部19が、「物体3の物体載置面90aへの載置が解除された」とみなすときについて述べる。一般に、物体3を載置する場所は水平面であることが想定されるため、ロボットアーム5の手先角度は、水平方向よりも下向きから水平方向までの間にあると考えられる。このため、運搬物載置判定部19により、「物体3が物体載置面90aへ載置中である」と判定している間、運搬物載置を意味する信号を出力し続けるとともにロボットアーム5の手先角度をエンコーダ11から取得し続けて、ロボットアーム5の手先角度が、水平面よりも上向きになった時点で、「物体3の載置が解除された」と運搬物載置判定部19がみなし、運搬物載置判定部19は、運搬物載置を意味する信号の出力を停止する。また、ロボットアーム5と物体3の間に発生する鉛直方向の力Fは、物体3が載置面90aに載置したとしても、一般に、下向きの力から0までの間にある。よって、この範囲以外の前記鉛直方向の力Fを力検出部13により検出し(すなわち、前記鉛直方向の力Fが上向きの力となるのを力検出部13により検出し)、その検出情報が運搬物載置判定部19に入力されたときには、「ロボットアーム5のハンド30が載置面90aに物体3を押し付けている状態である」か、又は、「人2が物体3を上方向に持ち上げている状態である」と、運搬物載置判定部19は、みなすことができるため、このときも「物体3の載置が解除された」と、運搬物載置判定部19では、みなす。
 以上の運搬制御部8の動作ステップについて、図8、図9のフローチャートに基づいて説明する。これらの動作ステップの機能は、制御プログラム6(図2参照)としてコンピュータにそれぞれ実行させることが可能なものである。
 初めに、運搬物載置判定部19が動作していない場合について図8のフローチャートに基づいて説明する。
 ロボットアーム5の関節部のそれぞれのエンコーダ11により計測された関節角度データ(関節変数ベクトル又は関節角度ベクトルq)が、エンコーダ11から制御装置4に取り込まれる(ステップS1)。
 次いで、制御装置4に取り込まれた関節角度データ(関節変数ベクトル又は関節角度ベクトルq)に基づいて、近似逆運動学計算部22にて、ロボットアーム5の運動学計算に必要なヤコビ行列J等の計算を行う(ステップS2)。
 次いで、順運動学計算部21にて、ロボットアーム5のそれぞれのエンコーダ11からの関節角度データ(関節変数ベクトル又は関節角度ベクトルq)から、ロボットアーム5の現在の手先位置及び姿勢ベクトルrを計算して、推定パラメータデータベース7と位置誤差計算部40と目標軌道生成部18などに出力する(ステップS3)。
 次いで、力検出部13は、ロボットアーム5に取り付けられた力センサの出力を元に、手先に発生している力Fextを計算して、推定パラメータデータベース7と運搬力推定部14と目標軌道生成部18などに出力する(ステップS4)。
 次いで、運搬力推定部14は、ステップS3で順運動学計算部21により計算して求められた手先位置及び姿勢ベクトルrから、角度ωを決定する。図4B~図4Dのように手先姿勢を定義した場合、角度ω=θである。さらに、運搬力推定部14は推定パラメータデータベース7に角度ωを出力する。(ステップS5)。
 次いで、力検出部13の出力である力Fext及び前記角度ωから、パラメータk及びkωの値を推定パラメータデータベース7によりそれぞれ決定して、推定パラメータデータベース7から運搬力推定部14へそれぞれ出力する(ステップS6)。
 次いで、運搬力推定部14は、パラメータk及びkωと、手先に発生している力Fextと、角度ωと、関節角度データ(関節変数ベクトル又は関節角度ベクトルq)とから、運搬力Fcarryを計算して、インピーダンス制御部17へ出力する(ステップS7)。
 次いで、予め記憶されていたロボットアーム5の動作軌道プログラム用データベース37の動作軌道プログラムとステップS3で順運動学計算部21により計算して求められた手先位置及び姿勢ベクトルrとに基づき、目標軌道生成部18は、ロボットアーム5の手先位置及び姿勢目標ベクトルrを計算する(ステップS8)。
 次いで、インピーダンス制御部17は、実験によって予め設定された機械インピーダンスパラメータの慣性M、粘性D、剛性Kと、運搬力推定部14により計算されたロボットアーム5に加わる等価手先外力Fcarryとから、手先位置及び姿勢目標補正出力rdΔを、インピーダンス制御部17により計算して、位置誤差計算部40に出力する(ステップS9)。
 次いで、位置誤差計算部40は、目標軌道生成部18からの手先位置及び姿勢目標ベクトルrとインピーダンス制御部17からの手先位置及び姿勢目標補正出力rdΔとの和(r+rdΔ)である、手先位置及び姿勢補正目標ベクトルrdmを計算する。次いで位置誤差計算部40は、手先位置及び姿勢補正目標ベクトルrdmと順運動学計算部21からの現在の手先位置及び姿勢ベクトルrとの差(rdm-r)である、手先位置及び姿勢の誤差rを、計算し位置誤差補償部20に出力する。最後に、位置誤差補償部20は手先位置及び姿勢の誤差rが0に収束するようにロボットアーム5を制御するための制御入力となる、位置誤差補償出力ureを計算して、位置誤差補償部20から近似逆運動学計算部22に出力する(ステップS10)。位置誤差補償部20の具体例としてはPID補償器が考えられる。定数の対角行列である比例、微分、積分の3つのゲインを適切に調整することにより、位置誤差が0に収束するように位置誤差補償部20の制御が働く。
 次いで、近似逆運動学計算部22は、ステップS2で計算したヤコビ行列Jの逆行列を位置誤差補償出力ureに乗算することにより、位置誤差補償出力ureを、手先位置及び姿勢の誤差に関する値から関節角度の誤差に関する値である関節角度誤差補償出力uqeに変換して、ロボット5Aのモータドライバ10に出力する(ステップS11)。
 次いで、関節角度誤差補償出力uqeは、近似逆運動学計算部22からの情報を入出力IF9を通じ、モータドライバ10に与えられ、モータドライバ10は、関節角度誤差補償出力uqeに基づき、関節部のそれぞれのモータ12を流れる電流量を変化させる。この電流量の変化により、ロボットアーム5のそれぞれの関節部の回転運動が発生して、ロボットアーム5が動作を行なう(ステップS12)。
 次いで、前記運搬制御動作のステップS1~ステップS12を続ける場合にはステップS1に戻る一方、それ以外の場合(電源を切る又はロボットを停止させるのではなく、前記運搬制御動作のみを終了させる場合)には前記運搬制御動作のステップS1~ステップS12を終了する(ステップS13)。
 以上のステップS1~ステップS12が制御の計算ループとして繰り返し実行されることにより、ロボットアーム5の動作の制御、すなわち、人2とロボットアーム5が協働して物体3を運搬する運搬動作を実現することができる。
 次に、運搬物載置判定部19が運搬物の載置判定動作を行なう場合について、図9のフローチャートに基づいて説明する。
 ロボットアーム5の関節部それぞれのエンコーダ11により計測された関節角度データ(関節変数ベクトル又は関節角度ベクトルq)が、エンコーダ11から制御装置4に取り込まれる(ステップS21)。
 次いで、制御装置4に取り込まれた関節角度データ(関節変数ベクトル又は関節角度ベクトルq)に基づいて、近似逆運動学計算部22にて、ロボットアーム5の運動学計算に必要なヤコビ行列J等の計算を行う(ステップS22)。
 次いで、順運動学計算部21にて、ロボットアーム5のそれぞれのエンコーダ11からの関節角度データ(関節変数ベクトル又は関節角度ベクトルq)から、ロボットアーム5の現在の手先位置及び姿勢ベクトルrを計算して、推定パラメータデータベース7と位置誤差補償部20と目標軌道生成部18と運搬物載置判定部19とに出力する(ステップS23)。
 次いで、力検出部13は、ロボットアーム5に取り付けられた力センサの出力を元に、手先に発生している力Fextを計算して、推定パラメータデータベース7と運搬力推定部14と目標軌道生成部18と運搬物載置判定部19とに出力する。(ステップS24)。
 次いで、運搬力推定部14及び運搬物載置判定部19は、ステップS3で順運動学計算部21により計算して求められた手先位置及び姿勢ベクトルrから、角度ωを決定する。図4B~図4Dのように手先姿勢を定義した場合、角度ω=θである。さらに、運搬力推定部14は推定パラメータデータベース7に角度ωを出力する。(ステップS25)。
 次いで、運搬物載置判定部19は、力検出部13の出力のうちの鉛直方向の力情報Fが入力される(ステップS26)。さらに、ステップS3で順運動学計算部21により計算して求められた手先位置及び姿勢ベクトルrから手先z位置(手先位置及び姿勢ベクトルrのうちのz成分)を決定する。
 次いで、入力された情報を基に、運搬物載置判定部19は、運搬している物体3が机などの台90の物体載置面90aに載置したか否かを検出して、その判定を行う(ステップS27)。具体的には、先に説明したように、運搬物載置判定部19は、前記順運動学計算部21からのロボットアーム5の手先z位置の情報と手先が水平面となす角度ωの情報と、力検出部13からの出力のうちの鉛直方向の力情報Fとから、「物体3は載置面90aに載置された」か否かを判定する。
 よって、例えば、運搬物載置判定部19が、前記順運動学計算部21により計算して求められた手先位置及び姿勢ベクトルrから算出した手先が水平面となす角度ωに基づき前記ロボットアーム5の手先の前記ハンド30が水平面よりも下向きに傾斜していると判定し、かつ、前記順運動学計算部21の出力に基づき手先z位置の変動が下降から一定に転じていると判定し、かつ、前記力検出部13の出力に基づき、鉛直方向下向きの力が減少に転じたと判定したとき(図11では、「物体3が載置する瞬間である時間tから一定時間Δt経過した後の時間tのとき)、物体3は載置面90aに載置された」と、運搬物載置判定部19により、みなす。ここで、一定時間Δtは、事前の実験などにより、例えば1秒等に予め設定する。
 逆に、これ以外の場合には、「物体3は載置面90aに載置されていない」と、運搬物載置判定部19により判定する。
 以下、ステップS27にて、「物体3は載置面90aに載置されていない」と運搬物載置判定部19により判定された場合に、力制御を行なうことについて説明する。
 推定パラメータデータベース7は力検出部13の出力である力Fext及び運搬力推定部14から入力された角度ωから、パラメータk及びkωの値を推定パラメータデータベース7によりそれぞれ決定して、推定パラメータデータベース7から運搬力推定部14へそれぞれ出力する(ステップS28)。
 次いで、運搬力推定部14は、パラメータk及びkωと、手先に発生している力Fextと、角度ωと、関節角度データ(関節変数ベクトル又は関節角度ベクトルq)とから、運搬力Fcarryを計算して、インピーダンス制御部17へ出力する(ステップS29)。
 次いで、予め記憶されていたロボットアーム5の動作軌道プログラム用データベース37の動作軌道プログラムとステップS23で順運動学計算部21により計算して求められた手先位置及び姿勢ベクトルrと力検出部13からの力情報とに基づき、目標軌道生成部18は、ロボットアーム5の手先位置及び姿勢目標ベクトルrを計算して、位置誤差計算部40に出力する(ステップS30)。
 次いで、インピーダンス制御部17は、実験によって予め設定された機械インピーダンスパラメータの慣性M、粘性D、剛性Kと、運搬力推定部14により計算されたロボットアーム5に加わる等価手先外力Fcarryとから、手先位置及び姿勢目標補正出力rdΔを、インピーダンス制御部17により計算して、位置誤差計算部40に出力する(ステップS31)。
 次いで、位置誤差計算部40は、目標軌道生成部18からの手先位置及び姿勢目標ベクトルrとインピーダンス制御部17からの手先位置及び姿勢目標補正出力rdΔとの和(r+rdΔ)である、手先位置及び姿勢補正目標ベクトルrdmを計算する。次いで位置誤差計算部40は、手先位置及び姿勢補正目標ベクトルrdmと順運動学計算部21からの現在の手先位置及び姿勢ベクトルrとの差(rdm-r)である、手先位置及び姿勢の誤差rを、計算し位置誤差補償部20に出力する。最後に、位置誤差補償部20は手先位置及び姿勢の誤差rが0に収束するようにロボットアーム5を制御するための制御入力となる、位置誤差補償出力ureを計算して、位置誤差補償部20から近似逆運動学計算部22に出力する(ステップS32)。位置誤差補償部20の具体例としてはPID補償器が考えられる。定数の対角行列である比例、微分、積分の3つのゲインを適切に調整することにより、位置誤差が0に収束するように位置誤差補償部20の制御が働く。
 次いで、近似逆運動学計算部22は、ステップS22で計算したヤコビ行列Jの逆行列を位置誤差補償出力ureに乗算することにより、位置誤差補償出力ureを、手先位置及び姿勢の誤差に関する値から関節角度の誤差に関する値である関節角度誤差補償出力uqeに変換して、ロボット5Aのモータドライバ10に出力する(ステップS33)。
 次いで、関節角度誤差補償出力uqeは、近似逆運動学計算部22からの情報を入出力IF9を通じ、モータドライバ10に与えられ、モータドライバ10は、関節角度誤差補償出力uqeに基づき、関節部のそれぞれのモータ12を流れる電流量を変化させる。この電流量の変化により、ロボットアーム5のそれぞれの関節部の回転運動が発生して、ロボットアーム5が動作を行なう(ステップS34)。
 次いで、前記運搬制御動作のステップS21~ステップS36を続ける場合にはステップS21に戻る一方、それ以外の場合(電源を切る又はロボットを停止させるのではなく、前記運搬制御動作のみを終了させる場合)には前記運搬制御動作のステップS21~ステップS36を終了する(ステップS37)。
 次に、ステップS27にて、「物体3は載置面90aに載置された」と運搬物載置判定部19により判定された場合に、位置制御を行なうことについて図9を用いて説明する。
 動作軌道プログラム用データベース37には「物体3は載置面90aに載置された」と判定された場合にロボットアーム5が動作する軌道を予め記憶しておく。物体3の傾きを修正するための軌道として、ここでは一例として、毎秒10mmの速度で鉛直方向下向きに移動するとする。運搬物載置判定部19により「物体3は載置面90aに載置された」と判定された場合、予め記憶されている載置時の動作軌道プログラム用データベース37の動作軌道プログラムが目標軌道生成部18に入力される。
 目標軌道生成部18は、ロボットアーム5の手先に発生している力のうち、鉛直方向の力Fzが下向きの力のときは、ロボットアーム5の動作軌道プログラム用データベース37の動作軌道プログラムとステップS23で順運動学計算部21により計算して求められた手先位置及び姿勢ベクトルrに基づき、ロボットアーム5の手先位置及び姿勢目標ベクトルrdを計算し、位置誤差計算部40に出力する。また、ロボットアーム5の手先に発生している力のうち、鉛直方向の力Fzが0または上向きになったときは、目標軌道生成部18は、ロボットアーム5の手先位置及び姿勢目標ベクトルrdを更新せず、位置誤差計算部40に同じ値を出力し続ける。(ステップS35)。これにより、ロボットアーム5は物体3が載置面90aに傾きなく載置されるまで下がり続け、物体3が載置面90aに傾きなく載置されロボットに下向きの力を与えなくなった所で停止する。
 次いで、位置誤差計算部40は、目標軌道生成部18からの手先位置及び姿勢目標ベクトルrとインピーダンス制御部17からの手先位置及び姿勢目標補正出力rdΔとの和(r+rdΔ)である、手先位置及び姿勢補正目標ベクトルrdmを計算するが、インピーダンス制御部17からの手先位置及び姿勢目標補正出力rdΔが0であるため、r=rdmとなる。次いで、手先位置及び姿勢補正目標ベクトルrdmと順運動学計算部21からの現在の手先位置及び姿勢ベクトルrとの差(rdm-r)である、手先位置及び姿勢の誤差rを、位置誤差計算部40により計算し位置誤差補償部20に出力する。最後に、手先位置及び姿勢の誤差rが0に収束するようにロボットアーム5を制御するための制御入力となる、位置誤差補償出力ureを位置誤差補償部20により計算して、位置誤差補償部20から近似逆運動学計算部22に出力する(ステップS36)。位置誤差補償部20の具体例としてはPID補償器が考えられる。定数の対角行列である比例、微分、積分の3つのゲインを適切に調整することにより、位置誤差が0に収束するように位置誤差補償部20の制御が働く。
 次いで、前述のステップS34が行われる。
 以上のステップS21~ステップS36が制御の計算ループとして繰り返し実行されることにより、ロボットアーム5の運搬動作及び運搬物の載置動作の制御、すなわち、人2とロボットアーム5が協働して物体3を運搬し、物体3の載置時には物体3が水平面に対して傾かずに載置できる、ロボットアーム5の動作を実現することができる。
 前記実施形態では、運搬物載置判定部19が物体3の載置を判定した後、載置判定結果に基づき、運搬物載置判定部19での判定結果に基づき、運搬物載置動作を行うようにロボットアーム5の力制御と位置制御とを自動で切り替えるようにしたが、安全のため、例えば、ボタンなどを設けて、運搬物載置判定部19が物体3の載置を判定していて、かつ人2がボタンを押したときだけ、ロボットアーム5の力制御と位置制御とを切り替えるようにしてもよい。これにより、人2が意図したときのみロボットアーム5の力制御と位置制御とを切り替えることができ、人2が意図しない場合にはロボットアーム5の力制御と位置制御との切り替えが行なわれないため、より安全性を高めることができる。
 なお、前記実施形態では、6軸すべての方向に対して力制御を行うとしたが、鉛直方向の移動及びピッチ量以外については力制御ではなく、位置制御によって動かしてもよい。
 以上のように、本発明の前記実施形態にかかる制御装置4によれば、人2とロボットアーム5で協働して物体3を運搬する際に、物体3の重量がわからない場合又は物体3の重量が途中で変化した場合にも、物体3を円滑に運搬でき、さらに干渉物体43に物体3を押し付けることがない、安全なロボット制御を実現できる制御装置を提供することができる。
 また、図12に示すように、ロボットアーム5の基端が壁面9に固定されるものに限らず、壁面9に固定された一対のレール38に、レール38に沿って移動可能な、スライドユニットである移動体39にロボットアーム5の基端が支持され、レール38上をロボットアーム5がレール38沿いに横方向例えば水平方向に移動可能とするようにしてもよい。移動体39は、制御装置4の制御の下に自走可能なモータなどが内蔵されていてもよいし、又は、レール38沿いに移動体39が移動自在として、人2の力により、運搬方向に人2と共に移動自在としてもよい。
 なお、前記様々な実施形態のうちの任意の実施形態を適宜組み合わせることにより、それぞれの有する効果を奏するようにすることができる。
 本発明は、家庭用ロボットなど人と協働作業を行うロボット、ロボットのロボットアームの動作の制御を行なうロボット(アーム)の制御装置及び制御方法、並びに、ロボットの制御装置の制御プログラムとして有用である。また、家庭用ロボットに限らず、人と協働作業を行う産業用ロボット、又は、生産設備等における可動機構のロボットアームの制御装置及び制御方法、ロボットアームの制御装置を有するロボット、及びロボットアームの制御プログラムとしても適用が可能である。
 本発明は、添付図面を参照しながら好ましい実施形態に関連して充分に記載されているが、この技術の熟練した人々にとっては種々の変形又は修正は明白である。そのような変形又は修正は、添付した請求の範囲による本発明の範囲から外れない限りにおいて、その中に含まれると理解されるべきである。

Claims (10)

  1.  ロボットアームと、前記ロボットアームの手先に配置されたハンドとを有して、前記人と前記ロボットとの間に位置した物体を前記人と前記ハンドとで保持した状態で協働して前記物体を運搬するロボットであって、
     前記ハンドの角度を調整する駆動部と、
     前記物体と前記ハンドとの間に働く力を検出して出力する力検出部と、
     前記ハンドの前記角度を検出して出力する角度検出部と、
     前記角度検出部の出力と前記力検出部の出力とに基づいて前記ロボットアームの鉛直方向の力が所定の力となるよう制御する力制御を行う制御部とを備えるロボット。
  2.  前記制御部は、前記角度検出部の出力と前記力検出部の出力とを使用して前記人が前記ロボットに鉛直方向に作用させようとする力を推定し、推定した力で前記ロボットアームの鉛直方向の力が所定の力となるよう制御する力制御を行なう請求項1に記載のロボット。
  3.  前記力検出部は、前記物体と前記ハンドとの間に働く鉛直方向の力を検出して出力し、
     前記制御部は、前記角度検出部の出力と前記力検出部の出力とに基づいて前記力制御の鉛直方向の入力を決定し、前記人が前記物体を持ち上げて前記力制御の鉛直方向の入力が上向きとなるとき、前記ロボットアームを上昇させるように力制御を行うとともに、前記人が前記物体を下降させて前記力制御の鉛直方向の入力が下向きとなるとき、前記ロボットアームを下降させるように力制御を行う一方、前記力検出部で検出された前記鉛直方向の力が大きくなるとき前記ロボットアームの上向きの力を増加させるように力制御を行う一方、前記力検出部で検出された前記鉛直方向の力が小さくなるとき前記ロボットアームの上向きの力を減少させるように力制御を行う請求項1又は2に記載のロボット。
  4.  人と、ロボットアームと前記ロボットアームの手先に配置されたハンドとを有するロボットとの間に位置した物体を前記人と前記ハンドとで保持した状態で協働して前記物体を運搬するように前記ロボットを制御する、ロボットの制御装置であって、
     前記物体と前記ハンドとの間に働く力を検出する力検出部から検出された力情報及び駆動部により角度調整される前記ハンドの角度を検出する角度検出部から検出された角度情報を入力する入力部と、
     前記力検出部の前記力情報と前記角度検出部の前記角度情報とに基づいて前記ロボットアームの鉛直方向の力が所定の力となるよう制御する力制御を行う制御部とを備えるロボットの制御装置。
  5.  前記角度検出部の出力と前記力検出部の出力に基づいて前記人が前記ロボットに鉛直方向に作用させようとする力を推定する運搬力推定部を備え、
     前記運搬力推定部にて推定した前記力に基づいて前記ロボットアームの鉛直方向の力が所定の力となるよう制御する力制御を行う請求項4に記載のロボットの制御装置。
  6.  前記運搬力推定部は、前記力制御の鉛直方向の入力として、前記角度検出部の出力に係数を乗じた値と、前記力検出部の出力の鉛直成分に係数を乗じた値を加算した値を使用する請求項5に記載のロボットの制御装置。
  7.  さらに、前記ロボットアームの手先の前記ハンドの位置を検出する手先位置検出部を備えるとともに、
     前記手先位置検出部の出力と、前記角度検出部の出力と、前記力検出部の出力とから、前記運搬している物体が物体載置面に載置されたか否かを判定する運搬物載置判定部を備え、
     前記運搬物載置判定部が前記物体が前記物体載置面に載置されたと判定した際には、前記ロボットアームの鉛直方向の制御を、前記力制御から位置制御に切り替える請求項4~6のいずれか1つに記載のロボットの制御装置。
  8.  前記運搬物載置判定部は、前記角度検出部の出力によりロボットアームの前記ハンドが水平面よりも下向きであり、かつ、前記手先位置検出部の出力により前記手先位置の変動が下降から一定に転じ、かつ前記力検出部の出力のうち、鉛直方向下向きの力が減少に転じたときに、前記運搬している物体が前記物体載置面に載置されたと判定する請求項7に記載のロボットの制御装置。
  9.  人と、ロボットアームと前記ロボットアームの手先に配置されたハンドとを有するロボットとの間に位置した物体を前記人と前記ハンドとで保持した状態で協働して前記物体を運搬するように前記ロボットを制御する、ロボットの制御方法であって、
     前記物体と前記ハンドとの間に働く力を検出する力検出部から検出された力情報及び駆動部により角度調整される前記ハンドの角度を検出する角度検出部から検出された角度情報が入力され、
     前記力検出部の前記力情報と前記角度検出部の前記角度情報とに基づいて前記ロボットアームの鉛直方向の力が所定の力となるよう制御する力制御を制御部により行うロボットの制御方法。
  10.  人と、ロボットアームと前記ロボットアームの手先に配置されたハンドとを有するロボットとの間に位置した物体を前記人と前記ハンドとで保持した状態で協働して前記物体を運搬するように前記ロボットを制御する、ロボットの制御プログラムであって、
     コンピュータに、
     前記物体と前記ハンドとの間に働く力を検出する力検出部から検出された力情報及び駆動部により角度調整される前記ハンドの角度を検出する角度検出部から検出された角度情報が入力される機能と、
     前記力検出部の前記力情報と前記角度検出部の前記角度情報とに基づいて前記ロボットアームの鉛直方向の力が所定の力となるよう制御する力制御を制御部により行う機能とを実現させるための、ロボットの制御装置の制御プログラム。
PCT/JP2009/000382 2008-02-06 2009-02-02 ロボット、ロボットの制御装置及び制御方法、並びに、ロボットの制御装置の制御プログラム WO2009098855A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2009543298A JP4445038B2 (ja) 2008-02-06 2009-02-02 ロボット、ロボットの制御装置及び制御方法、並びに、ロボットの制御装置の制御プログラム
CN200980101178.2A CN101952087B (zh) 2008-02-06 2009-02-02 机器人、机器人的控制装置及控制方法
US12/712,441 US8024071B2 (en) 2008-02-06 2010-02-25 Robot, controlling device and controlling method for robot, and controlling program for robot-controlling device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2008026489 2008-02-06
JP2008-026489 2008-02-06

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US12/712,441 Continuation US8024071B2 (en) 2008-02-06 2010-02-25 Robot, controlling device and controlling method for robot, and controlling program for robot-controlling device

Publications (1)

Publication Number Publication Date
WO2009098855A1 true WO2009098855A1 (ja) 2009-08-13

Family

ID=40951936

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2009/000382 WO2009098855A1 (ja) 2008-02-06 2009-02-02 ロボット、ロボットの制御装置及び制御方法、並びに、ロボットの制御装置の制御プログラム

Country Status (4)

Country Link
US (1) US8024071B2 (ja)
JP (1) JP4445038B2 (ja)
CN (1) CN101952087B (ja)
WO (1) WO2009098855A1 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102470531A (zh) * 2010-01-04 2012-05-23 松下电器产业株式会社 机器人、机器人的控制装置及控制方法
CN103038030A (zh) * 2010-12-17 2013-04-10 松下电器产业株式会社 弹性体致动器驱动机构的控制装置及控制方法、以及控制程序
CN104339352A (zh) * 2013-08-09 2015-02-11 株式会社安川电机 机器人系统、机器人控制装置以及机器人控制方法
CN106426100A (zh) * 2016-11-07 2017-02-22 北京印刷学院 一种基于力反馈的精密操作桁架机器人及其控制方法

Families Citing this family (96)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101737603B (zh) * 2008-11-10 2011-11-30 鸿富锦精密工业(深圳)有限公司 万向关节
JP4962551B2 (ja) * 2009-10-20 2012-06-27 株式会社安川電機 ロボットシステムおよびロボットシステムの制御方法
JP4938118B2 (ja) * 2010-08-17 2012-05-23 ファナック株式会社 人間協調ロボットシステム
JP5612971B2 (ja) * 2010-09-07 2014-10-22 オリンパス株式会社 マスタスレーブマニピュレータ
DE102010052396A1 (de) * 2010-11-24 2012-05-24 Kuka Roboter Gmbh Verfahren und Vorrichtung zum Steuern einer Peripheriekomponente eines Robotersystems
KR20120058826A (ko) * 2010-11-30 2012-06-08 삼성전자주식회사 의료 장비의 제어 방법
JP5803155B2 (ja) 2011-03-04 2015-11-04 セイコーエプソン株式会社 ロボット位置検出装置及びロボットシステム
US9314921B2 (en) 2011-03-17 2016-04-19 Sarcos Lc Robotic lift device with human interface operation
CN102645775B (zh) * 2011-04-18 2014-08-27 京东方科技集团股份有限公司 一种获取基板的方法及设备
US9789603B2 (en) 2011-04-29 2017-10-17 Sarcos Lc Teleoperated robotic system
US8977388B2 (en) 2011-04-29 2015-03-10 Sarcos Lc Platform perturbation compensation
US8892258B2 (en) 2011-04-29 2014-11-18 Raytheon Company Variable strength magnetic end effector for lift systems
US8942846B2 (en) 2011-04-29 2015-01-27 Raytheon Company System and method for controlling a teleoperated robotic agile lift system
US20130013108A1 (en) * 2011-04-29 2013-01-10 Raytheon Company Robotic Agile Lift System With Extremity Control
TW201247373A (en) * 2011-05-23 2012-12-01 Hon Hai Prec Ind Co Ltd System and method for adjusting mechanical arm
US9566710B2 (en) 2011-06-02 2017-02-14 Brain Corporation Apparatus and methods for operating robotic devices using selective state space training
DE102011079116A1 (de) * 2011-07-14 2013-01-17 Kuka Roboter Gmbh Verfahren zum Überprüfen der Plausibilität der Ausgangssignale eines Resolvers
JP5907678B2 (ja) * 2011-07-20 2016-04-26 オリンパス株式会社 医療用動作機構およびマニピュレータ
JP5399593B2 (ja) * 2011-11-10 2014-01-29 パナソニック株式会社 ロボット、ロボットの制御装置、制御方法、及び制御プログラム
US9616580B2 (en) 2012-05-14 2017-04-11 Sarcos Lc End effector for a robotic arm
JP5942311B2 (ja) * 2013-02-25 2016-06-29 パナソニックIpマネジメント株式会社 ロボット、ロボットの制御装置及び制御方法、並びに、ロボット用制御プログラム
US9764468B2 (en) 2013-03-15 2017-09-19 Brain Corporation Adaptive predictor apparatus and methods
US9242372B2 (en) 2013-05-31 2016-01-26 Brain Corporation Adaptive robotic interface apparatus and methods
US9314924B1 (en) 2013-06-14 2016-04-19 Brain Corporation Predictive robotic controller apparatus and methods
US9384443B2 (en) 2013-06-14 2016-07-05 Brain Corporation Robotic training apparatus and methods
US9792546B2 (en) 2013-06-14 2017-10-17 Brain Corporation Hierarchical robotic controller apparatus and methods
US9579789B2 (en) 2013-09-27 2017-02-28 Brain Corporation Apparatus and methods for training of robotic control arbitration
US9597797B2 (en) 2013-11-01 2017-03-21 Brain Corporation Apparatus and methods for haptic training of robots
US9463571B2 (en) 2013-11-01 2016-10-11 Brian Corporation Apparatus and methods for online training of robots
US9358685B2 (en) * 2014-02-03 2016-06-07 Brain Corporation Apparatus and methods for control of robot actions based on corrective user inputs
DE102014207275A1 (de) * 2014-04-15 2015-10-15 Kuka Systems Gmbh Robotervorrichtung mit einer Linearachse
US9346167B2 (en) 2014-04-29 2016-05-24 Brain Corporation Trainable convolutional network apparatus and methods for operating a robotic vehicle
JP5820013B1 (ja) 2014-04-30 2015-11-24 ファナック株式会社 ワークを把持して搬送するロボットの安全監視装置
US10766133B2 (en) 2014-05-06 2020-09-08 Sarcos Lc Legged robotic device utilizing modifiable linkage mechanism
JP6140114B2 (ja) * 2014-07-31 2017-05-31 ファナック株式会社 移動式人協調型ロボット
US9630318B2 (en) 2014-10-02 2017-04-25 Brain Corporation Feature detection apparatus and methods for training of robotic navigation
US9804593B1 (en) * 2014-12-12 2017-10-31 X Development Llc Methods and systems for teaching positions to components of devices
US9592608B1 (en) * 2014-12-15 2017-03-14 X Development Llc Methods and systems for providing feedback during teach mode
JP5927284B1 (ja) * 2014-12-22 2016-06-01 ファナック株式会社 人との接触力を検出してロボットを停止させるロボット制御装置
JP6055002B2 (ja) * 2015-02-20 2016-12-27 ファナック株式会社 ロボットを退避動作させる人間協調ロボットシステム
JP6034895B2 (ja) * 2015-02-20 2016-11-30 ファナック株式会社 外力に応じてロボットを退避動作させる人間協調ロボットシステム
US9717387B1 (en) 2015-02-26 2017-08-01 Brain Corporation Apparatus and methods for programming and training of robotic household appliances
JP6577326B2 (ja) 2015-10-16 2019-09-18 ファナック株式会社 人と協働して物体を運搬するロボットを制御するロボット制御装置、ロボットシステム、およびその方法
CN108136604A (zh) * 2015-10-30 2018-06-08 川崎重工业株式会社 机器人系统的监视装置
CN105234963A (zh) * 2015-11-13 2016-01-13 中国科学院重庆绿色智能技术研究院 一种机器人的人-机交互安全防护系统
FR3044115B1 (fr) * 2015-11-25 2017-11-24 Commissariat Energie Atomique Procede de programmation d’un effort a exercer par un robot
US10471594B2 (en) * 2015-12-01 2019-11-12 Kindred Systems Inc. Systems, devices, and methods for the distribution and collection of multimodal data associated with robots
KR101724490B1 (ko) * 2015-12-02 2017-04-07 기아자동차 주식회사 협업로봇을 이용한 차량 생산시스템 및 생산방법
US9902071B2 (en) * 2015-12-18 2018-02-27 General Electric Company Control system and method for brake bleeding
US9919422B1 (en) 2016-01-06 2018-03-20 X Development Llc Methods and systems to provide mechanical feedback during movement of a robotic system
DE102017000063B4 (de) * 2016-01-14 2019-10-31 Fanuc Corporation Robotereinrichtung mit Lernfunktion
JP6423815B2 (ja) 2016-03-30 2018-11-14 ファナック株式会社 人協働型のロボットシステム
TWI581731B (zh) * 2016-05-05 2017-05-11 Solomon Tech Corp Automatic shopping the method and equipment
US10241514B2 (en) 2016-05-11 2019-03-26 Brain Corporation Systems and methods for initializing a robot to autonomously travel a trained route
US9987752B2 (en) 2016-06-10 2018-06-05 Brain Corporation Systems and methods for automatic detection of spills
US10282849B2 (en) 2016-06-17 2019-05-07 Brain Corporation Systems and methods for predictive/reconstructive visual object tracker
US10016896B2 (en) 2016-06-30 2018-07-10 Brain Corporation Systems and methods for robotic behavior around moving bodies
US20180021949A1 (en) * 2016-07-20 2018-01-25 Canon Kabushiki Kaisha Robot apparatus, robot controlling method, program, and recording medium
JP6760786B2 (ja) 2016-07-21 2020-09-23 Thk株式会社 移動ロボット及び制御方法
US10274325B2 (en) 2016-11-01 2019-04-30 Brain Corporation Systems and methods for robotic mapping
US10001780B2 (en) 2016-11-02 2018-06-19 Brain Corporation Systems and methods for dynamic route planning in autonomous navigation
US10765537B2 (en) 2016-11-11 2020-09-08 Sarcos Corp. Tunable actuator joint modules having energy recovering quasi-passive elastic actuators for use within a robotic system
US10919161B2 (en) 2016-11-11 2021-02-16 Sarcos Corp. Clutched joint modules for a robotic system
US10828767B2 (en) 2016-11-11 2020-11-10 Sarcos Corp. Tunable actuator joint modules having energy recovering quasi-passive elastic actuators with internal valve arrangements
US10821614B2 (en) 2016-11-11 2020-11-03 Sarcos Corp. Clutched joint modules having a quasi-passive elastic actuator for a robotic assembly
US10723018B2 (en) 2016-11-28 2020-07-28 Brain Corporation Systems and methods for remote operating and/or monitoring of a robot
JP6392910B2 (ja) 2017-01-13 2018-09-19 ファナック株式会社 ロボットの安全確保動作機能を備えた人間協働ロボットシステム
US10377040B2 (en) 2017-02-02 2019-08-13 Brain Corporation Systems and methods for assisting a robotic apparatus
US10852730B2 (en) 2017-02-08 2020-12-01 Brain Corporation Systems and methods for robotic mobile platforms
JP6420388B2 (ja) * 2017-03-13 2018-11-07 ファナック株式会社 サーボモータ制御装置、及び、サーボモータ制御システム
US10293485B2 (en) 2017-03-30 2019-05-21 Brain Corporation Systems and methods for robotic path planning
JP6946057B2 (ja) 2017-05-30 2021-10-06 キヤノン株式会社 ロボットハンド、ロボットハンドの制御方法、ロボット装置
TWI642523B (zh) * 2017-09-21 2018-12-01 上銀科技股份有限公司 用於機械臂之負載估測重力補償的方法及其負載估測重力補償系統
US10843330B2 (en) 2017-12-07 2020-11-24 Sarcos Corp. Resistance-based joint constraint for a master robotic system
US11331809B2 (en) 2017-12-18 2022-05-17 Sarcos Corp. Dynamically controlled robotic stiffening element
CN108466290B (zh) * 2018-03-09 2021-02-19 苏州灵猴机器人有限公司 机器人辅助作业系统及其辅助作业方法
WO2019238940A1 (en) * 2018-06-15 2019-12-19 Universal Robots A/S Estimation of payload attached to a robot arm
WO2020046949A1 (en) * 2018-08-27 2020-03-05 Ascend Robotics LLC Automated construction robot systems and methods
JP7225659B2 (ja) * 2018-10-11 2023-02-21 ソニーグループ株式会社 情報処理装置、情報処理方法および情報処理プログラム
US11305434B2 (en) * 2018-10-26 2022-04-19 Fanuc Corporation Robot system
DE102018127905A1 (de) * 2018-11-08 2020-05-14 Franka Emika Gmbh Roboter und Verfahren zur Steuerung der Bewegung eines Roboters
DE102018133349A1 (de) * 2018-12-21 2020-06-25 Pilz Gmbh & Co. Kg Verfahren und Vorrichtung zur Momentschätzung
US11241801B2 (en) 2018-12-31 2022-02-08 Sarcos Corp. Robotic end effector with dorsally supported actuation mechanism
US11351675B2 (en) 2018-12-31 2022-06-07 Sarcos Corp. Robotic end-effector having dynamic stiffening elements for conforming object interaction
US10906191B2 (en) 2018-12-31 2021-02-02 Sarcos Corp. Hybrid robotic end effector
US11872079B2 (en) * 2019-01-29 2024-01-16 Kunshan Imagene Medical Co., Ltd. Ultrasound scanning control method, ultrasound scanning device, and storage medium
CN111890348B (zh) * 2019-05-06 2023-08-29 广州中国科学院先进技术研究所 一种双机器人协同搬运的控制方法及装置
CN110515308A (zh) * 2019-09-26 2019-11-29 深圳市酷开网络科技有限公司 寝具控制方法、寝具控制装置和可读存储介质
JP2021058976A (ja) * 2019-10-08 2021-04-15 ファナック株式会社 操作部を有するロボットを備えるロボットシステム、及びロボットを制御する方法
JP7451940B2 (ja) * 2019-10-31 2024-03-19 セイコーエプソン株式会社 制御方法および算出装置
US11833676B2 (en) 2020-12-07 2023-12-05 Sarcos Corp. Combining sensor output data to prevent unsafe operation of an exoskeleton
US11794345B2 (en) 2020-12-31 2023-10-24 Sarcos Corp. Unified robotic vehicle systems and methods of control
US11826907B1 (en) 2022-08-17 2023-11-28 Sarcos Corp. Robotic joint system with length adapter
US11717956B1 (en) 2022-08-29 2023-08-08 Sarcos Corp. Robotic joint system with integrated safety
US11897132B1 (en) 2022-11-17 2024-02-13 Sarcos Corp. Systems and methods for redundant network communication in a robot
US11924023B1 (en) 2022-11-17 2024-03-05 Sarcos Corp. Systems and methods for redundant network communication in a robot

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05313746A (ja) * 1992-05-11 1993-11-26 Toshiba Corp マニピュレータの制御装置
JP2000343470A (ja) 1999-06-01 2000-12-12 Agency Of Ind Science & Technol 物体協調運搬ロボットの制御方法及びその装置

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4987356A (en) * 1988-10-14 1991-01-22 Hitachi Construction Machinery Co., Ltd. Profiling control system for given curved surface
DE69028041T2 (de) * 1989-05-17 1997-01-09 Fujitsu Ltd Profilsteuerungssystem für Roboter
JP3115147B2 (ja) * 1993-03-12 2000-12-04 富士通株式会社 ロボット制御装置及びコントローラ
JP3369351B2 (ja) * 1995-03-28 2003-01-20 富士通株式会社 多関節マニピュレータの弾性設定方法および制御装置
US6219589B1 (en) * 1997-10-22 2001-04-17 Simon Fraser University Remote manipulator with force feedback and control
US6272396B1 (en) * 1998-02-20 2001-08-07 Tairob Industrial Technology Ltd. Method for applying knowledge from a skilled worker via a master expert machine to a slave expert machine for repetitive tasks
JP3124519B2 (ja) * 1998-07-23 2001-01-15 セイコー精機株式会社 制御系のモード切替え機能を有するロボット制御装置
KR100299210B1 (ko) * 1999-03-12 2001-09-22 박호군 인간팔 장착형 힘 재현기능을 갖는 마스터 장치
SE516720C2 (sv) * 1999-04-01 2002-02-19 Abb Ab Utrustning för styrning av en industrirobot och förfarande för programmering och/eller justering av robotens rörelse
US6522952B1 (en) * 1999-06-01 2003-02-18 Japan As Represented By Secretary Of Agency Of Industrial Science And Technology Method and system for controlling cooperative object-transporting robot
JP3188953B2 (ja) * 1999-10-13 2001-07-16 経済産業省産業技術総合研究所長 パワーアシスト装置およびその制御方法
US6285920B1 (en) * 2000-02-18 2001-09-04 Fanuc Robotics North America Method of robot teaching with motion constraints
US7027031B2 (en) * 2002-02-07 2006-04-11 Gifu University Touch sense interface and method for controlling touch sense interface
US7443115B2 (en) * 2002-10-29 2008-10-28 Matsushita Electric Industrial Co., Ltd. Apparatus and method for robot handling control
JP2006099474A (ja) * 2004-09-29 2006-04-13 Fanuc Ltd ロボットの軌跡制御方法
WO2006043396A1 (ja) * 2004-10-19 2006-04-27 Matsushita Electric Industrial Co., Ltd. ロボット装置
JP4056080B2 (ja) * 2006-01-13 2008-03-05 松下電器産業株式会社 ロボットアームの制御装置
CN101432103B (zh) * 2006-07-04 2012-05-23 松下电器产业株式会社 机器人手臂的控制装置
US20080021317A1 (en) * 2006-07-24 2008-01-24 Siemens Medical Solutions Usa, Inc. Ultrasound medical imaging with robotic assistance for volume imaging
JP4243326B2 (ja) * 2007-06-27 2009-03-25 パナソニック株式会社 ロボットアームの制御装置及び制御方法、ロボット、及びプログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05313746A (ja) * 1992-05-11 1993-11-26 Toshiba Corp マニピュレータの制御装置
JP2000343470A (ja) 1999-06-01 2000-12-12 Agency Of Ind Science & Technol 物体協調運搬ロボットの制御方法及びその装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
HAYASHIBARA Y. ET AL.: "Hito to Robot ni yoru Choshakubutsu no Kyocho Unpan (Hito no Kyocho Kyodo ni Motozuku Enchoku Heimen Nai no Seigyo Hoho no Kento)", TRANSACTIONS OF THE JAPAN SOCIETY OF MECHANICAL ENGINEERS, SERIES C, vol. 67, no. 653, 25 January 2001 (2001-01-25), pages 162 - 169 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102470531A (zh) * 2010-01-04 2012-05-23 松下电器产业株式会社 机器人、机器人的控制装置及控制方法
CN103038030A (zh) * 2010-12-17 2013-04-10 松下电器产业株式会社 弹性体致动器驱动机构的控制装置及控制方法、以及控制程序
CN104339352A (zh) * 2013-08-09 2015-02-11 株式会社安川电机 机器人系统、机器人控制装置以及机器人控制方法
CN106426100A (zh) * 2016-11-07 2017-02-22 北京印刷学院 一种基于力反馈的精密操作桁架机器人及其控制方法

Also Published As

Publication number Publication date
JPWO2009098855A1 (ja) 2011-05-26
JP4445038B2 (ja) 2010-04-07
US8024071B2 (en) 2011-09-20
US20100152896A1 (en) 2010-06-17
CN101952087A (zh) 2011-01-19
CN101952087B (zh) 2013-01-16

Similar Documents

Publication Publication Date Title
JP4445038B2 (ja) ロボット、ロボットの制御装置及び制御方法、並びに、ロボットの制御装置の制御プログラム
JP5695223B2 (ja) ロボット、ロボットの制御装置、制御方法、及び制御プログラム
JP6470763B2 (ja) 生産システム
US8676381B2 (en) Humanoid robot and walking control method thereof
JP4737209B2 (ja) パワーアシスト装置およびその制御方法
JP5327722B2 (ja) ロボットの負荷推定装置及び負荷推定方法
JP5399593B2 (ja) ロボット、ロボットの制御装置、制御方法、及び制御プログラム
JP5129415B2 (ja) ロボット、ロボットの制御装置、制御方法、及び制御プログラム
JP4568795B2 (ja) ロボットアームの制御装置及び制御方法、ロボット、ロボットアームの制御プログラム、並びに、集積電子回路
KR101665543B1 (ko) 인간형 로봇의 안정화 장치 및 그 방법
JP4896276B2 (ja) ロボット、ロボットの制御装置、制御方法、及び制御プログラム
US11745332B1 (en) Robot control
KR101732901B1 (ko) 보행 로봇 및 그 제어방법
WO2017064851A1 (ja) ロボット教示方法及びロボットアーム制御装置
WO2007080733A1 (ja) ロボットアームの制御装置及び制御方法、ロボット、及びプログラム
WO2012077335A1 (ja) ロボットの制御装置及び制御方法、ロボット、並びに、制御プログラム
JP2010207986A (ja) ロボット装置及びその制御方法
CN111975746A (zh) 机器人的控制方法
CN113631324A (zh) 多主体控制器和机器人
JP2008073790A (ja) ロボットとロボットの制御装置および制御方法
JP2014155985A (ja) ロボット、ロボットの制御装置、制御方法、及び制御プログラム
JP2004209614A (ja) 脚式移動ロボット及び制御方法
Ishihara et al. Force sensorless power assist control using operation force observer for nursing lift
JPH11345010A (ja) ロボットの制御装置
JP2017164882A (ja) ロボット

Legal Events

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

Ref document number: 200980101178.2

Country of ref document: CN

WWE Wipo information: entry into national phase

Ref document number: 2009543298

Country of ref document: JP

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

Ref document number: 09708198

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2009708198

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 09708198

Country of ref document: EP

Kind code of ref document: A1