Robot motion trajectory generation method, motion trajectory generation device, robot system, and program

By prioritizing search criteria in generating robot motion trajectories, the method addresses the inefficiencies of existing techniques, enabling faster and more effective robot control.

JP7726845B2Active Publication Date: 2025-08-20KOBE STEEL LTD
View PDF 8 Cites 0 Cited by

Patent Information

Application Number
JP2022094604
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2022-06-10
Publication Date
2025-08-20
Estimated Expiration
2042-06-10

AI Technical Summary

Technical Problem

Existing methods for generating robot motion trajectories are labor-intensive and time-consuming, requiring manual consideration of various parameters and extensive search among many options to calculate an appropriate trajectory.

Method used

A method and device that acquire operating conditions, search for multiple motion trajectories based on motion conditions and work directions, and determine search priorities to generate an efficient robot motion trajectory.

Benefits of technology

This approach allows for the generation of appropriate robot postures and trajectories in a significantly reduced processing time, enhancing efficiency in robot control.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007726845000001
    Figure 0007726845000001
  • Figure 0007726845000002
    Figure 0007726845000002
  • Figure 0007726845000003
    Figure 0007726845000003
Patent Text Reader

Abstract

To shorten a processing time required for generation of the motion trajectory relating to control of a robot, and furthermore to create a proper attitude and a motion trajectory of the robot.SOLUTION: A robot motion trajectory generation method is provided for generating a motion trajectory of a robot having a plurality of driving shafts in performing work for a work position where work is performed, the robot motion trajectory generation method comprises an obtaining step of obtaining a motion condition specified corresponding to the work position, and a generation step of searching for a plurality of motion trajectories which the robot can execute on the basis of the motion condition, and generating the motion trajectory of the robot, wherein in the generation step, priority for the searching is determined on the basis of the motion condition and directions of working to the plurality of work positions, and the plurality of motion trajectories is searched on the basis of the priority for the searching.SELECTED DRAWING: Figure 15
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to a method for generating a motion trajectory of a robot, a motion trajectory generating device, a robot system, and a program. [Background technology]

[0002] Conventionally, robots that perform predetermined tasks on workpieces have been developed and are now widely used in various 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. Robot control involves generating teaching data and operating the robot based on the teaching data. The teaching data is generated either manually by the robot user or automatically by a motion trajectory generation device installed in the robot. Furthermore, when controlling the robot's posture and the trajectory of its series of motions, it is necessary to consider the state of the workpiece as well as the influence of surrounding obstacles.

[0003] For example, Patent Document 1 discloses a configuration for an articulated welding robot having multiple axes that searches for and automatically sets possible set postures for a welding torch at the tip of the arm based on an input target posture. [Prior art documents] [Patent documents]

[0004] [Patent Document 1] Japanese Patent Application Laid-Open No. 2000-94131 Summary of the Invention [Problem to be solved by the invention]

[0005] For example, when generating teaching data manually, various parameters must be considered, resulting in a significant workload. On the other hand, even when generating teaching data using a motion trajectory generation device, a search must be performed among many options to calculate an appropriate trajectory, which can result in a long processing time. Therefore, a method for determining a robot motion trajectory in a shorter processing time is desired.

[0006] An object of the present invention is to generate an appropriate posture and trajectory of a robot while reducing the processing time required for generating a movement trajectory for controlling the robot. [Means for solving the problem]

[0007] In order to solve the above problems, the present invention has the following configuration: A motion trajectory generation method for generating a motion trajectory of a robot having multiple drive axes when performing a task at a task position, comprising: an acquisition step of acquiring an operating condition specified in correspondence with the work position; a generation step of searching for a plurality of motion trajectories executable by the robot based on the motion conditions and generating a motion trajectory of the robot; and In the generating step, a search priority is determined based on the motion conditions and the working directions for a plurality of working positions, and the plurality of motion trajectories are searched for based on the priority.

[0008] Another aspect of the present invention has the following configuration: A motion trajectory generation device for generating a motion trajectory of a robot having a plurality of drive axes when performing a task at a task position, an acquisition means for acquiring an operating condition specified in correspondence with the work position; a generating means for searching for a plurality of motion trajectories that the robot can perform based on the motion conditions and generating a motion trajectory of the robot; and The generating means determines search priorities based on the motion conditions and work directions for a plurality of work positions, and searches for the plurality of motion trajectories based on the priorities.

[0009] Another aspect of the present invention has the following configuration: a robot having multiple drive axes; A motion trajectory generation device; Equipped with The motion trajectory generation device an acquisition means for acquiring an operating condition specified in correspondence with a work position; a generating means for searching for a plurality of motion trajectories that the robot can perform based on the motion conditions and generating a motion trajectory of the robot; and The generating means determines search priorities based on the motion conditions and work directions for a plurality of work positions, and searches for the plurality of motion trajectories based on the priorities.

[0010] Another aspect of the present invention has the following configuration: On the computer, an acquisition step of acquiring operating conditions specified in correspondence with a work position where work is performed by a robot having a plurality of drive axes; a generation step of searching for a plurality of motion trajectories executable by the robot based on the motion conditions and generating a motion trajectory of the robot; Execute In the generating step, a search priority is determined based on the motion conditions and the working directions for a plurality of working positions, and the plurality of motion trajectories are searched for based on the priority. [Effects of the Invention]

[0011] According to the present invention, in generating a motion trajectory for controlling a robot, it is possible to generate an appropriate posture of the robot and a series of trajectories thereof while shortening the processing time required for generating the motion trajectory. [Brief explanation of the drawings]

