For a while now I have been thinking about this project. To me it is so cool to see robots move, particularly the quadrupeds. There are lots of DIY Quadruped Robots already online, but I want to make my own one completely from scratch, and with more advanced features. On most of the Quadrupeds, you have the 3D printed frame, some servos to move, and a distance sensor. This seems like a wasted opportunity, because this kind of robot can do so much more, so I wrote down all the things I want my robot to do.
1. Lidar room mapping, remembering terrain, autonomous exploration
2. Camera Detection, detection of things, remembering their location and getting to them later
3. Manual mode with wireless controller
4. As many sensors, Indicators, Controllers sensing different things (MPU6050, Vibration Sensor, MQ-2, DHT11, Photoresistor, Sound Sensor, Reed Sensor, Fire Sensor, HC-SR501, Black Line Tracking Sensor, Heart rate sensor, Laser emitter, Passive Buzzer, SD Card Reader, RTC, Bluetooth Module, LEDS, 0.96 OLED, Hall Sensor... )
After the requirements were set, it was time to start planning. First the hardware. Since I want to keep this robot relatively cheap (under 300 EUR), I decided that the best option for leg movement would be 3 Servos MG996R. One for rotation in the Y axis, and two in the X and Z axes. That is a total of 12 Servos for the robot. Next the Lidar, I am using the 360 Degrees 2D LiDAR LDS02RR. Since this is only a 2D Lidar, and I need to scan 3D space, I will also need a small servo to rotate the entire Lidar. For this I'm going to use the MG90S Micro servo, and a stitching software that will stitch the 2D lidar scans to a full 3D space scan. We also need a 6pin USB TTL UART converter for the Lidar to connect to the brain.
Next is the brain of the entire robot. For the basic low level servo control and Inverse Kinematics, I decided to go with ESP32 S3 WROOM2. This Microcontroller is powerful enough to handle everything and even a little more. For the more advanced stuff like SLAM and Image recognition, I will use an older Intel NUC I have lying around. This NUC is equipped with 4GB DDR3 RAM, which isn't great, but it is around how much we need, so with a little optimization, I think we can do it. The 13 Servos in total can't be powered directly from the ESP32, so I also need a PCA9685 PWM Servo controller for powering the servos and controlling them from the ESP32 with I2C. The entire thing will be powered from a 20V Parkside battery for now, so I also need to buy a Step down converter from 20V down to maybe 6.4V at which the servos will operate. Next, we also need a step down converter for the Intel NUC, so I also bought an XL4015 Step Down Converter which should work for this.
The next problem is the Weight. I calculated that each Leg can hold around 1.2kg. At one time there must be at least 2 Legs on the ground, so 2 * 1.2 = 2.4kg which is the weight I have to fit the robot in. For the legs, I will use a parallelogram to make the leg work more efficiently.
I hope this project will push my skills further, and will hopefully get me to a good school where I plan to study engineering. Next time I will talk about the legs, degrees of freedom, dimensions, IK, CAD Modeling, and Final 3D Printing of the first prototype. See you next time!