Upgrade to ARC Pro

ARC Pro will give you immediate updates and new features needed to unleash your robot's potential!


@David... When I have some time I will sit down and really have a good look at this.... Sounds like something I could really use with my inMoov project...

Thanks for your work on this..


Does this work with the Android ARC app as well?

United Kingdom

I second what Richard said. Thank you for sharing this. I have been following your posts regarding EZ-AI and I will have a good look at the project myself in the next day or so as this is something I could use in my next project. I wish I had your skill to do something like this myself. You have done well putting this together. Great work David. :)


@JStarne, no. My son is working on that though. I dont have a lot of experience with programming Android, but it is something that I will look into.

He is working on a project that revolves around speech recognition and databases on the Android. When he gets done, I am going to buy him a few dinners and pick his brain.


d. Cochran, I am interested in your application, but I need time to understand. I 3rd that. You are offering something I want, but I am not on your level of pc communication. I am building a new bot that I want to have more communication and awareness, like you are doing. Thank you for your work. Steve S


@d.cochran , Thank you for taking the time to write this add on for ARC , very cool. That's really a "dream" for my various robotic projects to communicate together dispute being separate units. The Android addition makes it even more valuable.


I have fixed the install process to handle adding activities to the Activity table as a part of the install so going forward this isnt an issue for those that install EZ-AI..

If you have already installed EZ-AI prior to the date of this message, you have one of two options Option 1.
You will need 2 files to run a patch to do this for you.

you will need to grab these two files and place them in the correct location.

PopulateActivityTable.BAT can be placed in the C:\EZ-AI directory

SetupActivityTable.SQL can be placed in the C:\EZ-AI\Install directory.

Once these two files are in place, start the PopulateActivityTable.BAT by double clicking on it. Your Activity table will be populated with the the values that are listed in Option 2.

Option 2 An alternative to doing this process is to manually make these entries using the EZ-AI interface.

Check Dates 1440 1 120 Timers 1440 10 120 News 1440 14 120 Weather 60 14 120 Traffic 60 16 120 Reminders 1440 1 120 Rhymes 10 0 6 Songs 5 1 120


This looks very cool and I hope the Android features come soon. I want to use a smart phone for my robots brain.


Hi David, did something change? After I got your new updated and installed when I run the ARC it always asks to run the EZ-AI.exe file and continues to pop up to and asks to run. When I say ok it just continues to pop up.

I'm I doing something wrong or am I missing something?

Thank you.


Are you using my sample project?

Are you saying that ARC is launching ez-ai?

Do you have team viewer installed? If so, I can connect and see what is happening.


Thank you. bty i sent you an email


We were able to get things going for Merne. We also discovered a bug in one of the screens that I will work on correcting today.

Merne, I want to thank you for allowing me to see what was happening. I also think I will take you up on that offer from last night. It will let me focus more on programming.

I should have a new version out this evening.


David has gotten his database going on my pc and has found one last bug, which he will sqush. other than that, David's database, in MHO will add great features to EZB! Maybe even revolutionize how everyone uses EZB and and their robots.

Thank you again David for your awesome database and your help configuring it.



There will be a small patch to the database and a new executable. I will get with you this evening. After we know this fixed the issue, I will make changes to the install.

Thank you for helping to find these.


The patch was put in and the issue resolved tonight. I will put out modifications to the install tomorrow for anyone else who want to use this. I am looking for other ideas as to what to add. If you have any, let me know.

As soon as possible, I will be using this on an inmoov and an xlr1. My wife and daughter are actually getting interested in ez-robot because of what EZ-AI adds to ARC. I have been able to show how this can be useful to them. This may open the purse strings a bit more:)


Here are the next changes that I want to put in. I dont know when they will be done but, its my plan anyway

Add screen to see ActivityLog data and allow the user to clear the log for certain users or truncate the log

Add screen to see SongLog data and allow the user to clear the log for certain users or truncate the log

Add screen to see RhymeLog data and allow the user to clear the log for certain users or truncate the log

Change usp_GetNextActivity to account for songs being disabled in ARC

Redesign the FamilyRelationship screen to make it more usable.

Find logo and image for EZ-AI

Add help screen with version and contact information

Add screen to allow users to input data into the TimerEvent table to allow keyboard entry to set timed events for themselves or others. Its easier than doing this via voice commands but voice commands in ARC will still be possible.

Allow more than 50 characters for the Reminder.Text field and TimerEvent timer description fields.

United Kingdom

David, really great work you are doing here! You asked for other ideas of what to add, this is only a suggestion but how about adding associative memory to your Ai system?

Here is a video of associative memory running on our Ai core, its pretty useful.



That is great. It wouldn't be hard to add. I would have to put in a module to go scrape websites based on the questions. That is a great idea.

This is one of the great things about ARC being a PC based application instead being compiled and pushed to a controller. Being able to access multiple websites to harvest data gives the app so much "smarter".

Thanks for the recommendation. It is a great one.

United Kingdom

David to assist you with the module, our Ai uses START (by MIT) which is a natural language question answer system, have a look it is really great!

The great thing here is that the (answer) data comes back in a form that is easy to parse.

Because our Ai is Dragon DNS speech recognition based, I can ask for anything in speech (when in dictate mode) and the Ai attempts to find the answer via a smart parser. Doing this with Windows speech recognition (engine 6) will not be so easy as its dictation mode (for me anyway) does not work so good.

Our Ai also uses Freebase which is a cut down version of Wikipedia for knowledge based systems.

Hope this helps.




Don't want to hijack the thread, but question about using Dragon DNS. Do you have a Nuance developer license, or have you found another way to tap into Dragon Dictate without using their API?

I would LOVE to use Dragon on my EZ-B robots, but I doubt it is worth having DJ pay for Nuance developer licenses which would only be used by a small percentage of users, and he has enough on his development plate to worry about...



A new version of EZ-AI is available. If you have already installed EZ-AI, download this zip and unzip it in the EZ-AI folder. Open the Patch folder, and then the Patch folder under that. Run the Patch1001.bat file. When you are finished, you can delete the patch directories if you would like. Patch

These items have been addressed/added.

Added screen to see ActivityLog data and allow the user to clear the log for certain users or truncate the log

Added screen to see SongLog data and allow the user to clear the log for certain users or truncate the log

Added screen to see RhymeLog data and allow the user to clear the log for certain users or truncate the log

Changed usp_GetNextActivity to account for songs being disabled in ARC (see the sample project).

I put in an icon and image for EZ-AI and listed the version on the intro screen.

Made change to allow for up to 4000 characters for the TimerEvent name field which is used when reminding a user of something.

Added a screen to allow users to input data into the TimerEvent table.

Added a help screen which has some use information on it at the bottom along with install instructions. I will be spending some time on actual instructions in the near future.

I have also updated the souce code zip file and EZ-AI.ZIP on, and updated the ARC project to handle these changes.


@Toymaker I will definitely check this out. Thanks so much for pointing me in this direction.



On freebase, I dont know if you are using their API's or not. I have decided to tackle this after March 31'st because they are discontinuing the API's at that time and replacing them with something else.

freebase api support

I dont know Googles plans but it looks like they have something in store. Their apps on their site are ending at about this same time.

I will look into SMART more, but for some reason, when I post a query, I am not getting back the results. I am still looking into it with the help of the wonderful people at your local internet.


I love that robots can listen to us and talk to us. My dream is for my robot to be like a friend that is fun to be around and educational at the same time. That would make him great for children. My sister's grandchildren already love my robot. Him talking with them about things they love would be even fun for them. Education could be made so much more fun if their robot friend was teaching them something everyday.



If their faces were trained in RoboRealm avm, and if you had ez-ai installed, you could use a couple of features of ez-ai to do this.

Reminders can be setup to tell or teach them something on a timer. This could be setup to run every minute to every year if you want.

Rhymes can be used to tell or teach them something that would be repeated later after all of these "rhymes" have been told to them. All of these are spoken based on the age of the user.

Songs can be used to play an mp3 or wave file to teach them something that would repeat later after the rest of these "songs" have played. Each song is based on the users age.

Another possibility is to add an event timer which would tell a specific user a message. Once the message is spoken, it won't be repeated.

I want to think of a game to program into ez-ai but haven't come up with a good enough idea yet. The thought is that the same question wouldn't be asked to the same user until all of the possible questions have been ask. I don't know if I want this to be a star wars trivia game or something like a math game. I kind of like the star wars trivia idea but I want it to be more educational.

Robot trivia could be cool though.

Adding an engine like Tony mentioned would be cool for more interaction with the robot.

Another thought I had was to allow the database to store animation names from ARC. This would allow you to specify an animation to run based on the action that is returned from EZ-AI to ARC.

United Kingdom

David, about playing games with your Ai, this is a very old video (2006) but we linked in an AIMEC robot to and got it doing a bit of mind reading! It is great fun, for me it guesses the right answer about 95% of the time.

Alan, yes we are a DNS developer and it does cost some money to be one, but you do get great technical help from Nuance. I guess the problem for EZ-Robot users is that it is probably going to cost them a hundred bucks or so to have that option where the Windows speech recognition is free.



Thanks Tony,

Yeah, I work with Nuance on an enterprise level, and their support is fantastic. I would be willing to pay the extra, but then again, I already have DNS 13. In some ways it is too bad that DNS changed their model when Nuance bought Dragon. They used to be SAPI 5 (until I think version 8). Of course, at that time Windows speech reco was unusably bad....



I've added a star wars trivia game to EZ-AI. I will have a video up tonight.

Right now the question pool is only 20 questions. I will be adding more questions and adding more games soon.


EZ-AI Star Wars Trivia example.

I also created the screen to add/edit/remove Star Wars trivia questions which is shown on the second video.

This obviously doesn't have to be Star Wars trivia but can be anything that you want in the form of multiple choice or true/false questions. It records how you did on this one "Test" and also calculates the overall percentage of all "Tests". This could be used in schools, especially for children who have special needs and find it more comfortable to be quizzed by a robot instead of by a human. Like other parts of EZ-AI, the questions are not repeated until the user has gone through all of these questions. Right now EZ-AI pulls the next 10 questions from the question pool and uses these for the current game.

Tomorrow I will work on having the game be able to start some sound at the beginning and then do something if the questions answer is wrong or right using the SoundBoard v4 control I think. I will think about adding the option to run an autopossition command value for each item in the database. This will allow different servo movements for everything that comes out of EZ-AI if you want to set that up.

BTW, this was done with under 100 lines of script in ARC but I think I could get it closer to about 75 with a bit of work. I will publish the sample project as soon as I publish a new EZ-AI. The toughest part is going to be the update scripts for anyone who already has this installed, but I have a day and a half before I go out of town and will try to get everything finished up and a new version available. If you want this, please wait until version is available.


I just don't have it in me today to be very creative I guess. I did add some sounds to the game but that is about it. I have published the sample project and the install for EZ-AI has been updated. I will put together an upgrade script at some point soon. I just do not feel like doing it right now, so it is going to wait for a bit.

i really need to purchase Redgate Database Compare and their data compare products. It will make the process of identifying the changes to the database and what needs to happen in the scripts to build the updates far easier. I use it at work, and now it looks like I will be buying this.


The patch is available to add the Star Wars game to EZ-AI. Visit to download it or for a new install. Patch file is close to the top of the page.

The latest sample project with the Star Wars game in it is available HERE


I've been looking at Dragon Naturally Speaking to add more options to EZ-AI. The question I can't seem to find an answer to is if the ability to program against the DNS API is included in the Professional version of DNS 13 or if I would have to buy the SDK?

The pros to buying the SDK that I see are Example code Documentation Ability to redistribute the DNS dll's with EZ-AI meaning that others who use EZ-AI wouldn't need to have DNS installed

The con is that the SDK is $5000.00.

If I could use the professional version Pros The cost is about $700 Cons are No example code No documentation Anyone who uses these features would need to also purchase DNS and I don't know if it would have to be the pro version or not at this point.

I am adding a chat bot like ALICE to EZ-AI. DNS will make it much better to use and it would be on your network so it would be much faster and your own.

I will be adding the ability to pass text that is spoken to a variable in ARC. This could be used to do anything in ARC and would complement the speech engine in ARC.

I will be adding the ability to browse web sites and search for data on the Internet about spoken words.

More things will come based on requests.

The purchase of the SDK would require me to start charging for EZ-AI to help cover the cost of the SDK. I would be willing to trade 3d printing or other things that will allow me to continue building robots. The $5K would eat into my funds that I have put back to buy 3D printers and controllers, servos, etc. it would however allow me to distribute this work far easier.

