ME 84 HW #2: Butterfly Swimmer Michael Phelps
Shunta Muto, Osvaldo Calzada
The team did research on other people’s projects of walking EV3 robot on Youtube. The videos inspired us to use various mechanism including gear train and rotation-translation movement conversion from the motor. However, for this project, we figured that the initial design should be simple with smallest number of parts, so that we can add on different features and to continuously improve. We started off with multiple support towards the back of the design, but this resulted in too much friction causing the walker to move less. We then removed the supports and placed the single ball bearing, but the significant inclination towards the rear resulted in the design not moving much. This made us focus into trying to balance the center of mass between both stages of the gait ( when the wheels are touching the carpet, and when they’re rotating freely).
First, the team tried to come up with a mechanism to construct a 4-leg walking robot. This robot would have had two motors (right and left) that drive the gears, which are then connected to the mechanism that converts rotational motion to vertical motion. The vertical motion is used to produce a “step” of the walk. However, we realized that the parts we have in the EV3 kit may not be enough to construct the robot of our design. Furthermore, we realized that our design looks similar to the previous projects of other people, so we decided to come up with our original design with trial and error. Thus, we began prototyping with the simple design of a walking robot that consist of two motors and two legs. Two motors were used because this would improve the torque capacity of the robot.
Our robot construction is very simple. It only requires two motors, two L-shaped legs, tail, and anchors. Legs are connected to the motors directly on each side, but the motors are connected through a rod so that they are synchronized in motion. At the tail, we connected a ball bearing so that it produces minimum friction while supporting the robot from the back. Anchors are simply bars that keep the robot from falling to the side while the legs are not in touch with the ground.
above: Robot construction sideview
below: Robot construction rearview
Robot Walking Mechanism
The robot walks like a swimmer in butterfly stroke. The motors act as the right and left legs and they move continuously in a synchronized manner, just as a swimmer rotates the arms in butterfly strokes. As the legs push the ground, the robot jumps forward. When the legs are off the ground, anchors and the tail temporarily support the robot allowing the legs to rotate around and repeat the process.
Videos below show the robot walking forward and back at low (speed=50), mid (speed=150), and high speed (speed=300). We noticed that the robot actually moves more distance/time backward than forward…:) We also noticed that lower speed provides more distance per stroke and helps the robot to keep its path straight, because high speed results in a lot of “bumps” when the robot touches the ground in a small free-fall after each stroke. These bumps cause the robot to change direction slightly after each stroke. In conclusion, our Michael Phelps robot can walk pretty well (forward AND backwards)!
Above: Low, speed = 50
Middle: Mid, speed = 150
Below: high, speed = 300
This robot keeps walking forever !
ev3 = Device('this')
Rmotor = ev3.LargeMotor('outC') #Large Motor Port C
Lmotor = ev3.LargeMotor('outB') #Large Motor port B
speed = 500
Rmotor.run_forever(speed_sp = speed)
Lmotor.run_forever(speed_sp = speed)
if name == 'main':
Michael Phelps Swimming Butterfly: https://www.youtube.com/watch?v=jd67PMryIT0
Bi-Ped Walker: https://www.youtube.com/watch?v=XdRzgwtMpUE
4-Legged Walker: https://www.youtube.com/watch?v=u0K274aB9YQ&t=5s
6-Legged Walker: https://www.youtube.com/watch?v=ZK5rndlI0bU