Animabot is a 24 DOF Advanced Hexapod Robot like no other. He was created to interact with its environment through multiple sensors but also with people. He is (and will be) capable of recognizing persons, talk, listen, show emotions and play. The goal of this project is to really have a daily life companion to interact with, like Aibo from Sony or other robotic toys.
This project started back in 2001 with much simpler versions than this one, and after years of improvement and tons of design, I think I finally reached my objective in term of looks and capabilities.
Components & Characteristics:
• Energy: Li-Ion 11.1V 7800mAh
• Power: Custom 140W PSU based on LM25119PSQ
• Charger: Custom, based on LTC4015
• Brains: STM32F415VGT6 + Raspberry Pi 3B+
• OS: RTOS + Raspian
• Programming Language: C, Python
• Communication: 2x Bluetooth + WiFi
• Vision: 5Mpx Micro Camera
- 2x 0.49" OLED for the Eyes
- 1x 1.81" Flexible OLED for robot status
- Legs: 18x Herkulex DRS-0101
- Hood: 1x KST DS215MG
- Head: 2x KST DS215MG
- Ears: 2x Hitec HS-40
• Sound: 2x 1W stereo speakers + buzzer
- Capacitive touch switch with RGB led
- Gesture sensor
• Control: Autonomous and Remote-controlled
- 1x IMU 6-DOF
- 2x LM75B temperature monitor
- 1x IR telemeter(GP2Y0A21)
- 1x Magnetic switch for charging dock
- 1x Magnetic switch for charging dock
• Target environment: indoor/outdoor
• Size [LxWxH]: 28cm x 36cm x 16cm
• Weight: 2,5kg
All the design has been done on Solidworks (which I use since more the 10 years now) and is fully 3D printed by SLA process. The print has been externalized to China to ensure best result. I do have a 3D printer at home, but the quality and precision needed by the design are too high for FFF process. After being printed, the parts are sanded, mat painted (RAL9007) with a soft touch coating. The end feeling and result is stunning !
The robot is composed of 3 main body zones: Head, Body and Legs. The Lower body contains the battery, Motherboard and Control Interface. The upper body is composed of 2 parts which allows me much easier assembly and better reliability. The upper body will be constantly screwed to its lower counterparts and the Upper Cover (Raspberry Pi location) will be screwed on the Upper body. As you can imagine, this will allow me to access all the internal part of the robot without removing the legs (which is currently a huge problem on the Rev2), by simply unscrewing the Top Cover. The Head, Rpi, servos are directly mounted on the Top Cover, and connected by only 3 cables to the Motherboard for easy assembly/access. I installed on the belly a connector composed of 2 concentric copper rings (to avoid polarity inversion) for a future docking station.
The rear side of the robot contains the main switch of the motherboard, the charger connector and the Raspi On/Off button. There is also the curved OLED display allow me to show different information and animations (battery charge, current mode, sensors info, etc..)
The Raspberry Pi is completely hidden inside a special compartment which I call hood. The Rpi has been modified and I got rid of all connectors in order to fit it inside ! The Ethernet connector is gone, along with the x2 USB, Jack and the 40 header pin (yes, it was also too high). I could fit a single USB connector instead to plug a wireless dongle for the keyboard and mouse (to program on the Pi). The Audio amplifier and USB board for the speaker and microphone will be installed below the Rpi and the STM32 debugger will be installed in place of the RJ45 connector.
The robot is only composed of one motherboard (4 layers) instead of several, which help a lot on 2 points: performance and compactness. The PCB is divided in 4 main areas:
- Front: Power Supplies (7.6V - 5V - 3.3V)
- Middle: IMU + Cortex M4 + Interface (Bluetooth, buttons)
- Rear: Battery Charger
- Edges: Connectors
The Power supply is based on a LM25119 from Texas Instrument and capable of delivering 20A at 7.6V, that's over 140W !!!
Of course, to dissipate all this power you need a proper cooling system... this is why the PCB is equipped with a "wind tunnel" cooling directly the PSU and the Charger. The Power supply has been tested with a 16A load and performed without issue, the overall temperature didn't exceed 50°C with a 120W load ! So I believe I should be fine regarding this topic :D
The wind tunnel uses a radial fan just on top of the PSU, but as it is a radial , it blows air directly towards the tunnel output. As the area below the fan is closed, all the sucked air goes directly out and there is a “hot air pocket” below it. By adding a hole beneath, the air is also sucked form the bottom of the PCB and flows through all the components.
The charger is a LTC4015 and capable of Telemetry, I will be able to supervise the input and output energy of the Battery. The charger also takes care of the standard protections (over-charge, battery temperature, under-voltage, etc..) and all the monitoring/configuration is done via I2C ! I also over-dimensioned most of the components like the transistors to be sure to be on the safe side. The Raspberry Pi is directly controlled by the CortexM4 directly for powering ON & OFF. To avoid the last noise issue on the speakers, I added a small isolated DC-DC converter for the audio amplifier.
All sensors are connected together on the same I2C bus, which improves and simplify the data acquisition. The IR telemeter as well, I use a small I2C ADC converter to do the trick.
Board dimensions [LxWxT]: 177mm x 84mm x 1.2mm