I am looking for the level of interest that there is in this project so that I know which direction I should take this. If you are interested in using EZ-AI, and would be interested in trading for this app, or would be willing to drop say $50.00 to $100 on it, please post. I appreciate it.


@ d.cocharn. i thougth you were out for the weekend. :) i'm in for the 3d parts we talked about last week and in to help cover some costs. i down loaded the patch for the star wars game but get errors on opening the database for adding questions and answer in the database. i know i could not afford this alone so hopefully others will help.


I just got done with my massage. I'm out and didn't bring my computer but the iPad is here:).

I'll chech the script for pushing the questions Monday night. I let another program script that part instead of doing that part of the scripting myself. I'll write it and get it to you on Monday.


I would certainly be willing to pay between 50 and 100 to be able to use DNS with my robots. Pretty sure you need the SDK for what you are looking at doing.



Maybe a kickstarter would be a good way to raise the money. $100 is a bargain for good AI. We need 50 people who will pay $100 or 100 people willing to pay $50.


I got the chatbot working in EZ-AI. It will take a lot to duplicate on someone elses machine so I need to figure out how I am going to get that done, but it is working.

I also have the text that is coming back from the chat bot being spoken. I will figure out how to do an sayEZB through the application before releasing it.

I also am trying to use the System.SpeechRecognition object to try to understand what is being said and pass that into the application. This is being a bit of a pain and I need to spend some more time understanding the grammer objects. I choose the system object because it is my understanding that it uses the normal grammer objects from the windows operating system. I had hoped that this would allow a far larger speech library to use, but it is acting like it isn't loading the OS grammer objects. I may end up going with the Microsoft.SpeechRecognition object because it is easier to deploy with your application but I would need to figure out how to load a good grammer library.

I am still considering the DNS Developer kit. I just find it hard to drop the money on it. Also, I will see if the google API is available or if it is only for android.

On the android front, I just spoke to my son about how they are programming their app (using an Android and speech recognition to query a database). They have just started working on it and probably wont be done until June. I will probably wait until they learn from their programming efforts before I jump on it. One cool thing that they are planning on doing is using the GPU on the android device for the query functions. If they pull it off, that would be the route I would be going down. This will keep the CPU on the android available for normal functions.


Does that mean we will not be able to use the speech script louis wrote?


You can use that. I will pass it back as a variable to ARC so that this can be used the louis' script. I will probably add a setting in the configuration allowing the user to specify if it should come back as a variable or send it back via the ezb say or just the say command.


The chatbot is now in EZ-AI (the version I have anyway:) ). ARC launches EZ-AI now with a /C switch which starts the chat. I would recommend pausing ARCs Speech Recognition module. EZ-AI then recognizes speech and passes it off to the chatbot (which is running locally on your network or computer). The resulting text from the chatbot is passed back into ARC via the $RobotAnswers variable which can be monitored for changes and use Louis' script for chatting and moving a servo. EZ-AI uses the OS's grammer library. This will be the public version of the application and what I will continue to work on until there is enough frustration in the Microsoft implementation of speech recognition and others want something far more polished. The chatbot is communicated with via JSON which makes it far more reliable and a lot less junk returned in the response from the chatbot.

There is an EZ-AI window that will popup and show you the confidence level and what it thinks you said. You will see the information that comes back from the chatbot in the window also. The chatbot will end when you tell it goodbye.

As this would be your own chatbot(s) you would be able to add new responses in the form of AIML. There are some AIML editors out there that are about as simple as Excel to use. Because this chatbot would reside on your network or even on the machine that your robot is running on, there are no issues with network latency or with someone elses site being unavailable due to low wifi signal in an area or any other network connectivity issues.

I will polish it up a bit tonight and post a video of it working.

The current AIML files for robot responses that are loaded are AI.aiml Biography.aiml Blackjack.aiml Bot.aiml Botmaster.aiml Computers.aiml Date.aiml Default.aiml Emotion.aiml Food.aiml History.aiml Inquiry.aiml Integer.aiml Interjection.aiml IU.aiml Knowledge.aiml Literature.aiml Luckyslots.aiml Money.aiml Movies.aiml Multiple.aiml Music.aiml Parts.aiml Philosophy.aiml Predicates.aiml Reduce.aiml Reductions.aiml Religion.aiml Salutations.aiml Science.aiml Spam.aiml Sports.aiml Stack.aiml Stories.aiml That.aiml update.aiml Wordplay.aiml

Yours can be very different and can also have information added as you see fit through the UI that comes with the chatbot.

Until then...

United Kingdom

This is fantastic. I've been looking for something exactly like this, and especially using AIML, as I have 2 years worth of files I have edited and created using Pandorabots that I have saved as backups. As good as Pandorabots is, I have been looking for something that resides on my machine to avoid service dropouts like you mentioned. Thanks so much for doing this. Great work.:D



Install video has changed. visit for the install video.


EZ-AI has been posted on It includes the chatbot feature. I am trying to write a document explaining the install process for this piece of the install.

The chatbot piece of this install is a pain to write an install document for. I am going to go through it and install it on a non dev machine before I would recommend you downloading it. Just so you can see what I am looking at... This isnt complete but gives you an idea of what you're in for.

Steps to install the chatbot To use the chatbot you will need Program-o which requires that you have a MySQL Instance installed. MySQL can be downloaded from MySQL. It is advisable that you get PHPAdmin for MySQL from phpMyAdmin but it isn't essential. Follow these instructions for enabling IIS (the webserver that is in windows) You will come back to configure IIS for PHP and for your website after the program-o install. For now, just have it installed and running. Install MySQL using the options left in this document below. I have removed the ones you do not want to choose. Screen shots of each step of the install can be found at

Upload the files to your server, to the directory of your choice.

step 2 - Create the Database

This step will vary, depending on whether you're installing locally or remotely, and also on where you host your remote installation.

For local installation, access your local MySQL database server through the tool of your choice (e.g. the MySQL Toolkit, phpMyAdmin, etc.), create an empty database and note the name; then create a user/password for that database with full permissions.

For remote database creation, it's highly recommended to contact your hosting provider for details. Often times you will need to log on to a "Dashboard" or "Control Panel" page in order to create the remote database, and there are literally dozens of different versions, each with their own way of doing things, so trying to outline remote database creation here would be near impossible.

Please note that we STRONGLY suggest the use of phpMyAdmin for monitoring, maintaining and working with your database IN ADDITION to the admin pages. The vast majority of hosting providers offer phpMyAdmin as a part of your database package, so contact them if you're unsure about whether you have it. For local installations of phpMyAdmin, visit for detailed information on installing and usint this very powerful and easy to use database management tool.

MySQL Installer simplifies the installation and updating process for your MySQL products on Microsoft Windows. From this central application, you can view, remove, update, and reconfigure the existing MySQL products on your system. MySQL Installer can also install plugins, documentation, tutorials, and example databases. The MySQL Installer is only available for Microsoft Windows, and includes both GUI and command-line interfaces. The supported products include: MySQL server (one or multiple versions) MySQL Workbench MySQL Connectors (.Net / Python / ODBC / Java / C / C++) MySQL Notifier MySQL for Excel MySQL for Visual Studio MySQL Utilities and MySQL Fabric MySQL Samples and Examples MySQL Documentation MySQL Installer is also installed and remains on the system as its own application Installer package types Full: Bundles all of the MySQL products (including the MySQL server). The file' size is over 200MB, and its name has the form mysql-installer-community-VERSION.N.msi where VERSION is the MySQL Server version number such as 5.6 and N is the package number, which begins at 0. Installer editions Community edition: Downloadable at It installs the community edition of all MySQL products. MySQL Installer is compatible with pre-existing installations, and adds them to its list of installed components. While the standard MySQL Installer is bundled with a specific version of MySQL Server, a single MySQL Installer instance can install and manage multiple MySQL Server versions. For example, a single MySQL Installer instance can install (and update) versions 5.5, 5.6, and 5.7 on the host. Note A single host can not have both community and commercial editions of MySQL Server installed. For example, if you want both MySQL Server 5.5 and 5.6 installed on a single host, then both must be the same edition. MySQL Installer handles the initial configuration and set up of the applications. For example:

  1. It creates initial MySQL Server connections in MySQL Workbench.
  2. It creates the configuration file (my.ini) that is used to configure the MySQL Server. The values written to this file are influenced by choices you make during the installation process.
  3. It can optionally import example databases.
  4. It can optionally create MySQL Server user accounts with configurable permissions based on general roles, such as DB Administrator, DB Designer, and Backup Admin. It optionally creates a Windows user named MysqlSyswith limited privileges, which would then run the MySQL Server. User accounts may also be added and configured in MySQL Workbench.
  5. If the "Advanced Configuration" option is checked, then the Logging Options are also configured. This includes defining file paths for the error log, general log, slow query log (including the configuration of seconds it requires to execute a query), and the binary log. MySQL Installer can optionally check for updated components and download them for you.

Add instructions for configuring IIS to allow PHP

step 3 - Run the installer

All that's required is that you point any major web browser to your newly created Program O directory (e.g. and the install script will do the rest. Just follow the prompts, and supply the necessary information in the forms provided.

step 4 - Upload the AIML files

To perform this action when the installation is complete, go to the admin page (e.g. and log in with the admin credentials you provided during the installation process. Then select "Upload AIML" from the left nav menu and follow the prompts.


I decided to also include the module that allows you to ask questions to Wikipedia basically. I'm wrapping that up now and will have a video of it tonight.

United Kingdom

David, good to see you using START, as I said earlier in this thread we have been using this for years with our Ai to great success.

You are doing some really great work here, your EZ-AI is getting more powerful every day!



@David... I have been following this thread here and there... So my apologies if you have already done a complete install guide... I would be starting from zero, so a complete step by step guide to get this up and running would be seriously appreciated....

Cheers Richard


The install guide is on with the exception of one thing. My plan is to update it today and test it with a virgin install on a computer. Please wait until I have a chance to do this so that I can check for bugs.

The only thing left to write up is how to setup the chatbot to run in IIS. IIS is a bit of a pain.



Thank you for the compliment. It will take some time to get anywhere close to what yours is, but I have some time. My robot parts will not show up for a few months so I am focusing on EZ-AI.

I think the next thing that I am going to work on is reading UPC codes to identify items with UPC codes. There are some international upc code databases and I am not sure if I will house these in the local database or if I will use one of the sites on the internet to do lookups. I plan on working on this over the weekend.

United Kingdom

David, what a great idea reading UPC codes to identify items . It reminds me of a great toy bought out by a company in early 2000 (that I have also licensed to Radica) called Skanners. This game unit reads product barcodes to give you an interactive battle game. Monsters are obtained by scanning a products barcode, so a tin of baked beans could give you quite a fight! Here is a link



Thanks David.... I would like to incorporate this into my inMoov if possible....


I have 1 hour and 33 minutes of install footage to edit and get put into a usable format. I figure a video would be the best way to do this. There are a lot of dependencies that EZ-AI uses that are not packaged up in one neat install. Getting Program-o working is a pretty large portion of this install. If you are not going to use it for a chatbot, the install isn't too bad. If you are, it takes a pretty fair amount of configuration on your machine.

I will post the video here and on


The install video is building now. It involves installing all of the following components

EZ-Builder My sample project MSSQL server MySQL Program-o chatbot Python php IIS and configuring it to use php EZ-AI

It goes through the configuration of each program. There is a lot that makes EZ-AI work. I will put out a new zip with a couple of fixes tonight or tomorrow. I would wait until I tell you these fixes are in EZ-AI before attempting the install.


a new version is posted with the install bugs taken care of. The current version is


Lol, with all of this I realized that I forgot RoboRealm and the avm module. You will want to get those and install them too.


@d.cocharn, the php site does not work. the site does not have 5.6.5 it does have x.x.6 can you please have a look.

thank you.


EZ-AI now has the ability to search through a database of over 20 million items to match UPC codes. I am using RoboRealm to look for these codes, and pass them back into ARC as a variable. Then I call EZ-AI \U [the upc code]

It will return the product description back to ARC in the $RobotAnswer variable.

There will be a minimal amount of setup that you will need to do to get this working. I will post a video and an install for this weekend after testing on multiple items.


Well, there is good news and some bad news on the upc module...

Good news, it is working. Bad news, the v4 camera isnt high enough definition to give good results. My laptop camera works good so, you might need to use a USB camera if you want to use this.

The other bad news is that even though the database that is being used for this has over 20 million items, it only detected 1 out of 5 items that I tried so I will shelve this for a bit and try to find a better conglomerate list of items for my area. This would probably work great in Europe. I will put a line in the config file to allow you to specify which database you want to hit. This one was good because it allowed me to use JSON to access it. I probably wont have time to look at it more until this weekend. I will wait to publish the exe with it until later on in the weekend.


A new install video is building now. It involves installing all of the following components. It will be available to view this afternoon and will be posted. It is the same as the one done a couple of days ago with the exception of about 5 minutes of additional instruction starting at about 1:26:00. It will take 3 hours to upload it to youtube and probably 2 hours for them to process it.

EZ-Builder My sample project MSSQL server MySQL Program-o chatbot Python php IIS and configuring it to use php Roborealm Configuration of EZ-AI for your environment EZ-AI

It goes through the configuration of each program. There is a lot that makes EZ-AI work. There is a new zip file containing version which includes the UPC Reader. There is a new install video including Roborealm and configuring your API key code for the UPC search module.

As mentioned earlier, the UPC reader through roborealm doesn't work well at all with the EZ-Robot V4 camera due to resolution of the camera. I have tested with my laptop camera and it works well.

If you have tried the install and need any help, please let me know. There really isnt any patch needed to go from to just copy the files with the latest date to your folder (except the ez-ai.config file). Make a change to your EZ-AI.Config file to include the added lines from the one that is in the zip and watch about the the new install video from 1:30:00 to about 1:32:35 to find out how to get your own API key code for the UPC search module.

United Kingdom


Thank you for the updates. I had some time on my hands today, so I thought I would follow your video tutorial to try and install everything necessary to install EZ-AI. I did however run in to a couple of problems.

I'm trying it on a 64 bit machine with only 4 G ram, so I selected the 32 bit instal for MySQL as you suggested and it wouldn't except it so was unable to complete the download. I tried again using the 64 bit download and it worked.

When trying to select "custom user" on MySQL, it will not accept my username of password, so I could only use "Standard System Account" option.

Final issue which is where I'm stuck now and can't go any further is with MySQL again. When I expand to the MySQL notifier, the menu you have in the video is different to mine, as I don't have the option for "Configure instance".

User-inserted image

Any ideas to why this is buddy?



What does it show under actions? I assume that it only shows stop, restart and start actions. What does it show under Options?

MySQL isnt what I am the most familiar with. Let me do a bit of digging.


It looks like the MySql Workbench wasn't installed probably.

The standalone download for MySQL Workbench is available at

MySQL Workbench can be installed using the Windows Installer (.msi) installation package. The MSI package bears the name mysql-workbench-community-version-winarch.msi, where version indicates the MySQL Workbench version number, and arch the build architecture (either win32 or winx64).

To install MySQL Workbench, right-click the MSI file and select the Install item from the pop-up menu, or double-click the file.

In the Setup Type window you may choose a Complete or Custom installation. To use all features of MySQL Workbench choose the Complete option.

Unless you choose otherwise, MySQL Workbench is installed in C:%PROGRAMFILES%\MySQL\MySQL Workbench 6.2 edition_type, where %PROGRAMFILES% is the default directory for programs for your locale. The %PROGRAMFILES% directory is defined as C:\Program Files\ on most systems.

United Kingdom

Thanks David. I'll have a look at it again when I get some more time. I can't remember what was under "Options" and I'm not near my laptop right now, but nothing like "Configure instance" was available. I might try this again in a few days as I've got a new 8 Gig 64 bit system arriving in a couple of days. I'll let you know how I get on.:)


Steve, If you would like me to skype and use team viewer to help you get everything setup, send an email to You are the second install outside of my own tests so it might be easier. I would need your skype ID and team viewer ID along with the password you have setup in team viewer.

United Kingdom

Thanks for the offer David. I've got to go away for work commitments for a couple of days so I'll be in contact when I'm back.


I'm looking into the Google maps API considering adding it to EZ-AI. I think the way I want to implement this is to have the robot identify the route based on asking you a couple of questions, then offer to either speak the instructions or print them to your default printer. It might take a while to implement this but it is another useful bit of informative data that could be added.

I am also looking at the Skype api to allow the robot to become a telepresence robot.


I added a couple of features. EZ-AI has memorized the Bible and is ready to share verses with you by using the /B switch. Simply say the book, Chapter and from verse and to verse and EZ-AI will pass these back to ARC.

EZ-AI now has all of the cities of the United States memorized and knows how to get to them. You can type in to and from addresses anywhere in the word, or speak cities in the United states and It will give you driving instructions (which you can request to be printed). You speak the name of your from city and state, and then your destination city and state, and then "Get Directions" and EZ-AI will get directions for you and pass them to ARC. Once the directions have been retrieved, you can also say Print Directions and EZ-AI will send these directions to your default printer.

Here is a complete list of the functions available through EZ-AI. /I open the EZ-AI interface. /P use the email checker process which tells you how many new emails you have since it last checked. /D uses the database to store or retrieve data from it. This is used by EZ-AI for many of its abilities. /R use to get an RSS feed, parse it and return the results back to ARC /C use the chatbot /W use the Wikipedia (smart) query. /U use the UPC code search. /B Gets verses of the Bible for you upon request /M gives you driving directions. Only United States cities are populated at this time. You can key in any addresses regardless of country. I will start working on the Skype interface next. I will have the next version available for download after I attempt to add the Skype feature.


I haven't started working on the Skype interface yet. I wanted to get the last 2 parts buttoned down a bit more. There is a new install on and a new patch for those who have installed this already. This is a large download compared to the others because it contains a list of all of the cities in the world which is then loaded into the Cities database. Once you have this installed, feel free to clear out the Install and Patch directories under C:\EZ-AI to free up some room.

The download now is up to 6.71 meg because of the need to script out all of the inserts for over 80K cities.

Here is the new usage information. I added a couple of features to the /B and /M options


Just starting EZ-AI will take you to an outdated help file. I will be working on correcting that. To use EZ-AI you need to pass parameters into it. These are as follows:

/I open the EX-AI interface.

/P use the email checker process which tells you how many new emails you have since it last checked. The EZ-AI configuration file has EmailServer, UserName, Password, and LastTimeEmailChecked values that will need to be configured to use this feature.

/D uses the database to store or retrieve data from it. Please see the Example Project for examples of how to use this feature.

/R use to get an RSS feed, parse it and return the results back to ARC Please see the Example Project for examples of how to use this feature

/C use the chatbot This requires Program-O to be installed to use this feature. It requires that you install IIS, MySQL, PHP and Python. Saying Goodbye will close the chat.

/W use the Wikipedia ( query. Just speak the question and Wikipedia will be searched for information on the topic EZ-AI understood you speak. Saying Goodbye will close the wikipedia search.

/U use the UPC code search. The EZ-AI configuration file has a UPCServer value which needs to be changed to your APIKeyCode from Saying Goodbye will close the UPC code search.

/B Gets verses of the bible for you upon request This has 3 modes. /B normal will use the normal interface /B daily will get the daily verse from the Bible. /B random will get a random verse from the Bible. After saying the Book Chapter and Verses you would say read verses to pass the variable back to ARC. After getting the verses, you can say Print Verses to print out the verses that you just retrieved. If you make a mistake or EZ-AI misunderstands what you requested, you can say Make Correction and the form will be cleared and you can start over. Saying Goodbye will close the Bible search.

/M gives you driving directions from Google Maps. There is an extensive list of cities that are populated in the cities table in the database. EZ-AI configuration file has a DefaultContenant value which is used to limit the cities to a specific continent.
EZ-AI configuration file has a HomeAddress value which allows you to say home to populate the field with this value. EZ-AI configuration file has a EZRobotAddress value which allows you to say EZ Robot to populate the field with EZ-Robots address. EZ-AI configuration file has a GoogleMapsAPIKeycode which needs to be modified with your own Google developer APIKeyCode Saying Goodbye will close the Directions search. Saying Get Directions will send these directions to ARC. After the directions are retrieved, saying Print Directions will print these directions to your default printer. If you make a mistake or EZ-AI misunderstands what you requested, you can say Make Correction and the form will be cleared and you can start over.

/S launches skype. Their API isn't worth messing with.

I am working on another feature to allow the robot to be a telepresence robot through Skype.

Please download the Example Project to see uses of these in scripts.

United Kingdom

Thanks for the update. David you are putting a lot in to this. Good job. I look forward to getting this downloaded.


I like the fact Mr Cochran that you put the Bible verses in there. Good job.


It looks like Skype integration is pretty weak at this point. You can use the /S switch to launch skype but their API is outdated at this point, so other than launching skype, that is all that I am adding for it at this point.


I am looking for a food recipe site with an API. wants cash so they are out, and seems to be having problems issueing an API key. Both allow you to build shopping lists based on the recipes the you choose. This could be cool as the robot could then print out the items needed for the recipe. The BigOven API looks pretty cool, but their site is broken.


I love it when you step away from something and an idea hits you right between the eyes. The Chatbot has been bugging me. The dictation dictionary in Windows in pretty bad. It is much better to use a dictionary that is of a set number of words. Chat bots can go off in any direction so it makes it difficult to do this.

Because EZ-AI uses a local chatbot which is running off of a database, I am able to pull the phrases that can be said from that database (the AIML) as the program loads. This has taken the accuracy of the speech from about 10% to about 90% and still allows you to ask anything of the robot that you could before. Because each person has their own chatbot the speech for each persons install is going to be different so making a static list is impossible. This solution loads that persons AIML and makes it far more reliable. Because this comes from the actual AIML table for your chatbot, it gives the most usability and highest results possible. It does take a bit of time for the information to load from the database, but this is far less frustrating than the robot misunderstanding everything that was being said. It also saves me about $5,000 right now on the DNS developer license. I am sure that will come one day, but this just drastically improved EZ-AI.


EZ-AI is getting another new feature. I want to be able to use this with elderly people who need assistance from time to time. By using the /E switch in EZ-AI, the user will be asked what type of emergency this is based on a list (that you populate in EZ-AI database). When the user says what type of emergency that it is, a post is made to their facebook account requesting assistance (again based on the text you define in the EZ-AI database).

I will be adding more social media feeds but Social Media is an amazing way to get help to people in need. I have seen this first hand when people posted that they were trapped in a house after a tornado event a couple of years ago. I should have this out in a couple of days. I would recommend that you call this with something like "ROBOT I HAVE AN EMERGENCY" so that it isn't triggered by accident. You could also then have the robot ask if this is an emergency and wait for confirmation before calling the EZ-AI with the /E switch. EZ-AI will take over asking what type of emergency it is. If there is no response within 15 seconds, the robot will post the item from the database that is called EMERGENCY and the text that you have provided for this record.


Posting from EZ-AI to facebook is complete. It is a pretty cool method of getting help when someone can't make it to a phone for some reason. It is time that I make another video showing what all is going on now with EZ-AI.
This feature takes quite a bit to get setup on Facebooks side. For right now, I am going to just put the application out with this feature in it and will document the facebook setup in the near future. It involves allowing EZ-AI to have permissions to post to your wall, and requires your userid (a number that the facebook api uses) along with some other small bits of non password/user data. EZ-AI won't be able to log in as you to facebook but has certain rights that you give it to post to your wall.

I think I will put out a video tomorrow.


This with the GPS functions and your robot can help save your life when you are away from home. Someday a robot Lassie will be getting help for her owner.


@mcsdaver, you are correct. Social media is huge and if you want to get a message to your children, it seems like the fastest possible means of communication now. They ignore phone calls and texts, but put it on Facebook and they are sure to see it.

Here is a video of the Bible search, Driving Directions and Emergency Facebook post, along with a few ideas of what I would like to incorporate next.


I use JSON to query the sources of information that I am hitting on the internet. The main reason for this is that I wanted to have a very light network connection be able to work great with EZ-AI, so that I could tether a cell phone to my computer when away from the house, and still have great performance. This video shows how EZ-AI works using a tethered cell phone 4G internet connection. I was blown away by how fast this is. This makes EZ-AI a very viable solution for traveling robots.


I just "completed" a portion of EZ-AI that will allow you to use a GPS attached to a computer with EZ-AI and pass the Lat and Long back to ARC in the $RobotAnswer variable. This is intended for use by those who use an onboard computer with their robots. It says Latitude: [Lat in deg min sec] Longitude: [lon in deg min sec] which is updated every 10 seconds. It also queries Google Maps to show your position on a map every 10 seconds. I don't have GPS devices laying around my house, so testing becomes difficult. I plan on ordering another one tomorrow and will test it out when it gets in.

Your GPS could be anything that supports NMEA 0183. I specifically grab the GPGGA (fix) data (which only happens when you have a fix or good point) of this layout and convert it to deg min sec format. NMEA 0183 is a common format but not every vendor supplies the data the same. If you are in the market for a GPS for this, it was programmed using a Garmin. I can't promise that it will work with every GPS. Yours would need to be able to be seen as a com port which sometimes requires a driver, and sometimes requires a special cable.

The data is updatable at specifiable intervals. EZ-AI queries the data from the GPS every second no matter what. How often the map and how often the data is sent back to ARC is configurable in the file.

This will be in release It is the first step toward outdoor navigation.

There are some that have asked for a similar thing in the use of robotic lawn mowers and the like. The data that is passed back can be used by ARC to tell how close you are to your property line and then make the robot turn to a new direction.

If the com port can't be communicated with, there will be no data passed back to ARC at this time. If your robot quits getting updates, its probably because the batteries in your GPS have died. I would take this into account in your script that is checking for the variable so that the robot won't go rogue.

Using this method for GPS coords allows you to use a device that has a good GPS antenna and could (if your GPS has an external antenna port) allow you to place the antenna in a location that is optimal to see GPS satellites. This would improve the level of accuracy of the GPS and would probably be more likely to experience less interference from other robot components. It could also allow you to see more satellites and thus get a more accurate determination of your robots location.

The GPS that I am ordering also comes with compass and Barometric pressure to measure altitude. I dont know if I will worry much about altitude but getting the data from the compass could be useful.

I am planning on adding features to the Emergency Social media post and the Map Directions parts to allow them to get the current location of the robot. This should be useful with future endeavors including navigation and allowing your location to be pinpointed if the event of an emergency. These features will also be available in the release of EZ-AI.

#86 just issued me an API key. They have over 350,000 recipes and grocery lists and allow 100 searches an hour. Guess it looks like that is the next thing to be added to EZ-AI. I will wait to release the next version ( until this is complete. I estimate that it will be released next weekend.

So, version will have:

The beginnings of the Outdoor module (GPS navigation). Currently it will track where you are and update a map. It also passes this information back to ARC.

The ability to say "Current Location" for the address in the directions module if the GPS can get a fix on your location

The ability to say "Current Location" for the emergency facebook notify to post your lat long coords at the time that you request help. I will look at geocoding this to try to get an address as people are not familiar with lat long coords as a rule.

And possibly the ability to search for recipes and ingredients, along with making shopping lists. I haven't started this one yet so, I don't know how difficult it is going to be. You will be able to print these like you can print map directions or Bible verses.

United Kingdom

I haven't tried this yet but I will be soon. It looks pretty darn impressive!


I would wait until I get out. it has some pretty cool features. I am working on the recipe module now. This will be really cool. The outdoor mapping module is pretty cool to.

I should be getting my parts for the internal computer early next week. I will record the setup again while setting up that computer. There are a couple of other pieces that you will need to do that are not in the current video. Following the current video will get you about 99% of the way there, but wont tell you where to go get your API keys for some of the web based stuff.

United Kingdom

David, are you still looking for ideas to add to your EZ-AI? I wonder if this may be of interest? Our Ai (and robots) can control home lighting, fountain pumps etc (via X10) and it can also control televisions, radio (anything that has an IR remote control), this can be seen in this video.

Our Ai also every week downloads all the television programmes and their synopsis and this can be called up on screen. I can ask about any programme (its synopsis), when it is on and ask for it to remind me an hour before the programme starts. My Ai also knows what I like, so on a daily basis it recommends programmes that it thinks I may like. I am a Scifi fan so I get a lot of Scifi recommendations and lots of times I would have missed these shows without the Ai. The next cool thing for the EZ:1 and EZ:2 robots is if you have booked a reminder of a show then the robot will go to the TV room 10 minutes before the programme starts, turn on the television (if its off), then change to the correct channel and set the volume to your preference. Finally it will look for you to give the vocal reminder, assuming that you are not in the TV room!

User-inserted image



Tony, I would be very interested. I am running out of ideas.

BTW, I am finishing up the cooking one today (baring any unforeseen issues). If you don't have something like this yet, let me know and I will pass along what I have done. BigOven has a pretty simple API. It would be worth looking into.

Keep the ideas coming. I want to build this out as far as I can. I am sure that as soon as the parts start coming in for the robot build, this programming effort will diminish greatly. After the InMoov is built though...

Again, thanks for the ideas. Keep em coming.

United Kingdom

When you get further down the Inmmov build and you want to add lighting, appliance etc remote control to the robot, I will send over a code protected PIC that does all the work. You would have to use X10 for mains appliance control which seems to work well here in the UK, but others of the forum have said that they have problems in the US? Are you ok making up and soldering stripboard for these PIC circuits?

The TV/Radio control bit is just an IR emulator that learns the control function codes from the original remote controller and just repeats it when instructed by the PIC.



Soldering is no issue. I can even do SMC and have everything at the house to do it. I have built some SMC HAM radios before and enjoyed it quite a bit. As I get older, I use magnifying glasses to see what it is that I am soldering to the board, but other than that, I enjoy it quite a bit. I would be very pleased to include X10 into this AI. I want to automate the home anyway and what better way to do it than through a robot, right?

On the TV/Radio control, thats cool. I will probably add this in the future. It is something else that would just add more functionality and make the robot(s) that much more amazing.

Thanks so Much Tony.

United Kingdom

David, that great that you be able to knock up the stripboard over there.

I now have a huge illuminating magnifying glass for my electronics work, many years of working with fine electronics and SMT have taken their toll!

Its very cool for a household robot to control lighting, appliances etc, even from just a security point of view where the robot detects movement in the middle of the night then brings that areas lighting on. If its me getting a glass of water then thats helpful, but burglars get a bit of a shock as our robots are also linked to the house burglar system. So if the robot is not happy with the situation (or detects an attack) then all lights internal and external come on together with alarm sirens!

My whole house is X10 controlled and it has worked perfectly for over 10 years now. But as I said earlier people say they have problems with it in the US. I could hack another more modern power line injection appliance control system, which I may need in the future to look at.



So, this is where I must make a paid for version and a free to use version. BigOven allows you to use their API, but doesn't allow you to get nutritional information about the recipes that you pull back unless you use the paid for version of their API. The nutritional information about a recipe includes the following information.

SingularYieldUnit TotalCalories TotalFat CaloriesFromFat TotalFatPct SatFat SatFatPct MonoFat PolyFat TransFat Cholesterol CholesterolPct Sodium SodiumPct Potassium PotassiumPct TotalCarbs TotalCarbsPct DietaryFiber DietaryFiberPct Sugar Protein ProteinPct

For those with dietary concerns (which includes everyone in my family now...) this information could be quite beneficial. The cost to me is a monthly fee of $200.00. If you want the ability to see this information about a recipe from EZ-AI, I would have to charge something. I dont know how I would go about doing that at this time, but I assume that I will come across more of these as I add more features. For right now, I am bypassing the Nutritional information and just populating everything with 0's.

Please let me know if you would be interested in being able to see this type of information if you are going to use EZ-AI. Once I know the numbers, I will be able to figure out how I would handle it.


The recipe module is completed. I am worn out and will post a video soon. I wont release this until later in the week when my parts come in. I want to test the GPS module that I bought to make sure it is a good fit and then put in more testing on the portions that use the GPS module. I am also waiting until I get this to add the current location features to the Emergency and Outdoor mapping module.

Who knows, I am pretty pumped up. I might record a video tonight. The recipe engine is pretty cool and it has room to grow with additional features to be added in the future like being able to search for a recipe that has a specific food item in it. I am still thinking about how I would implement that.


I couldn't resist. Here is a video of the recipe portion of EZ-AI. I think it's pretty cool. Now it I could just get it to cook for me...


@David... Dude you really have been burning the midnight oil.... Try and take your time with building your inmoov . I know I wish I had of... It really is a rewarding project so string it out as long as you can. You'll be glad you did... I remember when I completed my inMoov's right hand (my first prints) I was so excited to see it work... It didn't matter that I still had 80% of inmoov to complete . I find myself now wishing I had another big project to look forward to... Maybe if I incorporate your AI into my inmoov I can get excited again as he is looking kind of lonely sitting over in the corner of my shop....


Yea, I hear you Richard. I don't have a single part for the InMoov yet, so I am working on the AI. I will take my time. @Toymaker is helping with parts that I cant wait to try. This will cause me to have to take my time and plan things out. You know how it goes though... no matter how careful you are to try to do everything right the first time, technology has a way of passing you up and pushing you to make changes with your project.

I promise you that if you put the AI in your InMoov, you will get very inspired again. A robot that has access to information, even if it isn't a ton of information is a very exciting thing. As more things are added and as they have more information or learn things it gets more exciting. I cant wait to start my InMoov. It is going to be an amazing project and something that I will be happy to show around town.


The very first thing I printed with my 3d printer was the InMoov right hand. Then I printed the left hand. After that I printed my own humanoid robot to have fun with. I will be adding your AI and X10 works fine here in the USA. I never had any problems with it. My robot turning lights on and off would be helpful. Walking in the dark causes accidents.


I agree. I just hope my wife doesn't walk into the robot...

If you need any help getting it setup, let me know. The power of the internet, along with TeamViewer and Skype is a wonderful thing. It will take some of the headache out of the install and will let me see what I need to modify on the install for others.

As suggested to Rich, I would wait until is released. It will save you from having to do a patch to get the new features. Also, I will have another install under my belt when my parts get here for the onboard computer. The install will be fresh in my mind, making it less likely that I forget something if I help install yours.

On the note of my wife, I think she will like the recipe engine. It is something that she will find useful. The more we add things like this, the more globally accepted the robots get.


Hey David.... I have do have TeamViewer installed and will eventually setup Skype too... I will catch you in a week or two when you have a bit more time...


EZ-AI is available for download. I have shot all of the video for the installation of everything. I have also worked on making the Program-O install much easier.

If you have a GPS attached to your computer... includes an outdoor (GPS) mode that tracks where you are on a map. Along with this, the GPS cords are passed back to ARC in the $RobotAnswer variable.

It also allows you to say "Current Location" for an address line in the Directions module, along with posting your location in the Emergency module. What gets posted in the Directions and Emergency modules are the closest street address to your location.

Its a pretty cool update and probably the last (except for bug fixes) that I will do for a while. I am working on something else for EZ-AI that will take a while to code. Also, I have an InMoov to get built.

The first post of this thread has been updated with the latest information about EZ-AI.


The rerecorded installation video is posting now. It looks like a couple of hours before it will be complete. You can find the installation video at the bottom of the first post. It goes through every component used with EZ-AI.


The patch to go from to has been posted to also. This is a simple patch as there were no database changes. There are some additions that need to happen in the ez-ai.exe.config file. You will find those in the EZ-AI1005.exe.config file. Copy the contents to C:\EZ-AI\ and then go into the patch folder and execute SetupDatabase.bat to run the patch.



Once I run through the video I'll probably have a few questions, can't wait to see this up and running here.

Her Ball


I am having a bit of an issue with the Outdoor mode displaying the map on my inmoov computer. I am debugging the issue and will post another exe when this is corrected. I assume that others will experience the same thing.


The fix has been published and works better than the way I was doing it. Its good to download and use but I will continue to test things out until the weekend.


I'm not happy with the gps yet.let me work on that a bit more. It puts me at my neighbors house.


Okay, I am happy with the Outdoor module. I had to put in 2 entries in the EZ-AI.exe.config file that are adjustable by the user. They are LatitudeShift and LongitudeShift. You can use these to adjust for your area. Google Maps comes close (its not really an issue with google but its easy to blame), but unless you live close to the equator, you will be a bit off. Use these adjustments to get you as close as possible to your actual location. This becomes important when you start doing navigation or using the emergency process. For Navigation, it's not that big of a deal but sending the police to your neighbors house might be...

I have put the latest files out. I will probably not be able to fix the emergency and Navigation pieces until tomorrow.


hey, D.C.,

everything looks Amazing! Does it work with the EZB 3? And, I cannot find a link to download the program. All Links are 404 error.


Interesting. i will try the download without being logged into my site. I know Merne had no problems getting to the files over the past couple of weeks but that doesn't mean that something didn't change or that I didn't mess something up on the permissions on my site.

I just put a new version out that handles the GPS better. It allows you to adjust the location that google maps displays or uses based on your location. The world isnt flat but displaying maps is so datum has to be used to have accurate readings. The GPS returns the right location but the flat world of maps doesn't quite get it.

There are a couple of values in the ez-ai.exe.config file that are used to allow you to adjust for your geographic location. Some GPS units will allow you to make the setting in the GPS unit. The puck that I picked up doesn't allow this, so I added the ability to make these adjustments outside of the GPS unit.

Trying the download now. I will let you know if I have any issues.

Also, because it communicates with ARC, any supported EZ-B will work.


I had no issue with the download, but I did find something that must have gotten broken in the last version with the GPS map and my Google API key. Let me see if I can duplicate the issue on my dev box.


These results are absolutely duplicatable. Let me dig for a bit. It worked great last night but not today. I really dislike those...


Okay, an inadvertent fat finger caused the issue. It has been fixed.


Please try the download again and let me know the results. Look in my profile and send me an email if you have any issues with the download. I can send them to you.


Well, it looks like I have finished the product enhancements for EZ-AI faster than I had anticipated....

I will post a new version of EZ-AI on 3/8 probably. It includes these things.

EZ-AI Product Enhancements General If ARC isn’t started, warn the user instead of erroring out Handle all errors more gracefully Make all screens resizable Make fields adjust in size based on the size of the window.

RSS Feed Make a table that allows the user to put in phonetically correct pronunciations of words. Build screen that allows the user to enter this data.

Outdoor Mode Navigation module that allows a user to get directions and then navigate to the location based on google API walking directions Thread getting the map and running timer

Skype i am using VSee as it is free and works great.

Cookbook Make the number of recipes returned a user definable variable.


I guess you fixed the problem, because everything went smoothly. This is a GREAT contribution to this community.




That's great news. Let me know if you run into any issues or have any suggestions.


The next version will include a NAV switch.

This allows you to do the same things as the directions switch does, but it does it using walking directions. The lat/lng points for the route are stored in table in the database called NavigationRoute. There are two usp's that can be called in ARC for navigation purposes. They are UpdateNavigationRoute and GetNextNavPoint. So the way this works, as follows.

In ARC you would use EZ-AI /D using the GetNextNavPoint stored proc, which would return to you the next point that you need to achieve to ARC.

You would store this value in a variable in ARC.

You would then launch EZ-AI /O which would start returning the current lat/lng for where the robot currently is.

You would do whatever you need to do in ARC to drive your robot to that lat/lng

once there, you would call EZ-AI /D and use UpdateNavigationRoute

you would use EZ-AI /D and call the GetNextNavPoint stored proc, which would return to you the next point that you need to achieve.


This will allow you robot get directions to a location, and then navigate to that location. While I have tested the code, I wont be thoroughly testing this until my robot is complete. This will be included in the next release, along with some other things that I will document in the first post of this thread.


EZ-AI version has been posted for download. I am working on the patch for going from to This version has the following updates. I am updating the first post.

EZ-AI Product Enhancements General If ARC isn’t started, you are warn the user instead of erroring out Handles all errors more gracefully Made all screens resizable Made fields adjust in size based on the size of the window.

RSS Feed EZ-AI has a new table that allows the user to put in phonetically correct pronunciations of words.
Added a screen that allows the user to enter this data.

Outdoor Navigation Mode Called by using /NAV switch. Navigation module that allows a user to get directions and then navigate to the location based on google API walking directions.

Outdoor mode The map gets updated in a different thread making the screen more responsive.

Skype i am using VSee as it is free and works great. Skype works also. If you setup VSee on your computers, you can set the robot to autoanswer if a specific user calls it. This is how I am using it currently.

Cookbook The number of recipes returned is now a user definable variable in the EZ-AI.exe.Config file.


The patch has been posted. These are downloadable from

To install the patch, upzip the the Install and Patch folders of the download to your C:\EZ-AI folder. Navigate to C:\EZ-AI\Patch and run the SetupDatabase.Bat file. The new application files will be copied over the old ones and the database will be updated with the new objects needed for this version of EZ-AI. You will also see an EZ-AI1006.exe.config file that contains any new keys that need to be added to the EZ-AI.exe.config file for your installation.

New keys added with are <add key ="LatitudeShift" value="-.00018"/> <add key ="LongitudeShift" value=".000334"/> <add key ="DefaultMapZoom" value ="17"/> <add key ="RecipesReturned" value="20"/>

All of these can be adjusted by you for your install. RecipesReturned is used to determine how many recipes are returned when using the Cookbook module. DefaultMapZoom value is a range from 1 to 20, with 1 being the widest zoom and 20 being the most narrow zoom. The LatitudeShift and LongitudeShift should be adjusted by you depending on where you are in the world. If you live at the intersection of the prime meridian and the equator, your values will be 0 and 0 on each of these. The values in the file are for Oklahoma City, Oklahoma in the USA. You should use the /O option and say Current Address (if you are at home) to see what address these values have you placed at. Adjust these values to fit your needs.

  • will move more to the South or West. + values will move more to the North or East.

Also, there is a value in the config

(&lt;add key =&quot;IsLearning&quot; value=&quot;1&quot;/&gt;)

. Please set this to 0 or your application will break. This is something I am working on.


Are you using the EZ-robot camera with RoboRealm or an external camera? Fantastic work BTW.


I have one robot that is using the v4 camera. Another is using usb cameras. Both work but the v4 won't read barcodes. Not high Def enough. The v4 camera works great for facial recognitiion.


This video shows how to setup RoboRealm to work with the V4 camera.


I am thinking about checking out roborealm and seeing what other features it provides. I know it has an OCR feature that handles small text and would allow the robot to read things like signs. RoboRealm could also be used to flatten round images like coke cans which would allow it to the recognize things more easily. It has a pretty cool indoor navigation feature that recognizes objects and knows where it is based on those objects. I am sure there are other things that RoboRealm could be used for that I just haven't discovered yet.

I could do this or continue work on my associative learning module. It would take questions that were asked to the robot from the wikipedia engine, parse the results for nouns, and then perform searches for these words to multiple internet sources, which would then be parsed for obvious nouns and continue the process. It would do these searches when the robot isn't actively being used. I am not sure how this information would then be implemented into EZ-AI yet but getting this part completed with a decent parser would take some time.

What do you think? Should I put adding new features on hold to make a learning robot, or are there some other features that you would like added?


I think I am going to go down the path of measuring distance using a camera(s). I will attempt two different methods of getting this distance. The first is the stereo vision approach where I will take images from both cameras and compare the distance between an object to try to figure out how far away it is. The second is to use a couple of features of RoboRealm to find the intersection of the base of an object and then identify the angle that the camera is looking to use calculus to figure out how far away an object is.

This goes back to an old thread where someone asked if a camera could be used to measure distance.

From there, I will explore the RoboRealm API a bit more to see what is possible.


By the way, the outdoor navigation with GPS is in the last version I posted. You would need an onboard compass because I pass back the direction your robot should head in to get to the next endpoint on the route that is gathered from Google Maps. I haven't taken my robot out and tried it yet, simply because my robot isn't built yet, but the directions passed back to ARC look correct.


I just have to say that it is good having a son who has his math degree and is in his final year of his comp sci degree. I have the 2 camera taking pictures using the roborealm API, These pictures are then analyzed to find the point that is being put on the image from the AVM Navigation object recognition module for each image. It then calculates a number of things based on these points, but the jist of it is that based on the distance in pixels that these objects are from each other in the images and other variables, I can determine how far away a recognized object is.

I am working on cleaning up the interface and testing the calculations more. I am also working on ways to speed up this process as the current process takes about 8 seconds to run. 5 of these seconds is spent making sure to give time to both RoboRealm instances (1 for each eye) to recognize the object. This is as fast as my setup will run. I am making these wait times configurable as each computer will be different. Mine is an I7 with 32gb ram and raided SSD drives. I think this is about the quickest configuration that I can imagine without spending $5K on a computer for your robot. Ping sensors would be faster but only able to find objects at a limited distance. I have tested this at 10.5 feet. I plan on testing at greater distances when the robot is complete and I can take it outside.

Props to my son who was able to come up with the calculations for the estimated distance. I need to pass some of my EZ-Robot stuff off to him and get him hooked, but I don't want to interfere with him finishing school or his new career.

I will include this in the next version of EZ-AI which will pass this distance back to ARC in the $RobotAnswer variable.


WOW, phenomenal work. I have an old PC collecting dust. Definitely going to repurpose it just for ARC and to run EZ-AI 24/7. I have to give it a try this week. Definitely wish I had your level of skills what language do you program in. If you don't mind me asking?


I should mention that I have 2 identical cameras running at 1920x1080. I have to make the app use smaller resolutions also. It's all doable, it's just going to take some time. The cameras I use are Logitech 920 cameras.

I also am going to start working on the ability to measure the distance using calculus based on the height of the camera, the identified floor from roborealm and the identified objects intersection point with the floor. It will use the angle of the camera also when the object is in the center of the camera frame. This will only require one camera.

The thing that I have to overcome is the height of the object. For example, if you recognize the face of someone, I will have to find the first pixel in that same column of pixels that matches the pixels at the bottom of the image to identify where the base of the object is. This part isn't hard to do, but takes time.

In otherwords, it may be a while before I release these features.


PowerBuilder... Just kidding...

All of EZ-AI is programmed in C#. I was a programmer for 20 years and got burned out on learning new languages or learning new frameworks every year, so I moved to management. The program would be faster in C++ but I just don't have it in me to refresh my C++ skill set. It has been too long since I have messed with it. I like kicking new features out more quickly and find C# to be a good language to do this.


I understand that not everyone can program or program the types of things that are in EZ-AI. I also see a great opportunity for EZ-Robot in that by using the features in ARC and EZ-AI, a user can do things that will blow away other robot platforms. ARC is already the best platform out there and the ability to use the SDK to develop other tools for it, it just becomes that much better.

My goal is to have those who are building robots like InMoov to sit up and take notice of EZ-Robot. What is possible with these tools completely blows away anything else that is out for it. By taking a platform that has a lot of attention on it, and making something that is far more advanced than anything else out for that platform, EZ-Robot will get a lot of attention. I want all of our robots to be able to use the features and most of EZ-AI will always be free. There are some modules that I will charge for but everything that has been released up to will be free. That is about 4 more releases from now. I don't know exactly what will be added in those.

I know that I will add a basic learning module at some point before A more advanced learning module will be being developed for a long time and I am sure that I will end up charging for that. There is a lot of work that goes into making something like I want to do, including using Data Cubes as opposed to using just tables. This requires a full blown license of SQL Server which I would have to charge for, but associating information to other information would allow robots to become much more intelligent. The amount of storage and the speed of the storage would also require that a dedicated server be installed. This would also cost someone more cash, along with the server licenses and all of the other expenses such as power, cooling.... This will be designed for use by companies instead of individuals, but a limited free version will be available that uses data tables. It will still learn, but the sources that it uses to learn from will me more limited and more common sources. It will also have a more limited ability to associate information to other information but some association will be possible.

United Kingdom

David, absolutely stunning work you are doing! Your EZ-AI is already amazing and adding the learning ability and associative memory will make it so much more powerful. In my humble opinion, you are doing some of the most exciting things this forum has ever seen! Keep up the great work and you are right with this AI tech more people will be noticing EZ-Robot. The combination of your AI and EZ-Robot will be epic!



Thank you Tony. I am working on the parser based on information that is retrieved from the sources. As you know, parsing this data isn't easy. I am at about 40% accuracy at this point with the first write of the parser. There is a lot of work that will have to go into this with every new data feed that is added. The english language is not easy to understand by a computer, but I am making headway.

Thanks for the kind words. They mean a lot.

United Kingdom

David, 40% accuracy is pretty good for a first write, you will have it higher in no time. We are doing work now on semantic parsing you may want to take a look at this at some point, it is very interesting.



definately interested. Once I complete the vision stuff and put out the next version I will email you. Any ideas on how to parse differently, I am definitely interested in.



David, couple of things I am wondering. I run MS SQL server 2005 on a dedicated server where I keep all my databases. I also run an IIS 7.5 webserver and connect to it for my DNN sites (sql databases). What I am after is;

any problems running your database on SQL Server 2005? Shouldn't be but just checking.

Also I would like the ability to install EZ-AI on a different drive other than C:. I see you are pushing this through the pipeline quickly but how about giving us a custom install option?

So I run a rack of Wintel servers with some virtual Linux security servers in my house. All the physical servers running 2008(R3). So I think I might fire up a virtual server and put your program on there to access it through the network. Have you had the opportunity to test this on various OS'? 2008(R3) by chance?

Really appreciate your knowledge and sharing this program.


I dont see any reason that it would have any issue running on SQL 2005. It uses the System.Data.SqlClient components to access the SQL server and there is a configuration option for the sql connection in the config file, but I haven't tested with other versions of SQL server. If you run into issues, I could easily make a configuration option that uses 2005.

I agree about running from a different drive letter or different path all together. Right now, this is setup to run from C:\EZ-AI. This would require an install application which is on my todo list.

As far as running on different server platforms...
Merne is running this on Windows 7 without any issue. I am running on Windows 8.1 without any issues. Merne is running with IIS7 and the only issue he had was that he had to set the application pool execution authority to run as his account. Windows 8 doesn't have this issue.

I dont see a reason why it wouldnt run on server 2008. The only thing that I can think of that might be affected is the System.SpeachRecognition stuff, but I am pretty sure that 2008 R3 has it in there.

If you would like to setup a VM with 2008 on it, and put TeamViewer on it, I would be happy to perform the install and see if there are any issues with your config.



I see that you have the MendelMax 1.5. These guys are about 10 miles from my house. Great group of guys and a gal at the front desk. We also have a 1.5 at the makergroup that I am a member of. Its rock solid. Just creeping and found that. Good choice.


Ok, when I get out of the hangar and back to the house I'll get one spun up. I'm running it on Win 7 now. I have a virtual Win 10 Technical running, I'll try it there to.

In the end I would like this on a dedicated server. That would be the best solution.



I understand completely. It is possible to have some parts running server side and others running client side. The client side stuff would be things like the roborealm and the actual app. The server side would be the chat client and database. I have included configurable items in the config file to point to other servers if you decide to run it like that. I did a bit of planning ahead:) Let me know if you have any issues. I would be interested in knowing so that I can make some changes where needed.

Thanks pacowang


@Pacowang, The only part that I see you having issues with in running it on its own server is the outdoor navigation mode. It needs to use the GPS which is client based and the server to store the route in the database. If you have wifi connection still while outside, you wouldn't have an issue. If you built a tunnel from your cellphone which is attached to the robot and your home network, that too could eliminate the issue. Just thinking out loud about running EZ-AI database off of a dedicated server. It would be easy though to have a local database that was replicated from the server, and I could handle the System.Data.SqlClient.Connection in a try/catch to first try the server location and then the client location for a database....



I somehow missed this enormous thread. This is amazing what you are building, and how you are extending the reach of EZB. I have a kickstarter campaign that utilizes the EZB v4 and could greatly benefit from some parts of your AI. When you have a few minutes, I'd like to share with you the product privately. You may have some ideas on how EZ-AI might be best implemented into my prototype. What's the best way to reach you live? Skype?

Thanks in advance.


send me an email with your address and I would be very happy to talk to you. My email is in my profile.


Ok great. Is your skype ID public?


Great. Text you the after 7 your time.


I have two other programmers who now want to work on EZ-AI with me. One is my son who is amazing with math and android development. The other is an old friend who is an amazing programmer and is studying up on neural networks. Both see amazing potential in what has been done so far and want to contribute. Both also love the thought of being able to work on robotics and the logic behind robotics without having to worry about making the robot move or other things that EZ-Robot handles perfectly. Also, both love the fact that the robot is tethered to a PC or other device over wifi and understand the power that brings to the platform.

I hope this means amazing things for EZ-AI. So far what it does is really cool. I look forward to it being something that is absolutely amazing.

This will allow me to focus more on the things like developing an install and getting things ready for marketing.


Yes! Fantastic news! Btw my wife loves the bible inclusion and already wants my project to start reading scripture:)

