Solving InverseKinematics of the ShotcreteManipulatorBased on the Plane Two-Link Model and Trajectory Planning

Traditionally, the construction of tunnel support is to manually move the manipulator through the remote control. During the manual construction process, there is a large rebound rate and a reduction in the compactness of the concrete. Skilled operators can obtain better shot blasting quality, but training of a skilled worker is costly. In this study, an automatic shotcretemanipulator is proposed to complete spraying and improve the spraying quality. *e model of the manipulator is simplified into a planar two-link manipulator, solved the inverse kinematics of the shotcrete manipulator, and implemented the automatic trajectory planning process. By simplifying the complex mechanical arm structure model into a simple planar two-link manipulator model, the inverse kinematics of the shotcrete manipulator is solved, and automatic trajectory planning software is developed, which can better help construction and reduce injury to personnel’s health and can also help the construction party savematerials and improve economic efficiency and construction efficiency.


Introduction
Due to the large number of tunnel excavations and constructions in the construction of subways, high-speed rail, trains, and highways, the use of concrete wet spray machines is required to complete the tunnel support. e State Council of China had issued and implemented the "13th Five-Year Plan for the Development of Modern Comprehensive Transportation System" on February 3, 2017, see Table 1 for related indicators. e manual hand-held shotcrete or remote-controlled robotic arm shotcrete is commonly used in the current construction industry, and the quality (rebound rate and thickness) and efficiency of the construction depend on the technical ability of the workers. Often, manual construction will cause a large rebound rate. us, there is a lot of waste in the tunnel construction, which increases the construction cost [1]. e intensive labor resulted in workers' fatigue, which cannot guarantee high construction efficiency. In addition, workers who work in dusty environments for a long time (see Figure 1) are prone to occupational hazards [2].
Many algorithms have been proposed for the automatic control of industrial robotic arms, involving inverse kinematics, trajectory planning, motion planning, force control, and so on. Some general 6-degree-of-freedom inverse kinematics can solve the inverse solutions of some robotic arms that meet the Pieper principle [3]. Because inverse kinematics requires tedious matrix calculation processes and clever operation skills, a symbolic inverse kinematics solver is proposed [4]. For situations where formula methods cannot be used to solve inverse kinematics, numerical methods can be used [5]. Different trajectory planning methods are proposed to enable the robotic arm to produce continuous motion with excellent kinematic performance [6][7][8]. However, for the automatic control of the shotcrete manipulator, other aspects need to be considered.
Many researchers have studied the remote operation mode of the shotcrete manipulator, data acquisition during shotcrete, simulators, etc. ese studies can help workers perform shotcrete [9][10][11]. Different methods have been proposed to automate the shotcrete process [12][13][14]. Girmscheid and Moser demonstrated fully automatic shotcrete robot (Meyco). e manipulator has 8 degrees of freedom. Due to the complex mechanical structure of the shotcrete manipulator, a closed solution cannot be obtained. erefore, it can only be solved iteratively. In this study, they set up three different modes for the shotcrete manipulator to adapt to different tunnel surface environments after blasting, including the manual mode, semiautomatic mode, and fully automatic mode. e blasting area is divided differently, and mobile spraying is performed at different speeds to ensure the designed thickness. Nabulsi et al. [13] also studied Putzmeister PM-407.
is manipulator has 5 degrees of freedom. It uses incoupling and iterative techniques to solve inverse kinematics. When normal vectors cannot be extracted correctly, the surface of the design tunnel is used directly to calculate the normal vector. In such studies, a large number of matrix operations are used to solve inverse kinematics, and only numerical solutions can be provided. e objective of this research is to model and develop an analytical solution of the shotcrete trolley of Henan Gengli Engineering Equipment Company. e manipulator has 7 degrees of freedom. By reducing the complex structure model of the robot arm to a simple planar two-link manipulator model, the inverse kinematics can be solved based on the analytical solution. Based on this, the motion trajectory of shotcrete was planned, and the control platform was developed. e structure of this paper is as follows. Section 2 studies the inverse kinematics of shotcrete manipulators in combination with shotcrete motion and presents theoretical relationships. Section 3 explains how to perform effective trajectory planning and analyzes the sudden changes in joint angles in motion. Section 4 develops a robot control platform based on the derived inverse kinematics formula and trajectory planning and verifies the correctness of the analytical solution and the rationality of trajectory planning. Section 5 presents the conclusions.

Inverse Kinematics
e shotcrete manipulator depicted in Figure 2 has 8 degrees of freedom, and the end nozzle has one degree of freedom designed for the craft, and the movement mode is to rotate around the axis to ensure the uniformity of shotcrete. is degree of freedom is not in the control system of the manipulator. Also, there are two moving joints in the same direction. Since these two moving joints control the displacement in the same direction, they are regarded as one moving joint in the inverse kinematics model. In order to reduce the rebound of the concrete as much as possible and improve the uniformity and compactness of the shotcrete, it is necessary to keep the nozzle and the sprayed surface vertical and, at the same time, keep the nozzle and the sprayed surface at a distance of 1.5 to 2 meters [15]. e principle of the structural design of the shotcrete manipulator is to facilitate the operation of the worker, and the automatic control of the manipulator is not considered.
us, the inverse kinematics of the shotcrete manipulator may not meet the design principles of the industrial manipulator. For example, the axes of the last three joints intersect at a point so that the inverse kinematics of the shotcrete robotic arm has a closed solution. Although the axis of the shotcrete robot that we studied meets the intersection of the axes of the last three joints, it introduces redundant degrees of freedom when controlling the position of the nozzle.

Kinematics Model of the Shotcrete Manipulator.
e Denavit and Hartenberg (D-H) modeling method was used to construct the coordinate system of the shotcrete manipulator as shown in Figure 3, the D-H parameters are given in Table 2, and the added nozzle coordinate system describes the target position and the sprayed surface angular relationship and distance. e two moving joints are merged into one joint and described by coordinate system 4.

