Robot System
The robot system optimizes the positioning of a robot and its workpiece to minimize torque load and interference by using sensors and control maps, enhancing operational efficiency and lifespan.
Patent Information
- Application Number
- JP2023522065
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2021-05-19
- Publication Date
- 2024-12-24
- Estimated Expiration
- 2041-05-19
AI Technical Summary
The challenge is to set the position of a robot and its workpiece relative to each other to minimize the load on the robot's axes while avoiding interference with surrounding obstacles and equipment.
A robot system equipped with a hand, movement mechanism, workpiece and obstacle sensors, and a control device that generates maps to determine optimal relative positions based on detected positions and torque loads, minimizing interference and load on robot axes.
The system effectively determines positions that minimize torque load on robot axes and avoid interference, extending the robot's lifespan and operational efficiency.
Smart Images

Figure 0007605979000001 
Figure 0007605979000002 
Figure 0007605979000003
Abstract
Description
[Technical field]
[0001] The present disclosure relates to robotic systems. [Background technology]
[0002] An autonomous proximity control device is known that searches for an optimal path to a target value for a moving mechanism equipped with a robot (see, for example, Patent Document 1). In this autonomous proximity control device, an initial value and a target value for the moving mechanism are given, and a moving path for the moving mechanism from the initial value to the target value is searched for. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Japanese Patent Application Publication No. 1-289684 Summary of the Invention [Problem to be solved by the invention]
[0004] When the relative position of the robot and the workpiece handled by the robot is changed by the movement mechanism, it is preferable not to place the workpiece and the robot too close to each other in order to avoid interference between the peripheral equipment and the movement mechanism or the robot. On the other hand, it is preferable to place the workpiece and the robot as close as possible to reduce the load acting on each axis of the robot when lifting the workpiece. Therefore, it is desirable to set a position of the movement mechanism that can reduce the load on each axis of the robot while avoiding interference. [Means for solving the problem]
[0005] One aspect of the present disclosure is a robot system comprising a robot equipped with a hand for handling a workpiece, a moving mechanism capable of changing the relative position of the robot and the workpiece, a work sensor capable of detecting the position of the workpiece relative to the robot, an obstacle sensor capable of detecting the position of surrounding obstacles relative to the moving mechanism, and a control device for controlling the robot and the moving mechanism, wherein the robot is equipped with a load sensor capable of detecting a load acting on at least one motion axis of the robot, and the control device generates a first map representing the arrangement of the workpiece and the obstacles from the position of the workpiece detected by the work sensor and the position of the obstacle detected by the obstacle sensor, generates a second map indicating the degree of impact on the life of the robot for each relative position caused by the moving mechanism based on the load detected by the load sensor when the workpiece is lifted by the hand, and determines the relative position caused by the moving mechanism based on the generated first map and second map. [Brief description of the drawings]
[0006] [Figure 1] 1 is an overall configuration diagram showing a robot system according to an embodiment of the present disclosure. [Diagram 2] FIG. 2 is a plan view illustrating a first map in the robot system of FIG. 1. [Diagram 3] FIG. 2 is a block diagram showing the robot system of FIG. 1. [Figure 4] FIG. 2 is a plan view of the robot system of FIG. [Diagram 5] 3 is a plan view showing an area in the first map of FIG. 2 where the center positions of AGVs cannot approach. [Figure 6] FIG. 2 is a plan view illustrating a second map in the robot system of FIG. 1. [Figure 7] 7 is a plan view showing the magnitude of the torque load of each motion axis of the robot in the second map of FIG. 6. FIG. [Figure 8] 2 is a plan view showing an example of the posture of a robot and an AGV in the robot system of FIG. 1. [Figure 9]9 is a plan view showing another example of the posture of the robot and the AGV of the robot system in FIG. 8. [Figure 10] 9 is a plan view showing another example of the posture of the robot and the AGV of the robot system in FIG. 8. [Figure 11] 9 is a plan view showing another example of the posture of the robot and the AGV of the robot system in FIG. 8. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0007] A robot system 1 according to an embodiment of the present disclosure will be described below with reference to the drawings. 1, a robot system 1 according to this embodiment includes an AGV (Automated Guided Vehicle, a moving mechanism) 2, a robot 3 mounted on the AGV, and a control device 4 that controls the AGV 2 and the robot 3. For example, as shown in FIG 2, this robot system 1 is a system in which a workpiece W supplied onto a workbench T is picked up by the robot 3 and operated.
[0008] The AGV2 is a four-wheeled autonomous vehicle capable of traveling on a horizontal floor surface, and is equipped with an obstacle sensor 5, such as a vision sensor or range sensor, that can detect surrounding obstacles O. Obstacles O include structures in the space in which the AGV2 operates and a workbench T on which a workpiece W is mounted (shown by hatching in FIG. 2). The AGV2 can recognize its own horizontal position by a sensor, such as an encoder or a GPS.
[0009] The robot 3 is, for example, a six-axis articulated robot, and includes a rotating body 7 that is rotatable about a vertical first axis A with respect to a base 6 installed on the upper surface of the AGV 2, and a first arm 8 that is rotatable relative to the rotating body 7 about a horizontal second axis B. The robot 3 also includes a second arm 9 that is rotatable relative to the first arm 8 about a horizontal third axis C, and a three-axis wrist 10 attached to the tip of the second arm 9. The robot 3 includes a torque sensor (load sensor) 11 that can detect the torque (load) acting on each motion axis.
[0010] A hand 12 capable of handling the workpiece W by gripping or suction is attached to the tip of the wrist 10. The robot 3 is also equipped with a workpiece sensor 13 such as a vision sensor or range sensor capable of detecting the position of the workpiece W.
[0011] The control device 4 includes at least one processor and a memory. 3, the position of the workpiece W detected by the workpiece sensor 13, the position of the obstacle O detected by the obstacle sensor 5, and the torque load of one or more motion axes detected by the torque sensor 11 are input to the control device 4. The control device 4 also controls the AGV 2 and the robot 3 using the input positions and torque loads.
[0012] The control device 4 performs the following processes. First, the workpiece sensor 13 detects the position of the workpiece W, and the obstacle sensor 5 detects the position of the obstacle O. Then, from the detected positions of the workpiece W and the obstacle O, a first two-dimensional map representing the arrangement of the workpiece W and the obstacle O is generated.
[0013] The first map is a two-dimensional map of an obstacle O that impedes the operation of the AGV 2, as shown in Fig. 2, for example, and is created in a world coordinate system. In the first map, as shown in Fig. 4 and Fig. 5, the area from the surface of the obstacle O to a position offset by half the dimensions of the horizontal width W1 and vertical width W2 of the AGV 2 is defined as an area that the center position Z of the AGV 2 cannot approach (shown by hatching in Fig. 5).
[0014] Furthermore, the control device 4 generates a second map indicating the degree of influence on the lifespan of the robot 3 for each position of the AGV 2. The second map is a grid map, and is created, for example, by the following procedure.
[0015] First, the control device 4 has the worker manually operate the AGV 2 and the robot 3, and at an appropriate position of the AGV 2, have the hand 12 mounted on the robot 3 grasp the workpiece W on the worktable T and lift it up enough so that the workpiece W is clear of the worktable T. In this state, the posture H0 of the hand 12, the posture P0(j) of the robot 3, the reference position Z0 and posture r0 of the AGV 2, and the torque T0(j) of each axis detected by the load sensor 11 are stored.
[0016] Next, the control device 4 generates a grid map (frame) including multiple grids, each having a side length equivalent to the movement resolution of the AGV 2, as shown in Fig. 6, using the reference position Z0 of the AGV 2 as a reference. Then, it calculates the posture of the robot 3 that can take the stored posture of the hand 12 when the reference position Z0 of the AGV 2 is located at the center position of each grid of the grid map.
[0017] Here, the grid for calculating the posture of the robot 3 is limited to the grid inside a circle of radius L+OF centered on the workpiece W, among all the grids defined in Fig. 6. As shown in Fig. 4, L is the reach of the robot 3, and OF is the horizontal offset of the first axis of the robot with respect to the reference position Z of the AGV 2. In addition, grids set in the first map that are located closer to the AGV than the obstacle and whose centers are covered by areas that the AGV's reference position Z cannot approach are excluded from the grids used to calculate the posture of the robot 3.
[0018] Furthermore, the torque load on the robot 3 is smaller as the distance from the workpiece W is smaller. Therefore, as shown in Fig. 6, it is sufficient to calculate the robot posture for grids having centers inside a circle of radius L0, which is sufficiently smaller than radius L+OF, and K grids that satisfy the conditions are selected. In Fig. 7, the grids with dense hatching are considered to have smaller torque loads on each motion axis of the robot 3 than the grids with sparse hatching, and are selected as grids for estimating the posture of the robot 3.
[0019] By placing the reference position Z of AGV2 on the grid selected in this manner and setting the posture of AGV2 to a predetermined posture, the AGV2 can handle the workpiece W with a small torque load without interfering with the obstacle O, as shown in Figures 8 to 11. In the second map, the grids selected in this way are numbered k=1 to K, and for each of the numbered grids, a possible posture of the robot 3 is estimated as follows.
[0020] First, the position Wpos of the workpiece W in the robot coordinate system fixed to the robot 3 is calculated by the following function Fw. Wpos = Fw(Wpos_w, Zk, rm) Here, Wpos_w is the position of the workpiece W in the world coordinate system stored in the first map, Zk is the center position of the kth grid which is the reference position of AGV2 (the central coordinate of each grid), and rm is the posture of the mth AGV2 (the orientation of AGV2).
[0021] The attitude rm of the AGV2 is necessary because, when the first axis A of the robot 3 does not coincide with the reference position Zk of the AGV 2, the position of the first axis A of the robot 3 changes as a result of the AGV 2 changing the attitude rm around the vertical axis located at its reference position Zk. Specifically, the angle of the AGV 2 is changed from 0° to 360° in increments of a predetermined angle, for example, 5°, around the reference position Zk located at the center of each grid selected as described above, and attitudes rm of m=M AGVs 2 that do not cause interference between the AGV 2 and the obstacle O are calculated.
[0022] Next, the posture Px(j) of the robot 3 that can take the stored hand posture H0 with respect to the workpiece position Wpos is calculated using the following function Fp. Px(j) = Fp(Wpos, R, Ho)(x) Here, j is the motion axis number, x is the number of postures when multiple postures exist, and R is the angular resolution.
[0023] For example, when the angle of the rotating body 7 relative to the base 6 around the first axis A of the robot 3 is changed with a predetermined angular resolution R, if postures of the robot 3 that can take the stored posture Ho of the hand 12 at x angles are obtained, x postures are calculated. With the grid number k specified and the posture rm of the AGV 2 specified, x postures of the robot 3 are calculated.
[0024] Based on the calculated posture, the stored posture r0 of the robot 3 and the torque load T0(jI of each axis, the torque load Dx(j) of each axis of the robot 3 in each posture is estimated by the following function Ft. Dx(j)=Ft(P0(j),T0(j),Px(j))
[0025] Then, from the estimated torque load of each motion axis in each posture, the damage amount Sx(j) of each motion axis of the robot 3 in each posture is calculated using the following function. Sx(j)=Fs(Dx(j),C(j))=Dx(j)+C(j) where C(j) is a correction coefficient. Although the sum of the torque load Dx(j) and the correction coefficient C(j) has been exemplified as the function for calculating the degree of influence on the life span, the product may be used, or other complex calculation methods may be used.
[0026] Then, for each posture of the robot 3, the damage amount Sx(j) in each operating axis of the robot 3 is added up by the number of operating axes to calculate the impact Sa(x) on the lifespan of the robot 3 and stored in each grid of the grid map. Sa(x) = Sx(1) + Sx(2) + … + Sx(6)
[0027] The calculated degree of influence on the life span Sa(x) is stored together with the center position Zk of the grid, the posture Px(j) of the robot 3, and the posture rm of the AGV 2. After the degree of influence Sa(x) on the life span of the robot 3 is calculated for all the selected grids, the grid having the smallest degree of influence Sa(x) is selected. If there are multiple grids having the smallest degree of influence Sa(x), the grid is determined according to, for example, the following conditions. The conditions are not limited to the following conditions.
[0028] -The distance from the initial value of the center coordinate Z0 of AGV2 to the center position of the grid is small. The distance from the origin (first axis) of the robot coordinate system to the workpiece W is small. The maximum damage amount Sx(j) for each axis is small.
[0029] The reference position of the AGV2 is aligned with the central coordinates of the grid stored corresponding to the smallest degree of influence Sa(x) determined in this manner, the AGV2 is set to the stored orientation rm, and the robot 3 is set to the stored orientation Px(j).This has the advantage that the AGV2 can grip the workpiece W in the orientation that has the smallest degree of influence on the lifespan of the robot 3 without interfering with the obstacle O.
[0030] In the robot system 1 according to this embodiment, when the robot 3 mounted on the AGV 2 grips the workpiece W with the hand 12, the position and posture of the AGV 2 are calculated so that the torque load of each operating axis is minimized. Alternatively, the position and posture of the AGV 2 may be calculated so that the torque load is minimized on the route in which the robot 3 and the AGV 2 are in operation. In this case, the calculation may be performed at one or more relay points on the route along which the gripped workpiece W is transported.
[0031] Furthermore, in this embodiment, the torque load of each motion axis is detected by the torque sensor 11. However, instead of this, the torque load may be detected by the drive current of a motor (not shown) provided on each motion axis. Furthermore, the torque load may be detected by a torque sensor 11 provided on each motion axis, or the torque load may be detected by a six-axis force sensor provided on the base 6, for example.
[0032] In the case of a six-axis articulated robot, the torque load may be detected for all six motion axes, or may be detected for at least one motion axis. In addition, although the torque load is detected by the torque sensor 11 mounted on the robot 3, the load on each motion axis may alternatively be estimated by measuring the deflection of the robot 3 from outside the robot 3.
[0033] In addition, if the AGV 2 is equipped with a lifting mechanism for raising and lowering the robot 3, the height of the robot 3 is changed using the lifting mechanism, and the posture Px(j) of the robot 3 is calculated, making it possible to select a posture with a smaller torque load.
[0034] Furthermore, when the robot 3 repeatedly performs the same task, a torque load may continue to be applied to some of the motion axes. In such a case, the correction value C(j) may be adjusted based on the operational results.
[0035] For example, at a predetermined timing, such as before operation of the day, the calculated damage amount Sx(j) for each movement axis is added to calculate the total damage amount Sp(j) for each movement axis. Then, the correction value C(j) is multiplied by the total damage amount Sp(j) and the resulting value is replaced as the new correction value C(j).
[0036] This changes the total damage amount Sp(j), resulting in the following effects: For example, if the correction value C(j): [1, 2, 1, 1, 1, 1], there are two candidate postures, and the torque loads estimated for each posture are D1(j): [10, 30, 10, 10, 10, 10] and D2(j): [10, 20, 30, 20, 10, 10], the amount of damage S(j) and the impact on the lifespan Sa are as follows: S1(j):[10,60,10,10,10,10], Sa1=110 S2(j):[10,40,30,20,10,10], Sa2=120 In this case, the first pose is selected.
[0037] When the total damage amount Sp(j): [20, 80, 20, 20, 20, 20], and the correction coefficient Dc(j): [0.1, 0.1, 0.1, 0.1, 0.1, 0.1], the new correction value C(j) is calculated as follows. C(j)=C(j)×Sp(j)×Dc(j):[2,8,2,2,2,2]
[0038] Then, the amount of damage S(j) and the impact on the life span Sa are calculated using the newly calculated correction value C(j), as follows: S1(j):[20,240,20,20,20,20], Sa1=340 S2(j):[20,160,60,20,20,20],Sa2=300 In this case the second position is selected.
[0039] In other words, by updating the correction value based on the total amount of damage, it is possible to avoid selecting a posture that continues to impose a large torque load on a specific motion axis, thereby having the advantage of extending the lifespan of the robot 3. In the above calculation example, the new correction value is calculated by multiplying the correction value by the total damage amount, but it may be calculated by other calculations such as addition.
[0040] In addition, instead of using the total damage amount Sp(j) obtained by adding up the damage amount S(j), the duty, which is the integrated value of the current value or torque value during a series of operations of the robot 3, may be used as the total damage amount Sp(j).
[0041] In addition, in this embodiment, the destination of the AGV 2 carrying the robot 3 is set to a position where the torque load on the robot 3 is reduced, but this may alternatively be applied to a case where the robot 3 is mounted on a hand cart (moving mechanism). In this case, the hand cart may be equipped with an alarm device capable of alarming information, such as a monitor, speaker or LED, to notify the worker pushing the hand cart of the destination of the hand cart.
[0042] If the notification device is a monitor or speaker, the direction of travel of the handcart and the distance to the destination may be notified by display or sound. Also, the proximity of the obstacle O or the destination may be notified by different patterns of sound or light.
[0043] In addition, in this embodiment, an example is given of a case where the robot 3 is mounted on the AGV 2, but instead, the present invention may be applied to a case where the work W is transported mounted on a moving mechanism such as the AGV 2, a hand cart, the robot 3, or a stage. Furthermore, although the case where the robot 3 is mounted on the AGV 2 or the handcart has been described, the robot 3 may be mounted on another robot (moving mechanism).
[0044] In this embodiment, the AGV 2 and the robot 3 are provided with the work sensor 13 and the obstacle sensor 5 for detecting the workpiece W and the obstacle O, but a common sensor may be used as the work sensor 13 and the obstacle sensor 5. The work sensor 13 and the obstacle sensor 5 may be provided on an external wall, a stand, or a ceiling of the AGV 2 and the robot 3.
[0045] In addition, in this embodiment, the posture of the robot 3 that can achieve the set posture of the hand 12 is calculated, and the torque load acting on each motion axis in that posture is estimated. In this case, the robot 3 may actually be placed in the calculated posture, and the torque load of each motion axis may be measured by the torque sensor 11 multiple times, and learning may be performed so that the difference between the estimated torque load and the actually measured torque load is minimized. This makes it possible to optimize the function used when estimating the torque load. Also, deep learning may be applied using the difference between the estimated torque load and the actually measured torque load as input and output. [Explanation of symbols]
[0046] 1. Robot System 2 AGV (moving mechanism) 3. Robot 4. Control device 5 Obstacle Sensor 11 Torque sensor (load sensor) 12 Hands 13 Work sensor W work
Claims
1. A robot equipped with a hand that handles the workpiece, a movement mechanism capable of changing a relative position between the robot and the workpiece; a workpiece sensor capable of detecting a position of the workpiece relative to the robot; an obstacle sensor capable of detecting a position of an obstacle around the moving mechanism; a control device for controlling the robot and the moving mechanism, The robot includes a load sensor capable of detecting a load acting on at least one motion axis of the robot; The control device, generating a first map representing an arrangement of the workpiece and the obstacle based on the position of the workpiece detected by the work sensor and the position of the obstacle detected by the obstacle sensor; generating a second map indicating an influence on a life span of the robot for each of the relative positions of the moving mechanism based on the load detected by the load sensor when the hand lifts the workpiece; A robot system that determines the relative position of the moving mechanism based on the generated first map and second map.
2. One of the robot or the workpiece is moved by the movement mechanism; The robot system according to claim 1 , wherein the second map is a grid map created within a circle centered on the coordinates of the other of the robot or the workpiece.
3. The robot system according to claim 2 , wherein the degree of impact on the lifespan of the robot is calculated based on the load detected by the load sensor and the posture of the robot calculated from the relative position for each grid of the grid map.
4. The robot is mounted on the moving mechanism, The robot system according to claim 1 , wherein the second map is generated for each posture of the moving mechanism.
5. calculating a damage amount for each of the motion axes based on the loads for the one or more motion axes estimated from the posture of the robot; The robot system according to claim 3 , wherein a total value of the damage amounts in the plurality of motion axes is calculated as the degree of influence on the lifespan of the robot.
6. The robot system according to claim 5, wherein a total damage amount is calculated by accumulating the damage amounts calculated during a series of movements of the robot for each of the movement axes, and the total damage amount is reflected as a weight in calculating the damage amount.
7. Each of said motion axes is driven by a motor; The robot system according to claim 5, wherein a total amount of damage is calculated by integrating a current value or torque value of the motor during a series of movements of the robot, and the total amount of damage is reflected as a weight in calculating the amount of damage.
8. 8. The robot system according to claim 5, wherein a calculation for estimating the load on the motion axis from the posture of the robot is optimized by learning.
Citation Information
Patent Citations
Autonomous approach control device of robot
JP1989289684A
Track generation system of moving manipulator
JP2010214544A
Door opening / closing robot and door opening / closing robot control system
JP2016059990A
Method for setting movement path of carrier
JP2017047518A
Virtual safety cage for robotic equipment
JP2017523054A
