The present invention relates to a robot hand, a robot hand control method, and a robot hand control program.
Technology relating to control of robot hands has been proposed for cases in which a robot hand is used to grip a gripped object such as a workpiece, to convey the gripped object or to assemble the gripped object to an assembly target object.
For example, technology using a three-fingered multi jointed robot hand and a camera has been proposed for estimating a state such as a position and angle of an object, and controlling the robot hand based on the state of the object (Non-Patent Document 1).
A grip-type hand has also been proposed. The grip-type hand includes plural finger mechanisms, each including a finger joint, an actuator for driving the finger joint, and a link supported by the finger joint and operated under the driving force of the actuator. The grip-type hand further includes an action control section capable of independently controlling the actuators of the plural finger mechanisms, a position detection section that detects an operating position of the respective finger joints in the plural finger mechanisms, and a strain detection section provided to each of the plural finger mechanisms to detect strain occurring in the link under force applied to the finger mechanism. The action control section of the grip-type hand adjusts the gripping force generated by the plural finger mechanisms by coordinated control of the actuators of the plural finger mechanisms based on the operating positions of the finger joints detected by the position detection section and on the strain on the link detected by the strain detection section.
The following issue arises in a conventional method to assemble a gripped object gripped by a robot hand to an assembly target object. Explanation follows regarding an example of a case in which a ring serving as a gripped object is assembled to a shaft, serving as an assembly target object, with reference to
For example, as illustrated in
Another approach capable of avoiding the occlusion issue of the third approach is to combine a soft element-attached hand and a finger kinesthetic sensor (referred to hereafter as a “fourth approach”). This approach is often by application of the spherical fingertips as in the technology described in Non-Patent Document 1. As illustrated in
In consideration of the above circumstances, an object of the present invention is to provide a robot hand, a robot hand control method, and a program capable of performing assembly tasks at high speed while alleviating shock between a gripped object and an assembly target object.
In order to achieve the above objective, a robot hand according to the present invention is configured including a hand including a gripped object anti-slip mechanism at a contact portion with a gripped object, and a mechanism capable of anisotropic movement in three degrees of freedom under external force, a sensor configured to detect a displacement amount of the hand when an external force has been applied to the hand from a state of mechanical equilibrium existing prior to application of the external force, an estimation section configured to estimate position/orientation-displacement amounts of the gripped object during assembly of the gripped object to an assembly target object based on the displacement amount detected by the sensor, and a control section configured to control the hand so as to assemble the gripped object to the assembly target object based on the position/orientation-displacement amounts of the gripped object as estimated by the estimation section.
In the robot hand according to the present invention, the hand includes the anti-slip mechanism against slippage of the gripped object at the contact portion with the gripped object, and includes the mechanism capable of anisotropic movement in three degrees of freedom under external force. The sensor detects the displacement amount of the hand when the external force has been applied to the hand from a state of mechanical equilibrium existing prior to application of the external force. Based on the displacement amount detected by the sensor, the estimation section estimates the position-orientation-displacement amounts of the gripped object when the gripped object is being assembled to the assembly target object. Based on the position/orientation-displacement amounts of the gripped object as estimated by the estimation section, the control section controls the hand so as to assemble the gripped object to the assembly target object. This enables assembly tasks to be performed at high speed, while also alleviating shock between the gripped object and the assembly target object.
Configuration may be made wherein the estimation section is configured to estimate relative position and orientation errors between the gripped object and the assembly target object based on the estimated position/orientation-displacement amounts of the gripped object, and the control section is configured to control the hand so as to assemble the gripped object to the assembly target object based on the position/orientation-displacement amounts of the gripped object as estimated by the estimation section, on the relative position and orientation errors, and on a predetermined action plan. This enables control of the hand to be achieved through simple control such that, for example, the relative position and orientation errors between the gripped object and the assembly target object become zero.
Configuration may be made wherein in a case in which the gripped object and the assembly target object have a relationship in which rotational error is also compensated by position error in a horizontal x-y plane being compensated, the estimation section is configured to estimate a relative position error between the gripped object and the assembly target object in the x-y plane from an x component and a y component of the orientation-displacement amount of the gripped object. This enables control of the hand to be achieved through simple control such that, for example, the relative position and orientation errors between the gripped object and the assembly target object become zero in the x-y plane.
Configuration may be made wherein the control section is configured to control the hand so as to assemble the gripped object to the assembly target object based on the position/orientation-displacement amounts of the gripped object as estimated by the estimation section and on a predetermined action plan. This enables control of the hand such that, for example, predetermined states are achieved for the position and orientation of the gripped object, to be achieved through simple control.
Configuration may be made wherein the anti-slip mechanism is configured by setting the contact portion with the gripped object so as to have a notched profile including a face to contact an upper portion of the gripped object and a face to contact a side face of the gripped object.
Configuration may be made wherein the hand includes a suction pad at the contact portion with the gripped object. In such cases, the suction pad itself may be employed as the anti-slip mechanism.
Configuration may be made wherein the hand is configured by a clamp hand including plural finger portions each including a rotation mechanism to rotate the entire finger portion, or wherein the hand is configured by plural finger portions each having a fingertip portion controllable in position and orientation by a rotation angle of a joint.
A robot hand control method according to the present invention is applied to a robot hand including a hand equipped with a gripped object anti-slip mechanism at a contact portion with a gripped object and a mechanism capable of anisotropic movement in three degrees of freedom under external force, a sensor configured to detect a displacement amount of the hand when an external force has been applied to the hand from a state existing prior to application of the external force, an estimation section, and a control section. The control method includes the estimation section estimating position/orientation-displacement amounts of the gripped object during assembly of the gripped object to an assembly target object based on the displacement amount detected by the sensor, and the control section controlling the hand so as to assemble the gripped object to the assembly target object based on the position/orientation-displacement amounts of the gripped object as estimated by the estimation section.
A robot hand control program according to the present invention is a program that causes a computer to function as the estimation section and the control section configuring the above robot hand.
The robot hand, method, and program according to the present invention are capable of performing assembly tasks at high speed while alleviating shock between a gripped object and an assembly target object by controlling the hand so as to assemble the gripped object to the assembly target object based on the position-orientation-displacement amounts of the gripped object during assembly as estimated from a displacement amount from a mechanical equilibrium state when external force has been applied to the hand.
Explanation follows regarding an example of an exemplary embodiment of the present invention, with reference to the drawings. Note that the same or equivalent configuration elements and parts are allocated the same reference numerals in each of the drawings. The dimensions and proportions in the drawings may be exaggerated to facilitate explanation, and do not necessarily conform to actual proportions.
As illustrated in
The arm 10 is, for example, a vertical articulated mechanism with a configuration having the six degrees of freedom required for actions in three-dimensional space. Note that the arm 10 may be provided with seven degrees of freedom, in which a redundant degree of freedom is added to the six degrees of freedom. The arm 10 controls the position and orientation of the hand 12 in response to instructions from a controller 16.
The hand 12 includes an anti-slip mechanism at contact portions with the gripped object 20 to prevent slippage with respect to the gripped object 20, and includes a mechanism capable of anisotropic movement in three degrees of freedom under external force. In the present exemplary embodiment, the hand 12 is a multi jointed mechanism with three fingers. The hand 12 includes a mechanism coupled with by joints, and grips an object by controlling the angles of the joints.
Each of the joints includes a joint drive actuator such as an electric motor and a joint drive actuator controller such as a microcomputer. The joint drive actuator controller decides a torque value of the joint drive actuator with which to grip the object with the fingertips of the hand 12 based on a value detected by the displacement sensor 14, described later. The joint drive actuator applies torque to joints based on torque values decided by the joint drive actuator controller.
Each of the joints has high back-drivability enabling allowing the joint to be back-driven by an external force arising during assembly, and accordingly enabling a mechanical point of equilibrium to be achieved by the joint drive actuator and the like. Back-drivability in an actuator or motive force transmission mechanism refers to an output joint being moved by an external force of when the external force is applied to the output joint. High back-drivability refers to an output joint moving even under a small external force. In a mechanical system in which displacement of a system of particles changes with time under a force, the mechanical point of equilibrium is a value of the displacement when a static state, not changing with time, is achieved under a condition of constant force.
The fingertips of the hand 12 are portions contacting the gripped object 20, and, as in an anti-slip mechanism such as illustrated in
The profile of the fingertips is not limited to being a v-shaped face S2 as illustrated in
The displacement sensor 14 is a sensor such as an encoder capable of detecting a current angle of a joint. In the present exemplary embodiment, the displacement sensor 14 outputs, to the controller 16, an amount of displacement of the joint from the mechanical point of equilibrium, namely a value obtained by subtracting an angle when contact force is not being applied to the gripped object 20 from an angle when contact force is applied thereto. Note that although in
The controller 16 is implemented by an information processing device such as a computer.
The storage device 36 is stored with a robot hand control program for executing robot hand control processing. The CPU 32 is a central processing unit for executing various programs, and for controlling the configuration elements. Namely, the CPU 32 reads a program from the storage device 36 and executes the program using the memory 34 as a workspace. The CPU 32 controls the configuration elements and performs various arithmetic processing according to the program stored in the storage device 36.
The memory 34 is configured by random access memory (RAM), and serves as a workspace that temporarily stores programs and data. The storage device 36 is configured by read only memory (ROM) and a hard disk drive (HDD) or solid state drive (SSD), and is stored with various programs including an operating system, as well as various data.
The input device 38 is a device such as a keyboard or mouse used to perform various input. The output device 40 is a device such as a display or a printer for outputting various information. The output device 40 may also function as the input device 38 by adopting a touch panel display configuration. The optical disc drive device 42 performs reading of data stored on various recording media (for example a CD-ROM or a Blu-Ray disc), and performs writing of data to the recording media.
The communication I/F 44 is an interface for communicating with other equipment, and employs a protocol such as Ethernet (registered trademark), FDDI, Wi-Fi (registered trademark), or the like.
Next, explanation follows regarding a functional configuration of the controller 16. As illustrated in
The preparation section 50 performs preparation prior to assembly action. Specifically, the preparation section 50 acquires information required for assembly action, receives an action plan (described in detail later), and performs control and the like to grip the gripped object 20 with the hand 12 and move the hand 12 into the vicinity of an assembly task area.
Based on the displacement amounts detected by the displacement sensors 14, the estimation section 52 estimates amounts of displacement in the position and orientation of the gripped object 20 (referred to hereafter as “position/orientation-displacement amounts”) of the gripped object 20 arising due to contact force received by the gripped object 20 from the assembly target object 22 when the gripped object 20 is being assembled to the assembly target object 22. Based on the estimated position/orientation-displacement amounts of the gripped object 20, the estimation section 52 also estimates an error in the relative positions and orientations between the gripped object 20 and the assembly target object 22 (referred to hereafter as “relative position/orientation error”).
Explanation follows regarding an outline of the estimation performed by the estimation section 52, with reference to
Based on the displacement amounts (Δq) of the joints of the hand 12 from their mechanical points of equilibrium as detected by the displacement sensors 14, the estimation section 52 estimates the position/orientation-displacement amounts (Δp, Δθ) of the gripped object 20 arising due to contact force received by the gripped object 20 from the assembly target object 22. From the estimated position/orientation-displacement amounts (Δp, Δθ) of the gripped object 20, the estimation section 52 then estimates a relative position/orientation error (Δe) between the gripped object 20 and the assembly target object 22. The definition of Δe is different depending on the gripped object 20 and the assembly target object 22 employed, and depending on the action plan for assembling the gripped object 20 to the assembly target object 22.
The action plan is a transition of states based on sensor values to reliably (and in some cases quickly) complete a task such as assembly or the like. An estimation of states based on sensor values to execute each of the states combined with robot control based on estimation results is referred to as a “skill”. Namely, the action plan refers to a process to achieve target states of a skill in addition to a simple motion plan for performing action generation alone. Note that the action plan may also be referred to as an action strategy.
Detailed explanation follows regarding estimation by the estimation section 52 for the example of a case in which the ring serving as the gripped object 20 is fitted onto the shaft serving as the assembly target object 22.
Based on the kinematics of the hand 12, a translational position pi of each fingertip is computed from a joint angle qi of each finger.
As illustrated in
Next, an orientation-displacement amount Δθ of the ring from its initial position/orientation is then found by the average of the first moment pi×Δpi of the displacement of each fingertip as in Equation (2) below.
Note that to obtain an amount equivalent to an angle, this should be divided by the radius. However, absolute precision regarding the angle is not needed when performing control with relative position-error compensation with respect to the shaft as a control base, and is therefore omitted.
When fitting the ring onto the shaft, if position error in an x-y plane is compensated for, then rotational error will also be passively compensated for due to the geometric relationship between the ring and the shaft. It is thus sufficient to be able to estimate a position-error direction e between the ring and the shaft. e is computed from the orientation-displacement amount Δθ of the ring based on geometric constraint conditions for two-point contact between the ring and the shaft.
As illustrated in
The control section 54 controls the arm 10 and the hand 12 so as to assemble the gripped object 20 to the assembly target object 22 based on the position/orientation-displacement amounts of the gripped object 20 estimated by the estimation section 52, on the relative position/orientation error between the gripped object 20 and the assembly target object 22, and on a predetermined action plan. Specifically, the control section 54 employs the position/orientation-displacement amounts (Δp, Δθ) as constraint conditions to control the hand 12 such that the relative position/orientation error (Δe) becomes zero.
Next, explanation follows regarding operation of the robot hand 100 according to the present exemplary embodiment.
First, at step S12, the preparation section 50 acquires information relating to the type, dimensional parameters, positions, and the like of the gripped object 20 and of the assembly target object 22. This information may be acquired from CAD data input in advance, or may be acquired as information input by a user.
At the next step S14, the preparation section 50 receives, from the user, a grip orientation of the gripped object 20 and an action plan for assembling the gripped object 20 to the assembly target object 22, and decides on the grip orientation and action plan.
At the next step S16, the preparation section 50 makes the hand 12 approach the gripped object 20, and causes the gripped object 20 to be gripped with the hand 12 at the grip orientation decided on at step S14.
At the next step S18, the preparation section 50 lifts the gripped object 20 up as far as a position where a no contact state is achieved, except for at the fingertips of the hand 12. Namely, creates a mechanical point of equilibrium.
At the next step S20, the preparation section 50 acquires the angles qi0 of the respective joints from the displacement sensors 14 of the respective joints, computes the initial values pi0 expressing the mechanical point of equilibrium using the formula pi0=FKfinger (qi0), and stores the result in a predetermined storage region.
At the next step S22, based on the position of the assembly target object 22 acquired at step S12, the preparation section 50 controls the arm 10 and the hand 12 so as to cause the gripped object 20 gripped by the hand 12 to approach the assembly target object 22.
At the next step S30, the action plan decided on at step S14 is executed by the estimation section 52 and the control section 54.
Explanation follows regarding a ring fitting action plan for fitting the ring onto the shaft, with reference to
The ring-shaft aligning skill is performed based on estimation by the estimation section 52 and control of the hand 12 by the control section 54. Specifically, according to the above Equation (1) to Equation (3), the estimation section 52 estimates a direction vector (e) of the ring center from the perspective of the shaft center, and a Z component (ΔZ) of the displacement as the ring moves due to contact force from the shaft. The control section 54 then applies torque to each of the joints of the hand 12 to control the action of the hand 12 so that the gripped object 20 is moved at the speeds listed below in the respective directions X, Y, Z.
Z direction speed:=target speed−Gz·AZ(Gz:constant gain)
XY direction speed:=Gxy·(−e)(Gxy:constant gain)
When the shaft center and the ring center are aligned with each other, the ring is fitted onto the shaft, and Z≤Th is determined by state determination. The ring-shaft aligning skill is then ended, thereby completing the ring fitting action plan.
As described above, in the robot hand according to the present exemplary embodiment, the hand includes the anti-slip mechanism against slippage between the gripped object at contact portions with the gripped object, and includes the mechanism capable of anisotropic movement in three degrees of freedom under external force. When applied with an external force, the hand is displaced from the state of mechanical equilibrium existing prior to application of the external force. The hand has back-drivability. The sensors detect displacement amounts, and based on the detected displacement amounts, estimations are made of the position/orientation-displacement amounts of the gripped object, and of the relative position/orientation error between the gripped object and the assembly target object. The hand is then controlled based on the estimated information so as to assemble the gripped object to the assembly target object.
In this manner, shock when contact is made between the gripped object and the assembly target object can be alleviated by the back-drivability of the hand, and displacement of the gripped object can also be induced when contact is made. Moreover, providing the anti-slip mechanisms to the fingertips enables hysteresis slippage to be suppressed when contact is made, and ensures the above displacement amounts are caused by the contact force received by the gripped object from the assembly target object. The above displacement amounts can accordingly be employed to control assembly task with good precision, thus enabling assembly tasks to be performed at high speed even when assembling objects together with little clearance, while also alleviating shock between the gripped object and the assembly target object.
The estimation by the estimation section is assumed to be fed back into the robot action so as to achieve a monotonic increase such as illustrated in
Note that although explanation has been given in the exemplary embodiment described above regarding an example in which the gripped object is a ring, the assembly target object is a shaft, and the assembly action is fitting the ring onto the shaft, the present exemplary embodiment may be applied to other assembly actions.
For example, as illustrated in
In the Z face alignment skill, the estimation section 52 estimates movement displacements (ΔX, ΔY, ΔZ) of the gripped object 20 under contact force from the exterior using above Equation (1). The control section 54 then controls action of the hand 12 by applying torque to the respective joints of the hand 12 so as to move the gripped object 20 in the respective directions X, Y, Z at the following speeds.
X direction speed:=−Gx·ΔX
Y direction speed:=−Gy·ΔY
Z direction speed:=target speed−Gz·ΔZ(Gx,Gy,Gz:constant gain)
This is an action to abut the male connector in the Z direction at a position deliberately shifted in the XY directions, as illustrated in the upper row of
The state determination (S312) is completed when ΔZ≥threshold Thz, the next state determination (S316) is started, monitoring is performed as to whether or not ΔX is a threshold Thx or greater, and an X face alignment skill (S318) is called.
In the X face alignment skill the estimation section 52 estimates displacement (ΔX, ΔY, ΔZ) similarly to in the Z face alignment skill (S314). The control section 54 then controls action of the hand 12 in the following manner.
X direction speed:=target speed−Gx·ΔX
Y direction speed:=−Gy·ΔY
Z direction speed:=−Gz·ΔZ
As illustrated by the middle row of
The state determination (S316) is completed when ΔX≥threshold Thx, the next state determination (S320) is started, monitoring is performed as to whether or not ΔY is a threshold Thy or greater, and a Y face alignment skill (S322) is called.
In the Y face alignment skill the estimation section 52 estimates displacement (ΔX, ΔY, ΔZ) similarly to with the Z face alignment skill (S314). The control section 54 then controls action of the hand 12 in the following manner
X direction speed:=−Gx·ΔX
Y direction speed:=target speed−Gy·ΔY
Z direction speed:=−Gz·ΔZ
As illustrated by the bottom row of
The state determination (S320) is completed when ΔY≥threshold Thy, the next state determination (S324) is started, monitoring is performed as to whether or not ΔZ is a threshold Thz1 or greater as well as whether or not Z is a threshold Thz2 or greater, and a Z face alignment skill (S326) is called. Note that in the state determination of S324, the state may be determined from the characteristics of a time series waveform of ΔZ. The Z face alignment skill (S326) is similar to the Z face alignment skill (S314). This is an action of pushing-in in the Z direction while continuing to press with a very small contact force in the X direction and the Y direction, and stopping after pushing in by a certain amount in the Z direction.
As another example, the present exemplary embodiment may also be applied to an assembly action in which a peg is inserted into a hole as illustrated in
In the action plan for this scenario, the peg is pressed in the Z direction using a skill similar to the Z face alignment skill of the connector insertion action plan described above. Simple harmonic movements are induced in the X direction and the Y direction while continuing to press in the Z direction, and the average of estimated positional displacement amounts of the peg is employed as the center of these simple harmonic movements so as to align the axes of the peg and the hole. The positional displacement amount of the peg may be estimated using a similar method to that used to find the positional displacement amount Δp of the ring.
Note that the relative position/orientation error between the gripped object 20 and the assembly target object 22 is not employed in the examples of connector insertion and peg insertion, meaning that the estimation section 52 estimates the positional displacement amount of the gripped object 20 alone.
Moreover, although explanation has been given in the above exemplary embodiment regarding a case in which the hand 12 has a multi jointed multi-fingered configuration, and in which the profile of the fingertips of the hand 12, which are the contact portions with the gripped object 20, are profiled as the gripped object 20-anti-slip mechanism as illustrated in
For example, as illustrated in
Moreover, for example, as illustrated in
Estimation and control using displacement amounts detected by the displacement sensors 14, and similar to in the exemplary embodiment described above, may be employed in any of the configurations described above.
The robot hand control processing executed in the exemplary embodiments described above by the CPU reading software (a program) may be executed by various types of processor other than a CPU. Such processors include programmable logic devices (PLD) that allow circuit configuration to be modified post-manufacture, such as a field-programmable gate array (FPGA), and dedicated electric circuits, these being processors including a circuit configuration custom-designed to execute specific processing, such as an application specific integrated circuit (ASIC). The robot hand control processing may be executed by any one of these various types of processor, or by a combination of two or more of the same type or different types of processor (such as plural FPGAs, or a combination of a CPU and an FPGA). The hardware structure of these various types of processors is more specifically an electric circuit combining circuit elements such as semiconductor elements.
Although explanation has been given regarding an implementation in which the robot hand control program is pre-stored (pre-installed) in a storage device in the exemplary embodiment described above, there is no limitation thereto. The program may be provided in a format recorded on a recording medium such as a compact disc read only memory (CD-ROM), digital versatile disc read only memory (DVD-ROM), or universal serial bus (USB) memory. Alternatively, the program may be provided in a format downloadable from an external device over a network.
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/JP2019/012186 | 3/22/2019 | WO | 00 |