Vic the Vac: Home Made Personal Robot Assistant and Companion.
by steve-gibbs5 in Circuits > Robots
121 Views, 3 Favorites, 0 Comments
Vic the Vac: Home Made Personal Robot Assistant and Companion.

.PNG)
.PNG)
.PNG)
.PNG)
.PNG)
 (2022_12_20 21_23_06 UTC).PNG)
 (2022_12_20 21_23_06 UTC).PNG)
 (2022_12_20 21_23_06 UTC).PNG)



Welcome reader. I'd like you to meet Victor (Vic the Vac), or Vic for short. This was a project I built a few years ago now, but it wasn’t until recently when someone asked me if I made an Instructable for this little guy that I realised that, even though I had the photos and a mostly completed draft, I didn’t actually get around to finishing and publishing one. It’s still worth publishing as the robotic platform I used, EZ-Robot, also know as Synthiam (2 websites, same company), is still available and going strong and all of the parts are still available, even improved, and the coding is still the same but with more features. So, a few years late, here it is (better late than never).
So what is Vic's function in life? Well for a start, he is Vic the Vac so vacuuming the house is his nature (and saves me a job). But with his improvements, and leaving the cleaning section of the Roomba still in tact, he can be scheduled to clean or do it autonomously. He enjoys it to, as he will sing a song (sort of), or whistle while he is whizzing around the house. Other things he can do is read out various RSS feeds like news, weather, and some fun stuff too like fun facts of the day and jokes. His non EZ-Cloud project contains an ever growing list of my music library which I can ask him to play and will stream it through my home entertainment system. He also has his own Pandorabot AIML (Artificial Intelligence Markup Language) brain so two way dynamic conversation is there which controls most of Vic's speech recognition scripts. If I were to build this robot today, I would opt for using LLM’s GPT’s etc. with a custom personality prompt instead of AIML. For Vic’s voice, I used a text to speech company called Ivona and chose the chipmunk voice package and again, building this today I may have chosen a better quality TTS voice as they are much better nowadays. And using the audacity music editing software for PC, I made some additional sound files of voice samples for addition emotional effects such as laughter etc. I chose the chipmunk voice as I felt it suited Vic’s personality, Fun, playful, cheeky yet a helpful companion.
As fun as he is, Vic does have a serious side though. He monitors certain aspects of my home security. He has sound sensors, passive inferred sensors and Photosensitive diode sensors in his chest that periodically turns on and checks the area or triggers security functions when sound, light, body heat, or movement is detected when there shouldn't be any. He also has smoke/gas detection and flame detection diode sensors with alarm scripts should the worse happen. Of course a lot of these sensors can be used for fun stuff too and to some people, it may seem that Vic has a lot of "bells and whistles" in the way of sensors and the LCD display, but they all do serve a practical purpose and actually acted as test beds for some of the other full size robots I made.
He also had one other important use that was wasn’t initially planned, but ultimately became one of his most important features… an emotional support companion for one of my best friends 9 year old Autistic daughter. She had challenges when communicating with people and didn’t really speak much even to people she knew well like family members, but my friend always came to my place at least twice a week with his daughter and she took an interest when I started building Vic. Ultimately this lead her to come out of shell a bit, helped me with the build which got here talking to me more and more. And when Vic was finished and we got him listening and speaking, she would freely and regularly have conversations with Vic every time she visited. After a few months of having Vic in our family home, it was clearly evident that my friends daughter had made a real personal attachment and connection with Vic, so after discussing it with her parents, I ended up gifting Vic to her and my friend later told me that she interacted with Vic on a daily basis for a little over 4 years or so. Because of the Autism, my friends daughter needed things clean, organized, and routines to be the same, so with some modifications to Vic’s AIML brain and writing some script routines, he would vacuum her bedroom every day, have set reminders for various tasks, and was set to always greet her when Vic’s camera face detection and movement sensors would detect her entering her room which we think gave her some kind of comfort. And the multiple daily conversations also helped her in many ways, one of which was to help her speak to other people more confidently. Evan at 9 years old, she was fearlessly intelligent and she quickly picked up on how to add new features and add some more personality traits to Vic. As technology moved on and she got older, she did use Vic less and less, but while writing this, I recently asked her (now 10 years older) what ever happened to Vic and she told me that she still has him on a display shelf in her bedroom and she would never get rid of him as he meant so much to her, and also said that just seeing him on his shelf everyday still makes her feel happy and smile. A build that was very worth while just for that alone.
Because this is quite a unique robot build using parts I had to hand, I have written this Instructable as a “how I did it” rather than a “how to do it”. This is because you may not have access to a broken air fryer or the particular car vacuum cleaner I used for example, but the principle of how it works can be adapted to fit a robot design using different items to what I used. This is a robot build to have fun with as well as being practical, and is a nice project that you can get the kids involved with. As mentioned above, my friends daughter and Vic’s new owner helped with some of Vic’s build and had a lot of fun doing so.
And using the EZ Robot platform, there was, and still is, a very friendly and helpful community of builder, makers and hobbyists all with different skill levels, and I found it to be a great place to learn about robotic software and hardware as well as having fun and making new friends. So, this is how I built Vic the Vac.
Supplies
.PNG)
.PNG)
.PNG)
.PNG)
.PNG)
.PNG)
.PNG)
.PNG)
.PNG)
.PNG)
.JPG)
So why Vic the Vac? Well, his drive base is a fully functional iRobot Roomba 530, his top part of the body is an old 12v car vacuum cleaner, and his arms and neck coverings are vacuum cleaner hose. The rest of his body is made from other bits and pieces a had laying around the home which would have been thrown out in the trash or recycling bin. These were...
- Old Bluetooth speaker,
- A Super Soaker water cannon,
- The car vacuum hose,
- Aluminium car vacuum nozzle tube,
- A broken air fryer,
- PVC electrical wire trunking strips,
- Left over PVC sheet from a shower installation,
- Two dried up marker pens,
- Plastic cover from a file binder,
- Two Lazy Susan bearings,
- Some clear PVC hose,
- A metal coat hanger,
- An old set of battery operated fairy lights,
- And old removable 5" Android phone,
- iRobot Roomba 530.
So as you can see, trash and cleaning really is the theme here. All these parts were measured, cut, striped, drilled, melted, cleaned, sanded, screwed, bolted, painted... you get the idea. A robot fabricated from scraps, but of course that's only half the story. He needed some more parts to bring him to life. The electronic parts were order from a company called EZ Robot who I had used before for my other robot builds, so I ordered one of their development kits containing a microprocessor/servos controller, digital servos, servo extension leads, computer vision camera and ultrasonic distance sensor. I also ordered some additional servos and some servo mounting blocks. Then some more online shopping for some more goodies from around the web. Here's a full list of what's installed from head to toe (or should that be "head to wheel")...
- Two blue 6-12v LED's for eyes,
- Two sound sensors,
- EZ-Robot camera,
- Sound responsive electroluminescent (EL) wire for the mouth,
- Static EL wire for the lower body,
- Rotational servo (head pan),
- Lever servo (for the head tilt)
- Ultrasonic distant sensor with rotational servo,
- Rotational servo (for the shoulders),
- EZ Robot Extension cubes,
- EZ Robot Extension blocks,
- Lever servo (for the shoulders),
- Lever servos (for the elbows),
- EZ Robot grab claws for the hands,
- Two speakers rescued from the Bluetooth speaker,
- Passive infrared (PIR) sensor,
- HD servo and neck linkage for the Rise and retract neck,
- HD servo for waist
- 20 bulb "blue" LED strand (relay controlled),
- Sound reactive red electroluminescent wire,
- Jumper cables to Roomba 530 comm's port,
- Two HD servo powered retractable LED torches,
- 16 x 2 LCD display,
- Remote control power relay (for EZ-B controller power),
- Smoke/gas sensor,
- Light level sensor,
- Override toggle power switch (for EZ-B battery recharging. This disconnects the remote power relay so no power is going to the controller or relay),
- LiPo battery charging port,
- Ivona chipmunk voice
- And the EZ-B v4 robot controller.
Tools:
- Power drill/driver
- Various drill bits and cross head/flat head driver bits
- Precision screwdrivers
- Dremel with various cutting and sanding bits
- Soldering iron (different solder ends for soldering and plastic melting)
- Hacksaw
- Hot glue gun
- Heat gun
- Wire cutters/strippers
- Pliers
- Utility knife
- Masking tape
- Electrical tape
- Various grades of sandpaper
- Zip ties
- A lighter
- Spray paint.
There was one thing that was always on the forefront of my mind… weight. I wanted/needed to keep the overall weight of the main body and head as light as possible because although the Roomba drive motors did have a fair amount of torque, I didn’t want to over tax them to much by adding too much weight on top. So this is something to keep in mind when building something similar to Vic.
The Upper Body:
.PNG)
.PNG)
.PNG)
.PNG)
.PNG)
.PNG)
.PNG)
.PNG)
.PNG)
.PNG)
The upper body has two parts, a yellow chest area part and a black neck part. I started by taking out all of the electronics and cutting out all of the unwanted plastic pieces of the car vacuum out. I also cut a section out of the chest area for the speakers to be fitted later.
Then I marked and cut out to holes on each side of the upper body for the arm servos to fit through then screwed two rotation servos to the body for the arm up/down movement. Then in the neck part, I cut a hole to the diameter of the super soaker tube I was going to use (same diameter for a tight push fit), on the top of the upper body for the extending neck.
For extra support, a fed through a strip of flexible PVC through the rotational servo block connectors and screwed them to the chest part of the upper body.
For the neck, I dismantled and cut to size the super soaker tubes, then press fit and glued the larger diameter tube from the inside of the body “neck part” into the hole I cut earlier, cut a small channel out on one side, slid in the smaller tube, then cut and looped a piece of metal coat hanger to make a servo linkage the screwed it into the end of the smaller diameter tube which would now make the extending neck. I also cut a section out of the top of the smaller tube to make a mounting bracket for the lower head servo.
This section was put aside for now as the head now needed to be made.
The Head:
.PNG)
.PNG)
.PNG)
.PNG)
.PNG)
.PNG)
.PNG)
.PNG)
.PNG)
.PNG)
.PNG)
.PNG)
.PNG)
.PNG)
.PNG)
Just like the upper body, I stripped out all of the speakers, circuitry and cut out any plastic parts from the Bluetooth speaker housing to start making the head.
For the eyes, I cut out two circles from some PVC sheet, drilled a hole in the centre of each and inserted a 12v blue LED in each. I then glued the circles into the recess of where the speakers were located.
Next I drilled out two holes in the back piece of the head and seated in the two sound sensors (sound sensors are microphones soldered on a PC board and used to detect sound, in other words, Vic’s ears).
I then trilled a hole in the centre of the front eye panel and fitted the PC vision camera (for object and face recognition).
A final section was cut out from the bottom of the head and fitted a rotation servo for left/right motion, and the connected a lever servo to the rotation one for head up/down movement.
Using a length of sound reactive EL wire, I carefully glued it to the front of the neck servo cutout. This will be Vic’s mouth.
Extension cables were connected to the sensors, camera, servos and LEDs, then labelled with some masking tape. I finished off by reassembling the head and attaching the lever servo to the small diameter super soaker tube, feeding all of the cables through the tube. Then I fed all of the cables through the larger tube attached to the upper body, then feeding in the smaller tube. All of the lights, sensors and servos were tested at this point to make sure everything was working.
The next job was to make a servo bracket from some PVC sheet, using a lighter and a piece of wood to bend the bracket into shape, bolted it to the lower part of the car vacuum, then attached a rotation servo to the bracket using some double sided tape and a couple of zip ties. I put in a screw through the servo arm and used a length of coat hanger to make a servo linkage arm for the extending neck. This along with the neck mechanism essentially goes to make a linier actuator to raise and lower the head.
For now, the final jobs were to make a hole in the front of the lower part of the vacuum and fit a PIR sensor. Then using a piece of PVC sheet, I cut a section out and using a heat gun I made it curve to the shape of the chest piece, cut out two speaker holes, painted it black then fitted the two speakers. These would be fitted after painting.
Lower Body:
.PNG)
.PNG)
.PNG)
.PNG)
.PNG)
.PNG)
.PNG)
.PNG)
.PNG)
.PNG)
.PNG)
.PNG)
.PNG)
.PNG)
.PNG)
.PNG)
.PNG)
.PNG)
.PNG)
.PNG)
.PNG)
.PNG)
.PNG)
.PNG)
.PNG)
.PNG)
.JPG)
.JPG)
.JPG)
.JPG)
.PNG)
.PNG)
.PNG)
.PNG)
.PNG)
.PNG)
For the lower body, I used the non working, non reparable air frier. It had a tinted transparent lid which I planned to illuminate. The rest of the frier needed to be stripped of its components, and then a lot of cutting to get the pieces I needed. The large back section of the frier I cut off, I covered the gap with a piece of PVC sheet, then used some more PVC to mold into a phone bracket which I fitted to the front of the frier/lower body. I also cut out a section below the phone bracket to for the LCD display, retractable flash lights, and to leave clearance for the Roomba’s mapping sensor. I also cut a hole into the bottom of the frier base and the Roomba’s top plate where the Roomba’s data port was located. Two additional holes were cut into the back to fit an ultrasonic distance sensor. Below this I also cut a hole for a toggle switch for the main robot power.
As I had cut a section of the frier out that contained a hinge mechanism to open the frier lid, I fitted a new small metal hinge to the back of the lid and frier body. The front of the frier had a locking catch to open and close the lid and I managed to keep it in place and use.
Although the Roomba could turn on it’s axis, I wanted the body to rotate separately from the Roomba drive. To do this, I attached a lazy Susan bearing connecting the Friers lid to the bottom section of the car vacuum. The fitted a rotation servo to the frier lid and connected the servo arm to the base of the vacuum base.
Next, I fed a blue sound reactive LED strip through a length of clear plastic hose pipe. I fed a solid piece of wire through the hose, taped one end of the wire to the end of the lights, the pulled it through to feed the lights through the hose. I wrapped the hose with some packaging foam sheet to partly defuse the lights. Next I cut a piece of PVC sheet to the size of the frier lid, drilled a few holes into it, then zip tied the blue light tube along with another length of red EL wire. Then I attached the light board to the frier lid with a couple of screws.
To attach the frier base to the Roomba, I removed the Roomba’s top plate, measured it up against the bottom of the frier base and drilled three holes through both which I would later attach with three nuts and bolts.
I stripped out and cleaned up two dried up marker pens, cut them to size and press fit them into the two holes either side of the LCD display cutout then added some glue. These would be the housings for the retractable flash lights.
At this stage with all of the holes I needed cut out from the frier base, I then masked off what was needed and spray painted the frier base blue and black, the Roomba’s top plate and the upper body chest section blue, and the rest of the Roomba’s outer housing, black. Both paints I used were direct to plastic spray paint, so no sanding or priming was needed, only a good clean.
While the paint was drying, I took apart the two pen flash lights and soldered some wires to the battery terminals. When the paint was dry and masking tape removed, I cut a couple of lengths of coat hanger wire for servo linkages, used some clear silicon adhesive on end to each of the pen flash lights that made a strong bond holding the wire to the flash lights, yet being flexible enough for the linkage to move Then I fitted a rotational servo towards the back of the frier base, fed the flash lights into their housings, then looped and attached the other ends of the linkages to the servo arm with a screw.
I then attached the LCD display into the cutout I made for it earlier making sure the data cable was secure and would not interfere with the flash light mechanism. Then I added the rear ultrasonic distance sensor and the power toggle switch. At this point I realised that I wanted to add some more sensors, a smoke/gas detection sensor, a light level sensor which I would script to the flash lights so if the environment was dark and a movement or human detection alarm was triggered, the flash lights would come on. These were fitted to either side of Vic’s lower body.
The EZB controller came with a built in speaker, but there is a small hack that can be done to bypass the built in speaker and solder wires to connect better quality speakers as you can see in the attached photo for this step. I opted to solder an old headphone jack so I could disconnect the external speakers if needed.
With all of the equipment attached, I made a bracket out of some PVC electrical wire trunking strip to fit over the Roomb’s control buttons then with a piece of PVC sheet (in case I ever needed to access them), I cut out a section, mounted it to the bracket and this made a platform then fitted the EZB controller, power relay and voltage converter for the flash lights.
Now I started to connect up some of the electronics. The sensors connected to the analogue ports of the EZB, the servos, ping sensors and lights to the digital ports, flash lights to the buck converter which was then plugged into a digital EZB port. The LCD display was connected to the I2C port and the Roomba’s data port was connected to a UART port. More on this later.
I fitted the battery next to the EZB, fitted a LiPo battery charging port for the EZB wired through the main power toggle switch.
TOP TIPS: When connecting up all of the peripherals to the EZB controller, make a list of what peripheral is connected to which number port. This will make life much easier later on when setting up and scripting/coding each device.
And for fitting servos, make sure you they are all set into their neutral position before connection them up to what they will move, either 90, 180, 1 or whatever position you require. This is also important for when deciding what length you need to make servo linkages.
Back to the Upper Body:
.PNG)
.JPG)
.JPG)
.PNG)
.JPG)
.PNG)
.PNG)
.PNG)
.PNG)
.PNG)
.PNG)
.PNG)
.PNG)
Using the extension cubes and blocks, two lever servos (for each arm) and the claws and servo extension cables, I connected them together to make the arms, both to the length I wanted, but no so long so the rotational servos wouldn’t strain under the arm weight. Before connecting the claws, I measured and cut the vacuum hose, then fed the hoses over the arms the fitted the claws.
Next I fed through a second ultrasonic distance sensor through the car vacuum hose inlet and left it to hang lose for now. Then connected the speakers up to the EZB headphone jack.
Now was time to fit the neck/head section to the upper body by putting another cut to size vacuum hose over the neck and cables, then feeding all of the cables through the body into the lower section connecting them up to the controller, then hooking up the neck servo linkage. Now I could screw the upper body to the lower body section.
A couple more small jobs, one was to make a housing for the front ultrasonic distance sensor. For this I used a lid of a deodorant can where I carefully drilled a couple of holes, fitted the sensor, and fitted it to the body using some double sided tape. The other job was to make a piece of trim to hide the speaker cutout and make it look tidier. All I used was a length of coat hanger, bent it to shape, and covered it with a length of outer electrical wire sheath. Once I did a final bent of the trim to fit the curve profile of the body, I glued it into place. Another little job I did was to colour in the claws to match the body colour scheme.
Final Checks:
.PNG)
.PNG)
.PNG)
.PNG)
.PNG)
.PNG)
.PNG)
So, the body parts are now all securely fitted together and all of the electronics connected up, it was time to run some final checks. The user interface for manually controlling and programming the EZB controller was called EZ Builder (now known as ARC) which you install on a Windows computer. This is the same robotics platform I used on my K.9, 2.0 build and my E4:B4 Astromech Droid build projects and more detailed information about this cam be found on my Instructables for these projects following the links. But put simply, this is the command centre where you can write coding scripts, add plugins, make a mobile app for your robot control, and so much more.
So with the EZB connected to EZ Builder, I added a simple servo control slider then tested every servo with the slider making sure they were all listed correctly and that they all moved exactly as they should checking that there was no excess strain, no wires interfering with their movement and the parts they were moving were travelling freely.
Next was to set up and test all of the analogue sensors connected to the ADC ports, by waving my hand up/down/back/fourth in front of the two ultrasonic distance sensors, covering the light sensor with my hand, striking and blowing out a match for the smoke/gas sensor, making movements in front of the PIR sensor and doing sound level tests for the sound sensors.
Then the camera was tested using the pre built camera control, then writing a simple script for the LCD display to tell me the battery voltage, tested the sound responsive EL mouth light (not connected to the EZB as it had it’s on mic and battery pack as I couldn’t initially figure out how to successfully connect EL wire to the EZB), then tested the rest of the LED lights. With all final adjustments and testing completed, one final test was for the Roomba control.
Connecting the EZB V4 to the Roomba 530:
.JPG)
.PNG)

