Mofopefoluwa Mofeoluwa Aluko — AI Developer, RAIN Nigeria

Mofopefoluwa Mofeoluwa Aluko

Robotics Engineer.3D Modelling.Building Intelligent Systems

Abuja, Nigeria

Robotics & Drones Cohort RDA COHORT 19 RAIN Certified · Ibadan, Nigeria 🟢 Open to Work
🟢 Open to Work
Career & Opportunities
💼
Currently open to work
🔗 Connect on LinkedIn

🚀 Projects

1 published
Kinematic Snake-like Robot for pipeline inspection. — robotics project by Mofopefoluwa Mofeoluwa Aluko, RAIN Nigeria
Robotics
Kinematic Snake-like Robot for pipeline inspection.
# Kinematic Snake-like Robot for Pipeline Inspection This project explores how to create realistic snake-like locomotion using servo motors and mathematical sine waves. Instead of manually controlling every joint, the robot generates a travelling wave through its body. This wave propagation produces smooth slithering motion similar to a biological snake. Articulated snake robots are one of the most interesting forms of bio-inspired robotics. Unlike wheeled robots, snake robots generate movement through coordinated wave propagation along a segmented body. This project demonstrates a simple Arduino implementation of snake locomotion using multiple servo motors and sinusoidal motion control. The motion algorithm below creates a travelling wave across a chain of servos, producing a slithering effect similar to biological snakes. The snake’s movement is generated using a sine wave. Each servo receives a slightly phase-shifted version of the same wave, creating the illusion of a wave travelling through the body. --- ## Mathematical Model Mathematically, the servo angle can be represented as: θ=90+offset+Asin(ωt+ϕ) Where: A = wave amplitude ω = wave speed t = time φ = phase shift between segments --- ## Arduino Implementation ```cpp // slither snake void slither(int offset, int Amplitude, int Speed, float Wavelengths) { MaxAngleDisplacement = abs(offset) + abs(Amplitude); while (MaxAngleDisplacement > 90) { Amplitude = abs(Amplitude) - 1; MaxAngleDisplacement = abs(offset) + Amplitude; } for (int i = 0; i < 360; i++) { rads = i * pi / 180.0; for (int j = 0; j < 10; j++) { myServos[j].write( 90 + offset + Amplitude * sin( Speed * rads + j * Wavelengths * Shift ) ); } delay(10); // Check for MQTT updates during motion client.loop(); // Stop motion immediately if disabled if (!isSlithering) return; } } ``` --- ## How the Algorithm Works The robot generates motion by propagating a sine wave through a chain of servo motors. Each servo receives: - the same base wave - but with a slight phase offset This phase difference creates a travelling wave across the body, producing smooth serpentine locomotion. Without the phase shift, all servos would move simultaneously and the robot would simply oscillate in place rather than move forward. --- ## Engineering Challenges Although the algorithm successfully generates snake-like motion, real-world locomotion depends heavily on mechanical and electrical design. Important considerations include: - servo synchronization - power stability - directional friction - joint alignment - weight distribution Multiple high-torque servos can generate large current spikes, making stable power delivery critical for reliable operation. --- ## Conclusion This sine-wave locomotion algorithm demonstrates a simple but effective method for generating articulated snake motion using an Arduino and servo motors. By introducing phase-shifted sinusoidal control across multiple joints, the robot produces smooth serpentine movement with relatively little code. The project demonstrates how mathematical wave propagation can be applied to bio-inspired robotics systems for applications such as: - pipeline inspection - confined-space exploration - autonomous inspection systems
Arduino

Trained at RAIN Nigeria — Robotics and Artificial Intelligence Nigeria is Africa's leading AI and Machine Learning certification institute, based in Ibadan, Nigeria. Programmes: AIML · RDA · DSP · ESIOT · MLAI. Meta AI Academy partner · NUC degree pathway · Founded by Dr Olusola Ayoola.