Panasonic Auto-logic Answering Machine Robot
From Aaron
Contents |
Goal
Make a working, driving, sensing robot out of the shell of a Panasonic Auto-Logic KX-T1450 answering machine.
Background
The answering machine in question was featured in the movie "Sneakers". I don't want to ruin the movie, but if you haven't seen it you should. It is also seen in a number of other movies because it looks like a stereotypical answering machine that people can easily identify. Thus when I saw the answering machine ready to be thrown away* I quickly grabbed it. I decided to make a robot out of it so that I would get used to the Cerebellum. Also, I was bored. Here is a link to a page that has some pictures from the movie. Photo's #1, #2, and #7 you can see the answering machine.
* At my High School I was part of a group of people who refurbished old computers and gave them away to underprivileged members of the community. Marriott corporation, whose HQ was about 20 min away, donated all their old equipment. This answering machine was randomly in with a bunch of computers.
Basic Construction
Before September 2004 Acquired answering machine and got idea.
Removed guts of answering machine. Acquired various electronic components that might be useful.
September 27th, 2004
Met with officers from CMU's robot club, who graciously lent me one of their colony robots that was missing some pieces, but still had a robot controller, two servos, and wheels.
September 28th, 2004
Took rough measurements of components and started on layout. Dimensions are:
* 5.75 x 7.75" base (minimum) inner dimensions [there are slanting sides] * 6.5 x 8.5" middle (maximum) outer dimensions * ~1.5" maximum interior clearance * 2" maximum outer height * 1.75" minimum outer height * 2.75" x 3.25" Cerebellum PCB * 2" x 3" Battery pack * 1.5" x 1.5" servo [w/o wheel or mount] * 2" x 2.5" servo [w/wheel and mount] * 1.875" distance between servo mount holes
I think that I have a basic plan for the layout. The Cerebellum will be in the upper right hand corner [when case is such that the letters are right side up]. This will be the rear of the robot. There is a small recessed hole that I plan to cut away that is almost the perfect size and location for the serial port if the controller is in that location. This puts the status LEDs and test buttons right next to a similar existing hole. I don't plan on using those [I would like to wire up the answering machine buttons/LEDs],but for testing it should be useful. The existing power plug hole will be fitted with a jack that will charge the battery without the robot having to be opened up. The servos will be close to the edge about 3/4 of the way to the front, with the battery [the heaviest component] centered between them. Look for a schematic picture later this week.
September 29th, 2004
I made a paper cutout of the base of the robot, and sketched the layout. It seems like this will fit everything needed. I moved the wheels and battery farther up [..the page, or to the rear of the robot], so that most of the weight of the robot is on the wheels and not the skid. The skid will be in the center of the back, actually under the corner of the robot controller. This will be possible because i plan on raising the RC off of the base of the robot with small risers. The skid ball thing that the robot team gave me would be huge, so I'm now looking for an alternative. It was the right height for their robot because it was mounted to the same surface as the top of the servos, while mine would be the same as the base of the servos. Here is the diagram and a rough placement:
October 4th, 2004
I dremeled the bottom of the answering machine so that it is flat [i.e. I removed the bumps and lumps that were designed to offset the answering machine guts from the bottom]. I tried the RC in the corner that I want to put it in, and it didn't quite fit. The serial port is a little too high, and the buttons are too far back, to be reached form the existing/expanded holes. I will either cut out a bigger hole or mount a new serial port. Adding a new port would allow me to put the RC on risers [like a motherboard is in a computer]. The buttons not lining up only matters during testing, ultimately the answering machine's buttons will be used.
October 11th, 2004
I got some mounting screws for the Robot Controller from the robot club. Looking at the spacing for the serial port, I think it will work if I cut away more of the case. This would be the first time I've cut away part of the outer frame, and I'm not sure I want to do that. I might just mount a new serial port in the existing hole and run cables :-(.
October 20th, 2004
After working with several members of the robot club, I got a c compiler for the PIC, and I have been able to compile meaningful code and transfer it to the RC.
October 21st, 2004
I mounted the uC in the case. I had to dremel out more of the case than I was hoping, for the serial port and the buttons, but it doesn't look bad.
November 4th, 2004
Now that the election is over, I have more free time. I mounted one of the servos/wheels, but it looks a little tight for fitting two and a battery across the center. So I might remount it closer to the edge [or farther over the edge...]. Pictures to come...
November 14th, 2004
It drives! I finally mounted the 2nd wheel and fixed the mount on the first one. There is now enough space between the servos so that the battery fits nicely. Here are some pics:
November 17th, 2004
I wrote a better program for the robot. Now it starts driving two seconds after power on [to give the operator a moment to get the lid on], and you can change the direction of a wheel by pressing one of the buttons.
November 18th, 2004
I polished the code a little, and tested out the robot. It drive and turns nicely. I looked into mounting options for the buttons and determined that I probably need different buttons/switches. They and the status lights are all that's between me and my baseline goal.
Adding Features
December 8th, 2004
Re-installed the servos after the robot club needed to test them. I took the opportunity to add some extra washers so they are now exactly where I wanted them, and are more secure. I noticed that there was a piece of plastic sticking up under the big play button. So I taped a switch to that post and now the button works. I changed the programming so that when you press the button it will start or stop [it is the play/pause button]. Will be working on the other buttons and the LEDs.
January 20-24th, 2005
I wired up the power switch, the internal charger, the charger led, and the power led. The basic idea is that you connect the external power, battery, and cerebellum in parallel, with a diode to keep the external power from draining the battery, and hook LEDs with resistors up to the power line next to the external adapter and in line with the power switch. Now I have to mount the LEDs and the switch, and finish cleaning up the cables.
Circuit:
|-------|--|>|---|---/ ---|-----| | \ diode | switch \ | |+ /1k |+ /1k |+ power \res --- \res cereb brick / -batt / |- |- | |- | | | V LED1 | V LED2| |-------|--------|--------|-----|
Spring 2005
I worked on the robot from time to time this semester, but mostly it was used to test pic code for other projects. Replaced and repaied LEDs a couple times, should do better now. Hot glued power switch, LEDs, and power cable in place, now completely functional with case on.
Pyroelectic Sensor
May 5th, 2005
I am borrowing a Eltec 442-3 Pyroelectrec Sensor to see how it works. I have hooked it up to a servo mounted on top of the case looks odd, but is only temporary. The goal is to have the servo scan back and forth till it finds a heat source then hone in on it. It mostly works with the colony pyro code, although it isnt perfect. I am trying to modify it so that it scans and finds the heat source and then drives to it. I also added a resistor to the button so that it doesn't draw as much current.
May 20th, 2005
I got the pyro sensor working! It is really neat, finds me at large distances [at least 30 feet, didnt test more], and drives over to me. I'm taking it off though because it has to go back to the snake lab. I might buy one of my own and find a way to mount it so that it doesnt ruin the answering machine look. Videos:
Hinge
July 31st, 2005
I have been working on other projects most of the summer, but today I added a servo to opperate the hinge. The black plastic that covers where the tapes would be now opens and closes on its own, I found a really neat place to tuck the servo right next to the hinge, and with a bit of dremmeling got a nice mount using zip ties. Pix:
VoIP
In the spring of 2006 I applied for and recieved a Small Undergraduate Research Grant for this project. With the grant money I will be turning this robot into a VOIP answering machine/client.
September, 2006
I bought an embedded computer to put in the case. It took a long time to find one that would fit and not be really expensive or sucky (this has to run VoIP software, so it needs reasonable computing power). I settled on the PCM-9386 from Advantech. Quick specs:
- Intel Celeron M 600Mhz
- 5.9" x 4.2"
- 5v opperation (no 12v needed), 2A max
- 3x USB 2.0 ports
- Ethernet, video, audio built in
- Expansion possible through MIO module
October, 2006
Soldered up a power cable to plug the computer into a 5v power brick I had, and confirmed that it does boot up.
December 13th, 2006
Case can now close with computer inside, though all the stuff that used to be in there is currently not. I had to dremmel down part of the upper case to fit heatsink. I also ordered a 1GB CF card, and a usb wifi card, to use with this computer. I had previously borrowed a CF wifi card, and bought a usb flash card, but decided that it should really be the other way around.
December 17th, 2006
Installed Ubuntu linux on the computer. I did an embedded install, from the "special" install cd. To get a cdrom drive, I used a usb hard drive enclosure and an IDE cdrom drive. It boots just fine, though I still have a lot to setup (most importantly the wifi card, since right now I have to use the keyboard and monitor from my desktop).
May, 2007
A lot of work done--computer mounted in case, wifi works and autoconnects on boot, asterisk setup, VoIP calling works!! Found really good tutorials online:
Solid Works
I wanted to learn Solidworks, so I decided to CAD up this project. Preview shots:
Previous Page
old page - will eventually move all that information here




































