Baby MIT Cheetah Robot
I like very much to see robots walk like animals. Lot of Robots MIT Cheetah, Boston Spot wow amazing robots. Like wise very small robot i want to build. This is the version 1 i plan to upgrade more and more for this robot. In the first version i cover major portion. This robot Run, Walk, Crawl, Walk and run in different heights, take push ups(actually i plan for jump but this servo just push up), self check and say Hai. For the first time i use the 3D printed parts. Use android app to control the robot. On inspired of MIT Cheetah i did it so i name it as "BABY MIT CHEETAH". The Baby cheetah size is only 23 cm X 9 cm X 9 cm.
The cheetah run in different heights and different height in front and back side. Turn in the same place.
Materials Required
1) Arduino nano - 1 No.
2) HC-05 Arduino bluetooth module - 1 No.
3) MG90S Servo - 9 Nos.
4) Ultrasonic Sensor HC-SR04 - 1No
5) 3D print Body 1 Nos and Legs 4 Sets.
6) Ultrasonic Sensor Mount - 1 No
6) LM2596 DC to DC Voltage Regulator. - 1No
7) 3.7V 18650 Battery - 2 Nos
8) 18650 Single Battery Holder - 2 Nos
9) ON/OFF Switch.
10) M2 X 10 mm screw with nut - 32 Nos.
11) Double Side plain PCB board.
12) Male and Female Header pins.
13) Wires.
3D Print Leg
Use Tinkercad to design of Legs and Body sttached below and 3D print it.
Circuit Plan and Develop
As per plan we want to drive 9 servos. So i user Digital pins 2 to 10. Connect the pin to the servo pins using male connector. Arduino TX RX is connected to bluetooth RX and TX, Ultrasonic sensor Echo and Trigger connected to Pins A2 and A3 and power supply for bluetooth and Ultrasonic sensor is given from arduino 5V. For Arduino Vin is given directly from 2 3.7V battery 18650. For servos Supply given from same 18650 but through LM2596 voltage regulator.
I use double side PCB to make shield. While use double side PCB be careful while creating track in the PCB, Molten lead pass through the holes and fill in the next side. Use Female header pins in the double side PCB to connect the arduino nano and in the opposite side of the board use male header pins to connect the servos, I soldered 12 male connectors from 2 to 13. Solder female header pins to connect the HC-05 bluetooth module on the board. And Male header pins for Ultrasonic sensor. Four male header pins from GND, Vin of the arduino, dummy and last one for servos vin. The Circuit is very small.
Assemble Leg
There are 7 pieces in the a single set leg. Like wise 4 sets available. Join the leg links where two pieces connected with servo has a servo horn slot on the back side and its is 30mm length hole to hole. and the link pieces are 6 cm from hole to hole.In the 3D model i set only 0.1mm difference gap for links, so it hold very tight. I use fine emery sheet to increase the hole size and fix the links.First join the left side and then the right side and then the bottom.Now use the top screw like cap to hold the links. Join all the four sets.
The screw like plastic piece extend up to the back side of the links. Use feviquick (quick fixing liquid) to paste the holder permanently with the legs. Be careful while pasting, Don't allow the feviquick to flow inside the moving joins. Then fully paste the servo horn on both side of the leg. Now check and found the movement is correct. The links are 5mm thick so its hard.
Changes in Body
While design the body i forgot about wiring and pcb fixing, because i plan not of use flue gun for major fixings. So put 2mm hole for wiring with pvc cable tag. Put the PCB and LM2596 on the top of the body and mark for hole. At first design i not plan for head servo (only plan for ultrasonic sensor). So take a small slot in the front side for servo fixing.
Screw Servos With Plan
First step is to fix the servos. This project has 9 servos. Servos pin connection pin no, name in arduino program and location marked in the first image. I use M2 X 10mm screw and nut (At first plan for nickel screw but while see the force of the leg while walking i feel if screw and nut is use then its very tight and not damage while walking). Screw all the servos as like the photo and as per the pin number hot glue the servo connectors one after the another. So its very easy to plugin and also no chance to change the pins.
Screw Circuits
Put the shield over the body and screw it in the edges with the body on all four sides in the slot. Mark a center line in the body and keep the circuit center with the body center. Screw the DC to DC regulator board LM2596 on the back side of the body.
Power Supply Wiring and Checking
ON/OFF Power switch which i got is the screw option on the front. So i cut a small plain pcb and tie the switch in that pcb and hot glue it. Now put 2mm hole on both side in the pcb. Mark that holee in the back of the body and drill it. Screw the switch with 2mm bolt and Nut. Soldering the battery positive wire through this switch to the LM2596 dc to dc regulator input.
Head Fixing (Ultrasonic Sensor Fixing)
Ultrasonic holder is available online. But the horn screw holder is for the SG90 servo screw. So i increase the hole size of the holder and screw the servo horn with the ultrasonic sensor holder. Make a 4 wire female to female header pin wire extension. Already solder male header in the shield with wiring for ultrasonic. Put the head servo to 90 degree and connect the horn with sensor holder and screw it tightly.
Balance Body by Battery
Already center of the body is marked in the body with marker. Lift the body with screw driver on both side of the marking. Place two batteries holder with batteries on both sides of the Shield and move it back word up to the body is straight. Then mark the font and back edge of the holder. Put two 2mm hole on the battery holder bottom and mark it on the body. Screw the battery holder with 2mm x10mm bolt and nut.
Correct the Wiring
Take the front wires on one side and back wires on other side. Order the wires and use pvc cable tag, tie the wires with the holes already put in the body. Don't let any wire freely. Now the Body with servos, PCB and battery is ready.
Legs Fixing
Create a simple arduino program and set the servos in following position
Leg1F = 80 degree
Leg1B = 100 degree
Leg2F = 100 degree
Leg2B = 80 degree
Leg3F = 80 degree
Leg3B = 100 degree
Leg4F = 100 degree
Leg4B = 80
Headservo = 90
degree fix the leg horn to the servos as shown in the figure ( set the 30mm link parallel to he body) an screw it tightly.
Finished Baby MIT Cheetah
Android Code
Its a very simple program developed in Android with MIT App Inventor . All the buttons send a character as per press and release image. So far 21 characters used for each action. When arduino received this character through bluetooth it works as per the character received.
Download the app from google drive by click the above link and install it in the mobile.
Keys From Android
List of characters send by the Arduino is given below
G Front left
F Front
I Front Right
L Left
S Stop
R Right
H BAck left
B BAck
J BAck right
U Up
D Down
W Front only down
X Back only down
Y Front only UP
Z Back only UP
O Fullstand
P Fullshit
C Check
V Hai
M Manual
A Auto
Run Android App
In the mobile Switch on the Bluetooth and Open Baby Cheetah V2. Click the pick bluetooth and select the arduino bluetooth HC-05. The control screen opens. New addition in the control screen compare to version one is. Auto and manual, if switch to auto then all other buttons are not able to use. Switch to manual mode to activate control.
Arduino Code
Download arduino code from attachement.
The main aim of the arduino program is to keep the body in the same position even walk and turn. For that angle of the leg movement is calculated in each height and put it in a multidimensional array. As per the commands received from the android the program check the array and move the leg in that direction. So the body is in the same height while walk and turn.
Cheetah walk funny like front leg in full height and back leg full down. Like wise wise verse. Like wise it also run in all heights.
Moving speed
In the previous version no servo control is provided so the servo move at its full speed. But in this version a seperate procedure us written for servos speed control. So whole program is changed by intialize the servo position want to move to the procedure. All the 8 leg servo motor last postion is recorded and with the new position find the max difference of all the 8 motors. With that max difference divide all the steps want to move individually and with a for loop repeated for max steps with delay, we change the leg speed here.
Autonomous
When you switch the auto mode in the android. Auto run set to true in arduino. In the Autonomous mode the robot move automatically with the help of ultrasonic sensor.
How It works
1) First the robot go to full stand position.
2) Move forward and check the distance of obstacles from the robot.
3) If the distance is more than 5cm then its walk front else it stop.
4) First it reduce the height to up to 4 steps one by one.
5) If the obstacle is just a gate it never found obstacle at reduced height, then it move forward by crealing. After some fixed movement it stand up and repeat the action.
6) Even down to 1 height and found the obstacle, it again stand at fille height (5th position)
7) Turn the head degree from 90 to 0 and note the distance and turn head to 180 degree and note the distance. Then head go to 90 degree.
8) Refer the left side distance and right side distance, turn to the direction with long distance.
9) After turn move to front and goto step 2.
Autonomous Video
Open the App and connect the robot and click to auto mode (man in the app change to robot). Now see the movement, move forward and see a obstacle and reduce its height step by step, even it has obstacle. So it stand up and see left and right, in the left side i put a corrugated board. So right side has long way and it turn right and walk.
Baby Cheetah in RC Action
Even through Autonomous mode is very nice. Kids like to play with control. Here are some videos with fun action of the robot. It say hai by show leg and shack heads. Orange black combination is like by all. I plan for the top cover only after fix the head and design, but due to lock down i cant able to get the top cover. When cover work completed i put a photo shoot and upload here.
Thank you for going through my project.
Lot more to enjoy...............Don't forgot to comment and encourage me friends.
Baby MIT Cheetah Robot
- Comments(4)
- Likes(6)
- Engineer Sep 29,2024
- Engineer Jul 19,2024
- Engineer Feb 07,2024
- Aviral Verma Nov 29,2023
- Engineer Nov 21,2023
- Haruffaizi Nov 15,2023
- 3 USER VOTES
- YOUR VOTE 0.00 0.00
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
-
9design
-
9usability
-
9creativity
-
8content
-
9design
-
9usability
-
9creativity
-
7content
-
10design
-
10usability
-
10creativity
-
10content
More by Jegatheesan Soundrapandian
- RPI - 8 IO PLC With ATTiny85 Watch Dog This Project is the starting of a big project which control a big process in low cost. I choose rasp...
- BT Control Power Extension Board - Arduino Power extension board with bluetooth control, is used to control all single phase appliances in our ...
- Inchworm Robot - Modular, Move Allsides With BT App All the robots are the inspiration of some natural things. In worms, Inchworm has some special featu...
- Baby MIT Cheetah Robot I like very much to see robots walk like animals. Lot of Robots MIT Cheetah, Boston Spot wow amazing...
-
-
-
kmMiniSchield MIDI I/O - IN/OUT/THROUGH MIDI extension for kmMidiMini
125 0 0 -
DIY Laser Power Meter with Arduino
173 0 2 -
-
-
Box & Bolt, 3D Printed Cardboard Crafting Tools
164 0 2 -