Project Design
Having come up with a wish list of features a structure which allowed them to
work together was needed. Two revisions of an ideal design were worked through
in order. These designs contain blocks for all desirable features and show the
relevant interconnections.
-
This is the first atttempt at a behavioral model of the elements of our
system.
Behavioral Model revision 1.1
The model has been upldated to include a full representation of the server
side. Some boxes have been removed as they only symbolised hardware
architecture.
Brain / Personality This is the central controlling unit on
board the robot. This is responsible for deciding what the robot does in terms
of actions and the recieving of stimuli from sensors and filters. The
'personality' is responsible for maintaining the mood of the robot pet. This was
basically envisioned as the maintenance of several variables representing
various aspects of the robot pet's behavior. That might include hunger,
excitement, obedience, movement desire etc...
Different stimuli will effect the personality in different ways. The outputs
of the robot are completely wihtin the control of the 'personality' system, that
is the user's commands (made via the web interface) can be seen as requests to
the personality. So just as you can't guarantee that ordering a real dog
somewhere will make it go there neither can you make that guarantee with this
robot pet, it's obedience will depend on various factors in it's current state
of mind.
Navigator This block represents a 'perfect' internal navigation
system that accurately records the movements of the of the robot via the
rotation sensors on the robot. The only current output of this information is to the
personality so that the personality can be affected by how far the robot has
moved and it can choose to go back from where it came on certain stimuli.
BT Data This block interfaces with the high-level bluetooth
connection. The connection point is into the TCP protocol and will be described
in detail in the integration section.
BT Audio This block interfaces with the bluetooth audio channels
that are part of the baseband protocol. Bluetooth includes three 56 kbits/sec
channels in addition to the principal data channel which are designed for
streamed audio.
Applet In this design the applet is purely for the interaction
with the robot, feeding, playing, controlling the robot pet.
Configuration Applet In this design there is a seperate applet
for the configuration of the robot pet that would allow the setting up of
various features including the download of sounds and the setting up of the
bluetooth connections.
At this point in the process there was a serious re-evaluation of the
process due to sudden changes in resource allocation and a greater sense that
the implementation in VCC was a lot more difficult given available knowledge of
VCC's workings. This lead to a new approach whereby the immediate goal was to
get something going in VCC so that it could be integrated with the other parts
of the group's work.
The principal result of this is that most of the more advanced blocks in the
above diagrams were left until later in the process after a large amount of
risk-reduction had been done in the development of the more central blocks.
It was decided to concentrate effort on the integration of the lego system
to VCC and the web interface in preparation for the integration of the high
level bluetooth stack. In this respect the 'core' functionality was seen as the
following:
All other features were optional after these ones were completed.
Below is shown a screenshot that shows a visualisation in VCC of a prototype
system that was used proir to integration of the high level bluetooth
models.
The Robot we created needed to be able to do several things:
Move freely and speedily in different directions, changing direction
quickly, like real dogs.
Display an Emotional State. This is most commonly done inn dogs by
a wagging tail.
Accept Sensory. This is often done in real dogs by stroking or tickling.
Our Solution to these problems was to create a lego robot with the following
characteristics:
The dog is driven by two independently controllable dual direction motors
that are connected directly to large wheels in order to give high speed movement,
zero-degree turning circle and a high clearance.
A dog without a tail would be bound to have emotional issues so
we gave it a tail. Many iterations of the initial tail design have resulted in a
precision piece of engineering. The tail can be wagged in both directions and
the design allows the adjustment of the gearing to vary the speed of the wag.
A touch sensor was fitted to the robot pet under the left ear so the dog
would know when this ear was being moved by a user. This ear cannot be depressed
by collision of the robot with another object.
The Prototype Lego Robot Pet: Click on picture for animation
Dave Harding
|