Phobot building instructions
Phobot was an evolutionary concept. During the somewhat hectic days before the HRI'08 conference we did not make good building notes. However, due to the overwhelming number of requests from you all for building instructions we have created this page to help you. It is by no means perfect, and there are bound to be a couple of mistakes in the pictures, but we do hope this helps you be able to build your very own Phobot!
Good luck!
Table of contents
The arms
Required parts
Step by step
Two arms! We're going to attach these to Phobot only at the last moment.
The neck
Not really the neck, but this part makes the eyebrows move when the neck moves backward.Required parts
Step by step
You need this part when you are going to build the head.
The head
The most important part of Phobot! Requires at least the following components, but I do think we may have forgotten one or two components here. It also requires that you've already build the neck.
Required parts
These parts are required for the head and also for the upper body.
Step by step
Build the eyebrows first:
Okay, now for the head and the neck:
Attach the neck here:
And you're done! Finish up by attaching the neck to the eyebrows:
Done!
The upper body
Now let's animate the head. If all goes well you'll have some leftover components from building the head, we're going to use those now!
Required parts
Step by step
First create the base for the head which will drive it backwards and forwards:
Now we are going to attach the head:
Combine both parts together:
The next two pictures show some details to help you see if you connected everything correctly:
The front
The front of Phobot, which holds the NXT.
Required parts
Step by step
Done! Don't worry, we're still going to need those two gears :-)
The base
The undercarriage of Phobot.
Required parts
Step by step
Build the rear wheel like the one from the NXT Rover instructions:
Connect the wheelbase together:
Add the rear wheel:
And add some stuff on top so we can connect the upper body and front later:
Putting it all together
If all goes well you'll now have the following components:
Required parts
You're going to need these wires ;-)
And these extra components:
Step by step
Put the upper body on top of the base, and connect them with these two axels:
Side view of the axels:
Front view, don't forget to add some wiring already!
Add the front:
Connect it:
And you're done! Please know that we know that we forgot something somewhere in these pictures! If you find a bug please let us know so we can fix it! Also, if you happen to build it, we'd love to have pictures of you and your completed Phobot!
The software
Disclaimer
We never intended this code to be public, and as such: it is a horrible mess! :-) Feel free to use it and play with it though! And we are happy to try to help if you get stuck somewhere!
Connections:
Sensor 1: Codatex RFID sensorSensor 2: touch sensor
Sensor 3: unused, but feel free to connect it anyway
Sensor 4: sound sensor
Motor 1: head motor
Motor 2: left motor
Motor 3: right motor
Requirements and download:
Download all the Phobot blocks and sounds for the LEGO MINDSTORMS NXT software by clicking on DOWNLOAD PHOBOT!. Please make sure you 1) have the Codatex sensor ;-), and 2) have upgraded the NXT Lego firmware to version 1.05. Furthermore the memory must be completely empty of all other projects and/or files, since there are a lot of voice samples going to be loaded in memory. This includes all hidden files!
Oh, and please don't forget to read the included README.txt file :-)
Explanation of the software parts:
The software was partly written in English and partly in Dutch. If you just want to use the software you only need to change the RFID tags in the kijkenwordthbang routine to match the ones you use. Also, a lot of the blocks use named variables to transfer knowledge from one block to another. In other words: it is an absolute mess! Please be warned :-)
phobot - main routine and starting point. This is the one you want to compile and download! It starts 3 seperate threads - one to detect and act upon sounds, a repeating call to kijkenwordtbang, which will try to detect RFID tags and get more scared if it does, and schrik, which will run in the background to keep Phobot acting livelike and scared.
kijkenwordtbang (transl: look-and-be-scared) - MyBlock which looks for a RFID tag, and sets appropriate scaredness level by calling either bang, banger or paniek
schrik (transl: scare!) - block which implements the finite state machine which does all the scaredy-scare parts. This block is influenced by other blocks.
And some other helper blocks:bang (transl: scared) - makes Phobot a little bit scared
banger (transl: more scared) - makes Phobot more scared
paniek (transl: panic) - makes Phobot panic!
koel af (transl: cooldown) - makes the robot slowly cool down from fear
minder_bang (transl: less scared) - if cooled down enough, decreases level of scaredness
levelcheck - verifies is the user is helping Phobot correctly, if so: increases Phobot's victory-level
update display - updates the display to show the heart shape
That's it! If anything goes wrong, feel free to contact us. Good luck!!!