Path generation system for robot, path generation method, robot control device, program, and data structure
The robot path generation system addresses the challenge of efficiently generating new paths by converting existing paths into template data independent of robot parameters, facilitating rapid and adaptable path generation in response to task changes.
Patent Information
- Application Number
- JP2023208190
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-12-11
- Publication Date
- 2025-06-23
AI Technical Summary
Existing robot path generation systems struggle to efficiently generate new paths in response to changes in tasks or environments, often requiring extensive recalibration and re-planning.
A path generation system for robots that converts existing paths into template path data independent of physical robot parameters, allowing for easy generation of new paths based on these templates, and includes a conversion unit, registration unit, reading unit, path generation unit, correction unit, and connection unit to manage and generate paths effectively.
Enables rapid and efficient generation of robot paths in response to task changes, reducing the time and effort required for path planning and allowing for seamless adaptation to new tasks and environments.
Smart Images

Figure 2025092830000001_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to a path generation system for a robot, a path generation method, a robot control device, a program, and a data structure.
Background Art
[0002] Patent Document 1 describes geometric model means on a computer that describes the geometric shapes and their arrangements of a robot and a work environment, and interference inspection means on a computer that inspects interference between models, and uses these to plan an operation path of a robot from a start position to a goal position without interference between the robot and obstacles in the work environment when the start and goal positions of the robot are given.
[0003] This operation path planning method uses the start position as the starting sub-goal and the goal position as the ending sub-goal. The point that divides the straight line path in the working space or placement space connecting the starting sub-goal and the ending sub-goal of the robot into two parts is used as the first sub-goal candidate. Adjacent sub-goals are represented as sub-goals a and b, and the point that divides the straight line path in the working space or placement space connecting between sub-goals a and b into two parts is represented as sub-goal candidate 1 and used as a new sub-goal candidate. At sub-goal candidate 1, the interference between the robot and the obstacles is inspected using geometric model means and interference inspection means. (i) When no interference is detected at sub-goal candidate 1, sub-goal candidate 1 is used as the new sub-goal c, and a directed graph describing the connection relationship of the sub-goals represented by a→c→b is generated. (ii) When interference is detected at sub-goal candidate 1, interference inspections are performed at a plurality of points where the robot is moved at appropriate distance intervals in each of a plurality of predetermined robot avoidance movement directions from sub-goal candidate 1. For each avoidance movement direction or some of them, new sub-goals d1, d2, d3,... are selected one by one from the points where no interference is detected, and a directed graph of the sub-goals represented by a→d1→b, a→d2→b, a→d3→... is generated. This procedure is recursively repeated until the distance between each sub-goal becomes less than or equal to a predetermined value, and a plurality of sets of sub-goal paths, that is, sub-goal sequences, from the starting sub-goal to the ending sub-goal are planned using the directed graph of the sub-goals.
Prior Art Documents
Patent Documents
[0004]
Patent Document 1
Summary of the Invention
Problems to be Solved by the Invention
[0005] This disclosure describes a robot path generation system, a path generation method, a robot control device, and a program that can easily generate a path in response to a task change.
Means for Solving the Problem
[0006] A path generation system for a robot according to one aspect of the present disclosure includes a conversion unit that converts a path of an articulated robot from a first start to a first goal into template path data in a format that does not depend on the physical parameters of the articulated robot, and a path generation unit that generates a path from a second start to a second goal based on the template path data.
[0007] A program according to another aspect of the present disclosure causes a robot control device for controlling an articulated robot to function as a reading means for reading template path data in which a path of an articulated robot from a first start to a first goal is converted into a format that does not depend on the physical parameters of the articulated robot, and a path generation means for generating a path from a second start to a second goal based on the template path data.
[0008] A robot control device according to another aspect of the present disclosure includes a reading unit that reads template path data in which a path of an articulated robot from a first start to a first goal is converted into a format that does not depend on the physical parameters of the articulated robot, and a path generation unit that generates a path from a second start to a second goal based on the template path data.
[0009] A method for generating a path according to another aspect of the present disclosure is a method for generating a path using the above-described path generation system for a robot, and includes a step in which the conversion unit converts a plurality of paths associated with a task into template path data respectively, a step in which the converted template path data is registered in a database respectively, a step in which the template path data is selected from the database according to the task, and a step in which the path generation unit generates a path based on the selected template path data.
[0010] The data structure of the template path data according to another aspect of the present disclosure is the data structure of the template path data used by the path generation system of the robot, and includes the position on the line segment corresponding to the line segment and the waypoint or the positioning information for determining the position, the deviation norm from the position on the line segment to the corresponding waypoint, and a vector for specifying the direction in which the waypoint is located with respect to the position on the line segment.
Advantages of the Invention
[0011] According to the robot path generation system, path generation method, robot control device, program, and data structure according to the present disclosure, a path can be easily generated in response to a change in a task.
Brief Description of the Drawings
[0012]
Figure 1
Figure 2
Figure 3
Figure 4
Figure 5
Figure 6
Figure 7
Figure 8
Figure 9
Figure 10
Mode for Carrying Out the Invention
[0013] Subsequently, embodiments according to the present disclosure will be described with reference to the accompanying drawings. Note that, in the drawings, parts not related to the description may be omitted from illustration.
[0014] As shown in FIG. 1, a path generation system 10 according to an embodiment includes a conversion unit 20, a registration unit 30, a reading unit 40, a path generation unit 50, a correction unit 60, and a connection unit 70, and can generate a path of a multi-joint robot.
[0015] The conversion unit 20 can convert a path of a multi-joint robot (see FIG. 2(A)) from a predetermined start (an example of the first start) to a goal (an example of the first goal) into template path data. This template path data includes information on the deviation between the line segment connecting the start and the goal and the path from the start to the goal (the path before being converted into template path data). Details of the deviation information will be described later.
[0016] The registration unit 30 can register the template path data converted by the conversion unit 20 in the database DB. The location where the database DB is stored is not limited, and it may be stored in the cloud.
[0017] The reading unit (an example of reading means) 40 can read the template path data on the database DB.
[0018] The path generation unit (an example of path generation means) 50 can generate a path from a newly set start (an example of the second start) to a goal (an example of the second goal) based on the template path data.
[0019] The correction unit (an example of correction means) 60 can correct the path generated by the path generation unit 50 based on the environment around which the articulated robot operates.
[0020] Note that the reading unit 40, the path generation unit 50, and the correction unit 60 constitute an example of a robot control device 80 for controlling an articulated robot. The robot control device 80 configured as described above functions as reading means for reading template path data, path generation means for generating a path from a newly set start (an example of the second start) to a goal (an example of the second goal) based on the template path data, and correction means for correcting the path generated by the path generation unit 50 based on the environment around which the articulated robot operates, by a program executed by the robot control device 80.
[0021] The connection unit 70 can connect different template path data and generate new template path data.
[0022] Next, a method for generating a path by the path generation system 10 will be described. The path of the articulated robot is generated according to the following steps S1 to S4. Here, the definitions of variables and the like used in the following description are as follows (see FIGS. 2(A) and 2(B)). The coordinate system of the C space, which is the robot configuration space, is represented as Σ C ⊂R N and is denoted as N represents the number of joints of the robot. The start position s, the goal position g, and the waypoint w of a given path (m)are represented by the following expressions (1) to (3), respectively.
[0023]
Number
[0024] Here, m = 1, ···, M represents the waypoint number, and M represents the waypoint index. Furthermore, the vector v from the start to the goal is represented by the following expression (4).
[0025]
Number
[0026] Also, the normalized vector e of the vector v is represented by the following expression (5).
[0027]
Number
[0028] Here, |·| represents the normalization of the vector. Also, let the line segment connecting the start and the goal be the line segment L. For a given start position s and goal position g, a path P represented by the following expression (6) is obtained by applying an appropriate path planning method.
[0029]
Number
[0030] (Step S1) This step is the step where the conversion unit 20 converts the path. The conversion unit 20 converts the path into template path data represented by the matrix S based on the path conversion algorithm shown in the following procedures 1 to 3.
[0031]
Table 1
[0032] ||·|| represents the Euclidean norm of a vector. In step 1 of this path conversion algorithm, a vector v from the start to the goal is obtained. Next, in step 2 of the path conversion algorithm, the foot l (m) of the perpendicular line dropped from the waypoint w (m) (intersection point) to the line segment L is obtained.
[0033] Also, as the above-mentioned deviation information, the following information is obtained respectively. (1a) The ratio r (m) of the position of the foot l (m) of the perpendicular line from the start to the line segment L, (1b) The distance τ (m) between the waypoint w (m) and the foot l (m) (deviation norm), (1c) The orthogonal vector δ (m) that is orthogonal to the first vector having the direction from the foot l (m) to the corresponding waypoint w and the normalized vector e (an example of the second vector) having the direction in which the line segment L extends, respectively. (m)
[0034] In other words, as the deviation information, it is sufficient to obtain the following information. (2a) The position of the intersection point l (m) of the line segment L and the perpendicular line extending from the waypoint w (m) (2b) The deviation norm from the waypoint w to the corresponding intersection point l (m) to (m) (2c) The vector for specifying the direction in which the waypoint is located with respect to the position of the intersection point l of the line segment L (m) (2d) The position of the waypoint with respect to the position of the intersection point l
[0035] Furthermore, in other words, as the deviation information, it is sufficient to obtain the following information. (3a) The position on the line segment L corresponding to the waypoint w (m) (3b) The waypoint w corresponding to the position on the line segment L (m) Deviation norm up to (3c) Waypoint w for a position on line segment L (m) A vector to identify the direction in which
[0036] However, "(3a) Waypoint (m) Instead of "the position on the line segment L corresponding to (m) The position determination information may be information for determining a position on the line segment L corresponding to the waypoint w (m) By dividing the line segment L by the number Q, the waypoint w (m) The position on the line segment L corresponding to is determined. It should be noted that the position determination information is not limited to the number Q.
[0037] In other words, the information on the deviation between the line segment L and the path needs to include the following information. (4a) Waypoint w (m) a position on the line segment L corresponding to the line segment L or position determination information for determining this position, (4b) From the position on line segment L to the corresponding waypoint w (m) Information on the magnitude of deviation (4c) From the position on line segment L to the corresponding waypoint w (m) Directions to
[0038] Here, in step 2 of the path conversion algorithm, the cross product calculation of the following equation (7) is performed.
[0039]
number
[0040] This orthogonal vector δ (m) Then, the waypoint w for the line segment L is (m)It becomes possible to specify the direction in which it exists. However, since the cross product operation is defined only when the number of joints N of the robot is 0, 1, 3, or 7, for other cases such as when the number of joints N is 6, some ingenuity is required for the operation of Equation (7). In the present embodiment, as shown in Equations (8) to (13), the normalized vector e, the waypoint w (m) and the foot of the perpendicular l (m) are calculated by dividing them into two three-dimensional vectors as follows.
[0041]
Equation
[0042] As a result, the cross product operations shown in the following Equations (14) and (15) are established.
[0043]
Equation
[0044] By integrating these, as shown in the following Equation (16), the vector δ (m) is calculated.
[0045]
Equation
[0046] Also, the distance τ (m) between the waypoint w (m) and the foot of the perpendicular l (m) is calculated and integrated by calculating two types of Euclidean norms.
[0047]
Equation
[0048] Finally, in Step 3 of the above-described path conversion algorithm, the information obtained above is held in the set S of matrices and used as template path data. Thus, when the number of joints N of the multi-joint robot is 3 or 7, the cross product operation in step 2 is possible. However, when the number of joints is other than these, as described above, it is necessary to divide each vector and perform the cross product operation. That is, when the number of joints N of the multi-joint robot is other than 3 or 7, the deviation norm is obtained separately for a plurality of different joints.
[0049] (Step S2) This step is a step in which the registration unit 30 (see FIG. 1) registers the converted template path data in the database DB.
[0050] Here, the template path data (matrix S) represents an outline of the joint angle conversion from the start to the goal and does not reflect the lengths of the joints of the multi-joint robot. That is, the template path data is data in a form that does not depend on the physical parameters of the multi-joint robot. Also, the template path data can be subjected to matrix operations and concatenation. Therefore, different template path data can also be joined together by the concatenation unit 70 and generated as new template path data.
[0051] It is preferable that such template path data is prepared in plurality in association with tasks and registered in the database DB. Specific examples of the template path data to be registered include template path data when placing a workpiece on a plane and template path data when taking a workpiece out of a basket. The template path data registered in the database DB is selected according to the required task and read by the reading unit 40.
[0052] (Step S3) This step is a step in which the path generation unit 50 generates a path based on the template path data read by the reading unit 40. Note that hereinafter, "s ~ " "g ~ ", "L ~ ", "l~ ", "e ~ ", "w ~ " and "P ~ ", respectively, indicate the characters with a tilde above "s", "g", "L", "l", "e", "w", and "P". The path generation unit 50 generates a path based on the path generation algorithm shown in the following procedures 1 to 3 (see Figure 3).
[0053]
Table 2
[0054] First, a new start position s ~ , a new goal position g ~ and template path data are given. Next, in procedure 1 of the path generation algorithm, a vector from the start to the goal is obtained, and in procedure 2, a perpendicular foot l ~ on the line segment L (m) connecting the start and the goal is arranged using the ratio r ~(m) as shown in the following equation (20).
[0055]
Equation
[0056] Next, by the cross product of the orthogonal vector δ (m) and the normalized vector e ~ , a vector perpendicular to the line segment L ~(m) starting from the perpendicular foot l ~ is obtained, and the position of the waypoint w (m) is calculated as shown in the following equation (21) using the distance τ ~(m) .
[0057]
Equation
[0058] In addition, when the number of joints N of the multi-joint robot is other than 3 or 7, as described above, the vector may be divided and the cross product operation may be performed. According to Steps 1 and 2 of the path generation algorithm described above, a new waypoint w ~(m) is obtained, and in Step 3, a path P ~ is generated as shown in the following equation (22).
[0059]
Equation
[0060] (Step S4) This step is to check for collisions before the multi-joint robot operates according to the generated path. The correction unit 60 checks that no collision occurs between the multi-joint robot and the surrounding environment or the multi-joint robot itself, and corrects the path if a collision is predicted.
[0061] In this way, by executing Steps S1 to S4, the path of the multi-joint robot is generated. In particular, as described in Step S2, by preparing in advance template paths associated with a plurality of tasks, the path can be easily generated according to changes in the tasks.
Example
[0062] Next, as an example, a simulation example of generating a path will be shown, and the effects of the path generation system 10 will be described more specifically.
[0063] The inventor simulated the generation of a path according to the above-described path generation method. Various functions of ROS (robot operation system) were used for the simulation. As simulation conditions, the multi-joint robot was set as the 6-axis multi-joint robot 90 shown in Fig. 4(A). More specifically, this 6-axis multi-joint robot 90 is the xArm6. Regarding the target final posture, as shown by the dashed line in Fig. 4(B), it was set at the location where the end effector passed through the gap of the wall-like obstacle 92.
[0064] First, a path plan was executed by RRT-Connect, which is generally used as a path generation method. The upper limit of the search time was set to 5 s. The distribution of the time required for the search was as shown in Fig. 5. As shown in Fig. 5, paths could not be found in 20 out of 50 searches. Among the 30 times when paths were found, the shortest was 0.08 s, the longest was 1.93 s, and the average was 0.69 s. In subsequent simulations, the paths obtained from this search were used.
[0065] Next, regarding the path obtained by path planning (refer to the circles in Fig. 6(A)), based on step S1 of the above-described path generation method, the path was divided into two parts: from the first axis to the third axis and from the fourth axis to the sixth axis, and the path was converted to generate template path data. As a result, as shown in Figs. 7(A) and 7(B), waypoint information was extracted for the line segment L connecting the start and the goal. It was also found that the cross product holds for the two divided vectors.
[0066] Next, based on step S3 of the above-described path generation method, a path was generated from the converted template path data. First, a path was generated such that the start and the goal of the path to be generated were the original start and goal given when converting the path. As a result, as shown in Figs. 8(A) and 8(B), it was confirmed that the same path was generated without error.
[0067] Subsequently, the path was generated such that the start and goal of the generated path were different from the initial start and goal, respectively. As a result, the waypoints shown in FIGS. 9(A) and 9(B) were obtained, and the trajectory of the end effector by the generated path was obtained as indicated by the circles in FIG. 6(B). From these results, it was confirmed that, according to this embodiment, even when a different start and goal from the initial ones are given, the general shape of the path before conversion is reproduced and the path is appropriately generated.
[0068] Finally, for 100 different starts and goals, the time required to generate the path from the same template path data was measured. As a result, as shown in FIG. 10, it was confirmed that the path could be reproduced in an average of 0.00232 s.
[0069] As described above, according to the path generation system 10 according to this embodiment, a path for a multi-joint robot is appropriately generated from a given path. In addition, the time required to generate the path is shortened.
Explanation of Reference Numerals
[0070] 10 Path generation system 20 Conversion unit 30 Registration unit 40 Reading unit 50 Path generation unit 60 Correction unit 70 Connection unit 80 Robot control device 90 6-axis multi-joint robot 92 Obstacle DB Database
Claims
1. A conversion unit that converts the path of an articulated robot from a first start point to a first goal point into template path data in a format that does not depend on the physical parameters of the articulated robot, and a path generation unit that generates a path from a second start point to a second goal point based on the template path data. A path generation system for a robot comprising:
2. In the path generation system for a robot according to Claim 1, the robot path generation system, wherein the template path data includes information on the deviation between the line segment connecting the first start point and the first goal point and the path before being converted by the conversion unit.
3. In the path generation system for a robot according to Claim 2, the robot path generation system, wherein the deviation information includes: 1) the ratio of the position of the intersection point between the line segment and the perpendicular line extending from the waypoint to the line segment; 2) the deviation norm from the waypoint to the corresponding intersection point; and 3) an orthogonal vector that is orthogonal to a first vector having a direction from the intersection point to the corresponding waypoint and a normalized second vector having a direction in which the line segment extends.
4. In the path generation system for a robot according to Claim 2, the robot path generation system, wherein the deviation information includes: 1) the position on the line segment corresponding to the waypoint; 2) the deviation norm from the position on the line segment to the corresponding waypoint; and 3) a vector for specifying the direction in which the waypoint is located with respect to the position on the line segment.
5. In the path generation system for a robot according to Claim 2, the robot path generation system, wherein the deviation information includes: 1) positioning information for determining the position on the line segment corresponding to the waypoint; 2) the deviation norm from the position on the line segment to the corresponding waypoint; and 3) a vector for specifying the direction in which the waypoint is located with respect to the position on the line segment.
6. In the robot path generation system according to any one of claims 3 to 5, when the number of joints of the articulated robot is other than 3 or 7, a robot path generation system in which the deviation norm is obtained separately for a plurality of different joints.
7. In the robot path generation system according to claim 6, a robot path generation system further comprising a correction unit that corrects the path generated by the path generation unit based on the environment around which the articulated robot operates.
8. In the robot path generation system according to claim 7, a robot path generation system further comprising a registration unit that registers the template path data in a database.
9. In the robot path generation system according to claim 8, a robot path generation system further comprising a concatenation unit that concatenates different pieces of the template path data to generate new template path data.
10. A robot control device for controlling an articulated robot, a reading means for reading template path data in which the path of the articulated robot from a first start to a first goal is converted into a format that does not depend on the physical parameters of the articulated robot, a program for functioning as path generation means for generating a path from a second start to a second goal based on the template path data.
11. a reading unit that reads template path data in which the path of the articulated robot from a first start to a first goal is converted into a format that does not depend on the physical parameters of the articulated robot, and a path generation unit that generates a path from a second start to a second goal based on the template path data, the robot control device comprising the same.
12. A method for generating a path using the path generation system of the robot according to claim 1, comprising: a step in which the conversion unit converts a plurality of paths associated with a task into template path data respectively; a step in which the converted template path data is registered in a database respectively; a step in which the template path data is selected from the database according to the task; a step in which the path generation unit generates a path based on the selected template path data. The method for generating a path includes the above steps.
13. A data structure of template path data used by the path generation system of the robot according to claim 1, comprising: the position on the line segment corresponding to the line segment and the waypoint or positioning information for determining the position; the deviation norm from the position on the line segment to the corresponding waypoint; a vector for specifying the direction in which the waypoint is located with respect to the position on the line segment. The data structure of the template path data includes the above.
Citation Information
Patent Citations
Method and device for planning operation route of robot
JP2000020117A