The robot in question will roam around my house building a map of the walls and furniture
Just have it map the charging station before it starts to roam, then just have it return to that part of the map it made.
aiming the guts of an optical mouse at the ground
I was also throwing around the idea of aiming the guts of an optical mouse at the ground and getting distance readings from that. Focusing on the ground while going over bumps might be an issue and I don't know if a mouse will read correctly at high speed. What do you guys think?
You might be interested in taking the free online course "Artificial Intelligence for Robotics (Programming a Robotic Car)" offered by Georgia Tech through Udacity. It is taught by the designer of the Google self driving car.
I think a Raspberry Pi is overkill for this, and it'll probably be so easy to implement with one that it wouldn't be any fun to build!