Full disclosure, I did test the connections at the very start of the build simply using the Roomba, the EZB and LiPo battery and jumper cables to make sure they were both communicating. Then in EZ Builder, I added a Roomba movement control panel, set it up and tested. Full information for Roomba and EZB V4 connections and control can be found using the following link… https://synthiam.com/Support/Skills/Movement-Panels/iRobot-Roomba-Movement-Panel?id=19164
So now the building of Vic was completed and tested, now was the time to get stuck into the software side of things and set up the control panels, audio, and custom scripting.
Software Set Up and EZ Script Examples:




In this step, I will share some basic EZ Scripts that Victor used along with a list of the separate control panels used for controlling servos, speech recognition, camera detection etc: Not everything Vic used is here as there would be far too much to go through and post here, but the basics as well as the help sections found on each individual EZ Builder control panel should be enough to get you going and something to build on.
- The main EZ Builder control panels I used for Vic were…
- iRobot Roomba Movement Panel,
- Script Managers,
- Mobile Interface,
- Pandorabot,
- Speech recognition
- Ultrasonic Radar scan
- Auto Position (for servo actions)
- Soundboard v4 (for the EZB)
- Custom Movement Panel (for custom Roomba/servo movements)
- Camera
- Speech Settings (for selecting the voice)
- and various control panels for monitoring sensors and assigning actions to them, setting a random eye blink, setting RSS feeds and setting scheduled events such as medication reminders, vacuuming, alarm reminders and more.
Each control panel has a question mark which takes you to user guides for that panel. These go into detail of what the panel does, how to use them and sometimes gives simple examples you can build on.
I am no coder or programmer by any means, but I did choose the header way of learning how to use the EZ Builder scripts, but there is a simpler Blocky script editor that has pre-made scripts you can easily add and works like building blocks. I never used this as I preferred, for better or worse, to take on the challenge of learning how the coding works which did actually help me out writing some tutorials for the EZR community and later on for non EZ Robot projects. So when all of the control panels are all set up, I could then control Vic via PC, mobile phone/tablet, or allow him to be fully autonomous which for me was always the best and fun option and what made him a full on robot, by definition.
LCD Display:
To connect the LCD screen to the i2c port on the EZB, I connected the SDA, SCL and ground leads to the i2c port, and ran the Vcc through a voltage regulator to a digital pin. To get it to display information, open a script manager, then write a script for each thing you want it to say. Below are three examples I used using three seperate script panels...
EZB battery voltage:
Current time:
EZB CPU temperature:
Scrolling LCD Message:
Reminders:
Here’s a quick example of an EZ Script where Vic tells you to take medication…
Smoke Detector:
This is an example where if smoke is detected using his onboard smoke/gas sensor, Vic will warn you (assuming the sensor is connected to analogue port number 2)…
Sound Sensors (Vic’s Ears):
This script will turn Vic’s head either left or right if sound is heard (from a set level) from the cosponsoring direction (assuming the sensors are connected to analogue ports 6 and 7 and the head left/right servo is connected to digital port D1)...
Eye Blink:
This is a shortened version of the script that makes Vic’s eyes bling at different intervals. This can be made longer by copy/pasting then changing the intervals for a more natural look. (assuming the two eye LEDs are connected to digital ports D19 and D20)
Saying the Time:
Vic will access system information and get the correct time and tell it to you. You can trigger this manually or add it to a speech recognition response…
Custom Mobile App:
Vic’s autonomous abilities were as entertaining as they were useful, but there were times where manual control was needed. I used the removable mobile phone as a remote control to get Vic to do things manually. To do this, EZ-Builder has the ability to create your own mobile app which you can use on an Android or an Apple iOS smartphone or tablet, or on a Windows computer. It gives the ability to add a lot of the features of the main EZ Builder software and you can make your own buttons etc.using paint programs or apps so you can give the overall UI your own unique look. The one made for Vic seen in the attached screen shots was a collaboration between myself and my friends 9 year old daughter, mainly she designed it and I helped her put it all together and make it functional.
The background colours and app buttons were all made using Microsoft Paint which has limitations, but with some lateral thinking you can make some fairly good things. The control buttons where scripted as toggle buttons as it saved a lot on screen real estate on the app screen where you don't have to have separate On and Off buttons for example. Here is an example of a simple movement script, press once to move forward, then press again to stop...
This above script uses a variable and needs to be set first off. You simply do this by placing a script in the EZ Builder connection control that only runs once during start up, and is as follows...
Most of the app buttons are set to toggle their controlling features. Not seen in the photos as it was added later, was a camera window which worked great as part of a home security system and checking on pet’s etc. as you could also access Vic via a cellular connection so you could be out of the house and still control him. Once you have finished designing and programming your new mobile app, you can save it to EZ-Robots "Cloud" server where you can access your app on your smartphone or locally.
Personality (AIML):



