1 Introduction

Underwater robots play an increasingly important role in areas such as ocean exploration, rescue missions, and marine research. However, traditional underwater robots have certain limitations in adapting to different seafloor terrains and water flow conditions due to the complexity and diversity of the underwater environment [1]. To enhance the adaptability and locomotion performance of underwater robots, the design concept of bionic robots has become a new research approach.

Bionic underwater robots can be classified into swimming-type and crawling-type based on their locomotion. Swimming-type bionic robots primarily operate between the seafloor and the sea surface. Currently, there are bio-inspired robotic fish [2, 3] with caudal fin propulsion and undulating fin propulsion, jet propulsion-inspired robotic squids, and jellyfish [4, 5], among others. While swimming-type robots can achieve multi-degree-of-freedom and flexible movements, it can be challenging to maintain hover and pose stability during tasks such as underwater substrate sampling, inspection, and detection. Additionally, due to the nature of swimming, such robots may generate turbulence, displace debris, decrease visibility, and cause damage to target objects and the environment when closer interaction with the environment is required. Crawling-type underwater robots primarily work on the seabed surface. It primarily mimics the morphology and locomotion of creatures such as crabs, lobsters, and land-legged animals [6, 7]. They can perform stable operations close to the seabed, are more energy-efficient than traditional propeller-driven robots, and have low interference [7] with the underwater environment. However, crawling bionic robots face challenges with retraction and release, and their movement speed decreases when encountering large obstacles or uneven terrain. Therefore, to enhance the adaptability of underwater robots in various environments, a hybrid underwater robot [8] that combines the flexibility of swimming-type robots and the low-interference capability of crawling-type robots can be designed and developed. This approach enables a combination of swimming and walking capabilities, with flexible selection and combination of locomotion modes based on the complexity of the underwater environment and mission requirements. As a result, it improves the maneuverability of robot motion and reduces interference with the seabed environment.

The octopus, a cephalopod marine creature, exhibits high intelligence, locomotion, and manipulation capabilities. Its swimming and control of posture are unparalleled compared to existing underwater vehicles with manipulation and propulsion systems. The octopus has multiple modes of movement and can flexibly switch between them based on different environments and application scenarios. Its movements can be classified into four categories [9]: jet propulsion, swimming, crawling, and walking. Furthermore, the octopus’s tentacles can be used for grasping and capturing, making it an ideal candidate for biomimicry research. Many research teams have designed various octopus-inspired robots based on the different movement modes of the octopus. For example, Sfakiotakis et al. [10, 11] developed a bio-inspired octopus robot made of PU material, with each arm driven by waterproof miniature servo motors, enabling forward and turning motion. Arienti et al. [12] created a soft and four-legged robotic “PoseiDRONE” that can both crawl underwater and jet through water. Its water jet device imitates the action of cephalopods, while a crank rocker mechanism drives the swinging of soft arms for crawling movement. Ahmed et al. [13] designed a novel biomimetic soft robot inspired by the octopus. The robot’s tentacles are mainly driven by SMA wires when electrically charged, and the swinging motion of the tentacles enables vertical upstream movement. Dini et al. [14], inspired by cephalopods such as octopuses, designed and created a new type of soft robot that mimics the complex movement patterns of octopus tentacles, enabling it to swim on the water surface. Almubarak et al. [15] proposed a novel octopus-inspired underwater robot that uses stepper motors and fishing line artificial muscles for underwater gripping. The artificial muscles consist of twisted polymer threads wound around a stepping motor, and the robot’s movement is controlled by a buoyancy device to achieve vertical ascent and descent. Each of the aforementioned octopus robots have its unique design and application characteristics, based on the biological features of the octopus, aiming to mimic its movements and perform tasks in underwater environments. In contrast, this article focuses on the characteristics of octopus' underwater bipedal walking and multiple arms swimming [16, 17], designs and implements the robot's abilities for underwater walking and swimming, and additionally provides grasping and carrying functionalities.

Therefore, this study aims to develop a new hybrid octopus robot that combines the capability of underwater bipedal walking and multi-arm swimming. This robot can achieve flexible swimming in three-dimensional space and close interaction with the underwater environment. It aims to enhance the adaptability of the robot to complex environments, improve the flexibility of its movements, and reduce interference with the seabed environment. The study is divided into three mains parts. The first part introduces the mechanical structure and electrical control system of the bionic octopus robot. The second part establishes a kinematic model for flexible actuators based on constant curvature, analyzes the movements of multi-arm swimming and bipedal walking, and formulates control strategies for both modes. The third part involves experimental tests in a water tank, including multi-arm swimming, bipedal walking, and grasping and transportation tasks, to validate the effectiveness of the robot's design and control methods.

2 Bionic Octopus Robot

2.1 Overall Structure of the Robot