[0012] [Figure 1] 1 is a schematic diagram showing a schematic configuration of a welding system according to an embodiment of the present invention; [Figure 2] 1 is a block diagram showing a schematic configuration of an information processing apparatus according to an embodiment of the present invention; [Figure 3] FIG. 2 is a schematic diagram for explaining a welding position according to an embodiment of the present invention. [Figure 4] 1 is a schematic diagram for explaining the posture of a robot according to an embodiment of the present invention; [Figure 5A] FIG. 4 is an explanatory diagram for explaining the attitude of a positioner according to an embodiment of the present invention. [Figure 5B] FIG. 4 is an explanatory diagram for explaining the attitude of a positioner according to an embodiment of the present invention. [Figure 6A] FIG. 4 is an explanatory diagram for explaining the angle of a torch according to one embodiment of the present invention. [Figure 6B] FIG. 4 is an explanatory diagram for explaining the angle of a torch according to one embodiment of the present invention. [Figure 6C] FIG. 4 is an explanatory diagram for explaining the angle of a torch according to one embodiment of the present invention. [Figure 6D] FIG. 4 is an explanatory diagram for explaining the angle of a torch according to one embodiment of the present invention. [Figure 7] FIG. 4 is an explanatory diagram for explaining determination of the position and orientation of the arm tip according to one embodiment of the present invention. [Figure 8] FIG. 10 is an explanatory diagram for explaining a search for an approach direction of an arm according to an embodiment of the present invention. [Figure 9] FIG. 10 is an explanatory diagram for explaining determination of an approach direction of an arm according to an embodiment of the present invention. [Figure 10] FIG. 10 is an explanatory diagram for explaining determination of an approach direction of an arm according to an embodiment of the present invention. [Figure 11] FIG. 10 is an explanatory diagram for explaining a search for a robot origin in the circumferential direction according to an embodiment of the present invention. [Figure 12] FIG. 3 is an explanatory diagram illustrating a search plane and grid points according to an embodiment of the present invention. [Figure 13]FIG. 10 is a graph illustrating the priority used in trajectory search according to an embodiment of the present invention. [Figure 14A] FIG. 4 is a schematic diagram for explaining correction of the angle of the torch according to one embodiment of the present invention. [Figure 14B] FIG. 4 is a schematic diagram for explaining correction of the angle of the torch according to one embodiment of the present invention. [Figure 15] 10 is a flowchart of a motion trajectory generation process according to an 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 welding 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. For example, the present invention can be applied to any robot system equipped with a robot having an arm that can move along multiple axes, such as six axes, and configured to set the robot's motion trajectory to adjust the position of the arm tip according to a specific 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. In this embodiment, the motion trajectory (hereinafter also referred to as "trajectory" or "motion trajectory") includes the posture of each part constituting the robot at a given time and the series of movements required to achieve that posture.

[0015] [System configuration example] 1 is a schematic diagram showing the general configuration of a welding system according to this embodiment. The welding system SY according to this embodiment includes a robot MR, a traveling carriage SL, a positioner PS, a control device CL, a teaching pendant TP, and an operation data generating device D. Note that the configuration shown here is an example, and for example, in the case of a welding system like this embodiment, the system may further include a power supply device (not shown) that supplies welding power, a wire feeder that feeds wire to the robot MR, an imaging device that images the area around the welding point, sensors for detecting various information, and the like.

[0016] The traveling carriage SL is a device that slides and moves while carrying a robot MR that performs a predetermined operation on a workpiece WK. By providing the traveling carriage SL, welding can be performed over a wider range than the operating range of the robot's arm. The traveling carriage SL is connected to the control device CL and operates under the control of the control device CL. In this embodiment, since the welding system SY is used, the predetermined operation performed on the workpiece WK is arc welding, and the tool attached to the tip of the robot MR is a welding torch WT. As shown in FIG. 1 , the traveling carriage SL is movable in three directions relative to the workpiece WK: the X-axis (front-to-back), the Y-axis (left-to-right), and the Z-axis (up-to-down). These X-, Y-, and Z-axes are mutually orthogonal and form an XYZ Cartesian coordinate system (world coordinate system). Note that in FIG. 1 , the XYZ Cartesian coordinate system is illustrated superimposed on the traveling carriage SL to illustrate the directions in which the traveling carriage SL can move. However, the origin of this XYZ Cartesian coordinate system may be set to coincide with, for example, a workpiece origin set at a predetermined position on the workpiece WK. The workpiece origin will be described later. In the drawings used in the following description, the three-dimensional coordinate axes indicated by the X-axis, Y-axis, and Z-axis correspond to each other.

[0017] In the example shown in Fig. 1, the traveling carriage SL includes a carriage ST, a lifting unit RF, and a platform PT. The carriage ST is configured to be movable in the X-axis and Y-axis directions. The lifting unit RF is attached to the carriage ST, raises and lowers the platform PT in the Z-axis direction, and extends in the Z-axis direction with a roughly U-shaped cross section. The platform PT has a plate-like configuration on which the robot MR is installed.

[0018] The robot MR is connected to a control device CL and operates under the control of the control device CL. The robot MR has an arm with multiple joints, and is, for example, an articulated robot such as a vertical six-axis robot with six degrees of freedom, including a first joint J1 to a sixth joint J6. For example, in the example shown in FIG. 1 , the robot MR includes a first link LK1 having a first joint J1, a second link LK2 connected to the first link LK1 via a second joint J2, a third link LK3 having a fourth joint J4 and a fifth joint J5 and connected to the second link LK2 via a third joint J3, and an end effector WR connected to the third link LK3 via a sixth joint J6. The arm of the robot MR includes the first link LK1 to the third link LK3 and the first joint J1 to the sixth joint J6. In this embodiment, a welding torch WT is provided at the tip of the end effector WR. The robot MR is configured to be able to weld the workpiece WK by arc welding using a welding wire fed from a welding torch WT.

[0019] The positioner PS is a device that grips the workpiece WK so that it can rotate around two axes, θ1 and θ2, around the Y-axis and the Z-axis. The positioner PS is connected to a control device CL and operates under the control of the control device CL. Note that in this embodiment, a configuration is shown in which the robot MR and the positioner PS are connected to the same control device CL, but this is not limited to this. The robot MR and the positioner PS may also be controlled by separate control devices and may perform welding by working together. Furthermore, the configuration of the positioner PS is not limited to the above, and a different configuration may be used depending on, for example, the shape of the workpiece WK to be worked on.