With the likes of ChatGPT, Gemini, CoPilot and other large language models (LLM), AIML has become a lot less relevant for giving a robot a personality, but it is still available and a good way of having a robot personality stored and accessed online, there are ways to store and use your own AIML bot locally without having to rely on an internet connection. Pandorabots legacy models found using this link...
https://www.pandorabots.com/botmaster/en/~1fc02ea107b515a53532ea8b~/home?expired=true
This still functions very well, but they do require a lot of work to give a robot a large personality and relevant database. A lot of copy paste and editing is a quicker way of making a database with asking a single question multiple ways (What’s the time, What is the time, Do you have the time, What time is it etc.) and then to get either a single response or multiple similar responses. The more you put into it, the better it becomes, but it is very time consuming and you have to be careful you don’t repeat the same responses to different questions (unless you do it correctly) as your bot will get stuck in a loop, respond in gibberish or not respond at all. Although as AIML and Pandorabots is open source, there are free Full AIML personalities available which you can use as is, or customise and save it as your own which makes life a little easier.
It’s not for the faint of heart, and with the emergence of AI and LLM’s with the ability to now create custom GPT’s with custom default personality and/or knowledge prompts, This would be a far quicker and more elegant way of creating a proper AI robot personality.
But that said, I would like to give a short example and explanation of a simple AIML segment. The following starts with a question you could possibly ask your robot, then the robots response follows…
An AIML file starts with the <aiml> tag and ends with the </aiml> tag. The <category> does exactly that, sets a category for the conversation subject matter. The human input, what you would ask/say to the robot fits in between the <pattern> and </pattern> tags and the robots response fits in between the <template> and </template> tags (the tags without a forward slash “/” is an opening tag, and with the forward slash is a closing tag). The following link is a full tutorial I wrote that goes through the whole process of making, editing and publishing a Pandorabot, as well as showing you how to add and use the Pandorabot control panel and how to control robot actions using AIML...
https://synthiam.com/Community/Tutorials/Pandorabot-tutorial-16321/1
Conclusion:
.PNG)
.PNG)
.PNG)
.PNG)
.PNG)

