Archer, an IK controlled biped

Kurte

Thanks, that did the trick. :smiley: didnt notice the timeout and table were swapped. I was now able to compile under BS 2.0.0.7

OUCH! ok smoked a speaker :frowning: I moved the speaker to P31and it started smoking. I thought I connected it correctly.

Did not connect it correct. looks like I wasn’t paying attention and placed the red wire of the speaker to the power pin vice the signal pin :blush: Two brain cell moment

Hi,
I was able to get the files to complie under Studio 2.0.0.7. But I’m not getting any communication between the DIY and ARC32.

I was able to use the last update that Kurte postedthat complied under Studio 2.XXX and that comunicates fine.

I swapped the Biped_6DOF_control_diy-xbee.bas file with the phoenix_control_diy-xbee.bas and the XBEE’s communicate.

So are there two versions of the DIY software? I know zenta’s has the POT’s on the joysticks and he has code for the Lipo batteries.

I also noticed alot of API packet stuff in one and not the other. I’m a bit stumpped (here I go jumpping in the deep side of the pool again)

any help would be great :blush:

This is the files complied under 2.0.0.7
New 6DOF Biped.zip (51.6 KB)

Yep, my quick look through those files shows it is an old version that is not using the API mode… If your transmitter is using the API mode than it won’t work…

As a comparison, here is a current version of my Arc32 phoenix code that runs using the xbee code. This is my version of the code that runs on an Arc32 with or without an SSC-32 and also compiles for a Bap28 with SSC-32 (have not run it on a BAP28 yet). Note some of the versions are setup to run with XBee others may be with PS2 or RC or combination…
Arc32 with SSC32.zip (52.4 KB)

I get a

serout cSSC_OUT, cSSC_BAUD, [_SSPT_bIn]

only changed
;CHR3_SSC32 con 1 ; CHR config with SSC32
PHOENIX_ARC32_ONLY con 1 ; Phoenix with Arc32 only

I just commented out the code line above and its working fine

Sorry, I was part way into adding some new functionality (being able to blindly pass stuff through phoenix to SSC-32… So I would not have to rewire to connect SSC-32 to PC (I get lazy). You can simply remove the whole function: ProcessSSCPassThrough:

I am still trying to figure out a good way to let the SSC-32 return data after I know I executed a command, by doing a serin that times out after a short time and if data is received know how much was… Did this before with my own version of serin, but not sure what I will do here…

Kurt

I’ll post an updated code soon. I was a bit slow to update my studio and moving over to Kurt’s API version. (BTW, Archer walks with the new version now, just tested for about 20 sec though.) I’ll also try to make Archer walk by using the PS2 controller and clean up the code, I guess some of you would find that interesting too… :wink:

:open_mouth: Gulp! :open_mouth:

Yep!!!

Awesome project! Sorry for being such a noob ( :blush: )but why would it be amazing if Archer was controlled using a ps2 controller instead of the custom remote? Also, do you plan on adding arms eventually?

Zenta

Cool, can’t wait for your release of the update API version :smiley: I dont have the PS2 but willing to help test it if you need.

Thanks

Phil

I tried to merge Kurts phoniex code and Zentas code. It complies under BS 2.0.0.7 and seems to comunicate with my DIY.
could either of you look to see if I left anything out.

Thanks
BIPED_ARC32 .zip (49.7 KB)

Hi,
I’ve been able communicate between the ARC-32 and the DIY Transmitter. Since I’m not using a COG, I commented out all references to it. Should I also do the same for any mentions of the Joystick Pots.

;Body Height BodyPosY = (bPacket(PKT_LPOT) / 2)

SetRotOffset: IF LockFunction = 0 THEN BodyRotOffsetZ = (bPacket(PKT_LJOYUD) - 128) BodyRotOffsetY = (bPacket(PKT_RPOT) - 128) ENDIF IF FunctionIsChanged THEN 'Update DIY, send text string: gosub XBeeOutputString@_SetRotOffset] FunctionIsChanged = FALSE ENDIF
or could I leave them alone

Hi, I am speaking more about the hex version of this code instead of biped…

But you may need/want to do some additional changing, than simply commenting out the lines. That is for example:

;Body Height BodyPosY = (bPacket(PKT_LPOT) / 2)
You may/probably still want to control the robots BodyPosY. On my hex I use the left joystick up/down as it does not have the auto return to center… But when you make that change you may need to map whatever Zenta was doing on that control to something else, or set some defaults or…

Good Luck
Kurt

Changed to:

;Body Height BodyPosY = bPacket(PKT_LJOYUD) / 2 ;BodyPosY = (bPacket(PKT_LPOT) / 2)

as for

BodyRotOffsetY = (bPacket(PKT_RPOT) - 128)

Im not sure might need give it a constant value for the Y offset value to adjust centerpoint of rotation :confused:
I just commented out it out for now to see what happens

Hi,

The BodyRotOffset’s can be set to 0 or just commented.

Here is a little update to the code based on Kurt’s XBee API version of Xan’s Phoenix V20. The PS2 control work for walking, but there are still several bugs. I’ve to do some more work into it, especially the single leg control doesn’t work properly.

Way to little free time lately, sick kids and baby stuff… :unamused:
Biped_6DOF_ARC32_XBee_PS2.zip (60.3 KB)

Zenta,
Thanks, I wasn’t to way off. I corrected some differences and i see more/better communication between the ARC-32 and my DIY. (which dosent have the joystick pots). To night I’m going to mount the ARC-32 on my Biped lower torso. I’ll let you know how it all turns out.

Thanks to both you and Kurt for all the help.

Phil

Hi,

It looks like the calibration part need some explanation. To be honest I’m not really satisfied with that part either and I’ll probably make it a bit easier if i ever decide to make a new biped (full humanoid with high torque servos). Anyway, the method is like this:

  1. First calibrate the legs like you would do for a hexapod:
    http://zentasrobots.com/wp-content/blogs.dir/3/files/2010/07/P7132550.jpg

  2. Then you’ve to snap out the femur servo horn 3 clicks (45 deg) CCW and the Ankle pitch servo 2 clicks (30 deg) CCW. If its CW or CCW depends on what side we are referring to… :unamused: Look at the picture below.
    http://zentasrobots.com/wp-content/blogs.dir/3/files/2010/07/P7132551.jpg

These offsets can be found in the .cfg file:

;[Joint offsets] cFemurOffset con 450 cAnklePitchOffset con 300

I hope this helps Phil. :wink:

Please do. Your robots are amazing. :exclamation:

When I saw that Trossen Robotics announced a new contest in 2010 I entered Archer just for fun…
To day they announced the result:
forums.trossenrobotics.com/showthread.php?t=4642
:smiley:

Congratulations Kåre!

What did you win?

Alan KM6VV

Edit: Oh wait, I see the prize: PhantomX AX-12+ Hexapod. Pretty impressive!