[0020] The teaching pendant TP is a handheld operating device connected to the control device CL for manually operating the traveling carriage SL and the robot MR. When using the teaching pendant TP to teach the operation of the traveling carriage SL and the robot MR, the traveling carriage SL and the robot MR are actually operated manually. This teaches the movement path and position of the traveling carriage SL and the movement path and position of the welding torch WT relative to the workpiece WK. The teaching pendant TP may be equipped with, for example, buttons and a display screen for performing various operations in the welding system SY.

[0021] The control device CL controls the traveling carriage SL and the robot MR in accordance with operation data that has been taught and created in advance by the teaching pendant TP and the operation data generation device D, and causes the welding torch WT to weld the workpiece WK. In this embodiment, the operation data includes teaching data generated by teaching and an operation program for operating the robot MR and the traveling carriage SL based on the teaching data, etc.

[0022] The motion data generating device D is a device that generates motion data (motion program, teaching data) for operating the traveling vehicle SL and the robot MR according to the purpose of the motion. The motion data generating device D is configured to include at least a motion trajectory generating device capable of executing the motion trajectory generating method according to this embodiment, and is configured, for example, by a PC (Personal Computer). When generating motion data, the motion data generating device D reproduces the traveling vehicle SL and the robot MR as a traveling vehicle model and a virtual robot model in the virtual space of the computer, and simulates the respective motions of the traveling vehicle SL and the robot MR using these. First, multiple welding points (multiple work positions arranged in chronological order) on the workpiece WK are set, and continuous welding lines connecting each welding point are set. Then, motion data for welding at each welding point and each welding line is generated. Note that since the position of the traveling vehicle SL is determined once the position of the robot MR is determined, the traveling vehicle model may be omitted. The motion data generated by the motion data generating device D is stored in the memory unit 202 and is used by being read from the memory unit 202 into the control device CL. The motion data generating device D may be integrated with the control device CL.

[0023] 2 is a block diagram showing a schematic configuration of an information processing device 200 that can be used as the motion data generation device D according to this embodiment. That is, the information processing device 200 has a configuration that can be used as the motion trajectory generation device according to this embodiment. The information processing device 200 includes a control unit 201, a storage unit 202, a communication unit 203, an input unit 204, a display unit 205, and an interface (IF) unit 206.

[0024] The control unit 201 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 202 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 201 reads and executes various programs stored in the storage unit 202, thereby realizing various functions described below.

[0025] The communication unit 203 is a component for communicating with external devices and various sensors. Communication by the communication unit 203 may be wired or wireless, and the communication standard is not limited. The input unit 204 is an input device for inputting various information to the information processing device 200, and may be configured, for example, with a plurality of input switches to which predetermined functions are assigned, a keyboard, a mouse, etc. Various commands, such as a command to start teaching, and various data required for operating the welding system SY, such as the name of operation data and interference range information, may be input via the input unit 204.

[0026] The display unit 205 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 204, and a traveling cart model and a virtual robot model in the virtual space generated by the information processing device 200 may be displayed via the display unit 205. The input unit 204 and the display unit 205 may be configured with an integrated touch panel display.

[0027] The IF unit 206 is a unit that is connected to an external device (for example, the control device CL) and transmits and receives data to and from the external device. The IF unit 206 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. The units within the information processing device 200 are communicably connected via an internal bus or the like.

[0028] [posture] The posture of the welding torch WT, the posture of the robot MR, and the posture determined by the positioner PS in the welding system SY of this embodiment will be described.

[0029] FIG. 3 is a diagram illustrating the posture of the welding torch WT in the welding system SY of this embodiment. The example in FIG. 3 shows an example in which the workpiece WK2 is placed perpendicular to the surface of the workpiece WK1 (hereinafter referred to as the "reference plane RS"). A weld line L is provided at the contact position between the workpieces WK1 and WK2, and welding is performed in the welding direction, i.e., the work direction, along the weld line L. The weld line L is composed of multiple welding points, i.e., multiple work points. The angle between the reference plane RS of the workpiece WK1 and the welding torch WT is shown as the torch tilt angle α. The angle between the weld line L and the welding torch WT on a plane (hereinafter referred to as the "imaginary plane VP") obtained by rotating the torch tilt angle α from the reference plane RS of the workpiece WK1 around the weld line L as its axis is shown as the torch advance / retract angle β of the welding torch WT. Here, the axis of the welding torch WT is located on the imaginary plane VP. The angle around the axis of the welding torch WT is shown as the torch rotation angle γ. It should be noted that the reference positions for the angles α, β, and γ are predefined, but are not particularly limited.

[0030] FIG. 4 is a diagram illustrating the posture of the robot MR in the welding system SY of this embodiment. As described above, this figure illustrates an example of a robot having a six-axis configuration, i.e., the first joint J1 to the sixth joint J6. α, β, and γ are as shown in FIG. 3. In this embodiment, the point where the rotation axes of the fourth joint J4, the fifth joint J5, and the sixth joint J6 intersect is the wrist rotation center of the robot MR, which is the position of the fifth joint J5 in this example. Note that three angles, α, β, and γ, are required to determine the posture of the robot MR. In the case of welding, the setting of γ is arbitrary because it is sufficient to determine the direction of the welding torch WT. Therefore, by changing the value of γ, the posture and operating range of the robot MR can be changed to the desired position.

