1. Introduction
With the continuous progress of industry, the workspace of robots has become increasingly complicated. The narrow space is a typical difficult operating environment. Since the environment is unstructured, its constraints are uncertain. Robots need to meet both workspace and obstacle avoidance requirements. Traditional robots confront a lot of difficult operation requirements. Due to these reasons, it is necessary to investigate flexible robotic arms with large aspect ratios, high degrees of freedom (DOFs), and operation flexibility [
1,
2,
3]. Flexible robotic arms are suitable for environments that are dangerous and inaccessible to humans and suitable for exploration, maintenance, rescue, and other operations in complex and unstructured narrow spaces such as aerospace equipment and nuclear power plants [
4,
5,
6]. In the field of aviation, flexible robotic arms are used to perform autonomous assembly, monitoring, and maintenance tasks in a small space [
7].
The major research difficulty of the snake robot lies in the kinematics, statics, and dynamic control. It is necessary to establish a kinetostatic model to achieve static control when requiring a quick response speed. The flexible robot is a highly coupled nonlinear system with a lot more redundant DOFs and stronger coupling forces and torques compared with the traditional non-flexible robots, making it difficult to establish an accurate statics model. Inverse kinetostatics is used in torque real-time control based on kinetostatic models [
8]. It is within the remit of the control problem to find out the torque of all joints of the real-time servo motors when the external load of a manipulator is prescribed [
9]. Therefore, kinetostatics analysis of robots plays an important role in engineering design and robot control [
10].
In fact, the inverse kinematics of redundant robots is an important issue and a prerequisite for studying the statics of redundant robot motion. The calculations in this paper are based on the premise of providing joint angular displacement functions, which require solving through inverse kinematics.
Currently, the statics equations for serial robots are usually available in two methods: the static force transfer formula and the force Jacobian matrix method [
11,
12]. The static transfer formula method is a widely adopted approach for statics analysis [
13,
14]. This method primarily involves the analysis of forces acting on each rigid body, resolving the mechanical equations for all rigid bodies to determine the forces at all joints. However, employing this method necessitates the force analysis of each rigid body and in the statics modeling of serpentine arms, it entails a considerable computational cost. Another method for statics analysis of mechanisms involves the force Jacobian matrix formula, grounded in the Denavit–Hartenberg (D–H) method [
15,
16]. For example, Palpacelli et al. derived a redundant device driven by cables using the static transfer formula, solving the static and kinematic problems of industrial robot auxiliary equipment [
17]. Lu et al. studied the kinetostatics of a 6-DoF parallel manipulator using the principle of virtual work [
18]. Zhang et al. designed a novel parallel robot and analyzed its force solution by using a generalized static transfer equation [
19]. However, the current efficiency of solving kinematics and statics of robots cannot meet the actual industrial demands. The screw is a six-dimensional vector that has great advantages in solving a couple of motions and forces [
20]. The kinematics and statics of lower mobility series robots are systematically studied but lack research by considering acceleration parameters [
21].
In the practical operations of redundant snake-like robots, they are typically employed to transport the end effector to the desired position for tasks such as inspection. Greater emphasis is placed on the precision of the end effector’s positioning rather than on the intermediate dynamic characteristics. Consequently, the actual movement is relatively slow and can be considered quasi-static. Therefore, studying the kinetostatics of these robots is of significant importance.
This paper investigates the kinematics and statics of redundant snake robots by using the screw kinetostatics method. The kinetostatics equations are derived by combining the velocity screw and force screw with the principle of virtual work. Therefore, the computational efficiency of the kinetostatic equation is improved by avoiding the traditional method of matrix inversion, which is of great significance for practical on-time engineering applications. A unified description is established in a coordinate system by using the velocity screw and force screw to describe motion and force, which makes the mechanism analysis more straightforward. The computational efficiency of the traditional static method and the new method proposed in this paper is analyzed and compared. Simultaneously, computer programming that constructs the equations of equilibrium is extended to analyze the kinetostatics of manipulators and is used to simulate the motion process. Due to the difficulty of achieving weightlessness in real space environments, this paper validates the method described in this paper by using ADAMS simulation to remove gravity in the simulation environment.
2. Structure of the Redundant Snake Robot
The structure diagram of the snake robot is illustrated in
Figure 1. It consists of six equal segments, connected in series with universal joints between each segment. Each segment is restrained from each other by a universal joint. A motor mounted at the end drives three soft cords for robot attitude control. The snake robot contains six universal joints. Each universal joint has 2 degrees of freedom, so the total number of degrees of freedom of the mechanism is 12. The robot’s end effector is connected to the sixth segment by means of a universal joint. The end effector is directly connected to the gluing unit.
As shown in
Figure 2, the single segment of the robot consists of a universal joint, an angle sensor, a structural subject, a cushion clock, and linear bearings. The segment is driven by a cable to move the universal joint.
Past researchers calculated the deformation of the cable. Although the robot is driven by soft cables, the tension of each cable is difficult to know in practice. Measuring the joint moments of the universal joint is one way to obtain the cable tension. By converting the joint moments, the cable tension can be obtained.
The angular displacement and angular velocity of each universal joint can be obtained when the motion of the end-effector is known. This is a kinematic problem that is easy to solve. When the external force acting on the end-effector is known, the joint moment of each universal joint needs to be calculated. Therefore, this paper mainly investigates the kinetostatics of redundant snake robot, which aims to solve the motion and forces at each universal joint in equilibrium.
3. Kinetostatics Fundamentals of Screw Vector
3.1. Theoretical Foundations of the Screw Kinetostatics
To simplify the discussion, let us suppose that a multi-body system in series is connected by
rotational joints. According to the principle of velocityposition, the angular velocity and linear velocity of the joints of a series of connected rigid bodies relative to the absolute coordinate system can be expressed by
where
represents the position vector of the
rigid body and
denotes the angular velocity of the
rigid body.
The velocity screw
at joint
of rigid body
is composed of the angular velocity
of the rigid body and its dual vector
as
where
is the angular velocity at which the rigid body
rotates relative to the rigid body
and
is the unit velocity screw.
By combining Equations (1) and (2), the velocity screw
of the end effector for a series of rigid body systems with
joints can be gained, as follows:
where
is the unit velocity screw matrix with
connected rigid body and
denotes the angular velocity of all rigid bodies; the
element of which is the relative angular speed of the
rigid body relative to the
rigid body.
When the kinematic parameters of the end effector in the absolute coordinate system are known, the angular velocity of each joint can be solved as
where
is the left inverse of the unit velocity screw matrix
.
After the angular velocities of all joints are solved, the angular displacement of each joint can be obtained by using numerical iteration methods. Assuming that the angular displacement of each joint at the initial moment is
, the iteration step is
. When the angular velocity
and displacement
at moment
are known, the angular displacement
of each joint at moment
is
By employing Equations (4) and (5), the displacements and velocities of all joints can be solved in screw coordinates.
Suppose the differential work performed by the rotational joint because of its infinitesimal displacement
is
. It leads to
Because
. Equation (6) can be expressed as
where
is the driving torques of every rotational joint and
is the differentiation of time.
Based on force screw theory, the virtual work conducted by the external load of the end effector during operation is
where
is the force screw,
and
.
Equation (8) can be expressed as follows
According to the principle of virtual power, it yields
Therefore, the driving torques for all joint motors are demonstrated in the vector form as
To make it easier to understand the structure of the method and the computational process,
Figure 3 shows the computational flow of the screw kinetostatics method.
3.2. Kinetostatic Analysis of a Planar Robotic Grasper
To illustrate this method, we first give a case study.
Figure 4 illustrates a planar robotic grasper. The external load is
P acting on the end effector. We need to analyze the individual joint torques
,
, and
required to balance the external load.
First, an absolute coordinate frame is established, as shown in
Figure 4. The origin of the absolute coordinates is at the point
and the
z-axis is perpendicular to the plane. In the absolute coordinate system, the twist matrix of the end effector
. Then, the twist matrix is obtained as follows
In the absolute coordinate frame, the velocity screw of the end effector can be obtained.
V is the screw matrix composed of unit screws. Unit screws of rotational joints are demonstrated as follows
According to the geometric relationship, it yields
Equation (12) can be described by the geometrical parameters as follows
With reference to
Table 1, the initial structural parameters and all angular displacements at the initial time are set.
Based on the analysis above, it is known that the external load and the twist matrix are at the initial time. As the system is in equilibrium conditions, the torques are directly obtained as follows:
At this time, the twist matrix
is substituted into Equation (17) and the torque of each joint at time
t = 0 can be obtained. Then, through numerical iteration, the twist matrix
at
is updated. Substituting
into Equation (16) and after iteration, the curve of the input torques of the motors in a period can be calculated. By programming the algorithm, the input torque curve (see
Figure 5) of each joint was plotted.
From
Figure 5, we find that both motors at joints
and
change cyclically. The torque of motor 3 at the joint
is constantly zero. This is true in
Figure 5 since the weight of the grasping object passes through the joint
.
4. Kinetostatics of the Redundant Snake Robot
4.1. Kinematic Analysis of a Redundant Snake Robot
For the sake of simplicity, we decompose each universal joint into two orthogonal rotational joints and establish an absolute coordinate system on the base. We establish a joint coordinate system at the center of each rotational joint so that the axis of the joint coordinate system points in the direction of the angular displacement of the rotational joint. The redundant snake robot involves 12 screws, namely
. The coordinate systems and screws are shown in
Figure 6.
The direction vector and position vector of all joints were exhibited geometrically. Suppose represents the unit vector of each rotational joint and denotes the position vector of each rotational joint.
For a universal joint, there are two-unit screws. The twist matrix of this redundant snake robot is
Next, the twist matrix is derived by adopting the rotation matrix method. The transformation matrix from coordinate system {1} to the absolute coordinate system is
The transformation from coordinate system {
i} to the absolute coordinate system is easy to calculate. Therefore, the position vectors of each universal joint center are
Equation (22) provides the position vector of the robot in the absolute coordinate system. Substituting Equation (22) into Equation (20) yields the screw matrix of the redundant snake robot.
To calculate the angular displacement of each joint for motion control, the initial parameter values of the robot are shown in
Table 2.
Each joint motor and its angle of rotation are shown in
Figure 7.
Sine waves are provided in
Table 3 as a function of motion for each joint. The sine wave is one of the most fundamental waveform contours. In practical applications, other more complex waveforms can be obtained by using the Fourier transform. Therefore, other waveform movements can be seen as the superposition of multiple sine waveform functions.
The relative angular displacements of each of the robot’s joints are plotted in
Figure 8.
Figure 8 shows that, when a regular motion is given, there are no abrupt changes in the displacement, velocity, and acceleration of the joints over a complete cycle of motion.
4.2. Screw Statics of a Redundant Snake Robot
Based on the kinematic analysis, the screw matrix
of the robot can be obtained. The moment of each universal joint can be calculated with Equation (1). However, during the movement of the robot, it needs to be equipped with an actuator, which is subjected to a gravity value of
. Furthermore, the end effector of the redundant snake robot is utilized to manipulate within a narrow workspace. The wrench matrix of the actuator is
It is worth noting that the torque of each joint we provide is a sinusoid curve with respect to time. This means that each joint will have an angular acceleration during the motion process, so an inertial moment will be generated.
The d’Alembert principle is a theory that transforms dynamic problems into static problems. It treats the moment of inertia acting on each joint as an external load, enabling the use of statics principles and methods to analyze and solve dynamic problems. Specifically, the d’Alembert principle converts the inertia moment and external force in dynamic problems into an equivalent static load, which can be represented by the forces and moments applied to each joint. In this way, we may use the principles and methods of statics to analyze and calculate the forces and moments on each joint, thereby obtaining solutions to dynamics problems.
In a redundant snake robot, the d’Alembert principle is utilized to transform the inertia moment acting on each joint into a static wrench. So, the inertia moment of each joint is
where
is the moment of inertia of each segment and
is the angular acceleration of the joint.
All the external loads can be expressed in screw form for the
(
) joint, as follows:
Hence, the driving torques of the redundant snake robot can be obtained directly. Assuming that the robot does quasi-static motion according to the joint angle function shown in
Table 3, the joint torques can be obtained and plotted in
Figure 9, where curves 1–12 correspond to the torques of these 12 motors, respectively. The calculation time 6 s can show that the driving function is also a trigonometric curve with periodic reciprocation. The amplitude of the driving moment gradually decreases as it approaches the end position. The inertial parameters of the robot are provided in
Table 4.
The maximum driving torque for different motions is shown in
Table 5.
To verify this result, a simulation experiment is designed in the ADAMS environment. The driving function shown in
Table 3 is added to the motor. A 6-s simulation is conducted. The simulation results are shown in
Figure 10.
From the simulation results, it can be seen that the simulation curve has the same period and approximate amplitude as the theoretical calculation curve. In order to further compare and analyze this, the simulation curve and the theoretical calculation curve are plotted in one graph, as shown in
Figure 11.
From
Figure 11, it can be seen that the theoretical calculation curve is basically consistent with the simulation, which validates the theoretical method. However, there is a slight difference in amplitude between these two results, which is mainly due to two reasons. On the one hand, the parameters of the robot linkage in theoretical calculations are design parameters, while in simulation, the parameters of the robot linkage are measured or calculated through models. Another difference is that friction is taken into account in the simulation while it is ignored in our theoretical calculation. On the other hand, the results of the theoretical calculations are obtained by MATLAB R2021b programming. Floating-point numbers in the computer also lead to the difference between the MATLAB R2021b programming results and the ADAMS 2020 dynamics simulation software results.
In addition, there are differences between the theoretical curves and the simulated ones near the peak of the curves, appearing at times of 0.5 s, 1.5 s, 2.5 s, 3.5 s, 4.5 s, and 5.5 s, respectively. By observing the points corresponding to the response time on the joint angle curves, it can be found that the angular velocities of the joints at the above times are all zeros. This difference is mainly due to the static friction force. Due to the difference in the static friction coefficient and sliding friction coefficient of the object, the friction force will change at the time of 0 velocity, resulting in the difference at the corresponding time curve.
Based on the analysis of joint torque with a redundant snake robot, the numerical algorithms are efficient and comprehensible in calculating the torques of all joints. The joint torque of the spatial serial multi-chain robot can be dynamically controlled on time by applying this kinetostatics algorithm.
5. Discussion
When the equilibrium equations of statics are used to analyze robot kinematics and statics, we need to list the equilibrium equations for each rigid body and ultimately the association of these equations. As shown in references [
13,
14,
17,
22,
23], the general statics equations can be written as
where
is the structure matrix,
is the joint torque, and
is the external load. From formula (26), it can be seen that solving the joint torque requires calculating the inverse of the structural matrix
.
However, the method proposed in this paper, which expresses the forces and moments through the force screw, is ultimately to solve Equation (11), that is, to solve for a product of matrices and vectors.
According to linear algebra, the multiplication of matrices and vectors can be transformed into a number of dot products of vectors. It has the time complexity of . The time complexity of solving the inverse of a matrix is . The static equilibrium method requires solving the inverse of the matrix while the screw kinetostatics method only requires the calculation of the product of a matrix and a vector. Therefore, the computational cost of the static equilibrium method is much more than that of the screw kinetostatics method.
In addition, this method is very concise in calculating the joint forces of a redundant serial robot. A screw simultaneously represents the position and direction of a vector, making it more convenient for the motion and force direction of a rigid body. Compared with the traditional methods in the Cartesian coordinate frame, the screw equation is free from complex algebraic manipulation and convenient to obtain a twist matrix from by Plücker coordinates. With the definition of twist and wrench, we associate the kinematics with statics by unit screws.
Lastly, to solve the problem of inertial forces generated by joint acceleration, the d’Alembert principle is adopted to transform dynamics into statics, thereby simplifying the solution process. This approach allows us to more quickly analyze and calculate the forces and moments on each joint, leading to the better design and optimization of mechanical systems.
6. Conclusions
In this paper, taking the space space-weightless scenario as a typical application, a systematic kinetostatics of a redundant serpentine robotic arm is carried out. The approach involves kinematic analysis by using matrix transformation and screw theory, which are very suitable for analysis and has good intuition. Firstly, the mechanical model of the redundant serpentine robotic arm was established. By using the matrix transformation method, the direction vector of each universal joint can be obtained. Furthermore, the twist matrix can be established from Rodrigues parameters. According to the principle of virtual work, the kintostatics equation is derived under the condition of zero virtual power. At the same time, to solve the problem of inertial forces generated by joint acceleration, we adopt the d’Alembert principle to transform dynamics problems into statics, thereby simplifying the solution process. This method enables us to analyze and calculate the forces and moments on each joint more accurately, thereby better designing and optimizing mechanical systems. Finally, the driving torque of each universal joint can be calculated. The results indicate that the proposed method provides a convenient way for the computer programming of a redundant robot. The method can also be utilized in motion control and trajectory planning.
Author Contributions
Conceptualization, J.-S.Z.; methodology, D.-J.Z. and H.-L.S.; formal analysis, J.-S.Z., D.-J.Z. and H.-L.S.; writing—original draft preparation, D.-J.Z. and H.-L.S.; Programming calculations with MATLAB, D.-J.Z., H.-L.S. and Z.-C.D.; Simulation analysis with ADAMS, D.-J.Z. and Y.-B.Y. All authors discussed and revised the paper. All authors have read and agreed to the published version of the manuscript.
Funding
This work is supported by the National Natural Science Foundation of China (NSFC 62133001).
Data Availability Statement
Data are contained within the article.
Acknowledgments
This work was supported in part by the State Key Laboratory of Tribology, Tsinghua University and in part by 105 of AVIC Manufacturing Technology Institute.
Conflicts of Interest
The authors declare no conflicts of interest.
References
- Martelli, S.; Mazzei, L.; Canali, C.; Guardiani, P.; Giunta, S.; Ghiazza, A.; Mondino, I.; Cannella, F.; Murino, V.; Del Bue, A. Deep Endoscope: Intelligent Duct Inspection for the Avionic Industry. IEEE Trans. Ind. Inform. 2018, 14, 1701–1711. [Google Scholar] [CrossRef]
- Pistone, A.; Canali, C.; Gloriani, C.; Leggieri, S.; Guardiani, P.; Caldwell, D. Reconfigurable inspection robot for industrial applications. Procedia Manuf. 2019, 38, 597–604. [Google Scholar] [CrossRef]
- Guardiani, P.; Canali, C.; Pistone, A.; Leggieri, S.; Gloriani, C.; Rahman, N.; Cannella, F.; Caldwell, D. Novel Integrated Robotic System for Tiny Duct Inspection. Procedia Manuf. 2018, 17, 342–349. [Google Scholar] [CrossRef]
- Qin, G.D.; Wang, Q.; Li, C.Y.; Ji, A.; Wu, H.; Yang, Z.; Wen, S. Design and development of a cable-driven elephant trunk robot with variable cross-sections. Ind. Robot. 2023, 50, 520–529. [Google Scholar] [CrossRef]
- Kang, M.; Han, Y.-J.; Han, M.-W. A Shape Memory Alloy-Based Soft Actuator Mimicking an Elephant’s Trunk. Polymers 2023, 15, 1126. [Google Scholar] [CrossRef] [PubMed]
- Canali, C.; Pistone, A.; Ludovico, D.; Guardiani, P.; Gagliardi, R.; De Mari Casareto Dal Verme, L.; Sofia, G.; Caldwell, D.G. Design of a Novel Long-Reach Cable-Driven Hyper-Redundant Snake-like Manipulator for Inspection and Maintenance. Appl. Sci. 2022, 12, 3348. [Google Scholar] [CrossRef]
- Staritz, P.J.; Skaff, S.; Urmson, C.; Whittaker, W. Skyworker: A robot for assembly, inspection and maintenance of large scale orbital facilities. In Proceedings of the 2001 IEEE International Conference on Robotics and Automation, Seoul, Republic of Korea, 21–26 May 2001; pp. 4180–4185. [Google Scholar]
- Zhao, J.S.; Sun, H.L. Kinetostatics of a serial robot in screw form. Adv. Mech. Eng. 2023, 15, 1–12. [Google Scholar] [CrossRef]
- Dai, J.S.; Wang, K.; Zhang, C.; Wang, S. Kinetostatic backflip strategy for self-recovery of quadruped robots with the selected rotation axis. Robotica 2022, 40, 1713–1731. [Google Scholar]
- Zeng, L.; Bone, G. Design of elastomeric foam-covered robotic manipulators to enhance human safety. Mech. Mach. Theory 2013, 60, 1–27. [Google Scholar] [CrossRef]
- Craig, J.J. Introduction to Robotics: Mechanics and Control, 4th ed.; Pearson Prentice Hall: Upper Saddle River, NY, USA, 2017. [Google Scholar]
- Angeles, J. Fundamentals of Robotic Mechanical Systems: Theory Methods, and Algorithms; Springer: New York, NY, USA, 2007. [Google Scholar]
- Li, J.; Zhang, X. Theoretical Mechanics, 3rd ed.; Tsinghua University Press: Beijing, China, 2021. [Google Scholar]
- Wang, D.; Cheng, Y.; Sun, Y. Theoretical Mechanics, 8th ed.; Higher Education Press: Beijing, China, 2016. [Google Scholar]
- Sun, H.L.; Sun, W.; Chen, B.; Hou, Y.; Kong, J.Y. Design, analysis, and experiment of a scissor-shaped deployable metamorphic hand. ASME J. Mech. Rob. 2022, 14, 060909. [Google Scholar] [CrossRef]
- Sun, T.; Liu, C.; Lian, B.; Wang, P.; Song, Y. Calibration for Precision Kinematic Control of an Articulated Serial Robot. IEEE Trans. Ind. Electron. 2020, 68, 1–10. [Google Scholar] [CrossRef]
- Mejia, M. Static performance improvement of an industrial robot by means of a cable-driven redundantly actuated system. Mech. Mach. Theory 2016, 38, 1–8. [Google Scholar]
- Lu, Y.; Li, X. Kinetostatics Analysis of a Novel 6-DOF Parallel Manipulator with Three Planar Limbs and Equipped with Three Fingers. Chin. J. Mechnical Eng. 2014, 27, 919–927. [Google Scholar] [CrossRef]
- Zhang, D.; Bi, Z.; Li, B. Design and kinetostatic analysis of a new parallel manipulator. Robot. Comput.-Integr. Manuf. 2009, 25, 782–791. [Google Scholar] [CrossRef]
- Featherstone, R. Rigid Body Dynamics Algorithms; Springer: Berlin/Heidelberg, Germany, 2008. [Google Scholar]
- Zhao, J.S.; Sun, H.L.; Li, H.Y.; Zhao, D.J. Screw Dynamics of a Multibody System with Schoenflies Motion. Appl. Sci. 2023, 13, 9732. [Google Scholar] [CrossRef]
- Li, K.; Liu, M.; Yu, Z.; Lan, P.; Lu, N. Multibody system dynamic analysis and payload swing control of tower crane. Proc. Inst. Mech. Eng. Part K J. Multi-Body Dyn. 2022, 236, 407–421. [Google Scholar] [CrossRef]
- Lim, W.; Yang, G.; Yeo, S.; Mustafa, S.K. A generic force-closure analysis algorithm for cable-driven parallel manipulators. Mech. Mach. Theory 2011, 46, 1265–1275. [Google Scholar] [CrossRef]
| Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content. |
© 2024 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).