Inverse Kinematics Solution.
In the inverse kinematics solution, the coordinate system e of the nozzle is not considered, which simplifies the solution process. Forward kinematics can be described as where e vector P is a 3 × 1 position vector, R is a 3 × 3 rotation matrix, and the first, second, and third columns are orthogonal vectors to each other. According to the structure of the manipulator, it is known that the front 4 joints determine the end position, but due to the redundant degrees of freedom, there are 3 known parameters here, and 3 equations can be established, but there are four unknowns, which are not directly solved according to the formula. e 1 to 4 numbers of joint will be solved by shotcrete trajectory analysis combined with geometric methods, and joint 5 and joint 6 will be solved by separating the variables using equation (1). e 1 to 4 numbers of the joint of the manipulator (joint 1, joint 2, joint 3, and joint 4) are described as seen in Figure 4. e offset value d 3 of joint 3 is ignored here so that joint 2 and joint 3 can be described as a two-link model. e purpose is to be able to analyze the problem more conveniently. By solving the joint angle value using (P x ′ , P y ′ , P z ′ ) under this model, the joint angle value can also be solved in the original coordinate system model. Joint 1 shown in Figure 4 also includes joint 2 at the same time. In order to clearly describe the effect of joints on angle, joint 2 is not expressed, and the same is true in b in Figure 4. e rotation of joint angle 1 can determine the direction of the robot arm, so joint angle 1 can be obtained by the value of the nozzle in the X-Y plane: Separating variables θ 1 to obtain equation (4) where c 1 � cos θ 1 and s 1 � sin θ 1 .
Equations (5) and (6) are squared and added, respectively, and θ 5 can be solved: By dividing equations (5) and (6), θ 6 can be solved: When computing θ 6 , sin θ 5 ≠ 0. e four joint variables determine the position of the tip nozzle and their functional relationship is: Detailed description of their specific relationship is given through the following formulas: As explained earlier, only three joint angles are required to determine the position of the end nozzle. ere are four joint angles, and redundant degrees of freedom are introduced. e following is an analysis of the motion trajectory of the shotcrete manipulator to add constraints so that the equation can be solved. ere are formulas for calculating joint angle 2 and joint angle 3 without adding constraints; however, they cannot really calculate the joint value: where m � (P x ′ ) 2 /cos 2 θ 1 and n � (P z ′ ) 2 − (a 2 2 + d 2 4 ). θ 1 cannot be equal to − 90 degree and 90 degree. Solving the joint 2 angle value is based on the geometric method (see Figure 5): where l � P x ′ × P x ′ + P y ′ × P y ′ + P z ′ × P z ′ . θ 2 � β ± α. e moving area of the spray nozzle at the end of the shotcrete manipulator is divided into four pieces (see Figure 6). Due to the limitation of the mechanical structure of the manipulator and the range of motion of the joint, area3 and area4 are areas that the robotic arm cannot reach.
When moving joint 4 is completely retracted, d 4 is 0. Area2 represents the maximum range that the two links can move when d 4 equals to zero. When the nozzle moves in area2, this mode is called mode 1; if we change d4, making it more than the zero distance, the manipulator can reach farther area, and when joint 4 moves to another limit position, d 4 equals to the maximum distance. erefore, area1 implies the movement range of two links when d 4 is greater than zero and less than the maximum distance. When the nozzle moves in area1, this mode is called mode 2. ere are five movement statuses; statuses 1, 2, and 5 lie in area1, and all of them mean that d 4 is greater than zero; statuses 3 and 4 lie in area2; both of them also mean that d 4 is equal to zero. If the nozzle moves to area2, then θ 2 and θ 3 can be solved. If the nozzle moves to area1, the nozzle moves from one position to another. e two appropriate ways to solve the problem are changing the value of joint 2 and joint 3 simultaneously and changing the value of joint 3 and joint 4 simultaneously like CCD algorithm ideas [16]. When the shotcrete manipulator sprays the concrete in the tunnel, the manipulator will move to the back joints as fast as possible to complete spraying because the manipulator has a large amount of inertia. When the mode is changed from mode 1 to mode 2, then d 4 is set to zero mile. However, when the mode is changed from mode 2 to mode 1, d 4 will be computed according to the position of joint 3 and the desire position: where P x(d) , P y(d) , and P z(d) are the position components (x, y, z) of the target point and P x (3) , P y (3) , and P z (3) are the position components (x, y, z) of coordinate 3 (d 3 � 0).  Figure 7), the formula can be used to calculate the virtual position P ′ from the actual expected position P. So, the inverse kinematics formula derived above can describe the actual joint angle value: en, we can compute the virtual desire position (d 3 � 0) using the real desire position: where P x , P y , P z is the real desire position and P x ′ , P y ′ , P z ′ is the virtual desire position.

Trajectory Planning
To improve the performance of the manual operation of the shotcrete manipulator, reasonable trajectory planning of the spraying robotic arm is required. e nozzle needs to maintain a distance of 1.5-2 m from the sprayed surface, and the nozzle needs to be vertical to the sprayed surface. erefore, the end nozzle needs to control position and attitude parameters to represent its spatial pose. For the position parameters, it needs to control 3 parameters (x, y, z), and the attitude parameters need to control 2 parameters (roll and yaw) (see Figure 8). ese parameters are specified relative to the base coordinate system. After blasting, the tunnel surface would have been overexcavated and underexcavated as depicted in Figure 9. e overexcavation part requires more concrete construction than the blasted surface, and the underexcavation part needs further processing to enable shotcrete. In normal blasting, the area is sprayed once during the spraying process (from the tunnel side to the other side). During the spraying process, a thick construction can be completed, and the overdigged part is filled. Also, several shots of this area need to be shot back and forth.    Journal of Robotics geometry is used in the present study. By manually adjusting the shotcrete manipulator to specify the initial position and the distance between the tunnel trajectories, path length, and tunnel geometry, automatic trajectory planning program can generate a complete shot trajectory (see Figure 10(b)). Figure 10(a) specifically shows the detail in trajectory planning.
is trajectory is only a schematic diagram, where d is along the arc direction described in the actual trajectory planning.

