Robotic system
By generating a configuration map of the workpiece and obstacles and a load influence map using sensors and control devices in the robot system, the relative position of the robot and the moving mechanism is optimized, solving the problems of avoiding interference and reducing load, and achieving more efficient workpiece operation.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- FANUC LTD
- Filing Date
- 2021-05-19
- Publication Date
- 2026-06-05
AI Technical Summary
How to avoid interference from peripheral equipment and moving mechanisms while reducing the load on each axis of the robot during the process of changing the relative position of the robot and the workpiece?
A robotic system equipped with workpiece sensors, obstacle sensors, load sensors, and control devices is used to generate a configuration diagram of the workpiece and obstacles and a load impact diagram. By optimizing the relative position of the robot and the moving mechanism, interference is avoided and the load is reduced.
This approach achieves the goal of reducing the load on each axis of the robot, extending the robot's lifespan, and optimizing the workpiece's operating posture while avoiding interference.
Smart Images

Figure CN117279746B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to robot systems. Background Technology
[0002] An autonomous proximity control device is known that explores the optimal path for a robot-equipped mobile mechanism to reach a target value (e.g., see Patent Document 1). In this autonomous proximity control device, an initial value and a target value for the mobile mechanism are provided, and the movement path of the mobile mechanism from the initial value to the target value is explored.
[0003] Existing technical documents
[0004] Patent documents
[0005] Patent Document 1: Japanese Patent Application Publication No. 1-289684 Summary of the Invention
[0006] The problem the invention aims to solve
[0007] When using a moving mechanism to change the relative position of the robot and the workpiece operated by the robot, it is preferable to avoid the workpiece getting too close to the robot in order to avoid interference from peripheral equipment and the moving mechanism or the robot. On the other hand, in order to reduce the load on each axis of the robot when lifting the workpiece, it is preferable to make the workpiece as close to the robot as possible.
[0008] Therefore, it is desirable to set the position of the moving mechanism that can reduce the load on each axis of the robot while avoiding interference.
[0009] Solution for solving the problem
[0010] One aspect of the present invention is a robot system comprising: a robot equipped with a hand for manipulating a workpiece; a movement mechanism capable of changing the relative position of the robot and the workpiece; a workpiece 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 movement mechanism; and a control device for controlling the robot and the movement mechanism. The robot includes a load sensor capable of detecting the load acting on at least one axis of motion of the robot. The control device is configured to: generate a first map displaying the configuration of the workpiece and the obstacles based on the position of the workpiece detected by the workpiece sensor and the position of the obstacles detected by the obstacle sensor; generate a second map representing the degree of influence on the robot's lifespan for each relative position based on the movement mechanism based on the load detected by the load sensor when the workpiece is lifted using the hand; and determine the relative positions based on the movement mechanism based on the generated first map and second map. Attached Figure Description
[0011] Figure 1 This is an overall structural diagram of a robot system according to one embodiment of the present invention.
[0012] Figure 2 This is an explanation Figure 1 The top view of the first figure in the robot system.
[0013] Figure 3 It means Figure 1 A block diagram of the robot system.
[0014] Figure 4 yes Figure 1 A top view of the robot system.
[0015] Figure 5 It means Figure 2 The first figure is a top view of the area that the center of the AGV cannot access.
[0016] Figure 6 This is an explanation Figure 1 The top view of the second figure in the robot system.
[0017] Figure 7 It means Figure 6 The second figure is a top view showing the magnitude of the torque load on each motion axis of the robot.
[0018] Figure 8 It means Figure 1 A top view of an example of the posture of a robot system and an AGV.
[0019] Figure 9 It means Figure 8 Top view of the robot system and other examples of the posture of AGVs.
[0020] Figure 10 It means Figure 8 Top view of the robot system and other examples of the posture of AGVs.
[0021] Figure 11 It means Figure 8 Top view of the robot system and other examples of the posture of AGVs. Detailed Implementation
[0022] Hereinafter, a robot system 1 according to one embodiment of the present invention will be described with reference to the accompanying drawings.
[0023] like Figure 1As shown, the robot system 1 of this embodiment includes: an AGV (Automated Guided Vehicle); a robot 3 mounted on the AGV; and a control device 4 that controls the AGV 2 and the robot 3. For example, as... Figure 2 As shown, the robot system 1 is a system that uses robot 3 to lift the workpiece W supplied to the worktable T to perform operations.
[0024] AGV2 is a four-wheeled automated guided vehicle (AGV2) capable of traveling on level ground and equipped with obstacle sensors 5, such as vision sensors or laser scanners, to detect surrounding obstacles O. Obstacles O include structures within the space where the AGV2 operates and the worktable T (on which the workpiece W is mounted). Figure 2 (The image is represented by a shadow line.) AGV2 can use sensors such as encoders or GPS to identify its horizontal position.
[0025] Robot 3 is, for example, a six-axis articulated robot, and includes: a rotary body 7, which is capable of rotating about a vertical first axis A relative to a base 6 disposed on the upper surface of AGV2; and a first arm 8, which is capable of rotating about a horizontal second axis B relative to the rotary body 7. Additionally, robot 3 includes: a second arm 9, which is capable of rotating about a horizontal third axis C relative to the first arm 8; and a three-axis wrist 10 mounted on the front end of the second arm 9. Robot 3 includes a torque sensor (load sensor) 11 capable of detecting the torque (load) acting on each motion axis.
[0026] A hand 12 is installed at the front end of the wrist 10, which can manipulate the workpiece W by grasping or adsorbing. In addition, the robot 3 is equipped with a workpiece sensor 13, such as a vision sensor or a laser scanner, which can detect the position of the workpiece W.
[0027] The control device 4 has at least one processor and a memory.
[0028] like Figure 3 As shown, the control device 4 receives 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. Furthermore, the control device 4 uses the input position and torque load to control the AGV2 and the robot 3.
[0029] The control device 4 performs the following processing.
[0030] First, the position of workpiece W is detected using workpiece sensor 13, and the position of obstacle O is detected using obstacle sensor 5. Then, based on the detected positions of workpiece W and obstacle O, a two-dimensional first image displaying the configuration of workpiece W and obstacle O is generated.
[0031] like Figure 2 As shown, the first diagram is, for example, a two-dimensional diagram of obstacle O that becomes an obstacle to the movement of AGV2, and is created in world coordinates. Figure 4 as well as Figure 5 As shown in the first figure, the area from the surface of obstacle O to a position offset by half the width W1 and length W2 of AGV2 is defined as the area inaccessible to the center position Z of AGV2 (in... Figure 5 (Represented by shading lines.)
[0032] Additionally, the control device 4 generates a second graph for each position of the AGV2, representing the degree of influence on the lifespan of the robot 3. The second graph is a mesh diagram, for example, created through the following steps.
[0033] First, the control device 4 enables the operator to manually operate the AGV2 and the robot 3. At the appropriate position of the AGV2, the operator uses the hand 12 mounted on the robot 3 to hold the workpiece W on the worktable T and lift the workpiece W to the point where it leaves the worktable T.
[0034] In this state, the posture H0 of the storage hand 12, the posture P0(j) of the robot 3, the reference position Z0 and posture r0 of the AGV2, and the torque T0(j) of each axis detected by the load sensor 11 are stored.
[0035] Next, control device 4 uses the reference position Z0 of AGV2 as a reference, such as... Figure 6 As shown, for example, a mesh map (box) is generated containing multiple grids with a length equivalent to the movement resolution of AGV2 as one side. Moreover, with the reference position Z0 of AGV2 positioned at the center of each grid in the mesh map, the pose of robot 3, which can take the pose of the stored hand 12, is calculated.
[0036] Here, the mesh for calculating the pose of robot 3 is defined as follows: Figure 6 Among all the meshes defined in the document, the mesh inside the circle with radius L+OF centered at workpiece W is considered. For example... Figure 4 As shown, L is the reach range of robot 3, and OF is the horizontal offset of the robot's first axis relative to the reference position Z of AGV2.
[0037] Additionally, the grid at the center of the region set in the first graph, which is located closer to the AGV than the obstacle and is inaccessible from the AGV's reference position Z, is removed from the grid used to calculate the robot 3's posture.
[0038] Furthermore, the distance between the torque load applied to robot 3 and the workpiece W should be as small as possible. Therefore, as... Figure 6 As shown, it is sufficient to calculate the robot's pose for a mesh centered inside a circle with a radius L0 that is sufficiently smaller than the radius L+OF, and K meshes that satisfy the conditions are selected. Figure 7 In the process, the mesh with dense shading is the one that can be considered as having a smaller torque load on each motion axis of robot 3 than the mesh with sparse shading, and is selected as the mesh for estimating the attitude of robot 3.
[0039] By configuring the reference position Z of AGV2 in the selected grid and setting the attitude of AGV2 to a predetermined attitude, thus achieving... Figures 8 to 11 As shown, it is possible to operate workpiece W with a small torque load without causing AGV2 to interfere with obstacle О.
[0040] In the second figure, the selected grids are labeled with k = 1 to K, and for each labeled grid, the possible poses of robot 3 are estimated as described below.
[0041] First, calculate the position Wpos of the workpiece W as observed in the robot coordinate system fixed to robot 3, according to the following function Fw.
[0042] Wpos = Fw(Wpos_w, Zk, rm)
[0043] Here, Wpos_w is the position of the workpiece W in the world coordinate system stored in the first graph, Zk is the center position of the kth grid (the center coordinates of each grid) which serves as the reference position of AGV2, and rm is the orientation of the mth AGV2 (the orientation of AGV2).
[0044] Since the first axis A of robot 3 is not aligned with the reference position Zk of AGV2, AGV2 changes its posture rm around the vertical axis positioned at its reference position Zk, thereby changing the position of the first axis A of robot 3. Therefore, the posture rm of AGV2 is required. Specifically, the angle of AGV2 is changed from 0° to 360° around the reference position Zk positioned at the center of each grid selected above, with predetermined angles, such as 5° intervals, and the posture rm of AGV2 is calculated for m = M instances where AGV2 does not interfere with obstacle O.
[0045] Next, the pose Px(j) of robot 3, which can take the stored hand pose H0 relative to the workpiece position Wpos, is calculated according to the following function Fp.
[0046] Px(j) = Fp(Wpos, R, Ho) (x)
[0047] Here, j is the motion axis number, x is the number of poses when there are multiple poses, and R is the angular resolution.
[0048] For example, when the angle of the rotating body 7 relative to the base 6 around the first axis A of robot 3 changes by a predetermined angular resolution R, x postures are calculated among x angles to obtain the posture Ho of robot 3 that can take the stored posture of hand 12. Under the condition of specifying grid number k and specifying the posture rm of AGV2, x postures of robot 3 are calculated.
[0049] Based on the calculated posture, the stored posture r0 of robot 3, and the torque load T0(j) of each axis, the torque load Dx(j) of each axis of robot 3 under each posture is estimated according to the following function Ft.
[0050] Dx(j)=Ft(P0(j), T0(j), Px(j))
[0051] Next, based on the estimated torque load of each motion axis under each posture, the damage amount Sx(j) of each motion axis of robot 3 under each posture is calculated by the following function.
[0052] Sx(j)=Fs(Dx(j),C(j))=Dx(j)+C(j)
[0053] Here, C(j) is the correction coefficient.
[0054] As a function for calculating the degree of influence on lifespan, the sum of torque load Dx(j) and correction coefficient C(j) is exemplified, but it can also be a product or other complex calculation methods.
[0055] Next, for each posture of robot 3, the damage amount Sx(j) of the working axis portion of each working axis of robot 3 is added together to calculate the influence degree Sa(x) on the life of robot 3, and stored in each grid of the mesh diagram.
[0056] Sa(x)=Sx(1)+Sx(2)+…+Sx(6)
[0057] The calculated impact on lifespan Sa(x) is stored together with the center position of the mesh Zk, the pose of robot 3 Px(j), and the pose of AGV2 rm.
[0058] For all selected meshes, after calculating the influence degree Sa(x) on the lifespan of robot 3, the mesh with the minimum influence degree Sa(x) is selected. In the case where multiple meshes exist with the minimum influence degree Sa(x), the mesh is determined, for example, based on the following conditions. These conditions are not limited to the following.
[0059] • The distance from the center coordinate Z0 of the initial AGV2 to the center of the grid is small.
[0060] • The distance from the origin (first axis) of the robot coordinate system to the workpiece W is relatively small.
[0061] • The maximum value of the damage amount Sx(j) of each action axis is relatively small.
[0062] The reference position of AGV2 is aligned with the center coordinates of the grid stored corresponding to the minimum influence degree Sa(x) thus determined, and AGV2 is set to the stored posture rm, while robot 3 is set to the stored posture Px(j). This has the advantage that the workpiece W can be held in a posture with minimal impact on the lifespan of robot 3 without causing AGV2 to interfere with obstacle O.
[0063] Furthermore, in the robot system 1 of this embodiment, when the robot 3 mounted on the AGV2 holds the workpiece W using its hand 12, the position and orientation of the AGV2 are calculated in a manner that minimizes the torque load on each working axis. Alternatively, the position and orientation of the AGV2 that minimizes the torque load along the working path of the robot 3 and the AGV2 can also be calculated. In this case, the calculation can be performed at one or more intermediate points along the path of transporting the held workpiece W.
[0064] In addition, in this embodiment, the torque load of each actuating shaft is detected by the torque sensor 11, but instead, the torque load can also be detected by the drive current of the motor (not shown) of each actuating shaft.
[0065] Alternatively, torque load can be detected using torque sensors 11 installed on each actuating axis, or by using, for example, a six-axis force sensor installed on the base 6.
[0066] In addition, in the case of a six-axis multi-joint robot, torque load can be detected for all six axes of motion, or at least one axis of motion can be detected.
[0067] Alternatively, the torque load can be detected using the torque sensor 11 mounted on the robot 3, but instead, the load on each motion axis can be estimated by measuring the deflection of the robot 3 from the outside of the robot 3.
[0068] Furthermore, by using a lifting mechanism in the AGV2 to raise and lower the robot 3, the robot 3's posture Px(j) can be calculated by changing the height of the robot 3 using the lifting mechanism, thereby enabling the selection of a posture with a smaller torque load.
[0069] Furthermore, when robot 3 repeatedly performs the same task, a continuous torque load may be applied to a portion of the motion axes. In this case, the correction value C(j) can be adjusted based on the actual work performance.
[0070] For example, at a predetermined time, such as before the start of the workday, the calculated damage amounts Sx(j) of each motion axis are summed to calculate the total damage amount Sp(j) for each motion axis. Then, the correction value C(j) is multiplied by the total damage amount Sp(j) to obtain the new correction value C(j).
[0071] Therefore, by changing the total damage amount Sp(j), the following effect is achieved.
[0072] For example, as a correction value C(j): [1, 2, 1, 1, 1, 1], and a candidate for attitude, there are two candidates, with estimated torque loads of D1(j): [10, 30, 10, 10, 10, 10] and D2(j): [10, 20, 30, 20, 10, 10] under their respective attitudes. The damage amount S(j) and its influence on life Sa are as follows.
[0073] S1(j): [10, 60, 10, 10, 10, 10], Sa1=110
[0074] S2(j): [10, 40, 30, 20, 10, 10], Sa2=120
[0075] In this situation, the first stance is selected.
[0076] In the case of total damage Sp(j): [20, 80, 20, 20, 20, 20], if a new correction value C(j) is calculated as a correction coefficient Dc(j): [0.1, 0.1, 0.1, 0.1, 0.1, 0.1], then the following is described.
[0077] C(j)=C(j)×Sp(j)×Dc(j): [2, 8, 2, 2, 2, 2]
[0078] Furthermore, if the damage amount S(j) and the impact on lifespan Sa are calculated using the newly calculated correction value C(j), then the following is described.
[0079] S1(j): [20, 240, 20, 20, 20, 20], Sa1=340
[0080] S2(j): [20, 160, 60, 20, 20, 20], Sa2=300
[0081] In this case, the second posture is selected.
[0082] That is, it has the following advantages: by updating the correction value based on the total damage, it is possible to avoid continuously applying a large torque load to a specific motion axis and extend the life of robot 3.
[0083] In the above calculation example, a new correction value is calculated by multiplying the correction value by the total damage amount, but it can also be calculated using other operations such as addition.
[0084] Alternatively, instead of using the total damage Sp(j) obtained by adding the damage amounts S(j), the duty cycle, which is the value obtained by integrating the current or torque values in a series of actions of robot 3, can also be used as the total damage Sp(j).
[0085] In addition, in this embodiment, the destination of the AGV2 carrying the robot 3 is set at a position where the torque load applied to the robot 3 is smaller. However, this can also be applied to the case where the robot 3 is mounted on a trolley (moving mechanism).
[0086] In this case, a notification device, such as a monitor, speaker, or LED, can be provided to inform the operator of the trolley of its destination.
[0087] When the notification device is a monitor or speaker, it can display or voice the direction of the trolley's movement and the distance to its destination. Alternatively, different modes of sound or light can be used to notify of approaching an obstacle or approaching the destination.
[0088] In addition, this embodiment illustrates the case where the robot 3 is mounted on the AGV2, but it can also be applied to the following cases: the workpiece W is carried by a mobile mechanism such as the AGV2, the trolley, the robot 3, or the platform.
[0089] Additionally, the scenario where Robot 3 is mounted on AGV2 or a trolley will be explained, but Robot 3 can also be mounted on other robots (mobile mechanisms).
[0090] In this embodiment, the AGV2 and robot 3 are equipped with a workpiece sensor 13 and an obstacle sensor 5 for detecting the workpiece W and the obstacle O, but the workpiece sensor 13 and the obstacle sensor 5 can also be general-purpose sensors. Furthermore, the workpiece sensor 13 and the obstacle sensor 5 can also be installed on the external wall, platform, or ceiling of the AGV2 and robot 3.
[0091] Furthermore, in this embodiment, the posture of the robot 3 capable of achieving the set posture of the hand 12 is calculated, and the torque load acting on each motion axis is estimated in this posture. In this case, the robot 3 can also be actually configured in the calculated posture, and the torque load of each motion axis can be measured repeatedly using the torque sensor 11, and learning can be performed in a way that minimizes the difference between the estimated torque load and the measured torque load. This allows for optimization of the function when estimating the torque load. Alternatively, deep learning can be applied using the difference between the estimated torque load and the measured torque load as input and output.
[0092] Explanation of reference numerals in the attached figures:
[0093] 1: Robot System
[0094] 2: AGV (Automated Guided Vehicle)
[0095] 3: Robot
[0096] 4: Control device
[0097] 5: Obstacle Sensor
[0098] 11: Torque sensor (load sensor) 12: Hand
[0099] 13: Workpiece sensor W: Workpiece
Claims
1. A robot system, characterized in that, have: A robot equipped with a hand to manipulate workpieces; A moving mechanism that can change the relative position of the robot and the workpiece; A workpiece sensor that can detect the position of the workpiece relative to the robot; An obstacle sensor is provided, which is capable of detecting the position of surrounding obstacles relative to the moving mechanism. as well as A control device that controls the robot and the moving mechanism. The robot is equipped with a load sensor capable of detecting the load acting on at least one motion axis of the robot. The control device is used for, Based on the position of the workpiece detected by the workpiece sensor and the position of the obstacle detected by the obstacle sensor, a first map displaying the configuration of the workpiece and the obstacle is generated. Based on the load detected by the load sensor when the workpiece is lifted by the hand, a second graph representing the degree of influence on the lifespan of the robot is generated for each relative position of the moving mechanism. Based on the generated first and second images, the relative position based on the moving mechanism is determined.
2. The robot system according to claim 1, characterized in that, Either the robot or the workpiece moves via the moving mechanism. The second figure is a grid diagram created within a circle centered on the coordinates of the other side of the robot or the workpiece.
3. The robot system according to claim 2, characterized in that, The impact on the robot's lifespan is calculated based on the load detected by the load sensor and the robot's posture calculated for each grid of the grid diagram according to the relative position.
4. The robot system according to any one of claims 1 to 3, characterized in that, The robot is mounted on the mobile mechanism. The second map is generated for each posture of the moving mechanism.
5. The robot system according to claim 3, characterized in that, Based on the load estimated from one or more of the motion axes according to the robot's posture, the damage amount of each motion axis is calculated. The sum of the damage amounts of the multiple motion axes is calculated as the degree of impact on the lifespan of the robot.
6. The robot system according to claim 5, characterized in that, The total damage amount calculated by accumulating the damage amount calculated in a series of actions of the robot by each action axis is calculated, the correction value is updated based on the total damage amount, and the damage amount is calculated using the updated correction value.
7. The robot system according to claim 5, characterized in that, Each of the aforementioned action axes is driven by a motor. The total damage is calculated by integrating the current or torque values of the motor during a series of actions of the robot. The correction value is then updated based on the total damage, and the damage is calculated using the updated correction value.
8. The robot system according to any one of claims 5 to 7, characterized in that, The calculation of the load on the motion axis is optimized by learning based on the robot's posture.