 Research
 Open access
 Published:
Energyefficient control of a screwdrive pipe robot with consideration of actuator’s characteristics
Robotics and Biomimetics volume 3, Article number: 11 (2016)
Abstract
Pipe robots can perform inspection tasks to alleviate the damage caused by the pipe problems. Usually, the pipe robots carry batteries or use a power cable draining power from a vehicle that has many equipments for exploration. Nevertheless, the energy is limited for the whole inspection task and cannot keep the inspection time too long. In this paper, we use the total input energy as the cost function and a more accurate DC motor model to generate an optimal energyefficient velocity control for a screwdrive pipe robot to make use of the limited energy in field environment. We also propose a velocity selection strategy that includes the actual velocity capacity of the motor, according to the velocity ratio \(k_{\mathrm{v}}\), to keep the robot working in safe region and decrease the energy dissipation. This selection strategy considers three situations of the velocity ratio \(k_{\mathrm{v}}\) and has a wide range of application. Simulations are conducted to compare the proposed method with the sinusoidal control and loss minimization control (minimization of copper losses of the motor), and results are discussed in this paper.
Background
With the advancement of the robotics and industrial technology, many pipe robots have been developed to explore the pipes that have cracks or defects to avoid serious accidents [1–4].
Up to now, there are more focus on the energyefficient control of robots [5, 6]. Robots that perform pipe inspection task are often in the field environment, and the energy is a crucial limitation to the time of execution of a task. Most of the pipe robots are driven by DC motors. If the energyefficient method is applied to the pipe inspection system, the energy dissipation will be decreased and the total time of performing a task will be increased. The energy dissipated through many ways, but only controlling the armature current and field current losses is feasible [7, 8]; further, many researchers conducted on the loss minimization control of the DC motor [9, 10]. They use the armature resistance loss and field resistance loss as the performance index to reduce the energy dissipation, and get the optimal control law, but in the view of the total input energy that is drawn from the power source is usually not optimal.
This paper proposes an energyefficient solution for the control of a screwtype pipe robot by using an improved DC motor model and employing the total input energy as the performance index that reflect the whole system energy consumption. Straight pipe structure is the most common type; thus, this paper is limited to discuss the condition that the pipe robot is used in the straight horizontal pipe. Additionally, sinusoidal fashion control and the loss minimization control that only considers armature resistance are used as the comparison methods.
Methods
The screwdrive pipe robot
The environment of the pipe is not invariable; thus, the pipe robot should possess the characteristics of multifunction, adaptability and efficiency. The screwdrive robots are not rare [3, 4], and driving principle is illustrated in Fig. 1.
Typical screwdrive robot is usually composed of a rotator, elastic support arms, rollers and a motor for driving. The rollers have a constant incline angle with respect to the cross section of the pipe. When the motor turns, the whole body moves forward. If the motor turns reversely, the body moves backward. To propel a screwdrivetype robot, one motor is enough for straight pipe and elbow. However, for the Tshape pipe, extra navigation mechanism is needed.
A screwtype robot considered in this paper is shown in Fig. 2a. The advantage of this robot is that it has mobile ability in the pipe and detecting function for inspection, while only one DC motor is installed, which results in low energy consumption and low cost to fabricate. The robot has two working modes: a driving mode and a detecting mode. The robot propels itself in the pipe under the driving mode, and it is used for finding the defect of the pipe under the detecting mode. By setting an on–off solenoid, the two working modes will switch to each other; thus, the robot performs the inspection task without other extra motors. Therefore, such a robot is an efficient design, because it uses one motor and a solenoid to perform a task instead of two motors (one motor for moving and the other motor for detecting). There are two types of driving arm: One type has a constant incline angle as shown in Fig. 1b, while the incline angle of the other type changes according to the payload variation. The two types of driving arm can be both fixed on the robot, but this paper only considers the driving arms with constant incline angle. Further detailed information, for example, the mechanical structure, can be found in [4].
Motion equation of the DC motor
Basic equations of the DC motor
An armaturecontrolled DC motor is shown in Fig. 3, in which the field current is constant.
The basic equations of circuit are
\({L_{\mathrm{a}}}\) is the armature inductance (the voltage generated by \({L_{\mathrm{a}}}\) is much smaller than that of \({R_{\mathrm{a}}}\) and \({V_{\mathrm{b}}}\); thus, in this paper we do not consider the influence of \({L_{\mathrm{a}}}\), \({V_{\mathrm{a}}}\) and \({V_{\mathrm{b}}}\) is the applied armature voltage and backemf, respectively. \({R_{\mathrm{a}}}\) is the armature resistance, while \({R_{\mathrm{h}}}\) is equivalent resistance for power losses due to the air resistance of rotor and power loss due to the friction between mechanical parts, and Ma had pointed out that the \({R_{\mathrm{h}}}\) should be included when the motor efficiency is calculated [11]. \({i_{\mathrm{a}}}\), \({i_{\mathrm{h}}}\) and \({i_{\mathrm{m}}}\) are the current of the \({R_{\mathrm{a}}},\,{R_{\mathrm{h}}}\) and the armature, respectively. And the backemf \({V_{\mathrm{b}}}\) and the armature torque and current are given by
where \({K_{\mathrm{e}}}\) and \({K_{\mathrm{t}}}\) is the backemf constant and torque constant, respectively, and they have the same value, when SI units are used.
By using the above equation, we can also calculate the value of \({R_{\mathrm{h}}}\),
As shown in Fig. 3, the whole robot has been treated as a power transmission with a gear ratio of \({i_\mathrm{total}}\); as a result, it amplify the motor torque \({T_{\mathrm{m}}}\) and angular velocity \({\omega _{\mathrm{m}}}\) into that of the output rotator \({T_{\mathrm{out}}}\) and \({\omega _{{\mathrm{out}}}}\) and conquer the payload \({T_{\mathrm{load}}}\). Thus, the dynamics of the motor is
\({c_{\mathrm{m}}}\) is the viscous coefficient of the motor, and \({T_{\mathrm{load}}}\), \({J_{\mathrm{eq}}}\) are the load torque and equivalent moment of inertia of the robot’s output rotator and the rotor of the motor, respectively.
Efficiency of the DC motor
From the above equations, the mechanical power generated by the motor is \({T_{\mathrm{m}}}{\omega _{\mathrm{m}}}\), and the motor efficiency \({\eta _{\mathrm{motor}}}\) is
The above equations have shown the influence of \({R_{\mathrm{h}}}\), when calculating the motor efficiency. Moreover, using the above equations, the motor efficiency that is considering \({R_{\mathrm{a}}}\) and \({R_{\mathrm{h}}}\) and that of only considering \({R_{\mathrm{a}}}\) is shown in Fig. 4 with the same parameters in Table 1. The reason of Fig. 4’s result is that considering \({R_{\mathrm{a}}}\) and \({R_{\mathrm{h}}}\) needs more electrical energy than that of only considering \({R_{\mathrm{a}}}\), when the motor working at a same combination of torque and velocity. The motor efficiency has decreased, when \({R_{\mathrm{h}}}\) is considered.
Motion and force analysis of the robot
The kinematics of the wheeltype robot is generally calculated by
while v and \({\omega _{\mathrm{out}}}\) are the translational speed and rotational speed of robot, respectively. \({\gamma }\), here, is a coefficient that converts rotational speed into translational speed. Moreover, the kinematics of screwdrive robot is (detailed can be found in [3, 4])
\({r_\mathrm{w}}\) is the radius of the roller and \(L = 0.5D  {r_\mathrm{w}}\), while D is the inner diameter of the pipe; \(\alpha\) is the constant incline angle, as shown in Fig. 5.
Let \({F_{dj}}\) and \({F_{rj}}\) denote the normal and tangential friction, and \({f_\mathrm{n}}\) and \({f_{\mathrm{t}}}\) be the corresponding frictional coefficients, respectively. \({F_{\mathrm{re}}}\) is all the other resistant forces acting on the robot, and n is the number of the driving arms. The static equilibrium equations can be derived from Fig. 5
From (11)and (12), the relation between \({T_{\mathrm{load}}}\) and \({T_{\mathrm{out}}}\) is
Thus, the load torque term \({T_{\mathrm{load}}}/{i_{\mathrm{total}}}\) can be updated by \({{{T_{\mathrm{load}}}}}/{{F\left( \alpha \right) {i_{\mathrm{total}}}}}\). Now, we consider the condition of not including the tangential friction force. Figure 6a, b shows the value of \(F(\alpha )\) with environment parameters \({f_\mathrm{n}} =0.5\) and \({f_{\mathrm{t}}}=0.01\) and that of \({f_\mathrm{n}}=0.5\) and \({f_{\mathrm{t}}} =0\). As shown in Fig. 6c, the difference of the two conditions is almost the same after an artificial coefficient 0.91 multiplies \({F(\alpha )}\) between 9° and 20°, under the condition \({f_\mathrm{n}}=0.5\) and \({f_{\mathrm{t}}}=0.\)
Now, \(F(\alpha )\) can be simplified as follows
while the 0.91 is the artificial coefficient to calculate \(F(\alpha )\) between the angle of 9° and 20°. The motion equation is derived
and the state equation is given by
where \({A = \frac{{{K_{\mathrm{t}}}{K_{\mathrm{e}}} + {c_{\mathrm{m}}}{R_{\mathrm{h}}}}}{{{J_{\mathrm{eq}}}{R_{\mathrm{h}}}}}}\), \({B = \frac{{{K_{\mathrm{t}}}}}{{{J_{\mathrm{eq}}}}}}\), \({C =  \frac{{{T_{\mathrm{load}}}}}{{F\left( \alpha \right) {J_{\mathrm{eq}}}{i_{\mathrm{total}}}}}}\).
Energyefficient control
According to the task requirements, this robot has two modes:

1.
Cruise start/stop mode: Cruise start mode is used to start the motor and the robot at a specified speed; then, the motor and the robot keep this speed moving to find the potential defect of the pipe. When the detecting camera finds the suspicious defect, the robot will stop and detect that area carefully; thus, stopping the robot is called cruise stop mode.

2.
Location mode: Sometimes, a segment of pipe need not to be checked; thus, the robot just passes by. The operator only inputs the displacement \(S_{\mathrm{f}}\) within the time \(t_{\mathrm{f}}\); then, the optimal velocity profile is generated according to the value of \(k_{\mathrm{v}}\), which is a speed ratio defined in (38).
Cruise start/stop mode
Under this mode, the final velocity \({\omega _{\mathrm{f}}}\) and the corresponding time \({t_{\mathrm{f}}}\) are given, and the optimal velocity profile is generated by the control law. After the time \({t_{\mathrm{f}}}\), the actuator of the robot will keep the value of \({\omega _{\mathrm{f}}}\) moving forward, since keeping the velocity invariant will result in the minimization of the extra consumption of the total input electrical energy. On the contrary, under the cruise stop mode, the initial motor velocity \({\omega _0}\) and the time \({t_{\mathrm{f}}}\) are given.
The above problem is to find the optimal control \({i_{\mathrm{a}}}\) that minimizes the cost function for the given constrains. The cost function is the integrals of the total electrical energy
with the constrains
The Hamiltonian is formed by
with the costate equation as
where the subscript 1 represents the corresponding variations of the cruise start/stop mode. The optimal control is obtained by
and solving for \(i_{1,\mathrm{a}}^ *\)
Solve the differential equations, and the optimal velocity is formulated by
\({\tau _{\mathrm{m}}} = {\sqrt{{A^2} + AB{K_{\mathrm{e}}}/{R_{\mathrm{a}}}} ^{  1}},{F_{0,1}} =  \left( {2AC{R_{\mathrm{a}}} + CB{K_{\mathrm{e}}}} \right) /2{R_{\mathrm{a}}}\) where \({C_{11}}\) and \({C_{12}}\) are constants that are determined by the boundary conditions, and \({\tau _{\mathrm{m}}}\) represents the mechanical time constant. The boundary condition of cruise start mode is \(\begin{aligned}{\omega _{1,\mathrm{m}}}(0)=0, {\omega _{1,\mathrm{m}}}\left( {{t_{\mathrm{f}}}} \right) = {\omega _{\mathrm{f}}}\end{aligned}\). Then \({C_{11}}\) and \({C_{12}}\) in this condition are
While the boundary condition of the cruise stop mode is \({\omega _{1,\mathrm{m}}}\left( 0 \right) = {\omega _0}, {\omega _{1,\mathrm{m}}}\left( {{t_{\mathrm{f}}}} \right) = 0\), then, \({C_{11}}\) and \({C_{12}}\) are
The optimal velocity profile of the cruise start/stop mode is derived. Moreover, the optimal control \(i_{1,\mathrm{a}}^ *\) is given by
Location mode
Since many segments of the pipe have been checked and do not need to be checked again, the robot needs position to position control. Under the location mode, the operator inputs the desired displacement \({S_{\mathrm{f}}}\) that the robot will move and the time \({t_{\mathrm{f}}}\) that robot will cost. Similarly, the cost function is also the instantaneous total electrical power
with the constrains
The Hamiltonian is
Similarly procedure is adopted to get the optimal control, and the costate equations are
The optimal control \(i_{2,\mathrm{a}}^ *\) is derived also by setting the partial differential equation to zero; thus
while the subscript 2 denotes the corresponding variations of the location mode to distinguish the cruise start/stop mode. The boundary conditions of location mode are \({\omega _{2,\mathrm{m}}}(0) = {\omega _{2,\mathrm{m}}}({t_{\mathrm{f}}}) = 0, S({t_{\mathrm{f}}}) = {S_{\mathrm{f}}}, S({t_{\mathrm{f}}}) = {S_{\mathrm{f}}}\). The relation between the rotational angle of the motor \({\theta _{\mathrm{f}}}\) and the translational displacement of the robot \({S_{\mathrm{f}}}\) is
Then, the optimal velocity is obtained by solving the above equations and the boundary conditions
here, \({C_1}\), \({C_2}\) and \({F_0}\) are decided by the initial boundary conditions, and \({\tau _{\mathrm{m}}}\) is the mechanical time constant. The optimal control \(i_{2,\mathrm{a}}^ *\) can be also calculated from (25). Let \(a = {t_{\mathrm{f}}}/{\tau _{\mathrm{m}}}\), and \({\tau _1} = t/{t_{\mathrm{f}}}\) be the reference time, and (34) can be reformed as
Trzynadlowski had discussed the optimal velocity by plotting a figure [12]. We will find the extremum of the velocity analytically. When \(a \rightarrow + 0\), by using the infinite series expansion \({e^a}\), (35) yields
and when \(a \rightarrow + \infty\), (35) yields
(36) and (37) can be explained as two extreme conditions for a certain system whose mechanical time constant \({\tau _{\mathrm{m}}}\) has been decided. Assume \({S_{\mathrm{f}}}\) keeps constant, and the final time \({t_{\mathrm{f}}}\) varies. When \({t_{\mathrm{f}}}\) is too short with respect to \({\tau _{\mathrm{m}}}\), the velocity profile will approach (36), but if \({t_{\mathrm{f}}}\) is too long with respect to \({\tau _{\mathrm{m}}}\), the velocity profile is getting close to (37). For better understanding, let \({\omega _{\mathrm{m}}}/({\theta _{\mathrm{f}}}/{t_{\mathrm{f}}})\) be the reference velocity and \(t/{t_{\mathrm{f}}}\) be the reference time, and when \(a = {t_{\mathrm{f}}}/{\tau _{\mathrm{m}}}\) varies, Fig. 7 is plotted as velocity per unit versus time per unit by using the parameters of Table 1.
Velocity constrains
It is known that each motor has its maximum speed limit; moreover, it also has a maximum continuous working speed \({\omega _{\mathrm{m,r}}}\) for practical use. Let \({k_{\mathrm{v}}}\) be the speed ratio and defined as
From the above discussion, we will get \(1 \le {k_{\mathrm{v}}} \le 1.5.\) Thus, when \({k_{\mathrm{v}}}\) is not belonging to this interval, then we need to formulate a new velocity profile. Because \({k_{\mathrm{v}}} = 1.5\), the velocity profile becomes parabola as indicated in (36), and we still adopt this parabolic curve as the velocity profile when \({k_{\mathrm{v}}} \ge 1.5\). Then, the velocity becomes
As for the condition \(0< {k_{\mathrm{v}}} < 1\), it means that the average speed \({S_{\mathrm{f}}}{i_{\mathrm{total}}}/\gamma {t_{\mathrm{f}}}\) that is given by operator has exceeded the maximum continuous working speed \({\omega _{\mathrm{m,r}}}\). Thus, the robot cannot move a displacement \({S_{\mathrm{f}}}\) within time \({t_{\mathrm{f}}}\). Generally, \({S_{\mathrm{f}}}\) is the destination and cannot change, and the other way is to adjust the time \({t_{\mathrm{f}}}\). From Fig. 7, we can see the region of this condition lies beneath the trapezoidal speed profile and we just follow this trend to form the velocity profile, which is
Between \([0,0.5{t_1}]\) the motor is accelerating the robot along the parabolic curve to the maximum continuous working speed of \({\omega _{\mathrm{m,r}}}\), then it moves at this speed for a while, and finally, it begins to decelerate the robot along the parabolic curve to complete the desired displacement. And \({t_1}\) and \({t_{\mathrm{f}}}\) can be derived by minimizing the total energy \({E_{\mathrm{in}}}\) with respect to the time t
After discussing the above working conditions of the robot, we can formulate the optimal velocity selection strategy, which considers the velocity constrains, under location mode
Equation (43) guarantees the motor and the robot working in a continuous and safe region, and it is suitable for the pipe robot which will work in field environment. Judging maximum velocity problem does not exist in the cruise start/stop mode, because the control system will compare the input speed \({\omega _{\mathrm{f}}}\) with \({\omega _{\mathrm{m,r}}}\) directly and inform the operator to change the velocity, if \({\omega _{\mathrm{f}}}\) is larger than \({\omega _{\mathrm{m,r}}}\).
Results and discussion
We have derived the energyefficient control laws of the robot in cruise start/stop mode and location mode, respectively. In this section, simulations are performed to evaluate the proposed energyefficient control law, and these results are compared with two benchmark methods. One is sinusoidal velocity function based on the computed torque control and is given by
The second benchmark method is the loss minimization control method that optimizes the armature loss \(i_{\mathrm{a}}^2{R_{\mathrm{a}}}\) of the DC motor, which only considered \(R_{\mathrm{a}}\).
Figure 8 shows the results of the two methods within the same time interval to reach a same speed that the operator inputs. The velocity and energy dissipation of minimum energy control are both lower than that of loss minimization control that only considers \(R_{\mathrm{a}}\). Figure 8c shows the two conditions after the robot reached the speed of the cruise start mode: One is that the robot keeps the velocity constant, and the other is that the robot’s speed varies (we use a sinusoidal function in this figure). Figure 8d shows that the velocity variation needs more energy to keep the robot moving than that of keeping the velocity invariable. Thus, it is better to keep the speed of the robot stable in the pipe in order to save energy in the field environments.
In Fig. 9a the velocity of the minimum energy control is the lowest one, compared to that of the other two, whose speed exceeds the maximum continuous working speed 0.144 m/s for a short while. Figure 9a, c also shows that the speed of minimum energy control accelerates and decelerates rapidly and maintains a stable speed; this is convenient for the robot while checking the pipe, because a stable moving speed is reasonable for sensor to collect data; as for the other two methods, the speed varies during the whole operation time.
Figure 10a shows the energy dissipation of location mode in Fig. 9. The sinusoidal control causes the highest energy, while the loss minimization cost is the lowest. This is because in minimum energy control method, we have considered the armature resistance \({R_{\mathrm{a}}}\) and the equivalent resistance \({R_{\mathrm{h}}}\) of the power loss due to the air resistance of the rotor and power loss due to friction between the mechanical parts as shown in Fig. 3. Thus, the armature current is larger than that of only considering \({R_{\mathrm{a}}}\), when the robot works at the same combination of torque and velocity, which causes more electrical energy. Figure 10b is the condition that \({R_{\mathrm{h}}} \rightarrow \infty\), and the result shows the minimum energy control cost is the lowest energy. Therefore, when we consider \({R_{\mathrm{h}}}\), the total input energy will increase and may possibly greater than loss minimization control, but it gives a more accurate model and numerical results than that of only considering the armature resistance (see Table 2).
Figure 11 shows the velocity selection strategy according to the value of \({k_{\mathrm{v}}}\). When the value of \({k_{\mathrm{v}}}\) is greater than 1.5, the parabolic curve is selected as the velocity profile since it is the upper limit of the velocity per unit (see Fig. 7). While the value of \({k_{\mathrm{v}}}\) is lower than 1, which means even the maximum speed of motor does not satisfy the requirement of \({S_{\mathrm{f}}}\) and \({t_{\mathrm{f}}}\), the velocity is generated according to (40), which minimizes the total energy as well. From the above, we can see that the minimum energy control causes lower energy dissipation and provides more accurate numerical results, compared to that of the loss minimization control only considering armature resistance. The summary of energy dissipations is listed in Table 2.
Conclusion
This paper considers a more accurate motor model and uses total input energy as the cost function to generate energyefficient control laws for a pipe inspection robot. This pipe robot has two working modes: driving mode and detecting mode. Robot needs to keep a speed to move or move a distance to check the pipe; thus, we propose two types control: One is cruise start/stop control, and the other is location control. For the cruise mode and location mode, we have derived the optimal velocity and propose a velocity selection strategy according to the \(k_{\mathrm{v}}\). This velocity selection strategy can guarantee the motor work in safe region, which also means decreasing the total input energy consumption, and can treat all the combinations of the \(S_{\mathrm{f}}\) and \(t_{\mathrm{f}}\). Results show that this method indeed saves the energy dissipation with the commonly used method, and provide more accurate model compared with the loss minimization control.
References
Roh SG, Choi HR. Differentialdrive inpipe robot for moving inside urban gas pipelines. IEEE Trans Robot. 2005;21(1):1–17.
Oya T, Okada T. Development of a steerable, wheeltype, inpipe robot and its path planning. Adv Robot. 2005;19(6):635–50.
Horodinca M, Doroftei I, Mignon E, Preumont A. A simple architecture for inpipe inspection robots. In: International colloquium on autonomous and mobile systems; 2002.
Li P, Ma S, Li B, Wang Y. Design of a mobile mechanism possessing driving ability and detecting function for inpipe inspection. In: Proceedings—IEEE international conference on robotics and automation; 2008. p. 3992–97
Paes K, Dewulf W, Elst KV, Kellens K, Slaets P. Energy efficient trajectories for an industrial ABB robot. Proc CIRP. 2014;15:105–10.
Aghili F. Energyefficient and faulttolerant control of multiphase nonsinusoidal pm synchronous machines. IEEE/ASME Trans Mechatron. 2015;20(6):2736–51.
Kusko A, Galler D. Control means for minimization of losses in ac and dc motor drives. IEEE Trans Ind Appl. 1983;ia19(4):561–70.
Egami T, Tsuchiya T. Efficiency optimized speedcontrol system based on improved optimal regulator theory. IEEE Trans Ind Electron. 1986;IE33(2):114–25.
Egami T, Morita H, Tsuchiya T. Efficiency optimized model reference adaptive control system for a DC motor. IEEE Trans Ind Electron. 1990;37(1):28–33.
Margaris N, Goutas T, Doulgeri Z, Paschali A. Loss minimization in DC drives. IEEE Trans Ind Electron. 1991;38(5):328–36.
Ma S. Timeoptimal control of robotic manipulators with limit heat characteristics of the actuator. Adv Robot. 2002;16(4):309–24.
Trzynadlowski AM. Energy optimization of a certain class of incremental motion DC drives. IEEE Trans Ind Electron. 1988;35(1):60–6.
Maxon motor catalog. http://www.maxonmotor.com/maxon/view/catalog/
Authors' contributions
A energyefficient control law is proposed for a pipe robot by considering the characteristics of motor. Optimal velocity profiles are derived from two sets of boundary conditions. A velocity selection strategy is generated by considering the capacity of motor. All authors read and approved the final manuscript.
Acknowledgements
The authors would like to thank Dr. Rongchuan Sun for his help in programming. The work is a part supported by Shenzhen Peacock Plan Team Grant (KQTD20140630150243062), Shenzhen Key Laboratory Grant (ZDSYS201405081618 25065), the Hong Kong Research Grants Council (CUHK6/CRF/13G) and the Hong Kong Innovation and Technology Fund (ITS/112/15F).
Competing interests
The authors declare that they have no competing interests.
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
Open Access This article is distributed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits unrestricted use, distribution, and reproduction in any medium, provided you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license, and indicate if changes were made.
About this article
Cite this article
Li, P., Ma, S., Lyu, C. et al. Energyefficient control of a screwdrive pipe robot with consideration of actuator’s characteristics. Robot. Biomim. 3, 11 (2016). https://doi.org/10.1186/s406380160045z
Received:
Accepted:
Published:
DOI: https://doi.org/10.1186/s406380160045z