<?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">Towards Trajectory Planning for a 6-Degree-of-Freedom Robot Manipulator Considering the Orientation of the End-effector Using Computer Algebra ⋆</title>
			</titleStmt>
			<publicationStmt>
				<publisher/>
				<availability status="unknown"><licence/></availability>
			</publicationStmt>
			<sourceDesc>
				<biblStruct>
					<analytic>
						<author>
							<persName><forename type="first">Takumu</forename><surname>Okazaki</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>
							<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>
							<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">Towards Trajectory Planning for a 6-Degree-of-Freedom Robot Manipulator Considering the Orientation of the End-effector Using Computer Algebra ⋆</title>
					</analytic>
					<monogr>
						<idno type="ISSN">1613-0073</idno>
					</monogr>
					<idno type="MD5">99545BF7CFAF932D877D9ADD7590E1CA</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>Trajectory planning</term>
					<term>Inverse kinematic problem</term>
					<term>Robot manipulator</term>
					<term>Gröbner basis</term>
				</keywords>
			</textClass>
			<abstract>
<div xmlns="http://www.tei-c.org/ns/1.0"><p>We consider the trajectory planning of a 6-Degree-of-Freedom (DOF) robot manipulator using computer algebra, with controlling the orientation of the end-effector. As a first step towards the objective, we present a solution to the inverse kinematics problem of the manipulator such that the orientation of the end-effector remains constant using computer algebra.</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 the trajectory planning of a 6-Degree-of-Freedom (DOF) robot manipulator. A manipulator is a robot resembling a human hand and comprises links that function as a human arm and joints that function as human joints. Each link is connected for movement relative to each other by a joint. The first link is connected to the ground, and the last link called end-effector, contains the hand, which can be moved freely. In this paper, we consider a manipulator called "myCobot 280" [1] (hereafter called "myCobot") that has six joints connected in series that can only rotate around a certain axis. Note that each joint has one degree of freedom. Therefore, myCobot has at most six degrees of freedom.</p><p>The inverse kinematics problem is a problem of determining the joint arrangement when the end-effector is placed in a specified direction on a certain coordinate in space. The trajectory planning problem of the manipulator is an inverse kinematics problem in which the position of the end-effector is expanded from a single coordinate to a trajectory. In other words, it can be regarded as a problem to find the displacement of the joint when the end-effector of the manipulator moves on a given trajectory from the initial position to the final position.</p><p>In computer algebra, methods for the inverse kinematics problem of a 6-DOF robot manipulator have been proposed for more than 30 years ( <ref type="bibr" target="#b0">[2]</ref>, <ref type="bibr" target="#b1">[3]</ref>). Furthermore, several methods have been proposed to solve the inverse kinematics problem of a manipulator using Gröbner basis computation ( <ref type="bibr" target="#b2">[4]</ref>, <ref type="bibr" target="#b3">[5]</ref>, <ref type="bibr" target="#b4">[6]</ref>, <ref type="bibr" target="#b5">[7]</ref>). Among them, two of the present authors have proposed methods for solving the inverse kinematic problem ( <ref type="bibr" target="#b6">[8]</ref>, <ref type="bibr" target="#b7">[9]</ref>) and trajectory planning problem ( <ref type="bibr" target="#b8">[10]</ref>) of a 3-DOF manipulator using computer algebra. In more detail, we have proposed a method for solving the inverse kinematic problem efficiently with the use of Comprehensive Gröbner 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 s2320132@u.tsukuba.ac.jp (T. Okazaki); 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) Systems (CGS) and certifying the existence of a solution to the inverse kinematic problem using the CGS-QE, or the quantifier elimination (QE) based on the CGS computation.</p><p>In this paper, we consider the trajectory planning of a 6-DOF robot manipulator while controlling the orientation of the end-effector using computer algebra. As a first step towards the objective, we present a solution to the inverse kinematics problem such that the end-effector's orientation remains constant. More precisely, we present a solution to the inverse kinematics problem under the condition that the end-effector's local coordinate system overlaps the global coordinate system by translation.</p><p>The paper is organized as follows. In Section 2, the coordinate system and the notation of the manipulator are introduced. In Section 3, the analytical solution of general inverse kinematics problems is first described, followed by the solution in myCobot. In Section 4, future initiatives are described.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2.">Preliminaries</head></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2.1.">Coordinate systems</head><p>For each joint in myCobot, the coordinate system is defined as follows (see Figure <ref type="figure">1</ref>). Let each joint be numbered as joint 𝑖 from the base to the end-effector in increasing order, and the end-effector be numbered as joint 7. Let 𝑖 be the coordinate system of joint 𝑖. Here, 1 is the reference (global) coordinate system, while the other coordinate systems are local. The axes of each coordinate system are defined as follows: the 𝑖 𝑧 axis in the direction of the joint axis (rotational axis in the case of a revolute joint), 𝑖 𝑥 axis in the direction of the common normal of the 𝑖 𝑧 and 𝑖+1 𝑧 axes, and 𝑖 𝑦 axis to be a right-handed system.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2.2.">Notation</head><p>For the index 𝑖, the matrices are denoted by 𝐴 𝑖 , and vectors are denoted by 𝑖+1 𝑥 𝑛 , in which subscripts are used to distinguish points, and superscripts denote the local coordinate system to which they refer (vectors with no superscripts are referenced in 1 ). If the vector is referenced with respect to a different coordinate system, it is enclosed within brackets, and a separate superscript is added outside the brackets. (e.g. 𝑖 [ 𝑖+1 𝑥 𝑛 ]). Scalars are expressed in lowercase variables, and subscripts, such as 𝑎 𝑖 , are used where necessary. In 𝑖 , the origin is denoted by 𝑂 𝑖 and the unit vectors are denoted by 𝑖 𝑒 𝑥 , 𝑖 𝑒 𝑦 and 𝑖 𝑒 𝑧 . In vector 𝑣, the 𝑖-th component is denoted by 𝑣[𝑖].</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2.3.">The Denavit-Hartenberg convention</head><p>The 'Denavit-Hartenberg parameters' <ref type="bibr" target="#b9">[11]</ref> are used as a transformation method between coordinate systems. The following parameters are used in the transformations: 𝑎 𝑖 as the length of the common normal between the 𝑖 𝑧 and 𝑖+1 𝑧 axes, 𝛼 𝑖 as the angle from the 𝑖 𝑧-axis towards the 𝑖+1 𝑧-axis around the 𝑖+1 𝑥-axis in the clockwise direction, 𝑑 𝑖 as the length between the common normal 𝑎 𝑖 and the origin of the coordinate system 𝑖, and 𝜃 𝑖 as the angle between the common normal 𝑎 𝑖 and the 𝑖 𝑥 axis.</p><p>Let 𝐴 𝑖 be the transformation matrix from 𝑖+1 and 𝑖 . Then, as the product of matrices representing rotation and translation, 𝐴 𝑖 is expressed by using the above parameters as</p><formula xml:id="formula_0">𝐴 𝑖 = ⎛ ⎜ ⎜ ⎝ cos 𝜃 𝑖 − sin 𝜃 𝑖 cos 𝛼 𝑖 sin 𝜃 𝑖 sin 𝛼 𝑖 𝑎 𝑖 cos 𝜃 𝑖 sin 𝜃 𝑖 cos 𝜃 𝑖 cos 𝛼 𝑖 − cos 𝜃 𝑖 sin 𝛼 𝑖 𝑎 𝑖 sin 𝜃 𝑖 0 sin 𝛼 𝑖 cos 𝛼 𝑖 𝑑 𝑖 0 0 0 1 ⎞ ⎟ ⎟ ⎠ . (<label>1</label></formula><formula xml:id="formula_1">)</formula><p>For expressing the transformation of the coordinate system, affine coordinates are used as follows: if the coordinates of a point is expressed as 𝑡 ( 𝑖 𝑥, 𝑖 𝑦, 𝑖 𝑧) and also as 𝑡+1 ( 𝑖+1 𝑥, 𝑖+1 𝑦, 𝑖+1 𝑧), they are denoted by 𝑖 𝑋 = 𝑡 ( 𝑖 𝑥, 𝑖 𝑦, 𝑖 𝑧, 1) and 𝑖+1 𝑋 = ( 𝑖+1 𝑥, 𝑖+1 𝑦, 𝑖+1 𝑧, 1), respectively, in which the last coordinates represent translation. Then, by the definition of 𝐴 𝑖 , we have 𝑖 𝑋 = 𝐴 𝑖 𝑖+1 𝑋 and 𝑖+1 𝑋 = 𝐴 −1 𝑖 𝑖 𝑋, where</p><formula xml:id="formula_2">𝐴 −1 𝑖 = ⎛ ⎜ ⎜ ⎝ cos 𝜃 𝑖 sin 𝜃 𝑖 0 −𝑎 𝑖 − sin 𝜃 𝑖 cos 𝛼 𝑖 cos 𝜃 𝑖 cos 𝛼 𝑖 sin 𝛼 𝑖 −𝑑 𝑖 sin 𝛼 𝑖 sin 𝜃 𝑖 sin 𝛼 𝑖 − cos 𝜃 𝑖 sin 𝛼 𝑖 cos 𝛼 𝑖 −𝑑 𝑖 cos 𝛼 𝑖 0 0 0 1 ⎞ ⎟ ⎟ ⎠ .</formula><p>If 𝑛 + 1 coordinate systems are given, there exist 𝑛 coordinate transformations between neighboring coordinate systems. Therefore, if the coordinates of a point are given as 7 𝑋 with respect to 7 (the end-effector), the coordinates 1 𝑋 of the same point with respect to 1 (the global coordinate system) is obtained by multiplying 𝐴 𝑖 in sequence, such that</p><formula xml:id="formula_3">1 𝑋 = Aeq 7 𝑋, Aeq = 𝐴 1 𝐴 2 𝐴 3 𝐴 4 𝐴 5 𝐴 6 .<label>(2)</label></formula><p>Note that the inverse transformation is given as</p><formula xml:id="formula_4">Aeq −1 = 𝐴 −1 6 𝐴 −1 5 𝐴 −1 4 𝐴 −1 3 𝐴 −1 2 𝐴 −1 1 .</formula></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.">Solving the inverse kinematic problem</head></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.1.">The forward kinematics</head><p>We first consider the forward kinematics problem of myCobot. Let 𝑝 = ⃖⃖⃖⃖⃖⃖⃖⃗ 𝑂 1 𝑂 7 be the vector from the origin of 1 (position of the root of the manipulator) to the origin of 7 (position of the end-effector), and let</p><formula xml:id="formula_5">𝑙 = 𝑡 (𝑙 1 , 𝑙 2 , 𝑙 3 ) = 1 [ 7 𝑒 𝑥 ], 𝑚 = 𝑡 (𝑚 1 , 𝑚 2 , 𝑚 3 ) = 1 [ 7 𝑒 𝑦 ], 𝑛 = 𝑡 (𝑛 1 , 𝑛 2 , 𝑛 3 ) = 1 [ 7 𝑒 𝑧 ]</formula><p>be the vectors that are parallel to the unit vectors on the 𝑥, 𝑦, and 𝑧 axes of 7 , respectively. Then, 𝑝, 𝑙, 𝑚, 𝑛 is represented with respect to 1 as</p><formula xml:id="formula_6">⎛ ⎜ ⎜ ⎝ 𝑙 1 𝑙 2 𝑙 3 0 ⎞ ⎟ ⎟ ⎠ = Aeq ⎛ ⎜ ⎜ ⎝ 1 0 0 0 ⎞ ⎟ ⎟ ⎠ , ⎛ ⎜ ⎜ ⎝ 𝑚 1 𝑚 2 𝑚 3 0 ⎞ ⎟ ⎟ ⎠ = Aeq ⎛ ⎜ ⎜ ⎝ 0 1 0 0 ⎞ ⎟ ⎟ ⎠ , ⎛ ⎜ ⎜ ⎝ 𝑛 1 𝑛 2 𝑛 3 0 ⎞ ⎟ ⎟ ⎠ = Aeq ⎛ ⎜ ⎜ ⎝ 0 0 1 0 ⎞ ⎟ ⎟ ⎠ , ⎛ ⎜ ⎜ ⎝ 𝑝 1 𝑝 2 𝑝 3 1 ⎞ ⎟ ⎟ ⎠ = Aeq ⎛ ⎜ ⎜ ⎝ 0 0 0 1 ⎞ ⎟ ⎟ ⎠</formula><p>, therefore, each component of Aeq and Aeq −<ref type="foot" target="#foot_0">1</ref> is obtained as</p><formula xml:id="formula_7">Aeq = ⎛ ⎜ ⎜ ⎝ 𝑙 1 𝑚 1 𝑛 1 𝑝 1 𝑙 2 𝑚 2 𝑛 2 𝑝 2 𝑙 3 𝑚 3 𝑛 3 𝑝 3 0 0 0 1 ⎞ ⎟ ⎟ ⎠ , Aeq −1 = ⎛ ⎜ ⎜ ⎝ 𝑙 1 𝑙 2 𝑙 3 −(𝑙 1 𝑝 1 + 𝑙 2 𝑝 2 + 𝑙 3 𝑝 3 ) 𝑚 1 𝑚 2 𝑚 3 −(𝑚 1 𝑝 1 + 𝑚 2 𝑝 2 + 𝑚 3 𝑝 3 ) 𝑛 1 𝑛 2 𝑛 3 −(𝑛 1 𝑝 1 + 𝑛 2 𝑝 2 + 𝑛 3 𝑝 3 ) 0 0 0 1 ⎞ ⎟ ⎟ ⎠ . (<label>3</label></formula><formula xml:id="formula_8">)</formula><p>As seen in eq. ( <ref type="formula" target="#formula_7">3</ref>), by putting the angles of the joints 𝜃 1 , … , 𝜃 6 into the transformation matrix 𝐴 𝑖 , the position and orientation of the end-effector are obtained.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.2.">The inverse kinematic problem</head><p>To make use of eq. ( <ref type="formula" target="#formula_7">3</ref>) in myCobot, we substitute some of the joint parameters 𝑎 𝑖 , 𝛼 𝑖 , 𝑑 𝑖 , 𝜃 𝑖 of myCobot into the transformation matrix 𝐴 𝑖 . As shown in the schematic diagram of myCobot in Figure <ref type="figure">1</ref>, where the squares represent the revolute joints and the angle of rotation 𝜃 𝑖 is given by taking a positive counterclockwise direction with respect to the 𝑖 𝑧 axis, the joint parameters are given as</p><formula xml:id="formula_9">{𝛼 1 , 𝛼 2 , 𝛼 3 , 𝛼 4 , 𝛼 5 , 𝛼 6 } = {𝜋/2, 0, 0, 𝜋/2, 𝜋/2, 0}, 𝑎 1 = 𝑑 2 = 𝑑 3 = 𝑎 4 = 𝑎 5 = 𝑎 6 = 0. (<label>4</label></formula><formula xml:id="formula_10">)</formula><p>By substituting the joint parameters in eq. ( <ref type="formula" target="#formula_9">4</ref>) into the transformation matrix 𝐴 𝑖 in eq. ( <ref type="formula" target="#formula_0">1</ref>), Aeq is calculated. Then, by comparing the components of Aeq with the components of Aeq in eq. ( <ref type="formula" target="#formula_7">3</ref>), a system of 12 polynomial equations in the variables 𝑠 𝑖 and 𝑐 𝑖 (𝑖 = 1, … , 6) is obtained, where 𝑠 𝑖 = sin 𝜃 𝑖 and 𝑐 𝑖 = cos 𝜃 𝑖 . Each 𝜃 𝑖 can be obtained by selecting the appropriate equation(s) from the above system and finding the solution. However, in the computation of Gröbner basis, the coefficients of the equations may expand, which makes it difficult to find the solution. Therefore, we focus on the structure of myCobot and solve its inverse kinematic problem from a different perspective as follows.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.3.">Solving the inverse kinematic problem with a fixed orientation</head><p>Inverse kinematics problems for robot manipulators of a certain structure can be solved analytically <ref type="bibr" target="#b10">[12,</ref><ref type="bibr" target="#b11">13]</ref>. Pieper <ref type="bibr" target="#b11">[13]</ref> has pointed out that when the end effector of a 6-DOF manipulator has a spherical joint, the inverse kinematics problem can be separated into position and orientation problems of the end-effector. He has further noted that when the rotational axes of three consecutive rotational joints of a 6-DOF manipulator intersect at a single point, the inverse kinematics problem can also be separated into position and orientation problems of the end-effector.</p><p>Pieper's argument suggests that if there exists a combination of three consecutive rotational joints whose rotational axes intersect at a single point, it becomes possible to solve the inverse kinematics problem analytically. However, unfortunately, in the case of myCobot, there are no combinations of three consecutive rotational joints whose rotational axes intersect at a single point, although there are combinations of two consecutive joints whose rotational axes intersect at a single point. Therefore, following Pieper's approach, we solve the inverse kinematics problem by imposing constraints on the orientation of the end-effector.</p><p>For simplicity, we solve the inverse kinematic problem with the condition that the orientation of the end-effector remains constant, i.e. the axis in 7 is parallel to the axis in 1 preserving the same direction. Let 𝑙 = 𝑡 (1, 0, 0), 𝑚 = 𝑡 (0, 1, 0), 𝑛 = 𝑡 (0, 0, 1), then Aeq and Aeq −1 in eq. ( <ref type="formula" target="#formula_7">3</ref>) become as</p><formula xml:id="formula_11">Aeq = ⎛ ⎜ ⎜ ⎝ 1 0 0 𝑝 1 0 1 0 𝑝 2 0 0 1 𝑝 3 0 0 0 1 ⎞ ⎟ ⎟ ⎠ , Aeq −1 = ⎛ ⎜ ⎜ ⎝ 1 0 0 −𝑝 1 0 1 0 −𝑝 2 0 0 1 −𝑝 3 0 0 0 1 ⎞ ⎟ ⎟ ⎠ .</formula><p>Let 𝑃 be the intersection point of axes 4 𝑧 and 5 𝑧, expressed as Note that 𝑃 is the position of Joint 5. We first express sin 𝜃 𝑖 and cos 𝜃 𝑖 (𝑖 = 1, … , 6) with the coordinate of the intersection 𝑃.</p><p>Let<ref type="foot" target="#foot_1">7</ref> 𝑃 = ⃖⃖⃖⃖⃖⃗ 𝑂 7 𝑃, then 7 𝑃 is expressed in two ways as</p><formula xml:id="formula_12">7 𝑃 = 𝐴 −1 6 𝐴 −1 5 ⎛ ⎜ ⎜ ⎝ 0 0 0 1 ⎞ ⎟ ⎟ ⎠ = ⎛ ⎜ ⎜ ⎝ −𝑑 5 sin 𝜃 6 −𝑑 5 cos 𝜃 6 −𝑑 6 1 ⎞ ⎟ ⎟ ⎠ , 7 𝑃 = Aeq −1 ⎛ ⎜ ⎜ ⎝ 𝑥 𝑦 𝑧 1 ⎞ ⎟ ⎟ ⎠ = ⎛ ⎜ ⎜ ⎝ 𝑥 − 𝑝 1 𝑦 − 𝑝 2 𝑧 − 𝑝 3 1 ⎞ ⎟ ⎟ ⎠</formula><p>.</p><p>By equating two vectors 7 𝑃 above, we have</p><formula xml:id="formula_13">sin 𝜃 6 = 𝑝 1 − 𝑥 𝑑 5 , cos 𝜃 6 = 𝑝 2 − 𝑦 𝑑 5 .<label>(6)</label></formula><p>Let 𝑤 4 be the unit vector in the direction of 4 𝑧-axis. Then, 𝑤 4 and 7 [𝑤 4 ] are expressed as </p><formula xml:id="formula_14">𝑤 4 = 𝐴 1 𝐴 2 𝐴 3 ⎛ ⎜ ⎜ ⎝ sin 𝜃 1 − cos 𝜃 1 0 0 ⎞ ⎟ ⎟ ⎠ , 7 [𝑤 4 ] = 𝐴 −1 6 𝐴 −1 5 𝐴 −1 4 ⎛ ⎜ ⎜ ⎝ cos 𝜃 6 sin 𝜃 5 − sin 𝜃 6 sin 𝜃 5 − cos 𝜃 5 0 ⎞ ⎟ ⎟ ⎠ . (<label>7</label></formula><p>By comparing each component of 𝑤 4 in eqs. ( <ref type="formula" target="#formula_14">7</ref>) and ( <ref type="formula" target="#formula_15">8</ref>), respectively, we have</p><formula xml:id="formula_16">cos 𝜃 5 = 0, sin 𝜃 5 = ±1, cos 𝜃 1 = ± sin 𝜃 6 = ± 𝑝 1 − 𝑥 𝑑 5 , sin 𝜃 1 = ± cos 𝜃 6 = ± 𝑝 2 − 𝑦 𝑑 5 .<label>(9)</label></formula><p>Next, 𝑃 3 = ⃖⃖⃖⃖⃖⃗ 𝑂 1 𝑃 is expressed as </p><formula xml:id="formula_17">𝑃 3 = 𝐴 1 𝐴 2 𝐴 3 ⎛ ⎜ ⎜ ⎝ 0 0 𝑑 4 1 ⎞ ⎟ ⎟ ⎠ = ⎛ ⎜ ⎜</formula><p>On the other hand, 𝑃 3 is also expressed as 1 𝑃 = 𝑡 (𝑥, 𝑦, 𝑧, 1) as shown in eq. ( <ref type="formula">5</ref>). Let 𝑄 = 1 𝑃[1] </p><p>(sin 𝜃 2 ) 2 + (cos 𝜃 2 ) 2 = 1.</p><p>If cos 𝜃 3 , sin 𝜃 3 is obtained, cos 𝜃 2 , sin 𝜃 2 is easily found from eq. ( <ref type="formula" target="#formula_19">12</ref>). Finally to find cos 𝜃 4 and sin 𝜃 4 , let 𝑤 5 be the unit vector in the direction of 5 𝑧-axis. Then, by using </p></div><figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_0"><head></head><label></label><figDesc>7 [𝑤 5 ] expressed as</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" type="table" xml:id="tab_0"><head></head><label></label><figDesc>The schematic diagram and the local coordinate systems of each joint in myCobot.</figDesc><table><row><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell><cell>6 𝑥</cell><cell>7 𝑥</cell></row><row><cell></cell><cell></cell><cell cols="2">𝜃 6</cell><cell>𝑑 5</cell><cell cols="2">end-effector joint6 𝑑 6</cell><cell></cell><cell>4 𝑥</cell><cell></cell><cell></cell><cell>6 𝑦</cell><cell>5 𝑧</cell><cell>6</cell><cell>6 𝑧 7 𝑦</cell><cell>7</cell><cell>7 𝑧</cell></row><row><cell>𝜃 4</cell><cell>𝑎 3</cell><cell>joint4</cell><cell>𝑑 4</cell><cell cols="2">𝜃 5</cell><cell>joint5</cell><cell>4 𝑦</cell><cell>3 𝑥</cell><cell>4</cell><cell>4 𝑧</cell><cell>5 𝑦</cell><cell></cell><cell>5</cell><cell>5 𝑥</cell></row><row><cell></cell><cell>𝑎 2 joint3</cell><cell cols="2">𝜃 3</cell><cell></cell><cell></cell><cell></cell><cell>3 𝑦</cell><cell>2 𝑥</cell><cell>3</cell><cell>3 𝑧</cell><cell></cell><cell></cell></row><row><cell>𝜃 2</cell><cell>𝑑 1</cell><cell>joint2</cell><cell></cell><cell></cell><cell></cell><cell></cell><cell>2 𝑦</cell><cell>1 𝑧</cell><cell>2</cell><cell>2 𝑧</cell><cell></cell><cell></cell></row><row><cell></cell><cell></cell><cell cols="2">joint1</cell><cell></cell><cell></cell><cell></cell><cell>1 𝑦</cell><cell></cell><cell>1</cell><cell>1 𝑥</cell><cell></cell><cell></cell></row><row><cell></cell><cell></cell><cell>𝜃 1</cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell></row><row><cell>Figure 1:</cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell></row></table></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" type="table" xml:id="tab_1"><head>)</head><label></label><figDesc>By using7 [𝑤 4 ] above and Aeq, we obtain another expression for 𝑤 4 as 𝑤 4 = Aeq 7 [𝑤 4 ] = 𝑡 (cos 𝜃 6 sin 𝜃 5 , − sin 𝜃 6 sin 𝜃 5 , − cos 𝜃 5 , 0).</figDesc><table /></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" type="table" xml:id="tab_2"><head></head><label></label><figDesc>⎝ 𝑑 4 sin 𝜃 1 + 𝑎 2 cos 𝜃 1 cos 𝜃 2 + 𝑎 3 cos 𝜃 1 (cos 𝜃 2 cos 𝜃 3 − sin 𝜃 2 sin 𝜃 3 ) −𝑑 4 cos 𝜃 1 + 𝑎 2 sin 𝜃 1 cos 𝜃 2 + 𝑎 3 sin 𝜃 1 (cos 𝜃 2 cos 𝜃 3 − sin 𝜃 2 sin 𝜃 3 ) 𝑑 1 + 𝑎 2 sin 𝜃 2 + 𝑎 3 (sin 𝜃 2 cos 𝜃 3 + cos 𝜃 2 sin 𝜃 3 ) 1</figDesc><table><row><cell>⎞</cell><cell></cell></row><row><cell>⎟ ⎟</cell><cell>.</cell></row><row><cell>⎠</cell><cell></cell></row></table></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" type="table" xml:id="tab_3"><head></head><label></label><figDesc>2 + 1 𝑃[2] 2 + ( 1 𝑃[3] − 𝑑 1 ) 2 = 𝑃 3 [1] 2 + 𝑃 3 [2] 2 + (𝑃 3 [3] − 𝑑 1 ) 2 , then we have 𝑄 = 𝑥 2 + 𝑦 2 + (𝑧 − 𝑑 1 ) 2 = 𝑎 2 2 + 𝑎 2 3 + 𝑑 2 4 + 2𝑎 2 𝑎 3 cos 𝜃 3 . = 𝑥 2 + 𝑦 2 + (𝑧 − 𝑑 1 ) 2 − 𝑎 2 2 − 𝑎 2 3 − 𝑑 2 4 2𝑎 2 𝑎 3 , sin 𝜃 3 = ± √ 1 − (cos 𝜃 3 ) 2From the third component of 𝑃 3 and the constraints,we have𝑑 1 + 𝑎 2 sin 𝜃 2 + 𝑎 3 (sin 𝜃 2 cos 𝜃 3 + cos 𝜃 2 sin 𝜃 3 ) = 𝑧,</figDesc><table><row><cell>(11)</cell></row><row><cell>Therefore,</cell></row><row><cell>cos 𝜃 3</cell></row></table></figure>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="1" xml:id="foot_0">𝑃 = ⃖⃖⃖⃖⃖⃗ 𝑂 1 𝑃 = 𝑡 (𝑥, 𝑦, 𝑧, 1).<ref type="bibr" target="#b3">(5)</ref> </note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="7" xml:id="foot_1">[𝑤 5 ] = 𝐴 −1 6 𝐴 −1</note>
		</body>
		<back>
			<div type="annex">
<div xmlns="http://www.tei-c.org/ns/1.0"><p>we have the expression for 𝑤 5 in two ways as</p><p>Then, by comparing each component of 𝑤 5 above, 𝜃 4 is obtained as the one satisfying cos(𝜃 2 + 𝜃 3 + 𝜃 4 ) = 0 and sin(𝜃 2 + 𝜃 3 + 𝜃 4 ) = ±1, together with the use of the additivity theorem. We could represent sin 𝜃 𝑖 and cos 𝜃 𝑖 (𝑖 = 1, … , 6) using the coordinates of the intersection 𝑃. Next, we want to find 𝑥, 𝑦 and 𝑧.</p><p>First, comparing the third component of 7 𝑃, we have</p><p>Next, from eq. ( <ref type="formula">6</ref>) and the trigonometric identity, we have</p><p>Finally, by equating the first and the third components in the vector in the right-most-hand of eq. ( <ref type="formula">10</ref>) with 𝑥 and 𝑧, respectively, we have</p><p>in eq. ( <ref type="formula">9</ref>) into the above equations, assuming first that sin 𝜃 5 = 1, we have the following system of equations in sin 𝜃 2 , cos 𝜃 2 , sin 𝜃 3 , cos 𝜃 3 :</p><p>in which the last two equations are added as trigonometric identities.</p><p>Then, the solution of the system in eq. ( <ref type="formula">16</ref>) gives the value of cos 𝜃 3 as</p><p>By putting cos 𝜃 3 in eq. ( <ref type="formula">17</ref>) into the first equation in eq. ( <ref type="formula">11</ref>) and multiplying both sides by (𝑝 1 − 𝑥) 2 , we have</p><p>In the case sin 𝜃 5 = −1, perform the same calculation with sin 𝜃 1 =</p><p>. In this case, the sign in eqs. ( <ref type="formula">17</ref>) and (18) changes in part, which gives the following equations.</p><p>Furthermore, eq. ( <ref type="formula">18</ref>) or eq. ( <ref type="formula">20</ref>) together with eqs. ( <ref type="formula">14</ref>) and (15), we obtain a system of polynomial equations in 𝑥, 𝑦, 𝑧. Solving the system (by using Gröbner basis computation, etc.) gives the position of the intersection point 𝑃.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.">Concluding remarks</head><p>In this paper, we have proposed a solution for the inverse kinematic problem of a 6-DOF manipulator under the condition that the orientation of the end-effector remains constant.</p><p>Our first task from here includes the verification of the solution with the CGS-QE method and efficiently solving the system of polynomial equations by using CGS, as we have proposed in the previous work. In addition, the orientation was specified this time for simplicity. However, orientation is not always constant in real-world manipulators. It is therefore necessary to develop the problem into an inverse kinematics problem for arbitrary orientations. There are several conditions on the geometry of the 6-DOF manipulator to be analytically solvable <ref type="bibr" target="#b11">[13]</ref>, and a method with computer algebra has been proposed for solving the inverse kinematic problem of the 6-DOF manipulator <ref type="bibr" target="#b1">[3]</ref>. We will look for better solutions with reference to these methods.</p></div>			</div>
			<div type="references">

				<listBibl>

