FPGA or microcontroller for this robot
I do both hardware and firmware, and I think this project is a much better fit for a microcontroller than an FPGA, unless you're way more comfortable with logic design than coding C.  As you said, running under Linux you can use multiple threads.

I believe the BeagleBone Black is probably the best platform for this project.  It has way more I/O pins available than the Raspberry Pi.  Forget the Parallella, since they've stopped taking pre-orders.

Although you didn't mention it in your post, I see you added a tag for Arduino.  Don't even think of trying to use one of those for this project.  The cats would win.