United Kingdom
Asked — Edited
Resolved Resolved by CochranRobotics!

Help Creating A Reminder Script

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. :)


ARC Pro

Upgrade to ARC Pro

Become a Synthiam ARC Pro subscriber to unleash the power of easy and powerful robot programming

#1  

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

#2  

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

#3  

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.

United Kingdom
#4  

@Alan.

Agreed, Google is pretty good for that (I use my iPhones Siri for that also), but as you say, I fancied having ARC 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 ARC.

#5  

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 :)

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.

#6  

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.

Canada
#7  

@ 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.

United Kingdom
#8  

@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 ;)). 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. :)

#9  

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.

United Kingdom
#10  

Good for you. I'm pleased your enjoying the build. I can't wait to see your finished InMoov buddy.

#11  

Thanks Steve,

I dont have an issue at all with people not using EZ-AI. I completely understand needing light weight stuff. We don't use it in the class that I teach as the computers are too lightweight to handle it. I should be teaching a more advanced class next year that will go into C# programming. I will introduce EZ-AI to these students and have them recreate some of what I have done with EZ-AI and have them come up with other things that they think a robot should be able to do.

I would still download the sample project I posted earlier and check out how I format the data for spoken reminders. From there, you would just write the piece that reads and writes from a text file. It will give you a good head start or at least let you see how someone else is doing this.

United Kingdom
#12  

No problem. I'll check that project out. Thanks again.

United Kingdom
#13  

Steve G, what about giving you EZB-v4 a sense of time with a RTC (real time clock) module. You would be able to poll it in your main program and do a time comparison (per poll cycle) with a reminder listing that has been set up. These RTC modules are only a few quid on ebay and they come with back-up battery, here is one.

www.ebay.co.uk/itm/DS1307-I2C-RTC-AT24C32-Real-Time-Clock-Board-Module-Arduino-ARM-PIC-UK-SELLER-/400871752739?pt=LH_DefaultDomain_3&hash=item5d55d18423

They connect via I2C so are easy to use. I use these together with an Atomic clock module (that automatically sets/changes the time) with a custom PIC that then sends the time/date data to the v4, here is my setup.

User-inserted image

You probably do not need the Atomic clock module so you would not need the custom PIC which just decodes the MSF time signal.

Hope this is of some use.

Tony

United Kingdom
#14  

@Tony.

Thanks for that. It looks like a neat little bit of kit. It defiantly looks like something I could use and is certainly cheap enough. I can see a few potential uses for this so might grab myself a couple.

Thanks again. :)

Steve.