Problems in Shotcrete Manipulator Movement.
During the inverse kinematics solution, the movement of some joints is restricted, and artificially added constraints may cause joint values to jump during the movement (see Figure 11). e shotcrete manipulator in Figure 11(a) is working in mode 1. State 0 indicates that joint angle 3 has reached the limit of positive values. When the shotcrete manipulator continues to move upward, the positive value of joint angle 3 is exceeded. If the shotcrete manipulator cannot meet state 1, it will jump to state 2 and cause the joint values of 2 and 3 to change suddenly. e shotcrete manipulator in Figure 11(b) works in mode 2. State 3 indicates joint 3 has reached the limit of positive values. If the shotcrete manipulator continues to move, the values of joints 2 and 3 will also change suddenly. Because in the shot trajectory planning, linear motion is used, this mode is also one of the reasons that causes the joint value to jump. We propose a solution. When joint angle 3 of the shotcrete manipulator approaches the extreme position, it does not move in the area's motion mode or a straight line but changes the motion mode or moves in an arc path or combines the two (see Figure 12); this can prevent the angular value of joint 2 and joint 3 from jumping.

Verification of Inverse Kinematics.
e inverse kinematics solution calculates the current joint angle value based on the previous joint angle vector value and the current motion mode. As it can be seen from Table 3, when the shotcrete robot moves in mode 1, the value of joint 4 is constant, and the movement of joints 2 and 3 and joint 1 enables the tip nozzle to reach the desired position. From Table 4, it can be seen that when the shotcrete manipulator moves in mode 2, the value of joint 2 is constant. e movement of joints 3 and 4 and joint 1 enables the tip nozzle to reach the desired position. From Table 5, we can see that the changes of the joint angle are continuous when switching between mode 1 and mode 2. erefore, it is verified that the inverse kinematics solution combined with trajectory planning is correct.
A linear motion path containing two motion modes and conversion between modes is selected to verify the proposed inverse kinematics algorithm. Tables 3-5 only provide part of the data on the path to illustrate the correctness of the inverse kinematics algorithm. Solution no. means the calculated joint angle, and pose no. represents the corresponding end point pose.Where step � 0.005 m, the initial position of the movement is e end position is

Results of Automatic Trajectory Generation.
Based on the correct inverse kinematics algorithm and trajectory planning algorithm, we use OpenGL and Qt to develop host computer control software for controlling the shotcrete manipulator (see Figure 13). Simulation is included in control software to verify the correctness of the trajectory. If the parameters set are not reasonable, the parameters can be adjusted to regenerate the trajectory. Control software can monitor the motion status of the shotcrete manipulator in real time displaying the real shotcrete manipulator movement in the simulation graphical interface. Control software provides a friendly humanmachine interaction interface that is simple and convenient to operate. e design principle of the control system does not change the original-spraying robot arm as much. Additional motion controller communicates with the original motion controller to achieve the motion control of the shotcrete manipulator. By setting reasonable set of parameters, control software generates a set of executable trajectories, and simulations in software show this process (see Figure 14).

Conclusions
A simple and effective inverse kinematics calculation method was proposed. Based on this inverse kinematics, trajectory planning of the shotcrete manipulator was realized. e two-link manipulator model is used to solve the inverse kinematics of the 6-degree-of-freedom shotcrete manipulator. e process is simple and efficient, does not require a large number of matrix operations, and can easily be obtained. A combination of the motion trajectory shotcrete manipulator and its control principles is presented. erefore, reasonable constraints enable the inverse kinematics of the robotic arm to be solved. In the simplified geometry model, it is described that, by giving some initial parameters, spraying trajectory can be automatically generated. Based on the inverse kinematics solution and automatic trajectory generation proposed, manipulator control software was developed using OpenGL and QT, which provides a friendly human-computer interaction interface.
In this study, a simple geometry tunnel model is used. In the future, the real tunnel model will be obtained by sensing the environmental information with Lidar. At the same time, the normal vector of the tunnel section after blasting can be calculated to give the attitude of the tip nozzle, which can be more perpendicular to the sprayed surface to a large extent, ensuring a smaller rebound rate and better compaction.

Data Availability
e data used to support the findings of this study are included within the article.

Conflicts of Interest
e authors declare that there are no conflicts of interest regarding the publication of this paper.