[ACT-R-users] Question on new visual objects and accessing in productions
Shawn Nicholson
shawn.nicholson at dnamerican.com
Fri Jul 1 20:41:38 EDT 2005
Great! thanks for the pointers to those docs - exactly what I needed. And as for the feature values being keywords, yes that was actually a typo on my part. In the code they are keywords :friendly, :unfriendly and a couple others, but when I try to access them in productions I found that I could not use the keywords, I had to specify them as non-keywords (and they were found). I will go back and get rid of the keyword specifications though.
Thanks,
Shawn
-----Original Message-----
From: Dan Bothell [mailto:db30 at andrew.cmu.edu]
Sent: Fri 7/1/2005 4:52 PM
To: Shawn Nicholson; act-r-users at act-r.psy.cmu.edu
Cc:
Subject: Re: [ACT-R-users] Question on new visual objects and accessing in productions
--On Friday, July 01, 2005 3:32 PM -0400 Shawn Nicholson
<shawn.nicholson at dnamerican.com> wrote:
>
> Now, everything works. But I am wondering if what I have done is the
> proper method for manipulating specialized icon objects in the vision
> module. My questions (in summary):
>
> 1) Is this the proper way to be adding new visual object types to the
> system for accessing special slots and such? (ie adding that feat-to-dmo
> method specialized on aircraft-icon??)
>
I think you mean build-features-for instead of build-group-features-for,
but otherwise, yeah, that's basically how it's done:
Write a build-features-for to return a custom icon-feature and then
write a feat-to-dmo to convert that icon-feature into a dme/chunk.
There are details in the docs at
<http://chil.rice.edu/projects/RPM/docs/index.html>
for others that are interested, in particular the device interface and
vision module sections.
> 2) Those two lines that I placed in my model seem like they should be
> somewhere in the code where the aircraft-icon feature is defined.
> However, unless I put them in the model, anytime (clear-all) is called,
> the chunk types go away and they no longer exist for use in the
> productions. I could put and advice function around the function
> reset-vision-module (which is where all the basic vision chunks are
> defined) but that doesn't seem to be a clean way to change things.
>
Right, clear-all (or a reset) deletes all chunk-type definitions. The
chunk-type should probably stay in the model. Generally, I would advise
against modifying or extending the main functions of the vision module
(or really any of the modules) unless it's really necessary.
The definition of the chunk named aircraft-object isn't really
necessary because it will get created automatically. [To those that
don't recognize the define-chunks function, it's an ACT-R 6 command for
creating chunks without putting them into DM.] I'm assuming you got a
warning that there wasn't such a chunk since you use it as the value
for kind and then added that to avoid the warning.
One general comment is that I would recommend against using keywords as
slot values i.e. chunk names. In previous versions of ACT-R it could
lead to some really hard to debug code, for example, in ACT-R 5:
CG-USER(3): (add-dm (g isa visual-location value foo kind :foo))
(G)
CG-USER(4): (dm g)
G 0.000
isa VISUAL-LOCATION
screen-x nil
screen-y nil
distance nil
attended nil
kind Foo
color nil
value Foo
size nil
nearest nil
note that it doesn't show the difference in the output. While ACT-R 6
will show that correctly in that case I can't guarantee that it will
treat them correctly everywhere.
Dan
More information about the ACT-R-users
mailing list