I can only think the sky's the limit with additional help. I have a few ideas about what we talked about. I'll shoot you an email over the weekend!


I look forward to it. We need to get this installed for you soon. You can tell her that it gets recipes also, but you might get hurt...:)

Talk to you soon Will


Lol your right! Frying pan to the head, bugs bunny style. Seriously she loves that too.

The new house is full of boxes but working on getting the office together this weekend . I should have my Mac Pro ( running windows ) up and running soon. I'm off to Los Angeles Sunday thru Thursday. So let's try to install shortly after that.


Sounds great. shoot me what you have for me this weekend. I will be around. Talk to you later!


The next release of EZ-AI is going to be delayed a bit. I have brought on one more developer at this time. I am allowing him to have time to review the code and make recommendations to changes to the code. He is refactoring some items and commenting all of the code (because I am horrible at documenting things in code). This will take a bit of time but will make for a better product in the long run. Version will focus mainly on measuring distance using camera(s). Version is slated to include the limited self learning and information association module.

In designing the limited self learning module, and in conversations with the other programmer, we have a couple of ideas but I don't know which way we want to go with this yet, so I am throwing it out for suggestions. First, the self learning module will work like this. When someone asks the Web Query section of EZ-AI a question like say "Who is George Washington?" the web query will return something like "George Washington was the first President of the United States of America." We would store this information and then parse it, and submit searches on the important words in the return. This would be done at night or when the robot isn't actively being used by allowing the user to pass a variable to EZ-AI to tell it to start learning. This parsing would find President United States and America. It would then perform searches for these words or phrases. The results of these searches would be stored and more searches would be performed based on these results. The end result would be that the robot would then know that George Washington is a leader who had ties to all of the other Presidents of the United States of America. This would allow the robot to be much smarter and gather more information about the topics that interest a user so that future searches for information and related topics could come from the database instead of the internet.