[0031] 5A and 5B are diagrams for explaining the posture of the workpiece WK held by the positioner PS as shown in FIG. 1. Here, an example is shown in which the welding torch WT is positioned horizontally and facing downward. In FIGS. 5A and 5B, arrows indicate the position of the target weld line. As shown in FIG. 1, the positioner PS can rotate the workpiece WK by rotation angles θ1 and θ2 around the X-axis and the Z-axis, respectively, and can adjust the posture of the workpiece WK relative to the robot MR. Therefore, when the welding torch WT is positioned horizontally and facing downward, the two postures shown in FIGS. 5A and 5B, for example, can be used.

[0032] 6A to 6D are diagrams showing examples of four representative postures of the welding torch WT. The welding torch WT can be positioned in various positions by rotating it around the wrist rotation center of the robot MR and adjusting the torch rotation angle γ. In this embodiment, four postures will be described as examples. Here, the direction from the front to the back of the drawing is defined as the welding direction. FIG. 6A shows the posture of the robot MR described with reference to FIG. 4 in which the wrist of the robot MR is above the welding torch WT (wrist up). FIG. 6B shows the posture of the robot MR in which the wrist of the robot MR is below the welding torch WT (wrist down). FIG. 6C shows the posture of the robot MR in which the wrist of the robot MR is ahead of the welding direction (wrist forward). FIG. 6D shows the posture of the robot MR in which the wrist of the robot MR is behind the welding direction (wrist rearward). In the wrist-up posture of FIG. 6A, γ = -90°. In the wrist-down posture of FIG. 6B, γ = 90°. In the wrist-forward posture of FIG. 6C, γ = 180°. In the backward wrist position shown in FIG. 6D, γ=0°.

[0033] Next, a flow of determining the posture and movement trajectory of the robot MR according to this embodiment will be described. The following determination flow is performed in the information processing device 200 in a virtual space corresponding to the traveling carriage SL and the robot MR.

[0034] First, the information processing device 200 fixes the wrist rotation center point of the robot MR in the posture of the welding torch WT according to a predetermined welding position, and determines the direction of the arm of the robot MR as the arm approach direction so as not to overlap with the interference range around the workpiece WK. As described with reference to FIG. 4, the wrist rotation center point is the point where the fourth rotation axis of the fourth joint J4, the fifth rotation axis of the fifth joint J5, and the sixth rotation axis of the sixth joint J6 intersect at one point.

[0035] The interference range may be defined as interference range information, which is the range in which the robot MR interferes in a predetermined surrounding environment. If the interference range is a polygon, the interference range information may be the coordinates of the inflection points on the outline of the interference range. If the interference range is a sphere, the interference range information may be the coordinates of the center point and radius of the sphere. More specifically, the interference range is a three-dimensional environmental model that simulates obstacles, such as equipment such as a control panel or fixtures such as a stand, that are arranged in the surrounding environment of the robot MR. The interference range information is information that represents the three-dimensional model. The interference range information is not limited to the range in which the robot MR interferes, but may also include information that represents the range in which the traveling carriage SL interferes in the predetermined surrounding environment and the range in which other components of the welding system SY interfere.

[0036] More specifically, as shown in FIG. 7, information processing device 200 determines the position and posture of the welding torch WT relative to a predetermined welding point Q based on the processing information pre-stored in memory unit 202. Note that welding point Q is an example of a predetermined work position. The processing information includes welding conditions and the posture of the welding torch WT relative to the groove of the weld line. For example, the position of the welding torch WT is determined based on the position and posture of positioner PS shown in FIGS. 5A and 5B, the position and direction of the weld line on the workpiece WK, and the like. In FIG. 7, wrist rotation center point RO corresponds to the point where the rotation axes of the fourth joint J4, fifth joint J5, and sixth joint J6 of robot MR intersect at one point, and indicates a fixed position.

[0037] Next, the information processing device 200 searches for an arm-approachable direction in the environment surrounding the robot MR, so as not to overlap with the interference range. More specifically, as shown in FIG. 8, the information processing device 200 sets an interference range AR represented by interference range information stored in the storage unit 202 in the environment surrounding the robot MR, and searches for a direction as an arm-approachable direction at predetermined angular intervals (e.g., 5°, 10°, 15°, 20°, etc.) in the circumferential direction of a circle having the wrist rotation center point RO as its center point in a plane (e.g., a horizontal plane) including the wrist rotation center point RO at the position and posture of the welding torch WT set as described above, so as not to overlap with the set interference range AR. FIG. 8 shows an example of a total of 24 directions, i.e., an angular interval of 15°. The angular interval may be set in advance or may be arbitrarily set by the user of the welding system SY. At this time, It is preferable to take into consideration the thickness and size of the arm of the robot MR. For example, the size of the arm is taken into consideration by aligning the center line of the arm (third link LK3) of the robot MR with the arm entry direction. In the example shown in FIG. 8 , the direction that overlaps with the interference range AR (the direction of the solid arrow) is assigned an evaluation score of 0, the direction that does not overlap with the interference range AR but overlaps with the interference range AR when the size of the arm is taken into consideration (the dashed line) is assigned an evaluation score of 1, and the direction that does not overlap with the interference range AR and does not overlap with the interference range AR even when the size of the arm is taken into consideration (the dashed line) is assigned an evaluation score of 2. In this embodiment, of the total 24 directions, a total of 18 directions that received an evaluation score of 2 are extracted as arm entry directions.

[0038] Next, the information processing device 200 selects and determines one arm entry direction from the extracted multiple possible arm entry directions. In the example shown in FIG. 8, one of these 18 possible arm entry directions is set and determined. A predetermined rule is used in the determination. The predetermined rule may be set as appropriate, but for example, a rule that selects the direction closest to a predetermined reference position RP may be used. In welding according to this embodiment, the robot MR typically approaches the welding point Q of the workpiece WK from a position in front of the workpiece WK. Therefore, in this embodiment, the predetermined reference position RP corresponds to the front position of the workpiece WK. As a result, in the example shown in FIG. 8, as shown in FIG. 9, the information processing device 200 selects and determines the one possible arm entry direction closest to the reference position RP as the arm entry direction AD from the multiple possible arm entry directions. This determines the arm entry direction AD of the arm of the robot MR as viewed from above. FIG. 10 illustrates a state in which the robot MR is positioned so that its arm is aligned with the arm entry direction AD determined in this manner. Here, the robot MR is, strictly speaking, a virtual robot model.

