<?xml version="1.0" encoding="UTF-8"?>
<TEI xml:space="preserve" xmlns="http://www.tei-c.org/ns/1.0" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://www.tei-c.org/ns/1.0 https://raw.githubusercontent.com/kermitt2/grobid/master/grobid-home/schemas/xsd/Grobid.xsd"
 xmlns:xlink="http://www.w3.org/1999/xlink">
	<teiHeader xml:lang="en">
		<fileDesc>
			<titleStmt>
				<title level="a" type="main">An Optimized Path Planning of Manipulator with Spline Curves Using Real Quantifier Elimination Based on Comprehensive Gröbner Systems ⋆</title>
			</titleStmt>
			<publicationStmt>
				<publisher/>
				<availability status="unknown"><licence/></availability>
			</publicationStmt>
			<sourceDesc>
				<biblStruct>
					<analytic>
						<author>
							<persName><forename type="first">Yusuke</forename><surname>Shirato</surname></persName>
							<affiliation key="aff0">
								<orgName type="department" key="dep1">Master&apos;s Program in Mathematics</orgName>
								<orgName type="department" key="dep2">Graduate School of Science and Technology</orgName>
								<orgName type="institution">University of Tsukuba</orgName>
								<address>
									<postCode>305-8571</postCode>
									<settlement>Tsukuba</settlement>
									<country key="JP">Japan</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Natsumi</forename><surname>Oka</surname></persName>
							<affiliation key="aff0">
								<orgName type="department" key="dep1">Master&apos;s Program in Mathematics</orgName>
								<orgName type="department" key="dep2">Graduate School of Science and Technology</orgName>
								<orgName type="institution">University of Tsukuba</orgName>
								<address>
									<postCode>305-8571</postCode>
									<settlement>Tsukuba</settlement>
									<country key="JP">Japan</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Akira</forename><surname>Terui</surname></persName>
							<email>terui@math.tsukuba.ac.jp</email>
							<affiliation key="aff1">
								<orgName type="department">Institute of Pure and Applied Sciences</orgName>
								<orgName type="institution">University of Tsukuba</orgName>
								<address>
									<postCode>305-8571</postCode>
									<settlement>Tsukuba</settlement>
									<country key="JP">Japan</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Masahiko</forename><surname>Mikawa</surname></persName>
							<email>mikawa@slis.tsukuba.ac.jp</email>
							<affiliation key="aff2">
								<orgName type="department">Institute of Library, Information and Media Science</orgName>
								<orgName type="institution">University of Tsukuba</orgName>
								<address>
									<postCode>305-8550</postCode>
									<settlement>Tsukuba</settlement>
									<country key="JP">Japan</country>
								</address>
							</affiliation>
						</author>
						<title level="a" type="main">An Optimized Path Planning of Manipulator with Spline Curves Using Real Quantifier Elimination Based on Comprehensive Gröbner Systems ⋆</title>
					</analytic>
					<monogr>
						<idno type="ISSN">1613-0073</idno>
					</monogr>
					<idno type="MD5">2924A81D94D5D521A2678184FCB97452</idno>
				</biblStruct>
			</sourceDesc>
		</fileDesc>
		<encodingDesc>
			<appInfo>
				<application version="0.7.2" ident="GROBID" when="2025-04-23T18:35+0000">
					<desc>GROBID - A machine learning software for extracting information from scholarly documents</desc>
					<ref target="https://github.com/kermitt2/grobid"/>
				</application>
			</appInfo>
		</encodingDesc>
		<profileDesc>
			<textClass>
				<keywords>
					<term>Gröbner basis</term>
					<term>Comprehensive Gröbner Systems</term>
					<term>Quantifier Elimination</term>
					<term>Robotics</term>
					<term>Inverse kinematics problem</term>
					<term>Path planning</term>
					<term>Trajectory planning</term>
				</keywords>
			</textClass>
			<abstract>
<div xmlns="http://www.tei-c.org/ns/1.0"><p>This paper presents an advanced method for addressing the inverse kinematics and optimal path planning challenges in robot manipulators. The inverse kinematics problem involves determining the joint angles for a given position and orientation of the end-effector. Furthermore, the path planning problem seeks a trajectory between two points. Traditional approaches in computer algebra have utilized Gröbner basis computations to solve these problems, offering a global solution but at a high computational cost. To overcome the issue, the present authors have proposed a novel approach that employs the Comprehensive Gröbner System (CGS) and CGS-based quantifier elimination (CGS-QE) methods to efficiently solve the inverse kinematics problem and certify the existence of solutions for trajectory planning. This paper extends these methods by incorporating smooth curves via cubic spline interpolation for path planning and optimizing joint configurations using shortest path algorithms to minimize the sum of joint configurations along a trajectory. This approach significantly enhances the manipulator's ability to navigate complex paths and optimize movement sequences.</p></div>
			</abstract>
		</profileDesc>
	</teiHeader>
	<text xml:lang="en">
		<body>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="1.">Introduction</head><p>This paper discusses a method for solving the inverse kinematics problem and the optimal path planning problem for a robot manipulator. A manipulator is a robot with links corresponding to human arms and joints corresponding to human joints, and the tip is called the end-effector. The inverse kinematics problem for manipulators is to find the angle of each joint, given the position and orientation of the end-effector. The path planning problem is to find a path to move the end-effector between two specified positions <ref type="bibr" target="#b0">[1]</ref>.</p><p>When operating the manipulator, one needs to solve the inverse kinematics problem (or the path planning problem, respectively) for the desired end-effector position (or the series of positions, respectively).</p><p>Methods of solving inverse kinematics problems for manipulators by reducing the inverse kinematics problem to a system of polynomial equations and using the Gröbner basis has been proposed <ref type="bibr" target="#b1">[2,</ref><ref type="bibr" target="#b2">3,</ref><ref type="bibr" target="#b3">4,</ref><ref type="bibr" target="#b4">5,</ref><ref type="bibr" target="#b5">6]</ref>. Solving the inverse kinematics problem using the Gröbner basis computation has an advantage that the global solution of the inverse kinematics problem can be obtained before the end-effector will actually be "moved" by simulation or other means. On the other hand, the Gröbner basis computation has the disadvantage of relatively high computational cost compared to local solution methods such as the Newton method. Furthermore, when solving a path planning problem using the Gröbner basis computation, it is necessary to solve the inverse kinematics problem for each point on the path, which is even more computationally expensive.</p><p>The third and fourth authors have also previously proposed methods for solving inverse kinematics problems using Gröbner basis computations <ref type="bibr" target="#b6">[7,</ref><ref type="bibr" target="#b7">8,</ref><ref type="bibr" target="#b8">9]</ref>. The authors' contributions in their previous work <ref type="bibr" target="#b8">[9]</ref> are as follows. We have proposed a method for solving the inverse kinematics problem and the trajectory planning problem of a 3 Degree-Of-Freedom (DOF) manipulator using the Comprehensive Gröbner System (CGS) <ref type="bibr" target="#b9">[10]</ref>. In the proposed method, the inverse kinematic problem has been expressed as a system of polynomial equations with the coordinates of the end-effector as parameters and the CGS is calculated in advance to reduce the cost of Gröbner basis computation for each point on the path. In addition, we have proposed a method for solving the inverse kinematics problems using the CGS-QE method <ref type="bibr" target="#b10">[11]</ref>, which is a quantifier elimination (QE) method based on CGS computations, to certify the existence of a (real) solution. Furthermore, we have proposed a method to certify the existence of a solution to the whole trajectory planning problem using the CGS-QE method, where the points on the trajectory are represented by parameters.</p><p>This paper proposes the following method as an extension of the previous work <ref type="bibr" target="#b8">[9]</ref>.</p><p>1. Extension of paths used in path planning problems: while the previous work has used straight lines, this paper uses smooth curves generated by the cubic spline interpolation passing through given points. Using a curved path allows us to plan paths that avoid obstacles, for example. 2. Optimization of the joint configuration obtained as the solution to the path planning problem: when solving the path planning problem, there can be multiple solutions to the inverse kinematics problem at each point on the path. In this case, the question is which of the solutions for adjacent points can be connected to minimize the sum of the configurations of the entire sequence of the joints. In this paper, we reduce this problem to the shortest path problem of a weighted graph and propose a method to compute the optimal sequence of joint configurations using shortest path algorithms.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2.">Solving path planning problems in 3-DOF manipulators</head><p>The manipulator used in this paper is myCobot 280 <ref type="bibr" target="#b11">[12]</ref> from Elephant Robotics, Inc. (hereafter referred to simply as "myCobot"). Although myCobot is a 6-DOF manipulator, we treat it as a 3-DOF manipulator by operating only the three main joints used to move the end-effector while the remaining joints are fixed, due to the computational costs for solving the inverse kinematic problem by using the CGS and the CGS-QE method.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2.1.">Formulation of the forward and the inverse kinematics problems</head><p>Figure <ref type="figure" target="#fig_0">1</ref> shows the components and the coordinate systems of myCobot. The forward kinematics problem for myCobot is derived using the modified Denavit-Hatenberg convention (hereafter abbreviated as "D-H convention"), which is standard in robotics <ref type="bibr" target="#b0">[1]</ref>. Let be the Cartesian coordinate system with the origin at the manipulator's base, and let (𝑥, 𝑦, 𝑧) be the coordinates of the end-effector in . Let 𝑖 be the coordinate system with the origin at the joint 𝑖. Note that Joint 0 represents the base and Joint 8 represents the end-effector.</p><p>Let 𝜃 1 , 𝜃 3 , 𝜃 4 be the configuration of the joints 1, 3, 4, respectively, to be operated in this paper, and let 𝑠 𝑖 = sin 𝜃 𝑖 , 𝑐 𝑖 = cos 𝜃 𝑖 for 𝑖 = 1, 3, 4. In the following, for a set of polynomials</p><formula xml:id="formula_0">𝐹 = {𝑓 1 , … , 𝑓 𝑚 } ⊂ ℝ[𝑐 1 , 𝑠 1 , 𝑐 3 , 𝑠 3 , 𝑐 4 , 𝑠 4 ],</formula><p>The system of polynomial equations 𝑓 1 = ⋯ = 𝑓 𝑚 = 0 is denoted by 𝐹 = 0. In this case, the inverse kinematics problem is to find the solution 𝑐 1 , 𝑠 1 , 𝑐 3 , 𝑠 3 , 𝑐 4 , 𝑠 4 to the system of polynomial equations 𝐹 = 0 with 𝐹 = {𝑓 1 , … , 𝑓 6 }, where</p><formula xml:id="formula_1">𝑓 1 = −16918𝑠 1 𝑠 3 𝑐 4 − 16918𝑠 1 𝑐 3 𝑠 4 − 4360𝑠 1 𝑠 3 𝑠 4 + 4360𝑠 1 𝑐 3 𝑐 4 − 11040𝑠 1 𝑠 3 − 6639𝑐 1 + 100𝑥, 𝑓 2 = 16918𝑐 1 𝑠 3 𝑐 4 + 16918𝑐 1 𝑐 3 𝑠 4 + 4360𝑐 1 𝑠 3 𝑠 4 − 4360𝑐 1 𝑐 3 𝑐 4 + 11040𝑐 1 𝑠 3 − 6639𝑠 1 + 100𝑦, 𝑓 3 = −16918𝑐 3 𝑐 4 + 16918𝑠 3 𝑠 4 − 4360𝑐 3 𝑠 4 − 4360𝑠 3 𝑐 4 − 11040𝑐 3 − 13156 + 100𝑧, 𝑓 4 = 𝑠 2 1 + 𝑐 2 1 − 1, 𝑓 5 = 𝑠 2 3 + 𝑐 2 3 − 1, 𝑓 6 = 𝑠 2 4 + 𝑐 2 4 − 1.<label>(1)</label></formula><p>Note that the system of equations 𝐹 = 0 has parameters 𝑥, 𝑦, 𝑧 in the coefficients. With our previously proposed method <ref type="bibr" target="#b8">[9]</ref>, before solving 𝐹 = 0, we calculate the CGS of ⟨𝑓 1 , … , 𝑓 6 ⟩. Then, for a given end-effector coordinate (𝑥, 𝑦, 𝑧) = (𝛼, 𝛽, 𝛾 ) ∈ ℝ 3 , determine the feasibility of such a configuration using the CGS-QE method. If the configuration is feasible, we solve 𝐹 = 0 numerically after substituting parameters 𝑥, 𝑦, 𝑧 with 𝛼, 𝛽, 𝛾, respectively, to obtain the inverse kinematic solution.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2.2.">Generating trajectories using cubic spline interpolation</head><p>In the path planning problem, a finite number of points through which the path passes are given in advance, and a trajectory is generated on the smooth path passing through these points. In our previous study, a straight line was used as the path, but in this paper, a path is generated using cubic spline interpolation <ref type="bibr" target="#b12">[13]</ref>.</p><p>Let (𝑥 0 , 𝑦 0 , 𝑧 0 ), (𝑥 1 , 𝑦 1 , 𝑧 1 ), (𝑥 2 , 𝑦 2 , 𝑧 2 ), (𝑥 3 , 𝑦 3 , 𝑧 3 ) be four different points given in ℝ 3 . For 𝑗 = 0, 1, 2, calculate a curve 𝐶 𝑗 passing through (𝑥 𝑗 , 𝑦 𝑗 , 𝑧 𝑗 ) and (𝑥 𝑗+1 , 𝑦 𝑗+1 , 𝑧 𝑗+1 ) in the form of a function (𝑋 𝑗 (𝑠), 𝑌 𝑗 (𝑠), 𝑍 𝑗 (𝑠)) with 𝑠 ∈ [𝑗, 𝑗 + 1] as a parameter. In cubic spline interpolation, 𝑋 𝑗 (𝑠), 𝑌 𝑗 (𝑠), 𝑍 𝑗 (𝑠) are cubic polynomials, respectively, satisfying the following conditions.</p><p>(𝑋 𝑗 (𝑗), 𝑌 𝑗 (𝑗), 𝑍 𝑗 (𝑗)) = (𝑥 𝑗 , 𝑦 𝑗 , 𝑧 𝑗 ), 𝑗 = 0, 1, 2, (𝑋 𝑗 (𝑗 + 1), 𝑌 𝑗 (𝑗 + 1), 𝑍 𝑗 (𝑗 + 1)) = (𝑥 𝑗+1 , 𝑦 𝑗+1 , 𝑧 𝑗+1 ), 𝑗 = 0, 1, 2, (𝑋 ′ 𝑗 (𝑗 + 1), 𝑌 ′ 𝑗 (𝑗 + 1), 𝑍 ′ 𝑗 (𝑗 + 1)) = (𝑋 ′ 𝑗+1 (𝑗 + 1), 𝑌 ′ 𝑗+1 (𝑗 + 1), 𝑍 ′ 𝑗+1 (𝑗 + 1)), 𝑗 = 0, 1, (𝑋 ″ 𝑗 (𝑗 + 1), 𝑌 ″ 𝑗 (𝑗 + 1), 𝑍 ″ 𝑗 (𝑗 + 1)) = (𝑋 ″ 𝑗+1 (𝑗 + 1), 𝑌 ″ 𝑗+1 (𝑗 + 1), 𝑍 ″ 𝑗+1 (𝑗 + 1)), 𝑗 = 0, 1.</p><p>(2) In this paper, in addition to the conditions in eq. ( <ref type="formula">2</ref>), we find the natural cubic Spline interpolation that satisfies</p><formula xml:id="formula_2">𝑋 ″ 0 (0) = 𝑋 ″ 3 (3) = 𝑌 ″ 0 (0) = 𝑌 ″ 3 (3) = 𝑍 ″ 0 (0) = 𝑍 ″ 3 (3) = 0.<label>(3)</label></formula></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2.3.">Solving the inverse kinematics problem</head><p>For the trajectory 𝐶 obtained in the previous section, we solve the inverse kinematics problem using the following procedure. First, using the CGS-QE method, we determine the existence of solutions to the inverse kinematics problem for each curve 𝐶 𝑗 (𝑗 = 0, 1, 2) that constitutes the path to move the end-effector. In eq. ( <ref type="formula" target="#formula_1">1</ref>), replace 𝑥, 𝑦, 𝑧 in each equation by 𝑋 𝑗 (𝑠), 𝑌 𝑗 (𝑠), 𝑍 𝑗 (𝑠), respectively, to obtain a system of polynomial equations with 𝑠 as parameter. Let 𝐹 ′ 𝑗 (𝑠) be the result. Next, we apply the CGS-QE method to 𝐹 ′ 𝑗 (𝑠) to determine whether the system of equations 𝐹 ′ 𝑗 (𝑠) = 0 has real solutions within the parameter 𝑠 ∈ [𝑗, 𝑗 + 1]. If 𝐹 ′ 𝑗 (𝑠) = 0 has real solutions within the parameter 𝑠 ∈ [𝑗, 𝑗 + 1] (i.e., within 𝑠 ∈ [0, 3] throughout for 𝑠), we calculate the trajectory of the end-effector's position for time 𝑡. Let 𝑇 = 3𝑢 (where 𝑢 is a positive integer) and, for time 𝑡 = 0, … , 𝑇, let 𝑠 = 𝑓 (𝑡) where 𝑓 is a continuous function of [0, 𝑇 ] → [0, 3]. To ensure that the end-effector has no velocity and acceleration at the beginning and end of the trajectory, we obtain 𝑓 as a polynomial of the smallest degree possible to satisfy 𝑓 ′ (𝑡) = 𝑓 ″ (𝑡) = 0 at 𝑡 = 0 and 𝑇. Then, we obtain 𝑓 (𝑡) = 3 (</p><formula xml:id="formula_3">18𝑡 5 𝑇 5 − 45𝑡 4 𝑇 4 + 30𝑡 3 𝑇 3 ) [14].</formula><p>Finally, we solve the inverse kinematics problem 𝑡 = 0, … , 𝑇. For 𝑗 = 0, 1, 2 and 𝑡 = 𝑗𝑢, … , (𝑗 + 1)𝑢, the configuration of the joints is obtained by solving the system of polynomial equations</p><formula xml:id="formula_4">𝐹 ′ 𝑗 (𝑓 (𝑡)) = 0.<label>(4)</label></formula><p>Assuming that the time required to solve the inverse kinematics problem (4) at each value of 𝑡 is constant, then the computation time for trajectory planning is expected to be proportional to 𝑇.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2.3.1.">Experimental results</head><p>We have implemented the above method and conducted experiments. The implementation of the inverse kinematics computation was performed as follows: the CGS computation was performed using an algorithm by Kapur et al. <ref type="bibr" target="#b14">[15]</ref> with the implementation by Nabeshima <ref type="bibr" target="#b15">[16]</ref> on the computer algebra system Risa/Asir <ref type="bibr" target="#b16">[17]</ref>. The existence of the root of the inverse kinematics problem by the CGS-QE method was verified using Risa/Asir with accompanying Wolfram Mathematica 13.1 <ref type="bibr" target="#b17">[18]</ref> for simplifying the expression. We have given the set of test points as shown in Table <ref type="table" target="#tab_0">1</ref>, whose unit of the coordinates is [mm]. The experiments were conducted in the following environment: Intel Xeon Silver 4210 3.2 GHz, RAM 256 GB, Linux Kernel 5.4.0, Risa/Asir Version 20230315, Wolfram Mathematica 13.1.</p><p>Table <ref type="table" target="#tab_1">2</ref> shows the results of the experiments for 𝑇 = 10 and 𝑇 = 50. The comprehensive Gröbner system for eq. ( <ref type="formula" target="#formula_1">1</ref>) uses precomputed values. If any part of the generated spline for the given coordinates falls outside the feasible region of myCobot, an error is displayed. The average computation time does  Table <ref type="table" target="#tab_3">4</ref> shows the sum of the joint variations [rad]. From the average values of each result, we see that Method 2 (with the Dijkstra method) reduces the total amount of joint rotation.</p><p>Table <ref type="table" target="#tab_4">5</ref> shows the computation time for each method. From the average computation times, it can be seen that Method 1 is approximately 10 times faster than Method 2. Compared to the overall computation time for route planning shown in Table <ref type="table" target="#tab_1">2</ref>, the computation time for optimal route selection is considered sufficiently short, even for using Method 2 (Dijkstra method).</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.">Concluding remarks</head><p>We have proposed a method for trajectory planning of robot manipulators using computer algebra, where the path is provided by cubic spline interpolation. Furthermore, we have proposed a method to optimize the joint configuration of the manipulator by solving the shortest path problem in a weighted graph. The experimental results have shown that the proposed methods can be used to plan the trajectory of the manipulator and optimize the joint configuration.</p><p>Future work includes the following.</p><p>1. Regarding path planning using cubic splines, it has been pointed out that some parts of the generated path may deviate from the feasible region. In the future, it is necessary to consider methods that ensure the generated trajectory stays within the feasible region while meeting given constraints, such as avoiding obstacles. In response to this, the authors are currently proposing a path-planning method that uses Bézier curves to generate trajectories that remain within the feasible region <ref type="bibr" target="#b20">[21]</ref>.</p></div><figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_0"><head>Figure 1 :</head><label>1</label><figDesc>Figure 1: Components and the coordinate systems of myCobot.</figDesc><graphic coords="3,128.41,65.61,338.46,213.86" type="bitmap" /></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" type="table" xml:id="tab_0"><head>Table 1</head><label>1</label><figDesc>Test points for the inverse kinematics problem. The unit of the coordinates is [mm]. Test (𝑥 0 , 𝑦 0 , 𝑧 0 ) (𝑥 1 , 𝑦 1 , 𝑧 1 ) (𝑥 2 , 𝑦 2 , 𝑧 2 ) (𝑥 3 , 𝑦 3 , 𝑧 3 )</figDesc><table><row><cell>1</cell><cell cols="2">(−100, −100, 100) (0, −150, 50)</cell><cell>(50, −100, 50)</cell><cell>(100, 0, 0)</cell></row><row><cell>2</cell><cell cols="2">(−150, −100, 150) (0, −100, 100)</cell><cell>(100, −50, 50)</cell><cell>(100, 100, 0)</cell></row><row><cell>3</cell><cell>(−250, 0, 0)</cell><cell cols="2">(−150, 0, 50) (−150, 100, 150)</cell><cell>(250, 100, 100)</cell></row><row><cell>4</cell><cell>(100, 50, 0)</cell><cell cols="2">(50, 100, 150) (−150, 150, 100)</cell><cell>(−150, 50, 50)</cell></row><row><cell>5</cell><cell>(100, 100, −50)</cell><cell>(50, 100, 0)</cell><cell cols="2">(−100, 100, 50) (−150, −50, 100)</cell></row><row><cell>6</cell><cell>(150, 150, 0)</cell><cell>(50, 50, 100)</cell><cell cols="2">(−50, −50, 100) (−150, −150, 50)</cell></row></table></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" type="table" xml:id="tab_1"><head>Table 2</head><label>2</label><figDesc>Results of path planning time in seconds.not consider the computation time of tests that resulted in an error. The experimental results show that the computation time is considered to be approximately proportional to 𝑇. In Test 6, it appears that part of the path exceeds the feasible region, causing the computation to terminate with an error.</figDesc><table><row><cell>Test</cell><cell cols="2">𝑇 = 10 [s] 𝑇 = 50 [s]</cell></row><row><cell>1</cell><cell>1.293</cell><cell>7.836</cell></row><row><cell>2</cell><cell>1.342</cell><cell>6.940</cell></row><row><cell>3</cell><cell>1.296</cell><cell>8.049</cell></row><row><cell>4</cell><cell>1.574</cell><cell>7.616</cell></row><row><cell>5</cell><cell>1.265</cell><cell>7.155</cell></row><row><cell>6</cell><cell>Fail</cell><cell>Fail</cell></row><row><cell>Average</cell><cell>1.354</cell><cell>7.429</cell></row></table></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" type="table" xml:id="tab_2"><head>Table 3</head><label>3</label><figDesc>Test points for the optimal path planning problem. The unit of the coordinates is [mm]. Test (𝑥 0 , 𝑦 0 , 𝑧 0 ) (𝑥 1 , 𝑦 1 , 𝑧 1 ) (𝑥 2 , 𝑦 2 , 𝑧 2 ) (𝑥 3 , 𝑦 3 , 𝑧 3 )</figDesc><table><row><cell>1</cell><cell cols="2">(−100, −100, 100) (0, −150, 50)</cell><cell>(50, −100, 50)</cell><cell>(100, 0, 0)</cell></row><row><cell>2</cell><cell cols="2">(−150, −100, 150) (0, −100, 100)</cell><cell>(100, −50, 50)</cell><cell>(100, 100, 0)</cell></row><row><cell>3</cell><cell>(−250, 0, 0)</cell><cell cols="2">(−150, 0, 50) (−150, 100, 150)</cell><cell>(250, 100, 100)</cell></row><row><cell>4</cell><cell>(100, 50, 0)</cell><cell cols="2">(50, 100, 150) (−150, 150, 100)</cell><cell>(−150, 50, 50)</cell></row><row><cell>5</cell><cell>(100, 100, −50)</cell><cell>(50, 100, 0)</cell><cell cols="2">(−100, 100, 50) (−150, −50, 100)</cell></row></table></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" type="table" xml:id="tab_3"><head>Table 4</head><label>4</label><figDesc>The sum of the joint variations[rad].</figDesc><table><row><cell>Test</cell><cell cols="2">Method 1 [rad] Method 2 [rad]</cell></row><row><cell>1</cell><cell>8.3142</cell><cell>4.4013</cell></row><row><cell>2</cell><cell>11.5985</cell><cell>9.8986</cell></row><row><cell>3</cell><cell>15.0005</cell><cell>13.6731</cell></row><row><cell>4</cell><cell>8.5828</cell><cell>6.3277</cell></row><row><cell>5</cell><cell>7.1897</cell><cell>5.7108</cell></row><row><cell>Average</cell><cell>10.1371</cell><cell>8.0023</cell></row></table></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" type="table" xml:id="tab_4"><head>Table 5</head><label>5</label><figDesc>Computing time of the optimal path computation [10 −4 s].</figDesc><table><row><cell>Test</cell><cell cols="2">Method 1 [10 −4 s] Method 2 [10 −4 s]</cell></row><row><cell>1</cell><cell>1.96</cell><cell>39.4</cell></row><row><cell>2</cell><cell>2.16</cell><cell>42.8</cell></row><row><cell>3</cell><cell>2.90</cell><cell>33.0</cell></row><row><cell>4</cell><cell>2.90</cell><cell>40.1</cell></row><row><cell>5</cell><cell>4.44</cell><cell>36.4</cell></row><row><cell>Average</cell><cell>2.87</cell><cell>31.3</cell></row></table></figure>
		</body>
		<back>

			<div type="availability">
