Anim4Bot

Robotic and DIY

  • Hexapod Robot
    • Animabot Rev3
      • Mecha
      • Hardware
      • Software
    • Animabot Rev2
    • Animabot Rev1
  • 3 axis CNC
  • Raspberry Pi
  • Robotic Team
  • SolidWorks
  • 3D Printer
  • Software
    • Image Processing
  • Contact

Animabot Rev3 – Software – Raspberry Pi

Posted by Emmanuel Sichet on 28/10/2020
Posted in: Animabot Rev3, Software. Tagged: ArUco, Face Recognition, Face Tracking, opencv, raspberry pi. Leave a comment

Been a while this the last update, I let aside the development of the Kinematic to work a bit on the Raspberry Pi. So far I could install everything I needed and tested one of the main feature of the robot: Face recognition and tracking.

I used the standard OpenCV library for face tracking and recognition (haar cascade). This work very well, I’m able to recognize different faces and track the x,y position regarding the center of the camera’s image. I also discovered the ArUco markers for augmented reality, I’m planning to use them for the docking station and some other features like cube toy for Animabot.

The framerate is not as high as expected but this will do for the moment. The next step is to transmit all relevant information to the motherboard via SPI to make Animabot act accordingly. Let’s see how it goes 😀

Animabot Rev3 – Software – Expressions

Posted by Emmanuel Sichet on 11/04/2020
Posted in: Animabot Rev3, Software. Tagged: Animabot, hexapod robot, oled. Leave a comment

The development of features and functionalities is going pretty well. I’m now working on the mood and expression of the little guy. Now that the drivers are mainly done, this makes thing much easier 🙂

Animabot Rev3 – Software – OLED and HMI

Posted by Emmanuel Sichet on 25/03/2020
Posted in: Animabot Rev3, Software. Tagged: Anim4bot, Animabot, Flexible OLED display, LSM9DS1, LTC4015. Leave a comment

The development of Anima is continuing, I have been pretty busy writing the drivers for the Charger and the IMU, but I think I have a pretty good base to work on for now.

The current step is to have a homogen code and trying to make it as clean as possible, organize everything together, then I will start working on the servos !

But for now, the OLED HMI looks promising 😉

  • Charging Menu
  • Sensors data Menu

Animabot Rev3 – Mecha – Assembly Finished !

Posted by Emmanuel Sichet on 20/12/2019
Posted in: Animabot Rev3, Mecha. Tagged: Animabot, hexapod, hexapod robot, robot. Leave a comment

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 😉

Animabot Rev3 – Mecha – Top Cover Assembly

Posted by Emmanuel Sichet on 14/12/2019
Posted in: Animabot Rev3, Mecha. Tagged: hexapod, hexapod robot, raspberry pi, robot. Leave a comment

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.

Animabot Rev3 – Mecha – Head Assembly

Posted by Emmanuel Sichet on 11/11/2019
Posted in: Animabot Rev3, Mecha. Tagged: camera, hexapod, hexapod robot, oled, raspberry pi, STM32F4. Leave a comment

Now it is time for the head assembly, as always, this is kind of a headache because of all the tiny parts and dimensions… I started by mounting the eyes (OLED PCB) with the 5Mpx camera (between the eyes). The PCB is screwed in place. Then I continued with the gesture sensor with is directly glued, I couldn’t used screws due to the thin thickness of the head and the lack of space !

Eyes and Gesture sensor
Eyes and Gesture sensor
OLED Eyes
OLED Eyes
Head inner side
Head inner side

Then, followed the servos of the ears, this step was pretty straightforward. Place the motors and screw them 😉 As you can see, there is not so much space for adjustment…

Servos Ears
Servos Ears
Servos Ears
Servos Ears

The most complicated part was to install the neck servos, due again to the small space, it was quite hard to fit all together with screws, bearings and cables… I had to make custom horns and spacers to fit everything in place. The overall tolerance I had to place the servos was exactly 1mm, and it took me a complete morning to assemble the head properly but that is the price for compactness.

