/Intellejos

Lego RCX Simulator in Java

Primary LanguageJava

<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=windows-1252">
<meta name=ProgId content=Word.Document>
<meta name=Generator content="Microsoft Word 11">
<meta name=Originator content="Microsoft Word 11">
<base target="_blank">
<link rel=File-List href="manual_files/filelist.xml">
<title>Intellejos User Manual</title>
<!--[if gte mso 9]><xml>
 <o:DocumentProperties>
  <o:Author>Tijn Kooijmans</o:Author>
  <o:LastAuthor>Tijn Kooijmans</o:LastAuthor>
  <o:Revision>2</o:Revision>
  <o:TotalTime>214</o:TotalTime>
  <o:Created>2005-02-10T13:20:00Z</o:Created>
  <o:LastSaved>2005-02-10T13:20:00Z</o:LastSaved>
  <o:Pages>1</o:Pages>
  <o:Words>523</o:Words>
  <o:Characters>2982</o:Characters>
  <o:Company>Technische Universiteit Eindhoven</o:Company>
  <o:Lines>24</o:Lines>
  <o:Paragraphs>6</o:Paragraphs>
  <o:CharactersWithSpaces>3499</o:CharactersWithSpaces>
  <o:Version>11.5606</o:Version>
 </o:DocumentProperties>
</xml><![endif]--><!--[if gte mso 9]><xml>
 <w:WordDocument>
  <w:View>MasterPages</w:View>
  <w:SpellingState>Clean</w:SpellingState>
  <w:GrammarState>Clean</w:GrammarState>
  <w:PunctuationKerning/>
  <w:ValidateAgainstSchemas/>
  <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
  <w:IgnoreMixedContent>false</w:IgnoreMixedContent>
  <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>
  <w:Compatibility>
   <w:BreakWrappedTables/>
   <w:SnapToGridInCell/>
   <w:WrapTextWithPunct/>
   <w:UseAsianBreakRules/>
   <w:DontGrowAutofit/>
  </w:Compatibility>
  <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel>
 </w:WordDocument>
</xml><![endif]--><!--[if gte mso 9]><xml>
 <w:LatentStyles DefLockedState="false" LatentStyleCount="156">
 </w:LatentStyles>
</xml><![endif]-->
<style>
<!--
 /* Font Definitions */
 @font-face
	{font-family:Wingdings;
	panose-1:5 0 0 0 0 0 0 0 0 0;
	mso-font-charset:2;
	mso-generic-font-family:auto;
	mso-font-pitch:variable;
	mso-font-signature:0 268435456 0 0 -2147483648 0;}
