Let's Make Robots!

Robot/Personal Servant Using VB6 and Win98

Hello to all as this is my very first post.

I have visited many forums and looked up many question only to come up empty handed in most cases in the other forums.

After seeing the wealth of knowledge that was here I felt it was best to join a forum where people are willing to help each other and not provide links and say stuff like if you read this you might figure it out.

I am one who like to share my knowledge and I enjoy helping others.

CURRENT PROJECT:

Personal servant that will aid in the house work, Vaccuming, sweeping, Provide a drink and pretty much be a all around servant/companion.

See I work for a company that produces therapeutic tricycles for children and adults that are disabled.

After seeing what my company could do to help them become more physical I noticed what are we doing for them to help them out in the house where they are unable to ride a tricycle and can not get around so well.

Do we give them a wheel chair and say here get it yourself, to me that seems stupid and in most cases is very frustrating to those in the wheel chair.

Why not create a personal servant/companion for them.

I went to school in my early years for industrial electronics and have been playing with computer from the time I was 13 and I am now 46. So I have been around for a little while.

I also went to school for 3d animation and design.

I came up with this wild but very interesting and doable idea to bring all of thos talents together.

To answer your question, I will be posting videos as I have taken very complete videos of each and every step during the creation process.

My goal is to keep the cost down and to still provide a very afforadble type of robot that can be used to help the disabled or the elderly.

As we all know most of the disabled or elderly do not have much money.

So after some research I decided I would use the parallel port as the output.

Then I designed my own relay driver board to control the main drive motor.

Oh, we can not forget the countless hours of programming to make the code work just right using VB6.

Next I thought well how will someone control the robot so I decided upon using voice commands.

I wrote some software for voice recognition and amde it respond to commands such as forward left and right and reverse.

I next decided that using a old style laptop with 64meg of memory for the brain and processing would be best as soem would say why, well after you read this, you will then understand.

For a robot to be a companion it must have personality, A face, Be able to make suggestions and give a attitude kind of AI in a way.

What I have created and I am still working on is a personal servant that will upon your command move to your desired location and remembers each move it makes so that if needed can repeat the command, will talk to you with a very well spoken voice no robot voice, has a face to it that is animated and provides some comfort, will suggest a book and can read those books to you, will go to the kitchen so you may place drink or even your dinner plate on it so it can then be delivered to where you sit, Can tell jokes and remind you of important events such as birthdays and other special occasions. While you can not program in compasion and love, you can provide happyness and a companion for those in need. Mind you this is not to replace your spouse or will never get in bed with you and well atleast not yet it can not rub your feet or provide a back massage, it will provide comfort in knowing there is something there to help and provide aide.

Now I have gone on way too long with those detail I will say this.

I have been working on this for about 3 months now and my wife calls me the McGyver/Einstein and tells me I am way too smart and need to be working for Darpa or area 51.

I most recently designed a way of connecting servos to the parallel port without a driver circuit and created the software that will control the servos in any direction and back to "0".

This was the most complicated piece as the pulse width had to to be just right to make this work and we all know that the parallel port is either on or off so making this work was a bit challenging.

Now that I have the servo piece licked I can now work on designing a arm to provide useful functions.

My prototype is basically a laptop on wheels with a clamp I added to hold onto a small vaccum, this was funny as it did do quite a good job in vaccuming the carpet.

Our dogs hate it and when they see it come out they run for the couch.

If you are interested in the code to make the servo work just send me a message I will be glad to help.

I will be posting pictures and videos of this project very soon, I first have to reduce the size of the videos.

Until then I hope to hear from anyone that is interested and happy robot making.

Astalavista Baby......LOL

 

 

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
Ladvien's picture
"my wife calls me the McGyver/Einstein and tells me I am way too smart and need to be working for Darpa or area 51." Man, all I get is, "Eh. I could've done worse."
jeffr's picture

Here are some pictures of the robot.

Sorry it has taken awhile as I have been busy and just got back to it.Jeeves Assistive Companion

 

lumi's picture

Interesting approach with that Win98 vintage machine :-) But I do like that idea. I also have a 333MHz old notebook PC at home and would like to find an application for it...this might be interesting...oh yeah, I was using Win98 until 2006 and can't complain LOL

