Monobot, the single servo robot 3d model
3dmdb logo
Thingiverse
Monobot, the single servo robot

Monobot, the single servo robot

by Thingiverse
Last crawled date: 4 years, 3 months ago
How many motors do you need to make a robot which can move in 2 dimensions? Most need 2, either left-right differential like a tank, or one for going forward and one for steering, like cars. There are experiments to achieve steerable robots using just one actuator, notable ones are the 1STAR from UC Berkeley (which has 6 legs, the middle legs are elastic) and the Monospinner from ETH Zurich (which can even fly), but they require complex and delicate mechanisms and control systems.
Introducing Monobot, the single servo robot. This robot has only 2 parts, the base and the foot, which are connected by a servo motor. But how could this robot move?
The key is center of mass, friction, and acceleration. The mass of the robot is located on the upper part ('the body') and is offset to the front, near the batteries. When the motor is accelerating to one direction, normal force (N) on one side of the foot is greater than the other, and since static friction limit (fsmax) is proportional to N, then one side will have more tendency to slip and 'steps' forward. By accelerating to left and right repeatedly, the robot will move forward... ideally. If the foot sides have dissimilar friction constant, because imperfect surfaces, the robot will veer off from straight line. But you can make the robot turn around in spot (which 1STAR cannot) by moving the motor to one direction slowly then suddenly reversing, so the body which has larger inertia will continue rotating that way, but the foot slips. You can see the demonstration in the video.https://www.youtube.com/watch?v=g27qqC4I8kU
Print the base, battery holder holder, and choose a foot (I used 5 degrees, haven't tried the others, but Blender Rigid Body simulation shows that higher angle gives faster movement), screw the servo horn to the foot using servo mounting screws, put your favourite controller (I used Arduino Nano and Bluetooth receiver), 2x 18650 batteries and battery holder, a 5V step down converter for the servo (I don't like powering servos through the nano's regulator), and there you are, a robot as simple as could be.
I suggest using high quality servo, preferably metal gear, since this robot will put high stress on the gears, motor, and motor driver from the repetitive direction reversing. I haven't broken any servo though.
Friction is important here. Slippery PLA only produce little movement, so I covered the foot with masking tape. I measured the coefficient of friction on wood, the result is about 0.4. Too high friction and the robot jumps around or topple.
Arduino code included.
How could you improve the performance of this robot?

Tags