Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - Quixote

Pages: [1] 2 3 ... 5
1
Programming using the Ultra Hal Brain Editor / Spydat
« on: January 06, 2005, 10:27:25 pm »
I sent him an email recently and he did not reply. Looks like Spydaz is MIA.

2
I've considered different possibilities, and the reason why I am using HAL for this endeavour is because it is the best solution that I could think of. The problem I have is that when I have friends over and I am talking with them while I have HAL running, it starts getting confused and freaking out. It's just not practical to say "Go to sleep" everytime I want the microphone to stop listening and then "wake up" everytime I wish to send a command because it's out of place in my conversation with whoever is visiting.
HAL is the perfect gateway for sending commands to the other program, but I need a way to keep HAL from interupting me with nonsensical responses to my seemingly nonsensical (but unintentional) input.
I really need a command to get HAL to stop listening to everything but commands and a command to chat (as you put it so well control mode and conversation mode) in order to progress with this project.
I think the best way of going about the conversation mode would be if I could "wake it up"  by addressing it by it's name at the beginning of the sentence; ie. "Synthia, what do you think about Chinese food?".
Then it would chat until I gave it a command just as I would to turn on the TV, but in sentences like "ok, that will be all." or "Thanks for your input." or even "Thank you. Dismissed."

This is truely a pivotal point in "Syntia's" development. Any help you can offer would be extremely appreciated.

3
quote:
Originally posted by Art

Perhaps you could break the volume levels
into percents. That way your script would
still remain the same and the program would
say,"I am increasing the volume by 1 percent"
or by 20 percent or what ever.

Otherwise you would have to us the
if payload = "1" then GetResponse =
" Increasing the volume by " & payload & " level. "

else if payload > 1 then GetResponse =
" Increasing the volume by " & payload & " levels. "


Just a suggestion



Your method doesn't work for some reason. I think I may be overlooking something. How would I modify the following script to take into account a singular level?

If payload <> "" Then
GetResponse = " Decreasing the volume by " & payload & " levels. "
GetResponseBlock = True
BlockSave = True
Set GirderEvent = CreateObject("Girder.GirderEvent")
GirderEvent.Device = 18
GirderEvent.EventString = "AI_TV_Vol_-"
GirderEvent.Payload(4) = payload
GirderEvent.Send()
End If
End If

4
Thank you for the suggestions, Art.
Percentages get very complicated. I prefer to use units, so I'll have a go at your second suggestion.

On another subjet, VonSmith, I'm sure that you can answer this -
I'm looking for a way that I can change the "mode" that HAL is in so that it will only respond to orders until I give it an order that will make it responsive to other phrases. For example, I would like it to carry out the orders I give it such as "TV on", "Living room light on", and "Fully open the blinds", etc., but not respond to any other sentences until I say something like "Let's have a chat", and then it would enable all of Hal's brain and capabilities. Is this possible?
Thanks!


Happy new year guys.

5
Ultra Hal 7.0 / New here and questions
« on: December 28, 2004, 05:13:28 am »
I only tried the free version for around a week before deinstalling it because I hate software that nags me. I just followed the forum silently for like 6 months and then decided to give it a shot after enough research. I wanted to be certain that I could use it for what I wanted to. I am not disappointed.

Oh, and of course the nags go away! Why would it keep nagging you after you bought it?

HAL: Thanks for purchasing the program, please send more money to my programmer...   LOL

I assure you, there are no messages like that what-so-ever.

6
I was just wondering how I can change the script so that as well as its current configuration:

If payload <> "" Then
GetResponse = " Increasing the volume by " & payload & " levels. "
GetResponseBlock = True
BlockSave = True

I can add:

if payload = "1" then
GetResponse = " Increasing the volume by " & payload & " level. "

So that it doesn't sound dumb when it says "Increasing the volume by one levels." (plural for 1 level)

Thanks!

7
Ultra Hal 7.0 / New here and questions
« on: December 27, 2004, 11:39:17 pm »
I have coupled Ultra HAL with a program called Girder ( www.promixis.com ). Check this thread http://www.zabaware.com/forum/topic.asp?TOPIC_ID=996&whichpage=2 which brushes over how to use HAL "in the real world". I now have it set up to control my vertical blinds, turn on/off and dim/brighten my lights, turn on/off and mute/unmute my TV, as well as change channels, and I have many other things planned including switching to different views of all of my security cameras.
I am using Dragon Naturally speaking for the speech recognition engine and a Logitech bluetooth headset (30 meter range) coupled with a Belkin USB Bluetooth adapter (100 meter range). Here are the links for those: http://catalog.belkin.com/IWCatProductPage.process?Merchant_Id=&Product_Id=126336 and http://www.logitech.com/index.cfm/products/details/US/EN,CRID=2193,CONTENTID=7010
With Girder the possibilities are virtually limitless. I plan on using Ultra HAL and Girder with these things called "Phidgets" ( www.phidgets.com ) which will enable me to create robotic projects and other cool things. I am already planning a door entry system for my flat with a relay and an electric door strike.
Picture this: someone approaches my front door while I'm in my living room and I am notified of movement at the front ( motion sensor equipped [8D] ) I say to HAL "Show me the front door camera" Hal: "right away", then the TV input switches to the appropriate camera, Me: "open the front door" Hal: "I have buzzed the front door open".