[0039] Next, the information processing device 200 determines the position of the traveling vehicle SL based on the determined arm approach direction AD. As described above, once the position of the robot MR is determined, the position of the traveling vehicle SL is also determined. Therefore, the information processing device 200 determines the position of the robot MR based on the determined arm approach direction AD, thereby determining the position of the traveling vehicle SL. The position of the robot MR based on the arm approach direction AD may be determined using a known method.

[0040] Examples of methods for determining the position of the traveling vehicle SL include two methods shown in Figures 11 and 12. Note that the following two methods are not exclusive, and both may be used in combination or switched between them.

[0041] 11 is a diagram illustrating a case where the robot origin is searched for in a search plane in the circumferential direction of a circle whose center point is the position of the third joint of the robot MR. FIG. 11 is a diagram illustrating the robot MR as viewed from the side along the Y-axis direction. In this case, the information processing device 200 sets the position of the traveling vehicle SL so that the robot origin O coincides with each of multiple points set in the circumferential direction of a circle whose center point is the position of the third joint J3 in a search plane including the determined arm entry direction AD. Then, the information processing device 200 calculates an evaluation value for each point at the position of the traveling vehicle SL and determines the position of the traveling vehicle SL based on the evaluation value.

[0042] More specifically, the information processing device 200 sets a circle within a search plane including the determined arm approach direction AD, with the position of the third joint J3 as its center point and the distance from the position of the third joint J3 to the robot origin O (a distance determined according to the length of the second link LK2) as its radius, and sets multiple points on the circumference of this circle. The information processing device 200 determines the position of the traveling carriage SL so that each of the multiple points coincides with the robot origin O, and determines, as position candidates, positions of the traveling carriage SL that are within the operating range of the traveling carriage SL excluding the interference range and that allow for inverse transformation to determine the posture of the robot MR. The information processing device 200 calculates an evaluation value for each lattice point corresponding to each of the determined position candidates. The evaluation value may include, for example, the margin from a singular posture of the robot MR, the margin from the operating range boundary of each axis, the degree of interference or near miss with the surrounding environment or the workpiece WK in the posture of the robot MR, the margin from the operating range boundary of each axis of the traveling carriage SL, the work position Q, i or the amount of movement of each axis of the traveling bogie SL from the previous position when there are multiple (i=1, 2, ...) arranged in chronological order. The information processing device 200 extracts the point having the highest evaluation value that is equal to or greater than a predetermined threshold value from the evaluation values of each lattice point, and determines the position candidate at this extracted point as the position of the traveling bogie SL.

[0043] FIG. 12 is a diagram illustrating a case where the position of the traveling vehicle SL is searched for on a search plane within a predetermined range including the determined arm entry direction. Similar to FIG. 11, FIG. 12 is a view of the robot MR viewed from the side along the Y-axis direction. In this case, the information processing device 200 sets a search plane SP that includes the determined arm entry direction and in which the robot origin O, which is the operating base point of the robot MR, is located on the arm entry direction AD. The information processing device 200 sets the position of the traveling vehicle SL so that the robot origin O coincides with each of multiple grid points set within the search plane SP. The information processing device 200 then calculates an evaluation value for each grid point at the position of the traveling vehicle SL and determines the position of the traveling vehicle SL based on the evaluation value. It is assumed that the orientation of the positioner PS is appropriately set as described with reference to FIGS. 5A and 5B.

[0044] More specifically, as shown in FIG. 12, the information processing device 200 determines the operating range of the robot MR within a search plane SP that includes the determined arm approach direction AD, passes through the robot origin O, which is the operating base point of the robot MR, and includes the tip of the robot MR (the tip of the welding torch WT). Then, the information processing device 200 sets a plurality of grid points discretely within this determined operating range. Therefore, the robot origin O is located on the arm approach direction AD. The intervals between the plurality of grid points are set in advance as appropriate to be fine enough for the search.

[0045] The information processing device 200 determines the position of the traveling carriage SL for each of a plurality of lattice points so that the lattice point coincides with the robot origin O, and determines, as position candidates, positions of the traveling carriage SL that are within the operating range of the traveling carriage SL excluding the interference range and that allow for performing inverse transformation to determine the posture of the robot MR. The information processing device 200 determines an evaluation value for each lattice point corresponding to each of the determined position candidates. As with the method shown in FIG. 11, the evaluation value is calculated based on, for example, the margin from the posture of the robot MR, the margin from the operating range boundary of each axis, the degree of interference or near miss with the surrounding environment or workpiece WK in the posture of the robot MR, the margin from the operating range boundary of each axis of the traveling carriage SL, the work position Qi or the amount of movement of each axis of the traveling bogie SL from the previous position when there are multiple (i=1, 2, ...) arranged in chronological order. The information processing device 200 extracts the lattice point having the highest evaluation value that is equal to or greater than a predetermined threshold value from the evaluation values of each lattice point, and determines the position candidate at this extracted lattice point as the position of the traveling bogie SL.

[0046] 12, the xyz Cartesian coordinate system with the robot origin O as the coordinate origin is a local coordinate system for expressing the position and posture of the arm from the operating base point of the robot MR. Once the position of the traveling carriage SL is determined, the XYZ Cartesian coordinate system and the xyz Cartesian coordinate system are related to each other.

[0047] Here, for the workpiece WK, multiple work positions Q are arranged in chronological order. i (i=1, 2, . . .), that is, when there are multiple welding points, the information processing device 200 i For each of the weld lines defined by these, the arm approach direction AD i Furthermore, the information processing device 200 calculates the arm approach directions AD i For each of these, the position of the traveling carriage SL is obtained. In this case, the information processing device 200 calculates the previous arm approach direction AD i-1 This time, the arm approach direction AD is set to be closest to i Ask for.

[0048] As shown in Figure 12, when the wrist rotation center point RO is fixed and the third link LK3 can be moved within the search plane SP, the position of the traveling carriage SL is searched for at each grid point on the search plane SP. However, when the third link LK3 cannot move or the range of movement of the third link LK3 is narrow (small), the position of the traveling carriage SL may be searched for using the method of Figure 11.

[0049] [Motion trajectory determination process] Next, the motion trajectory generation process according to this embodiment will be described based on the above-described technique. As described above, when generating the motion trajectory of the robot MR, a search must be performed taking into account a combination of the welding position, welding direction, torch posture, and the position of the traveling carriage SL, thereby generating a more appropriate trajectory. More specifically, after the approach direction of the robot MR described with reference to FIG. 10, i.e., the arm approach direction AD, is determined, the search process described with reference to FIGS. 11 and 12 is performed for each parameter of the torch rotation angle γ. For example, in the case of four welding torch WT postures as shown in FIGS. 6A to 6D, the search process is performed for each of the four postures. Therefore, the processing load of the search process increases as the target torch rotation angle γ increases, in other words, the processing time increases. Furthermore, the processing time increases as the number of welding points increases.

[0050] Therefore, in this embodiment, a method for performing processing to generate a movement trajectory more efficiently when generating the posture and trajectory of the robot MR in the welding system SY will be described.

[0051] In this embodiment, the direction of the weld line described using Figure 3 etc. is defined as φ, and a priority is set for a representative posture with a torch rotation angle γ based on this welding direction φ, torch tilt angle α, and torch advance / retract angle β. Note that in this embodiment, the four postures shown in Figures 6A to 6D are used as examples of representative postures, but the present invention is not limited to these. Then, a search is performed in order of priority, and a trajectory of the robot MR is generated according to the evaluation value of the search results, thereby eliminating unnecessary searches and shortening processing time.

[0052] (Priority DB) In this embodiment, a database (hereinafter referred to as DB) that defines priorities corresponding to welding directions φ is prepared in advance and used. The DB according to this embodiment may be defined, for example, by analyzing and evaluating data on trajectories used in past welding. FIG. 13 is a graph showing the evaluation values for each welding direction φ defined in this DB. In FIG. 13, the horizontal axis represents the welding direction φ, and the vertical axis represents the total evaluation value, i.e., the adoption rate corresponding to the priority of the torch rotation angle γ. As described above, four examples of torch rotation angles γ = 0, 90, 180, and -90° are shown.

[0053] For example, in the case of the values of the welding direction φ shown in Fig. 13, the total evaluation values are γ = -90, 0, 90, 180 [°] in order. Therefore, the priority is set in the order of γ = -90, 0, 90, 180 [°], and the search order is also set based on this.

[0054] Note that multiple DBs may be defined depending on the attitude of the welding torch WT, etc. For example, DBs may be defined for cases where the attitude of the welding torch WT is horizontal and downward, horizontal and sideways, horizontal and upward, etc. Furthermore, for parameters that are geometrically equivalent, the size of the DB may be reduced by omitting the data. For example, if the evaluation values are the same for γ=0 and γ=180, one of the data may be deleted and common data may be set.

[0055] Furthermore, in the case of welding, as explained using FIG. 9 and other figures, the robot MR is usually positioned in front of the weld line L (corresponding to the reference position RP). However, as shown in FIG. 14A, there may be cases where the welding torch WT is not in front of the robot MR. FIG. 14A shows an example where the welding direction φ is at a position rotated by a rotation angle θ1 from the front of the robot MR. Even in such a case, there is no need to prepare a separate DB, and it is possible to use an existing DB on the premise that rotation correction is performed based on the rotation angle θ1, as shown in FIG. 14B.

[0056] (Processing flow) The flow of the motion trajectory generation process according to this embodiment will be described below. FIG. 15 is a flowchart showing the overall flow of the motion trajectory generation process according to this embodiment. Each step is realized by cooperation between the various components of the information processing device 200 shown in FIG. 2, and may be performed by, for example, the control device 201 reading and executing an application stored in the storage unit 202 of the information processing device 200. Here, to simplify the description, the processing entity is collectively described as the information processing device 200. It is assumed that construction information and interference range information are set in advance before this processing flow is started. It is also assumed that a DB such as that described using FIG. 13 has been defined.

[0057] In step S1501, information processing device 200 acquires welding conditions for workpiece WK based on the construction information. The welding conditions acquired here include the attitude of the welding torch WT (horizontal and downward, etc.), the position of the weld line, groove information of the weld line, etc. The construction information also determines the attitude of positioner PS as shown in FIGS. 5A and 5B, i.e., the attitude of the workpiece WK.

[0058] In step S1502, the information processing device 200 acquires the torch tilt angle α and the torch forward / backward angle β based on the various information acquired in step S1501.

[0059] In step S1503, the information processing device 200 determines the position of the weld line and the welding direction φ as seen from the robot MR, based on the posture of the positioner PS and the arrangement of the workpiece WK, which are determined based on the various information acquired in step S1501. At this time, the information processing device 200 determines the approach direction of the robot MR to the weld line, as described with reference to Figures 7 to 10. Note that if there are any undetermined parameters, the welding direction φ may be determined using provisional values.

[0060] In step S1504, the information processing device 200 identifies multiple candidates for the torch rotation angle γ to be searched for, and determines the priority of each of the multiple candidates for the torch rotation angle γ by referring to the DB described with reference to Fig. 13. In the example of Fig. 13, γ = 0, 90, -90, 180 [°] is identified as multiple candidates for the torch rotation angle γ, and the priority of each candidate is determined. Note that the multiple candidates for the torch rotation angle γ may be specified in advance, or may be configured to be selectable by the user of the welding system SY.