Here is where the question comes in. If this information were shared from all of the users into one centralized database, the data would be able to grow more complete and more quickly. If after your robot performed these searches, it synced its data to a central database, and was allowed to get data from this centralized database, it would allow your robot to have massive amounts of information. It would also store the questions and responses that you got back from the questions you asked. This part could be a bit of a concern for some. User information wouldn't be gathered as to who asked what question, but some like their privacy and I understand that this could make some uneasy. Not syncing data to a centralized location wouldn't mean that you couldn't use EZ-AI. You just wouldn't call the sync process.

Your thoughts or concerns here would be greatly appreciated as I do want to know them. I don't want to put something out that would make others uncomfortable. Please share...


@d.cochran First I spun up the VM Server 2008 r3 and a 2012 r2 but have not gotten into the install portion. Something about the wife wanting me to pay attention to her. I don't get that part. I wish I cold find her power down button.

You pose an interesting dilemma. With all the virtual assistant's popping up i.e. Siri, Cortana, never ending JARVIS, ect . . . I personally do not want the dependency of a "Central Collective Database". Although it poses the ability to learn a vast amount of general knowledge I would rather have my own offline assistant that learns a personal skill set from me since it is there to serve me. I would not mind the ability to download a "specialized packet(s) of knowledge" from a central collective server occasionally based on an immediate need or desire.

