?x4 quadruped design. (IRON WOLF)

well actually the “Current” code is written for 4dof and has inherited code sections previously written for CH3r hexapod.
although the 4th dof (Ankle Y) doesn’t work every well (for a scout) due to its preciseness of positioning. im trying to get it to remain flat to the floor at all times but its not worked very well… But saying this, it will work great for the quad design i did, (just having a tube with a rubber end cap).
The foot plate seems to large for the angle that the foot is lifted up and lowered down so it catches.

Also im finding it very hard to add the HipX and Foot Rotate 'to this code. so at the moment im still working on a scout code. But it will take longer than i thought.

no vid just yet.

Very, Very nice design!

Is this what you’re trying to build?


I think a good upgrade you could give it would be to put an accalerometer on yours and integrate some of the stuff you saw on the video into it. I have no idea how to do this, but its just something I just wanted to show you.

thanks for the video. first saw it a few years ago. always inspiring!
But no… im not trying to build big dog. im simply trying to work on a mammalian style robot.

ok had some time. but i need a new camera so please forgive the extremely poor viewing…
first ill show you the code from yesterday on the scout with feet.
also there is a tiny bit of turning shown. dont blink! (14sec in)

also just a few body moves while i had it running. these need perfecting.

ok then second we have the scout without the feet.
they have been replaced by standoffs just for the purpose of this vid. they will be replaced by aluminum tubes.
here the code has been perfected it abit. and the legs push better.
might need to watch the first one again to see this.

unfortunately i haven yet manage to get the swaying part written but ill try this week.
anyway…
s531.photobucket.com/albums/dd35 … uttest.flv

ok all joints work now as expected. i hope.

i have written in the HipSway sections and im almost ready for the last test. you will have to bare with me as im frustratingly waiting for some servo extension wires for the feet servos

there are a few angles/pulses that need to be finalized but i am still in the testing stage so forgive that.
if you wish to view the code ill post it next week so i have time to finish it.
if i get time later i will add a video for you to look at.

**At the moment the robot **
-Walks forward with variable speed when j/stick up. vice-versa for back.
-It will step to the side when j/stick pushed left or right.
-Also it will perform body moves by switching modes. (Stand up, Sit down, twist body, lean forward/back/side to side).

How Exciting. 8)

anyway the offsets will need to be configured if anyone uses this code as im not using registers, and maybe some of the servo limitations as mine has a slightly wider stance than the conventional scout.

saying all this i bet i still run into a big problem. so once wires arrive i will test and post code. :neutral_face:

while working on this quad iv needed to get the legs working in the correct way first before i break the bank and build the second section.

so were have i ended up…

ok well here is how i have worked the code.
i have taken the CH3-r hexapod code and iv removed most of the other legs from the code but iv kept the rear legs and the middle coxa servos in.

the reason for this is shown here:
this shows how how/were the servos have been used in the “Scout”
http://i531.photobucket.com/albums/dd355/innerbreed/legcompare.jpg
colors vary on picture below.
http://i531.photobucket.com/albums/dd355/innerbreed/bps01.jpg
The red dots are for the true knee servo but i also show extra red dots here. the ankle dot is just a reverse of the knee.
This is a direct conversion and the code thinks its being used in a hexapod. iv kinda tricked the code.
also there are two sets of yellow dots…
while the hex walks forward the middle coxa moves front to back. i have taken this “movement” and used it to get the robot to sway “side to side.”

anyway as im working on a quad, i have quickly built up the feet to get a scout walk for those who have scouts. killing two birds with one stone.

this is how it looks:
http://i531.photobucket.com/albums/dd355/innerbreed/100_2024.jpg
http://i531.photobucket.com/albums/dd355/innerbreed/100_2028.jpg
http://i531.photobucket.com/albums/dd355/innerbreed/100_2029.jpg
http://i531.photobucket.com/albums/dd355/innerbreed/100_2027.jpg

Ok now the code works very well for the quad, so far.
but there are a few glitches with the code running a scout…
im still holding the robot while testing it, as the cog isnt transfering over as far as it needs too. so i will work on this now.
also the side to side stepping is becoming a pain. the feet are hitting each other. this should be smoothed out.

i will update this thread with the code very very soon… promise.

thanks for reading.

ok after hitting a few prolems with getting the code to function exactly as i intended i realised i would need to use more complex functions to do this. so i have put aside the CH3 code and started converting Xans 1.3 hex code. this is working fine.

i have used the calculations for the “phoenix”'s **rear **legs to get my “Quad” **rear **legs to work. this works great as they resemble them mechanically quite closely.
http://i531.photobucket.com/albums/dd355/innerbreed/legcompare.jpg

now im working on getting my front legs to work, but iv hit a problem. the code will work only if i assemble the legs like this:
resembling zentas felix
http://i531.photobucket.com/albums/dd355/innerbreed/Quad2010full.jpg

but i have assembled it like this and the quads rear legs are walking the opposite to the front.
http://i531.photobucket.com/albums/dd355/innerbreed/Quad2010.jpg

i have tried to reverse the servos in “servodriver” but this only makes the legs collide with the brackets once power is applied, and act out of sync.

i have tried thinking about the best way to explain it.

as on the hex the front and back legs are a mirror of each other but on my quad the front and back legs resemble each other im having problems getting them to work together.
i531.photobucket.com/albums/dd35 … /quad2.jpg

does anyone have any tips on how to get the front legs to work this way?

Hi Jonny,

Try to configure the rear coxa the same way the front coxa are configured. Ex. take a look at PEP and simply rotate the rear leg coxa the same way the front leg coxa are.

Sounds great!
Any vids? :wink:

Genius. :bulb:

its always simple.
thanks zenta.

like i said i needed more complex coding to get it to work as i intended it to, saying this since using 1.3 i have also had to mod the assembly so now im going to have to wait till i have constructed the whole robot, before i get a vid.
its going to cost a bit for the rest.

as i only have one half of the robot built and iv been programming the rear legs to work as expected iv been
using a simple line of code to switch to the back/front legs at the push of a button, so i can quickly program the front or back without having to pull any pins out or change any code.

this way i have now got it working. well 50% works in real life, the other in theory.
£$£$ :exclamation:

Thanks again Zenta. (Fv20) was to much for my head, but has given me guidance. :wink:

The parts have been ordered for the final sections so just waiting now.
I should have it built by the weekend.

i have removed the 645mg servo from the coxa and replaced it with a 475hb servo as i don’t feel the need for higher torque here as the only time this joint will be used is while in “BodyMoves mode” and the whole leg rotates inline with the servo shaft.
so there is no suspended weight putting force on the servo shaft.

having done this i have also save money.

now im just open to opinions on how to join the back and front together:
http://i531.photobucket.com/albums/dd355/innerbreed/quadtop.jpg
http://i531.photobucket.com/albums/dd355/innerbreed/Quad.jpg

im thinking of using some SES channel or some steel hex stand-offs?

if you have any ideas please remember i have used the scout chassis and tilted it over for the sway servos.

ok i thought id share a few pictures with you after receiving the rest of the parts.
**
Hardware setup:**
ABB2 with ATOM 28 Pro, SSC32 V2, PS2 remote,

It currently runs on:
16x HS-645MG servos
4x HS-485HB servos
1x 6v 2800mah battery

Weight is:
4lb 12oz all in.

http://i531.photobucket.com/albums/dd355/innerbreed/100_2092.jpg
http://i531.photobucket.com/albums/dd355/innerbreed/100_2090.jpg
http://i531.photobucket.com/albums/dd355/innerbreed/100_2091.jpg

Im still working on the balance while walking, but as far as the motion of the Gait etc, its all good. :wink:

i think i will be spending a few more nights on programming in till this sucker makes a step but its almost there… 89% done.

Here are the gaits. No body shift added to code and there not perfect but the main loco is correct. some of them need slowing down especially gallop.

[code];-------------------[GAIT Select]
GaitSelect
;Gait selector
;shifting from (RR-LF-LR-RF)
IF (GaitType = 0) THEN ;Quad gait wave type 18 step [Zenta]
LRGaitLegNr = 11
RFGaitLegNr = 17
RRGaitLegNr = 2
LFGaitLegNr = 8

HalfLiftHeigth = FALSE  	    
NrLiftedPos = 2
TLDivFactor = 16
StepsInGait = 18
VariableGaitSpeed = 150

ENDIF
;-------------------
;shifting from (LR-RF-RR-LF)
IF (GaitType = 1) THEN ;Ripple Gait 12 steps
LRGaitLegNr = 1
RFGaitLegNr = 3
RRGaitLegNr = 7
LFGaitLegNr = 9

NrLiftedPos = 3
HalfLiftHeigth = TRUE
TLDivFactor = 8	  
StepsInGait = 12	
VariableGaitSpeed = 100

ENDIF
;-------------------
;shifting from (LR-RF-RR-LF)
IF (GaitType = 2) THEN ;Quadripple 9 steps
LRGaitLegNr = 1
RFGaitLegNr = 2
RRGaitLegNr = 5
LFGaitLegNr = 7

NrLiftedPos = 2
HalfLiftHeigth = FALSE	
TLDivFactor = 6	  
StepsInGait = 9	    
VariableGaitSpeed = 150

ENDIF
;-------------------
;shifting from (LR-RF)(-RR-LF)
IF (GaitType = 3) THEN ;Walk 4 steps
LRGaitLegNr = 3
RFGaitLegNr = 3
RRGaitLegNr = 1
LFGaitLegNr = 1

NrLiftedPos = 1	
TLDivFactor = 2	  
StepsInGait = 4	    
VariableGaitSpeed = 150

ENDIF
;-------------------
;shifting from (LR-RF)(RR-LF)
IF (GaitType = 4) THEN ;Trot 2 steps
LRGaitLegNr = 1
RFGaitLegNr = 1
RRGaitLegNr = 2
LFGaitLegNr = 2

NrLiftedPos = 2	
TLDivFactor = 2	  
StepsInGait = 2	    
VariableGaitSpeed = 150

ENDIF
;-------------------
;shifting from (LR-(RF-RR)-LF)
IF (GaitType = 5) THEN ;Pace 8 steps
LRGaitLegNr = 5
RFGaitLegNr = 1
RRGaitLegNr = 1
LFGaitLegNr = 5

NrLiftedPos = 3
HalfLiftHeigth = TRUE	
TLDivFactor = 4	  
StepsInGait = 8	    
VariableGaitSpeed = 110

ENDIF
;-------------------
;shifting from (LR-RR)-LF)-RF)
IF (GaitType = 6) THEN ;Gallop 4 steps
LRGaitLegNr = 1
RFGaitLegNr = 3
RRGaitLegNr = 1
LFGaitLegNr = 2

NrLiftedPos = 1	
TLDivFactor = 2	  
StepsInGait = 4	    
VariableGaitSpeed = 150

ENDIF
;-------------------
;shifting from (RF-RR-LR-LF)
IF (GaitType = 7) THEN ;Wave 18 steps
LRGaitLegNr = 10
RFGaitLegNr = 1
RRGaitLegNr = 7
LFGaitLegNr = 16

NrLiftedPos = 2
HalfLiftHeigth = FALSE	
TLDivFactor = 16	  
StepsInGait = 18	    
VariableGaitSpeed = 100

ENDIF
return[/code]

Hey nice build!

Um… Videos please! :wink:

thanks Jim, well I’m still working on the cog shift so it doesn’t fall over, also it seems to walk better when walking backwards! :unamused:
i need to work on this.

the gaits have been adopted from omnitech ([size=85]no surprise there[/size]) and “appear” to work as they do for the real thing (horse) but obviosly there are other factors involved with actually getting them to move the robot.

iv been studying animals, ie, horses, dogs, cats, as one does when programming, and i have realized as im not adding a tail or a head yet that im going to have to rely on body shifting to keep the center of mass within the triangle (tripod) created by the lifting of each leg.
Anyway it seems the distance from the left to right side of the main body is very narrow (120mm) causing the body to tip over while making these shifts. shortening the amount of shift doesn’t seem to work either as there isn’t enough side movement or im just doing it wrong.

So i started to look again at how nature does it.
Regarding the deer or monkjack i notice that it too has a very high but narrow stance. a small tail (no good for shifting) and obviously a head 'but not used to compensate for the cog! So what must it be doing… could it be that the feet are slightly spread making it more stable?

i started to try this by widening the feet. its not very effective so again im not convinced that just simply making the standing area bigger will help…
after studying it again it seems that the deer hold a wide stance while stationary and then once in motion they actually do the opposite of what i first thought. They make there stance narrower by pulling in the legs closer together. (Ideal for good speed, quicker turning and larger steps.)

this simply wont work for robotics. So what next…

i may remove the Coxa servo (as not being used as of yet) and mount the hip servo to the side the HipSway servo with an ‘L’ bracket, or off-set bracket making the body and legs slightly wider (160mm) and then using the body shift in a combined rotational way (X&Z) so that the body has more control over placing the COG within the triangles created.

any thoughts on this?

When it comes to SES configuration designs, I have to hand it to you, you are very creative. I look forward to seeing it walk. Good work. :exclamation:

hi mike,

Thanks for you kind comment there.
It just shows the brilliance and versatility of the SES Bracket system!

i have added two sections of the scouts torso to act as a battery tray and also somewhere to mount the controller receiver.
i may be placing the battery underneath the chassis in the center to help with centering the weight.

http://i531.photobucket.com/albums/dd355/innerbreed/100_2108.jpg
http://i531.photobucket.com/albums/dd355/innerbreed/100_2102.jpg
http://i531.photobucket.com/albums/dd355/innerbreed/100_2109.jpg

still working on the code so unfortunately no vid just yet!