Towards Trajectory Planning of a Robot Manipulator with Computer Algebra using Bézier Curves for Obstacle Avoidance⋆ Ryo Hatakeyama1 , Akira Terui2,∗ and Masahiko Mikawa3 1 Master’s Program in Mathematics, Graduate School of Science and Technology, University of Tsukuba, Tsukuba 305-8571, Japan 2 Institute of Pure and Applied Sciences, University of Tsukuba, Tsukuba 305-8571, Japan 3 Institute of Library, Information and Media Science, University of Tsukuba, Tsukuba 305-8550, Japan Abstract This paper discusses the trajectory planning of a robot manipulator with computer algebra. In the operation of robot manipulators, it is important to make the trajectory of the end effector so that it does not collide with obstacles. For this purpose, we have proposed a method of generating a method of trajectory planning using cubic spline curves. However, the method has the disadvantage that the trajectory may not be included in the feasible region of the manipulator, thus an extra test for the inclusion of the curve is needed. In this paper, we propose a new method of generating a trajectory using Bézier curves, which is guaranteed to be included in the feasible region. Keywords Trajectory planning, Quantifier elimination, Inverse kinematics, Bézier curves 1. Introduction In this paper, we discuss the trajectory planning of a robot manipulator with computer algebra. A manipulator is a robot with links, which correspond to human arms, and joints, which correspond to human joints, connected alternately. The end effector is the component located at the tip of the link that is farthest from the base of the manipulator. The inverse kinematics problem examines whether it is possible to place the end effector at a given point and orientation, and if it is possible, the problem is to find the joint configuration for that placement. The trajectory planning problem is to find a path for the end effector to move from the start point to the endpoint without colliding with obstacles. There are numerous methods for solving the inverse kinematics problem of manipulators using computer algebra proposed to date [1, 2, 3, 4, 5, 6]. Among them, we have proposed one that enhances computation efficiency with the use of Comprehensive Gröbner Systems (CGS) [7], and certifies the existence of solutions to inverse kinematics problems using the Quantifier Elimination (QE) which is based on the CGS, so-called the CGS-QE [8] method [9]. Furthermore, we have extended the method to trajectory planning using a straight-line path [10]. By using the straight-line path, the trajectory may interfere with obstacles. Therefore, it is possible to design the trajectory to avoid obstacles using a polyline, but doing so may result in discontinuities in velocity and acceleration of the manipulator at the vertices of the polyline, which could destabilize the operation. To achieve smooth movement of the end effector, we have SCSS 2024: 10th International Symposium on Symbolic Computation in Software Science, August 28–30, 2024, Tokyo, Japan ⋆ This work was partially supported by JKA and its promotion funds from KEIRIN RACE. ∗ Corresponding author. Envelope-Open s2320143@u.tsukuba.ac.jp (R. Hatakeyama); terui@math.tsukuba.ac.jp (A. Terui); mikawa@slis.tsukuba.ac.jp (M. Mikawa) GLOBE https://researchmap.jp/aterui (A. Terui); https://mikawalab.org/ (M. Mikawa) Orcid 0000-0003-0846-3643 (A. Terui); 0000-0002-2193-3198 (M. Mikawa) © 2024 Copyright for this paper by its authors. Use permitted under Creative Commons License Attribution 4.0 International (CC BY 4.0). CEUR ceur-ws.org Workshop ISSN 1613-0073 Proceedings 21 𝑧 𝐶1 𝑆 𝑟 𝑂 𝐶2 o 𝑦 𝑥 𝐺 Figure 1: The feasible region of the manipulator. Figure 2: Defining the radius of the feasible region. proposed trajectory planning using a spline curve [11]. However, the spline curve may not be included in the feasible region of the manipulator, thus an extra test for the inclusion of the curve is needed. In this paper, we propose methods for trajectory planning using Bézier curves. The shape of a Bézier curve is determined by the placement of control points, and the curve has the property of always being contained within the convex hull formed by the control points as vertices. Utilizing this property, the goal is to generate trajectories that avoid obstacles without deviating from the feasible region. Although several proposals have been made for the use of Bézier curves in general trajectory planning [12, 13, 14], to the best of the authors’ knowledge, the utilization of Bézier curves in trajectory planning using computer algebra is considered to be almost nonexistent. This paper is organized as follows. In Section 2, we introduce the feasible region of the manipulator and define the radius of the region. In Section 3, we introduce the Bézier curve and its properties. In Section 4, we propose two methods for trajectory planning using Bézier curves. In Section 5, we conclude and discuss future research direction. 2. Preliminaries In this paper, the manipulator to be used is placed on the real space ℝ3 with the global coordinate system, whose origin is located at the base of the manipulator. Assume that the end effector can be placed anywhere in the feasible region except the origin (see fig. 1). The feasible region refers to the range that the end-effector of the manipulator can reach. Here, we assume that the feasible region of the manipulator is given as the surface and the interior of a hemisphere with the origin as the center and positive 𝑧 coordinates. As for the radius of the region, we define a value different from the radius that the actual manipulator can execute. In this case, we will define the radius by comparing the distances between the origin and the start and the endpoints of the end effector, and the farthest of the passing points, as described below. An example is shown in fig. 2. Let us consider a trajectory with the start point 𝑆 and the endpoint 𝐺 that passes through two predetermined points 𝐶1 and 𝐶2 . Assume that we have verified the end-effector can reach all the points except for the origin 𝑂 by, for example, the method we have previously proposed [10]. 𝑆, 𝐶1 , 𝐶2 , and 𝐺 are located as in fig. 2 with respect to the origin 𝑂. In this case, the point farthest from 𝑂 among these is 𝐶2 . Therefore, the distance 𝑟 between 𝑂 and 𝐶2 is defined as the 𝑟, radius of the feasible region. We see that, by the radius 𝑟 in this way, the end-effector will of course be able to reach a point closer than the point where the end-effector is already determined to be placed. 3. The Bézier Curve The Bézier curve [15] is a parametric curve on which the point is expressed as a polynomial function of the parameter 𝑡, defined as follows. 22 𝑃1 𝑃2 𝑃0 𝑃3 Figure 3: Construction of a 3-degree Bézier Curve. Definition 1. Let 𝑃0 , 𝑃1 , … , 𝑃𝑛 be different points. Then, the 𝑁-degree Bézier Curve 𝑃(𝑡) is defined as 𝑛 𝑛 𝑃(𝑡) = ∑ ( )𝑡 𝑖 (1 − 𝑡)𝑛−𝑖 𝑃𝑖 , 0 ≤ 𝑡 ≤ 1, 𝑖=0 𝑖 where 𝑃0 , 𝑃1 , … , 𝑃𝑛 are the control points. Note that the curve starts at 𝑃0 and ends at 𝑃𝑛 . The method employs control points for producing the curve. Note that the curve does not pass through the control points except for the start and the endpoint but is attracted by them. It is as if the points exert a pull on the curve. An 𝑛-degree Bézier Curve is constructed as follows (for an example of a 3-degree Bézier curve, (1) (1) (1) see Figure 3). First, place 𝑛 + 1 control points 𝑃0 , 𝑃1 , … , 𝑃𝑛 , and take points 𝑄0 , 𝑄1 , … , 𝑄𝑛−1 that divide the line segment 𝑃0 𝑃1 , 𝑃1 𝑃2 , … , 𝑃𝑛−1 𝑃𝑛 internally into 𝑡 ∶ 1 − 𝑡, respectively. Next, take (2) (2) (2) (1) (1) (1) (1) (1) (1) points 𝑄0 , 𝑄1 , … , 𝑄𝑛−2 that divide the line segments 𝑄0 𝑄1 , 𝑄1 𝑄2 , … , 𝑄𝑛−2 𝑄𝑛−1 , internally (𝑛) into 𝑡 ∶ 1 − 𝑡, respectively. Repeat the same operation for 𝑛 times to obtain 𝑄0 , then the locus (𝑛) of is 𝑄0 for 0 ≤ 𝑡 ≤ 1 constructs the Bézier Curve. One of the advantages of using Bézier Curves is the convex hull property of the curves [13]. 𝑛 𝑛 For the convex hull 𝐴 = {∑𝑖=0 𝑐𝑖 𝑃𝑖 | ∑𝑖=0 𝑐𝑖 = 1, 0 ≦ 𝑐𝑖 ≦ 1} of the control points 𝑃0 , 𝑃1 , … , 𝑃𝑛 , we see that any point on the Bézier Curve 𝑃(𝑡) is included in 𝐴. In other words, if a polyhedron with each control point as a vertex is included in the feasible region, the Bézier Curve obtained from those control points is also included in the region. This idea will be used in our second method proposed below. 4. Path planning using Bézier curves We propose two methods for trajectory planning using Bézier curves. In the methods, we settle the following assumptions: In addition to the start and the endpoints, two points that the curve must pass through are given. Those points have the same 𝑦 and 𝑧 coordinates, respectively. 4.1. Method 1: path planning with single Bézier curve In the first method, we construct a path with a single Bézier curve. We give the 𝑥 coordinates of the control points equally distributed and select the control points using equality and inequality evaluation. Furthermore, we consider only the case where the curve is curved in the positive direction in both 𝑦 and 𝑧 coordinates. If an 𝑛-degree Bézier Curve in ℝ3 is represented as 𝑃(𝑡) = (𝑃𝑥 (𝑡), 𝑃𝑦 (𝑡), 𝑃𝑧 (𝑡)), each component is expressed as 𝑛 𝑛 𝑛 𝑛 𝑛 𝑛 𝑃𝑥 (𝑡) = ∑ ( )𝑡 𝑖 (1 − 𝑡)𝑛−𝑖 𝑥𝑖 , 𝑃𝑦 (𝑡) = ∑ ( )𝑡 𝑖 (1 − 𝑡)𝑛−𝑖 𝑦𝑖 , 𝑃𝑧 (𝑡) = ∑ ( )𝑡 𝑖 (1 − 𝑡)𝑛−𝑖 𝑧𝑖 , (1) 𝑖=0 𝑖 𝑖=0 𝑖 𝑖=0 𝑖 using the control points 𝑃𝑖 (𝑥𝑖 , 𝑦𝑖 , 𝑧𝑖 ) (𝑖 = 0, 1, … 𝑛). Here, we define the 𝑥 coordinates of each control point satisfying that 𝑃𝑥 (𝑡) is a linear polynomial in 𝑡. This approach has the advantage that it not only reduces the amount of calculation required to create the trajectory but also makes the operation of “finding the value of 𝑡 from the 𝑥 coordinate of a point on the curve” easier. 23 𝑦 ℎ𝑦 …… 𝑥 𝑥𝑝 𝑎 𝑥𝑝+1 𝑥𝑞 𝑏 𝑥𝑞+1 Figure 4: Position of (𝑎, ℎ𝑦 ) and (𝑏, ℎ𝑦 ). To achieve this objective, simply place the 𝑥 coordinates 𝑥0 , 𝑥1 , … , 𝑥𝑛 of each control point in order at equal intervals, i.e., for 𝑖 = 0, 1, … , 𝑛, let (𝑛 − 𝑖)𝑥0 + 𝑖𝑥𝑛 𝑥𝑖 = . 𝑛 Substituting 𝑥𝑖 into 𝑃𝑥 (𝑡) in eq. (1) gives 𝑃𝑥 (𝑡) = (1 − 𝑡)𝑥0 + 𝑡𝑥𝑛 . (2) Next, we define the 𝑦 and 𝑧 coordinates of each control point. In eq. (2), denote the 𝑥 coordinate of a point on the curve simply as 𝑃𝑥 (𝑡) = 𝑥, and solve eq. (2) for 𝑡, then we have 𝑥 − 𝑥0 𝑡= . (3) 𝑥𝑛 − 𝑥0 Now, assume that there is an obstacle in the feasible region, and to avoid it, the 𝑦 and 𝑧 coordinates of the path must always exceed a certain value ℎ𝑦 > 0 and ℎ𝑧 > 0, respectively, in the interval [𝑎, 𝑏] in the 𝑥 coordinate, where 𝑥𝑝 < 𝑎 ≤ 𝑥𝑝+1 ≤ 𝑥𝑞 ≤ 𝑏 < 𝑥𝑞+1 for 1 ≤ 𝑝 < 𝑞 + 1 ≤ 𝑛 (see Figure 4). Substituting 𝑥 = 𝑎 and 𝑏 for eq. (3) and denoting them as 𝑡𝑎 and 𝑡𝑏 , respectively, we obtain 𝑎 − 𝑥0 𝑏 − 𝑥0 𝑡𝑎 = , 𝑡𝑏 = . 𝑥𝑛 − 𝑥 0 𝑥𝑛 − 𝑥0 For the 𝑦 coordinate of the curve, among the tuples of 𝑦1 , 𝑦2 , … 𝑦𝑛−1 that satisfy the following equalities and inequalities: 𝑃𝑦 (𝑡𝑎 ) = 𝑃𝑦 (𝑡𝑏 ) = ℎ𝑦 , 𝑦0 ≤ 𝑦1 , … , 𝑦𝑝 , ℎ𝑦 ≤ 𝑦𝑝+1 , … , 𝑦𝑞 , 𝑦𝑛 ≤ 𝑦𝑞+1 , … , 𝑦𝑛−1 , (4) 𝑞 select the one with the smallest sum ∑𝑘=𝑝+1 𝑦𝑘 . The reason for selecting the tuple with the smallest sum is to minimize the bulge in the positive direction of the 𝑦 coordinate of the curve. Furthermore, to prevent each 𝑦𝑖 value from becoming too small, a lower limit is set as constraints in eq. (4) so that it does not fall below the coordinate of the starting point before crossing the obstacle, and the coordinate of the endpoint after crossing the obstacle. For the 𝑧 coordinate of the curve, 𝑧1 , 𝑧2 , … , 𝑧𝑛−1 can be calculated in the same way as 𝑦1 , 𝑦2 , … 𝑦𝑛−1 are calculated in above, simply by replacing 𝑦𝑖 with 𝑧𝑖 . After obtaining 𝑦1 , 𝑦2 , … 𝑦𝑛−1 and 𝑧1 , 𝑧2 , … , 𝑧𝑛−1 , put these values into 𝑃𝑦 (𝑡) and 𝑃𝑧 (𝑡) in eq. (1), respectively, which gives the coordinates of all control points, thus the curve becomes the trajectory of the end effector. The advantage of this method is that the 𝑥 coordinate of a point on the curve is expressed as a linear polynomial 𝑡, thus the value of 𝑡 can easily obtained from 𝑥 as in eq. (3), and the curve can be flexibly designed according to the position and the size of the obstacles. However, at present, it is not guaranteed that the curve will be included in the feasible region, thus improvements of the method are required, such as not only suppressing the bulge of the curve but also adding new constraints so that the curve will be included in the feasible region. 24 4.2. Method 2: path planning with multiple Bézier curves The second method is to construct a path connecting multiple 3-degree Bézier curves calculated under certain conditions. We use a Bézier curve of degree 3 because it is the curve of the smallest degree whose curvature can be controlled. This method makes effective use of the convex hull property mentioned above since it is guaranteed that the created curves do not go outside the feasible region. We consider the connection of three cubic Bézier Curves 𝑃(𝑡), 𝑄(𝑡), and 𝑅(𝑡), where 3 3 3 3 3 3 𝑃(𝑡) = ∑ ( )𝑡 𝑖 (1 − 𝑡)3−𝑖 𝑃𝑖 , 𝑄(𝑡) = ∑ ( )𝑡 𝑖 (1 − 𝑡)3−𝑖 𝑄𝑖 , 𝑅(𝑡) = ∑ ( )𝑡 𝑖 (1 − 𝑡)3−𝑖 𝑅𝑖 . (5) 𝑖=0 𝑖 𝑖=0 𝑖 𝑖=0 𝑖 Assume that, in eq. (5), 𝑃𝑖 , 𝑄𝑖 , 𝑅𝑖 ∈ ℝ3 and we consider 𝑃(𝑡), 𝑄(𝑡), 𝑅(𝑡) as vector-valued polynomials. As with the method in Section 4.1, we aim to draw a curve in which the 𝑦 and the 𝑧 coordinates exceed a certain value in a certain interval in the 𝑥 coordinate, by drawing the first curve 𝑃(𝑡) from the starting point to that interval, the second curve 𝑄(𝑡) avoiding the obstacles, and the third curve to the endpoint. Since the endpoint of 𝑃(𝑡) and the start point of 𝑄(𝑡), and the end point of 𝑄(𝑡) and the start point of 𝑅(𝑡) are identical, respectively, we have 𝑃(1) = 𝑄(0) and 𝑄(1) = 𝑅(0), i.e., 𝑃3 = 𝑄0 and 𝑄3 = 𝑅0 . In this path planning, we aim to express the other control points using the predefined points 𝑃0 , 𝑄0 , 𝑅0 , 𝑅3 . To make the connection smooth, we settle a constraint that the first and second derivatives at the connection points are equal for two adjacent curves, respectively. The necessary and sufficient conditions for 𝑃 ′ (1) = 𝑄 ′ (0) and 𝑄 ′ (1) = 𝑅′ (0) to hold are 2𝑄0 = 𝑃2 +𝑄1 , 2𝑅0 = 𝑄2 +𝑅1 , respectively. Similarly, the necessary and sufficient conditions for 𝑃 ″ (1) = 𝑄 ″ (0) and 𝑄 ″ (1) = 𝑅″ (0) to hold are 2(𝑄1 − 𝑃2 ) = 𝑄2 − 𝑃1 , 2(𝑅1 − 𝑄2 ) = 𝑅2 − 𝑄1 , respectively [16]. So far, we see that the control points 𝑃1 , 𝑃2 , 𝑅1 , 𝑅2 depend on 𝑄1 and 𝑄2 as 𝑃1 = 4𝑄0 − 4𝑄1 + 𝑄2 , 𝑃2 = 2𝑄0 − 𝑄1 , 𝑅1 = 2𝑅0 − 𝑄2 , 𝑅2 = 𝑄1 − 4𝑄2 + 4𝑅0 . (6) Now we determine 𝑄1 and 𝑄2 . Let the feasible region be a hemisphere with a radius 𝑟 = max{‖𝑃0 ‖, ‖𝑄0 ‖, ‖𝑅0 ‖, ‖𝑅3 ‖} centered at the origin and with 𝑧 > 0. Here, ‖ ⋅ ‖ represents the norm of the vector. We require all remaining control points to be included in this hemisphere, i.e., ‖𝑃𝑖 ‖ ≤ 𝑟, ‖𝑄𝑖 ‖ ≤ 𝑟, ‖𝑅𝑖 ‖ ≤ 𝑟 (𝑖 = 1, 2), which is reduced to solve the problem to find 𝑄1 and 𝑄2 that satisfy the above conditions. This problem is expressed as eliminating quantified variables in a quantified formula ∃𝑃1 ∃𝑃2 ∃𝑅1 ∃𝑅2 ((𝑃1 = 4𝑄0 − 4𝑄1 + 𝑄2 ) ∧ (𝑃2 = 2𝑄0 − 𝑄1 ) ∧ (𝑅1 = 2𝑅0 − 𝑄2 ) ∧ (𝑅2 = 𝑄1 − 4𝑄2 + 4𝑅0 ) ∧ (‖𝑃1 ‖ ≦ 𝑟) ∧ (‖𝑃2 ‖ ≦ 𝑟) ∧ (‖𝑄1 ‖ ≦ 𝑟) ∧ (‖𝑄2 ‖ ≦ 𝑟) ∧ (‖𝑅1 ‖ ≦ 𝑟) ∧ (‖𝑅2 ‖ ≦ 𝑟)). (7) After solving eq. (7) and conditions on 𝑄1 and 𝑄2 are obtained, then choose 𝑄1 and 𝑄2 that makes ‖𝑄1 − 𝑄0 ‖2 + ‖𝑄2 − 𝑄1 ‖2 + ‖𝑅0 − 𝑄2 ‖2 as small as possible satisfying eq. (7), Then the rest of the control points 𝑃0 , 𝑃1 , 𝑃2 , 𝑄0 , 𝑅0 , 𝑅1 , 𝑅2 , 𝑅3 are determined, and the path of the end effector is obtained. This method is promising since, if eq. (7) is solved, it gives a path that does not go beyond the feasible region and passes two points through for obstacle avoidance. Unfortunately, quantifier elimination for eq. (7) is computationally expensive and, at present, has not yet been successful. Therefore, by relaxing the original problem, we propose an alternative method to define a path in practical time. 25 4.2.1. Using 2-degree Bézier curves In the alternative method, we create a path using three 2-degree Bèzier Curves 2 2 2 2 2 2 ̂ = ∑ ( )𝑡 𝑖 (1 − 𝑡)2−𝑖 𝑃𝑖̂ , 𝑃(𝑡) ̂ = ∑ ( )𝑡 𝑖 (1 − 𝑡)2−𝑖 𝑄̂ 𝑖 , 𝑄(𝑡) ̂ = ∑ ( )𝑡 𝑖 (1 − 𝑡)2−𝑖 𝑅̂ 𝑖 , 𝑅(𝑡) 𝑖=0 𝑖 𝑖=0 𝑖 𝑖=0 𝑖 in place of 𝑃(𝑡), 𝑄(𝑡), 𝑅(𝑡) in eq. (5), respectively, whose first-order differentials are identical at the connection points, together with 𝑃2̂ = 𝑄̂ 0 , 𝑄̂ 2 = 𝑅̂ 0 . Now we determine the other control points using only the predefined 𝑃0̂ = 𝑃0 , 𝑄̂ 0 = 𝑄0 , 𝑅̂ 0 = 𝑅0 , 𝑅̂ 2 = 𝑅3 . Since the first derivatives at the connection points are the same for two adjacent curves, we have 2𝑄̂ 0 = 𝑃1̂ + 𝑄̂ 1 , 2𝑅̂ 0 = 𝑄̂ 1 + 𝑅̂ 1 . For 𝑟 ∶= max{‖𝑃0̂ ‖, ‖𝑄̂ 0 ‖, ‖𝑅̂ 0 ‖, ‖𝑅̂ 3 ‖}, we require all remaining control points to be included in the hemisphere centered at the origin with radius 𝑟, i.e., ‖𝑃1̂ ‖ ≤ 𝑟, ‖𝑄̂ 1 ‖ ≤ 𝑟, ‖𝑅̂ 1 ‖ ≤ 𝑟. Then, the problem is reduced to eliminate quantified variables in a quantified formula ∃𝑃1̂ ∃𝑅̂ 1 ((𝑃1̂ = 2𝑄̂ 0 − 𝑄̂ 1 ) ∧ (𝑅̂ 1 = 2𝑅̂ 0 − 𝑄̂ 1 ) ∧ (‖𝑃1̂ ‖ ≤ 𝑟) ∧ (‖𝑄̂ 1 ‖ ≤ 𝑟) ∧ (‖𝑅̂ 1 ‖ ≤ 𝑟)). (8) Fortunately, by quantifier elimination, we have obtained the possible region of 𝑄̂ 1 that satisfies eq. (8), then three Bézier Curves were obtained in the same way as described in the cubic Bézier Curves case. (The computation was done using the computer algebra system Wolfram Mathematica 13.3.1 in approximately 15.4 [s]. The computing environment is as follows: Intel Core i3-8130U 2.20GHz, 8GB RAM, Windows 11 Home.) 5. Concluding Remarks We have proposed two methods for trajectory planning of manipulators using Bézier curves so that the generated curve does not go outside the feasible region. The first method can avoid obstacles with a minimum curve that matches the position and size of the obstacle, but it does not guarantee that any point on the curve is included in the region. The second method can guarantee that the curve does not go outside the region based on the constraint conditions, but its calculation cost is high and the position of the control point has not yet been obtained. To overcome this, we have proposed an alternative method using 2-degree Bézier curves, which can be calculated in a practical time. Our future work includes the establishment of a better method for selecting the control points of a curve that overcomes current issues. We believe that method 2 is promising since the curve generated by the method is guaranteed to be included within the feasible region. The next issue to be solved is to improve computational efficiency by deriving more appropriate constraints, making the algorithm more efficient, and so on. Once this method is established, we will move on to the stage of calculating the sequence of joint placements for the completed trajectory, leading to improved trajectory planning as proposed in our previous work [10]. References [1] J. Capco, M. S. E. Din, J. Schicho, Robots, computer algebra and eight connected components, in: Proceedings of the 45th International Symposium on Symbolic and Algebraic Computation, ISSAC ’20, ACM, 2020. doi:10.1145/3373207.3404048 . [2] J.-C. Faugère, J.-P. Merlet, F. Rouillier, On solving the direct kinematics problem for parallel robots, Research Report RR-5923, INRIA, 2006. URL: https://hal.inria.fr/inria-00072366. [3] C. M. Kalker-Kalkman, An implementation of Buchbergers’ algorithm with applications to robotics, Mech. Mach. Theory 28 (1993) 523–537. doi:10.1016/0094- 114X(93)90033- R . 26 [4] S. Ricardo Xavier da Silva, L. Schnitman, V. Cesca Filho, A Solution of the Inverse Kinematics Problem for a 7-Degrees-of-Freedom Serial Redundant Manipulator Using Gröbner Bases Theory, Mathematical Problems in Engineering 2021 (2021) 6680687. doi:10.1155/2021/6680687 . [5] T. Uchida, J. McPhee, Triangularizing kinematic constraint equations using Gröbner bases for real-time dynamic simulation, Multibody System Dynamics 25 (2011) 335–356. doi:10.1007/s11044- 010- 9241- 8 . [6] T. Uchida, J. McPhee, Using Gröbner bases to generate efficient kinematic solutions for the dynamic simulation of multi-loop mechanisms, Mech. Mach. Theory 52 (2012) 144–157. doi:10.1016/j.mechmachtheory.2012.01.015 . [7] V. Weispfenning, Comprehensive Gröbner Bases, J. Symbolic Comput. 14 (1992) 1–29. doi:10.1016/0747- 7171(92)90023- W . [8] R. Fukasaku, H. Iwane, Y. Sato, Real Quantifier Elimination by Computation of Compre- hensive Gröbner Systems, in: Proceedings of the 2015 ACM on International Symposium on Symbolic and Algebraic Computation, ISSAC ’15, Association for Computing Machinery, New York, NY, USA, 2015, pp. 173–180. doi:10.1145/2755996.2756646 . [9] S. Otaki, A. Terui, M. Mikawa, A Design and an Implementation of an Inverse Kinematics Computation in Robotics Using Real Quantifier Elimination based on Comprehensive Gröbner Systems, Preprint, 2021. doi:10.48550/arXiv.2111.00384 , arXiv:2111.00384. [10] M. Yoshizawa, A. Terui, M. Mikawa, Inverse Kinematics and Path Planning of Manipulator Using Real Quantifier Elimination Based on Comprehensive Gröbner Systems, in: Computer Algebra in Scientific Computing: CASC 2023, volume 14139 of Lecture Notes in Computer Science, Springer, 2023, pp. 393–419. doi:10.1007/978- 3- 031- 41724- 5_21 . [11] Y. Shirato, N. Oka, A. Terui, M. Mikawa, An Optimized Path Planning of Manipulator with Spline Curves Using Real Quantifier Elimination Based on Comprehensive Gröbner Systems, in: SCSS 2024 Work-in-progress Proceedings, Open Publishing Association, 2024. To appear. [12] U. Dincer, M. Cevik, Improved trajectory planning of an industrial parallel mechanism by a composite polynomial consisting of bëzier curves and cubic polynomials, Mechanism and Machine Theory 132 (2019) 248–263. doi:10.1016/j.mechmachtheory.2018.11.009 . [13] Y.-L. Kuo, C.-C. Lin, Z.-T. Lin, Dual-optimization trajectory planning based on parametric curves for a robot manipulator, International Journal of Advanced Robotic Systems 17 (2020) 1729881420920046. doi:10.1177/1729881420920046 . [14] Z. Xu, S. Wei, N. Wang, X. Zhang, Trajectory planning with bezier curve in cartesian space for industrial gluing robot, in: X. Zhang, H. Liu, Z. Chen, N. Wang (Eds.), Intelligent Robotics and Applications, Springer International Publishing, Cham, 2014, pp. 146–154. doi:10.1007/978- 3- 319- 13963- 0_15 . [15] P. Bézier, The Mathematical Basis of the UNIURF CAD System, Elsevier, 1986. doi:10. 1016/C2013- 0- 01005- 5 . [16] T. Tsuchihashi, Trajectory Generation and Control for Manipulator Using the Bezier Curve (in Japansese), Transactions of the Japan Society of Mechanical Engineers Series C 55 (1989) 124–128. doi:10.1299/kikaic.55.124 . 27