• He sees!

    Etienne07/25/2019 at 09:44 0 comments

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

    Stay tuned!

  • New laser-cut body complete!

    Etienne07/25/2019 at 09:27 0 comments

    After a couple hours with the laser cutter at fablab (many thanks Digiteo!), I have cut a new set of parts for Wall-E's body.

    As before, the head is made of plywood slices, glued together. I added a set of holes, so that wood sticks (toothpicks) help keep the slices aligned. 

    The 'eyes' part is screwed onto the 'back head' part, so that both parts can be disassembled.

  • New laser cut body!

    Etienne07/18/2019 at 22:17 0 comments

    laser cut body parts

    to be or not to be?

  • Cutout view

    Etienne06/23/2019 at 13:40 0 comments

    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? 

  • Not much volume left

    Etienne06/13/2019 at 15:27 2 comments

    The hardware modules stack fits nicely inside WALL-E's belly. There is not much space left... 

    If I want to later add a camera, sonar, or loudspeaker, I'll need to move things a bit or spare some place...

  • Wall-E in motion

    Etienne06/11/2019 at 14:14 0 comments

    Wall-E moves!

    Here's a short video demonstrating head & arms movements, piloted from the browser on laptop.

  • Remote control

    Etienne06/10/2019 at 20:34 0 comments

    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.

    I developed a GUI in HTML, Javascript, and Bootstrap/CSS for a modern look. Thanks to Bootstrapp, the overall layout adapts to computer screen as well as smartphone screen.

    I use several joystick controllers for controlling paired degrees of freedom. Blue joysticks control the shoulder elevation & extension joints. When a mouse click, or finger touch, drags the stick, the javascript code converts screen touch/click position to the [-100% ... 100%] range; then a function sends all DoF position commands to the robot over websocket every 200ms.

  • Hardware stack

    Etienne06/10/2019 at 20:22 0 comments

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

  • Head assembly

    Etienne06/10/2019 at 20:02 0 comments

    The head is assembled from several layers of 11mm plywood, routed on my homebrew CNC. 

    My CNC is not very accurate, but after a bit of sanding and a few layers of paint it should look ok.

  • Arms

    Etienne06/10/2019 at 19:58 0 comments

    The shoulder is a piece of 2mm aluminium board, cut and bent to shape. 

    The arm is a 25mm square aluminium extrusion ; a square hole is cut, to fit a MG90S servo.