METHOD AND APPARATUS FOR ROBOT CONTROL
20240300101 ยท 2024-09-12
Inventors
Cpc classification
B25J9/1633
PERFORMING OPERATIONS; TRANSPORTING
G05B19/4155
PHYSICS
G05B2219/36401
PHYSICS
G05B19/423
PHYSICS
International classification
Abstract
Embodiments of the present disclosure provide a method and a controller of controlling a robot. The method comprising detecting a pattern of a series of external forces applied on a portion of at least one arm link of the robot; comparing the pattern with a predetermined pattern associated with the portion; and in accordance with a determination that the detected pattern matches the predetermined pattern, controlling the robot to perform an action corresponding to the predetermined pattern. By introducing a pattern of a series of external forces applied on a robot to control the robot, the control of the robot can be done more intuitively. In this way, some intermediate steps such as conversion of view angle and instructions required to use the HMI-based methods are omitted, thereby improving efficiency or reliability of the robot.
Claims
1. A method of controlling a robot, comprising: detecting a pattern of a series of external forces applied on a portion of the robot; comparing the pattern with a predetermined pattern associated with the portion; and in accordance with a determination that the detected pattern matches the predetermined pattern, controlling the robot to perform an action corresponding to the predetermined pattern.
2. The method of claim 1, wherein detecting the pattern of the series of external forces comprises: detecting a magnitude of the series of external forces applied on the portion during a predetermined time period.
3. The method of claim 2, wherein detecting a magnitude the series of external forces comprises: detecting the magnitude from at least one of a torque sensor or a current sensor arranged on a joint between two arm links of the robot coupled to each other.
4. The method of claim 1, further comprising: generating an indication of a result of the comparison between the detected pattern and the predetermined pattern.
5. The method of claim 4, wherein generating the indication comprises at least one of the following: illuminating a lighting unit; playing back a sound; vibrating at least one arm link; or displaying the result on a display screen.
6. The method of claim 1, wherein controlling the robot to perform an action corresponding to the predetermined pattern comprises controlling the robot to perform at least one of the following actions: moving the robot to a previous or next target; initiating, ceasing, pausing, or restarting a process or a step of the process to operate the target; teaching the robot to operate a new target; or increasing or decreasing a speed to operate the target.
7. A controller for controlling a robot, comprising: one or more processors configured to perform the method of claim 1.
8. A robot, comprising the controller of claim 7.
9. The robot of claim 8, further comprising at least one of a torque sensor or a current sensor coupled to the controller and configured to detect a magnitude of each of the series of external forces applied on the portion during a predetermined time period.
10. The robot of claim 9, wherein the torque sensor is arranged on a joint between two arm links of the robot coupled to each other; and the current sensor is configured to provide a value of current applied on a motor.
11. The robot of claim 8, further comprising: a feedback module configured to present the indication of a result of the comparison between the detected pattern and the predetermined pattern.
12. The robot of claim 11, wherein the feedback module comprises at least one of a lighting unit, a speaker, a driver to vibrate at least one arm link, or a display screen.
13. The robot of claim 8, further comprising a torque sensor coupled to the controller and configured to detect a magnitude of each of the series of external forces applied on the portion during a predetermined time period.
14. The robot of claim 13, wherein the torque sensor is arranged on a joint between two arm links of the robot coupled to each other.
15. The robot of claim 8, further comprising a current sensor coupled to the controller and configured to detect a magnitude of each of the series of external forces applied on the portion during a predetermined time period.
16. The robot of claim 15, wherein the current sensor is configured to provide a value of current applied on a motor.
17. The robot of claim 8, further comprising: a torque sensor coupled to the controller and configured to detect a magnitude of each of the series of external forces applied on the portion during a predetermined time period, wherein the torque sensor is arranged on a joint between two arm links of the robot coupled to each other; and a current sensor coupled to the controller and configured to detect a magnitude of each of the series of external forces applied on the portion during a predetermined time period, wherein the current sensor is configured to provide a value of current applied on a motor.
18. A controller for controlling a robot, comprising: one or more processors configured to perform the method of claim 6.
19. A robot comprising the controller of claim 18, further comprising: a torque sensor coupled to the controller and configured to detect a magnitude of each of the series of external forces applied on the portion during a predetermined time period, wherein the torque sensor is arranged on a joint between two arm links of the robot coupled to each other; and a feedback module configured to present the indication of a result of the comparison between the detected pattern and the predetermined pattern, wherein the feedback module-comprises at least one of a lighting unit, a speaker, a driver to vibrate at least one arm link, or a display screen.
20. A robot comprising the controller of claim 18, further comprising: a current sensor coupled to the controller and configured to detect a magnitude of each of the series of external forces applied on the portion during a predetermined time period, the current sensor is configured to provide a value of current applied on a motor; a feedback module configured to present the indication of a result of the comparison between the detected pattern and the predetermined pattern, wherein the feedback module-comprises at least one of a lighting unit, a speaker, a driver to vibrate at least one arm link, or a display screen.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0019] The above and other objectives, features and advantages of the present disclosure will become more apparent through more detailed depiction of example embodiments of the present disclosure in conjunction with the accompanying drawings, wherein in the example embodiments of the present disclosure, same reference numerals usually represent same components.
[0020]
[0021]
[0022]
[0023] Throughout the drawings, the same or similar reference symbols are used to indicate the same or similar elements.
DETAILED DESCRIPTION
[0024] The present disclosure will now be discussed with reference to several example embodiments. It is to be understood these embodiments are discussed only for the purpose of enabling those skilled persons in the art to better understand and thus implement the present disclosure, rather than suggesting any limitations on the scope of the subject matter.
[0025] As used herein, the term comprises and its variants are to be read as open terms that mean comprises, but is not limited to. The term based on is to be read as based at least in part on. The term one embodiment and an embodiment are to be read as at least one embodiment. The term another embodiment is to be read as at least one other embodiment. The terms first, second, and the like may refer to different or same objects. Other definitions, explicit and implicit, may be comprised below. A definition of a term is consistent throughout the description unless the context clearly indicates otherwise.
[0026] Industrial robots, with their precision and work efficiency, have become an indispensable technical means for modern production enterprises. Collaborative robots, which have been designed to work alongside or with humans, are robots that have developed in recent years. However a robot that was not designed to work with humans can be equipped with sensors to enable collaborative operation in manufacturing environments.
[0027] Industrial robots or collaborative robots can perform many tasks such as welding, painting, assembly, disassembly, picking and placing for printed circuit boards, packaging and labeling, palletizing, product inspection, and testing, or the like. In order for industrial robots or collaborative robots to perform these tasks, an operator typically needs to teach them how to operate or manually control them to complete the operation.
[0028] Currently, the operator typically employs display-based HMI to teach or control the robot. In operation, the operator can cause the robot to run, stop or operate a target by operating an element such as a button on a window of the HMI. For example, an engineer typically uses a TPU to switch lead-through mode on to teach the robot to operate targets by operating certain TPU buttons. For another example, some operators also use PC-based HMI to initiate, or cease a process, or execute a command to make the robot perform actions.
[0029] That is, currently, when controlling or teaching a robot to perform some actions, no matter whether HMI or PC-based HMI is used, an operator needs to operate the interface instead of directly controlling the robot. The operation of the interface requires conversions of spatial perspective, instructions, or the like, making the control error-prone and inefficient. These types of operations significantly decrease work efficiency especially for collaborative robots.
[0030] In order to address or at least partially address the above and other potential problems, embodiments of the present disclosure provide a method and a controller for controlling a robot 100.
[0031] Generally, according to embodiments of the present disclosure, an operator can operate the robot, such as an industrial robot or a collaborative robot or the like (referred to as robot or robots hereinafter for case of discussion), by directly touching, pushing, knocking or tapping it with certain patterns. From the perspective of the robots to be controlled, the touching, pushing, knocking or tapping with certain patterns is embodied as a series of external forces. Accordingly, the patterns of the touching, pushing, knocking or tapping will be also called as patterns 201 of a series of external forces hereinafter.
[0032] The method according to embodiments of present application can be implemented in a controller 105 of the example robot 100 as shown in
[0033] As shown in
[0034] Besides the torque output to the arm link 101 from the motor, the torque sensor 103 can also be used to detect external forces applied on a portion of the robot 100, i.e., the arm links or the joints, such as by touching, pushing, knocking or tapping the portion. For example, the taps on the arm link, which are external forces from the perspective of the robot 100, may cause a change of magnitudes of torques. This change may be sensed by the torque sensor 103 arranged in the joint 102. The controller 105 of the robot 100 coupled to the torque sensor 103 may combine the change of torques of the arm link 101 and the time when the change happens into a time-varying waveform as shown in
[0035] Besides the arm links, the robot 100 may also be controlled by touching, pushing, knocking or tapping other parts of the robot 100, such as the joints with a certain patterns of external forces. For example, when tapping the joint between the arm links 101, 101, the torque applied on the arm link 101 will be changed. And then the torque sensor arranged between the arm links 101, 101 would sense this change. In this way, the patterns 201 of the external forces applied on the joints may also be detected. In some alternative embodiments, in addition to or instead of the torque sensors, further sensors, such as pressure sensors for example may also be arranged on the joints to detect the pattern of the external forces applied on the joints. The idea of the present disclosure will be described further below by taking the arm link being tapped as an example. The case where other parts, such as joints of the robot 100 is tapped, pushed, touched or knocked is similar and will not be described further hereinafter.
[0036]
[0037] Based on this phenomenon, the inventor provides a method to control the robot using a series of external forces applied on the robot 100 such as by touching, pushing, knocking or tapping the arm links.
[0038] For example, according to embodiments, when an operator wants the robot 100 to perform an action, he/she would tap an arm link 101 of the robot 100, as shown in
[0039]
[0040] It is to be understood that the pattern as shown in
[0041] In addition to or instead of the torque sensors 103 as discussed above, current sensors may also be used to sense the magnitude of the taps. Specifically, in the normal operation of the robot 100, even the arm links are in stationary states, motors used to drive the arm links 101 are still active. That is to say, even if the arm links are at rest, the motors to drive them still need certain current to maintain active.
[0042] For example, when an operator taps the arm link 101 shown in
[0043] It is to be understood that the embodiments regarding taps of the operator on the motor as a kind of external forces as mentioned above are merely for illustrative, without suggesting any limitation as for the scope of the present disclosure. Any other suitable forms of external forces are also possible. For example, in some alternative embodiments, the operator may also push, touch or even twist the arm link 101 of the robot 100 to control the robot. In such cases, further sensors may be needed. For example, in some embodiments, some touch sensors (not shown) or pressure sensors may be arranged on suitable positions of the arm link 101 to allow the operator to control the robot 100 by touching the arm link 101 with certain patterns.
[0044] Referring back to
[0045] By way of example, some example patterns, the associated portion where the external forces occur and actions corresponding to these patterns are shown in the following table.
TABLE-US-00001 NO. Pattern Portion Action definition 1 xx Arm link 101 Initiate or cease a process 2 xxx Arm link 101 Create and teach a new target 3 x Arm link 101 Pause or continue 4 x?xx Arm link 101 Robot move to a previous target 5 xx?x Arm link 101 Robot move to next target 6 x?x Arm link 101 Open or close the gripper 7 x?xx Arm link 101 Increase speed 8 xx?x Arm link 101 Decrease speed
[0046] For example, in some embodiments, the operator may define two consecutive taps xx at the arm link 101, which are corresponding to an action of causing the robot to initiate or cease a process or a step of the process to operate a target. Furthermore, three consecutive taps xxx at the arm link 101 may be defined to be corresponding to an action of creating a new target or teaching the robot 100 to operate a new target, and so on.
[0047] It is to be understood that the above patterns and/or actions are merely for illustrative, without suggesting any limitation as to the scope of the present disclosure. Any other suitable patterns or actions may also be possible. The operator can freely set a predetermined pattern with a corresponding action. For example, in some embodiments, the pattern xxx on the arm link 101 may also be used to increase a speed of the robot to operate the target and the pattern xx on the arm link 101 may also be used to decrease the speed of the robot to operate the target.
[0048] Moreover, as can be seen from the above table, in addition to the correlation between the patterns and the action, the portions where the external forces occur are also related to the actions. That is, the pattern of the external forces and the portion where the external forces occur together determine an action to be performed.
[0049] For example, in some embodiments, as shown in the above table, the pattern x?xx of the external forces applied on the arm link 101 may be predetermined to be corresponding to an action robot move to a previous target. The pattern x?xx of the external forces applied on the arm link 101 may be predetermined to be corresponding to an action increase speed.
[0050] The arm link where external forces occur can be judged according to the difference in different torque sensors 103. For example, when an operator taps the arm link 101 as shown in
[0051] In some embodiments, different portions herein mean not only which arm link the external forces occur, but also different parts on the same arm link. For example, the same pattern of external forces occurring at the distal or proximal end can correspond to different actions, which is similar to the situation occurring on different arm links, and will not be described here. This may be enabled by further sensors arranged on the robot arm links.
[0052] Of course, it is to be understood that the above embodiments where the pattern and the portion together determine an action to be performed are merely for illustrative, without suggesting any limitation as to the scope of the present disclosure. Any other appropriate determinants are also possible. For example, in some embodiments, the action may be determined only by the pattern of the external forces without the portions being considered. That is, in those embodiments, as long as the operator taps the robot with a predetermined pattern, regardless of where the tap occurs, the robot performs an action corresponding to the predetermined pattern.
[0053] It should be understood that the embodiments in which the magnitude, portion where the external forces occur and time interval are taken as patterns are merely illustrative and are not intended to limit the scope of the present disclosure. Any other suitable parameters may also be introduced into the pattern to increase the means of controlling the robot.
[0054] For example, in some alternative embodiments, besides the pattern and the portions where the external forces occur, more other determinants, such as magnitudes and directions of the external forces or duration of a single external force may also be introduced to be used to determine the action. This further increase the means to control the robot 100.
[0055] In some embodiments, comparison of the pattern 201 with the predetermined pattern 202 may be performed by employing any suitable algorithm, such as correlation algorithm, signal feature algorithm, neural network algorithm or a combination thereof, as long as the algorithm can facilitate the comparison and removal of unnecessary noise or the like.
[0056] Referring back to
[0057] Furthermore, when the operator taps the robot 100 while the robot 100 is working, the pattern xx of the taps applied on the arm link 101 would cause the robot 100 to cease the process. That is, the taps may be applied on the robot 100 when the robot 100 is in rest or when the robot 100 is operating the target, which makes the robot 100 more intelligent.
[0058] It can be seen from the above that by introducing a pattern 201 of a series of external forces applied on a robot 100 to control the robot 100, the control of the robot can be done more intuitively. In this way, some intermediate steps such as conversion of view angle and instructions required to use the HMI-based methods are omitted, thereby improving efficiency or reliability of the robot 100.
[0059] In some embodiments, if the detected pattern 201 does not match the predetermined pattern 202, an indication of the result of the comparison may be generated to alarm the operator. For example, in some embodiments, as shown in
[0060] For example, in a case where the detected pattern 201 does not match the predetermined pattern 202, the lighting unit may be illuminated while a sound indicating failure matching may also be played back. Furthermore, the arm link where the external forces occur may be vibrated and the result may be displayed on the display screen. In this way, the feedback module 104 allows the operator to get full feedback to avoid delays.
[0061] In some embodiments, if the detected pattern 201 does not match the predetermined pattern 202, which means the detected pattern 201 is not set as a predetermined pattern 202, the feedback module may prompt the operator to set a new predetermined pattern.
[0062] For example, when the operator taps the arm link 101 with a pattern xxxxx, which is not yet set as a predetermined pattern, then a prompt may be shown in the display screen to prompt the operator to set a new corresponding relationship between the pattern xxxxx and a new action.
[0063] It is to be understood that for the sake of reasonableness control, the number of taps to be set as the predetermined pattern may not be any number. When the number of taps exceeds a certain number, such as 6 times or more, the operator may malfunction due to excessive number of taps.
[0064] In addition, the time interval between every two consecutive taps may not be strictly defined, as long as the time interval between every two consecutive taps (including null taps ?, i.e., a short interruption between taps) does not affect the determination of the number of taps. To achieve this objective, in some embodiments, after each series of taps on the robot 100 and before the following comparison, the controller may wait for a predetermined time, for example, 3-6 seconds to ensure that the operator has completed all the taps for this control.
[0065] In some embodiments, the comparison of the detected pattern 201 with the predetermined pattern 202 is independent of the time interval between every two consecutive taps. That is, as long as the order of the detected pattern 201 between the tap x and the null tap ? is corresponding to that of the predetermined pattern 202, the determination of the detected pattern 201 matching the predetermined pattern 202 can be made.
[0066] For example, when the predetermined pattern 202 is set, time interval between two consecutive taps (comprising null tap ?) of the determined pattern xx?x may be about 100 ms. Although time interval between two consecutive taps (comprising null tap ?) of the detected pattern xx?x is about 200 ms, the controller 105 may determine that the detected pattern 201 matches the predetermined pattern 202 and then can control the robot 100 to perform the action corresponding to the determined pattern xx?x.
[0067] Furthermore, in some embodiments, in a case where the detected pattern 201 matches the predetermined pattern 202, feedback may also be provided to the operator. For example, upon a determination that the detected pattern 201 matches the predetermined pattern 202, the display screen may then display the action to be performed by the robot 100. If the operator wants to cancel the action, he/she can touch a corresponding button on the screen for e.g., 1-3 seconds, which can effectively avoid misuse.
[0068] Embodiments of the present disclosure further provide a controller 105 for controlling a robot 100. The controller 105 comprises one or more processors configured to perform the method as mentioned above.
[0069] Furthermore, embodiments of the present disclosure further provide a robot 100 comprising the controller 105 as mentioned above. In some embodiments, the controller 105 may be integrally or separately formed with a control system of the robot 100.
[0070] In some embodiments, the robot 100 may comprise at least one of a torque sensor or a current sensor coupled to the controller and configured to detect a magnitude of each of the series of external forces applied on the portion during a predetermined time period.
[0071] In some embodiments, the robot 100 may comprise a feedback module 104 configured to present the indication of a result of the comparison between the detected pattern 201 and the predetermined pattern. The result may be that the detected patter 201 matches or does not match the predetermined pattern.
[0072] It should be appreciated that the above detailed embodiments of the present disclosure are only to exemplify or explain principles of the present disclosure and not to limit the present disclosure. Therefore, any modifications, equivalent alternatives and improvement, etc. without departing from the spirit and scope of the present disclosure shall be comprised in the scope of protection of the present disclosure. Meanwhile, appended claims of the present disclosure aim to cover all the variations and modifications falling under the scope and boundary of the claims or equivalents of the scope and boundary.