The present application claims priority under 35 U.S.C. § 119 to Japanese Patent Application No. 2017-210865, filed Oct. 31, 2017. The contents of this application are incorporated herein by reference in their entirety.
The present invention relates to a robot system, a robot controller, and a method for withdrawing a robot.
Some robots known in the art change posture by operating a plurality of rotation axes. Such robot includes a tool at the leading end of the robot. The tool varies depending on the application in which the robot is used, such as suction and holding, so that the robot is capable of performing various kinds of work such as holding and moving a workpiece.
JP 2012-051042A discloses a robot system that includes a robot of the above kind and a sensor provided in the robot. The sensor detects a contact of an obstacle with the robot in an attempt to reduce the external force of the obstacle on the robot.
According to one aspect of the present disclosure, a robot system includes a robot, a sensor, and a processor. The sensor is configured to detect an external force acting on the robot. The processor is configured to move the robot in a forward direction such that a representative point of the robot moves along a motion track in the forward direction; move the robot in a reverse direction such that the representative point moves along the motion track in the reverse direction opposite to the forward direction when the external force satisfies a first condition which includes a condition that the external force is larger than a first threshold force; and move the robot to reduce the external force when the external force satisfies a second condition which includes a condition that the external force is larger than a second threshold force even after the robot has been moved in the reverse direction.
A more complete appreciation of the present invention and many of the attendant advantages thereof will be readily obtained as the same becomes better understood by reference to the following detailed description when considered in connection with the accompanying drawings, wherein:
By referring to the accompanying drawings, a robot system, a robot controller, and a method for withdrawing a robot according to embodiments of the present invention will be described in detail below. It is noted that the following embodiments are provided for example purposes only and are not intended for limiting purposes.
Also in the following description, terms such as “orthogonal”, “perpendicular”, “parallel”, and “vertical” may not necessarily be used in a strict sense. That is, these terms are used with production-related and installation-related tolerances and errors taken into consideration.
A robot system 1 according to this embodiment will be outlined by referring to
As illustrated in
Also in
As illustrated in
In light of the circumstances, in the robot system 1 according to this embodiment, the robot controller 30 executes “backward withdrawal mode” when a “first condition” is satisfied. In the “backward withdrawal mode”, the robot controller 30 controls the robot 20 to withdraw by following, in the backward direction, the motion track TR that the robot 20 followed (see step S1 illustrated in
The backward withdrawal mode is employed under the assumption that, with the object 600 being the first obstacle to contact for the robot 20, the robot 20 contacted no other obstacles during the period of time for which the robot 20 was following the motion track TR while changing posture. Thus, by causing the robot 20 to withdraw by following the motion track TR in the backward direction, the possibility of the robot 20 contacting other obstacles is minimized.
The movement distance over which the robot 20 follows the motion track TR in the backward direction and the movement period of time for which the robot 20 follows the motion track TR in the backward direction can be determined in advance. For example, it is possible to regulate the movement distance to some centimeters or regulate the movement period to some seconds. The “first condition” will be described in detail later by referring to
Also in the robot system 1 according to this embodiment, the robot controller 30 executes “external-force reduction withdrawal mode” when the execution situation of the backward withdrawal mode satisfies a “second condition”. In the external-force reduction withdrawal mode, the robot controller 30 controls the robot 20 to withdraw in a direction in which the external force detected by the detector 20b reduces (see step S2 illustrated in
In the external-force reduction withdrawal mode, the robot controller 30 determines one detector 20b, among a plurality of detectors 20b, that detected the largest external force. Then, the robot controller 30 controls the robot 20 to move the motion axis 20a corresponding to the one detector 20b in a direction in which the largest external force reduces. Thus, as necessary, the robot controller 30 shifts the backward withdrawal mode to the external-force reduction withdrawal mode in order to improve the holding release reliability. The “second condition” will be described in detail later by referring to
Thus, the robot system 1 according to this embodiment makes the withdrawal motion of the robot 20 more reliable while eliminating or minimizing interference with other obstacles. While in
The withdrawal motion also applies to, for example, the case where the object 600 is held between the tool 200 and a wall surface or a ceiling surface, the case where the object 600 is held between the tool 200 and some other obstacle, and the case where the object 600 is held between arms of the robot 20. The object 600 may be a substance or a human being.
In the robot system 1 according to this embodiment, it is possible to execute “reflective withdrawal mode”, which is to cause a motion axis 20a to make a withdrawal motion before the robot controller 30 determines to do so. This will be described later by referring to
An example configuration of the robot 20 will be described by referring to
The robot 20 has an internal space extending between the base end and the leading end of the robot 20. The internal space contains cables for the tool 200 and other cables and/or wires. This ensures that these cables and wires do not interfere with direct teaching of the robot 20 and work performed by the robot 20.
As illustrated in
The base 20B is fixed to an installation surface 500 such as a floor. The turnable portion 20S is supported by the base 20B and is turnable about the vertical axis A0, which is perpendicular to the installation surface 500. The first arm 21, at its base end, is supported by the turnable portion 20S and is turnable about the first axis A1, which is perpendicular to the vertical axis A0. The second arm 22, at its base end, is supported by the leading end of the first arm 21 and is turnable about the second axis A2, which is parallel to the first axis A1.
The third arm 23, at its base end, is supported by the leading end of the second arm 22 and is turnable about the third axis A3, which is perpendicular to the second axis A2. The wrist 24 includes a base end 24a and a leading end 24b. The base end 24a, at its base end, is supported by the leading end of the third arm 23 and is turnable about the fourth axis A4, which is perpendicular to the third axis A3.
The leading end 24b, at its base end, is supported by the leading end of the base end 24a and is turnable about the fifth axis A5, which is orthogonal to the fourth axis A4. At the leading end of the leading end 24b, the tool 200 is detachably attached. Examples of the tool 200 include, but are not limited to, a holding tool and a suction tool.
It is to be noted that each of the vertical axis A0, the first axis A1, the second axis A2, the third axis A3, the fourth axis A4, and the fifth axis A5 has one motion axis 20a and one detector 20b illustrated in
A configuration of the robot system 1 will be described by referring to
As illustrated in
Each intermediate portion 100 is a board-shaped controller insertable and removable to and from a slot of the robot controller 30. The intermediate portion 100 is communicatively connected to a control section 31 of the robot controller 30. When the external force detected by the detector 20b satisfies a “third condition”, the intermediate portion 100 executes the “reflective withdrawal mode”, which is to cause a motion axis 20a to move without intervention by the control section 31.
Details of the reflective withdrawal mode will be described later by referring to
The robot controller 30 includes the control section 31 and a storage 32. The control section 31 includes an obtainer 31a, a motion controller 31b, and a recorder 31c. The storage 32 stores external force information 32a, teaching information 32b, and history information 32c.
The robot controller 30 includes a computer and various circuits. The computer includes a central processing unit (CPU), a read only memory (ROM), a random access memory (RAM), a hard disk drive (HDD), and input-output ports.
The CPU of the computer reads programs stored in the ROM and executes the programs to serve the functions of the obtainer 31a, the motion controller 31b, and the recorder 31c of the control section 31.
At least one or all of the obtainer 31a, the motion controller 31b, and the recorder 31c may be implemented by hardware such as ASIC (Application Specific Integrated Circuit) and FPGA (Field Programmable Gate Array).
The storage 32 corresponds to the RAM and/or the HDD. The RAM and the HDD are capable of storing the external force information 32a, the teaching information 32b, and the history information 32c. It is to be noted that the robot controller 30 may obtain the above-described programs and various kinds of information from another computer connected to the robot controller 30 through a wired or wireless network or from a portable recording medium.
The control section 31 performs motion control of the robot 20. When the control section 31 controls the robot 20 to withdraw, the control section 31 executes the backward withdrawal mode and/or the external-force reduction withdrawal mode. The reflective withdrawal mode is executed by the intermediate portions 100, as described above. Based on an operation force effected by an operator, the control section 31 may perform a lead-through operation of changing the posture of the robot 20.
Through the intermediate portion 100, the obtainer 31a obtains the external force detected by the detector 20b. The obtainer 31a also outputs the obtained external force to the motion controller 31b and records the obtained external force in the external force information 32a in the storage 32. The external force information 32a will be described in detail later by referring to
The motion controller 31b controls the robot 20 to move based on the teaching information 32b. The teaching information 32b is prepared in the teaching stage, in which the robot 20 is taught a motion, and contains “jobs” that constitute a program defining the motion path that the robot 20 follows.
The motion controller 31b also controls the robot 20 to make a withdrawal motion based on the external force information 32a. When the external force detected by the detector 20b satisfies the first condition, the motion controller 31b executes the backward withdrawal mode of causing the robot 20 to follow, in the backward direction, the motion track that the robot 20 followed.
There are two procedures in the backward withdrawal mode, namely: a procedure for causing the robot 20 to follow the path indicated in the history information 32c backward; and a procedure for playing the teaching information 32b backward. One of the procedures may be selected based on a setting value or another parameter input in advance. In both procedures, the motion controller 31b makes the motion speed of the robot 20 lower than a normal motion speed.
This configuration ensures that if an operator becomes caught between, for example, the tool 200 and some obstacle, the operator is able to more easily see the motion of the robot 20, enabling the operator to avoid becoming caught in somewhere else during the withdrawal mode. It is also possible to perform only one of the two procedures as a fixed procedure, omitting the other procedure. An example of the first condition will be described later by referring to
Also, the motion controller 31b successively notifies the recorder 31c of a path that the robot 20 is actually following. The motion controller 31b performs feedback control using the external force (for example, an encoder value) detected by the detector 20b corresponding to the motion axis 20a (an actuator such as a rotational motor), which is the motive power source of the robot 20. In this manner, the motion controller 31b improves the motion accuracy of the robot 20.
When the execution situation of the backward withdrawal mode satisfies the second condition, the motion controller 31b executes the external-force reduction withdrawal mode of causing the robot 20 to withdraw by causing a motion axis 20a to move in a direction in which the external force detected by the detector 20b reduces. An example of the second condition will be described later by referring to
The recorder 31c records log information in the history information 32c in the storage 32 at predetermined time intervals. The log information is associated with the path notified from the motion controller 31b. In the history information 32c, following pieces of information are aligned at predetermined intervals: the present time, the motion track TR of the representative point 10 illustrated in
Instruction procedures for the reflective withdrawal mode, the backward withdrawal mode, and the external-force reduction withdrawal mode will be described by referring to
In
As illustrated in
Thus, in the reflective withdrawal mode, the intermediate portion 100 causes the motion axis 20a to move without the motion controller 31b determining to do so. This enables the motion axis 20a to take a withdrawal motion more quickly than when the motion axis 20a is controlled by the motion controller 31b to take a withdrawal motion.
Among the motion axes 20a respectively corresponding to the vertical axis A0, the first axis A1, the second axis A2, the third axis A3, the fourth axis A4, and the fifth axis A5 of the robot 20 illustrated in
As illustrated in
Specifically, when the received external force satisfies the first condition (detailed later by referring to
It is noted, however, that in order to improve the reliability in releasing the holding, the motion controller 31b monitors the execution situation of the backward withdrawal mode, and when the execution situation satisfies the second condition, the motion controller 31b executes the external-force reduction withdrawal mode. This improves the reliability of the withdrawal motion.
By referring to
The first condition will be first described by referring to
Specifically, as illustrated in
The first condition may be that the external force is equal to or more than the threshold Fth1. The first condition may also be that the external force reaches the threshold Fth1 and increases further beyond the threshold Fth1. That is, when there is an inclination toward an increasing external force, this inclination may be employed as the first condition. Thus, it suffices that the first condition is for determining whether a holding is occurring.
The second condition will be described by referring to
As illustrated in
Assume that in graph G3, the external force falls below the threshold Fth2 before time t3. In this case, the motion controller 31b determines that the holding unsolved situation is overcome in the previously executed backward withdrawal mode. When the motion controller 31b has made this determination, the motion controller 31b does not execute the external-force reduction withdrawal mode.
The second condition may be that the external force increases after the backward withdrawal mode has been executed. The second condition may also be that a predetermined period of time has passed since the external force exceeded the threshold Tth1. Thus, it suffices that the second condition is for determining whether a holding unsolved situation is overcome. It is also possible for the motion controller 31b to execute the backward withdrawal mode alone, omitting the second condition.
The third condition will be described by referring to
Specifically, as illustrated in
The third condition may be the same as the first condition. In this case, it looks as if the reflective withdrawal mode by the intermediate portion 100 and the backward withdrawal mode by the motion controller 31b are executed simultaneously. In actual situations, however, the reflective withdrawal mode is executed earlier than the backward withdrawal mode. This is because the intermediate portion 100 is capable of executing the withdrawal motion more quickly than under the control of the motion controller 31b, as described above by referring to
An example of the external force information 32a illustrated in
As illustrated in
In this case, the first axis A1 has the largest external force value, and the motion controller 31b controls the motion axis 20a corresponding to the first axis A1 to move in the external-force reduction withdrawal mode. Then, the motion controller 31b restricts the motion amount of the motion axis 20a to “m1”. The motion amount may be the number of pulses transmitted to the motion axis 20a, or may be the period of time for which the motion axis 20a is caused to move.
While in the above description the motion axis 20a with the largest external force value is caused to move, this configuration is not intended in a limiting sense. Another possible embodiment is that a predetermined number of motion axes 20a with larger external force values are caused to move. Still another possible embodiment is that the intermediate portions 100 refer to the external force information 32a illustrated in
A processing procedure for the withdrawal mode executed by the robot system 1 (see
As illustrated in
Next, the motion controller 31b of the robot controller 30 determines whether the external force satisfies the first condition (step S103). When the motion controller 31b has determined that the external force satisfies the first condition (Yes at step S103), the motion controller 31b executes the backward withdrawal mode (step S104). When the condition at step S103 is not satisfied (No at step S103), the entire processing ends.
Next, the motion controller 31b of the robot controller 30 determines whether the execution situation of the backward withdrawal mode satisfies the second condition (step S105). When the motion controller 31b has determined that the execution situation satisfies the second condition (Yes at step S105), the motion controller 31b executes the external-force reduction withdrawal mode (step S106). When the condition at step S105 is not satisfied (No at step S105), the entire processing ends.
As has been described hereinbefore, the robot system 1 according to this embodiment includes the robot 20, the detector 20b, and the robot controller 30. The robot 20 includes a plurality of motion axes 20a. The detector 20b detects an external force acting on the robot 20. The robot controller 30 controls motions of the robot 20.
The robot controller 30 includes the motion controller 31b. When the external force detected by the detector 20b satisfies the first condition, the motion controller 31b executes the backward withdrawal mode of causing the robot 20 to withdraw by following, in the backward direction, the motion track that the robot 20 followed. When the execution situation of the backward withdrawal mode satisfies the second condition, the motion controller 31b executes the external-force reduction withdrawal mode of causing the robot 20 to withdraw in a direction in which the detected external force reduces.
Thus, the robot system 1 executes the backward withdrawal mode of causing the robot 20 to follow, in the backward direction, the motion track that the robot 20 followed, and occasionally executes the external-force reduction withdrawal mode of causing the robot 20 to withdraw in a direction in which the detected external force reduces. With this configuration, the robot system 1 enables the robot 20 to make a withdrawal motion more reliably.
While in the above-described embodiment the robot 20 is a 6-axis robot, the robot 20 may be a robot having 20 or more axes or may be a robot having equal to or less than 7 axes. While in the above-described embodiment the detector 20b is provided for each of the motion axes 20a of the robot 20, there may be some motion axes 20a without detectors 20b.
In another possible embodiment, upon detection of an external force by the detector 20b, it is possible to temporarily stop the robot 20 and then cause the robot 20 to take the above-described withdrawal motion. In this case, the robot 20 is stopped under the condition that the external force has reached a threshold. The threshold may be the threshold Fth1 illustrated in
Obviously, numerous modifications and variations of the present invention are possible in light of the above teachings. It is therefore to be understood that within the scope of the appended claims, the present invention may be practiced otherwise than as specifically described herein.
Number | Date | Country | Kind |
---|---|---|---|
JP2017-210865 | Oct 2017 | JP | national |
Number | Name | Date | Kind |
---|---|---|---|
8281670 | Larkin | Oct 2012 | B2 |
9737989 | Naitou et al. | Aug 2017 | B2 |
10464210 | Haddadin | Nov 2019 | B2 |
20120048027 | Hashiguchi et al. | Mar 2012 | A1 |
20140121837 | Hashiguchi et al. | May 2014 | A1 |
20140142754 | Dai | May 2014 | A1 |
20150367510 | Naitou et al. | Dec 2015 | A1 |
20160207197 | Takahashi | Jul 2016 | A1 |
20160214261 | Davis et al. | Jul 2016 | A1 |
20160243705 | Naitou et al. | Aug 2016 | A1 |
20170066139 | Corkum | Mar 2017 | A1 |
20170266815 | Takeuchi | Sep 2017 | A1 |
20180079090 | Koenig | Mar 2018 | A1 |
Number | Date | Country |
---|---|---|
H02-076691 | Mar 1990 | JP |
11-277483 | Oct 1999 | JP |
2011-201009 | Oct 2011 | JP |
2012-51042 | Mar 2012 | JP |
2016-153156 | Aug 2016 | JP |
Entry |
---|
Japanese Office Action for corresponding JP Application No. 2017-210865, dated Jan. 14, 2020 (w/ machine translation). |
Extended European Search Report for corresponding EP Application No. 18196844, dated Mar. 26, 2019. |
European Office Action for corresponding EP Application No. 18196844.7-1205, dated Apr. 16, 2021. |
Chinese Office Action for corresponding CN Application No. 201811257753.5, dated Jul. 2, 2021 (w/ English machine translation). |
Number | Date | Country | |
---|---|---|---|
20190126476 A1 | May 2019 | US |