I started this project about November 2018.
My initial intention was just to build a cheap RC tracked robot for the kids, with Wall-E as an inspiration for the overall look.
Then I thought about actuating the arms, fingers, and head.
Then I thought about giving him sight.
Now I think about giving him some level of perception and autonomy... Not sure where/when this adventure is going to take me!
Note: I don't have much background in IP management. I'd gladly share my creations. But I often build on others' work (character, models, code, ...) so if I offend the IP rights of Pixar/Disney or any other part, please let me know and I will withdraw any offending content.
I have added a ESP32-CAM module on the front panel... see that little black hole on his torso? now Wall-E can stream video to any web browser over the local network!
The camera mount point is a bit too high though, or viewing angle too narrow, for obstacle avoidance. See in the picture above, only top half of the right hand is visible in the camera feed. I'll have to try with a fish-eye lens.
I could not yet get the .95" color OLED screen to work on the ESP32. Maybe pin assignments are conflicting with the camera module. I'll try again later with a simpler I2C, black and white model.
I also hope that all those modules (especially servos) don't draw too much current on the poor 18650 battery module.
Anyway this camera module opens up a lot of new opportunities... First I shall integrate the video feedback in the remote control webpage. Then I think I should learn learn how to use ROS to perform monocular SLAM.
Additionally, I think a minor redesign of the head might allow to hide another ESP32-CAM module inside the head, and have another video stream directly from the eye (that is, with the head pan/tilt movements).
Now that I have 3D-modelled the electronics modules stack, it seems it can fit in the back half of the body, behind the motors. Not represented here is a mess of wires connecting the interface modules with motors, servos, power supply. Anyway there's still some room left in the front half. Maybe I can add a 0.95" oled display for instance (the greyish cutout in the torso), and speaker with wav/mp3 module?
Additionnally, I'm not fully satisfied with the accuracy of my hand-sawn plywood parts, so I intend to rebuild the whole body out of laser cut plywood or MDF. If I use yellow tainted MDF instead of plywood, I could probably have burn additional aesthetic details on the surface.
I have no experience in laser cutting & drawing though. Can anyone give me some advice on how to design and assemble a beautiful body?
For the remote controller, I didn't want to build a physical remote or use infrared remote (doesn't allow analog control). Instead, I wanted to used a smartphone.
It is quite common to describe a software architecture as a stack.
Now in the hardware electronics domain, with the generous use of stackable daugherboards or shields, I would describe Wall-E's brain as a hardware stack!
At the bottom, a 18650 Li-Ion battery module (the module provides charge control and 5V / 3V output regulation) ; Middle-layer : a Wemos ESP8266 microcontroller (32bit core, WiFi interface, 4MB flash), Wemos motor shield (controls track motors through a dual H-bridge, over I²C), and on top, a servo controller IC (PCA9685 circuit, controlled over I²C, sends 16 PWM signals, therefore control the position of up to 16 RC servos). I have 2 degrees of freedom for head pan & tilt, 3 for each arm (shoulder elevation, shoulder extension, and fingers open/close). That leaves me with 8 unused PWM channels... any idea where I could fit another servo? =o)
Two plexiglas boards are necessary to adapt the mounting holes between modules.
It may look tidy without cabling; but much less so when the power supply and I²C buses run between all layers...