Pitch servo assembly
Pitch servo assembly
Neck, bottom view
Neck, bottom view
Neck, Top view
Neck, Top view

After mounting the neck onto its head, it was time to test if all was working as expected (I2C for the eyes and camera) and thankfully, it does :D. All the cables passe through the back of the neck for a rotation of about +- 60°. However, I have some doubts about the head connection to the yaw servo, I find it a bit weak and wobbly… I guess I will have to find a way to make it more robust.

All good !
All good !
Head complete
Head complete
Ready to connect
Ready to connect
Head bottom
Head bottom
Servo for Yaw movement
Servo for Yaw movement
Head-Body connection
Head-Body connection

The last part to assemble is the Top Cover, containing the Raspberry Pi, audio amplifier, speakers, the Hood and the tactile switch…

Animabot Rev3 – Hardware – Motherboard Update (Final?)

Posted by Emmanuel Sichet on 05/11/2019
Posted in: Animabot Rev3, Hardware. Tagged: Animabot, hexapod, hexapod robot, LM25119, LSM9DS1, LTC4015, STM32F4. Leave a comment

After weeks of testing and debugging, I think that the motherboard is finally ready 😀 I had some trouble with the charger which wasn’t communicating nor charging… The reason was simply a bloody wrong capacitor value…. but now it is fixed and working like a charm !

I also discovered some issues on the Servos power supply. Basically, it was not regulating well and completely not handling any load… So, I fixed that as well and did some extensive tests. Now, I’m proud to announce that the power supply has been tested with a continuous load of 16A at 7.6V (8A per channel) for 1 hour without any issue ! the temperature didn’t exceed 60°C (without fan).

So now that all errors are solved, I installed the motherboard where it belongs, and here are the results :

All populated !
All populated !
Servo Power Supply (LM25119)
Servo Power Supply (LM25119)
Battery Charger (LTC4015)
Battery Charger (LTC4015)
Motherboard installed
Motherboard installed
Power Connectors
Power Connectors
Assembly Overview
Assembly Overview

 

Animabot Rev3 – Hardware – Motherboard Update

Posted by Emmanuel Sichet on 06/09/2019
Posted in: Animabot Rev3, Hardware. Tagged: Animabot, herkulex, hexapod, hexapod robot, LM25119, LSM9DS1, LTC4015, STM32F4. Leave a comment

The first version of the hardware was a very good start, I could use and verify many components and features. However, I found many bugs and improvements here and there were necessary !

The first problem was the bandwidth used by the 2 OLEDS for the eyes. In order to have fast and smooth transitions on both display I boosted the bus clock from 400kHz to 800kHz. I know that normally the I2C high speed is 400kHz but from an article I read on HackaDay, the SSD1306 doesn’t actually need the ack to process the command from what I remember…  Obviously the other sensors cannot follow that speed, that’s why I use now two I2C bus: one for the Eyes, the other for the rest of the sensors.

The second problem was the JTAG connector right under the TopCover bottom base, so the cover couldn’t fit properly…

After some servos tests, I discovered to my surprise that when given a PWM, they are always making noise ! These servos are meant for Helicopters so I guess regarding the huge copter noise this is not disturbing… but for my purpose it is ! So after many test of PWM and software tricks I decided that the most efficient way was to add am MOSFET to the servos power supply. With this solution I only power the servo when they need to move, the rest of the time they are OFF (which is also good for power consumption)

I also improved the cooling of the main PSU by adding thermal pads beneath the MOSFETs and by adding a “venturi hole”. 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 the component this time !

I decided to get rid of the 10DOF IMU board… it was too bulky and after consideration I do not need a barometer neither a compass. The accelerometer and gyro are just what I need for stabilization, the rest would be gadget… So, I looked up a bit an found a nice inertial module from ST, the LSM9DS1. Yes, it has a compass, but I will not use it.

Concerning the 5V power supply, I still don’t know why it burned when I connected the battery, because the schematic and layout are correct, and when it burned, the use case was within the range of the component,. So it will require further investigation and hopefully it won’t happen again !

