Pages: [1]   Go Down
Author Topic: My Arduino hexapod monster: Bajdupod 996R  (Read 2427 times)
0 Members and 1 Guest are viewing this topic.
Belgium
Offline Offline
Sr. Member
****
Karma: 1
Posts: 281
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset



My hexapod has an autonomous mode and a remote controlled mode. In the autonomous mode it can track an IR light source using the WiiCamera sensor and avoid obstacles which it detects with 2 ultrasonic sensors. In the remote controlled mode I can let it walk in every direction. I also have a mode to move the body without moving the tips of the legs, this is where inverse kinematic comes in very handy. I also programmed a “fitness mode” where the hexapod lift 3 legs of the ground and moves them up. In the last mode I can control each leg individually, you can see this in the last part of the video. My code is far from perfect, but it works smiley
It was not easy to program all these things and let it all work together.

This is a list of parts that I have used in my hexapod:

Mechanical:

    Hexapod chassis kit (bought on Ebay)
    3x laser cut acrylic plates (made by local shop)
    6x bearings (to mount the underside of the servo brackets)
    Acrylic ultrasonic sensor bracket (bought from Rocket brand studios)
    Pan/tilt kit (for WiiCamera sensor, bought from Rocket brand studios)
    18 metal servo horns
    Lots of M3 nuts and bolts

Servos:

    18x MG996R servos (bought on Ebay)
    3x SG90 servo (to move the sensors, bought on Ebay)

Electronics:

    3x 8A UBECs (bought from Hobbyking)
    3S 3000mAh Lipo battery (powers the 18 MG996R servos)
    2S 1000mAh Lipo battery (powers the 3 SG90 servo and sensors)
    20A automotive blade fuse (protects 3S Lipo battery, bought on Ebay)
    In line fuse holder + 1A fuse (protects 2S Lipo battery)
    Servo power distribution PCB (own design, made by Seeedstudio)
    Seeeduino Mega2560
    ATmega328 board (own design, made by Seeedstudio)
    nRF24L01 module (wireless control, bought on Ebay)
    2x HC-SR04 ultrasonic sensors
    WiiCamera sensor (bought from Rocket brand studios)
    2 x 74HC595 shift registers (to control the 16 leds)
    18 blue leds
    18 220 Ohm resistors
    4 resistors for 2 voltage dividers (analog reading of the 2 Lipo batteries)
    Perfboard, lots of wires
    LM2596 PCB (powers the 3 small servos, leds and sensors, bought on Ebay)

I reused the remote control (based on an Uno, joystick shield and nRF24L01 module) from previous projects. This project cost me quite a bit of money. During the building of Bajdupod 996R one servo burned up. Yes only one, I can assure you these servos have had a very hard time. So I am quite surprised that I did not burn up more servos.

Quite a bit of time and money was spent on powering this hungry beast. I initially used 2 8A UBECs and killed them pretty fast. Then I bought 3 more 8A UBECs and designed a new power servo PCB. Then I destroyed a 3S 3000mAh Lipo battery. I had to recharge the battery so many times that the Lipo charger died on me. Luckily I had 2. The hexapod eats Lipo’s for breakfast, lunch and dinner. The battery lasts less then 10 minutes.

Coding this beast has taken up most of my free time the last couple of months. I would have never thought I would be able to program such a complex project one year ago. I have only been playing with Arduino for one year and a halve, before that I had never written a line of code. I’ve never taken any programming courses, everything I’ve learned comes mainly from lots of trying and testing. I can assure you it took me lots of dedication and hard work to accomplish what you see in the above video smiley

« Last Edit: June 12, 2013, 11:29:19 am by Bajdi » Logged


Belgium
Offline Offline
Sr. Member
****
Karma: 1
Posts: 281
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

No hexapod lovers on this forum?
Logged


nr Bundaberg, Australia
Offline Offline
Tesla Member
***
Karma: 126
Posts: 8471
Scattered showers my arse -- Noah, 2348BC.
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Actually I'm pretty interested in hexapods, never built one or indeed anything robotic but I might be on the verge of buying something.

Did you code the movements from the ground up, or use some code from Lynx et al? Either way you've done well for a novice programmer.

_____
Rob



Logged

Rob Gray aka the GRAYnomad www.robgray.com

Hannover, Germany
Offline Offline
Jr. Member
**
Karma: 0
Posts: 52
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Discovered this today; I'm deeply impressed! Very nice work. Perhaps some time in the future I will build such a "monster" too smiley-wink but there are a lot other projects in the queue.

best regards
Andreas
Logged

http://danimathblog.blogspot.com

#define true '/'/'/'
#define false '-'-'-'

Belgium
Offline Offline
Sr. Member
****
Karma: 1
Posts: 281
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

The only code I had was the math for the inverse kinematics. Which actually is not that hard, there are lots of websites that explain how it works.
My biggest problem was coding the walking gait. I first wrote a sketch using a for loop and the delay function to move the servos. That was pretty easy. But when you want the micro controller to do a bunch of other things you're in trouble. So I tried dozens of ways to code the gait using the millis timer, after a dozen revisions of my code I finally got it right.
I did look at the Lynxmotion code before I built my hexapod, but it's pretty complex. I can't understand much of it.
I name it a monster because it uses so much current. I once tried to power it without the UBECs, and connected the servos directly to my lab power supply. I saw the current shoot up to almost 20A. I'm using very cheap metal geared servos (standard size), Towardpro MG996r servos. They cost less then 5€ a piece and have +10kg/cm torque.    
« Last Edit: June 13, 2013, 12:54:32 pm by Bajdi » Logged


nr Bundaberg, Australia
Offline Offline
Tesla Member
***
Karma: 126
Posts: 8471
Scattered showers my arse -- Noah, 2348BC.
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

I was thinking of using a Lynxmotion SSC-32 Servo Controller, at least that should give all the basic walking and gait control and for $40 I save probably months of work and can get on with more interesting (to me anyway) stuff.

______
Rob
Logged

Rob Gray aka the GRAYnomad www.robgray.com

Belgium
Offline Offline
Sr. Member
****
Karma: 1
Posts: 281
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Yes the Lynxmotion servo controller is good solution. I actually have a Chinese (Torobot) 32 channel servo controller. I plan on rewriting my code one day using it. It should be much easier to make the servos move smoothly with those controllers.   
Logged


Melbourne, Australia
Offline Offline
God Member
*****
Karma: 8
Posts: 567
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Looks great. The start of the second demo in the video, it shakes  a bit - it almost looks alive.
Logged

Windows serial port monitor: Tellurium | Arduino serial port debugging library: DBG | Cusom LCD char generator | Technical questions will only be answered in forum threads

0
Offline Offline
Jr. Member
**
Karma: 0
Posts: 81
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

pretty sweet, thanks for sharing!
Logged

Brussels, BE
Offline Offline
Jr. Member
**
Karma: 1
Posts: 62
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Neat, and very impressive. I really like it !

But ... hey, hang on a second ... is that sunlight on your video ? In Belgium ?? smiley-wink
Logged


Offline Offline
Newbie
*
Karma: 0
Posts: 1
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Just got Torobot  controller and already have 23 9G servos and plan on experimenting, then create a Hexapod.

Any advice or tips would be great smiley

Great build BTW. Currently hate you. in a good way smiley

smiley-razz
Logged

0
Offline Offline
Shannon Member
****
Karma: 199
Posts: 11671
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Very very nice!  Quite creepy with the two sets of eyes/ultrasound.

However crab-walking makes it look comic, not quite the same aesthetic!
Logged

[ I won't respond to messages, use the forum please ]

Pages: [1]   Go Up
Jump to: