![](https://static.wixstatic.com/media/f33e42_10a3f1d043a34e9e9339b511f47436f2~mv2.jpg/v1/fill/w_490,h_392,al_c,q_80,usm_0.66_1.00_0.01,enc_avif,quality_auto/f33e42_10a3f1d043a34e9e9339b511f47436f2~mv2.jpg)
SNAKE-Robot
16 Degrees of freedom
-
Motors- Regular analog metal gear dual shaft servo motors, 18.2 Kg-cm stall torque, 1900mA stall current, 8.4 V maximum operating voltage, 59 g each, 180 degrees rotation
-
Aluminium motor brackets
-
Foam strips around the motor to provide grip
Controller- Arduino UNO
-
Servo Driver- Adafruit PWM servo shield, 16 channel(can control max. 16 servos), 12 bit, I2C interface
Battery- 1550 mAh, 20C, 7.4 V Li-Po
Snake robots belong to the category of hyper redundant robots. That means they have generally more degrees of freedom than necessary. The redundancy helps make the robot more flexible & failure resistant. Snake robots are more practical in disaster management situations as they can go through small openings like pipes & climb poles and trees by wrapping themselves around it.
Snake robots are generally modular. This is because they are made by chaining many actuators (generally motors) together. As far as controls go each module can have separate control unit or there can be a central control unit that controls all the modules.
This is my attempt to make a simple modular snake robot. Each module is basically a motor & a central control unit (Microcontroller) controls all the modules (motors). All the motors are connected to the controller in parallel hence even if one/more motors stop working it does not affect other motors & the robot can still maintain its motion up to some degree. Some of the robot motions are described below.
Worm & Turning
The robot performs worm like motion & turning motion. The worm like motion is done by propagation of square wave similar to slithering motion. This is a bit faster than slithering motion. The turning motion is performed simply by rotating the motors whose axes are vertical successively by 90 degrees.
Side Rolling
Side rolling is one of the best motions I have ever seen in a snake robot & by far one of my favourites. The robot forms a 'C' like shape & tries to maintain that shape all the time while controlling the motors. For this motion to be possible it's necessary that the rotation axis of each motor is at 90 degrees offset to its adjacent motor. In this way, half of the motor axes face in one direction(say X-axis) & the other half at 90 degrees to the former(say Y-axis). While doing this motion all the motors oscillate between a certain angle (say -a to +a, angle of oscillation is different for each motor depending on the shape of the 'C' formed) about the center i.e 90-degree position.
Slithering motion
The robot moves forward by propagation of square wave. It's quite different from the way real snakes move. Basically, the robot attains the shape of a square wave & transitions through a set of configurations to attain the inverse square wave shape & then goes back to the original configuration.