>>13156597CS unironically studies and implements solutions to a lot of the important / interesting problems in the field at the moment. The gist is that since robots are constantly “online” (which means every robot algo is getting real-time stream input with strict time / space constraints to react), actually coordinating the robot in any intelligent fashion is very difficult. That, and many problems involve heavy use of big boy math (lots of motion planning problems use a lot of algebraic geometry).
That being said, ugrad CS may not be the best thing to prepare you for grad.
If you think you want to work on robot hardware, you will be serviced by either an ME or EE degree. Just pick the one that seems most interesting to you.
If you want to work on making robots do cool stuff, then I highly suggest math and CS double major on a few conditions. if you can do a CS major that:
1) accepts intro to proofs and prob. theory from the math dept as credit for discrete I and II (usually a great sign)
2) has little to no required codemonkey classes. My CS program had none.
3) electives are numerous and difficult (graphics processing, OS, complexity theory, digital signals, etc.)
3.5) a more than decent of these electives make heavy use of math
4) you can take grad electives as early as the start/end of your third year
4.5) all of these grad electives are heavy on math all the time (except maybe OS)
If you can guarantee most of those, then a math and CS double is amazing and among one of the hardest and most interesting degrees you can do. Otherwise, just do a math major and CS minor.
None of the paths above are binding contracts or set you in stone. I know CS profs who do EE (you see this most when CS profs go from computational imaging / sensing to studying optics and electronics) and EE profs who do CS (you see this most in the computer vision / ML sphere). You can always work on a combination of stuff in the field.