<img border=0 src='https://avatars.githubusercontent.com/u/4378663?v=3' height=16 width=16'> Is it really needed to hard code a macro for the number of torso and arm joints?
Torso joints are already read from the encoder and stored in the jntsT variable. For the arm, you cannot read it from the encoders, but you can have a similar interface, i.e. a jntsAL variable that you initialize to 7 as a member of the class, instead of a #define. :)
<img border=0 src='https://avatars.githubusercontent.com/u/6461061?v=3' height=16 width=16'> I prefer having subVector(0,NR_ARM_JOINTS -1) over subVector(0,6). If you object against macros, it can be made a variable with the same name (UPPER_CASE) and initialized in init(). It's slightly more work, but is the same. What is the problem with macro?
<img border=0 src='https://avatars.githubusercontent.com/u/4378663?v=3' height=16 width=16'> The problem is that the other code uses jntsTjntsR, etc, so I would stick with that , i.e. with a variable (called, to be consistent, jntsARjntsAL), initialized in the init as you said (this is what I suggested in the beginning).
jntsT is already initialized and used, so you can use that for the torso.
Torso joints solved by this commit: 0fe466a4bef54ef7af3dfdcefaa0dbd3eda512dd
(Sorry about this commit: 0fe466a4bef54ef7af3dfdcefaa0dbd3eda512dd - I forgot to pull first, then rebase somehow did not work out and I had to merge manually with your commit with the formatting edits)
Arm joints solved by this commit 67c7c6f444a068705746f8c50b375c0a79f668c9
<img border=0 src='https://avatars.githubusercontent.com/u/6461061?v=3' height=16 width=16'> Hmm, I'm not using it most of the time, but can be useful. I can add it to the updateChains(). It could be eventually made optional - such that this is computed only when someone is interested to look.
Just tested everything - torso joints are taken into account now for remapping to taxel frames. Projections of taxel positions to camera frames are still operational too.
jntsT
variable. For the arm, you cannot read it from the encoders, but you can have a similar interface, i.e. ajntsAL
variable that you initialize to7
as a member of the class, instead of a#define
. :)subVector(0,NR_ARM_JOINTS -1)
oversubVector(0,6)
. If you object against macros, it can be made a variable with the same name (UPPER_CASE) and initialized ininit()
. It's slightly more work, but is the same. What is the problem with macro?jntsT
jntsR
, etc, so I would stick with that , i.e. with a variable (called, to be consistent,jntsAR
jntsAL
), initialized in the init as you said (this is what I suggested in the beginning).jntsT
is already initialized and used, so you can use that for the torso.eyeWrappers
into your new method. What do you think? I'm talking about lines1102:1115
and line1121