What is the most robust method for peer grading?
In order to incentivize the desired behavior for your first point, you can do the following.


If the group that comes out second, gave the lowest (possible) grade to the group that came out first, the punishment is at follows &lt;specify punishment here&gt;. An alternative condition would be: If the first group received the lowest grading from the second group. This is more stricter, but also fairer. Maybe add some tolerance (e.g. 1 grade divergence is okay).


You could try the same strategy for the second point, but that won't work. If the groups can't vote for themselves (as a group) and if we assume that the end result is a somewhat objective representation of the performance, the last group would give the second to last group the lowest grade. You could try the alternative of the first approach, though: 


If the last group received, the worst grade from the second to last group and if that grade diverges by more than 1, then &lt;specify punishment here&gt;.


In fact, you could introduce this rule for all the ranks. First and second place, second and third, etc. But the groups would need more time then, also this assumes the performances of the groups vary to such extent that it is indeed possible to subjectively rank them.

In order to have the groups assess them themselves, you could introduce a finite number of grades or classifications (e.g. top performer, medium performer). If the grades/classification can only be awarded a fixed amount of times, each participant will have a unique rank (relative to that group). The grade will probably not compare to group members of other groups (maybe if you weigh it with the group grade). It is possible to limit the number of possible grades to number of group members, or limit it to 2 or 3 (top, medium, bottom) and have multiple grading rounds.