Award
Congratulations CochranRobotics, for answering the question and has received an EZ-Credit award! Share what you have learned and create a tutorial to help others by clicking here.

Help Creating A "reminder" Script

Assistance Requested

Help Steve G with their question and receive $10 of EZ-Credit to get more robots and parts from our store. The following information was provided about their previous efforts searching tutorials for a resolution.

Steve G claims to have checked these sources:
 
#1

Hey everyone.

I'm looking for a little help or examples to create a "reminders" script via speech to text. What I'm looking to do is something like the following example...

Human
"Robot. Set a reminder for 3:30pm to remind me to take my pills."

Robot
"Understood. A reminder has been set for 3:30pm as requested."

And when 3:30pm arrives...

Robot
"It is now 3:30pm. Time to take your pills."

I have tried various ways of combining elements of a "say the time" and a simple "alarm" script, but so far have not had any luck. I would like it to be dynamic in the fact that any "time" I verbally say to the robot via speech recognition would be recognised and automatically set, without manual input like physically typing out an alarm script. The problems I'm facing with this is...

1.) One way of doing this would be to write multiple scripts, each containing every permutation of hours and minutes within the 24 hour clock, or to go even further, days, weeks or months (which would obviously be a heck of a lot of scripts). The "Say the time" script I have uses vairables, so I know this would shorten the process.

2.) The the speech to text side of things where the reminder subjects such as "pills" "Take out the trash" "Your favourite TV show is about to start" for example, would need to input verbally and in to a dynamic script. Essentially, editing an existing script via speech recognition.

I hope what I wrote above is clear enough in explaining what I'm asking, and any help or script examples anyone can offer would be appreciated, as I've had no success with this so far, and I think I'm a little out of my depth with this one.

Thanks guys.

Steve. Smile

I have found a few conversations, tutorials and activities that may help with your question. Take a look at these links. I've sorted them by what I believe to be most relevant but that is not always the case as I'm still learning.


Also, consider reviewing the Learn section for informative lessons and activities. Check it out!


#2

I know you are looking for a robot solution, but I just use Google Now on my phone. Works flawlessly. I haven't looked much at Pandora Bots, any similar function there?

Alan

#3

EZ-AI has reminders in it. If you would like, I can connect and show you how it works.

#4

In EZ-AI reminders are set for specific users. The reminder can be set for specific days of the week, specific days of the month, or every day. What the robot says for each reminder is configurable for each reminder. It looks like I need to add a time column in though to make it speak these reminders when a user is recognized at a specific time. I have added this to the list. Events could be added though which allow you to specify specific times, but these are not marked as repeatable. There could be a change made here to make it repeatable. I will also add that to the list for the next release.

There is also a way to have the robot ask you questions and you reply to setup a specific reminder for a specific user.

The sample project here has a lot of this built into it.

#5

@Alan.

Agreed, Google is pretty good for that (I use my iPhones Siri for that also), but as you say, I fancied having EZ-Builder doing it too. In not too sure about Pandorabot for this function. I only really know how to write the AIML for the conversation side of things.

@David.

Thanks for the offer, but I'm not going to use EZ-AI for this particular project, as I want to keep this one all confined to EZ Builder.

#6

The thing that you have to have to make this work is some sort of back end storage to house your reminders. It can either be a database, or cloud storage, or local files. You need to write this information somewhere so that you dont have to keep telling your robot to remind you to take your pills, which you would then just take them when you reminded your robot Smile

It sounds like writing this information to a text file would be the most likely solution for you. You would then query the text file to load the schedule into variables in your project when the project loads, which would build an array of reminders based on what is in the text file.

To write to the text file, I would recommend having the robot ask you questions like What hour is the reminder for? What minute is the reminder for? It this an everyday reminder or a specific day of the month? From there, you could house the data and use it as mentioned above.

#7

One more thing to add...
EZ-Builder's voice recognition is only based on what it has available in the recognition component. This is done so that the speech recognition is far more reliable. You would need to add each possible minute, hour and type of reminder to the speech recognition component for your robot to be able to understand what you are asking it to do.

#8

@ David
Your just about to convince me I need the EZ-AI to develop my inmoov project.
Not yet, I am still printing, assembling and writing basic low level script.

#9

@David.

I had a feeling about the voice recognition part, as you say, it only acts on inputs written in the config menu.

Writing the info to a text file sounds like the best solution. The "Pills" example was probably a bad one, more like "Remind me to by some beer at 2pm" would have been a better example (not that I need reminding to buy beer Winky).
I just wanted to add that I don't want to use EZ-AI for this, as this project will mainly be running off a tablet, so I want to keep system resourse's light, but will be something I'll look at for PC run projects. Smile

#10

Once I complete my inmoov build, I will get back to working on EZ-AI. I started the project as a way to handle many of the things that people had asked about on this forum that were difficult to do with scripting. I will be using my inmoov as the building platform for EZ-AI when I complete it. There is a lot in EZ-AI and I believe that it will be beneficial for many people. My hope is that the upper body will be completed in about a month and then I can focus on the base. Once that is complete I will be turning my focus back to EZ-AI again. I really miss working on it but am enjoying my inmoov build.