Canada
Asked — Edited
Resolved Resolved by thetechguru!

New Feature Request

New Feature Request

Hello im hoping a new script feature can bee added soon many of my scripts are on hold till this feature gets implamented what it is is something like Get? that when called up in a script it will open a little window that you type your string into with out having to add anything else to the string then hit enter then what it does is add the typed string into a $variable

$variable = Get?

This will greatly add to the scripts as it will help with creating "learning" scripts:) I dont think it will be hard to implament from what ive seen sofare:D

I really would appreciate this feature I do appreciate all you at EZ-Robot does for us as I know many many others on here do to:D


ARC Pro

Upgrade to ARC Pro

Stay at the forefront of robot programming innovation with ARC Pro, ensuring your robot is always equipped with the latest advancements.

Canada
#1  

ok I don't know why it saying I selected that I require assistance when I selected general :S

United Kingdom
#2  

Add the script console and just write the command i.e. $variable = "variable"

How do you plan to use the variable though? Can you give an example of when this would be required?

#3  

you could have the command wait for a variable to change, and then use it. This also would allow you to use voice commands to set the variable. Let me find the thread that I do this in because I am not at my computer with my project on it right now.

near the end of this thread

Canada
#4  

I need the scripts to be able to ask for needed input and be able to add the info on the fly with out having to open and edit a script that way the bot can learn many of my scripts need info on the go to work scripts like games and stuff or the scripts will not work at all and cant interact with the user and learn

#5  
 ELSEIF ($personality = 10)
  
  Say("Can I chase the ball?")
  
  :ChaseBall
  
  WaitForChange($QuestionAnswer)
  
  IF ($QuestionAnswer = "yes")
    
    ControlCommand("Script Manager", ScriptStart, "ChaseColor")
    
  ELSEIF ($QuestionAnswer = "no")
    
    # look sad
    
  ELSE 
    
    say("I did not hear you. Can I chase the ball?")
    
  ENDIF 
    
  IF ($QuestionAnswer = "")
    
    Goto(ChaseBall)
    
  ENDIF 
Canada
#6  

Voice commands only work with pre scripted voice commands and not with new info the variables that change will be the ones the scripts need info for on the fly when I user plays a game they don't stop to open a script and program there name or other info into a script the only real way of doing it is to have the script pop up a little window that asks for the needed info with that feature scripts will be able to learn as they go:P

United Kingdom
#7  

If it's a set phrase list (regardless of how big it may need to be) you can use voice prompts to wait for the answer.

You could quite easily write a small application in c#, python, php etc. to send these variable values too. When a question is asked it pops up the application or webpage (which can be done with the exec() command) and waits for user input. The web page, app etc. would then set the variable by talking to ARC through telnet, the script would then detect a change in the variable and continue.

I expect DJ could add in a command for that however in the mean time there are workarounds.

#8  

so what you are looking for is a popup box that has a textbox in it. The textbox would be allowed to insert any data into it. when the person hits enter, the textbox would pass the data to a variable that would then be readable by a script. The script would do as listed above "WaitForChange($QuestionAnswer)". I assume that you would want to be able to define the name of the variable that you want this data to be stored in. Does that cover it?

#9  

The reason I am asking is I have 2 weeks off starting tomorrow. I will be waiting for parts to arrive for multiple project and I could use the SDK to create the app for you. I know that the team is up to their knees in EZ-Robot shipping and I would hate to delay them at all at this point. Let me know if you would like me to make a attempt at this for you.

#10  

@d.cochran.... Don't mean to thread jack... but your above script sample fits into my current project perfectly... Just what I was looking for.... Hope you don't mind I pirate it...:)... Also your idea of a pop up box to enter a value for a variable is a great idea... I can see the validity in Wolfie's request...

#11  

I see it also. its a good idea and I have started tinkering with it.

#12  

@wolfe There is an example of how to do this (or something very similar to it) in the C# section of the examples in the SDK (Tutorial 52 - ARC Script Interface Client). It sets a variable, pulls data from a few variables, Starts and stops the camera. Is what I described earlier an accurate representation of what you are looking for?

Canada
#13  

