Baby MIT Cheetah Robot V2 Autonomous and RC

Introduction: Baby MIT Cheetah Robot V2 Autonomous and RC

About: Want to do some thing best with my less resource.

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

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.

Step 2: 3D Print Leg

Use Tinkercad to design the Legs and Body. And 3D print it in A3DXYZ.

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

Download the apk file from here

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

Download the arduino code from Google Drive

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

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.

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.

Arduino Contest 2020

Judges Prize in the
Arduino Contest 2020

Be the First to Share

    Recommendations

    • Pocket-Sized Speed Challenge

      Pocket-Sized Speed Challenge
    • Audio Challenge 2020

      Audio Challenge 2020
    • Maps Challenge

      Maps Challenge

    54 Discussions

    0
    cancancan5020
    cancancan5020

    Question 1 day ago

    Wow, that's so cool. I want to try it, too.
    Is lithium-battery the only way? Can't we have four AA batteries?

    0
    sammersev
    sammersev

    5 days ago

    Hi, Really Nice project !!!
    I`m thInking about build one myself. But instead of using those 18650 Batterys, I would use one of those cheap chinese Powerbanks(No need for the LM2596 voltage regulator).
    With an ESP32 dev kit that already has onboard Bluetooth.
    Would make it lot easyer.

    0
    jegatheesan.soundarapandian
    jegatheesan.soundarapandian

    Reply 4 days ago

    Thank you very sir....
    ESP32 is a nice idea. But using power bank is not good idea because at first i try in some other project and found while servo working it draw more current and sudden variation in voltage, this make the arduino 5v supply to reduce power and Arduino restart at when ever servo start, because the power bank out put is only 5v its is the minimum voltage for arduino. Also most of the power banks has 18650 batteries inside with same dc to dc power regulator. If you have power bank try it and send the result.

    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 design also works but the joint is very thin and it break while fast steps.

    0
    JackB155
    JackB155

    Reply 6 days ago

    Links Final Print on TinkerCAD shows edited 2019. Is this the latest or am I looking in the wrong place? Thanks!

    0
    jegatheesan.soundarapandian
    jegatheesan.soundarapandian

    Reply 5 days ago

    Yeah it is the last one i start make this project in 2019 with my first version.

    0
    kjellgnilsson.kn
    kjellgnilsson.kn

    Question 11 days ago on Step 16

    Where do I find he Arduino code for Nano to download?

    0
    jegatheesan.soundarapandian
    jegatheesan.soundarapandian

    Answer 11 days ago

    Please find the link in Step19. Click the link to download code from google drive. Due to some time programs and exe cause problem in instructables, in recent days i posted the code in google drive and give you the link. Sorry for the inconvenience

    0
    kjellgnilsson.kn
    kjellgnilsson.kn

    Reply 10 days ago

    Thank you very much. I compiled it error free. As an old electronic engineer, I'm use to read an electronic schematic so I can understand the wiring better. It's a little bit hard to follow the photos. My question than is, do you have typical schematic wiring diagram?
    Also, how do I get the "Cheetah_V2.apk" into my Samsung Smart telephone. I'm not Android expert.
    With best regards,
    Kjell Nilsson in Sweden

    0
    jegatheesan.soundarapandian
    jegatheesan.soundarapandian

    Reply 10 days ago

    Sir mostly samsung smart phones are android version so you can download the apk. Install it by click it.

    0
    kjellgnilsson.kn
    kjellgnilsson.kn

    Reply 7 days ago

    Dear sir,
    The TinkerCad model of the legs show that the short leg where the servo is connected is not centered at the rounded end of the leg. In your pictures of Cheetah it show that it is centered. Should it be offset as shown in the TinkerCad?
    See attached picture.
    Looking forward to an answer before I start to print them.
    Brgds,
    Kjell

    Cheetah short leg.JPG
    0
    jegatheesan.soundarapandian
    jegatheesan.soundarapandian

    Reply 7 days ago

    Sir please download it again and check, when i check its on center and correct.

    0
    kjellgnilsson.kn
    kjellgnilsson.kn

    Reply 7 days ago

    Sir,
    When I reopen it in TinkerCad, there is still an offset from the center of the rounded part on the short leg where the servo shaft will be attached, is that correct? See atttached screen dump of TinkerCad.
    Sorry to bother you,
    Brgds Kjell

    TinkerCad Legs.JPG
    0
    kjellgnilsson.kn
    kjellgnilsson.kn

    Reply 10 days ago

    Thank you. The problem was that I was working on my laptop, not on my Samsung, but I solved by mailing myself and opened the .apk file in the telephone and it installed nicely.
    Back to the question regarding electronic schematic of the wiring, do you have any?
    Hope I'm not bother you too much with my questions,
    Brgds Kjell

    0
    WarenGonzaga
    WarenGonzaga

    9 days ago

    Caught my attention... I'm a small robot fanatic and this one really simple and cute to have!

    1
    JackB155
    JackB155

    10 days ago

    Very nice project. Your Bill of Materials says 8 sets of legs but don't we only need 4?

    0
    jegatheesan.soundarapandian
    jegatheesan.soundarapandian

    Reply 10 days ago

    Thank you very much.......Sorry i wrongly entered, now i changed the sets thank you very much...

    0
    Franx
    Franx

    10 days ago

    It's really good but:
    It needs rubber feet so it can get a foothold. It's like walking on ice as it is,

    0
    jegatheesan.soundarapandian
    jegatheesan.soundarapandian

    Reply 10 days ago

    Tjhank you very much.....yeah rubber in feet is better but for turning we want slippery floor. Please check my previous version the leg movement is calculated as per walk so with out rubber also not affect walk. But want to extend the leg that reduce the tilt while two leg in air.