Abstract
Hyper-redundant robots, robots with many degrees of freedom, are considered to be advantageous in many tasks, such as minimally invasive surgery, surveillance and inspection. However, due to their hyper degrees of freedom, the control of hyper-redundant robots is always challenging. Several fitting algorithms, which iteratively fit a hyper-redundant robot into a continuous curve, have been proposed to control the configuration of hyper-redundant robots. However, these algorithms require heavy computation, preventing them from being used in practice. In this study, we propose a novel modular control scheme for a hyper-redundant robot to reduce the computational load by dividing the robot into smaller modules and fitting each module separately. A Jacobian-based position control algorithm is also used to utilize the redundancy of each module to ensure that the overall configuration of the robot resembles the given desired curve. Simulation results show that the proposed scheme can be used to control hyper-redundant robots effectively.
Introduction
There has been much study devoted to the hyper-redundant robot, which is a robot with lots of redundant joints. Redundancy improves the dexterity and the robustness of a robot [1] and thus, it is expected that hyper-redundant robots would show better performance than conventional robots, especially in an unstructured environment. For this reason, many hyper-redundant robots have been developed for tasks such as minimally invasive surgery [2–4], surveillance [5] and inspections [6]. However, the practical application of hyper-redundant robots has been limited because the control of a hyper-redundant robot requires all active joints to be controlled in a systematic way to create a well-defined task motion. Often, the pseudoinverse of Jacobian is used to control a redundant robot, which allows the robot to utilize the redundancy to achieve a secondary goal, such as avoiding an obstacle [7], joint limits [8, 9] and kinematic singularity [10]. However, these Jacobian-based methods are intended for a robot with one or two additional degrees of freedom (DOF) and they cannot be used to control a hyper-redundant robot. Furthermore, these methods cannot effectively control the overall configuration of a hyper-redundant robot, which is often desired.
There has been much research done on the control of hyper-redundant robots. These algorithms focus on expressing the desired posture of the robot as a backbone curve, and controlling the robot to resemble the created curve. A modal-based approach was introduced to control a hyper-redundant robot effectively [11], but that method is limited to a planar robot. A solution based on the shape Jacobian was also proposed to control the shape of a robot [12]. However, the solution is limited to a robot with two DOF revolute joints. A shape estimation method using an extended Kalman filter and an electromagnetic sensor was proposed [13], which is applicable if and only if the robot is controlled by a follow-the-leader algorithm.
On the other hand, fitting algorithms, which iteratively fit the configuration of a hyper-redundant robot into a continuous backbone curve, are also widely studied in order to control hyper-redundant robots. Fitting algorithms are often preferred as they can better reflect the discrete structure of hyper-redundant robots. A fitting algorithm, which approximates the backbone curve by piecewise line segments, was introduced [14], but the algorithm is only applicable to a robot with universal joints. Another algorithm, which can be used on a hyper-redundant robot of any joint configuration, was introduced [15]. A fitting algorithm with reduced computational load was also introduced in [16], which is also limited to robots with universal joints.
However, while these algorithms can be used to control a hyper-redundant robot, the required computational load is still too heavy for practical uses, especially if the robot has many redundant DOF. It was found that to improve the performance of the fitting algorithms, the required computational load must increase exponentially [15]. Another concern with fitting algorithms is that they focus on controlling the configuration of hyper-redundant robots and they cannot be used to place the end-effector of the robots at the desired position. However, since many hyper-redundant robots perform tasks using tools at their end-effectors, its end-effector positioning accuracy must be guaranteed.
In this study, in order to reduce the computational burden of fitting algorithms, we propose a novel control scheme to distribute the computational load among multiple controllers. The scheme divides the robot into modules and applies a fitting algorithm and a Jacobian-based position control algorithm. The fitting algorithm ensures that the configuration of the robot resembles the desired curve while the position control algorithm utilizes the redundancy of each module to enable parallel computation. The advantages of the proposed scheme are as follows. First, the scheme is computationally efficient, as each controller only has to fit the assigned module. Second, the scheme is not restricted to a robot with a certain joint configuration. Lastly, by using the position control algorithm, the end-effector accuracy can be guaranteed. A similar concept for a hyper-redundant robot was proposed in [17], but the study aimed to remove the redundancy of each module. In contrast, the proposed scheme focuses on utilizing the redundancy to enable parallel computation.
Modular Control Scheme
Controller Configuration
To enable modular control, a given desired backbone curve must be divided into smaller segments for each module. Two types of controllers are involved in this scheme: the main controller and the module controllers. The main controller is in charge of dividing the curve and assigning it to each module. Then, each module is fitted to the assigned segment by its module controller. Following the fitting, a Jacobian-based position control algorithm is used to adjust each module so that the resulting configuration of the robot resembles the given backbone curve. The overall flow of the proposed scheme is illustrated in Figure 1 and a detailed explanation of each step will be given in the following sections.

Proposed control scheme and role of each controller
We first assume that a desired backbone curve is given as a point set
Assuming the robot consists of
where
To enable parallel computation, the start and end position and orientation of each segment must be specified. This is due to the fact that all the modules are fitted at the same time, and the end position and orientation of module

Segmentation of the backbone curve: (a) given backbone curve, and (b) segmentation and attached frames
Once the segmentation is completed, the main controller will send the rotated segment and the six constraints to each module controller, and this complete the task of the main controller. The module controller will actually control each module so that the robot can follow the desired curve.
The data about the segment and its six constraints are provided to each module controller, so that the module controller can perform actual fitting. It was found that fitting multiple joints at the same time yields a better result, but at the cost of a much higher computational load. This coincides with the result presented in [15]. Once the number of joints to be fitted simultaneously is set, we perform bracketing, which coarsely finds the set of backbone curve points to be used to optimize the set of joints. This is done so that the controller does not have to perform the optimization over the entire segment. Bracketing is similar to the algorithm for dividing the curve into segments:
where
where
It is important to note that using the fitting algorithm described above, the final position and orientation of the end-effector of each module cannot be controlled. Thus, to satisfy the imposed six constraints, an additional position control algorithm is required.
After running the fitting algorithm, we obtain a set of joint angles that allows the configuration of the module to best resemble the shape of the segment. However, the position and orientation constraints are not yet satisfied. To deal with this, we added position control to the control scheme. A Jacobian-based position control is used, as a Jacobian can be easily found in a systematic way, whereas an inverse kinematics solution is configuration-dependent and often hard to obtain. In addition, by using a Jacobian, we can easily utilize redundancy, which is crucial in the proposed control scheme. Redundancy provides an infinite number of inverse kinematic solutions. Thus, among the infinite solutions that satisfy the six constraints, we search for the one that is the closest to the set of joint angles given by the fitting algorithm. In other words, we use the result from the fitting algorithm as the starting point and adjust it to meet the six constraints while minimizing the change at each joint, so that the overall posture of the robot can be preserved. This implies that each module must consist of more than six joints, and that each module is treated like a redundant robot.
A pseudoinverse Jacobian has been widely used to control redundant robots. In order to utilize the redundancy to achieve a secondary goal, the gradient projection method and weighted least-norm have also usually been adopted. In this study, we used weighted least-norm, as it does not require gain tuning which has to be found by trial and error, and it minimizes the self-motion [9]. Assuming a hyper-redundant robot of
where
where Δ
The weighting matrix
where
where
where
As we use the fitted solution as the starting point, it is important to obtain a good starting point. As mentioned above, to obtain a good fitting result, one must fit several joints at the same time (increase
As stated in previous sections, if a hyper-redundant robot is to perform a task it must be able to place its end-effector accurately at the desired location. This can be easily accomplished using the proposed position control method shown in Eq. (5). It would allow the user to control the last module to move the end-effector while minimizing the change in the overall configuration of the robot. Thus, the proposed control scheme not only reduces the computational load, but it also increases the efficiency of the robot.
It should be noted that the proposed algorithm is not limited to a certain joint configuration, and the corresponding Jacobian for any hyper-redundant robot can be easily solved to apply the proposed control scheme. Thus, the proposed algorithm is highly flexible and can be applied to any hyper-redundant robot.
Robot
A 24-DOF robot with alternating yaw and pitch joints was simulated using MATLAB (MathWorks, Inc., Natick, MA). We chose the configuration with the alternating joints since this configuration is widely used in many hyper-redundant robots, such as [22,23]. To enable the proposed modular control, the robot was divided into three modules of 8-DOF each, and a module is shown in Figure 3. The length of each link is set to 1.5 unit length, and

Joint configuration of a module
Two Bezier curves were used as the desired backbone curve for the simulation. Bezier curves are often used to simulate a backbone curve for a hyper-redundant and they can be described as [14]:
with seven control points,
The simulation was conducted using a single PC, although the proposed scheme involves the use of multiple controllers. This was due to the technical difficulties in performing simulations using multiple PCs. The simulation first plays the role of the main controller to process the given backbone curve. Then, the simulation simulates the module controllers to control each module. This cannot be done in parallel, and the module controllers are simulated one by one. However, throughout the simulation, all the controllers were treated independently. By using this method, it can be shown that if all the outcomes from the module controllers are put together, the robot will resemble the given backbone curve. The reduction of the computational load will be discussed in a later section.
The first curvature is given in the 2-dimensional plane, and the control points for the Bezier curve are given in Eq. (10). The resulting curve is illustrated in Figure 4 (a), and the corresponding robot is shown in Figure 4 (b). Note that the end point of each segment is marked with a large circle, while yaw and pitch joints of the robot are illustrated by solid squares and hollow circles, respectively.

Results of 2-dimensional curve: (a) given desired curve, and (b) resulting robot configuration
The second curvature is given in 3-dimensional space as can be noted from Eq. (11). The results are illustrated in Figure 5.

Results of 3-dimensional curve: (a) given desired curve, and (b) resulting robot configuration
The given desired curve is shown in Figure 4 (a) and 5 (a), and the resulting robot configurations are shown in Figure 4 (b) and 5 (b). As can be seen from the results, the control scheme was able to pick up most of the geometric features of the given curve. It should be noted that the result is limited by the dexterity of the robot. Although the configuration used in this study is widely used for hyper-redundant robots, it does not offer high dexterity compared to other configurations, such as robots with universal joints. Thus, although the resulting configuration resembles the given curve, it may show a “zigzag” pattern due to the joint configuration of the robot. This pattern was also reported in other studies, such as [14]. Reducing the link length,
The proposed control scheme treats each module as an independent redundant robot and, thus, many issues in controlling robots can be resolved using the solutions proposed for redundant robots. For example, joint limits and kinematic singularities often limit the operation of a robot. However, using the proposed control scheme, the operator may impose additional Jacobian-based redundancy resolutions on the robot to effectively avoid joint limits and singularities at the cost of a heavier computational load, as the use of multiple redundancy resolutions may require an increase in the number of redundant joints.
The fitting algorithm can be regarded as the iterative computation of the end position of a link. Given the DH notation of a module, the end position of link
where
Normally,
In this study, we proposed a novel modular control scheme for hyper-redundant robots. Through the use of modularization, redundancy resolution and a fitting algorithm, the control of a hyper-redundant robot in three-dimensional space was achieved. The performance of the scheme is verified through simulations. From this study, the following conclusions were drawn:
The proposed scheme reduces the computational load of hyper-redundant robots by enabling parallel computation. The robot is divided into modules, and each module can be fitted separately. The proposed scheme is applicable to any hyper-redundant robot. The algorithm is not restricted to a joint configuration and is applicable for the curve given in both two- and three-dimensional spaces. A weight least-norm solution that preserves the configuration of the robot is proposed. This can be used to enable parallel computation. Furthermore, it can be used to control the end-effector position of a hyper-redundant robot to perform various tasks.
Footnotes
5.
The authors disclosed receipt of the following financial support for the research, authorship and/or publication of this article: This study was supported by grants from the National Research Foundation of Korea (NRF-2014024875) and the National Cancer Center of Korea (NCC-1210170).