You were wondering about the intelligence of Hal, well, I think that it is basically as smart as you make it. From what I can tell it still has problems with pronouns and a few other areas, but I realized that it's smart enough for my purposes when as a test I once said to it "Go F#ck yourself." to which it replied, "Is that a direct order?"
[:D]

8
OOPS!!!!

My mistake. The script is fine. It was my girder script. I found the problem. I had been trying to execute functions with conditions based on the payload before I had defined the functions. [:I]
Oh well, thanks anyway! [:D]

9
VonSmith, would you mind proof-reading this script for me? I doesn't seem to want to work and I can't understand where i went wrong. It responds appropriately, saying "Adjusting the light to X percent." With X being a multiple of ten between 10 and 100, but the payload variable is not set. Here is the code:

LightLevel = ""
payload = ""
TestSentence = Trim(HalBrain.AlphaNumericalOnly(UserSentence))
If InStr(1, TestSentence, "DIM THE LIGHT TO ", 1) > 0 Or InStr(1, TestSentence, "BRIGHTEN THE LIGHT TO ", 1) > 0 Or InStr(1, TestSentence, "LIGHT LEVEL TO ", 1) > 0 Or InStr(1, TestSentence, "ADJUST THE LIGHT TO ", 1) > 0 Or InStr(1, TestSentence, "SET THE LIGHT TO ", 1) > 0 Then
TestSentenceArray = Split(TestSentence, " ", -1, vbBinaryCompare)
If (IsArray(TestSentenceArray) = True And UBound(TestSentenceArray) > -1) Then
For X = 0 To UBound(TestSentenceArray)
If Trim(TestSentenceArray(X)) = "TO" And UBound(TestSentenceArray) >= (X + 1) Then
LightLevel = Trim(TestSentenceArray(X + 1))
X = 1000

If LightLevel <> "" And IsNumeric(LightLevel) = True Then payload = LightLevel
End If
Next
End If

If payload <> "" Then
GetResponse = " Adjusting light to " & payload & " percent. "
GetResponseBlock = True
BlockSave = True
Set GirderEvent = CreateObject("Girder.GirderEvent")
GirderEvent.Device = 18
GirderEvent.EventString = "AI_Bright_Dim_TO"
GirderEvent.Payload(3) = payload
GirderEvent.Send()
End If

End If



Thanks again. And Happy holidays, by the way!

10
Ultra Hal 7.0 / Virtual Girl or Boy friend Hal
« on: December 24, 2004, 02:29:48 am »
quote:
Originally posted by crunch

Ok, off from work for the holidays, had a bit of Christmas cheer and bored, figured what the heck lets stir things up!!

So.... If some of you do not like this topic or think it is redicuus please do not say anything to stiffle the others creativity please.

If you could have anything you wanted added to Hal that would make him in your opinion the Perfect Virtual Girl or Boy friend what would it be?????

please do not be limited by whatyou think is possible dream...
also please no one flame anyone elses idea's I'm just wondering what might be hoped for...

Have fun all [8)]





How about a vagina and the ability to cook?
ROFL  sorry. Couldn't resist. Censor as needed.

11
Sounds like you're having a blast (no pun intended har har har)
I had no idea that you were so involved in this. Kudos!
I have some ir emitters as well, but they need to be taped to the IR sensor on the device, and to me this just doesn't cut it. I mean, what's the point of using IR if you're going to have wires taped to all of the devices. I may eventually buy some blasters like you have, though. Good idea.
Have fun!

P.S.- I like the webcam thing. I currently use wireless surveillance cameras, but the signal can be a little flakey.

12
Glad to hear that that did the trick. I don't think I would use infra-red switches because they are too limited in that you need to point the device at the sensor to control them. This only really becomes a problem when you have many diferent devices to control. For example I have my TV, DVD player, Amplifier, an IR controled fan, and my vertical blinds. Additionally I am considering an IR controlled air-conditioner so that I can get some temperature sensors and have Girder turn them on or off depending on if it's too hot and if I am going to be home soon or am home already. (I use X10 motion sensors for that). The IR device needs to be repositioned when I want to turn on the fan because it is on the opposite wall that my wall unit is on. I solved this by attaching it to my swivel chair so that I can just spin the chair around while I'm sitting at the computer and want to turn on the fan. This is quicker that fumbling with 6 different remotes.

