How do I get rid of duplication

Note: I consider it 'bad form' to use the ternary operator (?:) as an if/else statement.

(cmri.get_bit(i) == 1) ? (turnArray0[i].targetPos = turnArray0[i].pos1) : (turnArray0[i].targetPos = turnArray0[i].pos2);

You should either use it as an operator:

turnArray0[i].targetPos = (cmri.get_bit(i) == 1) ? turnArray0[i].pos1 : turnArray0[i].pos2;

Or use a real if/else statement:

  if (cmri.get_bit(i) == 1)
    turnArray0[i].targetPos = turnArray0[i].pos1; 
  else 
    turnArray0[i].targetPos = turnArray0[i].pos2);