The Gaspresso Propeller Project
Ripping apart a coffee maker and converting it to Propane- and 12V operation, and
developing a hideous control system to mimic ‘bot personality (Douglas Adams-like)
SW
HW
EL
HMI
Inspired by Douglas Adams’ “Starship Titanic” and the
LiftBot in that story. Gaspresso - an espressoBot - is
intended to have a very particular personality, and it is not
certain that it will obey all your commands.
I am also ‘inverse inspired’ by the speech of todays
GPS’es, which are boring and repetitive and have no
sense of the user. Why not say “I told you to take left at
the last junction!!!”
My approach to this challenge is to have a large number
of moods X a large number of messages. The messages
are fixed, and the one spoken at a particular event
depends on what goes on - like e.g. “Water tank is
empty”. The mood, hower - which serves as modifier to
the message - is picked at random during start-up, and
may also be changed later during program execution. The
mood called moodAngry would - as an example - phrase
this message as “Water tank is empty again! Get your act
together and fill it - NOW!”.
Human interaction
Stereo sound, vibration, ‘glowing eyes’, and maybe more later (maybe lcd, but they are so ugly), are the means
for the ‘bot to express itself. Human input is accomodated for by means of a rotary encoder, a ‘knock detector’
and an RFID reader. There is also a “DO NOT PUSH THIS BUTTON” kind of button, with an until now unknown
purpose. Finally - to honor the Propellor, a tiny motor (3x10mm) will rotate a small propeller sometimes. To
make it easy for the system
to play from a vast number
of wav soundfiles, a SD card
reader is included, and the
SD can easily be popped
into a PC and be filled with
more talk.
Moods and
Messages
First I had the idea the the
‘bot could switch between a
whole range of personalities
to avoid that it would repeat
itself too much and therefore
become booring, but after
thinking about it I decided
that it should be one personality, but in a large range of moods. If it was cheery to start with, but the user did
something stupid, and it switched to angry, it should be easy to recognize that it was still the same ‘bot.
Here is the result so far, and I have recorded the full set of messages in 4
moods so far - it’s tedious. The Messages are so far only handwritten,
but they will soon get their names and values too.
The cybersoul
The ‘bot will of course respond to the usual user input required to select
the prefered drink, but it will not always be in a rational way. Here are a
few of the growing number of ideas:
If the user takes too long to turn the knob for making a selection,
the ‘bot will either encourage the user, command the user, or just say
‘forget it, and come back later’.
Sometimes, after a drink has been made, the ‘bot may ask for user
feedback - like ‘was it too strong?’ - and if ‘yes’ it will go sulky, or if ‘no’ it
will go happy. A variant could be to ask for ‘likes’ / ‘no likes’ in the
Facebook style, and after pronounce how many ‘likes’ so far.
The typical tasks that the user will have to perform, such as refilling
water tank, fill coffee grains, empty tray, etc. will certainly be monitored
for performance and appropriately commented. The user is warned
against taking ages to fill the water...
All hours are not equal. The onboard real-time clock will be used to
decide if a comment - or attitude - is called for. You cannot order a coffee
in the middle of the night without getting a comment, or even denial.
All days are not equal. Sundays, holydays, national days, known
birthdays, etc. may require an appropriate comment - or even the playing
of a hymn.
Statistics can be fun. Number of coffees prepared, how many times
stupid tea had to be made, the lousiness of the user due to the high
number of ‘no water’ warnings given, etc,etc.
so far
so good
Bringing in humour and personality
The human interface story