Simulation Equipment
The simulation device optimizes safety fence placement by estimating and visualizing robot deviations from allowable areas, addressing the challenge of wide enclosures in existing methods.
Patent Information
- Application Number
- JP2023546635
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2021-09-08
- Publication Date
- 2025-10-28
- Estimated Expiration
- 2041-09-08
AI Technical Summary
Existing methods for determining a robot's deviation from its allowable operation area often result in unnecessarily wide safety enclosures due to uncertainty in setting the margin for emergency stops, making it difficult to optimize the size of the safety fence.
A simulation device that sets an allowable region for robot movement, estimates the robot's movement when it deviates from this region, and visualizes the deviation using a region setting unit, estimation unit, and visualization unit, considering various postures and speeds of the robot and its tool.
Enables precise visualization of areas where the robot deviates from or enters prohibited zones, allowing for optimal placement of safety fences, thereby reducing unnecessary enclosure size.
Smart Images

Figure 0007761657000001 
Figure 0007761657000002 
Figure 0007761657000003
Abstract
Description
[Technical Field]
[0001] The present invention relates to a simulation device. [Background technology]
[0002] In general, in a robot system, an allowable operating area is set for the robot to prevent the robot from moving outside the allowable operating area, and a safety fence is placed outside the allowable operating area to prevent the robot from interfering with peripheral equipment, etc. Regarding the creation of the operating range of a robot, Patent Document 1 describes "a robot control device comprising: a setting means for setting the operating range of each axis of the robot and the work tool; a storage means for storing the coasting distance of the robot determined according to at least one of the operating speed of the robot and the weight of the work tool; and a reach range calculation means for calculating the reach range of the robot based on the operating range set by the setting means and the coasting distance stored in the storage means" (Abstract).
[0003] Patent Document 2 describes a robot operation restriction method that "defines in memory an arm occupation area including the workpiece or tool attached to the robot's arm and wrist, and a prohibited area that the arm must not enter; estimates the coasting angle of each axis of the robot in the event of an emergency stop of the robot while executing an operation command to the next target position; calculates the robot's predicted coasting position by adding this to the next target position; checks whether the arm occupation area at the predicted coasting position will enter the prohibited area; and if entry is confirmed, controls are performed to immediately stop the robot's operation" (abstract). [Prior art documents] [Patent documents]
[0004] [Patent Document 1] Japanese Patent Application Laid-Open No. 2009-090403 [Patent Document 2] Republished Patent No. 2009 / 072383 Summary of the Invention [Problem to be solved by the invention]
[0005] Generally, when determining whether a robot has left its allowable operation area, the robot or tool is covered with a simple shape such as a sphere, cylinder, or rectangular parallelepiped, and a determination is made as to whether these shapes have deviated from the allowable operation area.When determining whether a robot has deviated from its allowable operation area, there are two ways to determine: an emergency stop is applied the moment the robot leaves the allowable operation area, and an emergency stop is applied before the robot leaves the allowable operation area by estimating the coasting distance for the current robot operating position and operating speed.
[0006] If an emergency stop is applied the moment the robot leaves the allowable operation area, the robot will coast from the time the emergency stop is applied until it actually stops, and will stop at the point where it left the allowable operation area. Therefore, it is necessary to enclose an area that is somewhat wider than the set allowable operation area with a fence, but it is generally difficult to determine how much margin the fence should have, so it is possible to end up enclosing an unnecessarily wide area. [Means for solving the problem]
[0007] One aspect of the present disclosure is a region setting unit that sets an allowable region for robot movement; an estimation unit that estimates the movement of the robot when control is applied to stop the robot due to the robot deviating from the allowable region for movement; and a visualization unit that visualizes the portion of the robot that deviates from the allowable region for movement based on the estimated movement of the robot, wherein the estimation unit estimates the movement of the robot for each of a plurality of postures of a work tool mounted on the robot, It is a simulation device.
[0008] Another aspect of the present disclosure is a method for manufacturing a semiconductor device comprising: an estimation unit that estimates the behavior of the robot when control is applied to stop the robot due to the robot having deviated from the allowable behavior area; a visualization unit that visualizes the portion of the robot that has deviated from the allowable behavior area based on the estimated behavior of the robot; and a reference point setting unit that sets a reference point to be used as a target position, a waypoint, or a motion start position when the estimation unit simulates the motion of the robot, wherein the reference points are defined as a plurality of points distributed on the outer surface of the allowable behavior area, and the estimation unit simulates the motion of the control point of the robot toward the reference point by a linear motion at the maximum speed of the robot in a direction perpendicular to the outer surface of the allowable behavior area in which the reference point exists. It is a simulation device. [Effects of the Invention]
[0009] According to the above configuration, it is possible to visualize the areas where the robot deviates from the permitted movement area or the areas where the robot enters the prohibited movement area, and to install fences in appropriate locations.
[0010] These and other objects, features and advantages of the present invention will become more apparent from the detailed description of exemplary embodiments of the invention illustrated in the accompanying drawings. [Brief explanation of the drawings]
[0011] [Figure 1] 1 is a perspective view of a robot 1 that is a target of a simulation by a simulation device according to an embodiment. [Figure 2] FIG. 2 illustrates an example of a hardware configuration of a simulation apparatus. [Figure 3] FIG. 2 is a functional block diagram of the simulation device. [Figure 4] 10 is a basic flowchart showing a process executed on a simulation device for visualizing a portion where a robot deviates from an allowable movement area (a portion where the robot enters a prohibited movement area). [Figure 5] 10 is a flowchart showing a specific example of the estimation operation in step S3 of the basic flowchart. [Figure 6] 10 is a diagram illustrating an example in which the operation allowance area is a rectangular parallelepiped and lattice points are set as reference points on the outer surface of the rectangular parallelepiped. FIG. [Figure 7] FIG. 10 is a diagram illustrating an example in which the allowable movement area is spherical and a reference point is set on the outer surface of the spherical area. [Figure 8] FIG. 10 is a diagram illustrating a state in which the robot is moved linearly toward a reference point. [Figure 9] FIG. 10 is a diagram illustrating an example of a table showing the relationship between the speed and weight of the tool immediately before coasting starts and the amount of coasting of the axis. [Figure 10] FIG. 9 is a diagram illustrating an example of a visualized state in which the robot deviates from the allowable movement area and stops after the movement shown in FIG. 8. [Figure 11A] This is a diagram showing a state in which the robot is moving toward the reference point with the tool attitude in which the direction of the −X axis of the tool coordinate system coincides with the moving direction of the robot. [Figure 11B] This figure shows a state in which the robot is moving toward the reference point with the tool attitude in which the direction of the +Y axis of the tool coordinate system coincides with the moving direction of the robot. [Figure 11C] This figure shows the state in which the robot is moving towards the reference point with the tool attitude in which the direction of the +Z axis of the tool coordinate system coincides with the moving direction of the robot. [Figure 12]FIG. 10 is a diagram showing a visualization of various postures of the robot that deviate from the allowable movement area. [Figure 13] FIG. 10 is a diagram showing various postures in which the robot deviates from the allowable movement area, along with visualization of examples of fence installation. [Figure 14] This is an example of visualizing a state in which a robot has deviated from the permitted movement area (or entered a prohibited movement area), and shows the robot as seen from the side. [Figure 15] This is an example of visualization of a state in which a robot has deviated from the permitted movement area (or entered the prohibited movement area), and shows the robot as seen from diagonally above. [Figure 16] 10A and 10B are diagrams for explaining a state in which a robot mounted on a running platform deviates from an allowable operation area. [Figure 17] 17A and 17B are diagrams for explaining an example in which a robot mounted on a running platform deviates from the allowable operation area and the posture of the robot is different from that in FIG. 16. DETAILED DESCRIPTION OF THE INVENTION
[0012] Next, embodiments of the present disclosure will be described with reference to the drawings. In the drawings, like components or functional parts are designated by like reference numerals. The scales of these drawings have been changed appropriately to facilitate understanding. Furthermore, the embodiment shown in the drawings is one example for implementing the present invention, and the present invention is not limited to the illustrated embodiment.
[0013] A simulation device 50 according to one embodiment (see FIGS. 2 and 3) will be described below. The simulation device 50 according to this embodiment simulates the motion of a robot, thereby visualizing the portion of the robot that deviates from the allowable motion area when the robot deviates from the allowable motion area and is stopped, or the portion of the robot that enters the forbidden motion area when the robot enters the forbidden motion area and is stopped.
[0014] FIG. 1 is a perspective view of a robot 1 to be simulated by a simulation device 50, as an example. The robot 1 is a multi-joint robot including arms 12a, 12b, a wrist 16, and multiple joints 13. A work tool 17 is attached to the wrist 16 of the robot 1 as an end effector. The robot 1 includes a drive unit that drives components at each joint 13. The drive unit includes a motor 14 that drives the components within the joint 13. By driving the motor 14 at each joint 13 based on a position command, the arms 12a, 12b and the wrist 16 can be placed in a desired position and posture. The robot 1 also includes a base 19 fixed to an installation surface 20 and a swivel unit 11 that rotates relative to the base 19. In this example, the robot 1 is a six-axis robot, and in FIG. 1, the rotation directions of the J1, J2, J3, J4, J5, and J6 axes are indicated by arrows 91, 92, 93, 94, 95, and 96, respectively.
[0015] The work tool 17 attached to the wrist 16 of the robot 1 is a welding gun for spot welding, but is not limited to this, and various tools can be attached as the work tool 17 depending on the work content.
[0016] Generally, when detecting deviation from the allowable movement area of a robot or interference with the prohibited movement area through computational processing, from the viewpoint of reducing the computational load and ensuring margins, the robot's arm, joints, work tool, etc. are often covered with simplified shapes such as a cylinder, sphere, or rectangular parallelepiped, and the deviation from the allowable movement area or interference with the prohibited movement area is determined. In this embodiment, the arm (arms 12a, 12b), joint 13, and work tool 17 of robot 1 are each covered with a cylinder, sphere, or rectangular parallelepiped shape to calculate deviation from the allowable movement area or interference with the prohibited movement area. However, deviation from the allowable movement area or interference with the prohibited movement area may also be calculated using a model representing the shape of the robot and work tool themselves. The shape covering robot 1 may be designated by the symbol 1M, and robot 1M may be referred to as such (see, for example, FIG. 6).
[0017] Fig. 2 shows an example of the hardware configuration of the simulation device 50. As shown in Fig. 2, the simulation device 50 may have a configuration as a general computer in which a processor 51 is connected to a memory 52 (ROM, RAM, non-volatile memory, etc.), a display unit 53, an operation unit 54 configured with input devices such as a keyboard (or software keys), a storage device 55 (HDD, etc.), an input / output interface 56, etc. via a bus. A personal computer, a notebook computer, a tablet terminal, or any other type of information processing device can be used as the simulation device 50.
[0018] Fig. 3 is a functional block diagram of the simulation device 50. As shown in Fig. 3, the simulation device 50 has an area setting unit 151, a reference point setting unit 152, an estimation unit 153, and a visualization unit 154. Note that Fig. 3 also illustrates a display unit 53, an operation unit 54, and a storage device 55 as hardware components.
[0019] The area setting unit 151 provides a function for setting an action-allowed area or an action-prohibited area. For example, the area setting unit 151 accepts an operation for setting or selecting an action-allowed area or an action-prohibited area by a user operation. For example, the area setting unit 151 accepts an operation for setting one or more areas (an area covered by a flat surface such as a rectangular parallelepiped or a polygonal prism, an area covered by a curved surface such as a sphere, etc.) as an action-allowed area or an action-prohibited area within the work space. The user may set a desired action-allowed area or an action-prohibited area by specifying the number, size, etc. of the action-allowed area or the action-prohibited area in consideration of the work content and various objects such as peripheral devices arranged within the work space. Alternatively, the area setting unit may be configured to accept a user operation for selecting from multiple types of action-allowed areas prepared in advance (for example, an action-allowed area when the door of the machine tool is closed and an action-allowed area when the door of the machine tool is open).
[0020] The reference point setting unit 152 sets a position that serves as a reference for calculation when simulating the robot 1's movement deviating from the movement allowable area (or the robot 1's movement entering the movement prohibited area). The reference point can be used as a target position, a waypoint, a movement start position, or the like when simulating the movement of the robot 1 (control point). For example, the reference point may be set as a set of points distributed on the outer surface (boundary surface) of the movement allowable area or the movement prohibited area. If the movement allowable area (movement prohibited area) is set as a rectangular parallelepiped, the reference point may be set as a lattice point on each plane. The reference point setting unit 152 may set the reference point by, for example, accepting a user operation that sets the interval between lattice-like reference points. Alternatively, the reference point setting unit 152 may set the reference point automatically.
[0021] The estimation unit 153 estimates the behavior of the robot 1 when it is stopped because it has deviated from the allowable operation area, or when it has entered a prohibited operation area. For example, the estimation unit 153 determines the portion where the robot 1 deviates from the allowable operation area by performing a simulation operation in which the control point of the robot 1 (for example, TCP (tool center point)) moves toward a reference point.
[0022] The visualization unit 154 visualizes the portion of the robot 1 that deviates from the movement allowable area or the portion that enters the movement prohibition area by displaying it on the display unit 53, for example.
[0023] The storage device 55 stores various three-dimensional shape data such as a robot model used in the simulation operation, a shape model covering the robot, and weight data of various objects such as an arm and a work tool.
[0024] 4 is a basic flowchart showing a process (hereinafter also referred to as a visualization process) for visualizing a portion where the robot 1 deviates from the movement allowable area (a portion where the robot 1 enters the movement prohibited area), which is executed on the simulation device 50. The visualization process of FIG. 4 is executed under the control of the processor 51 of the simulation device 50.
[0025] First, the user generates an operation program by providing various instructions to the robot 1 (step S1). Next, with the support of the function of the area setting unit 151, an operation allowable area or an operation prohibited area is set (step S2). As an example, here, for example, a rectangular parallelepiped operation allowable area 300 as shown in Fig. 6 or a spherical operation allowable area 400 as shown in Fig. 7 is set.
[0026] Next, the simulation device 50 (estimation unit 153) estimates the behavior of the robot 1 when the robot 1 is stopped because it deviates from the allowable movement area (when the robot 1 is stopped because it enters the prohibited movement area) (step S3).
[0027] Next, the simulation device 50 (visualization unit 154) visualizes the portion of the robot 1 that deviates from the movement allowable area (or the portion that enters the movement prohibition area of the robot 1) (step S4).
[0028] Here, a method for simulating the behavior of the robot 1 deviating from the allowable movement area (or entering the prohibited movement area), which is executed in step S3 above, will be described. Elements such as those shown in (A1) to (A4) below can be considered as elements that form the basis of the simulation in this case. By considering and selecting these elements and assembling a simulation, it is possible to perform simulations with various characteristics. For the sake of convenience, the following description will be given of the case where the robot leaves the allowable movement area, but the contents can also be applied to the behavior of the robot entering the prohibited movement area. (A1) Placement of reference points (A2) Tool Posture (A3) Robot movement types (A4) Speed and direction towards the reference point (A5) Type of robot stopping control after deviation detection
[0029] Elements (A1) to (A5) will be explained below.
[0030] (A1) Placement of reference points The reference points are positions used as references when the robot 1 is instructed to perform an action outside the allowable movement area. A typical example is to set the reference points on the boundary surface of the allowable movement area (prohibited movement area). When the allowable movement area is configured as a rectangular parallelepiped, as shown in FIG. 6, the reference points may be set as lattice points arranged at predetermined intervals on each plane of the outer surface of the allowable movement area. FIG. 6 shows a state in which multiple reference points 331 are set as lattice points on the outer surface (three planes 301-303) of the allowable movement area 300 formed as a rectangular parallelepiped. Alternatively, when the allowable movement area is spherical, as shown in FIG. 7, the reference points can be set as points uniformly distributed on the spherical outer surface (boundary surface). FIG. 7 shows an example in which multiple reference points 411 are set uniformly distributed on the outer surface of the allowable movement area 400, which is configured as a sphere.
[0031] (A2) Tool Posture The shape and trajectory of the part that deviates from the robot's allowable operating area changes depending on the orientation of the work tool when it deviates from the allowable operating area (i.e., when moving toward the reference point). Therefore, when visualizing the deviating part by having the robot 1 perform a certain operation, performing the simulation with multiple work tool orientations can make the simulation results more effective. For example, when moving the robot's TCP linearly toward the reference point, it is possible to perform simulations with multiple tool orientations in which the ± directions of the X-axis, ± directions of the Y-axis, and ± directions of the Z-axis of the tool coordinate system set for the work tool each coincide with the operating direction of the robot 1. In addition to this, it is also possible to add tool orientations obtained by rotating the tool around one or more of the X-axis, Y-axis, and Z-axis.
[0032] (A3) Type of robot movement command Robot motion commands include linear motion, which moves the robot's control point (TCP) linearly to a target position, and individual axis motion, which moves each axis to reach the target position. Linear motion can be used preferably when simulating a motion in which the robot's control point (TCP) moves toward a reference point at a predetermined speed and in a predetermined direction. Individual axis motion can be used preferably, for example, when simulating a motion in which each axis moves from the reference point at its maximum speed.
[0033] (A4) Speed and direction towards the reference point The shape and trajectory of the portion of the robot 1 that deviates from the allowable operation area may vary depending on the speed and direction of the robot 1 as it moves toward the reference point. For example, assume that the allowable operation area is a rectangular parallelepiped. When moving the control point (TCP) of the robot 1 in a straight line toward a grid point, maximizing the movement speed by aligning the TCP's movement direction perpendicular to the plane that serves as the outer surface of the allowable operation area where the grid point is located is considered effective for maximizing the deviation portion. However, in areas near the corners of the allowable operation area, tilting the TCP's movement direction relative to the outer surface (plane) (e.g., moving the TCP's movement direction closer to the direction from the geometric center of the allowable operation area toward the corner) is considered effective for maximizing the deviation portion. Note that the matters described here also apply when determining the intrusion portion into the no-entry area. The estimation unit 153 may take the above matters into consideration when determining the deviation portion (intrusion portion). Note that the speed and angle of the robot 1 toward the grid point may be set to arbitrary values, taking into account, for example, the properties of the workspace.
[0034] (A5) Stop control type When detecting that the robot 1 has deviated from the allowable operation area (entered into the prohibited operation area), the robot 1 can be stopped by coasting due to an emergency stop, or by stopping it using predetermined deceleration control. When determining coasting motion due to an emergency stop, the extent to which each axis of the robot 1 will coast in the event of an emergency stop is determined in advance. If predetermined deceleration control is performed when the robot 1 deviates from the allowable operation area (enters the prohibited operation area), the behavior of the robot 1 when it deviates from the allowable operation area (enters the prohibited operation area) can be determined from the deceleration control pattern of the deceleration control. Note that the predetermined deceleration control can also involve planning a trajectory to smoothly stop the robot 1 and moving the robot 1 along that trajectory.
[0035] A specific example of the estimation operation by the estimation unit 153 in step S3 will be described below. Fig. 5 is a flowchart showing a specific example of the estimation operation by the estimation unit 153 in step S3. Here, it is assumed that the movement allowable area is set as a rectangular parallelepiped, and the reference points are set as lattice points on each plane on the outer surface of the movement allowable area.
[0036] In step S31, the simulation device 50 (reference point setting unit 152) sets grid points on the surface (outer surface) covering the movement allowable area or the movement prohibited area as reference points for calculating the portion of the robot 1 that has deviated from the movement allowable area or the portion that has entered the movement prohibited area. For example, the simulation device 50 (reference point setting unit 152) may receive an operation input from the user specifying the interval between grid points, and set grid points at the specified interval on the surface covering the movement allowable area or the movement prohibited area.
[0037] Here, it is assumed that a rectangular parallelepiped movement allowance area 300 is set as shown in Fig. 6. Furthermore, it is assumed that reference points (lattice points) 331 are set at specified intervals on six planes (three planes 301-303 are shown in Fig. 6) that constitute the outer surface of movement allowance area 300.
[0038] In step S32, the simulation device 50 (estimation unit 153) sets the posture of the work tool when the robot 1 moves toward the grid point. Then, the estimation unit 153 determines the movement of the robot 1 from the grid point until it deviates from the allowable movement area and stops (or the movement of the robot 1 from the grid point until it enters the prohibited movement area and stops) (step S33).
[0039] The estimation unit 153 repeatedly executes the operations in steps S32 and S33 for all grid points (loop processing in step S34), and also repeatedly executes the operations for various tool orientations (loop processing in step S35).
[0040] A specific example of the operation in steps S32 to S35 will be described. In the example of operation described below, it is assumed that the coasting distance becomes large when the robot 1 jumps out at maximum speed in a direction perpendicular to the outer surface of the allowable operation area 300. Therefore, in this case, the robot 1 is operated at maximum speed in a linear motion toward the lattice point so that the TCP advances in a direction perpendicular to the surface on which the lattice point is located (the outer surface of the allowable operation area). Each stopping position when jumping out of the allowable operation area is estimated, and the portion protruding from the allowable operation area is visualized. As for the stopping operation, it is assumed that after a deviation of the robot 1 (robot 1M) from the allowable operation area is detected, an emergency stop operation is performed and the robot 1 coasts to a stop. Regarding the tool orientation, it is assumed that the operation will be performed in three orientations in which the -X-axis direction, +Y-axis direction, and +Z-axis direction of the tool coordinate system each coincide with the direction in which the TCP moves toward the lattice point.
[0041] As shown in FIG. 8, the -X axis direction of the tool coordinate system set on the work tool 17 is aligned with the movement direction of the TCP (origin of the tool coordinate system) of the robot 1. The robot 1, in this posture 101, is moved linearly in the -X axis direction at the maximum speed of the robot 1 (TCP) toward a reference point (lattice point) 331 in a direction perpendicular to the plane of the allowable movement area 300. Posture 102 is the posture of the robot 1 (robot 1M) at the moment it exits the allowable movement area 300. Here, it is assumed that the robot 1 (robot 1M) exits the allowable movement area 300 at position P1 near the tip of the arm. The postures (angles) of each axis at this moment are calculated. Furthermore, the postures of each axis are calculated at a position shifted a small distance forward from posture 102 (in this case, in the +X direction of the TCP). The difference value obtained by subtracting the latter posture from the former posture is the ratio of the movement speeds of each axis of the robot 1 at the moment the robot exits the allowable movement area 300 in a linear movement. As an example, let us assume that robot 1 is a 6-axis robot and the ratio of the motion speeds calculated here is as follows for the J1 axis to the J6 axis: m1:m2:m3:m4:m5:m6 Let us assume that:
[0042] From this ratio and the maximum operating speed of each axis of the robot 1, the operating speed of each axis of the robot 1 at the moment when the robot 1 moves linearly at the maximum possible speed and exits the allowable operating area 300 can be obtained. In other words, by multiplying the speed ratio value of each axis by n, the value of one axis can be found to be the maximum operating speed of that axis, and the values of the other axes can be found to be less than or equal to the maximum operating speed. When the above ratio values m1 to m6 are multiplied by n, the value (n × m6) of the J6 axis becomes the maximum speed of the J6 axis, and if the values of the other axes (n × m1), (n × m2), (n × m3), (n × m4), and (n × m5) are less than the maximum speed of each of these axes, these speeds become the operating speeds of each axis at the moment when the robot 1 moves linearly at the maximum possible speed and exits the allowable operating area 300.
[0043] Once the operating speed of each axis is obtained, it is possible to determine the position at which the robot 1 will coast and stop. The amount of coasting for each axis of the robot 1 can be considered to be related to the speed just before coasting begins and the weight of the work tool 17 for each axis. The relationship between the amount of coasting for each axis and the speed just before coasting begins and the weight of the tool is determined in advance by experiment or the like. The simulation device 50 stores in advance, for example in the storage device 55, information indicating the relationship between the amount of coasting for each axis and the speed just before coasting begins and the weight of the work tool 17.
[0044] 9 shows a table showing the amount of coasting (change) of a drive axis when an emergency stop is made on the robot 1 for one drive axis. This table shows the change in the drive axis when an emergency stop is made while the robot 1 is being driven in a predetermined direction at a predetermined operating speed. The change in the drive axis corresponds to the rotation angle from when the emergency stop is made until the robot 1 completely stops.
[0045] The amount of change in the drive axis is a function of the operating speed of the drive axis immediately before the emergency stop and the weight of the work tool. The heavier the work tool, the greater the amount of change in the drive axis after an emergency stop is performed. Furthermore, the greater the operating speed of the drive axis when an emergency stop is performed, the greater the amount of change in the drive amount. The amount of change in the drive amount shown in Figure 9 may be obtained in advance by actually driving the robot 1. The simulation device 50 stores a table such as that shown in Figure 9 for each drive axis.
[0046] For example, assume that the speed of an axis having the relationship shown in the table of Fig. 9 at the start of coasting is 20 deg / s and the weight of the work tool is 30 kg. In this case, the estimation unit 153 of the simulation device 50 obtains from the table that the amount of coasting (angle) of the axis is 8 deg. Then, based on the relationship shown in Fig. 9 that is stored in advance for each axis, the estimation unit 153 calculates the amount of coasting for each axis from the speed of each axis at the start of coasting obtained by the above-mentioned method. In this way, the estimation unit 153 can obtain the movement of the robot 1 from the time when the robot 1 coasts to a stop due to an emergency stop.
[0047] 10 shows an example of visualization of the state obtained by the above operations in which the robot 1 has deviated from the allowable operation area 300 and stopped. Here, the state in which the work tool 17 and arm tip of the robot 1 (a simplified version of these) deviate from the outer surface of the allowable operation area 300 is visualized as posture 103. Note that while this shows an example of visualization of the state in which the robot 1 has stopped, it is also possible to visualize the operations of the robot 1 up to the point where it has stopped.
[0048] The simulation device 50 performs the visualization of the deviations of the robot 1 from the movement-permitted area 300 (or the intrusions into the movement-prohibited area) for all grid points as described above.
[0049] Furthermore, the estimation unit 153 visualizes the deviation portion of the robot 1 from the movement allowable area 300 (or the intrusion portion into the movement prohibited area) for all the tool postures. In this example, the estimation unit 153 visualizes the following as the posture of the tool: The robot 1 (TCP111) moves toward the reference point (grid point) 331 with the tool posture in which the direction of the -X axis of the tool coordinate system coincides with the movement direction of the robot 1 (TCP111) (Fig. 11A). The robot 1 (TCP111) moves toward the reference point (grid point) 331 with the tool posture in which the direction of the +Y axis of the tool coordinate system coincides with the movement direction of the robot 1 (TCP111) (Fig. 11B). The robot 1 (TCP111) moves toward the reference point (grid point) 331 with the tool posture in which the direction of the +Z axis of the tool coordinate system coincides with the movement direction of the robot 1 (TCP111) (Fig. 11C). With regard to the three operations, when the robot 1 deviates from the movement allowable area from the grid point (when it enters the movement prohibited area), the position and posture of the deviating part (or entering part) of the robot 1 are calculated.
[0050] By performing the above operations, it is possible to estimate and visualize the range in which the robot could jump out of the allowable operation area, assuming that the robot jumps out from any position in the allowable operation area with any tool posture and an emergency stop is activated.Similarly, it is also possible to estimate and visualize the range in which the robot could enter the prohibited operation area.
[0051] 12 shows an example in which all postures of the robot 1 (robot 1M) that deviate from the allowable operation area 300 are visualized by the simulation operation described with reference to steps S31 to S35 above. The simulation result shown in FIG. 12 is displayed, for example, on the display unit 53. Based on this simulation result, the user can determine the placement of the safety fences F1 and F2 in the placement relationship shown in FIG. 12, for example.
[0052] 13 is obtained as a simulation result in the case where the robot 1 (robot 1M) deviates from the allowable operation area 300, the estimation unit 153 may determine the location of the safety fence F10 based on the simulation result. Then, the visualization unit 154 may visualize the location of the safety fence determined by the estimation unit 153. As an example, the position of the safety fence F10 may be determined so as to have a predetermined margin with respect to the maximum amount of protrusion of the robot 1 (robot 1M) from each side of the allowable operation area 300.
[0053] In the simulation operation example described above with reference to steps S31 to S35 in Fig. 5, an example was described in which the robot 1 is moved linearly, but as mentioned above, there may also be an example in which the robot 1 is moved along each axis to obtain a movement of the robot 1 that deviates from the allowable movement area. When movement along each axis is adopted, the following operation (B1) or (B2) may be adopted. (B1) Each axis of the robot 1 is operated so that it passes through a reference point, or with the reference point as the starting point for operation. If deviation of the robot 1 from the allowable operation area is detected, an emergency stop is activated. The amount of movement of each axis after the emergency stop may be calculated using a table such as that shown in FIG. 9, assuming that each axis is operating at its maximum speed at the moment the emergency stop is activated. Alternatively, the speed of each axis at the moment of deviation from the allowable operation area and the speed of each axis at a position shifted forward from that position are calculated as the behavior of the robot 1 near the position where it deviates from the allowable operation area, and when the speed of each axis is increasing, the amount of coasting may be calculated in the same manner as above, assuming that each axis of the robot is operating at its maximum speed at the moment the robot deviates from the allowable operation area. (B2) The robot is made to move a specific axis significantly from the reference point, and the position and posture of the part where the robot deviates from the allowable range of motion is determined. For example, it is possible to make the J1 axis move within its allowable range, or to make the J2 and J3 axes move within their respective allowable ranges.
[0054] 14 and 15 show examples of the state in which the robot 1M has deviated from the allowable movement area and stopped, as visualized by the visualization process described above. Note that FIG. 14 shows an example of the visualization when the robot 1M is viewed from the side, and FIG. 15 shows an example of the visualization when the robot 1M is viewed from diagonally above. Here, the shape covering the robot 1 is omitted. In this example, the arm tip 1A of the robot 1 has deviated from the allowable movement area. Note that if the space 500 excluding the allowable movement area 300 is defined as the movement-prohibited area, then FIGS. 14 and 15 show the state in which the robot 1 (robot 1M) has entered the movement-prohibited area (space 500).
[0055] The robot 1 may be fixed to the installation surface 20 as shown in Fig. 1, or may be mounted on a running platform. With reference to Figs. 16 and 17, a visualization process for a deviation portion from the allowable operation area when the robot 1 is movably mounted on the running platform will be described. As shown in Fig. 16, the movement mechanism 180 has rails 181, a running platform 182 movably mounted on the rails 181, and a motor 183 for driving the running platform 182. The robot 1 (robot 1M) is mounted on the running platform 182.
[0056] 16 also illustrates the allowable operation area 300A set in this configuration. Here, the robot 1 (robot 1M) is operated toward a reference point set on the plane on the left side of the drawing (hereinafter referred to as the front side) of the allowable operation area 300A in the manner illustrated in steps S31 to S35, and the carriage 182 is moved toward the left (front) in the drawing. During the above operation, at position P21, deviation of the arm tip of the robot 1 from the allowable operation area 300 is detected. From this moment, the robot 1 and carriage 182 are brought to an emergency stop, and the movement of the part of the robot 1 that deviates from the allowable operation area 300 due to coasting is calculated.
[0057] The coasting amount of the robot 1 can be calculated for each axis by a calculation method using a table such as that shown in Figure 8, as described above. The coasting distance of the running platform 182 can be obtained by calculating the relationship between the load weight and the coasting distance in advance, for example, as numerical data (table). Then, the coasting distance of the running platform 182 is added to the coasting amount of the robot 1 to obtain the movement of the portion that deviates from the allowable operation area 300.
[0058] 17 shows an example in which the robot 1 mounted on the running platform 182 jumps out of the allowable movement area 300A at position P22. In this case, the position of the running platform 182 when the robot 1 jumps out of the allowable movement area 300A is different from the position of the running platform 182 in the case of FIG. 16, and therefore the posture of the robot 1 when jumping out of the allowable movement area 300A is different from the posture shown in FIG.
[0059] Although the operation of the robot when it deviates from the permitted operation area has been described here, the contents described here can be similarly applied to determining the portion where the robot enters the prohibited operation area.
[0060] In this way, even in a configuration example in which the robot 1 is mounted on a running platform, it is possible to determine and visualize the portion where the robot deviates from the permitted movement area (or the portion where the robot enters the prohibited movement area).
[0061] As described above, according to this embodiment, it is possible to visualize the areas where the robot deviates from the allowable movement area or the areas where the robot enters the prohibited movement area, and to install fences in appropriate locations.
[0062] Although the present invention has been described using exemplary embodiments, those skilled in the art will understand that modifications and various other changes, omissions, and additions can be made to the above-described embodiments without departing from the scope of the present invention.
[0063] The various functions in the above-described embodiment for determining and visualizing the robot's movements that deviate from the movement allowance area can also be applied to determining and visualizing the robot's movements that enter the movement prohibition area.
[0064] For example, not all elements are essential in the functional block diagram shown in Fig. 3. For example, an image obtained by the visualization process may be displayed on a display unit of a device external to the simulation device 50. The three-dimensional shape data, weight data, the table shown in Fig. 9, etc. may be acquired by the simulation device 50 from an external device.
[0065] The functional blocks of the simulation device shown in FIG. 3 may be realized by the processor of the simulation device executing various software stored in a storage device, or may be realized by a configuration mainly consisting of hardware such as an ASIC (Application Specific Integrated Circuit).
[0066] The programs that execute various processes such as the visualization process in the above-described embodiments can be recorded on various computer-readable recording media (e.g., semiconductor memories such as ROM, EEPROM, and flash memory, magnetic recording media, and optical discs such as CD-ROM and DVD-ROM). [Explanation of symbols]
[0067] 1. 1M robot 11 Swivel section 12a, 12b arms 13 Joints 14 Motor 16 Wrist part 17 Work Tools 19 Base 20 Installation surface 50 Simulation Device 51 processors 52 memory 53 Display section 54 Operation section 55 Storage device 56 Input / Output Interface 111 TCP 151 Area setting section 152 Reference point setting section 153 Estimation Department 154 Visualization section 180 Moving mechanism 181 Rail 182 Running platform 183 Motor 300, 400 Operating tolerance range 331, 411 reference point F1, F2, F10 safety fence
Claims
1. an area setting unit that sets an allowable movement area of the robot; an estimation unit that estimates an operation of the robot when control is applied to stop the robot due to the robot having deviated from the allowable operation area; a visualization unit that visualizes a portion of the robot that deviates from the allowable movement area based on the estimated movement of the robot; Equipped with The simulation device wherein the estimation unit estimates the operation of the robot for each of a plurality of postures of a work tool mounted on the robot.
2. The simulation device according to claim 1 , further comprising a reference point setting unit that sets a reference point to be used as a target position, a waypoint, or an operation start position when the robot is caused to operate in a simulated manner by the estimation unit.
3. The simulation device according to claim 2 , wherein the reference point setting unit sets the reference point based on a user input.
4. 4. The simulation device according to claim 2, wherein the reference points are defined as a plurality of points distributed on the outer surface of the permissible operation area.
5. The simulation device according to claim 2 , wherein the estimation unit estimates the motion of the robot by simulating the motion of the robot through linear motion or motion of each axis.
6. The simulation device according to claim 2 , wherein the estimation unit simulates a linear movement of the control point of the robot relative to the reference point in a predetermined direction at a predetermined speed.
7. an area setting unit that sets an allowable movement area of the robot; an estimation unit that estimates an operation of the robot when control is applied to stop the robot due to the robot having deviated from the allowable operation area; a visualization unit that visualizes a portion of the robot that deviates from the allowable movement area based on the estimated movement of the robot; a reference point setting unit that sets a reference point to be used as a target position, a waypoint, or an operation start position when the robot is caused to operate in a simulated manner by the estimation unit, The reference points are defined as a plurality of points distributed on the outer surface of the operation allowance area, The estimation unit simulates the robot's control point moving toward the reference point at a maximum speed of the robot by linear motion in a direction perpendicular to the outer surface of the allowable motion area in which the reference point is located.
8. The simulation device according to claim 1 , wherein the control for stopping the robot is either an emergency stop or a stop by predetermined deceleration control.
9. the control for stopping the robot is the emergency stop; 9. The simulation device according to claim 8, wherein the estimation unit determines the motion of the robot from when the robot deviates from the allowable motion area until when the robot stops, based on information representing a relationship between the motion speed of each axis at the moment the robot deviates from the allowable motion area, the weight of a work tool mounted on the robot, and the amount of coasting of each axis.
10. the estimation unit determines the location of a safety fence to be placed outside the allowable movement area based on the estimation result of the movement of the robot; The simulation device according to claim 1 , wherein the visualization unit further visualizes the safety fence based on the determined arrangement of the safety fence.
11. 11. The simulation device according to claim 1, wherein the estimation unit estimates the behavior of the robot mounted on a running platform when the robot deviates from the allowable operating area and control is applied to stop the robot and the running platform.
Citation Information
Patent Citations
Interference region confirmation device of robot
JP2005081445A
Robot action range-setting device
JP2009090403A
Program, device and method for analyzing approach prohibited space
JP2010224765A
Robot system
JP2011212831A
Simulation device of robot for calculating sweeping space
JP2017144514A