Im in no rush for the feature at all what I want is one that is part of ARC itself but yes one that at some point asks for need info by popping up a box you type the string into and then when you hit enter or ok it takes that in and sends it to a variable the scripts will determine what the veritable will be listed as $variable or $player1 or what ever the calling script trying to get info for it is better if its part of ARC instead of an add on that's sending to ARC I plan to use it in many scripts that in time will be posted on the cloud for others to use and learn from .... I try to make scripts user "Grandma" friendly lol I used to do a lot of scripting in mirc but now trying to only use ARC as mirc no longer works with windows 7 .... well the good parts of it don't at all:( lol The feature im asking for will greatly improve ARCs scripting With it the scripts we make will be able to learn on the fly with out having to be rescripted

#14  

Hey Wolfie... can we go one step further?... Instead of just a text entry only box, how about voice/text entry box?... So when the box pops up you can either type it in or say the word you want saved as a variable?

#15  

I understand. The example that is provided will connect to the script engine and run commands. you pass the command and it will execute. It would be an add-on just like EZ-Face was, until it was included into ARC. Because it is tied to the script engine, it could be used to pass variables or really do anything that the script engine could do. that example is a pretty powerful one.

Okay, I am going to go on to writing the database connection one that I have been thinking about. I want to have a cleaner way of writing data from ARC to a database, which would make a learning robot very powerful. My plan is to have multiple robots that all understand what each other is doing. This currently can be done in ARC with up to 5 robots. I want more:)

United Kingdom
#16  

I haven't used it much but I think the Pandoras Bot control allows you to speak or type and can be used to assign variables. I don't have time to check it out at the moment but just putting it out there so you guys can have a look and see if it is able to do what you want it to do.

Canada
#17  

@Richard R the voice part is in my plan but that will be a few updates down the road as it will be a lot harder for the EZ Staff to implement

@d.cochran the thing is im trying to keep it as part of ARC it self and not an add on many of the users only know how to work with ARC and don't wish to use other add ons I for one have no clue how to use the add ons and don't understand the C# , C+ or any of that other stuff I have looked at the sdk files and all they do is hurt my poor little brain lol the feature im asking for will be really ez for some one at ez-robot to implement maybe even take only a few minutes to add from what ive seen sofare but im in no rush for it If you or others want to play with the idea your selves then by all means have at it:)

In the mean time I have lots of other stuff to mess with as I still need to learn to script in ARC to learn how to create my supporting scripts for what I want to do I can do an addon in mirc that will send the info to ARC over telnet that I could do in less than 10 minutes but im trying to not script in that any more but will probably have to do some stuff on it for testing other scripts I want to mess with but for now im trying to just learn ARC enough to not have to constantly look up every code over and over and over lol im a slow learner and have meager learning disabilities but I never give it:D

I just wish I could learn to type and spell correctly lol

Canada
#18  

@Rich one little problem I found with Pandoras Bot it the computer has to be online for it to work and with my bad internet connection im hardly ever online just in the time it took me to type this post I went offline 5 times don't even know if I will be on long enough to post this many many times when I go to post I hit send and poof im offline completely its been driving me nuts lol

#19  

@Wolfie, I don't think so... We already have speech recognition panel, so the hard work is already done....... It would just be a matter of implementing a new control... I am sure DJ does this stuff in his sleep.... Nevertheless it is a good idea and if it ever gets implemented... bonus to already the most powerful robotic software in the world...:)

Canada
#20  

I really hope im making sense and not offending anyone as that's the one thing I never want to do I do understand that I have really poor communication skills I know that some times ppl take what I say the wrong way so please don't any one ever get offended by my lack of communication skills

#21  

A) You don't have poor communication skills and you make perfect sense B) You Haven't offended anyone....

Dude, you have a good idea... Roll with it...:)

United Kingdom
#22  

Dictation for voice is extremely poor. The accuracy is very low and the results are sub standard. Even with Jarvis I don't actually use dictation for the most part but a whole bunch of payload files with keywords in them which are automatically updated by other applications, these scan web pages, documents and meta tags in video and music files to make a range of lists which are used to simulate dictation but with a much higher accuracy. I do use dictation however it is used in such a way that if the spoken word is below a set accuracy or isn't recognised it then changes to dictation, Jarvis asks what was said for confirmation (i.e. "Do you want to add coffee to the dictionary?") and a simple yes or no to confirm the addition of the word.

Unless you have a very good mic, a voice profile that has been trained for months on end, an accent free, clear, news anchor style voice you will have results that do not meet the standards you want.

I'm sure dictation can be added to the speech controls, it is part of Pandora Bots after all, however the lack of addition despite the question coming up pretty often tells me it's not something that's seen as a good idea.

You are better off using a phrase list (albeit a very big one). It will be a lot quicker to write a phrase list with every known response to specific questions (i.e. a phrase list containing every first name you could think of) than it would be to increase accuracy of a poor quality mic & voice profile.

#23  

I hope that I didn't come off as offended:) I am not at all. I was just a work (lucky enough to work from the house) so I had a couple of things going on.

I think the idea is a really good one. I started messing with the example and then my mind kept going back to the SQL database update one that I wanted to build. For me, it would be cool if a bot remembered what someone did during the last game and adjusted based on the last moves that the person made (chess example). To do this, you would have to store the data for extended periods of time and the perfect solution for that is to use a database of some sort. Your example (like many others in this community) made me think of a better way to do something else that I wanted to do anyway.