[0061] In step S1505, the information processing device 200 searches for a motion trajectory by focusing on the highest priority unprocessed candidate for the torch rotation angle γ among the multiple candidates. The search here is performed by the method described with reference to FIGS. 11 and 12.

[0062] In step S1506, the information processing device 200 evaluates the motion trajectory of the robot MR found in step S1505. The method of deriving the evaluation value is not particularly limited, but may be performed in two stages, for example, by determining whether the essential conditions are met and by performing an evaluation calculation using a predetermined formula.

[0063] The necessary conditions may be, for example, whether the robot MR interferes with the interference range on the trajectory, whether there is continuity in the trajectory, whether it is included in the operating range, whether forward / inverse transformation in the coordinate system is possible when calculating the coordinates, etc. If the necessary conditions are not met, the trajectory may be treated as not being adopted regardless of the evaluation value obtained by evaluation calculation using a predetermined calculation formula. Alternatively, a trajectory that does not meet the necessary conditions may be treated as requiring adjustment by the user of the welding system SY.

[0064] The evaluation calculation using a predetermined formula may, for example, define indicators for the winding of a cable (not shown) around the robot MR in the trajectory, cable interference, the extension state and posture of the arm, fluctuations of a predetermined axis, and the posture of the welding torch WT, and obtain the weighted sum of these indicators. The winding of the cable may be determined, for example, based on whether the sum of the rotation angles of a predetermined axis among multiple axes equipped on the robot MR is equal to or less than a predetermined threshold. The interference of the cable may be determined by identifying the radius of curvature of the cable and based on whether the radius of curvature is equal to or less than a predetermined threshold. Note that the indicators here are merely examples and are not limited to those described above.

[0065] In step S1507, the information processing device 200 determines whether the evaluation value derived in step S1506 is higher than a predetermined threshold. If the evaluation value is higher than the threshold (YES in step S1507), the information processing device 200 determines that trajectory is to be used and ends this processing flow. In this case, even if unprocessed torch rotation angles remain, search processing for these is omitted. If the evaluation value is equal to or lower than the threshold (NO in step S1507), the processing of the information processing device 200 proceeds to step S1508.

[0066] In step S1508, the information processing device 200 determines whether or not there is an unprocessed torch rotation angle γ. If there is an unprocessed torch rotation angle γ (YES in step S1508), the processing of the information processing device 200 returns to step S1508 and the processing is repeated. On the other hand, if there is no unprocessed torch rotation angle γ (NO in step S1508), the processing of the information processing device 200 proceeds to step S1509.

[0067] In step S1509, the information processing device 200 selects the movement trajectory with the highest evaluation value from among the movement trajectories evaluated up to this point as the movement trajectory to be used. Based on this selected movement trajectory, movement data of the robot MR, more specifically, teaching data, is generated. Then, this processing flow ends.

[0068] As described above, according to this embodiment, in generating a movement trajectory for controlling a robot, it is possible to generate an appropriate posture of the robot and a series of trajectories thereof while shortening the processing time required for generating the movement trajectory.

[0069] <Other embodiments> In the above embodiment, an example has been shown in which a predefined DB is used to set priorities. However, this is not limited thereto, and priorities for the torch rotation angle γ may be set using a trained model generated by machine learning processing using a neural network. In this case, for example, a trained model may be used that is generated by performing learning using training data in which the welding position, welding direction, torch rotation angle, etc. are used as input data and the priorities for each of multiple torch rotation angles are used as output data. Note that in a configuration using a trained model, the parameters of the input data included in the training data are not limited to those described above, and for example, any of the various information used in the first embodiment may be used.

[0070] In addition to the DB, the priority of the torch rotation angle γ may be determined using a predetermined rule-based evaluation function. The evaluation function may be defined to determine the torch rotation angle γ according to parameter values such as the welding position and welding direction. Furthermore, the priority of each torch rotation angle γ may be determined by combining the results of a trained model obtained by machine learning with the rule-based evaluation function.

[0071] 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.

[0072] 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).

[0073] As described above, the present specification discloses the following: (1) A motion trajectory generation method for determining a motion trajectory of a robot having multiple drive axes when performing a task at a task position, comprising: an acquisition step of acquiring an operating condition specified in correspondence with the work position; a generation step of searching for a plurality of motion trajectories executable by the robot based on the motion conditions and generating a motion trajectory of the robot; and A movement trajectory generation method, wherein in the generating step, a search priority is determined based on the movement conditions and work directions for a plurality of work positions, and the plurality of movement trajectories are searched for based on the priority. According to this configuration, when generating a movement trajectory for controlling a robot, it is possible to efficiently generate an appropriate posture of the robot and a series of trajectories for the movement trajectory while shortening the processing time required for generating the movement trajectory.

[0074] (2) further comprising an evaluation step of evaluating the trajectory of the motion searched based on the priority; In the generating step, if a movement trajectory whose evaluation obtained in the evaluating step is equal to or greater than a threshold is derived, the movement trajectory is determined to be the movement trajectory, and the search is terminated. The motion trajectory generation method according to (1). According to this configuration, the search process is terminated when a movement trajectory equal to or greater than a predetermined threshold is derived based on a predefined evaluation method, thereby suppressing unnecessary searches and enabling the efficient generation of a movement trajectory for the robot.

[0075] (3) The motion trajectory generation method according to (1) or (2), wherein the priority is determined using a database that is predefined in correspondence with the motion conditions. According to this configuration, it is possible to easily determine the priority of the robot posture involved in the search using a database that is predefined in accordance with the operating conditions of the robot.

[0076] (4) The motion trajectory generation method according to (1) or (2), wherein the priority is determined using a trained model that has undergone machine learning processing using the motion conditions as input and the search priority as output. With this configuration, it is possible to easily determine the priority of the robot's posture related to the search using a trained model obtained in advance through machine learning in accordance with the robot's operating conditions.