.PNG)


So dear reader, this brings this Instructable to a close. Although not being used now, Vic is still about and still bringing a smile to his owners face which I am really pleased about. He was a really fun build, it helped me learn some new skills, and helped my friends daughter with her communication and emotional challenges. My friend did let one once that the way his daughter responded to Vic bought a tear to his eye because he was seeing such a positive change he and his wife both were hoping for but was never sure would happen. So this fun, silly, rough around the edges, made from scraps robot made his way into a lot of peoples hearts, and is a project I am proud of to this day, and it’s funny how all of the memories and emotions of building and interacting with this little guy have come flooding back while writing this Instructable.
So I hope that this project will help inspire you to make something similar and open up the possibilities of building a robot like this holds. I posted some videos, a photo/video build montage, a dance routine and a fun Easter egg skit (I admit, Vic wasn't quite strong enough to crack the egg on his own, and needed a little pre filming help lol), which my friends daughter helped with, so I hope you enjoy them. I did have a full demo video but unfortunately has gone missing, but my Ev-B4 Astromech and K-9, 2.0 robot projects that uses the same platform have their own demo videos and gives you a good I dear of Vic’s capabilities.
If you have any questions then please do ask and I will do my best to rack my brain and answer the best that I can. So please share your thoughts and opinions, and let me know what you think of the little guy. It’s pretty cool what you can do with a broken cooker, an old vacuum cleaner, some rubber hose, a little bit of lateral thinking, and no 3D printer.
Thanks for reading.