Hexapod Calibration using PowerPod

Hello

I have a question about the calibration of the hexapod legs using the PowerPod program.

After calibrating and saving the calibration for the hexapod legs, is this calibration / offset somehow used when creating program in the PowerPod from the master.pmp?

Yes that is what it does. It creates the following in the program.

;-------------Init SSC-32 with pulse offsets serout SSC32,i38400,"#", | RRHH,RRHH2,"po0 #",RRHV,RRHV2,"po0 #",RRK,RRK2,"po0 #", | MRHH,MRHH2,"po0 #",MRHV,MRHV2,"po0 #",MRK,MRK2,"po0 #", | FRHH,FRHH2,"po0 #",FRHV,FRHV2,"po0 #",FRK,FRK2,"po0 #", | RLHH,RLHH2,"po0 #",RLHV,RLHV2,"po0 #",RLK,RLK2,"po0 #", | MLHH,MLHH2,"po0 #",MLHV,MLHV2,"po0 #",MLK,MLK2,"po0 #", | FLHH,FLHH2,"po0 #",FLHV,FLHV2,"po0 #",FLK,FLK2,"po0",13]

the po (position offset) is 0 in my example. When you do your calibration your program will have the values to correct offsets automatically put in this location. You can also use this part of the code to get the values to put into the SSC-32 registers directly if you want.

Ok, thank you :slight_smile:

I also have a question regarding the autonomous program created from the master.pmp.

As i understand it the program will execute according to the bits i set to 1 in the main program. Is it possible to create the program so that I can use the buttons on the Bot Board II to set bits in the program that again trigger the sequences in the program?

If you are wondering about the sudden change of user, we are to brothers working on this robot :wink:

Welcome siblings. :smiley:

I do not have any information on the Autonomous version of the PowerPod generated program. I have asked Laurent for more information, but he is moving and will be off line for two weeks.

Yes a quick look through the program looks like you should be easily add code to the main loop that allows you to use one of the buttons on the BB2 to trigger one of the sequences.

Something like:

...
;button init
buttonA var bit
buttonB var bit
buttonC var bit

prevA var bit
prevB var bit
prevC var bit

input p12
input p13
input p14
...
main:
...
Buttons = 0    ; Assume no logical button
prevA = buttonA
 prevB = buttonB
 prevC = buttonC

 buttonA = in12
 buttonB = in13
 buttonC = in14

 if (buttonA = 0) AND (prevA = 1) then
     Buttons.bit6 = 1    ; Do the attack move
 endif
...
 

Note: I did not try to compile this, I may be missing definitions, but I hope that this should show a general idea…

Thank you kurte! I will try it out and see if i can make it work. :smiley: