The file example.py under OpenCat/serialMaster/example.py has the following skill
vt = [
21, 0, 0, 1,
57, 43, 60, 47, -18, 7, -17, 7,
50, 43, 53, 47, -5, 7, -5, 7,
43, 43, 47, 47, 7, 7, 7, 7,
43, 43, 47, 47, 7, 7, 7, 7,
43, 43, 47, 47, 7, 7, 7, 7,
43, 47, 47, 50, 7, 0, 7, 0,
43, 54, 47, 58, 7, -13, 7, -13,
43, 60, 47, 65, 7, -25, 7, -25,
43, 66, 47, 71, 7, -35, 7, -35,
43, 63, 47, 67, 7, -30, 7, -29,
43, 57, 47, 60, 7, -18, 7, -17,
43, 50, 47, 53, 7, -5, 7, -5,
43, 43, 47, 47, 7, 7, 7, 7,
43, 43, 47, 47, 7, 7, 7, 7,
43, 43, 47, 47, 7, 7, 7, 7,
43, 43, 47, 47, 7, 7, 7, 7,
47, 43, 50, 47, 0, 7, 0, 7,
54, 43, 58, 47, -13, 7, -13, 7,
60, 43, 65, 47, -25, 7, -25, 7,
66, 43, 71, 47, -35, 7, -35, 7,
63, 43, 67, 47, -30, 7, -29, 7,
]
which is executed later with the command "K"
testSchedule = [["K", vt, 2]] (See line 374 of the example.py file).
I understand the 21 is the number of frames, then the next two zeros are pitch and roll, and the angle ratio.
My question is: what are the 8 values of each frame specifying exactly? I am asking because I use it on Bittle, and Bittle has 9 servos - (hip + elbow) * 4 + neck -. Doesn't that mean that 9 values are needed? Moreover, I was trying to manually change values to understand what angle each value controls, but I couldn't really figure it out. I'd appreciate if someone can chime in and provide a little more detail.
I also read that the index are organized from small to larger, but it's the same issue, aren't 9 numbers needed instead of 8?
The eight values are the angles for joints starting from index 8 in this picture. https://docs.petoi.com/petoi-robot-joint-index
The head angle is calculated using sin function
You can import the InstinctBittle.h into the Skill composer to play with the gait array.