collapse

Author Topic: Animabot Rev3 - Advanced Hexapod Robot  (Read 2814 times)

Nemesis

  • Member
  • *
  • Posts: 47
    • Anim4bot
Animabot Rev3 - Advanced Hexapod Robot
« on: January 17, 2019, 09:34:32 AM »







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



Introduction:
Animabot is an advanced hexapod robot created to be a daily life companion and interact with people and objects. He will be able to talk, play with a ball, recognize you,  take care of the home,  be remote controlled and much more !

The version 1 and 2 have already been done, however I'm not completely satisfied with the current version... The body cut in several part 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 :D
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 !

You will find more explanations and pictures on my blog: https://anim4bot.com/category/animabot-rev3/
And here the Revision 2 : http://www.robotrebels.org/index.php?topic=168.0



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 !)
   • 2x 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
   • Displays:
      - 2x 0.49" OLED for the Eyes
      - 1x 1.81" Flexible OLED for robot status
   • Actuators:
      - Legs: 18x Herkulex DRS-0101
      - Hood: 1x KST DS215MG
      - Head: 2x KST DS215MG
      - Ears: 2x Hitec HS-40
   • Sound: 2x 1W stereo speakers + buzzer
   • Interface:
      - Capacitive touch switch with RGB led
      - Gesture sensor
   • Control: Autonomous and Remote-controlled
   • Sensors:
      - 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 34cm x 14cm
   • Weight: 2,5kg
 


Progress:
   • Mechanical design : 100%
   • Hardware design : 100%
   • Hardware assembly : 100%
   • Mechanical assembly : 95%
   • Material & Components : 100%
   • Firmware on STM32 : 30%
   • Firmware on RasPi : 10%
   • Applications : 0%



Hardware:
As mentioned, now Animabot is only composed of 1 motherboard 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.4V - 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 2x 10A at 7.4V, 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 charger evolved as well and is now 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 overdimensioned most of the components like the transistors to be sure to be on the safe side.

I also removed the ATX Raspi from the robot and the Raspberry Pi will be 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.
As mentioned, all the sensors are now connected together on the same I2C bus, which should improve and simplify the data acquisition (one function to gather all sensors data). The IR telemeter as well, I use a small I2C ADC converter to do the trick.

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

Board dimensions [LxWxT]: 177mm x 84mm x 1mm

     

     



Mecha:


Lower Body Assembly
I decided to start with the lower body assembly and then working the way up to the head. 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 !

     

     



Upper Body Assembly
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.

     

     



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

     

     

     



Top Cover Assembly
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.

     

     

     


« Last Edit: December 15, 2019, 06:09:22 AM by Nemesis »

Smashley

  • Member
  • *
  • Posts: 68
Re: Animabot Rev3 - Advanced Hexapod Robot
« Reply #1 on: February 05, 2019, 03:41:50 PM »
Very excited to see more on this project. I greatly enjoyed watching you progress through the previous version. I only wish I had the time and budget to build one myself.

 

* Search


* Recent Topics

"1984 Nixie Time" by 1 what
[May 08, 2020, 01:04:18 AM]


2D Side Scroller Cyberpunk themed by Killer Angel
[February 06, 2020, 06:39:40 AM]


A new wing design for model aircraft / drones by OddBot
[February 06, 2020, 04:42:06 AM]


SDR (Software Defined Radio) by Gareth
[February 02, 2020, 06:15:42 AM]


Circuit Math by ZeroMax
[January 31, 2020, 01:50:18 PM]


NanOMeter by Protowrxs
[January 01, 2020, 12:59:44 PM]


Investigating the VL53L0X Laser Rangefinder by erco
[December 30, 2019, 10:45:44 PM]


PS4 Single Handed Controller Deployed (part 7 of 7) by Gareth
[December 30, 2019, 09:52:29 AM]


"D" -Pad Workio just like Magic (Will Merlin stay or Go) (part 6 of 7) by Gareth
[December 30, 2019, 09:51:27 AM]


PS4 Joystick Digitals 4,5,6,7,10 - Analog's Lx,Ly,Rx,Ry Workio (part 5 of 7) by Gareth
[December 30, 2019, 09:50:37 AM]


Menu Workio ! (part 4 of 7) by Gareth
[December 30, 2019, 09:49:49 AM]


L1 trigger design Workio (Hori controller) (part 3 of 7) by Gareth
[December 30, 2019, 09:48:50 AM]


Hori aka PS4 Joystick Mappings (part 2 of 7) by Gareth
[December 30, 2019, 09:47:17 AM]


PS4 Single Left-Handed Controller (part 1 of 7) by Gareth
[December 30, 2019, 09:44:58 AM]


Time of Flight >>> Rounded Corners !!! by BaldwinK
[December 04, 2019, 05:46:08 PM]

* Recent Posts

Re: "1984 Nixie Time" by 1 what
[May 08, 2020, 01:04:18 AM]


Re: "1984 Nixie Time" by tomasp
[April 13, 2020, 06:03:28 PM]


Re: 2D Side Scroller Cyberpunk themed by Killer Angel
[February 06, 2020, 06:39:40 AM]


A new wing design for model aircraft / drones by OddBot
[February 06, 2020, 04:42:06 AM]


Re: "1984 Nixie Time" by Gareth
[February 02, 2020, 06:23:01 AM]


Re: SDR (Software Defined Radio) by Gareth
[February 02, 2020, 06:15:42 AM]


Re: SDR (Software Defined Radio) by ZeroMax
[January 31, 2020, 01:54:21 PM]


Re: "1984 Nixie Time" by ZeroMax
[January 31, 2020, 01:52:29 PM]


Circuit Math by ZeroMax
[January 31, 2020, 01:50:18 PM]


Re: 2D Side Scroller Cyberpunk themed by ZeroMax
[January 31, 2020, 01:45:33 PM]


NanOMeter by Protowrxs
[January 01, 2020, 12:59:44 PM]


Re: Investigating the VL53L0X Laser Rangefinder by erco
[December 30, 2019, 10:45:44 PM]


PS4 Single Handed Controller Deployed (part 7 of 7) by Gareth
[December 30, 2019, 09:52:29 AM]


"D" -Pad Workio just like Magic (Will Merlin stay or Go) (part 6 of 7) by Gareth
[December 30, 2019, 09:51:27 AM]


PS4 Joystick Digitals 4,5,6,7,10 - Analog's Lx,Ly,Rx,Ry Workio (part 5 of 7) by Gareth
[December 30, 2019, 09:50:37 AM]