Robot design
The schematic structure and the operation of the tendon-driven continuum robot constructed in this study are illustrated in Fig. 1. In order to achieve flexible motion in all directions and to have the rigidity required to grasp different objects, we employ balls for the connection between the discs. Eight discs and seven balls are connected to each other, and an operon rubber string is threaded inside the balls to connect them. The discs are also connected to each other by compressed coil springs, and threads are penetrated inside the springs to work as tendons.
From the initial state (Fig. 1(a)), by pulling the threads toward the base using servo motors, the robot bends its body (Fig. 1(b)). Then, by releasing the pulling force, the restoring force of the contracted springs returns the manipulator to its initial state (Fig. 1(c)).
In consideration of the dimensions of the parts, the shape of the bent manipulator is illustrated by Fig. 2: if the maximum angle at which one joint can bend is \(2\theta\), the diameter of the hole in the disc \(\varphi\) can be expressed as
$$\begin{array}{c}\varphi =2{r}_{ball}\text{sin}\theta \#\left(1\right)\end{array}$$
where \({r}_{ball}\) is the radius of the ball.
Assuming that each point in the entire manipulator bends at an equal angle, the entire manipulator takes the form of an arc, as shown in Fig. 2(c). Then, the distance between balls \(d\) can be expressed as
$$\begin{array}{c}d=2R\text{sin}\theta \#\left(2\right)\end{array}$$
where \(R\) is the radius of the arc.
When\(\varphi\)=15mm,\({r}_{ball}\)=10mm, and \(d=35\)mm, the radius of the arc formed by the manipulator is calculated as \(R=23.33\)mm, which means that the radius of the disc should be about 20mm to be able to wrap around a small object.
Robot fabrication
The dimensions of the parts are determined to satisfy the above requirements, and the disc is designed as shown in Fig. 3. The large hole in the disc center shown in Fig. 3(a) is fabricated so that the rubber string is threaded inside the balls to connect the robotic body from the base to the tip. Three holes for tendons are settled at every 120 degrees so that the bending angles in arbitrary directions are controlled by pulling tendons from three directions.
A 3D printer (CR-10 Smart, CREALITY) is used to fabricate the discs using the PLA (Polylactic acid) material. The wooden-made balls with the diameter of 20mm are employed. The properties of the coil spring are shown in Table 1. The appearance of the completed manipulator is shown in Fig. 4. The total length and weight of the manipulator were 270 mm and 80 g, respectively.
Table 1
Material | Height (mm) | Diameter (\(\varphi\)) | Spring constant (N/mm) |
---|
SUS304WPB | 30 | 5 | 0.078 |
Next, the force required to wind the manipulator was measured in order to select motors to pull the tendons. Using a spring scale, the force required to wind the manipulator was determined to be approximately 0.52 kgf. We set the radius of the spindle, which is attached to the motor axis where the tendons are wrapped, is set at 5cm, so the required torque is \(0.52\times 0.5=0.26\) [kg\(\cdot\)cm]. A 360° continuous rotation servo motor SG90-HV is employed, and the characteristics of this motor are shown in Table 2.
Table 2
Characteristics of the motor, SG90-HV
Weight (g) | Dimension (mm) | Stall torque (kg\(\cdot\)cm) |
---|
9 | \(23\times 12.5\times 22\) | 1.3(4.8V), 1.5(6V) |
Referring to the dimensions of the motors, we design a stand to fix three motors, and fabricate it using the 3D printer. Each motor is controlled by Arduino UNO. The overall appearance of the robot is shown in Fig. 5.
Control program
The bending operations are executed by changing the length of tendons driven by the servo motors. The control program needs to calculate the amount of rotation of each motor according to the direction of bending. Assuming that the curvature of the manipulator is constant, the model of bent manipulator is defined as shown in Fig. 6.
We also assume that the backbone is constant with the length \({L}_{0}\), and the length of a tendon \(L\) can be expressed as follows:
$$\begin{array}{c}{L}_{0}=\alpha {r}_{0}\#\left(3\right)\end{array}$$
$$\begin{array}{c}L=\alpha \left({r}_{0}+{\Delta }r\right)\#\left(4\right)\end{array}$$
where the radius of the arc is \({r}_{0}\), the center angle of the arc is \(\alpha\), and the distance between the tendon and the backbone is \({\Delta }r\).
Therefore, the increase in the length of the tendon \({\Delta }L\) is then
\(\begin{array}{c}\varDelta L=L-{L}_{0}\#\left(5\right)\end{array}\) \(\begin{array}{c} =\alpha \varDelta r\#\left(6\right)\end{array}\)
Next, by ignoring the diameter of the hole through which the tendon passes, a model of the positions of the tendons is defined as shown in Fig. 7. Three tendons in Fig. 7 are named Tendon 1, Tendon 2, and Tendon 3, respectively. We denote \({\Delta }r\) for each tendon as \({\Delta }{r}_{1}\), \({\Delta }{r}_{2}\), and \({\Delta }{r}_{3}\), which can be calculated by the following equation:
$$\begin{array}{c}\varDelta r=\left(\begin{array}{c}{\Delta }{r}_{1}\\ {\Delta }{r}_{2}\\ {\Delta }{r}_{3}\end{array}\right)=-d\left(\begin{array}{c}\text{cos}\theta \\ \text{cos}\left(\theta +\frac{2}{3}\pi \right)\\ \text{cos}\left(\theta +\frac{4}{3}\pi \right)\end{array}\right)\#\left(7\right)\end{array}$$
where \(d\) is the distance between the backbone and a tendon, \(\theta\) is the angle between the direction of motion and the direction of tendon 1.
From the equations (6) and (7), we obtain the relationship between the direction of bending and the amount of change in tendon length. Based on the calculations, the robot can bend to a specific direction by pulling the threads to the required lengths.