Gyecko
Gecko-inspired pipe inspection robot
A gecko-inspired robot for inspecting pipes from the inside (interior), 241 g and 50 mm wide. Its slim body extends and contracts on custom rack-and-pinion actuators, turns at a center joint to follow bends, and steps on stamp-type feet whose sticky pads lift to let go and press down to hold. With no markings to follow inside the pipe, it estimates depth from a single camera image to decide when to go straight or turn, and stops in front of a target obstacle. I proposed the idea, led a team of six, and took charge of the mechanical design and control. It received the Highest Honor in Sungkyunkwan University's Co-Deep Learning Project.
Built · Tested in dry, wet, and inclined pipes
Team code on GitHubWhy Gyecko
WORM could only crawl in a straight line, and the colon is a narrow use case. For my next robot, I looked for a more everyday problem where turning matters: pipe inspection. The idea came up while I was still working on WORM: a researcher from our partner materials lab and I thought that the strengths of a sticky pad, a firm grip that holds even on wet surfaces, could pay off inside pipes as well.
Pipes in plants and buildings need to be checked from the inside, but they are narrow, curved, often wet, and sometimes tilted, and they can be dangerous for people to work in. Existing pipe robots tend to be either rigid and large, which keeps them out of small pipes and makes them slip on wet surfaces, or soft and flexible but less durable. Commercial ones also cost around $7,000.
Gyecko combines the two: a rigid 3D-printed body small enough for narrow pipes, with soft, sticky pads on its feet that keep their grip when wet. It is built from under $200 in parts.
The name is a bit of Korean wordplay. Gyecko sounds like gecko, the animal whose way of walking its feet copy, and its two syllables also stand for where it came from: gye from the Korean word for mechanical engineering (gigye), our department, and cko from Co-Deep Learning, the program we built it in.
Design and build
Gyecko takes its body from a worm and its feet from a gecko.
Earthworm body
Gecko feet
GyeckoA worm-like body that extends and contracts keeps the robot narrow, but crawling with the whole body on the ground is slow. A gecko instead lifts a foot to let go and presses it down to hold on. So in each step, Gyecko lifts one foot, extends or contracts its body, and puts the foot back down to grip.
Each foot works like a stamp. A rack and pinion lifts it off the surface to let go, and presses its pad flat against the surface to grip. The pads are PDMS silicone blended with PEIE, a polymer that makes the surface stickier, and they keep their grip on wet surfaces. A teammate with materials-lab experience led their development, and we chose a 10:1 ratio after testing several mixes.
To keep the body narrow, it needed a very slim linear actuator, and the ones on the market were too expensive, heavy, and wide. So I designed a rack-and-pinion actuator around the narrowest servo I could find.
Normally the gear is screwed onto the servo horn, which adds width. Instead, I paused the 3D printer partway through the gear, dropped the servo horn in, and let the printer finish around it. The one-piece gear made the actuator 7.8 mm narrower.
1 Pause the print
2 Insert the servo horn
3 Resume printing
Screw-fastened
IntegratedPipes bend, so a turning servo sits at the center of the body, between two of these actuators. At the center, it turns the robot the same way whichever foot is anchored.

The first full robot had a problem: when it turned, the rear foot, which should stay anchored, rotated along with the body. I tried feet and pads of different sizes at different distances from the turning axis. The anchored foot held with 40 × 40 mm pads placed 49.7 mm from the axis, as close as the design allowed.

The finished robot is 50 mm wide, 75 mm tall, and 150 mm long, and weighs 241 g. It has five degrees of freedom, each driven by its own servo, plus a camera and an ultrasonic sensor.


Finding its way
Pipes have no lane markings to follow. A line-following robot can steer by keeping a painted line in view, but the walls of a pipe look much the same everywhere, so Gyecko has to read the shape of the pipe itself: whether it runs straight ahead or bends. We also wanted to keep the robot small and cheap, so instead of adding sensors like LiDAR, it does this with a single camera.
At each step, its Pixy2 camera takes a picture ahead. Depth Anything V2, a monocular depth model, estimates how far away every pixel is, but only relative to the others, so the ultrasonic sensor measures the true distance to the center of the image and the rest is scaled from it.
The robot then compares the depth at the left edge, the center, and the right edge. If the center is farthest, it goes straight. If one side is farthest, a corner is coming, and it turns that way within two steps. If any of the three gets too close, it turns away from the wall.
We built the task around an inspection scenario: follow the pipe without hitting the walls, and when the robot finds a problem, alert the operator and stop in front of it. A yellow block stands in for the problem, and the Pixy camera's built-in detector is trained to recognize it. When it sees the block, the robot turns on a red LED as the alert and stops in front of it. The depth model runs in Python on a laptop, which sends commands to the robot's Arduino.

Testing
We tested Gyecko in a curved square pipe that we 3D printed. In each run, it had to follow the pipe without hitting the walls, spot the yellow block, turn on its LED, and stop in front of it. It did this in three conditions: a dry pipe, a wet pipe, and a pipe tilted at 30°.
In the wet pipe, water pooled in one section. The robot slowed down there but kept going.
Before the incline test, we measured how much one 40 × 40 mm pad could hold on a 30° slope: 128 g. Two pads can hold about 256 g, just above the robot's 241 g. So we first had the robot walk up a 30° ramp, and then ran the full task in a pipe tilted at 30°.
Role and team
Gyecko started from my idea, and I led a team of six mechanical engineering students through it. I took charge of the robot's mechanical design and gait control: the body and feet, the 3D-printed prototypes, and the Arduino code that moves them.
Gyecko was a collaboration across three kinds of work: materials, vision-based control, and mechanical design. A teammate who had spent years in a materials lab developed the sticky pads, and a teammate who knew computer vision proposed steering by depth estimation, an idea I would not have reached on my own. I worked as the bridge between the mechanism and those two fields. When vision-based control needed something from the body, such as a different camera or a clearer view ahead, we talked it through and I reshaped the design to fit. When the pads could not yet keep the anchored foot from turning, the materials teammate and I traded ideas on how far the material could be improved and which foot sizes and distances I should test next, so the pads and the mechanism were tuned together. Going back and forth between the fields is how we optimized the robot as a whole.
Gyecko received the Highest Honor in Sungkyunkwan University's Co-Deep Learning Project.
Next: climbing the outside of a pipe (exterior)
Gyecko works inside a pipe and has to enter through an open end. To inspect only the middle of a long pipe, you would have to cut the pipe open to put the robot in, which is not practical in the field. So after Gyecko, I started a follow-up on my own: a robot that climbs along the outside of a pipe and inspects it from there. It also takes on two limits of Gyecko, which could only handle slopes up to about 30° and was tested only inside square pipes (interior).
My first version had two feet, each a parallel gripper that closes around the pipe, joined by a linear actuator. The actuator reuses Gyecko's one-piece gear. Here the slim gear matters even more: the farther the gear sticks out from the pipe, the larger the torque that tips the robot away from the pipe as it climbs. It climbed like an inchworm: one gripper holds while the other moves up. On a foam panel it climbed but slipped back a little with every step, and on a hard vertical post it could not hold on at all. With only one gripper holding at a time, the robot had nothing to fall back on.

So I added a third gripper foot and a second actuator. Now only one gripper lets go at a time while the other two hold, and the robot moves up one gripper at a time. This version climbed a vertical square post and a round pipe. In its latest version, I also lined the grippers with the same sticky pads as Gyecko's feet for a stronger grip. It is still an early prototype that runs a fixed climbing sequence.