<div xmlns="http://www.tei-c.org/ns/1.0"><p>M. Mikawa) GLOBE https://researchmap.jp/aterui (A. Terui); https://mikawalab.org/ (M. Mikawa</p></div>
			</div>


			<div type="funding">
<div xmlns="http://www.tei-c.org/ns/1.0"> ⋆  <p>This work was partially supported by JKA and its promotion funds from KEIRIN RACE.</p></div>
			</div>

			<div type="annex">
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2.4.">Solving optimal path planning problem</head><p>The system of equations ( <ref type="formula">4</ref>) may have several different solutions at each time 𝑡. For time 𝑡 = 0, … , 𝑇, suppose that there exist 𝑘 𝑗,𝑡 solutions to the configuration 𝜃 𝑗 of joint 𝑗 (𝑗 = 1, 3, 4) at 𝑡 such that 𝜃 𝑗,𝑡 at each time 𝑡. In order to move each joint more smoothly, it is desirable to select a solution that minimizes the sum of the configuration changes of the joints on the path. For this purpose, for 𝑗 = 1, 3, 4, we define a weighted graph 𝐺 𝑗 = (𝑉 𝑗 , 𝐸 𝑗 ), where</p><p>𝑗,𝑡 | 𝑡 ∈ {0, … , 𝑇 }, 𝑘 ∈ {1, … , 𝑘 𝑗,𝑡 }} is the set of vertices corresponding to the joint configuration at each time 𝑡, and 𝐸 𝑗 = {(𝜃</p><p>is the set of edges connecting the vertices at adjacent times. Then, in 𝐺 𝑗 , we reduce the problem of finding the optimal path to the one of finding the shortest path from 𝜃 (𝑘) 𝑗,0 to 𝜃 (𝑘) 𝑗,𝑇 . We have solved the shortest path problem using the following methods.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Method 1</head><p>For 𝑡 = 0, … , 𝑇 − 1, find the sequence of joint configurations {𝜃 (𝑘) 𝑗,𝑡 | 𝑡 = 0, … , 𝑇 } satisfying the minimum distance between adjacent joint configurations such that min{|𝜃</p><p>Method 2 In the graph 𝐺 𝑗 , find the shortest path starting at 𝜃 (𝑘) 𝑗,0 (𝑘 = 1, … , 𝑘 𝑗,0 ) using the Dijkstra method <ref type="bibr" target="#b18">[19]</ref>, then find the shortest path with the minimum length among 𝐺 𝑗 s.</p><p>The arithmetic complexity of each method above is estimated as follows. Let 𝑇 be the number of points in the trajectory, and assume that the number of solutions to the inverse kinematics problem at each point is constant at 𝑑. The complexity of Method 1 is 𝑂(𝑇 𝑑). On the other hand, the complexity of Method 2, using a binary heap, is estimated to be 𝑂(𝑇 𝑑 2 log(𝑇 𝑑)).</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2.4.1.">Experimental results</head><p>We have implemented the above method and conducted experiments. The implementation of each procedure was based on an implementation <ref type="bibr" target="#b19">[20]</ref> in the Python programming language. The experiments were conducted in the following environment: A virtual machine with RAM 13.2 GB, Ubuntu 22.04.3 LTS, Python 3.10.2 on VMware Workstation 16 Player, on the host environment with Intel Core i7-1165G7, RAM 16 GB, Windows 11 Home.</p><p>The test points are composed of a total of 𝑇 = 15 points, obtained by dividing each segment of the cubic spline curve passing through each point in Table <ref type="table">3</ref> into 5 parts. The number of solutions to the inverse kinematics problem at each point in each test segment is 𝑑 = 4.</p><p>2. Instead of representing the trajectory on the path, it is desired to express any point on the path using parameters and ensure the solution to the inverse kinematics problem for that point. For linear paths, a method has already been proposed by the authors <ref type="bibr" target="#b8">[9]</ref>, and this will be extended to curves given by cubic splines. 3. Regarding optimal path planning using shortest path calculations on graphs, we have used an implementation of Dijkstra's algorithm using a binary heap in this paper. However, one method to further improve computational efficiency is to use Dijkstra's algorithm with a Fibonacci heap <ref type="bibr" target="#b21">[22]</ref>. For example, using an implementation of Dijkstra's algorithm with a Fibonacci heap can be considered to improve computational efficiency. 4. To extend the proposed method to a 6-DOF manipulator. Although myCobot is operated with 3 Degree-Of-Freedom in this paper, it originally had 6 Degree-Of-Freedom, so it is desirable to implement methods for motion planning and path planning with 6 Degree-Of-Freedom.</p></div>			</div>
			<div type="references">

				<listBibl>

<biblStruct xml:id="b0">
	<monogr>
		<author>
			<persName><forename type="first">B</forename><surname>Siciliano</surname></persName>
		</author>
		<author>
			<persName><forename type="first">O</forename><surname>Khatib</surname></persName>
		</author>
		<idno type="DOI">10.1007/978-3-319-32552-1</idno>
		<title level="m">Springer Handbook of Robotics</title>
				<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2016">2016</date>
		</imprint>
	</monogr>
	<note>2nd ed</note>
</biblStruct>

<biblStruct xml:id="b1">
	<monogr>
		<author>
			<persName><forename type="first">J.-C</forename><surname>Faugère</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J.-P</forename><surname>Merlet</surname></persName>
		</author>
		<author>
			<persName><forename type="first">F</forename><surname>Rouillier</surname></persName>
		</author>
		<idno>RR-5923</idno>
		<ptr target="https://hal.inria.fr/inria-00072366" />
		<title level="m">On solving the direct kinematics problem for parallel robots</title>
				<imprint>
			<date type="published" when="2006">2006</date>
		</imprint>
		<respStmt>
			<orgName>INRIA</orgName>
		</respStmt>
	</monogr>
	<note type="report_type">Research Report</note>
</biblStruct>

<biblStruct xml:id="b2">
	<analytic>
		<title level="a" type="main">An implementation of Buchbergers&apos; algorithm with applications to robotics</title>
		<author>
			<persName><forename type="first">C</forename><forename type="middle">M</forename><surname>Kalker-Kalkman</surname></persName>
		</author>
		<idno type="DOI">10.1016/0094-114X(93)90033-R</idno>
	</analytic>
	<monogr>
		<title level="j">Mech. Mach. Theory</title>
		<imprint>
			<biblScope unit="volume">28</biblScope>
			<biblScope unit="page" from="523" to="537" />
			<date type="published" when="1993">1993</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b3">
	<analytic>
		<title level="a" type="main">A Solution of the Inverse Kinematics Problem for a 7-Degrees-of-Freedom Serial Redundant Manipulator Using Gröbner Bases Theory</title>
		<author>
			<persName><forename type="first">S</forename></persName>
		</author>
		<author>
			<persName><forename type="first">Ricardo</forename><surname>Xavier Da Silva</surname></persName>
		</author>
		<author>
			<persName><forename type="first">L</forename><surname>Schnitman</surname></persName>
		</author>
		<author>
			<persName><forename type="first">V</forename><forename type="middle">Cesca</forename><surname>Filho</surname></persName>
		</author>
		<idno type="DOI">10.1155/2021/6680687</idno>
	</analytic>
	<monogr>
		<title level="j">Mathematical Problems in Engineering</title>
		<imprint>
			<biblScope unit="volume">2021</biblScope>
			<biblScope unit="page">6680687</biblScope>
			<date type="published" when="2021">2021</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b4">
	<analytic>
		<title level="a" type="main">Triangularizing kinematic constraint equations using Gröbner bases for real-time dynamic simulation</title>
		<author>
			<persName><forename type="first">T</forename><surname>Uchida</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Mcphee</surname></persName>
		</author>
		<idno type="DOI">10.1007/s11044-010-9241-8</idno>
	</analytic>
	<monogr>
		<title level="j">Multibody System Dynamics</title>
		<imprint>
			<biblScope unit="volume">25</biblScope>
			<biblScope unit="page" from="335" to="356" />
			<date type="published" when="2011">2011</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b5">
	<analytic>
		<title level="a" type="main">Using Gröbner bases to generate efficient kinematic solutions for the dynamic simulation of multi-loop mechanisms</title>
		<author>
			<persName><forename type="first">T</forename><surname>Uchida</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Mcphee</surname></persName>
		</author>
		<idno type="DOI">10.1016/j.mechmachtheory.2012.01.015</idno>
	</analytic>
	<monogr>
		<title level="j">Mech. Mach. Theory</title>
		<imprint>
			<biblScope unit="volume">52</biblScope>
			<biblScope unit="page" from="144" to="157" />
			<date type="published" when="2012">2012</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b6">
	<analytic>
		<title level="a" type="main">A Design and an Implementation of an Inverse Kinematics Computation in Robotics Using Gröbner Bases</title>
		<author>
			<persName><forename type="first">N</forename><surname>Horigome</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Terui</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Mikawa</surname></persName>
		</author>
		<idno type="DOI">10.1007/978-3-030-52200-1_1</idno>
	</analytic>
	<monogr>
		<title level="m">Mathematical Software -ICMS 2020</title>
				<editor>
			<persName><forename type="first">A</forename><forename type="middle">M</forename><surname>Bigatti</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">J</forename><surname>Carette</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">J</forename><forename type="middle">H</forename><surname>Davenport</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">M</forename><surname>Joswig</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">T</forename><surname>Wolff</surname></persName>
		</editor>
		<meeting><address><addrLine>Cham</addrLine></address></meeting>
		<imprint>
			<publisher>Springer International Publishing</publisher>
			<date type="published" when="2020">2020</date>
			<biblScope unit="page" from="3" to="13" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b7">
	<monogr>
		<title level="m" type="main">A Design and an Implementation of an Inverse Kinematics Computation in Robotics Using Real Quantifier Elimination based on Comprehensive Gröbner Systems</title>
		<author>
			<persName><forename type="first">S</forename><surname>Otaki</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Terui</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Mikawa</surname></persName>
		</author>
		<idno type="DOI">10.48550/arXiv.2111.00384</idno>
		<idno type="arXiv">arXiv:2111.00384</idno>
		<imprint>
			<date type="published" when="2021">2021</date>
		</imprint>
	</monogr>
	<note type="report_type">Preprint</note>
</biblStruct>

<biblStruct xml:id="b8">
	<analytic>
		<title level="a" type="main">Inverse Kinematics and Path Planning of Manipulator Using Real Quantifier Elimination Based on Comprehensive Gröbner Systems</title>
		<author>
			<persName><forename type="first">M</forename><surname>Yoshizawa</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Terui</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Mikawa</surname></persName>
		</author>
		<idno type="DOI">10.1007/978-3-031-41724-5_21</idno>
	</analytic>
	<monogr>
		<title level="m">Computer Algebra in Scientific Computing. CASC 2023</title>
		<title level="s">Lecture Notes in Computer Science</title>
		<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2023">2023</date>
			<biblScope unit="volume">14139</biblScope>
			<biblScope unit="page" from="393" to="419" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b9">
	<analytic>
		<title level="a" type="main">Comprehensive Gröbner Bases</title>
		<author>
			<persName><forename type="first">V</forename><surname>Weispfenning</surname></persName>
		</author>
		<idno type="DOI">10.1016/0747-7171(92)90023-W</idno>
	</analytic>
	<monogr>
		<title level="j">J. Symbolic Comput</title>
		<imprint>
			<biblScope unit="volume">14</biblScope>
			<biblScope unit="page" from="1" to="29" />
			<date type="published" when="1992">1992</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b10">
	<analytic>
		<title level="a" type="main">Real Quantifier Elimination by Computation of Comprehensive Gröbner Systems</title>
		<author>
			<persName><forename type="first">R</forename><surname>Fukasaku</surname></persName>
		</author>
		<author>
			<persName><forename type="first">H</forename><surname>Iwane</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Y</forename><surname>Sato</surname></persName>
		</author>
		<idno type="DOI">10.1145/2755996.2756646</idno>
	</analytic>
	<monogr>
		<title level="m">Proceedings of the 2015 ACM on International Symposium on Symbolic and Algebraic Computation, ISSAC &apos;15</title>
				<meeting>the 2015 ACM on International Symposium on Symbolic and Algebraic Computation, ISSAC &apos;15<address><addrLine>New York, NY, USA</addrLine></address></meeting>
		<imprint>
			<publisher>Association for Computing Machinery</publisher>
			<date type="published" when="2015">2015</date>
			<biblScope unit="page" from="173" to="180" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b11">
	<analytic>
		<title/>
		<ptr target="https://www.elephantrobotics.com/mycobot-280-m5-2023" />
	</analytic>
	<monogr>
		<title level="j">myCobot</title>
		<imprint>
			<biblScope unit="volume">280</biblScope>
			<biblScope unit="issue">5</biblScope>
			<date type="published" when="2023">2023. 2024-05-04</date>
			<publisher>Elephant Robotics Co., Ltd</publisher>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b12">
	<monogr>
		<title level="m" type="main">Curves and Surfaces for CAGD: A Practical Guide, The Morgan Kaufmann Series in Computer Graphics</title>
		<author>
			<persName><forename type="first">G</forename><surname>Farin</surname></persName>
		</author>
		<idno type="DOI">10.1016/B978-1-55860-737-8.X5000-5</idno>
		<imprint>
			<date type="published" when="2002">2002</date>
			<publisher>Morgan Kaufmann</publisher>
		</imprint>
	</monogr>
	<note>5th ed</note>
