Robot movement path generation method, movement path generation device, robot system, and program
By placing a virtual area around the robot to evaluate postures that avoid interference, the method generates safe and efficient movement paths, preventing collisions and optimizing robot operations.
Patent Information
- Application Number
- JP2022094605
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2022-06-10
- Publication Date
- 2025-08-05
- Estimated Expiration
- 2042-06-10
AI Technical Summary
Existing methods for generating robot movement paths do not adequately consider maintaining a safe distance from obstacles, leading to potential collisions and inefficient postures.
A method and device for generating robot movement paths by placing a virtual area around the robot based on its posture, determining interference, and evaluating postures that avoid this area to prevent collisions.
Prevents collisions and generates appropriate movement paths for robots, ensuring safety and efficiency in their operations.
Smart Images

Figure 0007719035000001 
Figure 0007719035000002 
Figure 0007719035000003
Abstract
Description
[Technical Field]
[0001] The present invention relates to a method for generating a movement path for a robot, a movement path generating device, a robot system, and a program. [Background technology]
[0002] Robots that perform predetermined tasks on workpieces have been developed and are now widely used in a variety of industrial fields. Such robots are equipped with an arm, and the position of the arm's tip is adjusted to perform the predetermined task by controlling the arm's posture and its series of movement paths. When controlling the robot's posture and the path of its series of movements, it is necessary to take into account not only the state of the workpiece but also the influence of surrounding obstacles, etc., and to ensure safety by preventing collisions between the robot and surrounding objects.
[0003] For example, Patent Document 1 discloses a method for generating a movement path for a robot using a no-entry area created so that the robot can maintain a predetermined distance to avoid interference with an obstacle. Patent Document 2 discloses a method for generating a position and posture that ensures a sufficient distance between the robot and an obstacle using an evaluation function whose parameters are the positions of each axis of the robot and the margin of distance from the robot to the obstacle. [Prior art documents] [Patent documents]
[0004] [Patent Document 1] Japanese Patent Application Publication No. 9-34524 [Patent Document 2] Japanese Patent Application Publication No. 9-201784 Summary of the Invention [Problem to be solved by the invention]
[0005] The method of Patent Document 1 makes it possible to configure the tip of the robot's end effector so that it avoids interference with obstacles. However, Patent Document 1 does not take into consideration controlling each component of the robot to maintain a certain distance from the obstacle so as not to interfere with it. Furthermore, the method of Patent Document 2 selects a position and posture that maximizes the margin distance, which may result in selecting an unreasonable posture for the robot and creating a movement path that is inefficient to work with. As a result, it may not be possible to generate a movement path for the robot with an appropriate posture.
[0006] In view of the above problems, an object of the present invention is to generate an appropriate movement path for a robot while preventing collisions during robot work. [Means for solving the problem]
[0007] In order to solve the above problems, the present invention has the following configuration: A motion path generation method for generating a movement path of a robot having a plurality of motion axes includes: a placement step of placing a virtual area around the robot in accordance with each of a plurality of postures of the robot with respect to a working position; a determination step of determining interference between the robot and the virtual area and the surrounding environment of the robot; a generating step of evaluating each of the plurality of postures based on the determination result in the determining step and generating a movement path for the robot; and In the generation step, a posture that does not interfere with the virtual region is evaluated more highly.
[0008] Another aspect of the present invention has the following configuration: A motion path generating device for generating a movement path of a robot having a plurality of motion axes, a placement means for placing a virtual area around the robot in accordance with each of a plurality of postures of the robot with respect to a working position; a determination means for determining interference between the robot and the virtual area and the surrounding environment of the robot; a generating means for evaluating each of the plurality of postures based on the determination result by the determining means, and generating a movement path for the robot; and The generating means evaluates a posture that does not cause interference with the virtual region more highly.
[0009] Another aspect of the present invention has the following configuration: a robot having multiple drive axes; a travel path generation device; Equipped with The travel path generation device a placement means for placing a virtual area around the robot in accordance with each of a plurality of postures of the robot with respect to a working position; a determination means for determining interference between the robot and the virtual area and the surrounding environment of the robot; a generating means for evaluating each of the plurality of postures based on the determination result by the determining means, and generating a movement path for the robot; and The generating means evaluates a posture that does not cause interference with the virtual region more highly.
[0010] Another aspect of the present invention has the following configuration: On the computer, a placement step of placing a virtual area around a robot having a plurality of motion axes in accordance with each of a plurality of postures of the robot with respect to a working position; a determination step of determining interference between the robot and the virtual area and the surrounding environment of the robot; a generating step of evaluating each of the plurality of postures based on the determination result in the determining step and generating a movement path for the robot; Execute In the generation step, a posture that does not interfere with the virtual region is evaluated more highly. [Effects of the Invention]
[0011] According to the present invention, it is possible to prevent collisions during robot work and generate appropriate movement paths. [Brief explanation of the drawings]
[0012] [Figure 1] 1 is a schematic diagram showing the schematic configuration of a ceiling-suspended robot system according to an embodiment of the present invention; [Figure 2] 1 is a schematic diagram for explaining the motion axes of a robot according to an embodiment of the present invention; [Figure 3] 1 is a block diagram showing a schematic configuration of an information processing apparatus according to an embodiment of the present invention; [Figure 4A] FIG. 2 is a schematic diagram for explaining a virtual region set around a robot according to an embodiment of the present invention. [Figure 4B] FIG. 2 is a schematic diagram for explaining a virtual region set around a robot according to an embodiment of the present invention. [Figure 4C] FIG. 2 is a schematic diagram for explaining a virtual region set around a robot according to an embodiment of the present invention. [Figure 5A] FIG. 2 is a schematic diagram for explaining a virtual region set around a robot according to an embodiment of the present invention. [Figure 5B] FIG. 2 is a schematic diagram for explaining a virtual region set around a robot according to an embodiment of the present invention. [Figure 6] 10 is a flowchart of a travel route search process according to an embodiment of the present invention. [Figure 7A] FIG. 10 is a schematic diagram for explaining a virtual region set around a robot according to another embodiment of the present invention. [Figure 7B] FIG. 10 is a schematic diagram for explaining a virtual region set around a robot according to another embodiment of the present invention. DETAILED DESCRIPTION OF THE INVENTION
[0013] Hereinafter, embodiments of the present invention will be described with reference to the drawings. Note that the embodiment described below is one embodiment for explaining the present invention and is not intended to be interpreted as limiting the present invention, and all configurations described in each embodiment are not necessarily essential configurations for solving the problems of the present invention. Furthermore, in each drawing, the same components are assigned the same reference numerals to indicate correspondence. Note that in the drawings used in the following description, some parts of the robot configuration and connections between each part are simplified or omitted, but this is not intended to be interpreted as limiting.
[0014] First Embodiment In this embodiment, a ceiling-mounted welding system (hereinafter also referred to as a "robot system") will be described as an example of a system to which the present invention can be applied. However, the present invention is not limited to this, and can be applied to any robot system equipped with a robot having an arm that can move on multiple axes, such as six axes, and configured to set the robot's path to adjust the position of the arm tip in accordance with a specified task. Furthermore, in the system according to this embodiment, the devices included therein are not particularly limited, and the system may be configured to include at least a device having the functions according to this embodiment.
[0015] In the following explanation, the XYZ Cartesian coordinate systems shown in the drawings are three-dimensional coordinate systems consisting of the X, Y, and Z axes, and are assumed to correspond to each other. These XYZ Cartesian coordinate systems may be identical to the robot coordinate system in the robot system, or may be separate coordinate systems that are associated with the robot coordinate system through coordinate transformation.
[0016] [System configuration example] FIG. 1 is a schematic diagram showing the general configuration of a robot system according to this embodiment. The robot system 1 according to this embodiment performs a predetermined task using a tool attached to its tip, based on instructions from a control device including an information processing device 300 (described later). In the case of a welding system, the predetermined task is welding, and the tool corresponds to a welding torch or the like. Note that the configuration shown here is merely an example. For example, a welding system like the one in this embodiment may further include a power supply device (not shown) that supplies welding power, a wire feeder that feeds wire to the robot, an imaging device that captures images of the area around the welding point, sensors for detecting various information, and a positioner that grips the workpiece to be welded and controls its posture.
[0017] The ceiling-suspended robot system 1 shown in Fig. 1 includes a robot 2 and a slider 3. The robot 2 is a vertically articulated robot with six axes, and is mounted on the slider 3. The slider 3 is mounted on a ceiling or a frame, and is configured to enable the robot 2 to move in the forward / backward and left / right directions on the XY plane, and up / down along the Z axis.
[0018] The robot 2 according to this embodiment has six axes as multiple motion axes, i.e., rotation axes. Referring to FIGS. 1 and 2, the robot 2 includes, in order from the position closest to the installation base 4, which is the connecting portion with the slider 3, a first axis 212, a second axis 210, a third axis 208, a fourth axis 206, a fifth axis 204, and a sixth axis 202. The first axis, which is closest to the installation base 4, may also be referred to as the robot origin. Furthermore, the robot 2 includes, in order from the position closest to the installation base 4, a first link 211, a second link 209, a third link 207, a fourth link 205, a fifth link 203, and a sixth link 201. The Jth link corresponds to a rigid member connecting the Jth axis and the (J+1)th axis. A tool for performing a predetermined task is attached to the sixth link, which is located at the tip of the robot 2.
[0019] In the following description, the tip of the robot 2, i.e., the sixth link 201 side, will be referred to as the front, and the opposite side will be referred to as the rear. Furthermore, the slider 3 side will be referred to as the upper side relative to the robot 2, and the opposite side will be referred to as the lower side. Note that the front-to-back and up-to-down directions relative to the robot 2 can change depending on the posture of the robot 2, its mounting position, etc.
[0020] 3 is a block diagram showing a schematic configuration of an information processing device that can be used as a control device for controlling the robot system 1 according to this embodiment. That is, the information processing device 300 has a configuration that can be used as the movement path generation device according to this embodiment. The information processing device 300 includes a control unit 301, a storage unit 302, a communication unit 303, an input unit 304, a display unit 305, and an interface (IF) unit 306.
[0021] The control unit 301 may be configured using at least one of a CPU (Central Processing Unit), a GPU (Graphical Processing Unit), an MPU (Micro Processing Unit), a DSP (Digital Signal Processor), or an FPGA (Field Programmable Gate Array). The storage unit 302 is configured by a volatile or non-volatile storage device such as an HDD (Hard Disk Drive), a ROM (Read Only Memory), or a RAM (Random Access Memory). The control unit 301 reads and executes various programs stored in the storage unit 302, thereby realizing various processes described below.
[0022] The communication unit 303 is a component for communicating with external devices and various sensors. Communication by the communication unit 303 may be wired or wireless, and there are no limitations on the communication standard. The input unit 304 is an input device for inputting various information to the information processing device 300, and may be configured, for example, with multiple input switches to which predetermined functions are assigned, a keyboard, a mouse, etc.
[0023] The display unit 305 is a display device for displaying various types of information, and may be configured with a display device such as a CRT display, an LCD (Liquid Crystal Display), or an organic EL (Electro-Luminescence) display. For example, commands and data input from the input unit 304 and various types of information generated by the information processing device 300 may be displayed via the display unit 305. The input unit 304 and the display unit 305 may be configured with an integrated touch panel display.
[0024] The IF unit 306 is a part that is connected to the robot system 1 or other external devices and transmits and receives data to and from the external devices. The IF unit 306 may be configured, for example, with an interface circuit of RS-232C, which is a serial communication method, or an interface circuit using the USB (Universal Serial Bus) standard. Each part within the information processing device 300 is connected to be able to communicate with each other via an internal bus or the like.
[0025] The control device of the robot system 1 may be provided as a separate device for controlling the robot 2, the slider 3, and other components (e.g., a positioner, etc.), and may be configured to control these in cooperation with each other. Alternatively, a single control device may be provided to comprehensively control these.
[0026] [Virtual Area] Next, a virtual area used when generating a movement path for the robot 2 according to this embodiment will be described. In this embodiment, the "movement path" includes not only the path of the tip of the robot 2, i.e., the operating position of the tool, but also the range of movement of the position of the arm and other components of the robot 2. Therefore, it includes the entire area of three-dimensional space in which each part is located as a result of the movement of the links and axes shown in Figures 1 and 2. The shape of the virtual area is not particularly limited, and examples include a line, a plane, a block, and the like. Furthermore, it is preferable that the virtual area is a virtual block.
[0027] In this embodiment, interference with surrounding obstacles is determined by setting a predetermined virtual area for the posture and position of the robot 2. In more detail, the coordinates of the X-axis, Y-axis, and Z-axis positions of the robot 2, which are adjusted by the slider 3, are also taken into consideration, but for simplicity, the following description focuses on the robot 2 side relative to the installation base 4. In this embodiment, an "obstacle" is an object located within the operable or positionable range of the robot 2, and includes all objects that may interfere with, i.e., come into contact with, the robot 2.
[0028] 4A, 4B, and 4C are conceptual diagrams for explaining a case where a predetermined virtual area VR is set for the robot 2. In each diagram used in the following explanation, the range of the virtual area VR defined according to the posture of the robot 2 is indicated by hatching.
[0029] FIG. 4A is a view of the robot 2 as viewed along the Y axis, showing the state before the robot 2 changes its posture, such as by rotating. In this state, the tip of the robot 2 faces forward in the direction along the X axis. FIG. 4B is a view of the robot 2 as viewed from above along the Z axis in the same state as FIG. 4A. Here, the description will be based on the robot origin RO corresponding to the first axis 212.
[0030] In a certain posture of the robot 2, the rearmost position in the direction in which the tip of the robot 2 is facing (the X-axis direction in the example of FIGS. 4A and 4B) is set as the rearmost end EP. In other words, the position of the end opposite to the sixth link 201, which is the tip of the robot 2, is identified as the rearmost end EP. FIGS. 4A and 4B show an example in which the end of the installation base 4 in the X-axis direction is set as the rearmost end EP.
[0031] Furthermore, as shown in FIGS. 4A and 4B, a sector-shaped range of radius r and central angle θ is set with the robot origin RO as the reference. The reference position of the central angle θ, i.e., the central position, is set in the direction directly opposite the tip of the robot 2. For example, when the tip of the robot 2 is oriented in the direction of the X-axis, the radius r and the central angle θ are set with the x-axis as the reference. Of the sector-shaped radius r, the distance from the rear end EP to the arc of the sector is defined as the clearance distance FD. Furthermore, as shown in FIG. 4A, the distance in the Z-axis direction from the robot origin RO to the third axis 208 is defined as the clearance height H. In FIG. 4A, the approximate position of the third axis 208 is indicated by a white circle. In this embodiment, the range indicated by the clearance distance FD and clearance height H is defined as a virtual area VR, which is added to the area of the actual structure of the robot 2 to determine interference with an obstacle.
[0032] Figure 4C is a view of the robot 2 as seen from above along the Z-axis direction, and shows the state in which the robot 2 has rotated around the Z-axis by a rotation angle θ1, with the robot origin RO as the reference, from the posture of the robot 2 shown in Figures 4A and 4B. In conjunction with this rotation of the robot 2, the virtual area VR also rotates around the Z-axis by θ1, with the robot origin RO as the reference. The length of the margin distance FD at this time is the same as in Figure 4B.
[0033] In this embodiment, the virtual area VR is described as a columnar block with a fan-shaped bottom, but this is not limited to this and other shapes may be used. Also, in this embodiment, the virtual area VR is described as being located behind the robot 2, but this is not limited to this and other positions may be used. Other configuration examples of the virtual area VR will be described later.
[0034] Furthermore, in this embodiment, the range of the virtual area VR changes depending on the posture of the robot 2. FIGS. 5A and 5B are schematic diagrams for explaining an example in which the virtual area VR changes depending on the posture of the robot 2. Similar to FIG. 4A, FIGS. 5A and 5B show an overview of the robot 2 viewed along the Y-axis direction with the tip of the robot 2 facing in the direction along the X-axis direction. In this case, when viewed along the Z-axis, the relationship between the direction in which the tip of the robot 2 faces and the X-axis is the same as that in FIG. 4C. FIG. 5A shows the robot 2 in an extended posture facing forward. FIG. 5B shows the robot 2 in a retracted posture.
[0035] In the posture shown in Fig. 5A, the position of the rearmost end EP is the same as in the posture shown in Fig. 4A, but the position of the third axis 208 in the direction of the X axis is different. Therefore, although the margin distance FD is the same, the margin height H is a smaller value than in the state shown in Fig. 4A. As a result, the virtual region VR in the posture shown in Fig. 5A is a smaller range, different from the posture shown in Fig. 4A.
[0036] In the posture shown in Fig. 5B, the rearmost end EP is positioned further rearward compared to the posture shown in Fig. 4A. Furthermore, the position of third shaft 208 in the direction of the X-axis is also different from the position shown in Fig. 4A. Therefore, the margin distance FD and margin height H are smaller than those in the state shown in Fig. 4A. As a result, the virtual region VR in the posture shown in Fig. 5B is different from the postures shown in Figs. 4A and 5A and is even smaller than the posture shown in Fig. 5A.
[0037] In this embodiment, when setting the virtual area VR, parameters such as the radius, coordinates or points used as references, and the direction and arrangement of the virtual area are specified in advance. The parameter values and items specified here are not particularly limited and may vary depending on the shape and arrangement of the virtual area VR to be used. In addition, while this embodiment illustrates an example in which the third axis 208 is used as the reference, this is not limiting. Which of the multiple motion axes provided in the robot 2 is used as the reference may be changed as appropriate. Furthermore, the change in the range of the virtual area VR based on the position or rotation of which of the multiple motion axes may be changed as appropriate. Furthermore, instead of using the motion axis as the reference, the virtual area may be changed in association with the posture of the arm of the robot 2, etc.
[0038] [Motion path generation process] The flow of the movement path generation processing according to this embodiment will be described below. FIG. 6 is a flowchart showing the overall processing flow of the movement path generation processing according to this embodiment. Each step is realized by cooperation between the components of the information processing device 300 shown in FIG. 3, and may be operated, for example, by the control unit 301 reading and executing an application stored in the storage unit 302 of the information processing device 300. This processing flow may be executed on the information processing device 300 side, for example, to generate a movement path for the robot 2 before actually operating it to perform a task. Here, to simplify the description, the processing entity will be collectively described as the information processing device 300.
[0039] Before this processing flow starts, it is assumed that construction information indicating information related to work performed by a tool attached to the tip of the robot 2 has been specified. For example, in the case of a welding robot, the construction information may include the position of the weld line indicating the welding position, the welding direction, the posture of the workpiece, etc. It is also assumed that information such as specifications indicating parameters related to the robot coordinate system of the robot 2 and dimensions of components has been set in advance.
[0040] It is also assumed that information about obstacles located around the robot 2 is set in advance. The information about the obstacles may be displayed, for example, as a three-dimensional environmental model that simulates the obstacles. Examples of obstacles include devices such as a control device that are placed around the robot 2, and cables attached to the robot 2. The obstacles may also include various objects in the surrounding environment that the robot 2 may come into contact with within its operable range.
[0041] In step S601, the information processing device 300 acquires the set construction information. The construction information may be acquired by reading data stored in the storage unit 302, or may be acquired by receiving input from the user of the information processing device 300.
[0042] In step S602, information processing device 300 acquires parameters related to virtual area VR and sets the virtual area. In the example described with reference to Fig. 4C etc., parameters such as radius r and central angle θ for setting the virtual area are acquired.
[0043] In step S603, the information processing device 300 refers to the construction information and identifies the first path point of the work position by the robot 2. Here, the first path point P i (i=0, 1, 2, ..., n) in order. For example, in the case of a welding robot, welding positions are set as multiple path points on the welding line to be welded, and welding is performed while moving through the path points in order. The first path point is set as P0. Furthermore, the information processing device 300 i The postures that the robot 2 can take when working on one path point (path point P0 at this point) are identified. As shown in FIGS. 1 and 2, the robot 2 has multiple rotation axes, so it is assumed that one or more postures can be taken when working on one path point (path point P0 at this point). Therefore, it is necessary to identify the most appropriate posture from among these postures. Therefore, the information processing device 300 sets an unprocessed posture from among the one or more postures that the robot 2 can take as a search candidate position to focus on.
[0044] In step S604, the information processing device 300 acquires parameters of the posture corresponding to the set search candidate position. The parameters here may include, for example, the correspondence between the robot coordinate system and the world coordinate system, and the coordinates, orientations, and angles of each component of the robot 2 in each coordinate system.
[0045] In step S605, the information processing device 300 arranges the virtual area VR set in step S602 around the robot 2 based on the parameters acquired in step S604. In the example shown in Figures 4A to 4C, for example, the arrangement position is on the rear side of the robot 2 with the robot origin RO and the third axis 208 as references.
[0046] In step S606, the information processing device 300 determines whether or not there is interference based on the virtual area VR set in step S605 and information about obstacles in the surrounding environment. For example, if the ranges indicated by the respective coordinates overlap, they may be determined to be interfering. At this time, the information processing device 300 determines not only whether or not there is interference between the virtual area VR and the obstacle, but also whether or not there is interference between the components of the robot 2 and the obstacle. Note that the method for determining interference is not particularly limited, and any known method may be used.
[0047] In step S607, the information processing device 300 evaluates the search candidate position of interest based on the determination result of step S606 and sets an evaluation value. The evaluation method is not particularly limited, but for example, a three-level evaluation (0 points to 2 points) may be used. If it is determined that the virtual area VR does not interfere with an obstacle, the highest evaluation value of 2 points is set. If it is determined that the virtual area interferes with the obstacle but that the components of the robot 2 do not interfere with the obstacle, a point is set. If it is determined that the components of the robot 2 interfere with the obstacle, the lowest evaluation value of 0 points is set. Note that if the components of the robot 2 interfere with the obstacle, this is actually an unexecutable posture. Note that a configuration may be made such that postures that cannot actually be taken cannot be set at the time of step S603.
[0048] In step S608, the information processing apparatus 300 determines whether there is an unprocessed search candidate position for the current path point P i That is, it determines whether there is a posture. If there is an unprocessed search candidate position (YES in step S608), the process of the information processing apparatus 300 proceeds to step S611. On the other hand, if there is no unprocessed search candidate position (NO in step S608), the process of the information processing apparatus 300 proceeds to step S609.
[0049] In step S609, the information processing apparatus 300 determines whether i is less than n (i < n). n indicates the total number of path points. When counting i from 0, when i = n, it means that the processing for all path points has been completed. If i is less than n (YES in step S609), assuming there is an unprocessed path point, the process of the information processing apparatus 300 proceeds to step S610. On the other hand, if i is greater than or equal to n (NO in step S609), assuming there is no unprocessed path point, the process of the information processing apparatus 300 proceeds to step S612.
[0050] In step S610, the information processing apparatus 300 increments i by 1. That is, i for the next path point P, the subsequent processing is performed. Then, the process of the information processing apparatus 300 proceeds to step S611.
[0051] In step S611, the information processing apparatus 300 specifies one or more postures that the robot 2 can take when performing work on the target path point P i Furthermore, the information processing apparatus 300 sets, as search candidate positions to focus on, the unprocessed postures among the one or more postures that the robot 2 can take. Then, the process of the information processing apparatus 300 returns to step S604 and repeats the subsequent processing.
[0052] In step S612, the information processing apparatus 300 performs processing on the path point P iBased on the interference evaluation value determined for each of the points i=0, 1, . . ., the motion path of the robot 2 that can avoid interference is identified. i In addition to each evaluation value, the evaluation value of the previous position (e.g., P i In contrast, P i-1 YaP i-2 For example, P i Even if the posture has the highest evaluation value in i-1 When there is waste in moving from the posture with the highest evaluation value in P i The configuration may be such that the posture with the second highest evaluation value is selected from among the postures that can be taken in the above step. The determination of waste here may be based on, for example, the amount of change in each rotation axis, the number of rotation axes that change among the multiple rotation axes, the continuity of the movement path, etc. In this way, the information processing device 300 generates a movement path for the robot 2 to move along a work path that includes multiple path points. Then, this processing flow ends.
[0053] As described above, this embodiment makes it possible to prevent collisions during robot work and generate a movement path with an appropriate posture.
[0054] <Other embodiments> In the above embodiment, as shown in Figures 4A to 4C, a configuration has been described in which a fan-shaped, columnar virtual area is set behind the robot 2. A different virtual area setting will now be described. In this example, a configuration in which the virtual area is shaped like a rectangular parallelepiped and is set below the robot 2 will be described.
[0055] 7A and 7B are conceptual diagrams in which a predetermined virtual area is set for the robot 2 under conditions different from those in the first embodiment. Fig. 7A is a view of the robot 2 as seen along the Y-axis direction. Fig. 7B is a view of the robot 2 as seen from the rear side along the X-axis.
[0056] First, when the robot 2 is in a certain posture, the bottom surface of the arm of the robot 2 in the Z-axis direction is set as the arm bottom surface AB. The arm bottom surface AB may be set to a certain range depending on the shape of the robot 2. Then, a virtual area defined by margin widths FWx, FWy, and clearance height FH corresponding to the X-axis, Y-axis, and Z-axis, respectively, is placed so as to be in contact with the arm bottom surface AB. As shown in FIG. 7B , in the Y-axis direction, the center of the virtual area is positioned so as to coincide with the third axis 208. The margin widths FWx, FWy, and clearance height FH here may be defined in advance depending on the configuration of the robot 2. Note that, although not shown in FIGS. 7A and 7B , the shape of the virtual area, for example, the clearance height FH, may be configured to change depending on the distance between the third axis 208 and the robot origin RO, as shown in the first embodiment.
[0057] By using such a virtual area to determine interference as described in the first embodiment, it is possible to derive a movement path with ample space that minimizes interference with obstacles even in the area below the robot 2.
[0058] The location of the virtual area is not limited to one, and may be set, for example, behind, above, below, or to the side of the robot 2. The shape of the virtual area is not limited to one, and may be changed depending on the location where it is installed. In this case, as described in the first embodiment, the shape and dimensions of the installed virtual area may be changed depending on the posture of the robot 2.
[0059] The position, dimensions, etc. of the virtual area may be configured so that the user of the robot system 1 can arbitrarily specify them on the information processing device 300. The setting of the virtual area may also be adjusted according to the movable range of the slider 3.
[0060] This embodiment can also be realized by supplying a program or application for realizing the functions of one or more of the above-mentioned embodiments to a system or device using a network or storage medium, etc., and having one or more processors in the computer of that system or device read and execute the program.
[0061] The present embodiment may be realized by a circuit that realizes one or more functions, such as an ASIC (Application Specific Integrated Circuit) or an FPGA (Field Programmable Gate Array).
[0062] As described above, the present specification discloses the following: (1) A motion path generation method for generating a movement path for a robot having multiple motion axes, comprising: a placement step of placing a virtual area around the robot in accordance with each of a plurality of postures of the robot with respect to a working position; a determination step of determining interference between the robot and the virtual area and the surrounding environment of the robot; a generating step of evaluating each of the plurality of postures based on the determination result in the determining step and generating a movement path for the robot; and A movement path generation method, wherein in the generation step, a posture that does not interfere with the virtual area is evaluated more highly. This configuration makes it possible to prevent collisions during robot work and generate appropriate movement paths.
[0063] (2) The movement path generation method according to (1), wherein the virtual area changes in conjunction with a change in position and rotation of a predetermined movement axis among the plurality of movement axes. According to this configuration, it is possible to change and set the virtual area in accordance with the change in position or rotation of a predetermined motion axis among the multiple motion axes possessed by the robot.
[0064] (3) a plurality of the virtual areas are arranged; A movement path generation method described in (2), wherein each of the multiple virtual areas changes differently depending on the position in which it is placed when changing in conjunction with changes in position and rotation of the multiple movement axes. According to this configuration, it is possible to arrange a plurality of virtual areas around the robot and generate a movement path that can prevent collisions of the robot.
[0065] (4) The shape of the virtual area is a columnar shape with a fan-shaped base, The movement path generation method according to (1), wherein the height of the virtual area changes in conjunction with the change in position and rotation of a predetermined movement axis among the plurality of movement axes. This configuration allows collision detection to be performed by using a fan-shaped, columnar virtual region, changing the range of the virtual region in conjunction with changes in the position and rotation of the motion axis. In particular, the fan shape makes it possible to perform collision detection for a range of the same distance at a certain central angle.
[0066] (5) The shape of the virtual area is a columnar shape with a fan-shaped base, The movement path generation method according to (1), wherein the virtual area changes in conjunction with a change in the posture of the robot in a three-dimensional coordinate system. According to this configuration, by using a sector-shaped, columnar virtual area, it is possible to perform interference detection while changing the range of the virtual area in conjunction with changes in the robot's posture and rotation.
[0067] (6) The movement path generation method according to (1), wherein the shape of the virtual area is a rectangular parallelepiped. According to this configuration, it is possible to perform collision detection using a virtual region in the shape of a rectangular parallelepiped.
[0068] (7) The movement path generation method according to (6), wherein the virtual area changes in conjunction with a change in the posture of the robot in a three-dimensional coordinate system. According to this configuration, it is possible to use a virtual area in the shape of a rectangular parallelepiped to perform interference detection while changing the range of the virtual area in conjunction with changes in the posture and rotation of the robot.
[0069] (8) The movement path generation method according to (1), wherein the virtual area has a different shape depending on the position where the robot is placed. According to this configuration, it is possible to perform collision detection using virtual regions whose shapes vary depending on the placement position.
[0070] (9) A motion path generation device for generating a motion path for a robot having a plurality of motion axes, comprising: a placement means for placing a virtual area around the robot in accordance with each of a plurality of postures of the robot with respect to a working position; a determination means for determining interference between the robot and the virtual area and the surrounding environment of the robot; a generating means for evaluating each of the plurality of postures based on the determination result by the determining means, and generating a movement path for the robot; and The generation means is a motion path generation device that evaluates a posture that does not interfere with the virtual area more highly. This configuration makes it possible to prevent collisions during robot work and generate appropriate movement paths.
[0071] (10) A robot having multiple drive axes; The above motion path generation device; A robot system comprising: This configuration makes it possible to provide a robot system that is capable of generating an appropriate movement path while preventing collisions during robot work.
[0072] (11) To the computer, a placement step of placing a virtual area around a robot having a plurality of motion axes in accordance with each of a plurality of postures of the robot with respect to a working position; a determination step of determining interference between the robot and the virtual area and the surrounding environment of the robot; a generating step of evaluating each of the plurality of postures based on the determination result in the determining step and generating a movement path for the robot; Execute In the generating step, a posture that does not interfere with the virtual area is evaluated more highly. This configuration makes it possible to prevent collisions during robot work and generate appropriate movement paths. [Explanation of symbols]
[0073] 1. Robot system 2. Robot 3...Slider 4...Installation base 201...6th link 202…6th axis 203...5th link 204...5th axis 205...4th link 206…4th axis 207...3rd link 208...Third axis 209...Second link 210…Second axis 211... Link 1 212…1st axis 300...Information processing device 301...Control unit 302...Storage section 303…Communications Department 304...input section 305...Display section 306...IF Section
Claims
1. A motion path generation method for generating a motion path for a robot having multiple motion axes connected from a robot origin, comprising: a placement step of placing a virtual area behind the robot on the opposite side to the tip end of the robot with respect to the robot origin or an arbitrary motion axis, in accordance with each of a plurality of postures of the robot with respect to the working position; a determination step of determining interference between the robot and the virtual area and the surrounding environment of the robot; a generating step of evaluating each of the plurality of postures based on the determination result in the determining step and generating a movement path for the robot; and A movement path generation method, wherein in the generation step, a posture that does not interfere with the virtual area is evaluated more highly.
2. The movement path generation method according to claim 1 , wherein the shape of the virtual region changes in conjunction with a change in position and rotation of a predetermined movement axis among the plurality of movement axes.
3. A plurality of the virtual areas are arranged, The movement path generation method according to claim 2 , wherein each of the plurality of virtual regions changes differently depending on the position where it is placed when the virtual regions change in conjunction with changes in position and rotation of the plurality of movement axes.
4. the shape of the virtual area is a column with a fan-shaped base, 2. The movement path generation method according to claim 1, wherein the height of the virtual region and a cross section perpendicular to the height change in conjunction with a change in position and rotation of a predetermined movement axis among the plurality of movement axes.
5. the shape of the virtual area is a column with a fan-shaped base, The movement path generation method according to claim 1 , wherein the virtual area changes in conjunction with a change in the posture of the robot in a three-dimensional coordinate system.
6. The movement path generation method according to claim 1 , wherein the shape of the virtual area is a rectangular parallelepiped.
7. The movement path generation method according to claim 6 , wherein the virtual area changes in conjunction with a change in the posture of the robot in a three-dimensional coordinate system.
8. The movement path generation method according to claim 1 , wherein the virtual area has a different shape depending on a position where the robot is placed.
9. A motion path generation device for generating a movement path for a robot having multiple motion axes connected from a robot origin, comprising: a placement means for placing a virtual area behind the robot on the opposite side to the tip end of the robot with respect to the robot origin or an arbitrary motion axis as a reference, in accordance with each of a plurality of postures of the robot with respect to the working position; a determination means for determining interference between the robot and the virtual area and the surrounding environment of the robot; a generating means for evaluating each of the plurality of postures based on the determination result by the determining means, and generating a movement path for the robot; and The generation means is a motion path generation device that evaluates a posture that does not interfere with the virtual area more highly.
10. a robot having multiple drive axes; The motion path generation device according to claim 9 ; A robot system comprising:
11. On the computer, a placement step of placing a virtual area behind the robot on the opposite side to the tip end of the robot, based on the robot origin or any of the motion axes, in accordance with each of a plurality of postures of the robot with respect to a work position, the robot having a plurality of motion axes connected from the robot origin; a determination step of determining interference between the robot and the virtual area and the surrounding environment of the robot; a generating step of evaluating each of the plurality of postures based on the determination result in the determining step and generating a movement path for the robot; Execute In the generating step, a posture that does not interfere with the virtual area is evaluated more highly.
Citation Information
Patent Citations
Automatic generation method for moving path of robot manipulator
JP1997034524A
Teaching device for robot
JP1997201784A
Man-machine work system
JP2006043862A
Evaluation and control method of robot, and control device of robot
JP2012056026A
Robot system for controlling robot constituted of multiple mechanism units, said mechanism unit, and robot control device
JP2017170581A