Bob, why do you specifically want the motor to be a hub motor?
As for advice, i don't have any from real experience, but some
thoughts did come to mind that may ring true to you. Keep in mind
that my comments are more in the category of brainstorming.
Weight; I would think that the goal would be to make a robot that your
friend can move around if necessary. Robots are known for getting
stuck, loosing power, and just plain breaking down. A good robot won't
do this a lot, but eventually it will.
Size; You friend needs to be able to get around the robot if it is
stuck in the hallway. But, it also must be tall enough to be able to
set a full cup of coffee on it, while he is standing. And of course,
your friend isn't as agile as some, so these criteria are going to be
more restrictive than it might if you were making it for yourself.
Perhaps if the wheels will just easily free-wheel if it is powered
down. That way he can just push it out of the way if necessary. This
might solve some of the weight/size issues.
There certainly are a bunch of criteria that all are in a fight
against each other. It would be very wise to make an easy mock-up of
possible dimensions, and weights.
As for a balancing, that tends to make me nervous. Your friend is
going to have a harder time cleaning up after a mess than your would.
Sure, we have all seen projects showing off a 2-wheeled robot
balancing a tray with a beverage. But, you are not a research
institute. I think you might be better off sticking with something
A differential drive with a round base, and the wheels centered , and
then a 3-rd caster, has its advantages with turning around in tight
spaces. But I would also wonder about stability. If the house does not
have carpet where the robot will go, then you are probably OK.. But,
if not, then that 3rd wheel caster tends to cause the top of a server-
bot to move a lot during transitions. Perhaps the robot should just
be made smart enough to know that it must go extremely slow when
transitioning to a carpet. Many round differential steering robots
tend to tip back and forth , especially when they are made taller than
the base diameter. I suspect it is best to minimize this. I wonder if
it is better to not be a symmetrical round robot, but rather have the
drive wheels more forward, so that you have a more stable base. The
task of turning around gets more complex to program, but people do it
for some robots.
Here is a link to one "Butler Bot", but I really suspect that it is
only practical without carpets. It is based on a IRobot Create. Note
that you can hack most Roombas, since they have serial connectors.
But, the all suffer from issues going over carpet.
This Toshiba prototype looks wonderful, but note that they are NOT
demonstrating with a cut of liquid!
This one is interesting, but certainly limited to cans of beverages.
I imagine one good form to consider is that of a serving cart. I came
across some round ones in a quick internet search;
Hope I gave you some ideas and stuff to consider.