@font-face
	{font-family:Tahoma;
	panose-1:2 11 6 4 3 5 4 4 2 4;
	mso-font-charset:0;
	mso-generic-font-family:swiss;
	mso-font-pitch:variable;
	mso-font-signature:1627421319 -2147483648 8 0 66047 0;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
	{mso-style-parent:"";
	margin:0cm;
	margin-bottom:.0001pt;
	mso-pagination:widow-orphan;
	font-size:12.0pt;
	font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";}
h1
	{mso-style-next:Normal;
	margin-top:12.0pt;
	margin-right:0cm;
	margin-bottom:3.0pt;
	margin-left:0cm;
	mso-pagination:widow-orphan;
	page-break-after:avoid;
	mso-outline-level:1;
	font-size:16.0pt;
	font-family:Arial;
	mso-font-kerning:16.0pt;}
h2
	{mso-style-next:Normal;
	margin-top:12.0pt;
	margin-right:0cm;
	margin-bottom:3.0pt;
	margin-left:0cm;
	mso-pagination:widow-orphan;
	page-break-after:avoid;
	mso-outline-level:2;
	font-size:14.0pt;
	font-family:Arial;
	font-style:italic;}
h3
	{mso-style-next:Normal;
	margin-top:12.0pt;
	margin-right:0cm;
	margin-bottom:3.0pt;
	margin-left:0cm;
	mso-pagination:widow-orphan;
	page-break-after:avoid;
	mso-outline-level:3;
	font-size:13.0pt;
	font-family:Arial;}
h4
	{mso-style-next:Normal;
	margin-top:12.0pt;
	margin-right:0cm;
	margin-bottom:3.0pt;
	margin-left:0cm;
	mso-pagination:widow-orphan;
	page-break-after:avoid;
	mso-outline-level:4;
	font-size:14.0pt;
	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.MsoDocumentMap, li.MsoDocumentMap, div.MsoDocumentMap
	{mso-style-noshow:yes;
	margin:0cm;
	margin-bottom:.0001pt;
	mso-pagination:widow-orphan;
	background:navy;
	font-size:10.0pt;
	font-family:Tahoma;
	mso-fareast-font-family:"Times New Roman";}
span.SpellE
	{mso-style-name:"";
	mso-spl-e:yes;}
span.GramE
	{mso-style-name:"";
	mso-gram-e:yes;}
@page Section1
	{size:595.3pt 841.9pt;
	margin:72.0pt 90.0pt 72.0pt 90.0pt;
	mso-header-margin:35.4pt;
	mso-footer-margin:35.4pt;
	mso-paper-source:0;}
div.Section1
	{page:Section1;}
 /* List Definitions */
 @list l0
	{mso-list-id:303971641;
	mso-list-type:hybrid;
	mso-list-template-ids:-821107052 67698689 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;}
@list l0:level1
	{mso-level-number-format:bullet;
	mso-level-text:\F0B7;
	mso-level-tab-stop:36.0pt;
	mso-level-number-position:left;
	text-indent:-18.0pt;
	font-family:Symbol;}
@list l1
	{mso-list-id:465436749;
	mso-list-type:hybrid;
	mso-list-template-ids:1734658064 67698689 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;}
@list l1:level1
	{mso-level-number-format:bullet;
	mso-level-text:\F0B7;
	mso-level-tab-stop:54.0pt;
	mso-level-number-position:left;
	margin-left:54.0pt;
	text-indent:-18.0pt;
	font-family:Symbol;}
@list l2
	{mso-list-id:810172893;
	mso-list-type:hybrid;
	mso-list-template-ids:496154160 67698689 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;}
@list l2:level1
	{mso-level-number-format:bullet;
	mso-level-text:\F0B7;
	mso-level-tab-stop:36.0pt;
	mso-level-number-position:left;
	text-indent:-18.0pt;
	font-family:Symbol;}
@list l3
	{mso-list-id:1000307207;
	mso-list-type:hybrid;
	mso-list-template-ids:-1602699894 67698689 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;}
@list l3:level1
	{mso-level-number-format:bullet;
	mso-level-text:\F0B7;
	mso-level-tab-stop:36.0pt;
	mso-level-number-position:left;
	text-indent:-18.0pt;
	font-family:Symbol;}
@list l3:level2
	{mso-level-number-format:bullet;
	mso-level-text:o;
	mso-level-tab-stop:72.0pt;
	mso-level-number-position:left;
	text-indent:-18.0pt;
	font-family:"Courier New";}
@list l4
	{mso-list-id:1174809164;
	mso-list-type:hybrid;
	mso-list-template-ids:-1204379474 67698689 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;}
@list l4:level1
	{mso-level-number-format:bullet;
	mso-level-text:\F0B7;
	mso-level-tab-stop:54.0pt;
	mso-level-number-position:left;
	margin-left:54.0pt;
	text-indent:-18.0pt;
	font-family:Symbol;}
@list l5
	{mso-list-id:1520774360;
	mso-list-type:hybrid;
	mso-list-template-ids:-2119515960 67698689 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;}
@list l5:level1
	{mso-level-number-format:bullet;
	mso-level-text:\F0B7;
	mso-level-tab-stop:54.0pt;
	mso-level-number-position:left;
	margin-left:54.0pt;
	text-indent:-18.0pt;
	font-family:Symbol;}
ol
	{margin-bottom:0cm;}
ul
	{margin-bottom:0cm;}
-->
</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:0cm 5.4pt 0cm 5.4pt;
	mso-para-margin:0cm;
	mso-para-margin-bottom:.0001pt;
	mso-pagination:widow-orphan;
	font-size:10.0pt;
	font-family:"Times New Roman";
	mso-ansi-language:#0400;
	mso-fareast-language:#0400;
	mso-bidi-language:#0400;}
</style>
<![endif]-->
</head>

<body lang=EN-US link=blue vlink=purple style='tab-interval:36.0pt'>

<div class=Section1>

<h1><span style='font-size:24.0pt'>Intellejos<o:p></o:p></span></h1>

<h1>Introduction </h1>

<p class=MsoNormal>The Intellejos system is based on <span class=SpellE>Intellego</span>,
a basic robot simulator designed for robotics researchers. The purpose of
Intellejos is to learn programming in Java using the <span class=SpellE>LeJOS</span>
(Lego Java Operating System) platform. It offers the possibility to quickly
test certain algorithms that will be used for Lego Mindstorms, without having
to build the full robot. This manual explains how to use Intellejos and implement
your own robots and worlds. Any questions or remarks can be sent to <a
href="mailto:intellejos@kooijmans.nu">intellejos@kooijmans.nu</a>. </p>

<h1>User Manual for Windows</h1>

<h3>Required software</h3>

<ul style='margin-top:0cm' type=disc>
 <li class=MsoNormal style='mso-list:l3 level1 lfo3;tab-stops:list 36.0pt'>It
     is necessary to have the Java Runtime Environment and Java Development Kit
     installed. Please find the latest copy at <a href="http://java.sun.com/">http://java.sun.com</a>.
     </li>
</ul>

<h3>Setting up Intellejos</h3>

<ul style='margin-top:0cm' type=disc>
 <li class=MsoNormal style='mso-list:l3 level1 lfo3;tab-stops:list 36.0pt'>Download
     a copy of Intellejos <a
     href="http://www.kooijmans.nu/intellejos/intellejos.zip">here</a>.</li>
 <li class=MsoNormal style='mso-list:l3 level1 lfo3;tab-stops:list 36.0pt'>After
     downloading the .zip file that contains a version of Intellejos, unzip it
     to a preferred directory.</li>
 <li class=MsoNormal style='mso-list:l3 level1 lfo3;tab-stops:list 36.0pt'>Edit
     the �<span class=SpellE>setup.bat</span>� file in the root directory of
     Intellejos and change the INTELLEJOS_HOME and JAVA_HOME variables to point
     to the correct paths. </li>
 <li class=MsoNormal style='mso-list:l3 level1 lfo3;tab-stops:list 36.0pt'>Run
     the �<span class=SpellE>build.bat</span>� file to compile the software.</li>
</ul>

<h3>Running Intellejos</h3>

<ul style='margin-top:0cm' type=disc>
 <li class=MsoNormal style='mso-list:l3 level1 lfo3;tab-stops:list 36.0pt'>After
     setting up you can start Intellejos by running the �<span class=SpellE>Intellejos.bat</span>�
     file.</li>
 <li class=MsoNormal style='mso-list:l3 level1 lfo3;tab-stops:list 36.0pt'>When
     the Intellejos window appears you can open a simulation world by choosing �pick
     simworld� in the control-menu.</li>
 <li class=MsoNormal style='mso-list:l3 level1 lfo3;tab-stops:list 36.0pt'>To
     place <span class=GramE>a robot in the simworld choose</span> �add robot�
     in the control-menu. Enter coordinates and bearing of the robot and choose
     OK. The coordinates are relative to the upper-left corner of the window in
     pixels. The robot will automatically start after loading it in the
     simworld.</li>
</ul>

<h3>Building your own <span class=SpellE>simworlds</span></h3>

<ul style='margin-top:0cm' type=disc>
 <li class=MsoNormal style='mso-list:l3 level1 lfo3;tab-stops:list 36.0pt'>Self-made
     simworld classes can be added to the �simworld� directory of Intellejos.
     You can make your own simworld classes by extending the �<span
     class=SpellE>BasicSimWorld</span>� class. Adding objects of �<span
     class=SpellE>SimWall</span>� and �<span class=SpellE>SimPath</span>� to
     the class, as demonstrated in the enclosed examples, gives you the ability
     to fill the simworld with walls and paths.</li>
 <li class=MsoNormal style='mso-list:l3 level1 lfo3;tab-stops:list 36.0pt'>After
     programming the simworld run �<span class=SpellE>build.bat</span>� to
     compile. </li>
</ul>

<h3>Programming the robot</h3>

<ul style='margin-top:0cm' type=disc>
 <li class=MsoNormal style='mso-list:l3 level1 lfo3;tab-stops:list 36.0pt'>Write
     a java program as you would normally do for Lego Mindstorms and place it
     in the �robots� directory. An example robot is available in this
     directory. The file with the �public static void <span class=GramE>main(</span>String[]
     <span class=SpellE>args</span>)� method can be loaded into the simulator.
     There are some differences however:</li>
 <ul style='margin-top:0cm' type=circle>
  <li class=MsoNormal style='mso-list:l3 level2 lfo3;tab-stops:list 72.0pt'>The
      <span class=SpellE>LeJOS</span> packages that you need to control the
      robot are modified and there is only a limited set of <span class=SpellE>LeJOS</span>
      classes available in the simulator. You can find the API docs in the �<span
      class=SpellE>lejos</span>\docs� directory of Intellejos. </li>
  <li class=MsoNormal style='mso-list:l3 level2 lfo3;tab-stops:list 72.0pt'>While
      you would normally import �<span class=SpellE>josx.xxxx</span>.*�, you
      need to change �<span class=SpellE>josx</span>� to �<span class=SpellE>lejos</span>�
      in the simulator. This is to prevent the simulator from using the wrong
      packages.<span style='mso-spacerun:yes'>  </span></li>
  <li class=MsoNormal style='mso-list:l3 level2 lfo3;tab-stops:list 72.0pt'>Normally
      a Lego Mindstorms robot will exit after the main method is finished. This
      however, is not the same for an Intellejos robot, which will continue
      running. </li>
 </ul>
 <li class=MsoNormal style='mso-list:l3 level1 lfo3;tab-stops:list 36.0pt'>After
     programming your robot run �<span class=SpellE>build.bat</span>� to
     compile. </li>
 <li class=MsoNormal style='mso-list:l3 level1 lfo3;tab-stops:list 36.0pt'>When
     loading the robot in Intellejos, the contents of the �args.txt� file in
     the �robots� directory will be given as an argument to the main method of
     the robot. </li>
</ul>

<h1>References</h1>

<ul style='margin-top:0cm' type=disc>
 <li class=MsoNormal style='mso-list:l3 level1 lfo3;tab-stops:list 36.0pt'><span
     class=SpellE>LeJOS</span>: <a href="http://lejos.sourceforge.net/">http://lejos.sourceforge.net</a>
     </li>
 <li class=MsoNormal style='mso-list:l3 level1 lfo3;tab-stops:list 36.0pt'><span
     class=SpellE>Intellego</span> robot emulator: <a
     href="http://homepages.inf.ed.ac.uk/s0237680/intellego/intellego.html">http://homepages.inf.ed.ac.uk/s0237680/intellego/intellego.html</a></li>
</ul>

<h1><o:p>&nbsp;</o:p></h1>

<p class=MsoNormal>© 2004 Tijn Kooijmans</p>

</div>

</body>

</html>