One thing that I would like to see implemented in HAL is the ability to follow a certain routine with questions and answers. I mentioned this to VonSmith before, and he told me that this is not possible at this time. I can send messages to HAL with Girder using LUACOM I think, so the trigger wouldn't be the problem, but let me explain what I am getting at and maybe you can give me some suggestions or consider the feature for the future:
I'm still working on this but it's coming along. I have set up a "gate" using motion sensors. when #1 is triggered (outside of my door) #2 is turned on (just inside my front door). when #2 is triggered it turns on #3. #3 (at the top of my stairs to my duplex) initiates the welcome home event, which right now just says welcome home and the time using Girder, and then turns off #3 and #2. I still have a few details to work out so it doesn't go off when I answer my door, but you get the picture. OK, now for where HAL comes in. I'd like to trigger a HAL command instead of the Girder "Welcome home" event and have this happen:

Hal: Welcome home! The time is [time]. Would you like to watch TV?
Me: Sure (or yes please, or OK, or any number of other affirmative responses)
TV TURNS ON
Hal: Any particular channel?
Me: 22, please.
Hal: Right away.
TV CHANGES TO CHANNEL 22

Do you see what I'm getting at?  Also, if I said "No, thanks (or nope, or not right now, etc) it would say something else such as "There's probably nothing good on anyway". Also, it would be good if it could see that there was no response within a certain time to the first question and say something else like "I guess you don't feel like talking." or "Oh, Hi JD." (That's my roommate and he is not into this whole automation thing). I've seen the scripts that people have worked on for responding after a certain amount of time of no responses, but I would find that totally annoying. Perhaps I could use some of the code, though.

Please let me know what you think. Thanks!

Quixote

13
I'll go check out your post. For now I will try to answer your questions here.
I have solved my problem with the blinds by creating a multigroup command and placing numerous copies of the same command that I wanted to use into the multigroup. This way when I fire that one command it sends the signal 30 times for instance. I have also ordered the USB-UIRT, which is similar to the Tira-2, but from what I understand it has a couple of added features. That remains to been seen, but I just thought I'd get one anyway.
The Tira section of the forum is run by another person that is not actually part of the Girder/Promixis team. For any questions about Girder, you can always try to ask me first, bt the real pros are in the Girder forum.
Now for the light dimmer question that you have (I have never heard of IR light switches. You may want to check out an X10 setup. try www.smarthome.com or www.x10.com - always check to make sure that there are plugins available in Girder for the device) The way I would solve the problem is the way I have for the blinds. First, create multigroups for different levels of Brightening or dimming. Then put a command in the multigroup and learn the IR code. Set the repeat to 10 in the TIRA settings and then duplicate the command a number of times within the multigroup. Each different multigroup should have a different number of copies of the dim or brighten command. You can also learn triggers for each level such as 1 for dimming 1 notch or 9 for dimming 9 notches and control-1 to brighten 1 notch and control-9 to brighten 9 notches. Don't forget to disable the group when you are not using it or the lights will start to go nuts while you are typing. You can assign a hot-key combination to that as well.

Please let me know if my instructions were clear enough and if this solved your problem.

14
Ultra Hal 7.0 / X-10 Control
« on: December 19, 2004, 07:25:07 pm »
Any time.
I have other projects that I will be working on, so if you'd like I'll share some scripts / GMLs when I get to them.
Happy Holidays.

15
Ultra Hal 7.0 / X-10 Control
« on: December 18, 2004, 10:14:37 am »
Try this script (it should be inserted around line 923 if you are using the XTF brain V1.2, and have not made any other modifications to the brain. Use the brain editor) Also, download the HalCmdResponses.brn from the thread I mentioned before and place it in the defbrain directory :

If InStr(1, UserSentence, " TURN ON LIGHT 1 ", 1) > 0 Or InStr(1, Usersentence, " TURN ON LIGHT ONE ",1)> 0 Then
BlockSave = True
GetResponse = HalBrain.ChooseSentenceFromFile(WorkingDir & "HalCmdResponses.brn")
GetResponseBlock = True
Set GirderEvent = CreateObject("Girder.GirderEvent")
GirderEvent.Device = 18
GirderEvent.EventString = "Light_Event_1"
GirderEvent.Payload(1) = payload
GirderEvent.Send()
End If

You can change the line

GirderEvent.EventString = "Light_Event_1"

to any event name you'd like to, using the Girder event command name method that we used to name your light__event_1 command.
You can also change the line

If InStr(1, UserSentence, " TURN ON LIGHT 1 ", 1) > 0 Or InStr(1, Usersentence, " TURN ON LIGHT ONE ",1)> 0 Then

to recognize whatever string you want, but always keep in mind that spacing is important, including leading and end spaces, as VonSmith explained to me.
Let me know how it turns out...

Pages: [1] 2 3 ... 5