I completely understand why you would want it to be a part of the app and I agree. It becomes pretty easy to add to the app when a majority of the development has been completed and EZ-Robot can take what has been done and put it into ez-robot. That was my motivation in starting on it, but I got sidetracked with my eagerness to start on the database component. When I am done with this, and if they haven't gotten to it yet, I will jump on it.

Gonna go put my head back in the sand and code for a bit. My wife hates it when I do that because everything goes on around me without me even noticing, while i pound on the keyboard. I love it:)

#24  

@Rich... ? Ok I admit, I am a bit daft... But, we're only talking about one maybe two words?... I can already dictate into a word doc using voice recognition... Why would this be any different? I say the word "red" voice rec saves "red" to my variable?

Canada
#25  

@Rich I now have a great mic it hears me vary clearly from any where in my small home and I have not even trained the computer at all plus I have not teeth so I don't speak to well at all lol but it seems to work pretty good but I still have not used it for direct dictation "yet" only had it a few days now and still trying to get to know win 7:( lol

@d.cochran No you did not come off as offended at all its just that I know that I have poor communication skills and I tend to forget that some times lol when it comes to staring data its not hard at all in ARC as it now works with txt files but I have not had a chance to really mess with that yet In time im hoping that ez-robot will implement the use of ini files and that will greatly improve what we can do and how data can be stored updated and retrieved .... that's a update ive dreamed about for well over a year now ... I have mentioned it long ago and again just now:P lol

I know DJ and the rest of the Staff have a lot on the go so its all cool:D I Thank them all Every day for all the hard work they do

I also yell at them every day to rest and relax more as I know how hard they work Keep up the great work DJ and the rest of the EZ-Robot team (Y)

Canada
#26  

@Richard R Thank you:) and yes I am rolling with it have been for some time now just have not posted about it till now .... I was kinda holding off for a bit ... was going to post about it a month ago but had a lot on the go and my computer was messing up big time along with my internet and and and lol

But now im "trying" to be more active on here and maybe become a little more useful lol

United Kingdom
#27  

@Richard, try the pandora bot control and see how satisfied you are with a conversation between you and the bot. There is a huge difference in accuracy between grammar mode and dictation mode.

I'm not saying it wont work I'm saying the accuracy and overall results will be much higher by using phrase lists (grammar mode) over nothing to reference against (dictation mode). I've never been satisfied with the results given from dictation mode on any application however will admit my standards are extremely high though.

#28  

@Wolfe, its not the storing so much as the retrieving specific pieces of data on demand. For example, the last time the temp outside was x and the humidity was y rich had me set the thermostat to z. If rich had me do this many times, I would then be able to average these Z's for the conditions of X and Y. That would be a cool feature for his home automation through Jarvis.

a query to get this data would be very easy to write and would be able to retrieve the data quickly. Im getting off the subject of this thread, but you get the idea.

Canada
#29  

You can save it all to a txt file and the retrieve it at and time as well as update it at any time you just need to work it into your scripts to have it saved to a txt file in a way what a script can work with it Right now I cant think of how as ive been up way to long so my mind is turned off so much that I don't even know if im really typing this or if im in bed sleeping lol

how I would save it to txt file would be some thing like

variable = data and so on

Then a script could work with it and reload it at any time and or update it I cant think of how right now but is should be fairly "ez" I believe @Rich knows what I mean and could script that in less than 5 minutes as well as many others on here so far I have not gotten that far with programming ARC yet once ARC starts working with ini files aka info files "your computer is full of them" then saving data will be a lot simpler to work with but that could be some time yet to be implemented

#30  

@Rich... Thanks for the clarification.... I think we discussed this before here, actually... Totally forgot about grammar vs dictation.... Yes I have tried Pandorabot... so point taken....

Cheers Richard

#31  

The difference is that a query can be executed that puts the processing on the database to return the result you are looking for and this is all done very quickly.

I now have an app that will read variables from ARC and insert them into a mssql database table. Tomorrow I will work on being able to call this exe and pass in the variable name you are wanting to store. After that, I will make it more configurable, and then make it work with a MySQL database.

I will probably make this just return the query result to a variable called $sqlresult for now. I haven't really thought about it yet.

Right now, it simply stores the robot name, variable name, variable value and a primary key. The variable value is a varchar(max) field.

that is the goal for the first version. Who knows what will come after that.

#32  

Man, I love this community. Database access from ARC. I can probably think of hundreds of uses for that.

Alan

#33  

This is such a cool place.... Glad to be a member....