[0077] (5) The motion trajectory generation method according to (1) or (2), wherein the priority is determined by an evaluation function that uses the motion conditions as parameters. According to this configuration, it is possible to easily determine the priority of the robot posture involved in the search using an evaluation function that is defined in advance in accordance with the operating conditions of the robot.

[0078] (6) The motion trajectory generation method according to any one of (1) to (5), wherein the priority defines the order of the search for each posture of the tip of the robot relative to a working position. According to this configuration, it is possible to set an order of priority corresponding to the orientation of the tip of the robot when performing a search.

[0079] (7) The robot is a welding robot, the tip is a welding torch; The motion trajectory generation method according to (6), wherein the working direction is a welding direction. According to this configuration, when generating a motion trajectory for controlling a robot used in a welding system, the processing time on the welding system side can be shortened, and an appropriate posture of the robot and a series of trajectories for the robot can be efficiently generated.

[0080] (8) A motion trajectory generation device that determines a motion trajectory of a robot having multiple drive axes when performing a task at a task position, comprising: an acquisition means for acquiring an operating condition specified in correspondence with the work position; a generating means for searching for a plurality of motion trajectories that the robot can perform based on the motion conditions and generating a motion trajectory of the robot; and The generation means determines search priorities based on the movement conditions and work directions for a plurality of work positions, and searches for trajectories of the plurality of movements based on the priorities. According to this configuration, when generating a movement trajectory for controlling a robot, it is possible to efficiently generate an appropriate posture of the robot and a series of trajectories for the movement trajectory while shortening the processing time required for generating the movement trajectory.

[0081] (9) A robot having multiple drive axes; The above motion trajectory generation device; A robot system comprising: With this configuration, it is possible to provide a robot system that can efficiently generate an appropriate posture for the robot and a series of trajectories for its control while shortening the processing time required to generate the trajectory.

[0082] (10) To the computer, an acquisition step of acquiring operating conditions specified in correspondence with a work position where work is performed by a robot having a plurality of drive axes; a generation step of searching for a plurality of motion trajectories executable by the robot based on the motion conditions and generating a motion trajectory of the robot; Execute In the generating step, a search priority is determined based on the motion conditions and work directions for a plurality of work positions, and trajectories of the plurality of motions are searched for based on the priority. According to this configuration, when generating a movement trajectory for controlling a robot, it is possible to efficiently generate an appropriate posture of the robot and a series of trajectories for the movement trajectory while shortening the processing time required for generating the movement trajectory. [Explanation of symbols]

[0083] SY...Welding system MR...robot WR...End effector WT...welding torch WK…Work PS...Positioner CL...Control device TP...Teach pendant D...Motion data generator SL...Traveling bogie PT…mounting stand ST: Cart RF…lifting section 200...Information processing device 201...Control unit 202...Storage section 203…Communications Department 204...input section 205...Display section 206...IF Section

Claims

1. A motion trajectory generation method for generating a motion trajectory of a robot having multiple drive axes when performing a task at a task position, comprising: an acquisition step of acquiring an operating condition specified in correspondence with the work position; a generation step of searching for a plurality of motion trajectories executable by the robot based on the motion conditions and generating a motion trajectory of the robot; and a movement trajectory generation method, in which, in the generation step, a priority that specifies an order of search for each posture of the tip of the robot relative to a plurality of work positions is determined based on the movement conditions and work directions relative to the plurality of work positions, and trajectories of the plurality of movements are searched for based on the priority.

2. The method further includes an evaluation step of evaluating the trajectory of the movement searched based on the priority, In the generating step, if a movement trajectory whose evaluation obtained in the evaluating step is equal to or greater than a threshold is derived, the movement trajectory is determined to be the movement trajectory, and the search is terminated. The motion trajectory generation method according to claim 1 .

3. The motion trajectory generation method according to claim 1 , wherein the priority is determined using a database that is predefined in correspondence with the motion conditions.

4. The motion trajectory generation method according to claim 1 , wherein the priority is determined using a trained model that has undergone machine learning processing using the motion conditions as input and the search priority as output.

5. 2. The motion trajectory generation method according to claim 1, wherein the priority is determined by an evaluation function that uses the motion conditions as parameters.

6. the robot is a welding robot, the tip is a welding torch; The motion trajectory generation method according to claim 1 , wherein the work direction is a welding direction.

7. A motion trajectory generation device that generates a motion trajectory of a robot having multiple drive axes when performing work at a work position, an acquisition means for acquiring an operating condition specified in correspondence with a work position; a determination means for searching for a plurality of motion trajectories executable by the robot based on the motion conditions and determining a motion trajectory of the robot; and The determination means determines priorities that define an order of search for each posture of the tip of the robot relative to a plurality of work positions based on the operation conditions and work directions relative to the plurality of work positions, and searches for trajectories of the plurality of operations based on the priorities.

8. a robot having multiple drive axes; A motion trajectory generation device according to claim 7; A robot system comprising:

9. On the computer, an acquisition step of acquiring operating conditions specified in correspondence with a work position where work is performed by a robot having a plurality of drive axes; a generation step of searching for a plurality of motion trajectories executable by the robot based on the motion conditions and generating a motion trajectory of the robot; Execute In the generation process, a program determines a priority that specifies the order of search for each posture of the tip of the robot relative to the work position based on the operation conditions and work directions relative to the multiple work positions, and searches for the multiple operation trajectories based on the priority.

Citation Information

Patent Citations

  • Welding position teaching method and its device

    JP2000094131A

  • Motion path searching method and device for articulated robot

    JP2003094362A

  • Method and apparatus for simulating operation of welding torch

    JP2007219989A

  • Method of preparing offline teaching data, and robot system

    JP2010046753A

  • Control method of robot system, manufacturing method of articles, control program, recording medium, and robot system

    JP2021013996A