<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=us-ascii">
<meta name=ProgId content=Word.Document>
<meta name=Generator content="Microsoft Word 10">
<meta name=Originator content="Microsoft Word 10">
<link rel=File-List href="cid:filelist.xml@01C57E50.FBAAB7C0">
<!--[if gte mso 9]><xml>
<o:OfficeDocumentSettings>
<o:DoNotRelyOnCSS/>
</o:OfficeDocumentSettings>
</xml><![endif]--><!--[if gte mso 9]><xml>
<w:WordDocument>
<w:View>Normal</w:View>
<w:ActiveWritingStyle Lang="EN-US" VendorID="64" DLLVersion="131078"
NLCheck="1">1</w:ActiveWritingStyle>
<w:GrammarState>Clean</w:GrammarState>
<w:DocumentKind>DocumentEmail</w:DocumentKind>
<w:EnvelopeVis/>
<w:Compatibility>
<w:BreakWrappedTables/>
<w:SnapToGridInCell/>
<w:WrapTextWithPunct/>
<w:UseAsianBreakRules/>
</w:Compatibility>
<w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel>
</w:WordDocument>
</xml><![endif]-->
<style>
<!--
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{mso-style-parent:"";
margin:0in;
margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:12.0pt;
font-family:"Times New Roman";
mso-fareast-font-family:"Times New Roman";}
a:link, span.MsoHyperlink
{color:blue;
text-decoration:underline;
text-underline:single;}
a:visited, span.MsoHyperlinkFollowed
{color:purple;
text-decoration:underline;
text-underline:single;}
p.MsoPlainText, li.MsoPlainText, div.MsoPlainText
{margin:0in;
margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:10.0pt;
font-family:"Courier New";
mso-fareast-font-family:"Times New Roman";}
span.GramE
{mso-style-name:"";
mso-gram-e:yes;}
@page Section1
{size:8.5in 11.0in;
margin:1.0in 77.95pt 1.0in 77.95pt;
mso-header-margin:.5in;
mso-footer-margin:.5in;
mso-paper-source:0;}
div.Section1
{page:Section1;}
/* List Definitions */
@list l0
{mso-list-id:1922761668;
mso-list-type:hybrid;
mso-list-template-ids:411749074 -373764430 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;}
@list l0:level1
{mso-level-text:"%1\)";
mso-level-tab-stop:24.0pt;
mso-level-number-position:left;
margin-left:24.0pt;
text-indent:-.25in;}
@list l0:level2
{mso-level-tab-stop:1.0in;
mso-level-number-position:left;
text-indent:-.25in;}
@list l0:level3
{mso-level-tab-stop:1.5in;
mso-level-number-position:left;
text-indent:-.25in;}
@list l0:level4
{mso-level-tab-stop:2.0in;
mso-level-number-position:left;
text-indent:-.25in;}
@list l0:level5
{mso-level-tab-stop:2.5in;
mso-level-number-position:left;
text-indent:-.25in;}
@list l0:level6
{mso-level-tab-stop:3.0in;
mso-level-number-position:left;
text-indent:-.25in;}
@list l0:level7
{mso-level-tab-stop:3.5in;
mso-level-number-position:left;
text-indent:-.25in;}
@list l0:level8
{mso-level-tab-stop:4.0in;
mso-level-number-position:left;
text-indent:-.25in;}
@list l0:level9
{mso-level-tab-stop:4.5in;
mso-level-number-position:left;
text-indent:-.25in;}
ol
{margin-bottom:0in;}
ul
{margin-bottom:0in;}
-->
</style>
<!--[if gte mso 10]>
<style>
/* Style Definitions */
table.MsoNormalTable
{mso-style-name:"Table Normal";
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-parent:"";
mso-padding-alt:0in 5.4pt 0in 5.4pt;
mso-para-margin:0in;
mso-para-margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:10.0pt;
font-family:"Times New Roman";}
</style>
<![endif]-->
</head>
<body lang=EN-US link=blue vlink=purple style='tab-interval:.5in'>
<div class=Section1>
<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>Hello,<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'><span style='mso-spacerun:yes'> </span>I am trying to scan and
encode objects that aren't of the predefined types and which will have
different (more) slots describing properties of the visual objects.<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'><o:p> </o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>To accomplish <span class=GramE>this a</span> new <font color=blue><span
style='color:blue'>icon-feature</span></font> subclass was created (called <font
color=blue><span style='color:blue'>aircraft-icon</span></font>) and it was
given an initial additional slot called <font color=blue><span
style='color:blue'>direction</span></font> (indicating the orientation of the
aircraft icon with respect to a fixed location).<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'><o:p> </o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>(<span class=GramE>defclass</span> aircraft-icon (actr:icon-feature)<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'><span style='mso-spacerun:yes'> </span>((actr<span class=GramE>:direction</span>
:accessor actr:direction :initarg :direction<o:p></o:p></span></font></p>
<p class=MsoPlainText style='text-indent:.5in'><font size=2 face="Courier New"><span
style='font-size:10.0pt'><span style='mso-spacerun:yes'> </span><span
class=GramE>:initform</span> 0))<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'><span style='mso-spacerun:yes'> </span>(<span class=GramE>:default</span>-initargs<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'><span style='mso-spacerun:yes'> </span><span class=GramE>:kind</span>
'actr:visual-object))<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'><o:p> </o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'><o:p> </o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>Additionally, <font color=blue><span style='color:blue'>build-group-features-for</span></font>
methods were specialized on this new aircraft-icon to compute and fill in the
visicon properly (with the new slot). <o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'><o:p> </o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>When I run such a system, I can initiate visual-location requests like:<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'><o:p> </o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>+visual-location><o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'><span style='mso-spacerun:yes'> </span><span class=GramE>isa</span><span
style='mso-spacerun:yes'> </span>visual-location<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'><span style='mso-spacerun:yes'> </span><span class=GramE>kind</span><span
style='mso-spacerun:yes'> </span>visual-object<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'><span style='mso-spacerun:yes'> </span><span class=GramE>value</span><span
style='mso-spacerun:yes'> </span>:friendly <span
style='mso-spacerun:yes'> </span><-- that slot is set in the
build-group-features-for<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'><o:p> </o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'><o:p> </o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>This works, and I can then do a move-attention in the visual module
given the retrieved visual-location.<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'><span style='mso-spacerun:yes'> </span><o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>However, there is no direction slot in the chunk. If I change the slot
setting of, <span class=GramE>say, :height</span> in build-groups-features-for
to the result of computing the aircraft direction, then the chunk will have the
direction instead of height specified.<span style='mso-spacerun:yes'>
</span>But there won’t be a direction slot at all.<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'><o:p> </o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'><o:p> </o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>To get the direction slot, I changed my definition of the aircraft-icon
class to set the default value for kind to something other than visual-object<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'><o:p> </o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>(<span class=GramE>defclass</span> aircraft-icon (actr:icon-feature)<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'><span style='mso-spacerun:yes'> </span>((actr<span class=GramE>:direction</span>
:accessor actr:direction :initarg :direction<o:p></o:p></span></font></p>
<p class=MsoPlainText style='text-indent:.5in'><font size=2 face="Courier New"><span
style='font-size:10.0pt'><span style='mso-spacerun:yes'> </span><span
class=GramE>:initform</span> 0))<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'><span style='mso-spacerun:yes'> </span>(<span class=GramE>:default</span>-initargs<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'><span style='mso-spacerun:yes'> </span><span class=GramE>:kind</span>
<font color=blue><span style='color:blue'>'actr::aircraft-object</span></font>))<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'><o:p> </o:p></span></font></p>
<p class=MsoPlainText><span class=GramE><font size=2 face="Courier New"><span
style='font-size:10.0pt'>and</span></font></span> then, in my model, put <o:p></o:p></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'><o:p> </o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'><span style='mso-spacerun:yes'> </span>(<span class=GramE>chunk-type</span>
(aircraft-object (:include visual-object)) direction)<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'><span style='mso-spacerun:yes'> </span>(<span class=GramE>define-chunks</span>
(aircraft-object isa chunk))<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'><o:p> </o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>With this change I know do visual-requests where the KIND slot is
aircraft-object and when I run my model, the visual chunk returned does have
the direction slot in it.<span style='mso-spacerun:yes'> </span>However,
it was always NIL (even though it was set properly in the visicon –
inspecting that when all was done had the correct values in the visicon objects).<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'><o:p> </o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>I then proceeded to add a method <font color=blue><span
style='color:blue'>feat-to-dmo</span></font> specialized on the aircraft-icon
class identical to the default with one exception – I added <span
class=GramE>a direction</span> filler.<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'><o:p> </o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>(<span class=GramE>defmethod</span> actr::feat-to-dmo ((feat
aircraft-icon))<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'><span style='mso-spacerun:yes'> </span>(<span class=GramE>setf</span>
(actr::attended-p feat) t)<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'><span style='mso-spacerun:yes'> </span>(<span class=GramE>actr</span>::make-dme
(actr::dmo-id feat) (actr::kind feat)<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'><span
style='mso-spacerun:yes'>
</span><span class=GramE>`(</span>actr::screen-pos ,(actr::id (actr::xy-to-dmo
(actr::xy-loc feat) t))<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'><span
style='mso-spacerun:yes'>
</span><span class=GramE>actr::value ,(</span>actr::val feat)<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'><span
style='mso-spacerun:yes'>
</span><span class=GramE>actr::color ,(</span>actr::color feat)<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'><span
style='mso-spacerun:yes'>
</span><span class=GramE>actr::height ,(</span>actr::height feat)<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'><span
style='mso-spacerun:yes'>
</span><span class=GramE>actr::width ,(</span>actr::width feat)<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'><span
style='mso-spacerun:yes'>
</span><span class=GramE><font color=blue><span style='color:blue'>actr::direction
,(</span></font></span><font color=blue><span style='color:blue'>actr::direction
feat</span></font>)<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'><span
style='mso-spacerun:yes'>
</span>)<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'><span
style='mso-spacerun:yes'>
</span><span class=GramE>:obj</span> (actr::screen-obj feat)<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'><span
style='mso-spacerun:yes'>
</span><span class=GramE>:where</span> :external))<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'><o:p> </o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'><o:p> </o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>Now, everything works.<span style='mso-spacerun:yes'> </span>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):<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'><o:p> </o:p></span></font></p>
<p class=MsoPlainText style='margin-left:24.0pt;text-indent:-.25in;mso-list:
l0 level1 lfo1;tab-stops:list 24.0pt'><![if !supportLists]><font size=2
face="Courier New"><span style='font-size:10.0pt;mso-fareast-font-family:"Courier New"'><span
style='mso-list:Ignore'>1)<font size=1 face="Times New Roman"><span
style='font:7.0pt "Times New Roman"'> </span></font></span></span></font><![endif]>Is
this the proper way to be adding new visual object types to the system for
accessing special slots and such?<span style='mso-spacerun:yes'> </span>(<span
class=GramE>ie</span> adding that feat-to-dmo method specialized on
aircraft-icon??) <o:p></o:p></p>
<p class=MsoPlainText style='margin-left:24.0pt;text-indent:-.25in;mso-list:
l0 level1 lfo1;tab-stops:list 24.0pt'><![if !supportLists]><font size=2
face="Courier New"><span style='font-size:10.0pt;mso-fareast-font-family:"Courier New"'><span
style='mso-list:Ignore'>2)<font size=1 face="Times New Roman"><span
style='font:7.0pt "Times New Roman"'> </span></font></span></span></font><![endif]>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.<span style='mso-spacerun:yes'>
</span>I could put and <span class=GramE>advice function</span> 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. <o:p></o:p></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'><o:p> </o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>Sorry for the long winded question.<span
style='mso-spacerun:yes'> </span>I’m new to this and want to know
how to do these things properly.<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'><o:p> </o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>Thank you,<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'><span style='mso-spacerun:yes'> </span>Shawn Nicholson<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'><o:p> </o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'><o:p> </o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt;mso-no-proof:yes'>=======================================<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt;mso-no-proof:yes'>Shawn Nicholson<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt;mso-no-proof:yes'>Research Engineer<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt;mso-no-proof:yes'>D.N. American<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt;mso-no-proof:yes'>shawn.nicholson@dnamerican.com<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt;mso-no-proof:yes'>Ph: (304) 363-6757<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt;mso-no-proof:yes'>Public PGP/GPG Key ID: 0x24A58D96<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt;mso-no-proof:yes'>=======================================<o:p></o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt;mso-no-proof:yes'><o:p> </o:p></span></font></p>
<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'><o:p> </o:p></span></font></p>
</div>
</body>
</html>