jeffr's picture

Good old windows 98 that ws the day, we could just about anything and didnt have all the security issues like we do today.

Believe it or not I still have a copy on diskette of windows 3.11 not that I want to use it but to look back on those days and how we thought windows 3.11 was so great and to see where we are at today, enough of the flash back.

Break it out and install win98 and start having some fun, you might be surprised.

I first built a small home automation system using win98 and a relay driver board that would turn certain lights on and off via by timer or voice. There are several sites out there that show how to use the parallel port for controlling projects. Here is the Pin out for the parallel port.

Parallel port pin out

lumi's picture

Exactly, the old days wasn't that bad :-) but I really don't want to install Windows from floppy disk anymore just to figure out that disk 12 has a read error and I have to start over again :-)

Thanks for the tip and the parallel pinout...will see what I can achieve with that...not soon but i guess within this year ^_^

jeffr's picture

You can use the parallel port in winXP as well if that helps in what you want to do.

I chose win98 because the old laptop I have only has 64meg of ram, while XP will run on it, it is very slow and it consumes alot of resources.

lumi's picture

Same here, that particular laptop did not feel well with XP so I kept my Win 98 setup CD :-) 

You never know when you need things again...so try never to dump something what might be useful or even save the world someday :-)

Markamas's picture

I don't really know what you are using as a processing unit, but may I suggest coupling it with a microprocessor (i.e. Arduino, Picaxe, etc) for much more natural interfacing with electronics such as motor controllers, relays, transistors, sensors, servos, etc... 

This way you wouldn't need to write lots of code for something as trivial as moving a servo. 

Also what I commented on that page might be useful: http://letsmakerobots.com/node/36684

By the way, there's a book about social robots that I recommend. I can't remember the name, just google it up. 

I'd recommend using pre-written software libraries for nearly everything you can find. I can't imagine how much time it would take to write a speech recognition library along with countless other stuff like image processing by yourself. 

Honestly, I think this is possible, but not with only a parallel port for interfacing with electronics. Also, this will take lots of time and many sensors. I actually have something similar in mind, so I'm not at all trying to discourage you, this is just my two cents. 

I'm planning to use a RaspberryPi as a master processing unit, with an Arduino as a slave, and an I/O expander connected to the Arduino. (12 V lead-acid battery for power)

And here's a list of sensors I will be using:

Wii camera + IR laser for SLAM, 2 webcams for stereo vision (simpler than 3D clouds), wheel encoders, passive IR sensor, microphone array, an alcohol gaz sensor, a smoke detector, an FM radio receiver, a temperature and humidity sensor, and (if I'm not broke by that point) a GPS, compass, gyro and accelerometer

Output stuff:

Motors, motor controller, signal LEDs, LCD touch screen, HDMI + USB ports (from the RaspberryPi), speaker

Hardware:

Tank threads, linkage that allows the head to go up/down

There's lots of stuff I could talk about, but this is the global outline of what I'll attempt. I also know that all this looks very expensive, but I actually have lots of it already lying around in my room. From scratch, this will cost me much more.

jeffr's picture

You are correct about using prebuilt libraries as yes this would save lots of time.

Your ideas are impressive and I would like to hear more about them.

My reason for wanting to use all original libraries and no prebuilt boards or anything else other than motors,servos and sensors is to be able to say I built this myself from scratch.

While I am using some of the Microsoft libraries for voice recognition and speech output the rest of my coding is original.

I think I can make all of this happen with just the parallel port as I have 8 ports to use for data out, I am currently only using 3 of them. I have two being used for forward and reverse and one being used for left and right. If the weight was not such a issue I could take two servos and turn them into continous drive motors and use two of them off one port for forward and reverse. I am not up to date on all the various types of servos but I can't see two servos hauling around 12lbs of weight without some form of destruction to the nylon gears.

Your ideas are interesting and like I said earlier I would like to hear more.

Jeff

Markamas's picture

Also the RaspberryPi has internet connectivity so I will try and use it to fetch e-mails and weather, as well as other interesting stuff.