After one year of thinking, design, manufacturing and assembly, Animabot is almost ready to be properly programmed.
Not much to say for this post, except that I’m relieved I could do all within this year and that it worked out almost as planned 😀
Now, it is time to verify that all works, then I will continue to write the missing drivers and subroutines before working on the gaits, behavior and so on…
Stay tuned 😉
The assembly is finally coming to an end with the Top Cover. This part holds the Raspberry Pi and the Head of Anima. This was most certainly the most difficult to assemble and to fit all the components inside in a nice way.
The cables beneath the RasPi looks a bit messy for now because before fixing them definitely, I want to make sure the motherboard and the Pi are properly communicating. This method of soldering all directly on the Pi seemed to me the most practical one, I only have one cable to connect to the motherboard, the rest is connected just beneath the Pi.
I could have done a custom PCB to Plug the Pi into but it would have been too high for the Hood… But thinking about it now, I also could have used a PCB as base for the elevator instead and inverting the 40 header pin. If I have issue later with the hood mechanism, maybe I will think about it seriously.
The mechanism was not easy to integrate and to make it work nicely but after many tweaks (and a lot of patience) it is finally working. It is not as beautiful as I hoped for but it will be hidden and as long as it works, I’m happy with it. So basically, the hood mechanism consist of a small servo pushing or pulling a lever making the platform going up and down.
The bottom looks quite messy with all the cables but unfortunately, there is not much I can do because at some point, cables need to be connected to the motherboard. However, this architecture allows me to install and remove the Top Cover from the body without too much trouble (for maintenance or bug fix). Having the hood held with magnets is also very convenient to access the Raspberry Pi and plug the HDMI or USB cable.
After the Lower part, the Upper body was the logical next step. Actually, there was not much to do on this one… I started by installing the insert for the Top Cover, using the same method as before, which went flawlessly…
After the inserts, only the Flexible OLED display was left to install. I placed it first to see how the active area will match the outline of the body,then, I simply added double sided tape on the inner frame and pressed it against. In order to protect it, I added some felt tape and it looks nicer as well 🙂
For the cable, I first wanted to use braided sleeve but it turned out to be too rigid on the connectors and bit tricky to do… so I opted for the automotive solution by wrapping the cable in automotive tape. This looks pretty neat and avoid rattling noise if the cable is moving against the body.
And voila! The result turned out to be much better than I thought, this curved display looks stunning ! I can’t wait to make a proper HMI and menus 🙂
Some sensors values
See you later for the Top Cover assembly !
After so many weeks of waiting, all Animabot’s parts are finally home !!!
I decided to start with the lower body assembly and then working the way up to the head. The legs will be the last parts to be mounted because I need to redo the PCB and the PCB should be mounted before the legs 😀 this, and also because I didn’t find the courage yet to disassemble the current version yet
The first I did was to check if the motherboard and the servos were properly fitting inside and yes they do! So from this, I started by mounting the screws inserts in place ( by using a soldering iron, then pressing gently them in the hole). Once this step done, I continued with the buttons on the rear panel which are inserted and glued (easy peasy) and placed the dust grid behind the air vents. To install them, I also used the soldering iron and kind of “soldered” to the inner side of the body (melted both together), the result is not particularly aesthetic but it’s easy and durable !
Rear Panel Connections
Rear panel connections
Motherboard placement check
Below the battery, is mounted the dock connector constituted of 2 concentric copper rings (no polarity inversion possible !) and also the dock sensor which is basically a simple magnetic switch (Reed switch). All this is isolated from the battery with some Kapton tape. Last but not least, the IR Telemeter is now fiercely mounted on the front. The switch on the very bottom is the battery kill switch which allows me to completely disconnect the battery from the system …. just in case… 😀
Rear Panel Test
Dock Connector and Reed switch
Next Step will be the upper body 😉
The past weeks have been dedicated to the Head design which is coming along nicely 🙂 The head is slightly smaller than the actual version but contains more devices:
- Gesture sensor on top
- 2x OLED displays for the eyes
- 5Mpx Micro Camera
- 2x Servos for Ears
- 1x Servo for Head pitch
The head is divided in 2 parts in order to allow me to assemble the devices inside. Both part are screwed together and for the first time I will be using threaded inserts in order to have proper mounting 😉
The ears design will be done later, I want to have the complete robot designed to see how they fit with the rest of the body.
I already order some samples of the head to see the print quality and tolerances, I’m glad I did it because I already found several errors I have to correct for the final version. I could also do a test fit for the parts and it looks pretty fine as you can see:
The color is not the definitive one and I’m not sure about the Display color… but it gives a pretty good idea of the future look 😉
So it’s been a while since I posted something here… I have been really busy on some other projects which made the progress on Anima very difficult… I still continued the development on the current version but the more I worked on it, the more I was thinking that it could be greatly improved !
The version 1 and 2 have already been done, however I’m not completely satisfied with the current version… The body cut in several parts due to print size limitation kind of destroy the overall aesthetic and weaken the body. Then the concept was oriented towards a exploration/security robot and I figured it would be better to design it more like a companion instead !
This will be the third and last version of this robot… I started this project quite some time ago (in 2001) and I think it is time to at least finish one version of it
The concept is still the same and most of the exterior design will remain similar to the Rev2. However, the hardware and mechanical will greatly improve !
The Hardware design is almost finished and the Mechanical design is approximately 60% completed ! so stay tuned for updates !
Improvements from Rev2:
• SLA 3D printed body
• Overall body design improved
• 4 Layers Single Motherboard for better performance and size reduction
• All sensors are I2C and on the same bus
• Improved battery charger
• Improved Power supply
• Efficient active cooling
• Improved communication between STM32 and Rpi
• 2 axis Head (new feature !)
• 2 Oled display for the Eyes (new feature !)
• 2 moving ears (new feature !)
• Gesture sensor on top the the head for better interactions (new feature !)
• Docking station capable (new feature !)
• Flexible Oled display for robot status (new feature !)
• Hidden Raspberry Pi with moving hood (new feature !)
Components & Characteristics:
• Energy: Li-Ion 11.1V 7800mAh
• Power: Custom 140W PSU based on LM25119PSQ
• Charger: Custom, based on LTC4015
• Brains: STM32F415VGT6 + Raspberry Pi 3 B+
• 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 10-DOF
– 2x LM75B temperature monitor
– 1x IR telemeter(GP2Y0A21)
– 1x Magnetic switch for charging dock
• Target environment: indoor/outdoor
• Size [LxWxH]: 28cm x 36cm x 16cm
• Weight: 2,5kg
Hi there !
I finished the coxa articulation, this was a bit more complicated than expected, mostly for the shape design… I created a hole inside the part to be able to pass the cable inside, like this it will not be visible 😉 I didn’t had the time for running some stress tests on this part, so I will do it this week and update this post ^^
I still have to finish the leg. As you can see on the global view of Animabot, the legs are not fitting right on the femur : it is normal, and I will correct that this weekend !
Global view, body closed
Looks pretty good, no ?
On the last few days I have been finishing the fixation of the servos in the body. I changed the fixing studs for stronger ones. I still have a lot of work to do inside, but first I want to finish the legs.
I have advanced in the femur part, I still don’t know if I will keep this design because the upper part is flat and I’m not sure it combines with the body shape… But however, the servos are fixed inside, the part is relatively compact, and the cables should fit… so it’s not so bad 😉
Femur case outside
Femur case inside
Femur lateral cut
I also have temporally integrated this to the body, to see how it looks like and this gives also an idea of the size : Cool isn’t it ?
I think I will have to make the corners of the femur and the body a little bit rounder for the articulations movements… But I will see that with the articulations
The next step is to create the fixations between the body and the femur with a cable passage inside (tricky part…)
Hi guys, I have been working on the body for 1 week now, the results are encouraging 🙂 I have a definitive shape and volume for the body, and everything should fit inside (normally…)
I also found an effective solution for fixing the servos inside the body, I still have to make some strength analysis in Solidworks to check if everything is Ok.
The body is of course not finished, I have to create all the fixations for the electronic boards, the batteries, the head support, etc…
I have also to be careful with the screws I will use for fixing every parts, because I don’t want to have to cut them because they are too long… I have also to pay attention with the cables : ensure there is enough space for them 😉
The next steps are :
- Design the femur part
- Design the part between the femur and the coxa (articulation on the body)
This is my progression so far :
For the second version of Animabot I want something different. I don’t want to see the motors or the electronic. I also want him more powerful, more intelligent and more friendly !
So for the design I opted for a full 3D printed body, which allow me smooth forms, and complex shapes. For the design I will inspire me from Norio Fujikawa which has made this one :
The design will be complex to do, but I think I am able to do it 😉
For the intelligence I will use 2 boards :
- The Broadcom BCM2835 ARM11 700Mhz “System On Chip” Processor
- Integrated Videocore 4 GPU capable of playing Full 1080p
- 512MB RAM
- Debian GNU/Linux Operating System
- 2 x USB Ports
- HDMI Video Output
- RCA Video Output
- 3.5mm Audio Output Jack
- 10/100Mb Ethernet Port
- 5V Micro USB Power Input Jack
- SD, MMC, SDIO Flash Memory Card Slot
- 26-pin 2.54mm Header Expansion Slot
- STM32F407VGT6 µC featuring 32-bit ARM Cortex-M4F core, 1 MB Flash, 192 KB RAM
- On-board ST-LINK/V2 with selection mode switch to use the kit as a standalone ST-LINK/V2
- Board power supply: through USB bus or from an external 5 V supply voltage
- External application power supply: 3 V and 5 V
- LIS302DL or LIS3DSH ST MEMS 3-axis accelerometer
- MP45DT02, ST MEMS audio sensor, omni-directional digital microphone
- CS43L22, audio DAC with integrated class D speaker driver
- Eight LEDs:
- LD1 (red/green) for USB communication
- LD2 (red) for 3.3 V power on
- Four user LEDs
- 2 USB OTG LEDs LD7 (green) VBus and (red) over-current
- Two push buttons (user and reset)
- USB OTG FS with micro-AB connector
- Extension header for all LQFP100 I/Os for quick connection
Why these 2 ones ? because the Raspberry is powerful, runs on Linux, is cheap and has an huge community. The second one because it has a lot of pins (breakout board) which allows me to connect sensors and also drives all the servomotors.
This time I made a proper architecture :