It's a problem for me to call this a "Cloud" since I have been flying for 30 years and never have flown into or by a data cloud.

Just my thoughts


I'm up for a centralized data base, as I believe cloud robotics will accelerate the AI. Plus I think you should name it Skynet.. Oh wait I think that websites been taken by google:)

Seriously, I think it's the future of robotics. One for central database.


The plan is to allow the user to set if they want to sync their data or not. Enabling the sync will allow the user to pull information from the central database also. This would only be used in certain parts of EZ-AI. This is an important feature for the retail side of this project, but will first be programmed for use by the community. A robot that could relate items to each other in retail could be a powerful tool. Not everyone would want their database of products shared with everyone else but they would want to be able to share this information between their branches. This poses an interesting dilemma for online storage of data. I know how to handle the security side of this, but the application has to be smart enough to handle things correctly.

The sync of this data would probably be handled through XML files. The knowledge that hasn't yet been shared would be exported to an XML file, and then FTP'ed to the central server, which would import the data when it saw a new XML file. Nightly, a dump of its knowledge would be made to an XML file, which would then be downloaded to the clients at their request. The EZ-AI client on your computer would load this data into its database when it saw a new XML file and the robot was in learning mode.

On another note, the other developer has experience using OpenCV which could be used to replace RoboRealm. This wouldn't happen anytime soon. I think it would be at least a year out before OpenCV would be incorporated and RoboRealm would be replaced. It would offer us some more abilities with the camera and would make it possible to fully control the camera functions from within EZ-AI.

The other developer is about to start classes on Machine Learning and AI platform development. He is very excited to use this project as a platform for his school projects. This helps him and helps EZ-AI a lot. He will be able to push the capabilities of EZ-AI far more than my business application type skillset. I am so happy to have him onboard. In six months, EZ-AI will have far more capabilities and would be able to make decisions based on the data that it has. I am studying up on Deep Learning and Neural Network programming and trying to decide where and how this should be implemented. It is a very interesting subject and we can leverage of of some work already in a framework called EnCog. It will get us going forward pretty quickly, but understanding something well enough to program for it takes time. Patience is a virtue that I sometimes don't have enough of. It's time to start learning about patience again...


The first issue I see with the "Central Bank" repository is security. Not seeing the entire picture that you have, I am just throwing out things I see that could be a liability.

If anyone is able to upload XML data files of "Knowledge" what would need be security measures to ensure that the files are not compromised in some fashion. And I know that is a very broad statement. Who would be the end controller of this collected database?

I see you are feeling this out and I get it. Given your position and profession I know you will be looking deeply into the security side of this.

I like the EZ-Robot approach. Everything they host for public consumption is in small bite size custom pieces, searchable for a given solution. Again I realize this is a different animal it does pose many questions.

I am a realist. With this IOT being the new buzz word I see lots of problems that will offset the usability of everything connected. I am huge on security. Any open system is a security problem and always will be.

I am a fan of closed and secured systems (even with these there is always a threat but more manageable). If anything I would see a subscription service vetted by person or organization where there is a clear chain of command and accountability.

I cannot count the times a Microsoft Update did one of my systems in.

Long ago I used to frequent a restaurant when we had some downtime in Arizona. When you walked into this establishment the owners had a very vocal Parrot to greet you. It was fun because the bird would pickup things quickly. Lots of different types of people frequented that place and lots of different types taught the Parrot many words. After a time they got rid of the parrot because he started cussing to much for the kids that came in.

Just a thought



You bring up good points and it is something that I have considered but not shared simply because sharing the security model would compromise it. Here is what I can tell you without going too deep into it.

The database has the ability to hold encrypted values. We will be implementing a serial key when the knowledge base starts up. The application will be the only thing that can upload data to the ftp server. Also, the XML file will have information in it that will be used to validate that it is authentic from a valid user and a valid encrypted value is included. The encrypted value will be generated every time a xml file is created based on a hash key that will also be encrypted. We will be obfuscating the code starting with version and only be releasing release exe instead of the debug exe at that point. Xml files can be zipped and that zip can be password protected.

Information that is added to the knowledge base will have a reliability rating system. Myself and my other employee will have the ability to validate that data is accurate and promote it to the distribution level. More than one source providing a certain number of the same key words would also increase the rating. A certain number of these xml files from different sources containing the same information about a topic will promote a piece of information's rating. Only after a certain rating is at a certain number will the information be pushed to a client.

Language filters will be in place that will block profanity from entering the system on two levels, one at the client and one at the server. A separate FTP server and database will exist for customers who need their data isolated. These will be paying customers who will have their own method of validating the data before allowing it to be pushed to other branches. This will be worked out with the customers as to the level of security they require. Setting up a securID server is simple and if the customer wants to go to that level of authorization, I would do that for a fee. This would provide 2 factor authentication. This along with what is described above would provide more security than is currently required by banks.

I do appreciate your thought and hope that you will continue to post them. I dont have all of the answers by any means and if you see a flaw in what I have posted, please point it out because I may not have considered it yet.


Yes. It works with ARC and not the board directly. It will have no issue working with the v3.


@d.cochran . . .. I believe you are onto something excellent. Whichever way you go with this I believe it will be blessed.

It's a hard but satisfying road from home-brew to commercial. I look forward to seeing this project grow.


Thanks pacowang, I am very interested in your results from your installs. When you get a chance to do them, please let me know the results. It will be very useful information to have and will let me know if something needs to be addressed.

I totally agree about going commercial. I have worked for a few commercial software companies in the past as a programmer. Long nights and little sleep were the norm. It is very exciting but so exhausting.


We will be publishing one more release before we do some pretty drastic changes to EZ-AI behind the curtains. This will be for the distance measuring via camera(s) module. We are wrapping those up this week. This will be version

We will be working on the following things for the

We will be writing an install application which will allow you to place EZ-AI in a user definable folder.

We will be introducing the knowledge base system (Not Cloud based at this time).

This versions code will have some cleanup and duplicate code in the project will be reduced by refactoring. For example, calls to the ARC TCP server to set the Robot Answer variable will be all run from a single class. Calls to internet based information will all be made from a single class. We will be combining some of the screens like the Driving Directions screen and the Walking directions screen. There are some other things but you get the idea. We will also be moving everything to a framework that is much newer and easier for other developers to understand what is going on in the code, along with commenting a lot of the code that I put together in an attempt to get "usefulness" out quickly.

