I don't really understand what you're asking about the RobotMove function. Maybe post some code?
As for the motor driver: the beauty of PWM is that it IS digital logic, so you can use INA1 and INA2 hooked up to two PWM pins. But you have to be a bit clever. Here is some pseudo-code that works:
Let's say I have two PWM pins, PIN_A and PIN_B, and I set them like this: SET_PWM(PIN_A, PERCENT)
int DIRECTION = 1;
if(I_want_to_go_the_other_way)
DIRECTION = 0;
//then, just set both like this:
SET_PWM(PIN_A,(1-DIRECTION)*PERCENT)
SET_PWN(PIN_B,DIRECTION*PERCENT)
See what that does? If I want to go one way, then DIRECTION = 1, 1-DIRECTION = 0, so PIN_A is set to zero and PIN_B is set to whatever I want. If I want to go the other way, DIRECTION = 0, 1-DIRECTION = 1, so PIN_A is set to whatever and PIN_B is set to zero.
PWM is a bit hard to understand at first if you want to learn all the details, but the simple fact is: just set the PWM frequency to about 1000 and set the percentage to any value between 0 and 100 (or 0 and 1, depending on how the function works) and you're off to the races!
MMIKE