Journal of Robotics, Networking and Artificial Life

Volume 8, Issue 1, June 2021, Pages 56 - 59

Kinematic Modeling and Simulation of Dual-Arm Robot

Jiwu Wang, Junxiang Xu*
School of Mechanical and Electronic Engineering, Beijing Jiaotong University, Beijing, Haidian District, China
*Corresponding author. Email:
Corresponding Author
Junxiang Xu
Received 2 December 2020, Accepted 22 April 2021, Available Online 6 June 2021.
10.2991/jrnal.k.210521.013How to use a DOI?
Dual-arm robots; real-time; inverse kinematics; simulation

In recent years, dual-arm robots have attracted more and more attention due to their advantages such as strong cooperation ability and high flexibility. With the improvement of real-time requirement of dual-arm cooperation, the inverse kinematics solution of robot becomes a key problem to be solved urgently. To solve the time-consuming problem of inverse kinematics of robot arm, a closed inverse kinematics solution algorithm for humanoid dual-arm robot was proposed. The effectiveness of the algorithm was verified by simulation.

© 2021 The Authors. Published by Atlantis Press B.V.
Open Access
This is an open access article distributed under the CC BY-NC 4.0 license (


Humanoid dual-arm robot is a kind of bionic robot designed by imitating the shape, structure and function of human body. It can work with both hands cooperatively just like human. The inverse kinematics of manipulator mainly includes geometric method, analytical method and numerical method. The geometric method is a special case of analytic method in some cases, and its applicability is weak [1,2]. Analytical inverse kinematics of the manipulator can efficiently obtain all the inverse solutions of the manipulator in the desired position, but the manipulator must satisfy the Piper criterion [3]. The numerical method has no special requirements for the joint number and structure of the manipulator, but it needs to be solved through continuous iteration, which not only takes a long time, but the average calculation error is also 10 times that of the analytical method [4,5].

Because it takes a long time to meet the accuracy requirement and solve the problem of manipulator inverse kinematics solution, the analytical solution is adopted. In Section 2, a closed inverse kinematics algorithm is proposed for the humanoid robot arms. The algorithm is used for simulation analysis in Section 3. And we verify the effectiveness of the algorithm in Section 4.


2.1. Forward Kinematics

The robot model in this paper is shown in Figure 1. Each arm of the robot has six Degrees of Freedom (DOF). The three axes of the shoulder joint intersect at one point. Because this case conforms to the Piper criterion, there are analytic solutions. In general, the end of the robot meets the Piper criterion, but the shoulder joint of the humanoid robot generally meets the Piper criterion. Although it looks the same, their solutions are different. Taking the shoulder joint as the basic coordinate frame [6], Figure 1 also shows the link coordinate frames of the right arm and its DH parameters. Where joint i represents the i-th joint of the manipulator, θi is the angle between xi−1 and xi, di is the distance between xi−1 and xi, ai is the distance between zi−1 and zi, αi is the angle between zi−1 and zi. The left arm and the right arm are identical.

Figure 1

Link coordinate frames of the right arm and its DH parameters.

The position and orientation of the end-effector can be obtained by chain-multiplying the six link-transformation matrices together to obtain the spatial displacement of the sixth coordinate frame with respect to the base coordinate frame:

0T6=i=16i-1Ai=0A11A22A33A44A55A6=[x6y6z6p60001]=[nsap0001] (1)
Where xi, yi and zi represent the unit vectors along the principal axes of the coordinate frame i, i-1Ai is a general link transformation matrix, relating the i-th coordinate frame to the (i − 1)th coordinate frame, and [n, s, a, p] represents the normal vector, the sliding vector, the approach vector and the position vector of the hand respectively.

2.2. Inverse Kinematics

We take the inverse of both sides of Equation (1). The new matrix T′ is

T'=[nsap0001]-1=[n's'a'p'0001]=6A55A44A33A22A11A0=6A0 (2)

We can obtain an equation that we label as E2 equation by moving the link transformation matrix 5A6 to the left-hand side of Equation (2).

5A6T'=5A44A33A22A11A0 (3)

The left-hand side of E2 is

EL2=[C6(px'+lL4)-S6py'S6(px'+lL4)+C6py'pz'0001] (4)

And the right-hand side of E2 is

ER2=[S4C5lL2-C4lL2-lL3S4S5lL20001] (5)

Where Si ≡ sin θi, Ci ≡ cos θi, Sij ≡ sin(θi + θj), Ci ≡ cos(θi + θj), and lLi are geometric link parameters in Figure 1. By comparing the elements (1, 4), (2, 4) and (3, 4) of the EL2 and ER2, we can obtain C4 and then S4 from C4, and from which we can find the joint solution for θ4. we can solve θ5 when we have solved θ4. Similarly, we can solve θ6 when we have solved θ4 and θ5.

C4=(px'+lL4)2+py'2+pz'2-lL22-lL322lL2lL3S4=±1-C42θ4=atan2(S4,C4)S5=pz'(S4lL2)C5=±1-S52θ5=atan2(S5,C5)θ6=atan2(-(C4lL2+lL3),S4C5lL2)-atan2(py',px'+lL4) (6)

To solve for the remaining joint angles, we can move the link transformation matrix 3A4 4A5 to the left-hand side of Equation (3). And we can obtain an equation that we label as E4 equation.

3A44A55A6T'=3A22A11A0 (7)

The left-hand side of E4 is

EL4=[a11a12a13a14a21a22a23a24a31a32a33a340001] (8)

And the right-hand side of E4 is

ER4=[C1C2C3-S1S3C1S3+S1C2S3S2C30-C1S2-S1S2C2lL2S1C3+C1C2S3S1C2S3-C1C3S2S300001] (9)

By comparing the element (2, 3) of EL4 and ER4, we get C2 and then S2, and the joint solution θ2 from them,

C2=a23=az'S4S5-ay'(C4C6+S4C5S6)-ax'(C4S6+S4C5C6)S2=±1-C22θ2=atan2(S2,C2) (10)

By comparing the elements [(1, 3) (3, 3)] and [(2, 1) (2, 2)], we can find the joint solution θ3 and θ1,

a13=ax'(C4C5C6+S4S6)+C4S5az'+(S4C6-C4C5S6)ay'a33=S5C6ax'-C5az'-S5S6ay'θ3=atan2(a33,a13)a21=(S4C5C6-C4S6)nx'+S4S5nz'-(S4C5S6+C4C6)ny'a22=(S4C5C6-C4S6)sx'+S4S5sz'-(S4C5S6+C4C6)sy'θ1=atan2(-a22,-a21) (11)

The solution of the six joints is obtained by the above procedure. The left arm is exactly the same as the right arm for the solution.


3.1. Model Building

In this paper, the dual-arm robot simulation model mainly includes three parts, namely the trajectory planning joint angle input module, the robot body module and the output measurement module. Its Simscape Multibody model is shown in Figure 2.

Figure 2

Dual-arm robot simulation model.

3.2. Establishment of Joint Angle Input Module for Trajectory Planning

We plan the trajectory of space in Cartesian coordinates. After solving the inverse kinematics function, we can obtain the angles of each joint. Then we output these angles to the various joints of the arm. The joint angle input model for trajectory planning is shown in Figure 3.

Figure 3

The joint angle input model for trajectory.

3.3. Establishment of Robot Ontology Module

Figure 4 shows the robot ontology module. It includes world coordinate frame and robot ontology. The robot has two arms. Each arm has six DOF, including three DOF for shoulder joint, one DOF for elbow joint and two DOF for wrist joint.

Figure 4

The robot ontology module.

3.4. Establishment of Output Measurement Module

The output measurement module shown in Figure 5 can measure the rotation angle of each DOF. Through this module, we can also obtain the displacement of the terminal coordinate frame of the manipulator relative to the base coordinate frame.

Figure 5

The output measurement module.


4.1. Simulation Process

The robot first raised their arms and then approached each other. The entire process is shown in Figure 6.

Figure 6

Simulation diagram of each moment. (a) t = 5 s. (b) t = 10 s. (c) t = 15 s. (d) t = 20 s.

4.2. The Motion Angles of Each Joint

Figure 7 shows the motion angles of each joint of the manipulator. At the initial moment, the angle of each joint is 0 radian, and at about 10 s, the robotic arms begin to approach each other. The angle of each joint is continuous in the whole process, which proves that the inverse kinematics solution algorithm in this paper can solve the analytic solution effectively.

Figure 7

The motion angles of each joint of the (a) left and (b) right arms.


In this paper, the kinematics modeling of dual-arm robot is carried out. We present an analytical solution method for six DOF dual-arm robot for each arm. Simulation results show that the proposed method is effective. In the future, it will be applied to the arm trajectory planning of the robot.


The authors declare they have no conflicts of interest.


This work was supported by the Key Research and Development Program (No. M18GY300021).


Dr. Jiwu Wang

He is an Associate Professor, Beijing Jiaotong University. His research interests are Intelligent Robot, Machine Vision, and Image Processing.

Mr. Junxiang Xu

He is a postgraduate in Beijing Jiaotong University. His research interest is Robot Modeling and Simulation.

Journal of Robotics, Networking and Artificial Life
8 - 1
56 - 59
Publication Date
ISSN (Online)
ISSN (Print)
10.2991/jrnal.k.210521.013How to use a DOI?
© 2021 The Authors. Published by Atlantis Press B.V.
Open Access
This is an open access article distributed under the CC BY-NC 4.0 license (

Cite this article

AU  - Jiwu Wang
AU  - Junxiang Xu
PY  - 2021
DA  - 2021/06/06
TI  - Kinematic Modeling and Simulation of Dual-Arm Robot
JO  - Journal of Robotics, Networking and Artificial Life
SP  - 56
EP  - 59
VL  - 8
IS  - 1
SN  - 2352-6386
UR  -
DO  - 10.2991/jrnal.k.210521.013
ID  - Wang2021
ER  -