</biblStruct>

<biblStruct xml:id="b13">
	<monogr>
		<author>
			<persName><forename type="first">K</forename><forename type="middle">M</forename><surname>Lynch</surname></persName>
		</author>
		<author>
			<persName><forename type="first">F</forename><forename type="middle">C</forename><surname>Park</surname></persName>
		</author>
		<title level="m">Modern Robotics: Mechanics, Planning, and Control</title>
				<imprint>
			<publisher>Cambridge University Press</publisher>
			<date type="published" when="2017">2017</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b14">
	<analytic>
		<title level="a" type="main">An efficient method for computing comprehensive Gröbner bases</title>
		<author>
			<persName><forename type="first">D</forename><surname>Kapur</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Y</forename><surname>Sun</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Wang</surname></persName>
		</author>
		<idno type="DOI">10.1016/j.jsc.2012.05.015</idno>
	</analytic>
	<monogr>
		<title level="j">J. Symbolic Comput</title>
		<imprint>
			<biblScope unit="volume">52</biblScope>
			<biblScope unit="page" from="124" to="142" />
			<date type="published" when="2013">2013</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b15">
	<monogr>
		<title level="m" type="main">CGS: a program for computing comprehensive Gröbner systems in a polynomial ring [computer software</title>
		<author>
			<persName><forename type="first">K</forename><surname>Nabeshima</surname></persName>
		</author>
		<ptr target="https://www.rs.tus.ac.jp/~nabeshima/softwares.html" />
		<imprint>
			<date type="published" when="2018">2018. 2024-05-04</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b16">
	<analytic>
		<title level="a" type="main">Risa/Asir -A Computer Algebra System</title>
		<author>
			<persName><forename type="first">M</forename><surname>Noro</surname></persName>
		</author>
		<author>
			<persName><forename type="first">T</forename><surname>Takeshima</surname></persName>
		</author>
		<idno type="DOI">10.1145/143242.143362</idno>
	</analytic>
	<monogr>
		<title level="m">ISSAC &apos;92: Papers from the International Symposium on Symbolic and Algebraic Computation</title>
				<meeting><address><addrLine>New York, NY, USA</addrLine></address></meeting>
		<imprint>
			<publisher>Association for Computing Machinery</publisher>
			<date type="published" when="1992">1992</date>
			<biblScope unit="page" from="387" to="396" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b17">
	<monogr>
		<ptr target="https://www.wolfram.com/mathematica" />
		<title level="m">Mathematica, Version 13</title>
				<imprint>
			<publisher>Wolfram Research, Inc</publisher>
			<date type="published" when="2022">2022. 2024-05-04</date>
		</imprint>
	</monogr>
	<note>computer software</note>
</biblStruct>

<biblStruct xml:id="b18">
	<analytic>
		<title level="a" type="main">A note on two problems in connexion with graphs</title>
		<author>
			<persName><forename type="first">E</forename><forename type="middle">W</forename><surname>Dijkstra</surname></persName>
		</author>
		<idno type="DOI">10.1007/BF01386390</idno>
	</analytic>
	<monogr>
		<title level="j">Numer. Math</title>
		<imprint>
			<biblScope unit="volume">1</biblScope>
			<biblScope unit="page" from="269" to="271" />
			<date type="published" when="1959">1959</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b19">
	<monogr>
		<author>
			<persName><surname>Simonritchie</surname></persName>
		</author>
		<ptr target="https://qiita.com/simonritchie/items/216eae753fc393da52af" />
		<title level="m">Compute the shortest path of a graph using Dijkstra method and Python</title>
				<imprint>
			<date type="published" when="2023">2023. 2024-05-04</date>
		</imprint>
	</monogr>
	<note>in Japanese</note>
</biblStruct>

<biblStruct xml:id="b20">
	<analytic>
		<title level="a" type="main">Towards Trajectory Planning of a Robot Manipulator with Computer Algebra using Bézier Curves</title>
		<author>
			<persName><forename type="first">R</forename><surname>Hatakeyama</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Terui</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Mikawa</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">SCSS 2024 Work-in-progress Proceedings</title>
				<imprint>
			<publisher>Open Publishing Association</publisher>
			<date type="published" when="2024">2024</date>
		</imprint>
	</monogr>
	<note>To appear</note>
</biblStruct>

<biblStruct xml:id="b21">
	<analytic>
		<title level="a" type="main">Improved dijkstra algorithm based on fibonacci heap for solving the shortest path problem with specified nodes</title>
		<author>
			<persName><forename type="first">S.-L</forename><surname>Guo</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Duan</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Y</forename><surname>Zhu</surname></persName>
		</author>
		<author>
			<persName><forename type="first">X.-C</forename><surname>Li</surname></persName>
		</author>
		<author>
			<persName><forename type="first">T.-W</forename><surname>Chen</surname></persName>
		</author>
		<idno type="DOI">10.1142/9789813220294_0008</idno>
	</analytic>
	<monogr>
		<title level="m">Computer Science and Artificial Intelligence: Proceedings of the International Conference on Computer Science and Artificial Intelligence (CSAI2016), World Scientific</title>
				<imprint>
			<date type="published" when="2017">2017</date>
			<biblScope unit="page" from="52" to="61" />
		</imprint>
	</monogr>
</biblStruct>

				</listBibl>
			</div>
		</back>
	</text>
</TEI>
