Introduction: Baby MIT Cheetah Robot V2 Autonomous and RC
Very Very Sorry Now only found the legs design in the tinkercad has problem, thanks to Mr.kjellgnilsson.kn for check and inform me. Now change the design file and upload. Kindly check and download. Those who already download and printed I am very very sorry, i never notice and dont know how it change.
Actually that previous design also works but the joint is very thin and it break while fast steps.
Baby MIT Cheetah Robot is the previous version of this robot. I did lot of changes in this version. But even more want to done. But this version very very simple for any one to design. In the previous Version Body is made of wood but in this version i 3D print the body so if any one want to this this robot its very very easy to do. Just download and print the body and leg, then screw the servos.
I plan for the top cover after complete the project, but current due to state wise lock i cant able to get the cover from supplier. Even though it looks cute on carrying two batteries like Robot cow bulk in the stomach.
This is not upgraded from old its completely new build. So all the steps are included in this instructables, you dont want to refer the version1 instructables.
Major changes Done
1) Body is 3D printed.
2) Its Bluetooth control as well as Autonomous.
3) Battery Operated (The strong battery 18650 2Nos allow to run for long hours, From start design to complete i test it for more than 2 hours but still work in battery).
4) Lot of changes in the arduino program, we able to change the moving speed. If we have foot for the robot, it never fall and at that time change the variable smoothdelay in the program and even we see the slow motion walk.
Step 1: 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.
Step 2: 3D Print Leg
Step 3: 3D Print Body
Download the Tinkercad Files and Print it. Some holes are put in the body while fixing and wiring.
Step 4: 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.
Step 5: 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.
Step 6: 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.
Step 7: 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.
Step 8: 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.
Step 9: 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.
Step 10: Under Devepment Work Place
My Work place (also my bed room) at the time of developing baby cheetah robot. See the baby cheetah in the center its growing. Can you trace the tools around me. Organize it after work at night 3 is the difficult task.
Step 11: 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.
Step 12: 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.
Step 13: 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.
Step 14: 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.
Step 15: Finished Baby MIT Cheetah
Step 16: 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.
Step 17: 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
Step 18: 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.
Step 19: Arduino Code
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.
Step 20: Arduino Major Changes
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.
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.
Step 21: 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.
Step 22: 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.
Judges Prize in the
Arduino Contest 2020