<biblStruct xml:id="b0">
	<analytic>
		<title level="a" type="main">A new and efficient algorithm for the inverse kinematics of a general serial 6R manipulator</title>
		<author>
			<persName><forename type="first">M</forename><forename type="middle">P</forename><surname>Husty</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Manfred</forename><forename type="middle">L</forename></persName>
		</author>
		<author>
			<persName><forename type="first">H.-P</forename><surname>Schröcker</surname></persName>
		</author>
		<idno type="DOI">10.1016/j.mechmachtheory.2006.02.001</idno>
	</analytic>
	<monogr>
		<title level="j">Mehcanism and machine theory</title>
		<imprint>
			<biblScope unit="volume">42</biblScope>
			<biblScope unit="issue">1</biblScope>
			<biblScope unit="page" from="66" to="81" />
			<date type="published" when="2007">2007</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b1">
	<analytic>
		<title level="a" type="main">Efficient inverse kinematics for general 6r manipulators</title>
		<author>
			<persName><forename type="first">D</forename><surname>Manocha</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Canny</surname></persName>
		</author>
		<idno type="DOI">10.1109/70.326569</idno>
	</analytic>
	<monogr>
		<title level="j">IEEE Transactions on Robotics and Automation</title>
		<imprint>
			<biblScope unit="volume">10</biblScope>
			<biblScope unit="page" from="648" to="657" />
			<date type="published" when="1994">1994</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b2">
	<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="b3">
	<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="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">
	<monogr>
		<author>
			<persName><forename type="first">B</forename><surname>Siciliano</surname></persName>
		</author>
		<author>
			<persName><forename type="first">L</forename><surname>Sciavicco</surname></persName>
		</author>
		<author>
			<persName><forename type="first">L</forename><surname>Villani</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><surname>Oriolo</surname></persName>
		</author>
		<idno type="DOI">10.1007/978-1-84628-642-1</idno>
		<title level="m">Robotics: Modelling, Planning and Control</title>
				<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2008">2008</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b10">
	<analytic>
		<title level="a" type="main">An analytical solution of the inverse kinematics problem of industrial serial manipulators with an ortho-parallel basis and a spherical wrist</title>
		<author>
			<persName><forename type="first">A</forename><forename type="middle">A</forename><surname>Brandstötter</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Mathias</surname></persName>
		</author>
		<author>
			<persName><surname>Hofbaur</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of the Austrian Robotics Workshop 2014</title>
				<meeting>the Austrian Robotics Workshop 2014</meeting>
		<imprint>
			<date type="published" when="2014">2014</date>
			<biblScope unit="page" from="7" to="11" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b11">
	<monogr>
		<title level="m" type="main">The kinematics of manipulators under computer control</title>
		<author>
			<persName><forename type="first">D</forename><forename type="middle">L</forename><surname>Pieper</surname></persName>
		</author>
		<ptr target=".D.Thesis" />
		<imprint>
			<date type="published" when="1969">1969. 2024-08-05, Ph</date>
		</imprint>
		<respStmt>
			<orgName>Stanford University</orgName>
		</respStmt>
	</monogr>
</biblStruct>

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