Going by the diagram posted by sterretje, it looks like the robot is (probably) programmed the same way as the arduino. That is, the robot has a USB to serial converter on board (the part PL2303) which connects the host computer to the serial ports on the ATMega16. Notice the RXD, TXD and RST terminals on the PL2303? They go to the corresponding terminals on the ATMega16. Presumably the ATMega16 has a bootloader pre-installed.
When you upload a program, the PL2303 uses the RST line to reset the ATMega16. Whenever the ATMega16 starts up, the bootloader runs before the user's code. The bootloader checks the serial port to see if a new program is being sent to it. If not, it runs whatever code the user has already installed, if any. If it does detect a new program being sent to it on the serial port, it will write it to program memory. The PL2303 will then send another reset signal. The bootloader will run again, but this time it will not have anything to write to memory and the ATMega16 will run the code you just uploaded.
I don't know if you can set the Arduino IDE to target an ATMega16, so you mightn't be able to use the Arduino IDE. But have a play around.
It turns out the Arduino IDE just invokes some standard tools to compile your program and upload it. Connect up your Uno to the Arduino IDE. In the Arduino IDE settings, turn on verbose output during compilation. Then upload something to the Uno. In the window, you'll see the commands the Arduino IDE uses. It invokes a cross-compiler called avr-gcc.
Do the same with verbose output during upload. You'll see that the Arduino IDE invokes a program called avrdude that does the upload. If the bootloader on your robot is compatible with the Arduino bootloader, I think avrdude could upload a program your robot over the USB port. Maybe someone else can confirm this.
Here's what I think you should try:
The steps are 1. Create a complied binary for your target processor, and 2. Upload it to the board. Practice with your Uno first . Start by creating a compiled program for your Uno using the Arduino IDE. Use the blink program or similar and click on sketch > export compiled binary. Then see if you can upload it to your Uno using avrdude. Search online for using avrdude with arduino.
Then when you've got it working with your Uno, try with the robot. You'll need to create a compiled program that targets the ATMega16. If you can't do that with the Arduino IDE, you could search for how to use avr-gcc, but you'll probably find it easier to use an IDE that works with the ATMega16. For instance, have a look at Atmel Studio on Windows. Or perhaps platformIO would work (I've not tried it). Export your compiled program, and try uploading it using avrdude.
Good luck 