Разве не должен атаковать первый , а защищатся второй?
public static void doMove(Robot robotFirst, Robot robotSecond) {
    BodyPart attacked = robotFirst.attack();
    BodyPart defenced = robotFirst.defense();//защищатся должен второй робот
    System.out.println(String.format("%s атаковал робота %s, атакована %s, защищена %s",
            robotFirst.getName(), robotSecond.getName(), attacked, defenced));
}