Baby MIT Cheetah Robot V2 Autonomous and RC

by jegatheesan.soundarapandian in Circuits > Robots

42714 Views, 361 Favorites, 0 Comments

Baby MIT Cheetah Robot V2 Autonomous and RC

20200621_153354.jpg
control.jpg
20200621_141557.jpg
20200621_151811.jpg
20200621_152517.jpg
20200621_141428.jpg
Baby cheetah V2 BT Control3

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.

Materials Required

C004.jpg
C005.jpg
20200618_231311.jpg
20200620_225008.jpg
20200614_201859.jpg
20200620_204632.jpg
20200614_231908.jpg

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 the Legs and Body. And 3D print it in A3DXYZ.

3D Print Body

Download the Tinkercad Files and Print it. Some holes are put in the body while fixing and wiring.

Circuit Plan and Develop

circuit.jpg
20200614_234954.jpg
20200614_235003.jpg
20200614_235011.jpg

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

20191019_021346.jpg
20191019_021424.jpg
20191019_021452.jpg
20191019_021231.jpg
20191019_021224.jpg
20191019_021522.jpg
20191020_154047.jpg
20191020_011403.jpg
20191020_011348.jpg

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

20200614_201642.jpg
20200614_204456.jpg
20200614_231811.jpg

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

servo fixing plan.jpg
20200614_234906.jpg
20200614_234935.jpg
20200614_235955.jpg
20200615_000501.jpg

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

20200614_235527.jpg
20200614_235553.jpg
20200620_204519.jpg

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

20200620_205625.jpg
20200620_210727.jpg
20200620_210752.jpg
20200620_212435.jpg
20200620_224803.jpg

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.

Under Devepment Work Place

20200620_215157.jpg

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.

Head Fixing (Ultrasonic Sensor Fixing)

20200620_225008.jpg
20200620_230931.jpg
20200620_231110.jpg
20200620_231203.jpg
20200621_021256.jpg

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

20200620_233553.jpg
20200620_234820.jpg
20200620_233634.jpg

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

20200620_235010.jpg
20200621_000501.jpg
20200621_001138.jpg
20200621_005303.jpg
20200621_005347.jpg
20200621_005359.jpg

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

20200614_202012.jpg
20200621_005901.jpg
20200621_005920.jpg
20200621_010659.jpg
20200621_140006.jpg
20200621_010831.jpg
20200621_012000.jpg

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

20200621_012029.jpg
20200621_012848.jpg
20200621_012854.jpg
20200621_022757.jpg
20200621_022820.jpg

Android Code

MIT1.jpg
MIT2.jpg
MIT3.jpg

Download the apk file from here

Download the aia 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.

Keys From Android

control.jpg
List of characters send by the Arduino is given belowG	Front leftF	FrontI	Front RightL	LeftS	StopR 	RightH	BAck leftB	BAckJ	BAck rightU	UpD	DownW	Front only downX	Back only downY	Front only UPZ	Back only UPO	FullstandP	FullshitC	CheckV	HaiM	ManualA	Auto

Run Android App

Screenshot_20200621-165610_Samsung Experience Home.jpg
Screenshot_20200621-165621.jpg
Screenshot_20200621-165634.jpg
Screenshot_20200621-165640.jpg
Screenshot_20200621-165733.jpg
control.jpg

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 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.

Arduino Major Changes

arduino code1.jpg
arduino code2.jpg
arduino code3.jpg

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

Baby Cheetah V2 Autonomous

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

Baby cheetah V2 BT Control1
Baby cheetah V2 BT Control2
20200621_141500.jpg
20200621_141626.jpg
20200621_141421.jpg
20200621_141450.jpg
20200621_152516.jpg
20200621_152908.jpg
20200621_153251.jpg

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.