For version we will add the cloud based knowledge base and security.

Because EZ-AI is pretty self confined and uses a TCP server to communicate with ARC, it wouldn't be too difficult to open this application up to other software platforms. I am exploring the options that some other platforms have. It might also be used by things not related to robotics at all. I dont know at this point, but having the ability to allow the user to choose which platform that they want to use and the application interface through a TCP server seems like a good fit for the EZ-AI. We are also looking at making a linux version of EZ-AI using Microsoft's implementation of .NET for linux.

I will be reworking my website and it will include a forum for specifically EZ-AI questions and answers. I feel bad about using EZ-Robots forum for this anyway. I just have to work on it before comes out.

As you can see, we are gearing up to add more programmers as needed. I know quite a few who work on a contractual basis and I want to be able to bring them in to do work when needed. To cut costs due to development time, we are getting a few items in place. These will reduce the time needed for development and implementing things and will allow a new developer to come in and pickup where another developer left off. All of this will make for faster turnaround on modifications and new features. It also sets us up for the future development efforts with some of the things I have mentioned before.

I can say that EZ-AI is starting to get a lot of attention. I am in conversations with people almost daily now about what it does and what the plans are for it. Some of the people on this forum have been very helpful and I dont want to mention names but just know that you are appreciated. There are some other things that I can't talk about or won't talk about out of respect for others in this community and others. Just know that the ball has started rolling down hill with EZ-AI and it is gaining momentum. Its very exciting and I look forward to getting past the boring housework that needs to be done before we can really get rolling.


Well, the forum is up and running. You have to register at to be able to see it. I will start only posting when updates are available here and answering questions if they show up on this forum. Please register and I will authorize you to see the forum. I have authorized those that have already registered if I knew who it was.

Just so that everyone knows, nobody asked me to do this and I am just doing it so that this post doesn't keep popping back up to the top of the forums. As new releases come out, I will make a new post about those releases on the EZ-Robot forum, but will let the forum at be used for the other types of discussions.


David, if you're available this weekend (or later whenever) I think I would like to take you up on your offer to incorporate your AI into my projects... I am going to head over to your website soon and try an understand just what you have created here... In the meantime can you give me a list of things (software, add ons and such) I need and what I need to do before we make a go of this?

Thanks again Richard


@Richard R everything you need to download is listed on David's web page, between the last two videos - There's also a very detailed 1.5 hour long installation instruction video

I spent the whole day yesterday installing (and re-installing some components) with only partial success:( I Think I'll join David's forum to get some clues!


Hey guys. Here is a list of things you will want to download. I can help you get it installed this weekend Richard.

RoboRealm and AVM Module RoboRealm site .NET Framework 4.5.1 .NET Framework download MSSQL Server Express SQL Express download MYSQL MySQL Download EZ-AI EZ-AI Download Enable IIS on Windows - Instructions to enable IIS Setup PHP on IIS - PHP for IIS download

Some installs will require that you install .NET framwork 3.5 prior to being able to install MSSQL. This is on Windows 7 and Windows 2008 servers. Enable 3.5.1 instructions

From there I can get the install completed in about an hour.

Tony, what issues did you run into with the install? By the way, I just enabled your account. If you want, I can connect with Team Viewer and see if I can figure out what is causing issues.


Hi David!

I initially went through the install step by step following the video (did not install the roborealm stuff). I got up to setting the Ez-AI Interface onto the desktop. There I got errors loading "robot". I then did uninstalls and reinstalls and the whole thing is now even more broken

I'm pretty sure I followed you video exactly and everything seemed to be working out OK, except:

  1. I found that 'robot' was listed under system databases in the M SQL Server Management studio and I was able to query the database and search the tables. (BTW I could not find Australia in the countries!) But, when I looked for the robot user under security, it was not there. I did enter robot/r0b0t as a user during the setup In MySQL Workbench, robot is there and has all the Privileges

  2. When starting to run items in the Ez-AI Interface, I got the 'robot' errors, so triple checked the editing of the config file according to your video. All OK

  3. I uninstalled & reinstalled MySQL Server. When I ran MySQL Installer it reported everything set up except MySQL Server which I could only partially reconfigure. Under Accounts and Roles I was only able to enter my root password, it did not allow me to enter any MySQL User Accounts! (see attached pic). Under Windows Service/Custom User it did not allow me to enter my Admin user for the PC! (see next attached pic) I could only continue if I use Standard System Account

I tried uninstalling everything "SQL' but get back into the same situation Unless I can totally wipe SQL from this PC it looks like I'll have to try another PC

User-inserted image

User-inserted image

United Kingdom


Just to note, when I tried the instal a couple of weeks back you may recall I had a couple of issues. What Tony mentioned about only being able to use the standard account option was one of the same problems I ran in to. I tried every variation of my password (caps on, caps off, cap on first letter ect) but no dice. When I get some spare time I will try again and maybe take you up on your offer to give you a shout if I get stuck.


Tony and steve, I can connect and fix if you have team viewer. It sounds like the robot user wasn't setup by the setup database script. It's a simple fix for someone familiar with database administration, but not so much for someone who doesn't work with them day in and day out. I will also check on Aus cities. I know they were in the lists I got. It may just have been a mistake on my part. In any event, I can write a script to populate them and get it to you.

If you would like me to connect and fix, let me know.


I may have found an issue with one of the scripts that I am running to create the user.

USE [master]
USE [robot]
CREATE USER [robot] FOR LOGIN [robot]
USE [robot]
ALTER ROLE [db_owner] ADD MEMBER [robot]

run this script after you run the SetupDatabase.Bat file. This can be run by launching SQL Server Management Studio and at the login choose Windows Authentication from the third dropdown and then click Connect.

From there, choose New Query in the menu bar. Paste in the above code and then click Execute.

I am modifying the install script and the right now to fix this.


@Tony1952 I found Australia in the script that generates the cities table and in my cities table. There are 2064 cities listed in Australia. The list I have (mind you, I am in the US and we are really good at thinking we are the center of the universe for some strange reason) has the Continent_name as Oceania.

In your EZ-AI.exe.config file, you would put Oceania as your DefaultContenant value.

<add key="DefaultContenant" value="North America"/> changed to <add key="DefaultContenant" value="Oceania"/>

This is after we get you working and all.

On your MySQL install question, the field that you are on is your windows username and password. This would be for an Administrative account on your computer. You could run it as a system account and be fine I think. The install where I decided this was necessary was a bit strange as it was on a machine that I have many things running including TV, Phone System and fax server. I wouldnt be surprised if the system account didnt have necessary permissions on this box due to these other installs.


Hooray!, I must report that EZ-AI works for me now! I have been able to start all of the AI functions (except of course Outdoor Maps), either using the AI Interface or Davids Teddy Project. I even managed to verbally get and print directions from my home to another destination! Ez-AI already has many useful functions and it works within ARC. I see that it has tremendous potential to make our robots more interesting and useful.


This is GREAT news Tony! Glad to see the fix I put in yesterday corrected your issue. Have fun and let me know any new things that you want added.


David, thank you! The new SetupDatabase batch file works well now. There are a few programs to install and configure but it's not a difficult as it sounds. I found your install video clear and easy to follow. You provide instruction on configuring each program as well as working links to download them from. You also provided fast email support when something did not work. Now that the batch file is fixed there should be no problem with installation. There’s no reason why everybody can’t install and give Ez-AI a try, if I can do it, so could everybody else!


Hello went to your site last night and could not find the links for dot net 4.5 and mssql. Hoping to start some of the install tonight. Thanks


Not sure how I missed it but I found it in my phone this morning. Sorry


Hey Kamaroman68, All of the links are just above the install video. I will add a page for installation (needs to be done anyway) that will have all of the links and the video. I will let you know when I have that in place.


Excellent I'm sure I'll be taking you up on the TV offer! Thanks


Let me know if you have any issues. I will do what I can to help. Have a great day!


@Richard R and @kamaroman68, how did the installs go or how are they going? Let me know if you need any help. I would be happy to help out.


@David, just finished MYSQL... had a problem where it wouldn't accept my admin name and password so I left as standard... Which I assume lets anyone using the PC can access it... Does this matter?... next up is install


Standard will work fine unless in very specific conditions. You should be good.


@David... Ok, can't install the ai database... robot database does not appear in SQL Management studio after I ran the setupdatatbase batch file... I think it is because my default SQLExpress is actually SQLExpress1 as I screwed up installing it the default way... any way I can use SQLExpress1 instead of SQLExpress? Or do I have to uninstall SQL and start again?


the instance name will need to changed in the scripts. Do you have team viewer on that box?


Crap, no... I will go download it and get back to you...


No problem Richard. You can modify the SetupDatabase.bat file in the EZ-AI directory using Notepad to this and rerun it.


SQLCMD -S %COMPUTERNAME%\SQLEXPRESS1 -i C:\EZ-AI\Install\SetSQLInstanceToNamedUsers.sql
SQLCMD -S %COMPUTERNAME%\SQLEXPRESS1 -i C:\EZ-AI\Install\CreateDatabase.sql
SQLCMD -S %COMPUTERNAME%\SQLEXPRESS1 -i C:\EZ-AI\Install\SetDatabaseOptions.sql
SQLCMD -S %COMPUTERNAME%\SQLEXPRESS1 -i C:\EZ-AI\Install\SetupDatabaseObjects.sql
SQLCMD -S %COMPUTERNAME%\SQLEXPRESS1 -i C:\EZ-AI\Install\SetupActivityTable.sql
SQLCMD -S %COMPUTERNAME%\SQLEXPRESS1 -i C:\EZ-AI\Install\AddStarWarsQuestions.sql


send me an email (in my profile)

I need ID and the password from Team Viewer.


Hey David... Thanks a million! Can't wait to dig into it...... I am going to cleanup the mess of files I made here lol... Sue just got home so can I hook up with you later regarding a possible skpe tour of AI.... Of course when you are available that is...

Cheers Richard


I have publishing V1.0.0.7.


The application has been refactored to make future development efforts easier to program.

UPC codes

The bug in the UPC code which caused an error to popup when scanning the barcode too many times has been corrected


The email module has been rewritten to handle Gmail, Yahoo, MSN and Live accounts. It also has more features.

EZ-AI.exe /P CheckEmail will now return the number of new emails that you have since the last check from EZ-AI.

EZ-AI.exe /P EmailInfo will return the sender and the subject of of these emails

EZ-AI.exe /P # will return the body of the email that is requested. For example, if you had 4 emails and you used the EmailInfo switch to then get the sender and subject information, and you wanted to have the 3rd email from this list passed back to you, you would use EZ-AI.exe /P 3 If you then wanted the 2nd email from this list to be passed back, you would use EZ-AI.exe /P 2


There is a new feature that will get Movie and TV show overview information from You launch this by calling EZ-AI.exe /ENT

The most popular shows and movies will appear in lists on the right side of the form. Saying More Movies or More Shows or More Movies will load the next list of movies and shows. Saying Previous Movies or Previous Shows will take you back to the previous list of movies and shows. Saying Choose Show [the show name here] will load send the show overview back to ARC and display it on the screen. Saying Choose Movie [the movie name here] will do the same for movie overviews. This will be expanded on in the future, but this is working well so I thought I would kick it out to you all.

I have pushed these updates out to

While you're there, if you haven't done so, register on the site to see the community forums. Also, if you have registered, introduce yourself. It would be great for others to see who all is a member of that forum. Only about 10% of the registered users are on the forums right now.



United Kingdom


I've just posted a question in the "Installation"'thread on your forum. I'm currently in the middle of the install but having a couple of problems.


Yep, I saw and replied. Sorry about it taking so long. Check the post and let me know which part of it is.

Thanks David


David, once again I want to thank you for the install of EZ AI. I have not had the time to dive into it yet and currently I'm enroute to Los Angeles so I have to wait a few more days. When I return I want to purchase Roborealm and the AVM module. To be clear, I will have the ability to do facial recognition with the v4 camera? How do all three ( EZB, EZ AI and Roborealm) work together?

Also I sent a request to be added to your forum, but did not receive a response. Maybe I just need to go and try to log on?!

Thanks in advance.


You should be good on the forum. All users who have registered have been authorized.

The v4 camera works with Roborealm. There is a video on that shows how to setup ARC and Roborealm to work together.


I was wrong and am not by a computer. On YouTube search for Roborealm and ez-AI. The video is public. I will add it to the site when I am by a computer.


Ok great. I'll watch it when I land. I'll try to logging in from up here! Thanks again.


Awsome thanks I will watch in an hour or so when I land. I manged to log in on the forum no problems.


@fxrtst... I can confirm that roborealm works great with the ezb4 camera... Also, it is extremely good at object and facial recognition... This is only a fraction of the abilities of roborealm... I am just beginning to dig into what roborealm can do in conjunction with the ezb4...

United Kingdom


Hey, keep us informed of what you discover using Roborealm with ARC/EZ-B. I downloaded Roborealm myself a couple of days ago to use with EZ-AI and haven't had a chance to have a good look at it. I'm not even sure what it can do (except for Face Rec of of course).


@david, watched it seems straight forward. Would really like a part 2 to that video with you using the stream inside ARC. Also how did you add the ez robot variables inside robot realm ? Forgive me if it's obvious I'm just commenting from watching the video, I don't have my laptop with me on this trip.

United Kingdom

Thanks David. Will do.



Open EZ-Robot and make sure that the TCP Server Settings has Enable Server for EZ_B Board 0 checked under Connection settings, settings... Click save to make sure it sticks:) Also setup the Custom HTTP Server as is in the video.