Last but not least, I redesigned the power management, which allows a smart shutdown from the MCU instead of the switch, which gives me more flexibility and control. So basically, when you flip the switch ON, it enables the 3V3 of the MCU. Then the MCU has control over the 5V and 9V of the motors with dedicated EN pins  and via a general switch (MOSFET). When I want to shutdown the robot, I flip the switch OFF, this info is transmitted to the MCU and after a predefined timeout the robot will prepare its shutdown, move to its Park position then switch OFF completely (no current draw at all !)

Top Side
Top Side
Bottom Side
Bottom Side

The white thing you see on the bottom side is the NTC of the battery charger. I mounted it on strap which serves as a spring to press the NTC against the battery for temperature control 😉

Animabot Rev3 – Mecha – Upper Body Assembly

Posted by Emmanuel Sichet on 15/08/2019
Posted in: Animabot Rev3, Mecha. Tagged: Anim4bot, Animabot, Flexible OLED display, hexapod, hexapod robot, robot, STM32F4. Leave a comment

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…

M2.5 Inserts
M2.5 Inserts
Top side
Top side
Bottom side
Bottom side

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.

OLED placement
OLED placement
Mounting
Mounting
Outside view
Outside view

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 🙂

Animabot´'s Logo
Animabot´’s Logo
Some sensors values
Some sensors values
Animabot´'s Logo
Animabot´’s Logo

See you later for the Top Cover assembly !

Animabot Rev3 – Mecha – Lower Body Assembly

Posted by Emmanuel Sichet on 07/08/2019
Posted in: Animabot Rev3, Mecha. Tagged: 3D printer, Animabot, hexapod, hexapod robot, robot, Robot Assembly, robotic. 6 Comments

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 :/

IMG_5029
IMG_5030

 

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
Rear panel connections
Rear panel connections
IR Telemeter
IR Telemeter
Motherboard placement check
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
Rear Panel Test
Dock Connector and Reed switch
Dock Connector and Reed switch
Rear Panel
Rear Panel
Robot's belly
Robot’s belly
IR Telemeter
IR Telemeter

Next Step will be the upper body 😉

Posts navigation

← Older Entries
  • Enter your email address to follow this blog and receive notifications of new posts by email ;)

  • License

    Creative Commons License
    Hexapod Robot Animabot created by Emmanuel Sichet is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.

    Creative Commons License
    Animabot & Anim4Bot names created by Emmanuel Sichet are licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.

  • Search

  • Linkedin profile

    View Emmanuel Sichet's profile on LinkedIn
  • Archives

    • October 2020 (1)
    • April 2020 (1)
    • March 2020 (1)
    • December 2019 (2)
    • November 2019 (2)
    • September 2019 (1)
    • August 2019 (2)
    • July 2019 (3)
    • June 2019 (1)
    • May 2019 (1)
    • April 2019 (2)
    • February 2019 (1)
    • January 2019 (1)
    • February 2017 (1)
    • September 2016 (1)
    • November 2015 (1)
    • September 2015 (1)
    • August 2015 (1)
    • July 2015 (2)
    • June 2015 (3)
    • May 2015 (2)
    • April 2015 (1)
    • March 2015 (3)
    • February 2015 (1)
    • November 2014 (2)
    • October 2014 (2)
    • August 2014 (1)
    • July 2014 (3)
    • June 2014 (2)
    • May 2014 (4)
    • April 2014 (2)
    • March 2014 (14)
  • Meta

    • Register
    • Log in
    • Entries feed
    • Comments feed
    • WordPress.com
  • Blog Stats

    • 41,644 hits
Blog at WordPress.com.
Anim4Bot
Blog at WordPress.com.
  • Follow Following
    • Anim4Bot
    • Already have a WordPress.com account? Log in now.
    • Anim4Bot
    • Customize
    • Follow Following
    • Sign up
    • Log in
    • Report this content
    • View site in Reader
    • Manage subscriptions
    • Collapse this bar
 

Loading Comments...