Simulation device
Patent Information
- Application Number
- TW111130602
- Authority / Receiving Office
- TW · TW
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2021-09-08
- Filing Date
- 2022-08-15
- Publication Date
- 2026-10-11
- Estimated Expiration
- 2042-08-14
AI Technical Summary
Existing robot systems face challenges in accurately determining the motion boundaries, leading to potential interference with peripheral machines due to the difficulty in estimating and visualizing the robot's movement beyond the allowed area, necessitating larger safety fences without clear guidance on the required coverage.
A simulation device that sets motion-allowed and motion-prohibited areas, uses reference points to estimate the robot's movement, and visualizes the portions that exceed or enter these areas, allowing for precise fence installation.
Enables accurate visualization of the robot's movement beyond or into restricted areas, facilitating optimal fence placement and preventing interference.
Smart Images

Figure TWG2TB001914911_001 
Figure TWG2TB001914911_002 
Figure TWG2TB001914911_003
Abstract
Description
Technical Field
[0001] Invention Field
[0002] This invention relates to a simulation device. Prior Technology
[0003] Background of the Invention
[0004] In general, in robot systems, to prevent the robot from interfering with surrounding machines, a permissible movement zone is set for the robot, and the robot is prevented from leaving this permissible movement zone, or a safety fence is installed outside the permissible movement zone. Regarding the creation of the robot's movement range, Patent Document 1 describes: "A robot control device includes: a setting mechanism that sets the movement range of each axis of the robot and the working tool; a memory mechanism that stores the robot's inertial sliding distance determined by at least one of the robot's movement speed and the weight of the working tool; and an arrival range calculation mechanism that calculates the arrival range that the robot will reach based on the movement range set by the setting mechanism and the inertial sliding distance stored in the memory mechanism" (Abstract).
[0005] Patent document 2 describes: "A method for restricting robot motion, which employs the following procedure: in memory, the arm-occupied area containing the workpiece or tool provided by the robot's arm and wrist, and the motion prohibition area that the arm must not enter, are defined; the inertial gliding angle of each axis of the robot is estimated when the robot is urgently stopped during the execution of the motion command to move to the next target position, and is added to the next target position, thereby calculating the robot's inertial gliding prediction position; it is confirmed whether the arm-occupied area enters the motion prohibition area at the inertial gliding prediction position; when it is confirmed that it has entered, the robot's motion is immediately stopped" (abstract). Prior technology documents Patent documents
[0006] Patent Document 1: Japanese Patent Application Publication No. 2009-090403 Patent Document 2: Japanese Re-publication Patent No. 2009 / 072383 Summary of the Invention
[0007] Invention Summary The problem the invention aims to solve
[0008] Generally, in determining whether a robot has run out of its permitted movement area, a simple shape such as a sphere, cylinder, or cuboid is used to cover the robot or tool to determine whether these shapes have deviated from the permitted movement area. The determination of whether a robot has deviated from its permitted movement area includes the following situations: performing an unusual stop the instant the robot runs out of the permitted movement area; and estimating the inertial glide distance based on the robot's current position / speed, thereby performing an unusual stop a fraction of an hour earlier to prevent the robot from running out of the permitted movement area.
[0009] If an unusual stop is performed the instant the robot runs out of the permitted movement area, the robot will glide due to inertia from the moment the unusual stop is performed until it actually stops, and thus the robot will stop at the point where it went out of the permitted movement area. Therefore, it is necessary to cover an area that is a certain size larger than the set permitted movement area with a fence. However, since it is generally difficult to determine how much area to reserve to cover the fence, it is unnecessary to cover a large area. The means to solve the problem
[0010] The disclosed embodiment is a simulation device comprising: a region setting unit that sets a permissible movement region for a robot; an estimation unit that estimates the robot's movement when a stop control is applied to the robot because the robot has left the permissible movement region; and a visualization unit that visualizes the portion of the robot that has left the permissible movement region based on the estimated movement of the robot.
[0011] Another aspect disclosed herein is a simulation device comprising: a region setting unit that sets a prohibited area for robot movement; an estimation unit that estimates the robot's movement when a stop control is applied to the robot because the robot has intruded into the prohibited area; and a visualization unit that visualizes the portion of the robot that has intruded into the prohibited area based on the estimated movement of the robot. Invention Effects
[0012] Based on the above configuration, the parts of the robot that leave the permitted area or the parts of the robot that intrude into the prohibited area can be visualized, and fences can be set up in appropriate locations.
[0013] These objects, features, and advantages of the invention, as well as other objects, features, and advantages, will become more apparent from the detailed description of typical embodiments of the invention shown in the accompanying drawings. Simple Explanation of the Diagram
[0014] Figure 1 is a perspective view of robot 1, which is the object of simulation performed by a simulation device in an embodiment. Figure 2 is a diagram showing an example of the hardware configuration of a simulation device. Figure 3 is a functional block diagram of the simulation device. Figure 4 is a basic flowchart illustrating the process performed on a simulation device to visualize the part of the robot that is detached from the permissible area of motion (the part that intrudes into the prohibited area of motion). Figure 5 is a flowchart showing a specific example of the presumed action in step S3 of the basic flowchart. Figure 6 is an example of setting the permissible motion area as a cuboid shape, with grid points set on its outer surface as reference points. Figure 7 is an example of setting the permissible motion area as a sphere and setting a reference point on its outer surface. Figure 8 is a diagram showing the state in which the robot moves in a straight line toward a reference point. Figure 9 is an example of a table showing the relationship between the speed before the start of inertial gliding, the weight of the tool, and the amount of inertial gliding of the shaft. Figure 10 is an example of visualizing the state of the robot after the action shown in Figure 8, where the robot has moved out of the permissible action area and stopped. Figure 11A shows the state in which the robot moves toward the reference point with the tool posture in the X-axis direction of the tool coordinate system aligned with the robot's direction of movement. Figure 11B shows the state in which the robot moves towards the reference point with the tool posture in the +Y axis direction of the tool coordinate system consistent with the robot's direction of movement. Figure 11C shows the state in which the robot moves towards the reference point with the tool posture aligned with the robot's movement direction along the +Z axis of the tool coordinate system. Figure 12 is a diagram that visualizes the various postures in which the robot disengages from the permissible motion zone. Figure 13 is a diagram that visualizes the fence setup along with various postures of the robot leaving the permitted area of motion. Figure 14 is an example of visualizing a robot that has left the permitted area of motion (or entered the prohibited area of motion), showing the robot's state as viewed from the side. Figure 15 is an example of visualizing a robot that has left the permitted area of motion (or entered the prohibited area of motion), showing the state of the robot viewed from an obliquely upward angle. Figure 16 is a diagram illustrating the state of a robot mounted on a platform detaching from its permissible motion zone. Figure 17 illustrates an example of a robot mounted on a platform that has detached from its permissible motion area, and the robot's posture differs from that in Figure 16. Implementation
[0015] Forms used to implement inventions
[0016] Next, embodiments of the present disclosure will be described with reference to the accompanying drawings. In the referenced drawings, the same reference numerals are used for the same constituent parts or functional parts. For ease of understanding, the scale of these drawings has been appropriately altered. Furthermore, the forms shown in the drawings are examples of implementing the invention, and the invention is not limited to the forms shown.
[0017] The following describes one embodiment of the simulation device 50 (refer to Figures 2 and 3). The simulation device 50 of this embodiment visualizes the following parts by simulating the robot's movements: the part of the robot that has left the permitted movement area and is stopped; or the part of the robot that has entered the prohibited movement area and is stopped.
[0018] Figure 1 is a perspective view of robot 1, exemplified by the simulation device 50, which is the object of the simulation. Robot 1 is a multi-joint robot including arms 12a and 12b, a wrist 16, and a plurality of joints 13. A working tool 17, serving as an end-connector, is mounted on the wrist 16 of robot 1. Robot 1 includes a drive device for driving the constituent components of each joint 13. The drive device includes motors 14 that drive the constituent components within the joints 13. By driving the motors 14 of each joint 13 based on position commands, the arms 12a, 12b, and wrist 16 can be positioned / postured as desired. Furthermore, robot 1 has a base 19 fixed to the mounting surface 20 and a rotating part 11 that rotates relative to the base 19. In this example, robot 1 is a 6-axis robot. In Figure 1, the rotation directions of axes J1, J2, J3, J4, J5 and J6 are represented by arrows 91, 92, 93, 94, 95 and 96, respectively.
[0019] The working tool 17 installed on the wrist 16 of robot 1 is a welding gun for spot welding, but it is not limited to this. Various tools can be installed as working tool 17 depending on the work content.
[0020] Generally, when detecting a robot's departure from the permissible motion region or interference with the prohibited motion region through computational processing, from the perspective of reducing the burden of computational processing or ensuring margin, it is often required to cover the robot's arms, joints, and working tools with simplified shapes such as cylinders, spheres, and cuboids, and to determine whether these shapes have departed from or interfered with the prohibited motion region. In this embodiment, although the arms (arms 12a, 12b), joints 13, and working tools 17 of robot 1 are covered with cylindrical, spherical, and cuboid shapes respectively to calculate the departure from the permissible motion region or interference with the prohibited motion region, models representing the shapes of the robot and working tools themselves can also be used to calculate the departure from the permissible motion region or interference with the prohibited motion region. Furthermore, sometimes the shape covering robot 1 is labeled with the symbol 1M and referred to as robot 1M (see, for example, Figure 6).
[0021] Figure 2 shows an example of the hardware configuration of the analog device 50. As shown in Figure 2, the analog device 50 can also have the following configuration as a general computer: a processor 51, a memory 52 (ROM, RAM, non-volatile memory, etc.) connected via a bus, a display unit 53, an operation unit 54 consisting of an input device such as a keyboard (or software keyboard), a memory device 55 (HDD, etc.), and an input / output interface 56. As the analog device 50, personal computers, laptops, tablet terminals, and various other information processing devices can be used.
[0022] Figure 3 is a functional block diagram of the simulation device 50. As shown in Figure 3, the simulation device 50 includes a region setting unit 151, a reference point setting unit 152, an estimation unit 153, and a visualization unit 154. Furthermore, Figure 3 also illustrates the display unit 53, the operation unit 54, and the memory device 55, which are hardware components.
[0023] The area setting unit 151 provides the function of setting permissible or prohibited motion areas. For example, the area setting unit 151 accepts user operations to set or select permissible or prohibited motion areas. For example, the area setting unit 151 accepts the following operations: within the work space, setting one or more areas (areas covered by planes such as cuboids or polygonal prisms, areas covered by curved surfaces such as spheres, etc.) as permissible or prohibited motion areas. The user can also consider the work content or various objects such as peripheral devices placed in the work space to specify the number and size of permissible or prohibited motion areas, thereby setting the required permissible or prohibited motion areas. Alternatively, the area setting unit may also be configured to accept user operations to select from a plurality of pre-prepared permissible motion areas (e.g., permissible motion areas when the machine tool door is closed, and permissible motion areas when the machine tool door is open).
[0024] The reference point setting unit 152 sets the position as a calculation reference when the simulated robot 1 moves away from the permitted movement area (or enters the prohibited movement area). The reference point can be used as a target position, a transit position, or a movement start position when the robot 1 (control point) simulates movement. For example, the reference point can also be set as a set of points distributed on the outer surface (interface) of the permitted or prohibited movement area. When the permitted movement area (prohibited movement area) is set as a cuboid, the reference point can also be set as a grid point on each plane. The reference point setting unit 152 can also set the reference point by accepting user operation to set the interval of the grid-like reference points, for example. Alternatively, the reference point setting unit 152 can also set the reference point automatically.
[0025] The estimation unit 153 estimates the following actions: actions that stop the robot 1 when it leaves the permitted area of motion; or actions that stop the robot 1 when it enters the prohibited area of motion. For example, the estimation unit 153 calculates the part of the robot 1 that leaves the permitted area of motion by performing a simulated action that moves the control point (e.g., TCP (tool center point)) of the robot 1 towards the reference point.
[0026] The visualization unit 154 visualizes, for example, the parts of the robot 1 that have detached from the permitted area of motion or have intruded into the prohibited area of motion by displaying them on the display unit 53.
[0027] Furthermore, the memory device 55 stores various three-dimensional shape data such as robot models used for simulating actions and shape models of covered robots, as well as weight data of various objects such as arms and working tools.
[0028] Figure 4 is a basic flowchart illustrating the process (hereinafter also referred to as visualization process) performed on the simulation device 50 to visualize the part of the robot 1 that is detached from the permissible motion area (the part that intrudes into the prohibited motion area). The visualization process in Figure 4 is executed under the control of the processor 51 of the simulation device 50.
[0029] The user first generates an action program by giving various instructions to the robot 1 (step S1). Then, with the support of the function of the area setting unit 151, the action-allowed area or the action-prohibited area is set (step S2). For example, the action-allowed area 300 is set as a cuboid as shown in FIG6, or the action-allowed area 400 is set as a sphere as shown in FIG7.
[0030] Next, the simulation device 50 (estimation unit 153) estimates the action of robot 1 when it is stopped because robot 1 has left the permissible action area (when it is stopped because robot 1 has entered the prohibited action area) (step S3).
[0031] Next, the simulation device 50 (visualization unit 154) visualizes the part of the robot 1 that has detached from the permissible area of motion (or the part of the robot 1 that has intruded into the prohibited area of motion) (step S4).
[0032] Here, we will explain the method for simulating the robot 1 leaving the permissible motion area (or entering the prohibited motion area) during step S3 above. The elements that form the basis for establishing the simulation in this situation can be considered as shown in (A1) to (A4) below. By considering and selecting these elements to construct the simulation, simulations with various characteristics can be implemented. For ease of explanation, we will describe the situation where the robot leaves the permissible motion area, but the same applies to the situation where the robot enters the prohibited motion area. (A1) Configuration of reference points (A2) Posture of work tools (A3) Types of robot actions (A4) Speed / direction towards the reference point (A5) The type of stopping control performed on the robot after detachment is detected.
[0033] The following describes elements (A1) to (A5).
[0034] (A1) Configuration of reference points Reference points are positions used as a reference for the robot 1 to perform actions outside the permissible motion area. A representative example is a reference point set on the interface of the permissible motion area (prohibited motion area). When the permissible motion area is configured as a cuboid, as shown in Figure 6, the reference points can also be set as grid points arranged at predetermined intervals on the planes of the outer surface of the permissible motion area. Figure 6 shows a state where a plurality of reference points 331 are set as grid points on the outer surface (three planes 301-303) of the permissible motion area 300, which is formed as a cuboid. Alternatively, when the permissible motion area is spherical, as shown in Figure 7, the reference points can also be set as points evenly distributed on the spherical outer surface (interface). Figure 7 shows an example where a plurality of reference points 411 are evenly distributed on the outer surface of the permissible motion area 400, which is set as a spherical area.
[0035] (A2) Posture of work tools The shape / trajectory of the part of the robot that leaves the permissible motion zone varies depending on the posture of the working tool when leaving the permissible motion zone (i.e., when moving towards the reference point). Therefore, when making robot 1 perform a certain action and visualizing the part that leaves the permissible motion zone, performing the simulation using multiple postures of the working tool may make the simulation results more effective. For example, when performing an action that moves the robot's TCP in a straight line towards the reference point, multiple tool postures can be simulated when the ± directions of the X-axis, ± directions of the Y-axis, and ± directions of the Z-axis in the tool coordinate system are each aligned with the direction of robot 1's action. In addition, tool postures that rotate around one or more of the X-axis, Y-axis, and Z-axis can also be added.
[0036] (A3) Types of robot motion commands The robot's motion commands include: linear motion, which moves the robot's control point (TCP) linearly to a target position; and axis motion, which moves each axis to reach the target position. Linear motion is suitable for simulating actions such as moving the robot's control point (TCP) toward a reference point at a predetermined speed and direction. Axis motion is suitable for simulating actions such as moving each axis from a reference point at its maximum speed.
[0037] (A4) Speed / direction towards the reference point The shape / trajectory of the portion of robot 1 that deviates from the permissible motion zone will vary depending on the speed / direction of robot 1 moving towards the reference point. For example, consider the permissible motion zone as a cuboid. When the control point (TCP) of robot 1 moves in a straight line toward the grid point, if the movement direction of TCP is perpendicular to the plane of the outer surface of the permissible motion zone where the grid point exists, and the movement speed is set to maximum, the deviation portion should be maximized effectively. However, at the corner near the permissible motion zone, if the movement direction of TCP is tilted relative to the outer surface (plane) (for example, if the movement direction of TCP approaches the corner from the geometric center of the permissible motion zone), the deviation portion should be maximized effectively. Furthermore, the matters described here also apply to the case of determining the portion that intrudes into the prohibited area. The estimation unit 153 can also consider the above-described matters when determining the deviation portion (intrusion portion). Furthermore, the speed / angle of robot 1 moving toward the grid point can also be set to arbitrary values, considering, for example, the nature of the workspace.
[0038] (A5) Types of Stop Control The action of stopping robot 1 after it has left the permissible motion zone (entered the prohibited motion zone) can be considered not only for the inertial sliding caused by the unusual stop, but also for the stop by a predetermined deceleration control. To determine the inertial sliding motion caused by the unusual stop, the extent of inertial sliding along each axis of robot 1 should be calculated beforehand. If a predetermined deceleration control is performed when robot 1 leaves the permissible motion zone (enters the prohibited motion zone), the action of robot 1 when leaving the permissible motion zone (enters the prohibited motion zone) can be determined from the deceleration control mode of this control. Furthermore, the predetermined deceleration control may include the following: planning a track to smoothly stop robot 1, and moving robot 1 along that track.
[0039] The following describes a specific example of the estimation operation of the estimation unit 153 in step S3 above. Figure 5 is a flowchart showing a specific example of the estimation operation of the estimation unit 153 in step S3. Here, the allowable movement area is set as a cuboid, and the reference points are each plane on the surface outside the allowable movement area, which are set as grid points.
[0040] In step S31, the simulation device 50 (reference point setting unit 152) sets grid points on the surface (outer surface) covering the permissible or prohibited movement area. These grid points serve as reference points for calculating the portion of the robot 1 that detaches from the permissible movement area or intrudes into the prohibited movement area. For example, the simulation device 50 (reference point setting unit 152) can also set grid points at specified intervals on the surface covering the permissible or prohibited movement area by receiving an operation input from the user to specify the interval of the grid points.
[0041] Here, it is assumed that a cuboid motion allowable area 300 is set as shown in Figure 6. Furthermore, the reference points (grid points) 331 are set at specified intervals on six planes (three planes 301-303 are shown in Figure 6) constituting the outer surface of the motion allowable area 300.
[0042] In step S32, the simulation device 50 (estimation unit 153) sets the posture of the working tool when the robot 1 moves toward the grid. Then, the estimation unit 153 calculates the movement of the robot 1 from leaving the permissible movement area from the grid until it stops (or the movement of the robot 1 from entering the prohibited movement area from the grid until it stops) (step S33).
[0043] The estimation unit 153 repeats the actions of steps S32 and S33 (the loop processing of step S34) for all grid points, and repeats the actions of steps S32 and S33 (the loop processing of step S35) for various tool postures.
[0044] The specific action examples in steps S32 to S35 are explained below. In the action examples described below, it is assumed that when robot 1 rushes out at maximum speed in a direction perpendicular to the outer surface of the action allowable area 300, the inertial sliding distance will increase. Therefore, in this case, the robot 1 moves at maximum speed by moving in a straight line with the TCP facing the grid point in a direction perpendicular to the surface of the grid point (the outer surface of the action allowable area), and the stopping positions when it rushes out of the action allowable area are estimated and the part exceeding the action allowable area is visualized. As for the stopping action, it is envisioned that after detecting that robot 1 (robot 1M) has left the action allowable area, it performs an unusual stopping action, and robot 1 stops by inertial sliding. Regarding the tool posture, it is envisioned that the operation is carried out in three postures in which the -X-axis direction, +Y-axis direction, and +Z-axis direction of the tool coordinate system are each consistent with the direction of TCP moving towards the grid point.
[0045] As shown in Figure 8, the -X-axis direction of the tool coordinate system set on the working tool 17 is aligned with the movement direction of the TCP (origin of the tool coordinate system) of robot 1. In this posture 101, robot 1 moves in a straight line towards the reference point (grid point) 331 at its maximum speed along the -X-axis in a direction perpendicular to the plane of the permissible motion area 300. Posture 102 is the posture of robot 1 (robot 1M) at the instant it exits the permissible motion area 300. Here, it is assumed that robot 1 (robot 1M) exits the permissible motion area 300 at a position P1 near the front end of its arm. The posture (angle) of each axis at this instant is calculated. Furthermore, from posture 102, the posture of each axis at the position of retreating a small distance (in this case, the +X direction of the TCP) is calculated. The difference between the poses of the former and the poses of the latter is the ratio of the motion speeds of robot 1 along each axis at the instant the robot moves in a straight line out of the permissible motion zone 300. As an example, robot 1 is a 6-axis robot. Assume the calculated motion speed ratios for axes J1 to J6 are: m1:m2:m3:m3:m4:m6.
[0046] From this ratio and the maximum motion speed of each axis of robot 1, the motion speed of each axis of robot 1 at the instant when the robot moves out of the permissible motion range 300 while performing a linear motion at its maximum output speed can be obtained. That is, the value of n that makes the value of any axis the maximum motion value of that axis and the values of other axes below the maximum motion speed can be obtained when the speed ratio of each axis is made n times. When the above ratios m1 to m6 are made n times, if the value of axis J6 (n×m6) is the maximum speed of axis J6, and the values of other axes (n×m1), (n×m2), (n×m3), (n×m4), and (n×m5) are below the maximum speed of these axes, these speeds are the motion speeds of each axis of robot 1 at the instant when the robot moves out of the permissible motion range while performing a linear motion at its maximum output speed.
[0047] If the motion speed of each axis is obtained, the position where robot 1 stops after inertial gliding can be determined. The amount of inertial gliding of each axis of robot 1 can be considered to be related to the speed of each axis before the start of inertial gliding and the weight of the working tool 17. The relationship between the amount of inertial gliding of each axis and the speed before the start of inertial gliding and the weight of the tool is determined in advance through experiments, etc. The simulation device 50 stores the information showing the relationship between the amount of inertial gliding of each axis and the speed before the start of inertial gliding and the weight of the working tool 17 in advance, for example, a memory device 55.
[0048] Figure 9 shows a table representing the amount of inertial slip (change) of a drive axis when an unusual stop is performed on robot 1, for a single drive axis. This table represents the change in the amount of slip of the drive axis during an unusual stop while robot 1 is driven in a predetermined direction and at a predetermined speed. The change in the amount of slip of the drive axis corresponds to the rotation angle from the implementation of the unusual stop to the complete stop of the robot.
[0049] The change in drive shaft velocity is a function of the drive shaft's operating speed before the unusual stop and the weight of the work tool. The heavier the work tool, the greater the change in drive shaft velocity after the unusual stop. Furthermore, the greater the drive shaft's operating speed during the unusual stop, the greater the change in drive velocity. The change in drive velocity shown in Figure 9 can also be pre-calculated using the actual drive robot 1. The simulation device 50 maintains the table shown in Figure 9 for each drive shaft.
[0050] For example, suppose the initial speed of the axis with the relationship shown in the table in Figure 9 is 20 deg / s, and the weight of the working tool is 30 kg. In this case, the estimation unit 153 of the model device 50 obtains the inertial sliding amount (angle) of the axis from the table as 8 deg. Then, based on the relationship of each axis pre-memorized in Figure 9, the estimation unit 153 calculates the inertial sliding amount of each axis from the initial speed of each axis obtained by the above method. In this way, the estimation unit 153 can obtain the motion of robot 1 from inertial sliding to a stop due to an unusual stop.
[0051] Figure 10 illustrates an example of visualizing the state where robot 1 has moved out of the permissible motion region 300 and stopped, obtained through the above actions. Here, the state where the working tool 17 and the front end of the arm of robot 1 (its shape is greatly simplified) have moved out of the outer surface of the permissible motion region 300 is visualized as pose 103. Furthermore, although this example describes visualizing the state where robot 1 has stopped, it is also possible to visualize all the actions of robot 1 up to the point of stopping.
[0052] The simulation device 50 performs visualization of the portion of the robot 1 that detaches from the permissible motion area 300 (or the portion that intrudes into the prohibited motion area) across all grid points, as described above.
[0053] Furthermore, the estimation unit 153 visualizes the portion of the robot 1 that deviates from the permissible motion region 300 (or the portion that intrudes into the prohibited motion region) for all tool postures. In this example, the estimation unit 153 considers the following three actions as tool postures: • Robot 1 (TCP111) moves towards reference point (grid point) 331 with a tool posture that is consistent with the movement direction of robot 1 (TCP111) along the -X axis of the tool coordinate system (Fig. 11A). • Robot 1 (TCP111) moves towards reference point (grid point) 331 with a tool posture that is consistent with the movement direction of robot 1 (TCP111) along the +Y axis of the tool coordinate system (Fig. 11B). • Robot 1 (TCP111) moves towards reference point (grid point) 331 with a tool posture that is consistent with the movement direction of robot 1 (TCP111) in the +Z axis direction of the tool coordinate system (Fig. 11C). To calculate the position and posture of the detached (or intruded) part of robot 1 when the robot leaves the permissible area of the grid point (or intrudes into the prohibited area of the action).
[0054] Based on the above actions, assuming the robot rushes out from any position within the permissible motion zone in any tool posture and is subjected to an unusual stop, the range in which the robot might rush out of the permissible motion zone can be estimated / visualized. Similarly, for the prohibited motion zone, the range in which the robot might intrude can also be estimated / visualized.
[0055] Figure 12 illustrates an example of visualizing all postures of robot 1 (robot 1M) that have deviated from the permissible movement area 300 by referring to the simulated actions described in steps S31 to S35 above. For example, the simulation results shown in Figure 12 are displayed on display unit 53. Based on these simulation results, the user can determine the configuration of safety fences F1 and F2, using the configuration relationship shown in Figure 12 as an example.
[0056] Alternatively, the estimation unit 153 may obtain the state shown in FIG13 as the simulation result when robot 1 (robot 1M) leaves the permissible motion area 300, and then require the configuration of the safety fence F10 based on the simulation result. Then, the visualization unit 154 visualizes the configuration of the safety fence determined by the estimation unit 153. As an example, the position of the safety fence may be determined such that it has a predetermined margin relative to the maximum amount of the robot 1 (robot 1M) rushing out from each side of the permissible motion area 300.
[0057] In the simulation examples of steps S31 to S35 of Figure 5 above, an example of making robot 1 perform a linear motion was described. However, there may also be examples, as described above, of making robot 1 perform motions along each axis and determining the motion of robot 1 that is out of the permissible motion area. When using motions along each axis, actions such as (B1) or (B2) below can also be used. (B1) Robot 1 performs movements along each axis by passing through a reference point or using the reference point as the starting point of the movement. If it is detected that robot 1 has deviated from the permissible movement area, an unusual stop is performed. The amount of movement of each axis after the unusual stop can also be assumed that at the moment the unusual stop is performed, each axis will move at its own maximum speed, and calculated using the table shown in Figure 9. Alternatively, as for the movement of robot 1 near the position where it has deviated from the permissible movement area, the speed of each axis at the moment of deviating from the permissible movement area and the speed of each axis at the position where it moves backward from that position can also be calculated. When the speed of each axis tends to increase, that is, it is assumed that at the moment the robot deviates from the permissible movement area, each axis of the robot is at its own maximum speed, and the inertial gliding amount is calculated in the same way as above. (B2) Perform a movement that causes a specific axis to move significantly from the reference point, and determine the position / pose of the part of the robot that is out of the allowable motion range. For example, there may be the following: only make the J1 axis swing within the range of motion, or only make the J2 and J3 axes swing within their respective ranges of motion.
[0058] Figures 14 and 15 illustrate an example of visualizing the state where robot 1M has moved out of the permissible motion zone and stopped, using the aforementioned visualization process. Furthermore, Figure 14 shows an example of visualization when robot 1M is viewed from the side, and Figure 15 shows an example of visualization when robot 1M is viewed from an obliquely above. The shape of robot 1 is omitted here. In this example, the front end 1A of robot 1's arm has moved out of the permissible motion zone. Furthermore, if the space 500 outside the permissible motion zone 300 is defined as the prohibited motion zone, Figures 14 and 15 show the state where robot 1 (robot 1M) has intruded into the prohibited motion zone (space 500).
[0059] In addition to being fixed to the mounting surface 20 as shown in Figure 1, Robot 1 can also be mounted on a traveling platform. Referring to Figures 16 and 17, a visualization of the portion of Robot 1 that detaches from the permissible motion area when it is movably mounted on the traveling platform is explained. As shown in Figure 16, the moving mechanism 180 includes a track 181, a traveling platform 182 movably mounted on the track 181, and a motor 183 for driving the traveling platform 182. Robot 1 (Robot 1M) is mounted on the traveling platform 182.
[0060] Figure 16 also illustrates the permissible motion zone 300A set in this configuration. Here, robot 1 (robot 1M) is moved toward a reference point set on the left side of the diagram (hereinafter referred to as the front side) of the permissible motion zone 300A, and the actions illustrated in steps S31 to S35 are performed, and the traveling platform 182 is moved to the left (front) of the diagram. During the above actions, at position P21, it is detected that the front end of the arm of robot 1 has disengaged from the permissible motion zone 300. Assuming that robot 1 and traveling platform 182 are brought to an unusual stop from this instant, the action of robot 1 disengaging from the permissible motion zone 300 due to inertial sliding is calculated.
[0061] Regarding the inertial sliding amount of robot 1, the inertial sliding amount of each axis can be calculated using the method shown in the table in Figure 8, as described above. For the traveling platform 182, the relationship between the loaded weight and the inertial sliding distance is calculated in advance as, for example, numerical data (table), thereby obtaining the inertial sliding distance in that case. Then, by adding the inertial sliding amount of robot 1 to the inertial sliding distance of traveling platform 182, the movement of the portion disengaging from the permissible movement area 300 can be obtained.
[0062] Figure 17 shows an example of a robot 1 mounted on a traveling platform 182 rushing out of the permissible motion area 300A at position P22. In this case, the position of the traveling platform 182 when the robot 1 rushes out of the permissible motion area 300A is different from the position of the traveling platform 182 in the case of Figure 16. Therefore, the posture of the robot 1 when it rushes out of the permissible motion area 300A will be a different posture than that shown in Figure 16.
[0063] Furthermore, although the actions of the robot when it leaves the permitted action area are described here, the same applies to determining the part of the robot that has entered the prohibited action area.
[0064] Thus, in the configuration example where robot 1 is mounted on a driving platform, the portion of the robot that leaves the permitted area (or intrudes into the prohibited area) can also be determined and visualized.
[0065] As explained above, according to this embodiment, the part of the robot that leaves the permitted area or the part of the robot that enters the prohibited area can be visualized, and a fence can be set up in an appropriate location.
[0066] The present invention has been described above using typical embodiments. Those skilled in the art will understand that modifications, omissions, and additions can be made to the above embodiments without departing from the scope of the present invention.
[0067] The various functions described above for determining and visualizing the actions of a robot that have detached from a permitted area can also be applied to determining and visualizing the actions of a robot that has intruded into a prohibited area.
[0068] For example, not all elements are required in the functional block diagram shown in Figure 3. For example, images obtained through visualization processing can also be displayed on the display unit of a device outside the simulation device 50. Three-dimensional shape data, weight data, tables shown in Figure 9, etc., can also be obtained by the simulation device 50 from external devices.
[0069] The functional blocks of the analog device shown in Figure 3 can also be implemented by the processor of the analog device executing various software stored in the memory device, or they can be implemented by using hardware such as ASIC (Application Specific Integrated Circuit) as the main body.
[0070] The program that performs various processing operations, such as visualization processing, as described above can be recorded on various computer-readable recording media (such as semiconductor memory such as ROM, EEPROM, flash memory, magnetic recording media, CD-ROM, DVD-ROM, etc.).
[0071] 1.1M: Robot 1A: Anterior end of arm 11: Rotation section 12a, 12b: Arm 13: Joints 14: Motor 16: Wrist 17: Work Tools 19: Base section 20: Setting surface 50: Simulation device 51: Processor 52: Memory 53: Display Section 54: Operations Department 55: Memory device 56: Input / Output Interface 91,92,93,94,95,96: Arrows 101, 102, 103: Posture 111:TCP 151: Regional Setting Department 152: Reference point setting unit 153: Presumption 154: Visualization Department 180: Mobile mechanism 181: Track 182: Driving Platform 183: Motor 300, 300A, 400: Permissible motion range 301~303: Plane 331,411: Benchmark Point 500: Space F1, F2, F10: Safety fences J1, J2, J3, J4, J5, J6, X, Y, Z: Axes P1, P21, P22: Position S1~S4, S31~S35: Steps
Claims
1. A simulation device comprising: a region setting unit for setting a permissible motion region for a robot; an estimation unit for estimating the motion of the robot when a stopping control is applied to the robot because the robot has moved out of the permissible motion region; and a visualization unit for visualizing the portion of the robot that has moved out of the permissible motion region based on the estimated motion of the robot, wherein the estimation unit estimates the motion of the robot based on each of a plurality of postures of a working tool mounted on the robot.
2. The simulation device as claimed in claim 1, wherein the aforementioned area setting unit sets the aforementioned action-allowed area based on user input.
3. The simulation device of claim 1 further includes a reference point setting unit, wherein the reference point setting unit sets a reference point in the aforementioned estimation unit as a target position, a position via, or a position at which the aforementioned robot simulates movement.
4. The simulation device as described in claim 3, wherein the aforementioned reference point setting unit sets the aforementioned reference point based on user input.
5. The simulation device of claim 3, wherein the aforementioned reference point is defined as a plurality of points distributed on the surface outside the aforementioned permissible action area.
6. The simulation device of claim 3, wherein the aforementioned estimation unit causes the aforementioned robot to simulate movement by means of linear movement or movement of each axis, so as to estimate the movement of the aforementioned robot.
7. The simulation device of claim 3, wherein the aforementioned estimation unit causes the control point of the aforementioned robot to move in a predetermined direction and at a predetermined speed relative to the aforementioned reference point by means of linear movement.
8. A simulation device comprising: a region setting unit for setting a permissible motion region for a robot; an estimation unit for estimating the robot's motion when a stopping control is applied to the robot because the robot has deviated from the permissible motion region; a visualization unit for visualizing the portion of the robot that has deviated from the permissible motion region based on the estimated motion of the robot; and a reference point setting unit for setting a reference point in the estimation unit as a target position, a via position, or a motion start position for the robot to simulate motion, wherein the reference point is defined as a plurality of points distributed on the outer surface of the permissible motion region, and the estimation unit causes the robot's control point to move toward the reference point and to simulate motion at the robot's maximum speed by moving in a straight line in a direction perpendicular to the outer surface of the permissible motion region where the reference point is located.
9. The simulation device of any one of claims 1 to 8, wherein the control used to stop the aforementioned robot is either an unusual stop or a stop performed by a predetermined deceleration control.
10. The simulation device of claim 9, wherein the control used to stop the robot is the aforementioned unusual stop, wherein the estimation unit calculates the robot's motion from the moment it leaves the aforementioned permissible motion area until it stops, based on information indicating the relationship between the motion speed of each axis at the instant the robot leaves the aforementioned permissible motion area and the weight of the working tool mounted on the robot and the inertial sliding amount of each axis.
11. The simulation device according to any one of claims 1 to 8, wherein the aforementioned estimation unit determines the configuration of a safety fence that should be placed outside the aforementioned permissible action area based on the estimation result of the aforementioned robot's actions, and the aforementioned visualization unit further visualizes the aforementioned safety fence based on the determined configuration of the aforementioned safety fence.
12. The simulation device of any one of claims 1 to 8, wherein the aforementioned estimation unit is for the aforementioned robot mounted on the driving platform, and estimates the actions of the aforementioned robot and the aforementioned driving platform when the robot leaves the aforementioned permissible action area and a stop control is applied to the aforementioned robot and the aforementioned driving platform.
13. A simulation device comprising: a region setting unit for setting a prohibited area for robot movement; an estimation unit for estimating the movement of the robot when a stop control is applied to the robot because the robot has intruded into the prohibited area; and a visualization unit for visualizing the portion of the robot that has intruded into the prohibited area based on the estimated movement of the robot, wherein the estimation unit estimates the movement of the robot based on each of a plurality of postures of a working tool mounted on the robot.
Citation Information
Patent Citations
A system and a method for programming an in dustrial robot
CN101043980A
Robotic system for picking, sorting, and placing a plurality of random and novel objects
CN112166013A
Interference region confirmation device of robot
JP2005081445A
Robot action range-setting device
JP2009090403A
Program, device and method for analyzing approach prohibited space
JP2010224765A
