For software - OpenCV, ROS (robot operating system) are good places to start. Unfortunately most robot research in universities suffer from a very bad 'not invented here' syndrome, so a lot of wheels are reinvented over and over. It has been about 5 years since I seriously payed attention to the software ecosystem so this might be out of date.
For embedded hardware, I'm a big fan of the BeagleBone Black. People talk a lot about the Raspberry Pi, but the BeagleBone makes a bit more sense. Look at the OpenROV project as a good example of that.
Lower level, there is a lot of stuff related to feedback controlled (closed loop) motor controllers that is key.
Higher level, pathfinding AI is interesting. Even things like inverse kinematics, thought that is largely a solved problem.
Some of my favorite books are Probabilistic Robotics for the theoretical stuff, and Robot Builders Bonanza for the really practical hobbyist stuff.