The bionic octopus robot combines both rigidity and flexibility, with its overall structure mainly composed of a head compartment and eight flexible biomimetic tentacles, as shown in Fig. 1. All components of the robot weigh 8.12 kg and have dimensions of 0.5 × 0.35 × 0.35 m. The head waterproof compartment is hemispherical with a diameter of 35 cm, and the total length of the biomimetic tentacles is 23 cm. The tentacle section is made of flexible material to enhance its flexibility underwater. The design uses the 3D design software SolidWorks to design molds and parts, and utilizes 3D printing technology to manufacture them using resin material. The mechanical components of the octopus robot mainly include connection bracket, head cabin, buoyancy unit, center of gravity adjustment unit, walking drive arms, and swimming drive arms. The head cabin is used to store non-waterproof components such as sensors, power supply, and control boards, and is sealed with O-rings (FKM fluoroelastomer) and silicone for waterproofing. The connection frame has an internally hollow cylindrical compartment with a diameter of 4 cm, and is equipped with a buoyancy device shown in Fig. 1b. The buoyancy device is positioned slightly below the center of the robot, which helps ensure the stability of the robot. Additionally, the bottom of the head compartment has added extra mass to raise the center of buoyancy above the center of gravity, granting passive stability to the robot. The buoyancy device has a control range of 100 mL. When the robot is in a walking state, the buoyancy unit fills with water, and the underwater mass of the robot is set to 50 g. When the robot is in a swimming or grabbing and carrying state, the buoyancy unit can be controlled to completely drain the water, thereby improving the robot’s movement speed, and carrying capacity. The center of gravity adjustment unit is located inside the head compartment and is used to control the swimming angle of the robot.

Fig. 1
figure 1

a Structure of the bionic octopus robot. b Section view of the bionic octopus robot. c Swimming drive arm. d Walking drive arm. e Cable-driven flexible arm

The control system of the robot is divided into two parts: remote monitoring software and onboard control, as shown in Fig. 2. The monitoring software is designed and developed using QT and has the main functions of displaying real-time information about the robot's depth, posture. As well as controlling the center of gravity adjustment unit and the buoyancy unit. It also allows for modification of different parameters in walking and swimming modes. The onboard control uses STM32f407ZGT6 as the main control chip, with a total of 16 servos used to control the movement of different drive arms, enabling the robot to walk, swim, and grab objects. The information from the depth sensor and posture sensor is collected using IIC. Communication between the robot and the monitoring software (PC) is achieved using a wireless module (ATK-LORA-01 433MHZ). The robot is powered by a 12 V lithium battery, which can sustain its operation for approximately one hour. To ensure power safety, power detection and relays are added. In case of abnormal current or voltage, the power supply to the servo drive is disconnected.

Fig. 2
figure 2

Structure of robot control system

2.2 Design and Fabrication of Bionic Octopus Arm

Based on the requirements for multi-mode motion and operation of the robot, the eight bionic octopus arms are designed into two types: walking drive arms and swimming drive arms. The walking drive arms mainly achieve the walking and grasping functions of the octopus robot, while the swimming drive arms realize the swimming function of the octopus robot.

Octopus bipedal walking/running mainly relies on the alternating propulsion of a pair of octopus arms, during which the morphology of the arms continuously transitions between bending and stretching states. To achieve the bending action of the octopus arms, the octopus needs to complete it through longitudinal muscle contraction and slight transverse muscle contraction. The role of transverse muscles is to ensure that the diameter of the tentacles remains constant during longitudinal contraction. This mechanism can be simplified as the expansion and contraction of longitudinal drivers. This paper uses a cable-driven flexible arm shown in Fig. 3e method to mimic octopus tentacles' bending action. To achieve 360° bending of the flexible arm, a three-cable drive is adopted [18]. The overall structure of the walking arm shown in Fig. 1d consists of four parts: the first part is the cable-driven flexible arm, which is a long and slender cylindrical object with a length of 100 mm and a radius of 12 mm. It is embedded with three driving cables shown in Fig. 1e. These driving-cable are parallel to the soft arm and evenly distributed at 120° to the center. The second part is the waterproof servo motor (HS-5086WP) and the take-up reel. The extended cable in the soft arm is fixed on the take-up reel. By rotating the take-up reel, the servo motor can change the cable length to control the flexible arm to bend in different directions. The radius of the take-up reel is 2 cm, and the thickness is 4 mm. The third part is the support platform, which is used to fix the three servos and the soft arm. The fourth part is the extended arm, which is conical in shape. It is connected to the end of the flexible actuator, with a length of 100 mm and an end radius of 12 mm. At the same time, there are two rows of small suction cups on the arm, totaling 30, with 15 on each side. The maximum suction cup diameter is 6 mm, and the minimum diameter is 2.45 mm. The small suction cup is generally cylindrical, with a hemispherical depression at the bottom center. Its main purpose is to increase the friction force of the robot during walking. At present, the suction cup has not been designed for active control and has not achieved the functions of grasping and adsorption.

Fig. 3
figure 3

a–c Fabrication of the flexible components in the bionic octopus arm. d Side view of the flexible actuator. e Bending side view of the flexible actuator. f Workspace simulation of the flexible actuator

The robot is equipped with four swimming-driven arms, symmetrically mounted at the rear of a head compartment. These arms have a conical shape, with a length of 200 mm, a terminal section radius of 10 mm, and a top section radius of 5 mm. Each arm is driven by a waterproof servo motor, allowing for a rotation range of 100°. These motors provide power for multi-arm swimming by controlling the rotational oscillation of the arms. Triangular membranes, imitating the function of inter-arm membranes in octopuses, are added to the swimming-driven arms to enhance the efficiency of swimming with multiple arms. These membranes, made of trimmed silicone, are securely fastened to the swimming-driven arms using zip ties.

To create the flexible components for the biomimetic octopus arm, molds, and the aforementioned rigid parts were designed using SolidWorks, and resin material was used for 3D printing. The soft arm was fabricated using the casting method and utilized a type of human body silicone. This silicone rubber is a two-component addition-molded silicone rubber that cures at room temperature. It belongs to the same product category as the ECOFLEX silicone, with a Shore hardness of 30. Considering the risk of incomplete formation through overall casting, the soft arm was divided into two symmetrical halves for casting, with each mold being able to produce half of the soft arm. When manufacturing the cable-driven flexible actuator, the rigid rods were first secured in the molds, and then the A/B silicone mixture was poured into the molds and placed in a constant temperature chamber at a 45° angle for curing, which took around four to five hours. Finally, the same process was repeated to cast the other half, and the cross-sections of the two soft arms were bonded together using the A/B silicone mixture, followed by another curing process in the constant temperature chamber.

3 Underwater Robotic Locomotion Mode

3.1 Kinematics of Soft Actuators

The soft actuator in the walking arm is a typical continuum structure, which cannot be accurately described by parameters like link lengths and joint variables commonly used in traditional rigid robotic arm modeling. To simplify the modeling process, this paper assumes the soft actuator as a circular arc structure with constant curvature [19, 20]. Through this constant curvature assumption, the kinematics of the soft actuator can be modeled using two mappings. One mapping transforms the actuator's driving space to the virtual joint space. \(q\) represents the stretch of cable in the actuator space, \(r\) represents the curvature radius, \(\phi\) represents the bending plane angle, and \(\theta\) represents the curvature angle. The other mapping relates the virtual joint space to the task space, enabling the determination of the end position and orientation of the flexible arm.

For the three-channel single-drive flexible actuator designed in this article, the original length of each cable is denoted as \(L\), which is the length of the actuator. The stretch of the three cables is given as \({q}_{1}\), \({q}_{2}\) and \({q}_{3}\), respectively. The lengths of the three cables inside the actuator can be calculated as \({l}_{i}\):

$$l_{i} = L - q_{i}$$
(1)

Combining the side view of the flexible actuator, as shown in Fig. 3d, the lengths of the three drive lines of the arm can be obtained as follows:

$$l_{1} = \theta (r - R\cos \phi )$$
(2)
$$l_{2} = \theta \left[ {r + R\cos \left( {\frac{\pi }{3} + \phi } \right)} \right]$$
(3)
$$l_{3} = \theta \left[ {r + R\cos \left( {\frac{\pi }{3} - \phi } \right)} \right]$$
(4)

After replacing Eqs. (2) and (3), the mapping relationship between the driving space and the virtual joint space can be obtained:

$$\phi = \tan^{ - 1} \left( {\frac{{\sqrt 3 \left( {l_{2} + l_{3} - 2l_{1} } \right)}}{{3\left( {l_{2} - l_{3} } \right)}}} \right)$$
(5)
$$\theta = \frac{{2\sqrt {l_{1}^{2} + l_{2}^{2} + l_{3}^{2} - l_{1} l_{2} - l_{1} l_{3} - l_{2} l_{3} } }}{R}$$
(6)
$$r = \frac{{\left( {l_{1} + l_{2} + l_{3} } \right)R}}{{2\sqrt {l_{1}^{2} + l_{2}^{2} + l_{3}^{2} - l_{1} l_{2} - l_{1} l_{3} - l_{2} l_{3} } }}$$
(7)

In these equations, \(R\) represents the radius of the concentric circle where the three driving cable are located.

Then, the mapping from virtual joint space to task space is obtained. The arc parameters of the flexible actuator are converted into D–H parameters for kinematic modeling. Combining with the geometric relationships in Fig. 3e, the relationship between the D–H parameters and the arc parameters of the flexible actuator is shown in Table 1:

Table 1 D–H parameter table of a flexible actuator

The coordinate transformation matrix for both ends of the flexible actuator can be calculated using the chain rule (where \(c\) represents \(cos\), and \(s\) represents \(sin\)):

$$\begin{gathered} {\mathbf{T}} = {\mathbf{A}}_{{\mathbf{1}}} {\mathbf{A}}_{{\mathbf{2}}} {\mathbf{A}}_{{\mathbf{3}}} {\mathbf{A}}_{{\mathbf{4}}} {\mathbf{A}}_{{\mathbf{5}}} \\ = \left[ {\begin{array}{*{20}c} {c^{2} \phi (c\phi - 1) + 1} & {s\phi c\phi (c\theta - 1)} & {c\phi s\theta } & {rc\phi (1 - c\phi )} \\ {s\phi c\phi (c\theta - 1)} & {s^{2} \phi (c\theta - 1) + 1} & {s\phi s\theta } & {rs\phi (1 - c\phi )} \\ { - c\phi s\theta } & { - s\phi s\theta } & {c\theta } & {rs\theta } \\ 0 & 0 & 0 & 1 \\ \end{array} } \right] \\ \end{gathered}$$
(8)

Based on this assumption, a coupling relationship is established between two different mapping relationships to obtain the mapping relationship \(T(q)\) between the driving variable \(q\) and the end-point pose \(p\) of the flexible actuator.

Inverse kinematics [21] is used to determine the elongation lengths of the three driving cables related to the desired end-point position of the flexible actuator. When the base of the constant curvature arc is perpendicular to the plane it is attached to, the configuration of the actuator is unique. To solve the inverse kinematics problem, the lengths of the driving cables of the flexible actuator are associated with its central line, where the length of the actuator's central line is set as constant throughout the control process.

$$\phi = \tan^{ - 1} \left( \frac{y}{x} \right)$$
(9)
$$\kappa = \frac{{2\sqrt {x^{2} + y^{2} } }}{{x^{2} + y^{2} + z^{2} }}$$
(10)
$$\theta = l\kappa$$
(11)

Then, the arc parameter in the virtual joint space is converted into the lengths of the three driving cables.

$$l_{i} = l - \theta R\cos \left( {\frac{{2{\uppi }}}{3}(i - 1) - \phi } \right)$$
(12)

Based on the physical parameters of the flexible actuator and the aforementioned kinematic equations, a biomimetic octopus arm model with three-cable drive was constructed. By employing the Monte Carlo method [22], multiple sets of driving cable lengths were randomly generated to obtain the workspace of the flexible actuator, as shown in Fig. 4f. It can be observed that the three-cable driven flexible actuator can achieve twisting and bending motions in three-dimensional space.

Fig. 4
figure 4

a Simplified underwater-legged locomotion model of bionic octopus robot. b Transformation of the flexible actuator into a virtual hinge structure with torque springs

3.2 Bipedal Walking Model of an Underwater Robot Based on Virtual Hinges

The bipedal walking of an octopus is different from conventional crawling methods. Crawling typically involves extending several tentacles around the body and using suckers to push and pull itself forward. However, octopuses achieve bipedal walking or running by alternately propelling themselves with a pair of octopus arms. During the walking process, the octopus arms transition from a bent state to a straightened state and then re-bend to propel the next step. This alternating arm motion allows the octopus to move quickly underwater. Similarly, in our robot walking process, the flexible actuator in the middle of the leg is controlled to cyclically alternate between bending and straightening states, providing forward propulsion for the robot. This continuous bending and straightening process leads to a change in the distance between the leg end and the robot's center of mass, which is consistent with the active leg extension assumption in the SLIP model [23]. Unlike terrestrial robots, underwater robots need to consider fluid mechanics, including water resistance, buoyancy, and additional mass, during the modeling process. In this regard, Calisti et al. [24] based on the SLIP model, proposed an extension called Underwater Spring-Loaded Inverted Pendulum (USLIP) for underwater-legged locomotion [25, 26]. Like the running model in the SLIP model, this gait is also divided into two phases: (a) the stance phase—the leg contacts the ground and actively elongates. (b) the swimming phase—the center of mass passively glides through the water, and the body is influenced by horizontal and vertical drag, buoyancy, and vertical gravity. However, the linear USLIP model cannot accurately describe the motion of the robot in this study due to the flexible actuator's curved continuous structure. Therefore, the physical structural characteristics of the flexible actuator are incorporated into the model. To simplify the complexity of the model, the flexible actuator is treated as a virtual hinge structure with torque springs, as shown in Fig. 4b. This transformation changes the linear USLIP model into a Virtual Hinge USLIP model [27], which more accurately describes the motion characteristics of the flexible actuator and the robot. It is also easier to analyze mathematically and simulate. Based on the kinematic equations described in the previous section (Eqs. 57), the arc parameter in the virtual joint space of the actuator is related to the virtual hinge structure as follows:

$$d_{a} \left( \theta \right) = r\tan \left( {\frac{1}{2}\theta } \right)$$
(13)
$$\alpha = {\uppi } - \theta$$
(14)

Among them, \({d}_{a}\) is the length of the rod on both sides of the virtual hinge. According to the geometric relationship shown in Fig. 4b, the lengths of the rods on both sides of the virtual hinge are the same, but their lengths are influenced by the curvature angle of the actuator. \(\alpha\) is the joint angle of the virtual hinge. \(r\) is the curvature radius of the actuator. \(\theta\) is the curvature angle of the actuator.

During the bending and straightening process of the flexible actuator, the curvature angle of the actuator will change. Assuming that the torsional spring stiffness of the virtual hinge is \(k\), the bending torque \(\tau\) of the flexible actuator during the motion process is given by:

$$\tau = k\left( {\alpha_{r} - \alpha } \right)$$
(15)

In the equation, \({\alpha }_{r}\) represents the actual virtual hinge joint angle of the robot's leg influenced by the support forces during support. \(\alpha\) represents the target virtual hinge joint angle controlled by the actuator.

The distance \({d}_{0}\) from the robot's foot to its center of mass can be obtained by using the cosine rule. Then, the lever arm \({L}_{a}\) between the virtual hinge joint and the line connecting the foot to the center of mass can be determined through geometric relations.

$$d_{0} \left( \alpha \right) = \sqrt {\left( {d_{1} + d_{a} } \right)^{2} + \left( {d_{2} + d_{a} } \right)^{2} - 2\left( {d_{1} + d_{a} } \right)\left( {d_{2} + d_{a} } \right)\cos \alpha }$$
(16)
$$L_{a} \left( \alpha \right) = \frac{{\left( {d_{a} + d_{1} } \right)\left( {d_{a} + d_{2} } \right)\sin \left( \alpha \right)}}{{d_{0} \left( \alpha \right)}}$$
(17)

In the equation, \({d}_{1}\) represents the distance from the robot's center of mass to the actuator, and \({d}_{2}\) represents the length of the actuator's extended arm.

During the walking process, the bending torque of the flexible actuator will exert on the ground, generating an elastic reaction force \({F}_{c}\) at the robot's foot, thereby providing the robot with propulsion.

$$F_{C} = \frac{\tau }{{L_{a} }}$$
(18)

The V-USILP model consists of the following dimensionless differential equations, where the swimming phase is:

$$\ddot{x} = - A\dot{x}\left| {\dot{x}} \right|$$
(19)
$$\ddot{y} = - B\dot{y}\left| {\dot{y}} \right| - C$$
(20)

where,\(A=0.5{\rho }_{w}{C}_{x}{A}_{x}/(m+M) , B=0.5{\rho }_{w}{C}_{y}{A}_{y}/(m+M)C=\left(m-{\rho }_{w}V\right){\text{g}}/(m+M)\). \({\rho }_{w}\) is the density of the fluid, \(m\) is the mass of the robot, and \(M\) is the added mass, \({C}_{x}\) and \({A}_{x}\) are the resistance coefficient and drag area in the x-axis direction, and \({C}_{y}\) and \({A}_{y}\) are the resistance coefficient and drag area in the y-axis direction.

The support phase is:

$$\ddot{x} = - A\dot{x}\left| {\dot{x}} \right| + D\left( {x - x_{0} } \right)\frac{{\left( {\alpha \left( t \right) - \alpha_{r} } \right)}}{{\left( {d_{a} (\alpha ) + d_{1} } \right)\left( {d_{a} (\alpha ) + d_{2} } \right)\sin (\alpha_{r} )}}$$
(21)
$$\ddot{y} = - B\dot{y}\left| {\dot{y}} \right| - C + Dy\frac{{\left( {\alpha \left( t \right) - \alpha_{r} } \right)}}{{\left( {d_{a} (\alpha ) + d_{1} } \right)\left( {d_{a} (\alpha ) + d_{2} } \right)\sin (\alpha_{r} )}}$$
(22)

where \(=k/(m+M)\), \(\alpha (t)\) represents the target control joint angle of the virtual joint of the robot at time\(t\). The parameters \(A\) and \(B\) correspond to the water resistance in the horizontal and vertical directions of the robot, respectively. \(C\) represents the combined effect of gravity and buoyancy acting on the robot. \(D\) represents the bending stiffness of the leg's flexible actuator (Fig. 5).

Fig. 5
figure 5

a, b Motion snapshot and simplified diagram of the landing and takeoff points during the walking process of the robot

3.3 Walking Gait of Robot

As observed in the leg movements of an octopus, the cyclic repetition of the support and swimming phases completes a walking gait cycle. During the support phase, the interaction between the foot and the ground generates contact forces that are transferred to the body, resulting in stepping during the walking process. In the swimming phase, the legs return to their initial positions for the next stance phase, leading to the repetition of the gait cycle.

The control process involves controlling the two states of the support phase and the swimming phase separately. During the support phase, the bending plane angle of the actuator remains constant to ensure the robot's motion direction. The primary control is applied to the joint angle of the virtual hinge, and when the robot reaches the touchdown condition, the flexible actuator transitions from a bent state to a straightened state following a linear function of \(\alpha ={\alpha }_{0}+{\omega }_{\alpha }t\) When the flexible actuator reaches its maximum angle, the robot enters the swimming phase. The bending plane angle of the actuator then symmetrically reverses by \(\theta ={\theta }_{0}+\pi\) and returns the actuator to its initial curvature angle. In the swimming phase, the legs of the robot return from a lateral curve to the state of the next initial support leg, keeping the robot's foot as far from the ground as possible to prevent disruption of the dynamic stability of walking. During the leg return process, the curvature angle of the actuator remains constant, and the bending plane angle of the actuator rotates according to a linear function of \(\phi ={\phi }_{0}+\pi -{\omega }_{\phi }t\) until it reaches the initial angle, and this control cycle is repeated continuously. The control cycle is illustrated in Fig. 6a.

Fig. 6
figure 6

a The control curves for the virtual joint angle of the actuator and the bending plane angle of the actuator for one cycle of robot walking are shown. b The control lengths of the three driving cables of the actuator during the control process. c, d The 3D simulation trajectory curves of the end position of the flexible actuator for one cycle of robot walking are shown. e The motion state of flexible actuators during a single cycle of robot walking

Throughout the entire control process of robot walking, the initial bending plane angle of the actuator \({\phi }_{0}\), the length of the central line \(l\), and the initial joint angle of the flexible actuator's virtual hinge \({\alpha }_{0}\), as well as the swinging speed of the flexible actuator \({\omega }_{\alpha }\), are taken as control parameters. To achieve control of the walking arm, the joint angle of the virtual hinge needs to be transformed into the curvature angle of the actuator. Then, based on the inverse kinematics shown in Fig. 6b, the actual control lengths of the three driving cables \({l}_{i}\) are obtained.

$$l_{i} = l - \left( {\pi - \alpha } \right)R\cos \left( {\frac{{2{\uppi }}}{3}(i - 1) - \phi } \right)$$
(23)

In the equation, R is the spacing radius of the three driving lines. The length of the central line of the actuator is set as a constant throughout the control process. It is shorter than the initial length of the actuator and is subjected to a certain pre-tension force.

To study the effects of the main control parameters, namely the initial joint angle \({\alpha }_{0}\) and swinging speed of the flexible actuator \({\omega }_{\alpha }\),on the walking motion of the robot, a comparative analysis needs to be conducted with different parameter models. Based on the actual size parameters of the robot, let the initial state in the model be \(x=0,y=0.27,\dot{x}=0,\dot{y}=0\). The following parameters are set as constants: \(A=3.96\), \(B=7.92\), \(C=0.08\), \(D=1.79\). The swinging speed of the flexible actuator is set at \({\omega }_{\alpha }\epsilon \left\{\mathrm{60,120,180}\right\}\)°/s, and the initial bending angle of the flexible actuator at landing is set at \({\alpha }_{0}\epsilon \left\{\mathrm{80,90,100}\right\}\)°. The length of the central line of the actuator and the bending plane angle of the actuator remain unchanged. According to kinematic model of the bionic octopus robot deduced above, Eqs. (1922) were solved by MATLAB ordinary differential equation solver ODE45 to get numerical solution. Figure 7c, d shows the simulation of the flexible actuator under different swinging speeds. As the swinging speed of the actuator increases, the robot's step width, amplitude in the y-axis direction, and average horizontal speed all increase noticeably. This indicates that the swinging speed of the flexible actuator can enhance the step length and height of the robot during walking. Based on this characteristic, when the robot encounters obstacles of considerable height during walking, it may not necessarily need to switch from the walking mode to the swimming mode to swim over the obstacles. Instead, by increasing the swinging speed of the flexible actuator and thus increasing the height during the swimming phase, the robot can overcome the obstacles and improve its overall movement efficiency. Figure 7a, b shows the simulation of the flexible actuator under different initial joint angles. It can be observed that as the initial joint angle increases, the robot's step width, average horizontal speed, and y-axis amplitude also increase. Changing the initial joint angle of the flexible actuator alters the landing angle of the robot, allowing the control of the walking speed of the robot by adjusting the initial joint angle of the flexible actuator.

Fig. 7
figure 7

a, b Simulation of robot motion under different initial joint angles of the flexible. c, d Simulation of robot motion under different swinging speeds of the flexible actuator

3.4 Multi-Arm Swimming Mode

By observing the movement of biological octopuses, it is found that octopus swimming motion [17] can be divided into three phases: the opening phase of the tentacles (recovery stroke), the closing phase of the tentacles (power stroke), and the maintenance of closed tentacles (gliding phase). The speeds of the recovery stroke and the power stroke are different. The power stroke involves a quick closure of the tentacles, while the recovery stroke involves a slow opening, during which significant forward thrust is generated. During the gliding phase, the tentacles, and the webbing between them remain closed, reducing the surface area of water resistance. Inspired by the movement characteristics of biological octopuses, a trapezoidal wave is proposed. The swinging angle curve of the robotic octopus swimming arm is shown in Fig. 8a. In this curve, the closure of the robotic octopus tentacles is defined as the positive direction, while the opening is defined as the negative direction. The peak remains constant during the gliding phase.

Fig. 8
figure 8

a Bio-inspired octopus robot swimming arm swing angle. b Schematic diagram of forces acting on the bionic octopus robot's tentacles

Assuming the contraction speed of the power stroke tentacle is \({k}_{1i}\), the ratio of the speed between the power stroke and the recovery stroke tentacles is \({c}_{i}={k}_{1i}/{k}_{2i}\), the midpoint angle during oscillation is b, the amplitude of oscillation is \({a}_{i}\), and the glide time \({t}_{g}\) serves as the control parameters for a robot's multi-arm sculling swimming. The equation for a single-arm sculling motion in one cycle can be described as follows:

$$\theta_{i} = \left\{ {\begin{array}{*{20}c} {b + a_{i} - k_{1i} t} & {0 \le t < t_{1i} } \\ {b - a_{i} + c_{i} k_{1i} t} & {t_{1i} \le t < t_{2i} } \\ {b + a_{i} } & {t_{2i} \le t < T_{i} } \\ \end{array} } \right.$$
(24)

In the equation, \({\theta }_{i}\) represents the servo rotation angle of the i-th arm of the robotic octopus.\({t}_{1i}=2{a}_{i}/{k}_{1i}\), \({t}_{2i}=2{a}_{i}(1+{c}_{i})/{c}_{i}{k}_{1i}\). The duration of one cycle of the robotic multi-arm sculling swimming is denoted as \({T}_{i}=(2{a}_{i}(1+{c}_{i})/{c}_{i}{k}_{1i})+{t}_{g}\). \(b\) represents the intermediate angle of the robotic octopus's swimming arms, which is the midpoint between the maximum and minimum oscillation angles.

$$b = \frac{{\theta_{\min } + \theta_{\max } }}{2}$$
(25)

The swimming arms of the robotic octopus are driven by the Hitec HS-5086WP waterproof medium-sized digital metal servo motor, which operates at a voltage of 6 V and has a maximum rotation speed of 0.18 s/60°. Therefore, during the power stroke and recovery stroke, the rotation speed of the robotic octopus's swimming arms should be lower than the maximum rotational speed \({\omega }_{max}\) of the servo motor.

The propulsion of a bionic octopus robot in swimming mode is primarily generated by its swimming arms. By leveraging the resistance characteristics of water, the robot applies a backward stroking motion with its swimming arms, exerting a force on the water. This action imparts a momentum to the water, causing the robot to experience a reactive momentum from the water, thereby propelling the robot forward.

The single swimming arm of the robot, in combination with the inter-arm membrane, forms a triangular shape as shown in Fig. 8b. The relationship equation for the relative width \({W}_{L}\) of the inter-arm membrane is as follows:

$$W_{L} \left( l \right) = {\text{a}}\left( {1 - \frac{l}{L}} \right)$$
(26)

In the equation, \(a\) represents the bottom width of the inter-arm membrane, \(L\) represents the length of the swimming arm, and \(l\) represents the relative position of the swimming arm.

Assuming the robotic octopus is moving in a stationary fluid, the propulsive force \({F}_{MLi}\) exerted by the interaction between a single arm and the surrounding fluid can be expressed using a simplified fluid resistance model [28].

$$F_{MLi} = \frac{\rho }{2}C_{dL} \left| {\dot{\theta }_{i} } \right|\dot{\theta }_{i} \int_{0}^{L} {(d + l)^{2} } W_{L} (l)dl$$
(27)

In this equation, the direction of the force is opposite to the direction of the swimming arm's oscillation velocity. \({C}_{dL}\) represents the drag coefficient of the swimming arm, \({\theta }_{i}\) represents the angle between the swimming arm and the robot chassis, and \({\dot{\theta }}_{i}\le {\omega }_{max}\). At the same time, the water resistance on the body is \({F}_{DL}=0.5{\rho }_{w}{C}_{db}{A}_{b}\left|v\right|v\), where \({C}_{db}\) is the body drag coefficient, \({A}_{b}\) is the resistance area of the body, and \(v\) is the forward velocity.

Assuming that the mass of the swimming arms of the robotic octopus is negligible compared to the mass of the head, and that the center of mass of the robot is located at the geometric center of the torso, the total thrust force exerted on the robotic octopus can be simplified as follows due to the synchronized swim pattern and the partial cancellation of forces \({F}_{push}\) between the different swimming arms (Fig. 9).

$$F_{push} = \sum\limits_{i = 1}^{4} {F_{MLi} \cos \theta_{i} }$$
(28)
Fig. 9
figure 9

Pool and bionic octopus robot

4 Experiments

4.1 Underwater Bipedal Walking Experiment

To validate the walking mechanism proposed in the previous section, a bipedal walking experiment of the bionic octopus robot was conducted underwater in a water pool. The motion information of the robot in the underwater environment was recorded in real-time using an optical camera (IMX582), and the centroid motion trajectory of the robot was obtained through TRACKER software [13] (a video analysis tool). To ensure the robot’s complete submersion in the water, a buoyancy device was filled with water, and the robot’s weight in water was configured to be 50 g. Additionally, due to the design of the buoyancy center being higher than the gravity center of the robot, the robot’s legs could still maintain a standing position even when stationary at the bottom of the water, under the interaction of buoyancy and gravity. For the convenience of experimental observation, the robot was not equipped with swimming arms and the first two walking arms. The parameters for the robot’s walking motion were set as the swing speed of the flexible actuators \({\omega }_{\alpha }=60\) °/s, and the initial bending angle of the flexible actuators upon landing \({\alpha }_{0}=110\)°. The length of the central line of the actuator \(l=0.095\) m and the initial bending plane angle of the actuator remained constant. In the initial state, both legs of the robot were slightly leaning forward and in contact with the ground. Figures 10 and 11a illustrates the experimental process and data of the bipedal walking test for the robot. the qualitative characteristics of the motion curves related to the walking gait were consistent with those determined in the simulation study. The entire test lasted for 15 s, with a walking distance of 1.09 m and an average speed of 7.26 cm per second. A total of 5 cycles were executed during the experiment, with a walking span of 0.21 m per cycle.

Fig. 10
figure 10

Bipedal walking test of the robot

Fig. 11
figure 11

a Bipedal walking experiment and simulation. b Multi-arm swimming experiment and simulation

4.2 Multi-Arm Swimming Experiment.

To evaluate the multi-arm swimming capability of the bionic octopus robot, a series of experiments were conducted in a swimming pool. The swimming parameters of the robot were set as the power stroke speed \(k=200\)°/s, the speed ratio \(c=2\), the gliding time \({t}_{g}=1s\), the swing mid-angle \(b=45\)°, and the swing amplitude \(A=45\)°. The buoyancy adjustment device was controlled to make the robot have a slightly lower density than water, aiming to prevent sinking and enable it to float on the water surface. The center of gravity adjustment device was used to adjust the robot to the maximum tilting angle. An optical camera was fixed above the water pool to record the robot's horizontal displacement in real-time. Figure 11b shows the comparison between the robot experiment and simulation. During the multi-arm rowing, the power stroke generated significant forward thrust, resulting in noticeable acceleration of the robot. On the other hand, the recovery stroke generated a backward thrust, leading to a significant deceleration or backward movement of the robot. The overall motion trend was similar between the experiment and simulation, but there were still numerical differences. The average swimming speed of the robot in the experiment was slightly lower than the simulated data. This discrepancy can be attributed to two potential reasons. Firstly, the use of flexible silicone in the swimming arms caused some bending during swimming, reducing the thrust area and resulting in a slight decrease in speed compared to the simulation. Secondly, during the testing process, since the robot was floating on the water surface, one of the swimming arms occasionally surfaced when being propelled, reducing the generated thrust. Figure 12 illustrates the process of the multi-arm swimming test for the robot. The total duration of the swimming test was 15 s, with a total travel distance of 1.3 m, an average speed of 8.6 cm/s, and a maximum speed of 15 cm/s.

Fig. 12
figure 12

Bionic octopus robot multi-arm swimming

4.3 Comprehensive Testing

Experiment Initial Conditions: The buoyancy adjustment device is filled with water, and the underwater weight of the robot is adjusted to 50 g, slightly higher than water density. The center of gravity adjustment device is used to bring the robot to an upright position. Figure 13a–c illustrates the mixed testing process of robot walking and multi-arm rowing. The entire experiment can be divided into three stages. In the first stage, the robot starts from a stationary state and enters a walking state, continuously walking for a period while the first two walking arms bend upward and away from the bottom, and the four swimming arms remain fully extended to avoid any contact between the walking arms and swimming arms during the recovery motion. In the second stage, the robot transitions from walking mode to multi-arm swimming mode, swimming vertically upwards until it emerges from the water surface, while the walking arms return to their initial state without bending. In the third stage, the center of gravity adjustment device is controlled to bring the robot to the maximum tilt angle, allowing it to swim horizontally on the water surface while the swimming arms continue to work. Figure 13d show the collected data of tilt angle and depth during the mixed testing of robot walking and multi-arm swimming. The experiment verifies that the bionic octopus robot can switch between walking and swimming modes and operate in both underwater and water environments. In addition, to evaluate the carrying capacity of the bionic octopus robot during multi-arm swimming, the robot will use the multi-arm rowing swimming mode to carry objects off the ground. By controlling the flexible actuators in the four walking arms, the arms will bend inward to grasp and secure the carried object positioned directly beneath the robot. The robot control parameters are the same as those in the swimming experiment. Figure 14 illustrate the process of the carrying experiment. The robot grabs the carried object and transports it from one side of the water pool to the other using the multi-arm rowing method, and finally releases the object by retracting the walking arms. The carried object is a black disk with a diameter of 25 cm and a thickness of 1.5 cm, with an underwater weight of 50 g. The total duration of the test is 13 s, with a total travel distance of 1.1 m and an average speed of 8.46 cm/s. Comparing with the Multi-Arm Swimming experiment data, the carrying process does not significantly affect the swimming speed of the robot. Additionally, to test the maximum carrying capacity of the robot, small steel counterweights are gradually added. When the underwater weight of the carried object reaches 175 g, the thrust provided by the multi-arm rowing is insufficient to counterbalance the gravity of the carried object, resulting in the swimming arms touching the bottom. The limited volume of the buoyancy device partially restricts the carrying capacity of the robot. Future work will be increasing the volume of the buoyancy device to improve the carrying capacity of the robot and achieve better performance and results.

Fig. 13
figure 13

a First stage: bipedal walking. b Second stage: vertical upward swimming. c Third stage: adjusting tilt angle using the center of gravity adjustment device for surface swimming. dTilt angle and depth sensor feedback data in the mixed testing of walking and multi-arm swimming

Fig. 14
figure 14

Robot carrying out rowing swimming to transport the disk

5 Conclusion

This paper presents the development of a bionic octopus robot that combines both swimming and walking capabilities. Two different bionic flexible tentacles and an integrated system of hardware and software for the robot are designed. The kinematic model of the flexible actuators in the walking arms is established. Based on the motion characteristics of octopuses in swimming and walking modes, simplified motion models and gait generation strategies for the robot's locomotion modes are proposed. Finally, the underwater bipedal walking, multi-arm swimming, and grasping and carrying functions of the robot are experimentally validated. The results show that the robot achieves a horizontal motion speed of 7.2 cm/s in the underwater bipedal walking mode and 8.6 cm/s in the multi-arm swimming mode. This study provides a new design approach for the design and application of locomotive bionic robots and demonstrates the locomotion capability of this bionic octopus robot in different modes.

6 Future Works

In order to enhance the robot's performance in real underwater environments, there are several areas that can be improved. The following points outline the main directions for future research and development: (1) Increasing the volume of buoyancy devices: the current small volume of buoyancy devices limits the robot's carrying capacity. By increasing the volume, we can enhance its overall capability. (2) Improving the center of gravity adjustment device: enhancements to the center of gravity adjustment device can enable three-axis control, allowing the robot to rotate 360° and greatly improving its flexibility. (3) Researching and analyzing multi-arm coordinated control: developing control methods for managing complex movements of flexible robots is essential. Investigating multi-arm coordinated control will enable efficient and effective control of the robot's multiple arms. (4) Enhancing the soft arm of the robot: incorporating actively controlled suction cups into the soft arm can enable the robot to grasp objects with a single arm. Additionally, integrating flexible sensors onto the arm can provide more accurate pose information during bending motion, facilitating closed-loop control. (5) Exploring a distributed control architecture: inspired by the octopus, which utilizes a distributed control architecture, future research can focus on modular and intelligent design of the robot's cabin and software arm. This approach can enable effective and computationally efficient arm control, similar to the octopus nervous system with its central brain and peripheral ganglia [29].