Hmmmm just check the datasheet pinout of the ATmega16.
The pin numbers and locations will be different, but the pin names will be the same.
For example, match AREF to AREF, B3 to B3, etc.
You will need to make slight modifications in code, as described for the ATmega168:
http://www.societyofrobots.com/step_by_step_atmega168_swapout.shtmlShould the pins xtal1 and xtal 2 be used or not.
Only if you want to add a crystal to boost processing speed. Unless your bot does complex algorithms, I wouldnt bother with it.