In RoboRealm click on the search tab on the top left. Type HTTP in the search box and choose Read_HTTP by double clicking on it. Follow the video to add the url to the ARC Custom HTTP Server you setup.

In roborealm, on the left side click Search. AVM and then double click AVM Navigator. Train an object (your face using the interface for AVM) and give it a name.


Type EZ in the search text box right below the tabs. You will see EZRobot_Variables come up. Double click it and then add it. From the RoboRealm Variables double click NV_ARR_OBJ_NAME. It will move this over to the Send to EZRobot side. Click OK.

Now in ARC, you will see the recognized object show up under the Variable Watcher as $RR_NV_ARR_OBJ_NAME[0]


@fxrtst The ezb4 variables are already there... Roborealm supports ARC... From the left hand column you just ad the ez robot variable's module... when you open the ez variable module you will see how roborealm sends and receives data from ARC...


Thanks Richard. I must have missed that announcement by DJ, in one of the releases.

Certainly expands and accelerates the development of EZB



@david, just saw your post thank you. Did not update on plane and only saw Richards response. I will give it a try when back to the house tomorrow .


EZ-AI V1.0.0.8 is now in beta. Merne is testing and I am looking for anyone else who wants me to do the install for them. It is a huge install (about 250 meg compressed).

Changes to this version include ..Ability to find stores in your area and navigate to those locations. ..Self learning module that allows the robot to go gather information on topics when the robot is not in use. Be careful.. Too much knowledge can slow down your database. ..Associative knowledge which ties knowledge gathered above to other information that the robot knows about. and artist information ..Movement of the configuration information to a table which uses a standard EZ-AI screen for updating or changing this information. ..A natural language processor which is currently used with the Self Learning module. There are future plans for this. ..The ability to run EZ-AI from a directory other than C:\EZ-AI ..A couple of bug fixes for the chatbot feature.

There are a couple of items that I want to add and then I will be finished working on this for a while other than to fix bugs. I am about to get all of my parts for my inmoov and my time and energy will be going into building him.

The first post of this stream has been updated with all of the new features.


David I am definitely interested in having you do the install. How do I go about setting this up? Thanks Chris



When we get these updated versions do we just install over previous versions? Also is there anything else to do when we update other than EZAI?


This one is a huge complicated update. Future updates will be far more simple. This version adds a lot of things so I would be far more comfortable performing the install of this release.

Not only is there a very complicated nlp that has been added, but also a knowledge engine which adds another database that has to be configured correctly. There is also a pretty large underlying change that if not done correctly would render ez-ai useless.

Once I get past this one, the other releases will be pretty small and much easier to perform. I can do a couple of installs a day to get everyone up to the current version. I also want to make sure the data you have entered isn't wiped out.


My robot Dave will be needing this soon, but will need to wait for me to feel much better than I have the last week. I hope you get your InMoov up and running soon.


How long before his version is outta beta and will the install be easier? I can wait if it's not too long.


Will, this version is going to be a difficult install. is huge and probably has more actual code by itself than the other 7 releases. Version and later will be smaller releases and will be able to be done through install scripts. I am seriously considering not even putting's files out for download and requiring that I help with this install.

There are a lot of things that have to be done just right with this one. Also, this one requires that you get a Google api. If you dont get your own, odds are that you will affect every other user including me.

Any one step isn't hard, but seriously, there is over 230 meg worth of new stuff. The previous version was below 20 meg.


I will work on an installer. I just really don't like working on them. One is needed but will be a total pain in the tail.


Well, I went and built an installer. Still disliked doing it though....

The installer will get you through most of the EZ-AI installation. You will still need to follow most of the installation video. I will be making a new install video in the next couple of days. I dont have time to do it right now, but I will get to it. This time I promise to capture the screen instead of record the screen which will make things a lot more visibly clear.


I dont mind at all how the version is installed. Meaning if you do it or I attempt it. Certainly just wanted to know if this release will be the last one for awhile since your inmoov parts are coming.


yes, I plan on taking a break from it for a bit. The inmoov will consume my time as I want to do it very slowly and carefully. I do need to get MyRobotLab tied in still but am waiting on their next release which will fix a bug that is preventing me from tying into it right now. I think it is feature rich enough until I need something new:)


I also want to add that wine info section for Richard's Bartender. That one shouldn't be too hard. The tie into MyRobotLab shouldn't be hard when they are ready. Other than that, I plan on stepping back for a bit and fixing bug as they are found. I need to let my son finish college and he was just moved to a new core development role at the company he is working for. His time is pretty tight right now so I am not getting as much help from him as I thought I would be able to get. I need him to finish the camera distance piece but I am willing to wait to let it get finished. Too much math for this old brain.


Sounds like a lot of great additions! Love the bartender idea. I need to look a bit more into MyRobotLab. I'm downloading robot realm today to get the object/facial recognition.

Let me know if I should just wait on the update . I certainly can demo with the version I have now.


I dont think that MyRobotLab will get you very far if you are using ARC. This is being put in to allow users of MyRobotLab to also use EZ-AI.


Ok David, I'll stick with the current version. I'm sure InMoov will keep you busy awhile. I have what I need for now. Thanks.


I would like to thank you for sharing this. I wish to try it, but there are too many steps for my peanut brain. Just a thought . . . Is there a way to make a batch file with a group of commands that will install it? It may be worth the effort. Then when you need to install it, you would just hit the batch file. Not just for Lazy people, but those who are not as sharp.


I wish I could. Unfortunately there isnt. There isn't a way for me to know where things were downloaded to. There isn't a way for me to silently install mysql, sqlexpress, configure program-o, install php or configure the website for program-o. Believe me, I have looked into every one of these. All of these are prerequisite to make ez-ai work. About the only way that I could make this happen would be to offer a disk image that has everything setup but then windows would be the issue.

I am more than happy to connect to your computer and setup everything for you. I have done this for 5 others already and I actually like it. The largest issue with doing it this way is that there is very little transfer of knowledge. EZ-AI has a lot in there and I really need to do a video of the current version and how everything works. I plan on doing this over the next week or so and will make small videos showing how each feature works.

Let me know if you would like me to set it up for you. You just need to download and install team viewer 10.


I have so many important things running on the system that I do not wish to loose. This is an option and you are very kind to suggest this. I also have Denise running. She is a purchased agent from Guild3D. I will see what I can do to do this. I am talking about my desktop, but my robot has a windows 8.1 OS W3 10" tablet. I would ultimately put it on the robot. But, right now, I am having speed issues with the robot. I have ALL the ports filled up with sensors and servos and stuff.

I would like for someone to create a Super AI and EQ and put it all on a stand alone firmware that would run itself.

That is probably not far away.



I opted to try to uses as many pre-existing packages as I could so that the development time would be spent adding features instead of rewriting things that already existed. I agree that the ultimate goal would be to have a single package that could be installed with one install and tried to make that happen but the free software such as the databases don't allow that. Really, if the chatbot were skipped, the install isnt too difficult. The chatbot adds a lot to EZ-AI though and allows you to do a lot of customizations for your particular robots personality. EZ-AI is only a few months old and has a lot of room to be improved for sure, the biggest of these is the install. It is something that I have struggled with since starting to write this. The good news is that once you complete the install (with the exception of the version) the updates going forward are able to be done with simple installs.

Having databases to store things (which is the real power behind an AI) makes deployments more difficult. There are options for non-free databases which would allow silent installs, but the goal was to make EZ-AI as low cost as possible without sacrificing functionality. Deployments require scripts to be run on the databases to add new databases, tables and stored procedures. This can be scripted but because the database can be on any machine on your network, the scripts would have to be made at the time they were executed. This adds a completely different level of complexity but something that could definitely be done.

I wish I didn't have to work so that I could focus solely on EZ-AI, but unfortunately I haven't won the lottery yet. Seeing as how I don't play the lottery, the odds of winning become very low and I doubt that this will change anytime soon.

The offer always stands for the install to be done by me. Some have performed the install without my help. These have mainly been people who are in the same field of work as I am and have a good understanding of what is happening with EZ-AI. For those who are uncomfortable doing this, let me know and I will be happy to do the install for you.


@d.cochran The "Run WinDows Services as Custom User" under MySQL Installer 5.6.25 reject my regular laptop authentication admin username / password.

message say: The user doesn't have the minimum rights required to start the service.

Any idea how to fix this issue?


You dont need to do that. you can run as a service account. Its no problem to let it run as such.


When I run setup database from EZ-AI, robot database does not populate as expected

User-inserted image

User-inserted image

User-inserted image

What should I check?

Tanks for your support Gilles


Do you have Team Viewer installed? If so, I can connect and get you beyond the issue pretty quickly.


Ok I have install team viewer, how do we proceed?


send me an email with your user id and password for Team Viewer. My email is in my profile on this site.


Have you receive my Email? What time will be convenient to connect? regards


I haven't gotten an email in the last hour or so on that account. I wonder if it is having issues.



David, is there an "ideal" system to set everything up on? I'm planning on having a stand-alone install (in my B9 robot).

Would an Acer Iconia W3 (running Windows 8.1, Intel Atom Z2760 @1.8 Ghz, 2GB RAM, 64GB microcard storage) have enough oomph?

My next choice would be an ASUS X200CA notebook (WIn 8.1, Celeron Core 2 @ 1.5 GHZ, 4GB RAM, 250 GB storage).

After that, it's haul out the big laptop.:)



The processing is done at the server now for EZ-AI. It is a separate device that is network attached. Don't let the word server scare you off. It is a small single board computer. Currently I am using a Beaglebone Black for this in my house without any issues. The client is a plugin in ARC that is very light weight.

I am going through a rewrite of EZ-AI right now which makes it not only much easier to use, but much better at understanding dictated text. It uses some external services now that cost money to use but provide a much better experience due to their ability to understand and categorize dictated text much better than what Windows has to offer, even in Windows 10. Windows 10 makes things better but it is still a long way behind what is possible with these other services.

My hope is to have the plugin out shortly. There are some other things that will need to be completed prior to making this publicly available like billing and other business type things, but it is still in the works.

The install of the old version was not fun at all and I found that everyone's computer that it was installed on required some sort of special process which was different from everyone else's computer. The server and plugin option is much better for you and also for us.


Thanks David!

I'll wait for the new version. I have a couple micro-computers I can use for a server, so I'm all set. (I also purchased RoboRealm) :D


@ cochranRobotics

I find your work absolutely great. And I would also EZ-AI like to try, but I have some concerns that I am so overwhelmed because my english skills are almost 0, and also from the program I have hardly spoken, but I'm learning every day something.

Before I venture to it, I have 2 questions: can the Speech continues to take place via the ECB (SayEZB)?

The robot can also be understood as before German and answers if I have the appropriate language packs installed on the computer?

Greetings from Germany Sven


Thank you for the kind words.

To answer your questions...

  1. yes, the app passes what it says back to a variable in ARC, which then is dependent on a script to either use say or ezbsay to say the text.

  2. I didn't setup globalization so this version is only english.

BUT... I would wait before installing this. I am working on another version of this that runs as a plugin in ARC and uses a lot more advanced speech recognition and language classification. It also greatly reduces dependencies on heavy database systems.

This version was more to prove that there was a need for this type of product and to prove that it could be done. I am working to make it much more eloquent in the way that it functions.

This thread will explain most of what I am doing.


Thanks for the answers, okay, then I wait yet and will watch the thread.