Differential gps with Arduino for my mobile robot

I'd like to try to use DGPS in order to locate my mobile robot (which can randomly move in a wide area, outdoor) and to let him return to a fixed position when I send him a specified command.

Is this possible with Arduino?

I've read something about the DGPS, but I didn't understand if I have to setup my fixed gps positions or if it is supposed to use the global ones (and in this case, I should only create the return fixed position). Does I have to find a particular GPS sensor or every gps sensor can do this work?

Do I have to directly implement a software to calculate the distance between the fixed positions and my robot, or is there any arduino library?

Thanks for all your suggestions! :)

I've found this sensor: http://www.sparkfun.com/products/163

Do you think it can work with Arduino?

I've read from the datasheet that when it is set to differential mode, it directly provides differential data, so I only have to read the data, I think. Is this correct?

Hi, Read up on this here: http://en.wikipedia.org/wiki/Differential_GPS