1. Introduction
For robots, with the continuous expansion of working scenarios, their tasks are becoming more complex and dangerous. Some of the tasks cannot be completed by conventional rigid robot, and for this, global scholars begin to focus on flexible soft robot. A flexible continuum robot has come into being to make up for the poor flexibility and inadequate adaptability of rigid robot.
In 1999, Robinson et al put forward the thought of continuum robot for the first time through summarizing various working modes of robots [Reference Robinson and Davies1]. Since then, many researchers have been involved in relevant studies and advanced the field in different ways and from different perspectives. For flexible robot, there are various structures like series forming [Reference Yang, Ren, Yang, Wang, Wan and Kang2–Reference Carabis and Wen5] and integrated forming [Reference Renda, Cianchetti, Giorelli, Arienti and Laschi6–Reference Zhang, Chen, Ma, Wu, Zhang and Liao8]. For flexible robot of series forming, the design focuses on the series section. At present, there are two common series sections: rigid section and flexible section. Generally, rigid section has no degree of freedom for folding [Reference Yang, Ren, Yang, Wang, Wan and Kang2], while flexible section may increase the degree of freedom through a special material stacking process [Reference Firouzeh and Paik3] or parallel mechanism used with spring [Reference Choi, Yi and Kim4]. Mostly, a robot of series forming is poor in homogeneity. To make robots more flexible as a whole, scientists tried an integral forming structure. Many scholars adopted silica gel and rubber to make a body of robot mimicking the movements of natural soft-bodied organisms like elephant trunk and octopus tentacle [Reference Renda, Cianchetti, Giorelli, Arienti and Laschi6, Reference Liu, Wang, Wang and Fei7], which is easy to deform and adaptable to different working conditions by bending and torsional deformation of high curvature. An effect similar to integrated forming robot may also be realized by elastic materials throughout the robot together with several guide disks [Reference Yang, Geng, Walker, Branson, Liu, Dai and Kang9]. In flexible robot, in order to improve the performance, memory alloy materials are also adopted, for example, as driving material or supporting material to realize a variable stiffness for robot [Reference Yang, Geng, Walker, Branson, Liu, Dai and Kang9–Reference Reynaerts, Peirs and Brussel11].
During studies, scientists found that the mechanical structure was easy to wear and difficult to maintain, and for some small-size occasions with less stress, mechanical structure was difficult to manufacture. In addition, although the integrated structure created by a material like rubber was good in homogeneity, it had no degree of freedom for folding. For this, some scholars proposed an origami mechanism as the body of mechanical arm [Reference Santoso and Onal12–Reference Childs and Rucker17], which also included integrated origami mechanism [Reference Santoso and Onal12, Reference Childs and Rucker17] and section composed of origami mechanisms [Reference Wu, Ze, Dai, Udipi, Paulino and Zhao13–Reference Mete and Paik16, Reference Zhang, Qiu and Dai18]. The mechanisms are flexible and easy to make, and so, they can be applied in various fields such as small buttons [Reference Mintchev, Salerno, Cherpillod, Scaduto and Paik14] and wearable small mechanical arms [Reference Robertson, Kara and Paik15, Reference Mete and Paik16]. Chen et al. also expanded the flexible robot from a tentacle shape to a flexible surface, thus providing a new idea for relevant research [Reference Chen, Yang, Wang, Branson, Dai and Kang19].
Deployable robot has many drive modes, such as pneumatic mode [Reference Zhang, Chen, Ma, Wu, Zhang and Liao8], rod drive mode [Reference Wu and Shi20], and line drive mode [Reference Mete and Paik16, Reference Barrientos-Diez, Dong, Axinte and Kell21–Reference Zhang, Xie, Qian, Duan and Li26]. The line drive mode is usually used in some scenes with less stress and smaller space. Chen et al. used it in the design of robotic gripper [Reference Dong, Asadi, Qiu, Dai and Chen27]. Similarly, deployable robot has many degrees of freedom (DoF), and the control system will become very complicated to achieve a full freedom control. The line drive solutions used for redundancy control over deployable robot may avoid this problem, but line drive mode is not so precise for the control, resulting in friction, which has a great negative effect. For this, some modified motion models and new threading methods [Reference Case, White, SunSpiral and Kramer-Bottiglio22] have been proposed, including the classical nonconstant curvature model [Reference Giorelli, Renda, Calisti, Arienti, Ferri and Laschi23, Reference Thuruthel, Falotico, Renda and Laschi24] and real-time kinematics model [Reference Barrientos-Diez, Dong, Axinte and Kell21].
Overall, deployable robot is very promising. In medical field, deployable robot may access the human body cavity for localization and surgical operation [Reference Choi, Yi and Kim4, Reference Reynaerts, Peirs and Brussel11, Reference Conrad and Zinn25, Reference Zhang, Xie, Qian, Duan and Li26]. In manufacturing and aerospace, deployable robot can access narrow environments to complete critical equipment assembly and disassembly free maintenance, so as to guarantee the safety of sophisticated devices [Reference Carabis and Wen5, Reference Barrientos-Diez, Dong, Axinte and Kell21, Reference Wang, Palmer, Dong, Alatorre, Axinte and Norton28]. Also, deployable robot has the potential in job aid [Reference Robertson, Kara and Paik15, Reference Mete and Paik16, Reference Al-Sada, Hoglund, Khamis, Urbani and Nakajima29] and pipeline maintenance [Reference Ivan, Tomáš and Ubica30–Reference Bogue32].
In the paper, a novel deployable robot is designed. It combines tendon drive and origami mechanism, equivalent spherical linkage parallel mechanism (SLPM). A new constant curvature model is proposed to analyze the motion of robot. Two control modes and the function of autonomous detection are presented by motion test. This robot has two controllable folding DoF compared with the nonfoldable continuum robot. The folding rate is 59.6%. And the workspace changes from the face space to the body space after adding controllable folding DoFs. A new tendon-driven method was proposed. It can provide tightening force for the top segment, which is twice that for bottom segment. Therefore, the motion of the top and bottom segments can be decoupled more easily. In terms of manufacturing, the origami mechanism is easy to manufacture and process compared with the general Revolute-Spherical joint-Revolute (RSR) mechanism. It is lighter and cheaper, which is more suitable for small-scale work. The origami mechanism can be processed either by folding or by bonding the plates. The cost is about 1/100 of the metal CNC processing no matter which method is used.
2. Mechanism design
2.1. Segment
Continuum robots are mostly used in flexible and less-force situations. Common linkage mechanisms or kinematic pairs are usually cumbersome and difficult to install. And if the mechanisms are not maintained carefully, they are easy to wear. To solve this problem, many scientists have proposed some equivalent mechanisms inspired by origami folding. For example, Rodriguez Leal applied the “technomimetics” concept to generate a new class of parallel mechanisms which are 3-DoFs [Reference Rodriguez and Dai33].
SLPM is a classic parallel mechanism consisting of three flexible hinges, each of which is composed of two rotation pairs and one ball pair. The mechanism can realize bending and folding with a total of three DoF. This robot adopts the equivalent origami mechanism proposed by Dai et al. The equivalent mechanism has the same motion mode as SLPM [Reference Zhang, Fang, Fang and Dai34]. With the equivalent mechanism as module, an expandable continuum robot has been designed [Reference Zhang, Qiu and Dai18]. Multisegment continuum mechanism may produce a large number of DoFs. The continuum robot is controlled by line drive so that the drive system will not be too complicated. The robot proposed in this paper is mainly used in the field of job aid and intelligent exploration.
As shown in Fig. 1, the equivalent unit cell size is 120 × 104 × 50 mm. Based on practical application scenarios, the study adopted six cells in series to compose a robot prototype. The overall dimensions of the prototype (including the control box) were determined as 300 × 186 × 608 mm. The robot was divided into two segments, each of which was composed of three SLPM sections, with adjacent SLPM sections sharing one connecting plate. The bottom segment was responsible for rapid movement of the robot’s terminal position, and the top segment for fine tuning and slow approaching. For the SLPM sections in the top segment, a pressure spring with line diameter 0.6 mm, outer diameter 12 mm and length 50 mm was used, for the two SLPM sections in the middle or upper part of the bottom segment, a pressure spring with line diameter 0.7 mm, outer diameter 12 mm and length 50 mm was used, and for the bottom section, a pressure spring with line diameter 0.8 mm, outer diameter 12 mm and length 50 mm was adopted. Such pressure springs may minimize the impact of top segment folding on bottom segment.
2.1.1. Third-order headings
An SLPM section is composed of three flexible hinges, in which one is composed of six 2 mm portable plates bonded together, and two have portable plates secured on one side with fiber tape so that the folding motion of the two can only be performed in a preset direction. This method can reduce the uncertainty in the process of motion, thus advancing the practicability of the robot effectively. The flexible hinge and connecting plate are also fixed with fiber tape. The flexible hinge is a 50 × 60 mm rectangle before folding, and the folded gaps are the rectangular diagonal and the line between midpoints of short edges. A 12.5 × 15 mm rectangular hole is left in the middle of the branch to prevent interference in the process of movement.
As shown in Fig. 2, springs are set at the three vertices of the SLPM section to provide a force for restoration. In combination with the tension provided by drive cable, the spring can realize the folding and restoration of mechanism.
2.1.2. Cable coupling
Three drive cables are required for top segment and bottom segment each. To minimize the influence of superposed forces as pulling the drive cable of top segment, three small fixed pulleys are installed on the top of robot. As for the drive cable of top segment, one end is fixed at the top of bottom segment, and the other end passes through the top segment upward, as shown in Fig. 3, and then through the cable hole on the other side after bypassing the fixed pulleys, until connected to the drive motor in the control box. Thus
Assuming that the pulling force provided by the driving rope is F, the threading method can provide 2F of tightening force for the top segment, which is twice that for direct threading. This method can significantly reduce the influence of top segment on bottom segment as bending. In addition, at a constant motor speed, the threading method may lower the movement speed of top segment, thus achieving the design purpose of fine tuning and slow approaching.
2.2. Control box
The control box for the robot is designed to be easy to install and practical to use. As shown in Fig. 4, the control box is a cuboid with three internal layers, with seven stepper motor drivers at the bottom layer. At the driver interface, a label is visible outwards. A wire socket runs through the lamination to the middle layer, where the central space is used to install battery and distribution box. The distribution box divides the 24 V voltage output by the battery into eight channels extending to the middle layer through the threading hole. The main control panel and voltage reduction board are placed in the middle layer, with M3 hexagon copper column fixed to the lamination for insulation. The control circuits converge in the middle layer, and the peripheral devices such as drivers and sensors have cables led to the middle layer through the threading hole and then inserted into the corresponding interfaces of expansion board for the main control panel. The top layer is equipped with seven stepper motors. A motor frame is designed for the four mounting holes of 42 stepper motor. It can not only fix the motor to the lamination without interference but also allow a wire socket for motor line downward. The supporting ribs on both sides of motor frame may also guarantee the strength of structure to avoid deformation or fracture during operation. A winding shaft is installed on the motor output axis for winding the drive cable.
The diameter of the winding shaft is $D_{T}=8\textrm{mm}$ . We set the frequency division to 8, that is 1600 pulses/revolution. Assuming the number of pulses is N, the following formula can be derived:
In Chapter 3, the relation between bending angle and drive cable length is derived. And the relation between bending angle and number of pulses can be obtained.
The top of the drive box is equipped with the robot body, key module, joystick module, and power switch. The sensor cable and drive cable of the robot extend into the control box through the reserved hole in the roof to connect with the main control panel and winding shaft, respectively.
2.3. Assembly method
The moving part of robot consists of two segments, one sensor section, and one end-effector. Each segment contains three sections with is a common connecting plate between them. During assembling, the installation for components of connecting plate, including end-effector, fixed pulley, and spring support, should be completed first. All of the components are connected by bolts. Before installing the end-effector, the micro camera needs to be secured, with cable led out through the reserved hole on the connecting plate. After assembly of connecting plate, a fiber tape is used to bond the flexible hinge with the connecting plate at the corresponding position, thus forming the SLPM section. SLPM section is the basic structure for robot motion. The slots on each side of connecting plate should be aligned with those on the flexible hinge for bonding, so as to ensure the precision of robot motion. After all of SLPM sections are prepared, throughs fiber tape, they are combined into top segment and bottom segment connected by sensor section. The connecting plate at the bottom of robot is bolted with the roof of control box. Seven drive cables are fixed on the screw shaft after routed through the drive box, and the sensor cables are connected to the control box through the threading hole.
3. Analysis
3.1. Driving strategy
Kinematic analysis of multidegree robots is an important topic. Many scientists have proposed corresponding theories for the characteristics of different robot systems.
M. H. Korayem* and A. M. Shafei represented a symbolic algorithm to derive the equations of motion of N-rigid link manipulators with revolute-prismatic (R-P) joints. The application of recursive Gibbs-Appell (G-A) formulation is applied to model the system completely and precisely [Reference Korayem and Shafei35]. K. S. Anderson and J. H. Critchley presented an algorithm for the efficient numerical analysis and simulation of modest to heavily constrained multi-rigid-body dynamic systems. The algorithm can accommodate the spatial motion of general multi-rigid-body systems containing arbitrarily many closed loops in $O(n+m)$ operations overall for systems containing n generalized coordinates, and m independent algebraic constraints. It offers superior computing performance relative to other methods in situations involving both large n and m [Reference Anderson and Critchley36]. Mohan and Saha presented a methodology for the formulation of dynamic equations of motion of a serial flexible-link manipulator using the decoupled natural orthogonal complement (DeNOC) matrices. The proposed simulation algorithm for the flexible link robots is shown to be computationally more efficient and numerically more stable than many other algorithms [Reference Mohan and Saha37]. John developed an efficient Lagrangian formulation of manipulator dynamics. The number of additions and multiplications varies linearly with the number of joint, as opposed to past Lagrangian dynamics formulations with an $n^{4}$ dependence. And it should be possible in principle to compute the Lagrangian dynamics in real time [Reference Hollerbach38].
In this research, a model for kinematics analysis was established. First, coordinate system $O_{1}$ - $x_{1}y_{1}z_{1}$ is established based on a single section in the bottom segment, with origin $O_{1}$ as the center for the bottom surface of section, direction from the center to a vertex as the positive direction for $x_{1}$ . Subsequently, coordinate system $O^{\prime}_{1}$ - $x^{\prime}_{1}y^{\prime}_{1}z_{1}$ is set up, with origin $O^{\prime}_{1}$ as the center or the top surface of section, and positive direction of $x^{\prime}_{1}$ consistent with positive direction $x_{1}$ .
The model is constructed with a constant curvature by analogy with the analysis on kinematics of flexible robot [Reference Zhang, Xie, Qian, Duan and Li26], as shown in Fig. 5 and Table I, where the red box represents the curved plane. With a triangular prism shape, the robot is different from general cylindrical robot model during transformation of workspace and drive space, for which special calculation is required to guarantee the accuracy of motion and feasibility of control. The relation between bending angle and spring length is as follows:
Based on the formula of chord length, the relation between bending angle and drive cable length is as follows:
Formula of bending radius R:
According to Eq. (4), R is only related to $\theta$ and $\alpha$ . Thus, $l_{i},\Delta l_{i}, m_{i},\text{ and }\Delta m_{i}$ are only related to $\theta$ and $\alpha$ . Therefore, the amount of contraction of drive cable can be solved once $\theta$ and $\alpha$ are given.
It has been proved that SLPM has three DoFs and the mathematical proof is as shown in Appendix A [Reference Zhuang, Zhang, Guan, Wei, Li, Tang, Kang, Song and Dai39]. Once the amount of contraction for drive cable is determined, there will be only one section configuration, and thus, so the bending angle control of robot can be realized. As calculating the total length of drive cables in the segment, the top segment was found different from the bottom segment in section. Therefore, we further modified Eq. (3) and obtained the following formula:
Where $m^{\prime}_{i},\Delta m^{\prime}_{i}, R^{\prime}, \alpha^{\prime}$ , and ${\unicode{x03B8}}^{\prime}$ are for the section of top segment. According to the geometric principle, the following formula can be obtained:
Through transforming Eq. (6), the bending angle can be obtained as follows: $\theta =\frac{L_{0}-l}{d}$ .
Considering the influence of connecting plate thickness and spring height, the nonzero minimum value for l is denoted as $l_{\min}$ . As shown in Fig. 6, d changes within a closed interval, and so, the minimum d value: $d_{\min }=\frac{3}{2}r$ . Since the force for tightening drive cable of top segment acts along the spring center, it can be approximately considered that the position of equivalent threading point as well as the range of change in equivalent diameter for the top segment is the same as that for the bottom segment.
To sum up, the maximum value at the bending angle is as follows: $\theta _{\max }=\frac{L_{0}-l_{\min }}{d_{\min }}$
The above is merely from a derivation based on pure bending motion of robot. The three drive cables contract by the same length c when the robot folds. By replacing $L_{0}$ with $L_{0}-c$ and substituting it into Eqs. (2), (3) and (4), we obtain the length changes of spring and drive cable. By substituting them into Eq. (6), we obtain $\theta _{\max }=\dfrac{L_{0}-c-l_{\min }}{d_{\min }}$ . Obviously, the ultimate bending angle of robot will become smaller after folding.
A segment consists of three SLPM sections. Given the influence of gravity as placed vertically, we introduce $\tau$ for compensation to obtain the theoretical initial height of one segment as follows:
Due to the weakened gravity superposition in the process of bending, we may ignore the effect of gravity as calculating the change of rope length under a bending state. Through an analogy with Eq. (3), the rope length of bottom segment may be calculated as follows:
When the effect of connecting plate thickness on the equal curvature model is approximately ignored, the maximum bending angle may be obtained as follows: $\theta _{1\max }=\frac{3L_{0}-3l_{\min }}{d_{\min }}$ . The top segment length and bending angle can be obtained by analogies with Eqs. (2) and (3).
If the number of series segments is further increased, the recursive formulation are useful to motion analysis. We can establish a coordinate system at the junction of each two segments, study the working status of each segment in turn, and convert the results to a reference coordinate system. In the process of robot workspace analysis, we apply this method as example.
3.2. Workspace
Based on the above analysis, we also carried out an in-depth analysis on the robot’s workspace. Based the measured initial height of robot and the ultimate height of robot after contraction, the initial height of a single segment is 146 mm and the folding rate is 59.6%, which indicate good spatial adaptability.
With coordinate system $O_{A}$ as reference, through a simple geometric transformation, the origin of coordinate system $O_{B}$ can be obtained as follows: $(R(1-\cos \theta )\cos \alpha, R(1-\cos \theta )\sin \alpha, R\sin \theta )$ . To make the results easier to understand, we can also substitute the coordinates into Eqs. (4) and (6) for solving, and iterate over all possible values at appropriate step sizes. The resulting scatter diagram is as shown in Fig. 7, where the scatters represent all possible positions achieved by the end of a single segment. This figure has visualized the workspace of a single segment for the robot.
A simplified model combining bottom segment and sensor section is shown in Fig. 8. The height of sensor section is as follows: $H=19\text{ mm}$ , The other parameters are named the same as above.
Considering the two segments comprehensively, coordinate system $O_{C}$ is the reference coordinate system for the top segment, and for the transformation from coordinate system $O_{A}$ to coordinate system $O_{C}$ , the following coordinate transformation is required (with the moving coordinate system as the reference coordinate system in the transformation process).
-
(1) Obtain $O_{A1}$ , a new coordinate system through rotating coordinate system around the z axis by α, with x–z plane of $O_{A1}$ coincident with the curved plane.
-
(2) Through translating coordinate system $O_{A1}$ by $(R(1-\cos \theta ),0, R\sin \theta )$ , make its origin coincide with origin $O_{B}$ , denoted as $O_{A2}$ .
-
(3) Rotate coordinate system $O_{A2}$ first around the y axis and then around the z axis to obtain coordinate system $O_{B}$ , in which the x–y plane coincides with the plane where the connecting plate at the top of the robot is located, with the x axis and $O_{A}$ pointing to the same vertex.
-
(4) Move coordinate system $O_{B}$ 19 mm along the positive direction of z axis to obtain coordinate system $O_{C}$ .
The above transformation can be expressed by the transformation matrix as follows:
In the calculation process, we first take $O_{C}$ as the reference coordinate system, and with the previous method, work out $p_{Cn}$ , the scatter point at the top segment, and then through coordinate transformation, obtain $p_{An}={}_{C}^{A}{T}{}p_{Cn}$ . The workspace of the end of the robot can be obtained through relevant operation, as shown in Fig. 9. The pseudocode for specific operation is as shown in Appendix B.
4. Control system
4.1. Framework
For the robot proposed in this paper, the control system is composed of the upper computer and the lower computer. The upper computer is responsible for the data acquisition of camera and gyroscope as the user’s computer. At the same time, it can send instructions to the lower computer for remote control, and control the bending angle of robot conveniently and accurately through an embedded formula for calculating variation of drive cable. The lower computer responsible for motor control, that is, STM32 (A kind of Single-Chip Microcomputer produced by STMicroelectronics) microcontroller, can read and apply data from sensors. The expansion board is designed to make full use of the microcontroller resources and simplify the wiring method. It can also be reinstalled conveniently [Reference Liu, Zhang, Zhuang, Guan, Jia and Dai40].
A large number of control modes and parts are required by the robot to work. In order to reduce the delay of users in the operation process and guarantee the stability of robot, High Speed External (HSE) Clock signal, a 8-MHz external timer is used as the clock source in this paper. The main phase-locked loop (PLL) frequency division factors are set to PLLM = 4, PLLN = 168, PLLP: 2, PLLQ = 4, respectively, and Advanced High performance Bus (AHB) prescale is set to 1. The peripheral HALK for this scheme has reached 168 MHz, which is the maximum operating frequency allowed by STM32. The APB1 peripheral clock is set to 42 MHz with the APB1(Advanced Peripheral Bus) prescaler, and the APB2 peripheral clock to 84 MHz. The two are also the highest operating frequencies of STM32. Since the robot is powered by high-capacity batteries, low-power consumption design is not needed at the main control panel level. This scheme will maximize the performance of main control panel and improve the fluency for robot operation.
Since the robot is equipped with seven stepper motors for completing the extension and retraction of drive cable, the lower computer needs to generate seven groups of independent pulse width modulation (PWM) waves for controlling the angle for motor rotation. There are many methods to generate definite cycles of PWM waves based on STM32, in which direct interrupt method and master–slave timer method are common at present [Reference Wu, Su and Z.41]. In the direct interrupt method, an interrupt is triggered every time a cycle is sent. However, excessive interrupts will affect the polling process of main program. The master–slave timer method is adopted in this paper. As shown in Fig. 10, Timers 1 and 8 are set as the master modes, which are responsible for generating PWM waves. Timers 4 and 5 are set as the secondary modes responsible for controlling the cycles of PWM waves. Once Timer 1 sends a PWM wave, ITR0 port of timer will have a count. When the count reaches the preset value, the program will enter Timer 4 interrupt. The PWM output of Timer 1 will be turned off in the interrupt function. The four interrupt channels of Timer 4 correspond to the four output channels for controlling Timer 1, thus four groups of controllable number of PWM waves may be output. Timers 8 and 5 work in the same mode. The three driving motors for the top segment of robot are controlled by Timer 1, and the three driving motors for bottom segment of robot are controlled by Timer 8. This scheme can realize independent drive of top segment and bottom segment. In practice, there are many groups of input analog quantity that need to be converted, and therefore, direct memory access (DMA) is used to complete the data transmission between channel and memory. Analog-to-digital converter (ADC) channels 0–-3 are the analog quantity input ports of joystick, and channels 4–6 are the analog quantity input ports of infrared ranging sensor. The ADC mode is set as continuous conversion mode for scanning, with Channel 0 in DMA2 data flow 0 enabled. We have also configured UART1(Universal Asynchronous Receiver/Transmitte) and UART3 communication interfaces for realizing remote control of SCM by the upper computer. Similar to ADC channels, the serial port transceivers also use DMA mode. This scheme can save a lot of CPU resources without compromising the polling scan of main function.
After completing the above configuration, specific operating programing is completed in the main function. The flow chart of main program is shown in Fig. 11. First, we call the initialization function to initialize various peripherals. After that, the voice module will prompt the user to specify an operation mode. Once the flag bit is given, the buzzer will buzz for giving feedback and jump out of the loop to start the corresponding program. If the robot is under normal working conditions, the green indicator is on. If the robot encounters obstacles or run errors, the red indicator will light up to remind the user to check.
4.2. Mode
4.2.1. Joystick-based control
In actual operation, the users usually complete maintenance or detection through operating a robot by joystick. The robot should be able to maintain a position or attitude so that the user can judge the failure mode or determine the type of substance after identifying the target. For this, the following solution for joystick control are designed. The hardware necessary for the robot’s work is installed on the printed circuit board (PCB) expansion board of STM32, and the external input devices required by the robot include two joystick modules and a 1*4 matrix keypad. In practice, the user will open the robot switch and select an appropriate control mode through the matrix keypad according to the voice prompt. When the joystick mode is selected, the In/Out ports corresponding to x and y axes of the joystick module will output two analog quantities with voltage ranging from 0 to 3.3 V. The ADC module of STM32 will convert the analog quantities to digital quantities. The upper computer program will continuously read and judge the digital quantities converted by the interface voltages to determine the position of joystick. When the user presses the joystick module, the digital output port will output low level for the microcontroller to read.
To enable the robot to realize full freedom degrees of bending and folding, the top and bottom segments of the robot are controlled by joystick module1 and joystick module2, respectively, as shown in Fig. 12. Under joystick mode, the main program will continuously retrieve data returned from the two joystick analog ports by means of alternate access. The next action is determined by the main control panel according to the detected position of joystick module and the current state of the robot. Taking joystick module2 for instance, when a user performs a dial operation, the main program will first get the data returned by joystick and then convert the x and y values of joystick into position angle $\alpha$ . If $\theta$ value is taken intermittently within $[0,\theta _{\max }]$ at the appropriate step size, the ratio of revolutions required by drive motors can be calculated with Eq. (8). At last, the main program calls the motor control function to make the motor rotate and tighten the corresponding drive cable, thus making the robot bend in the corresponding direction. If the main program detects that the joystick module keypad is pressed, it will call the motor control function to tighten all of the three drive cables of the corresponding segment so that the robot can realize the folding motion. After the joystick is released, a single motion cycle is completed. If the robot remains in its original position, the system will record the revolutions for each motor. When the user pushes the joystick to another position, the system will first calculate the revolution ratio of motor, integrate the recorded revolutions to obtain the required revolutions of motor in a new motion cycle. At last, the motor control function is called to complete the actual movement. After the user presses the reset keypad, the motor will reverse the corresponding revolutions according to the data previously recorded to make the robot return to its original position.
4.2.2. Remote control
This study developed a remote-control function for the robot so that it can work in extremely dangerous or narrow environments not convenient for human beings. The remote control is divided into wired control for average distance and wireless control for long distance. For wired control, the upper computer directly sends instructions to the lower computer through a data line, while wireless control is based on Wifi module. There are two working modes for remote control, that is, User-defined Hybrid Control and Angle-based Hybrid Control modes. Under the User-defined Hybrid Control mode, the motors are controlled in turn for specific robot attitude, and under the Angle-based Hybrid Control mode, bending angle or folding amount may be input directly. The robot will perform calculation according to the input instructions, and at last, achieve the target state through motion automatically. The lower computer has two asynchronous serial communication interfaces, that is, UART1 and UART3, which are used to receive data from Wifi module and data line, respectively. The Wifi module is directly connected to the UART1 communication interface, and the upper computer is connected to the UART3 communication interface by TTL-USB conversion module. Wireless control allows the operator to stay away from dangerous working environments, but when there is a serious interference on Wifi signals, wired control based on the upper computer is more reliable.
The operation interface for the upper computer with a control panel as shown in Fig 13 is developed based on Matlab APP Designer module. Under the User-defined Hybrid Control mode, after the user clicks the keypad in the corresponding area, the upper computer will send a hexadecimal character to the robot. With the polling retrieval program of STM32, the three drive motors can be directly controlled.
Under the Angle-based Hybrid Control mode, the user can input the position angle and bending angle for the curved plane in the corresponding command bar. After clicking the start key, the amount of contraction of drive cable calculated by the small program will be fed back to the APP interface and sent to the lower computer. According to the instructions, the lower computer controls the motor for bending. For the above two modes, there is a Reset key. After completing one operation, the user can click the Reset key, and the robot will have a reverse rotation according to the recorded revolutions of motor, and restore to the initial state at last.
5. Motion test
5.1. Joystick-based control
Joystick-based control enables the user to operate the robot in the most efficient manner. The robot can be fully folded or bent in any direction to complete its work precisely based on the user’s close observation. Figure 14 has demonstrated a test for the prototype. Specific procedure is as follows: Turn on the switch of the robot and adjust the robot to Joystick-based Control mode as prompted by voice. Toggle the joystick that controls the bottom segment to make the robot move quickly and approach the target efficiently. Press the Reset key of bottom segment to demonstrate the one-key reset function. Toggle the joystick that controls the top segment to make the robot approach slowly for precisely locating the target. Press the Reset key of top segment to demonstrate the one-key reset function. Obviously, the robot with control system proposed in this paper can accomplish tasks efficiently and accurately, and it is suitable for flexible grasping and detection of sophisticated devices.
5.2. Remote control
Remote control can guarantee the safety of users as controlling the robot to work in dangerous and complex environments. The remote control of robot designed in this paper includes two modes, that is, wired control for upper computer and Wifi wireless control. The corresponding Wifi module and USB-TTL (communication protocol conversion module) are reserved on the top layer of control box to facilitate the connection of the upper computer. The Angle-based Hybrid Control mode for wired control is demonstrated below. Specific procedure for the test is as follows: Turn on the switch of the robot and adjust the robot to command control mode as prompted by voice. Open the App for operation of the upper computer, and connect the Wifi module. Enter position angle $\alpha^{\prime}$ and bending angle $\theta^{\prime}$ for the bended plane in the text box of the APP for the upper computer, and click the start key. At this point, the robot’s corresponding segment will bend by the input angle. Then the user may click the Reset key to restore the robot to its original state.
The test has proved that the effect is better when the top segment and bottom segment are controlled separately. If the top segment and bottom segment move simultaneously, it is necessary to perform fine-tuning with other keys. The results are shown in Fig. 15.
5.3. Autonomous detection
Installing a camera at the end of a flexible robot to guide the movement is a common means of robot control. For example, Kang et al. from Tianjin University used the camera to provide the visual field and judge the distance between the robot and the obstacle. It is an effective method [Reference Kang, Liu, Geng and Yang42].
In order to further verify the practicability of the robot, we designed an independent detection test aiming at deep-sea mineral exploration. The picture of the deep sea landscape was printed out as the background. The background was a square area of 1 m2, in which we stuck a number of ordinary stones and an orange cube. We set the robot to scan according to the conical track, because of the central symmetry of the robot.
When the robot was working, the camera connected to the upper computer returned the image in front of the end-effector in real time. The upper computer would determine whether there was a target ore in front of the end-effector. Once the target appeared, instructions were given to make the robot stop moving immediately and wait for the next operation of the user. Figure 16 showed the complete autonomous detection process of the robot: At the lower right corner of the picture was the scene in front of the end-effector.
We set the robot to scan according to the conical track, because of the central symmetry of the robot. In the case of weak light, we carried out the experiments 40 times. We changed the position of the cube before each experiment. The experimental results showed that the robot recognized successfully 35 times and the accuracy rate was 87.5%. The recognition method is the main factor that affects the recognition accuracy. In this research, we used color recognition, ignoring the contour, surface, and other features of the object. This method is greatly affected by the illumination. An effective improvement is extracting multidimensional information of target such as edge and texture by using convolution neural network. It will increase the accuracy rate possibly.
6. Conclusion
A SLPM-based deployable robot was proposed in this paper. For the robot, the paper described the design, modeling, hardware selection, drive strategy, and test results successively to fully demonstrate the practical value of the robot. The robot is suitable for equipment maintenance, field detection, and space debris pickup with the following features. The principle of origami is adopted for mechanism equivalence, and the SLPM section is determined as a flexible branch chain. Compared with conventional 3RSR motion pair maintenance, it is more simple and cheaper. The origami equivalent mechanism has increased the degree of freedom for folding, enlarged the working space of robot effectively, and also reduced the space occupied in the transportation process. The design of control method depends on working environment. With end-effector and camera, the demand of remote control may be satisfied by video transmission. Under the joystick control mode, the robot motion can be controlled precisely to complete complex movements. A highly integrated APP with an efficient and intuitive interface easy to understand and operate has been developed. At the same time, the voice module and LED module on the robot may also provide users with tips for specific operations.
The deployable robot proposed in this paper has made some progress in mechanism innovation, practical application, and experimental measurement. However, there is still some problems to be improved for it. In the future, relevant studies may focus on the following issues: First, the coordinate system of robot may be standardized by coordinate transformation, and through further defining the relation between contraction amount of drive cable and position of target point, a higher precision control may be achieved. Second, the hardware for control may be upgraded. For example, the drive motor is replaced with a servo motor, or a closed-loop control system is designed to improve the precision of control. At last, the improvement of robot structure should also be considered. For example, for the flexible branch chain, an integrated structure may be formed by flexible printing, so as to avoid the motion error at the joint.
Required declarations
Acknowledgements
The authors sincerely thank Zhao Tang of Tianjin University for his critical discussion and reading during manuscript preparation.
Author contributions
A short statement must be provided indicating how each author contributed to the work. For example: J.S.D. and Z.M.Z. conceived and designed the study. Z.Z. and Y.G. conducted data gathering. Z.Z. performed statistical analyses. Z.Z., Z.M.Z. and Y.G. wrote the article.
Financial support
Supported by National Natural Science Foundation of China (Grant No. 51535008, 51721003), Program of Introducing Talents of Discipline to Universities (111 Program, Grant No. B16034).
Conflicts of interest
The authors declare no conflicts of interest exist.
Ethical approval
Not applicable.
Appendix A
The basic formula for solving the DoFs of spatial mechanisms can be written as
In the formula, F represents the number of DoFs of spatial mechanisms, n is the number of active components, and $P_{m}$ is the number of kinematic pairs that constrain m DoF. According to Fig. A1, the number of DoFs of the SLPM can be calculated as follows:
Appendix B
Pseudocode for terminal workspace calculation of robot: