4dof Quadruped robot (T-Hex type) AXIS

Some more images. the camera is a SAMSUNG TECHWIN. SSNRII cctv camera. not fully working yet but i though id share it with you. im not planning on using it as it is for another application but as it fitted so well i had to take a photo.

http://i531.photobucket.com/albums/dd355/innerbreed/102_2575.jpg
http://i531.photobucket.com/albums/dd355/innerbreed/102_2574.jpg

Does look like a good fit! 'Sure you don’t want to leave it on?

Alan KM6VV

if i can get it working, then ill think about it. :laughing:

new up-to-date code. V2.0.1

  • Improved Body shifting for locomotion
  • Sequence for wave gait Improved
  • Added terrain Adaption Still in development
    Axis_4DOF_V2.0.1.zip (44.8 KB)
    EDIT:
    also when walking i am using the Double Travel Length feature** (R2 Button test)** before i start walking. It makes the gait work better and also makes it walk 'larger distances quicker.

;Double Travel Length IF (DualShock(2).bit1 = 0) and LastButton(1).bit1 THEN ;R2 Button test sound p9, [50\4000] DoubleTravelOn = DoubleTravelOn^1 ENDIF

Anyone:
I wish to have this feature on constantly. and works by,

TravelLengthX = TravelLengthX/2 TravelLengthZ = TravelLengthZ/2

Were would be the best place to put this line of code so the “Double Travel Length” is always on?

I think you want to set:

DoubleTravelOn = 1

up in ;[InitController] Initialize the PS2 controller

    TravelLengthX = TravelLengthX/2
    TravelLengthZ = TravelLengthZ/2

belong after the:

Dualshock(4) - 128) ;Right Stick Up/Down

Where you get the data from the joystick

Alan KM6VV

Any luck with your quad Alan? im very interested to see. :wink:

Ah, the skeleton “4DOF legs” (sans R/C servos) are on the family room coffee table. About as far as I got. Still some legs and wheels to remove from the “Creepy Hybrid”, as well some electronics. Maybe more this weekend!

Did that code fix work?

Alan KM6VV

to be honest i havent really had the chance to sit down but DoubleTravelOn = 1 just wont do.
the TravelLength is already defined below the Dualshock(4) so no need for a change there.

although i have done this:
After the start button is pushed, and the robot is initiated, we then have to push the triangle to put the robot into walk pos. (as normal). So here i have added the “doubleTravelOn” command. :wink:

IF (DualShock(2).bit4 = 0) and LastButton(1).bit4 THEN ;Triangle Button test IF (BodyYOffset>0) THEN BodyYOffset = 0 ELSE BodyYOffset = 75 DoubleTravelOn = DoubleTravelOn^1 ENDIF ENDIF

Looks like you could do that. BASIC seems to permit uninitialized variables to be used.

Why don’t you like the code initializing with the statement:

DoubleTravelOn = 1

I thought I put it early in the code, so that it would be transversed only once. No?

Alan KM6VV

I finished the tare-down of the Creepy-Hybrid, and started to hang the coxa servos on the chassis.

I’d followed the leg build instructions, so I had two “front” legs, and two “back” legs. While building, I realized that the legs are not what I’d call symmetrical. The two front legs are the same, and the two back legs are the same. I seem to remember the CH3-R 'bot had the left side a mirror image to the right side. No?

Before I get too far, is this how both the T-Rex and your legs are built? Might as well start off with the hardware matching the code setup, at least initially.

Thanks!

Edit:

Back to the build!

Alan KM6VV

yes the left front and back should be the same. except my Coxa’s are attached differently.
then the right front and back should match but just a mirror of the left.

All horns face forward:
http://i531.photobucket.com/albums/dd355/innerbreed/horndirection.jpg
**note **orientation of Coxa’s. the reason for this is purely to fit my chassis. these can be either way you want.

That’s looking closer now, thanks for the pix!

Here’s what I’ve got after rebuilding two ofthe legs to lefties.

http://www.marconettengineering.com/LittleCatSkeleton4DOF1.jpg

Little Cat Skeleton

I’m still not clear what the differences are between the front and rear legs. Of course it doesn’t help that the assembled leg pix at the end are the same for both front and rear (asm14.JPG)!

Alan KM6VV

yes your picture is correct. sure does look big with the leg extended out like that. also your chassis has quite a large surface area.

the only difference with front and rear assembly’s is the coxa.
Rear:
http://i531.photobucket.com/albums/dd355/innerbreed/rear.jpg
Front:
http://i531.photobucket.com/albums/dd355/innerbreed/front.jpg

you have already done this with your build. all is correct so don’t worry.
one this i will say though is you are correct about (asm14.JPG). yes it has been used for both tutorials. might be worth adding a post to the tutorials to point it out if its confusing you. but i wouldn’t worry, you are up to speed and ready to roll.

will you be starting a thread on little cat? has it adapted a new name now, it has new legs?

Actually, I think I’ve already posted on the doubly used pix.

It does look big! Like a daddy long-legs spider!

Even 'tho I actually followed the leg build on the laptop, I missed the bright red note at the top. All’s well, I was watching TV with my wife at the same time. Not that hard to build up a mirror image leg when you have one in front of you.

While I was comparing the front/rear legs (again), I did notice that the Coxa servo mount was the difference. I think I’d point that out in the two builds. Maybe add a pix of a mirrored leg, which might not be obvious to new builders.

Hum, I am keeping my own version of 4DOF legs using the LP bearings, which is the original “Little Cat”. Does this one need new name? I haven’t decided. My wife has a male/female pair of cats. Why not robots?

Another topic, I need to either find or machine the proper length 6-32 spacers. Right now, a hex nut gives me a little more length to the on-hand spacers I have. I did find a bag of 500 6-32 1/4" x 1.55" aluminum spacers in the garage! I wonder what else is out there…

Well, the Radio Club Picnic took up the best part of the day, but we had fun. Back to the 'bot!

Thanks for your comments,

Alan KM6VV

The following images are only for fun… Boredom you might say. :laughing:
Looks cool i think. thats why iv posted these pictures.

These are the 4.5’ tubes:
http://i531.photobucket.com/albums/dd355/innerbreed/100_2584.jpg
http://i531.photobucket.com/albums/dd355/innerbreed/100_2583.jpg
http://i531.photobucket.com/albums/dd355/innerbreed/100_2588.jpg

Looks cool, but does he walk?

I thought I replied to this message yesterday…

Well I’ve got all the servos mounted, and roughly adjusted. Powers up OK, talking to SSC-32 with SEQ.

I did realize something. If you run the R/C servos off of a “bench” power supply for initial tests, you cal limit the current (1.5A for 16 servos), and they will behave nicer!

Are you storing calibration data in the SSC-32? I don’t remember seeing “O” data in the the program.

Alan KM6VV

Hi. Yes iv been looking for a nice wall pack but not found one yet. Anyway i should be testing the TA code tonight. Mid day your time. I didnt use SEQ in the set up for this. I followed the same tutorial as for the phoenix. But calibrated the legs as mentioned last time for the t-hex. I did save the data to the ssc. What is ‘0’ data?

Hi Jonny,

OK, that’s the “po” command, I think. The corrections are stored in the BAP program, and downloaded to the SSC-32 each time the program runs. I think there are two ways, the newer (?) SSC-32 can also save these values.

I used the the SEQ program could have also used the LynxTerm program, I guess.

[code];internally stored data to initialize sample (from Creepy Hybrid)

serout SSC32,i38400,"#", |
FRHH,FRHH2,“po42 #”,FRHV,FRHV2,“po49 #”,FRK,FRK2,“po0 #”, |
FLHH,FLHH2,“po39 #”,FLHV,FLHV2,“po71 #”,FLK,FLK2,“po0”,13]
[/code]

You used build 131/139? I see that it uses Lynxterm. I can look at that tonight. I’ve already made the mechanical offset adjustments in the legs.

Still fumbling with the servo wires. I might have to lengthen some of them. Did you have this problem?

Alan KM6VV

Jumping in here… You can use the register offsets OR the software ones, but be advised if you use both, weird behavior may result. It’s not a good idea to use the software servo offsets with the V2 (168) chip because they need to be received every time the bot is turned on. It’s much better to use the registers for this.

Might depend on whether one wanted the corrections to stay with the BAP, or the SSC-32.

It seems a little easier if they’re in the program while the 'bot is being trimmed out. I don’t suppose there’s a way to change from program to registers easily?

Doesn’t Lynxterm use “po” to set the registers, or is it something else? I suppose a subroutine could be coded to read and display the 32 registers (or set them).

Alan KM6VV

that looks like powerpod code! :confused:
from what you say it sounds like you are not using V2 SSC?

if you wanted to keep the offsets in your bap program you can always just knock the electronics together without configuring the legs and then use this type of “offset” table for the values. it just seems the long way round though.
;-------------------[INIT]

; Servo Offsets (manual input!) ;ONLY USE THESE IF NOT USING REGISTERS, otherwise 'comment out. serout SSC_OUT,SSC_BAUD,"#",dec | RRHipSwayPin,"po-90 #",dec | RRHipRotatePin,"po70 #",dec | RRHipZPin,"po0 #",dec | RRKneeZPin,"po70 #",dec | RRTarPin,"po80 #",dec | LRHipSwayPin,"po50 #",dec | LRHipRotatePin,"po50 #",dec | LRHipZPin,"po0 #",dec | LRKneeZPin,"po0 #",dec | LFTarPin,"po0 #",dec | RFHipSwayPin,"po90 #",dec | RFHipRotatePin,"po99 #",dec | RFHipZPin,"po-90 #",dec | RFKneeZPin,"po0 #",dec | RFTarPin,"po80 #",dec | LFHipSwayPin,"po60 #",dec | LFHipRotatePin,"po99 #",dec | LFHipZPin,"po0 #",dec | LFKneeZPin,"po0 #",dec | LFTarPin,"po0",13]

these have just been pasted out of my Iron wolf code. but you get the idea.

fortunately i have not had to lengthen my wires as my boards are close enough to the legs.
i followed these:
lynxmotion.com/images/html/build131.htm
lynxmotion.com/images/html/build159.htm