SLI Practical Group B Tail-Wag

Project Design


Initial 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.

  • Behavioral Model revision 1.0

    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.

Major Functional Units

  • 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.

Basic VCC Design

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:

  • Motor Control of the lego robot

  • Simulated Bluetooth Integration

  • Full Web based interface

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.


Basic VCC Design

Robot Design

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