<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>BrickEngineer: LEGO Design &#187; &#187; tutorial</title>
	<atom:link href="http://www.brickengineer.com/pages/tag/tutorial/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.brickengineer.com/pages</link>
	<description>LEGO Engineering for LEGO NXT and Robot Enthusiasts</description>
	<lastBuildDate>Tue, 10 Mar 2015 04:45:39 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=4.2.39</generator>
	<item>
		<title>LEGO Rendering Tutorial: The Basics</title>
		<link>http://www.brickengineer.com/pages/2009/02/15/lego-rendering-tutorial-the-basics/</link>
		<comments>http://www.brickengineer.com/pages/2009/02/15/lego-rendering-tutorial-the-basics/#comments</comments>
		<pubDate>Mon, 16 Feb 2009 01:44:37 +0000</pubDate>
		<dc:creator><![CDATA[admin]]></dc:creator>
				<category><![CDATA[Rendering]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[animation]]></category>
		<category><![CDATA[exploration]]></category>
		<category><![CDATA[image]]></category>
		<category><![CDATA[LDRAW]]></category>
		<category><![CDATA[LEGO]]></category>
		<category><![CDATA[LEGO mindstorms]]></category>
		<category><![CDATA[list]]></category>
		<category><![CDATA[MLCAD]]></category>
		<category><![CDATA[parts]]></category>
		<category><![CDATA[POV-Ray]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[render]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[solutions]]></category>
		<category><![CDATA[starting]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://www.brickengineer.com/pages/?p=49</guid>
		<description><![CDATA[This is the first in a series of installments that describe how to render high-quality 3D images of your LEGO creations.  You will need the following free software: LDraw MLCad L3P POV-Ray v3.6 which can be downloaded with the LDraw All In One Installer In this tutorial, we will be aiming for a nice simple [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>This is the first in a series of installments that describe how to render high-quality 3D images of your LEGO creations.  You will need the following <em>free</em> software:</p>
<ul>
<li>LDraw</li>
<li>MLCad</li>
<li>L3P</li>
<li>POV-Ray v3.6</li>
</ul>
<p>which can be downloaded with the <a title="LDRAW Installer" href="http://www.ldraw.org/Article104.html" target="_blank">LDraw All In One Installer</a></p>
<p>In this tutorial, we will be aiming for a nice simple still image of three bricks.  In later tutorials, we will animate them.  That will require extra software to put a series of inages together to form a video or an animated gif.  I use Adobe ImageReady to make animated gifs, but there are cheaper solutions.</p>
<p>You can also download all the files we will create here<br />
<a href="http://www.brickengineer.com/pages/files/BE_render_tutorial_1.zip">BE_render_tutorial_1.zip</a><br />
and follow along.</p>
<p><strong>STEP 1: Create an MLCad file of the scene to be rendered<br />
</strong></p>
<p>Open MLCad and prepare to place a few LEGO pieces in the scene.</p>
<p><strong><em>Step 1.1</em>: </strong>Set up a 1&#215;1 brick<br />
On the upper left-hand side, click on <em>Brick</em>.<br />
Drag the 1&#215;1 brick into one of the three viewing panels.<br />
With the brick selected click the <span style="color: #ff0000;">RED</span> color button to color it red.<br />
Right-click on the brick and select <em>Enter Pos. + Rot&#8230;<br />
Use Position Values</em> should be checked<br />
Set the X and Z values all to zero and Y to -100 (negative 100)</p>
<p><strong><em>Step 1.2</em>: </strong>Add a 2&#215;4 brick<br />
Following the steps above, find the 2&#215;4 brick in the <em>Brick</em> list (+ will expand the list) and add it to the scene.  Set its color to <span style="color: #ffcc00;">YELLOW</span> and its position to X=100, Y=-100,  Z=50.</p>
<p><strong><em>Step 1.3</em>: </strong>Add a 2&#215;6 plate<br />
Following the steps above, find the 2&#215;6 plate in the <em>Plate</em> list (you will have to scroll down to the <em>Plate</em> tab) and add it to the scene.  Set its color to <span style="color: #0000ff;">BLUE</span> and its position to X=100, Y=-100,  Z=-100.</p>
<p>Be sure that these pieces are all at Y=-100.  The -y direction points upward and this will place them above the Y=0 plane.</p>
<p><strong><em>Step 1.4</em>: </strong>Save your work as <strong><em>part-zoo-1.ldr</em></strong></p>
<p>The screenshot below shows what you should see at this point on your MLCad screen.</p>
<div id="attachment_57" style="width: 460px" class="wp-caption alignleft"><img class="size-full wp-image-57" title="mlcad-screenshot-render-tutorial-1_450x316" src="http://www.brickengineer.com/pages/wp-content/uploads/2009/02/mlcad-screenshot-render-tutorial-1_450x316.jpg" alt="MLCad Screenshot" width="450" height="316" /><p class="wp-caption-text">MLCad Screenshot</p></div>
<p><em><br />
</em><strong><em></em></strong></p>
<p><strong>STEP 2: Create a POVRay file using L3PAO</strong></p>
<p>Open LP3AO (<em>L3P-Add-on)</em> keeping in mind where you stored your MLCad files.  This figure shows you the basic L3PAO window.</p>
<div id="attachment_59" style="width: 460px" class="wp-caption alignleft"><img class="size-full wp-image-59" title="l3pao-screenshot-render-tutorial-1_450x468" src="http://www.brickengineer.com/pages/wp-content/uploads/2009/02/l3pao-screenshot-render-tutorial-1_450x468.jpg" alt="L3PAO Screenshot" width="450" height="468" /><p class="wp-caption-text">L3PAO Screenshot</p></div>
<p><strong><em>Step 2.1</em>:</strong> In the <em>L3P-Add-on</em> window set the <em>Model File</em> to point to your MLCad file.  To browse, you may need to click on the button labeled &#8230;</p>
<p><strong><em>Step 2.2</em>:</strong> In the <em>L3P-Add-on</em> window set the <em>POV-Ray Output File</em> to point to the folder where you want your POV-Ray file to go.  To browse, you may need to click on the button labeled &#8230;</p>
<p><strong><em>Step 2.3</em>:</strong> In the middle of the right-hand column is the Quality Level setting.  Set this to 2.  IF you select 3 it prints the LEGO logo on every stud.  If you want this, you may leave it.  But I prefer to remove them.</p>
<p><strong><em>Step 2.4</em>:</strong> At the bottom of the middle column is the <em>Render upon Completion</em> option.  This will launch POV-Ray automatically.  However, if you have problems with the automatic launch, turn this option off and load it manually.  In later tutorials, we will edit the POV-Ray file manually anyway.</p>
<p><strong>Step: 2.5:</strong> To start <em>L3PAdd-on</em> click on the <em>Run L3P</em> button in the lower right.  This will create the POV-Ray <strong><em>part-zoo-1.pov</em></strong> file in the directory you specified, and possibly launch POV-Ray depending on the settings you used in <em>Step 2.4</em> above.</p>
<p><strong>STEP 3: Render the Image with POV-Ray<br />
</strong></p>
<p>If you launched POV-Ray automatically, you will already have your image.  Here we assume that you will render it manually.</p>
<div id="attachment_60" style="width: 460px" class="wp-caption alignleft"><img class="size-full wp-image-60" title="povray-screenshot-render-tutorial-1_450x433" src="http://www.brickengineer.com/pages/wp-content/uploads/2009/02/povray-screenshot-render-tutorial-1_450x433.jpg" alt="POV-Ray Screenshot" width="450" height="433" /><p class="wp-caption-text">POV-Ray Screenshot</p></div>
<p><strong><em>Step 3.1</em>:</strong> Open POV-Ray and in the <em>File Menu</em>, use <em>Open File</em> to open the .pov file that was created by L3pAO.</p>
<p><strong><em>Step 3.2</em>:</strong> Once the file is open, you can simply press the <em>Run</em> button on the upper bar.  This will create a default image, which is a 640&#215;480 .bmp bitmap image.  This is saved automatically in the same folder as your .pov file.  Here it is:</p>
<div id="attachment_61" style="width: 460px" class="wp-caption alignleft"><img class="size-full wp-image-61" title="part-zoo-1-default" src="http://www.brickengineer.com/pages/wp-content/uploads/2009/02/part-zoo-1-default.jpg" alt="Part-Zoo-1 Default image" width="450" height="338" /><p class="wp-caption-text">Part-Zoo-1 Default image</p></div>
<p>Note that the LEGO pieces are lifted up above the floor.  This is because we set their y-coordinates to be -100, which is above the floor at zero.  Remember that negative y is up.  We now look to change a few features of our render.</p>
<p><strong><em>Step 3.3</em>:</strong> If you click on the <em>Ini</em> button (to the left of <em>Run</em> above), you will go to a screen that enables you to change the size of the output image.  The <em>Section</em> field on the right has many options that include the resolution of the final image as well as whether <a title="Anti-Aliasing" href="http://en.wikipedia.org/wiki/Anti-aliasing" target="_blank">Anti-Aliasing</a> (AA) is used.  Try changing the resolution and look at the differences between anti-aliased images and non-anti-aliased images.</p>
<p>Note however, that the output images will always be saved in either .bmp or .png format.  You will have to use another program to convert them to other formats if you are interested.</p>
<p><strong><em>Step 3.4</em>: </strong>You can try playing with the commands in the .pov file.  POV-Ray acts like an editor and you can manually edit your files.  For example, there is a section near the bottom that reads:</p>
<blockquote><p>// Floor:<br />
object {<br />
plane { y, 24 hollow }<br />
texture {<br />
pigment { color rgb &lt;0.8,0.8,0.8&gt; }<br />
finish { ambient 0.4 diffuse 0.4 }<br />
}<br />
}</p></blockquote>
<p>This code controls the floor of the image.  If you delete it completely, the floor will disappear as you can see here in this image:</p>
<div id="attachment_64" style="width: 460px" class="wp-caption alignleft"><img class="size-full wp-image-64" title="part-zoo-1-no-floor" src="http://www.brickengineer.com/pages/wp-content/uploads/2009/02/part-zoo-1-no-floor.jpg" alt="Part-Zoo-1 with No Floor" width="450" height="338" /><p class="wp-caption-text">Part-Zoo-1 with No Floor</p></div>
<p><strong>Step 3.4: </strong>IF you don&#8217;t like the black background, look in the .pov file for the <em>Background</em> section:</p>
<blockquote><p>// Background:<br />
background { color rgb &lt;0,0,0&gt;}</p></blockquote>
<p>Changing the rgb (red, green, and blue) colors to &lt;0.7, 0.7, 1.0&gt;:</p>
<blockquote><p>// Background:<br />
background { color rgb &lt;0.7, 0.7, 1.0&gt;}</p></blockquote>
<p>Will give you an image with no floor and a light blue background:</p>
<div id="attachment_66" style="width: 460px" class="wp-caption alignleft"><img class="size-full wp-image-66" title="part-zoo-1-blue-background" src="http://www.brickengineer.com/pages/wp-content/uploads/2009/02/part-zoo-1-blue-background.jpg" alt="Part-Zoo-1 with a blue blackground" width="450" height="338" /><p class="wp-caption-text">Part-Zoo-1 with a blue blackground</p></div>
<p>We have explored making simple cad images in MLCad, generating a .pov file using L3PAO, and rendering a high-quality bitmap image using POV-Ray.   You should read through the .pov file and try to figure out what the different parts do.  You can change their values and re-render the image to see what impact your changes have.  Just remember that POV-Ray saves the changes on top of the original file,  so you may want to make a backup first.</p>
<p>Happy Rendering!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.brickengineer.com/pages/2009/02/15/lego-rendering-tutorial-the-basics/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Little Rover with Instructions and Code</title>
		<link>http://www.brickengineer.com/pages/2008/10/12/little-rover-with-instructions-and-code/</link>
		<comments>http://www.brickengineer.com/pages/2008/10/12/little-rover-with-instructions-and-code/#comments</comments>
		<pubDate>Sun, 12 Oct 2008 05:43:54 +0000</pubDate>
		<dc:creator><![CDATA[admin]]></dc:creator>
				<category><![CDATA[Constructs]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Robotics]]></category>
		<category><![CDATA[code software]]></category>
		<category><![CDATA[instructions]]></category>
		<category><![CDATA[LEGO mindstorms]]></category>
		<category><![CDATA[NXT]]></category>
		<category><![CDATA[NXT-G]]></category>
		<category><![CDATA[robot]]></category>
		<category><![CDATA[rover]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://www.brickengineer.com/pages/?p=26</guid>
		<description><![CDATA[&#160; I have finally compiled building instructions for my Little Rover, which can be seen above in a 3D Rendering courtesy of POVRay.  An earlier version of this rover can be seen in this YouTube video: Little Rover Prototype Video Rover Design The complete detailed building instructions can be found here in this 94-page pdf [&#8230;]]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.brickengineer.com/pages/wp-content/uploads/2008/10/little-rover-on-mars-med.jpg"><img class="alignleft size-full wp-image-34" title="little-rover-on-mars-med" src="http://www.brickengineer.com/pages/wp-content/uploads/2008/10/little-rover-on-mars-med.jpg" alt="" width="395" height="300" /></a></p>
<p>&nbsp;</p>
<p>I have finally compiled building instructions for my Little Rover, which can be seen above in a 3D Rendering courtesy of <a href="http://www.povray.org/" target="_blank">POVRay</a>.  An earlier version of this rover can be seen in this YouTube video:</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="344" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="src" value="http://www.youtube.com/v/cShU-TzoK6w&amp;hl=en&amp;fs=1" /><embed type="application/x-shockwave-flash" width="425" height="344" src="http://www.youtube.com/v/cShU-TzoK6w&amp;hl=en&amp;fs=1" allowfullscreen="true"></embed></object></p>
<p><a href="http://www.youtube.com/watch?v=cShU-TzoK6w">Little Rover Prototype Video</a></p>
<p><strong>Rover Design</strong></p>
<p>The complete detailed building instructions can be found <a title="Little Rover Building Instructions" href="http://www.brickengineer.com/pages/instructions/little-rover-building-instructions.pdf" target="_self">here in this 94-page pdf file</a>.<br />
Warning: it is about 9MB in size.  The design is not entirely compatible with the standard NXT Mindstorms Kit.  This design relies on two touch sensors, several 1&#215;9 bent liftarms, and as far as I can tell from Peeron, the NXT Kit has only two.  This may require a little redesign.  Other compatibility issues and their solutions can be found in the Parts List in the <a title="Little Rover Building Instructions" href="http://www.brickengineer.com/pages/instructions/little-rover-building-instructions.pdf" target="_self">instructions</a>.</p>
<p>Remember to <a href="http://www.brickengineer.com/pages/downloads/code/Little-Rover.zip">download the software DriveSmart here as well</a>.<br />
Installation instructions can be found in the zip file.</p>
<p><strong>DriveSmart Code</strong></p>
<p>The main file is called DriveSmart.rbt.  Drive Smart runs four threads:</p>
<p>Drive Thread<br />
The Drive Thread (lowest one of the four) drives until a warning flag is set by one of the other<br />
threads. It then waits until it gets an all clear message via the Wait Until Free block, and then<br />
it starts driving again.</p>
<p>Bumper Threads<br />
There are two threads that monitor the bumpers.<br />
The reaction is only activated if nothing else is currently commanding the robot.  In this case the<br />
bumper has been pressed and the robot will veer away from the hazard.</p>
<p>Ultrasound Thread<br />
This thread monitors the ultrasound rangefinder.<br />
The reaction is only activated if nothing else is currently commanding the robot.  When the robot<br />
comes too close to a hazard, the robot is commanded to stop.  It then looks both ways and then turns<br />
in the direction with more room.  If the robot is within 10 cm of a hazard on both sides, it then<br />
backs up.</p>
<p>The robot can roam about a wide variety of rooms and not get stuck.<br />
He does not detect stairs though!  So be careful.</p>
<p>Download: <a title="Little Rover Building Instructions" href="http://www.brickengineer.com/pages/instructions/little-rover-building-instructions.pdf" target="_self">instructions</a> and <a href="http://www.brickengineer.com/pages/downloads/code/Little-Rover.zip">code</a>.</p>
<p>Enjoy!<br />
Kevin Knuth</p>
]]></content:encoded>
			<wfw:commentRss>http://www.brickengineer.com/pages/2008/10/12/little-rover-with-instructions-and-code/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Hacking the LEGO Mindstorms NXT Standard Motor</title>
		<link>http://www.brickengineer.com/pages/2008/04/05/hacking-the-lego-mindstorms-nxt-standard-motor/</link>
		<comments>http://www.brickengineer.com/pages/2008/04/05/hacking-the-lego-mindstorms-nxt-standard-motor/#comments</comments>
		<pubDate>Sat, 05 Apr 2008 14:20:33 +0000</pubDate>
		<dc:creator><![CDATA[admin]]></dc:creator>
				<category><![CDATA[Hacking]]></category>
		<category><![CDATA[LEGO Engineering]]></category>
		<category><![CDATA[Electronics]]></category>
		<category><![CDATA[hack]]></category>
		<category><![CDATA[hacks]]></category>
		<category><![CDATA[interfacing]]></category>
		<category><![CDATA[LEGO]]></category>
		<category><![CDATA[LEGO Electronics]]></category>
		<category><![CDATA[mindstorms]]></category>
		<category><![CDATA[motor]]></category>
		<category><![CDATA[NXT]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://www.brickengineer.com/pages/2008/04/05/hacking-the-lego-mindstorms-nxt-standard-motor/</guid>
		<description><![CDATA[We are working on interfacing the LEGO sensors and motors to a compact lightweight computer for more sophisticated control. Aret Carlsen brings us a video demonstrating how one can hack into the NXT Standard Motor: See also quadrature encoder or rotary encoder at wikipedia and the LEGO NXT Hardware Developers Kit (LEGO NXT data sheets). [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>We are working on interfacing the LEGO sensors and motors to a compact lightweight computer for more sophisticated control. Aret Carlsen brings us a video demonstrating how one can hack into the NXT Standard Motor:</p>
<p><object width="350" height="292"><param name="movie" value="http://www.youtube.com/v/_NQ3qng_b80&#038;hl=en"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/_NQ3qng_b80&#038;hl=en" type="application/x-shockwave-flash" wmode="transparent" width="350" height="292"></embed></object></p>
<p>See also quadrature encoder or <a href="http://en.wikipedia.org/wiki/Rotary_encoder">rotary encoder</a> at wikipedia and the <a href="http://mindstorms.lego.com/Overview/NXTreme.aspx">LEGO NXT Hardware Developers Kit</a> (LEGO NXT data sheets). Philo also has the pinout diagram on his page on <a href="http://www.philohome.com/nxtpwr/pwr.htm">deriving power from the Motor A port</a>.</p>
<p>Additional details can be found in the excellent book <a href="http://www.amazon.com/gp/product/1590598180?ie=UTF8&amp;tag=onlicort-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=1590598180">Extreme NXT: Extending the LEGO MINDSTORMS NXT to the Next Level (Technology in Action)</a><img border="0" width="1" src="http://www.assoc-amazon.com/e/ir?t=onlicort-20&amp;l=as2&amp;o=1&amp;a=1590598180" height="1" style="margin: 0px; border: medium none" /> by Michael Gasperi, Philippe E. Hurbain, and Isabelle L. Hurbain.</p>
<p><a href="http://www.amazon.com/gp/product/1590598180?ie=UTF8&amp;tag=onlicort-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=1590598180"><img border="0" src="http://www.brickengineer.com/pages/pics/books/extreme-nxt.jpg" /></a><img border="0" width="1" src="http://www.assoc-amazon.com/e/ir?t=onlicort-20&amp;l=as2&amp;o=1&amp;a=1590598180" height="1" style="margin: 0px; border: medium none" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.brickengineer.com/pages/2008/04/05/hacking-the-lego-mindstorms-nxt-standard-motor/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Hacking the LEGO Mindstorms NXT Light Sensor</title>
		<link>http://www.brickengineer.com/pages/2008/04/05/hacking-the-lego-mindstorms-nxt-light-sensor/</link>
		<comments>http://www.brickengineer.com/pages/2008/04/05/hacking-the-lego-mindstorms-nxt-light-sensor/#comments</comments>
		<pubDate>Sat, 05 Apr 2008 13:59:13 +0000</pubDate>
		<dc:creator><![CDATA[admin]]></dc:creator>
				<category><![CDATA[DIY]]></category>
		<category><![CDATA[Electronics]]></category>
		<category><![CDATA[Hacking]]></category>
		<category><![CDATA[LEGO Engineering]]></category>
		<category><![CDATA[hack]]></category>
		<category><![CDATA[hacks]]></category>
		<category><![CDATA[interface]]></category>
		<category><![CDATA[LEGO]]></category>
		<category><![CDATA[LEGO Electronics]]></category>
		<category><![CDATA[mindstorms]]></category>
		<category><![CDATA[NXT]]></category>
		<category><![CDATA[Robotics]]></category>
		<category><![CDATA[sensor]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://www.brickengineer.com/pages/2008/04/05/hacking-the-lego-mindstorms-nxt-light-sensor/</guid>
		<description><![CDATA[We are working on interfacing the LEGO sensors and motors to a compact lightweight computer for more sophisticated control.  Aret Carlsen brings us a video demonstrating how one can hack into the NXT Light Sensor: Additional details can be found in the excellent book Extreme NXT: Extending the LEGO MINDSTORMS NXT to the Next Level [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>We are working on interfacing the LEGO sensors and motors to a compact lightweight computer for more sophisticated control.  Aret Carlsen brings us a video demonstrating how one can hack into the NXT Light Sensor:</p>
<p><object width="350" height="292"><param name="movie" value="http://www.youtube.com/v/H7YjkqnqaY0&#038;hl=en"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/H7YjkqnqaY0&#038;hl=en" type="application/x-shockwave-flash" wmode="transparent" width="350" height="292"></embed></object></p>
<p>Additional details can be found in the excellent book <a href="http://www.amazon.com/gp/product/1590598180?ie=UTF8&amp;tag=onlicort-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=1590598180">Extreme NXT: Extending the LEGO MINDSTORMS NXT to the Next Level (Technology in Action)</a><img border="0" width="1" src="http://www.assoc-amazon.com/e/ir?t=onlicort-20&amp;l=as2&amp;o=1&amp;a=1590598180" height="1" style="margin: 0px; border: medium none" /> by Michael Gasperi, Philippe E. Hurbain, and Isabelle L. Hurbain.</p>
<p><a href="http://www.amazon.com/gp/product/1590598180?ie=UTF8&amp;tag=onlicort-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=1590598180"><img border="0" src="http://www.brickengineer.com/pages/pics/books/extreme-nxt.jpg" /></a><img border="0" width="1" src="http://www.assoc-amazon.com/e/ir?t=onlicort-20&amp;l=as2&amp;o=1&amp;a=1590598180" height="1" style="margin: 0px; border: medium none" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.brickengineer.com/pages/2008/04/05/hacking-the-lego-mindstorms-nxt-light-sensor/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Meta-Parts: Part III</title>
		<link>http://www.brickengineer.com/pages/2007/10/07/meta-parts-part-iii/</link>
		<comments>http://www.brickengineer.com/pages/2007/10/07/meta-parts-part-iii/#comments</comments>
		<pubDate>Sun, 07 Oct 2007 07:09:27 +0000</pubDate>
		<dc:creator><![CDATA[admin]]></dc:creator>
				<category><![CDATA[Constructs]]></category>
		<category><![CDATA[construction]]></category>
		<category><![CDATA[education]]></category>
		<category><![CDATA[enthusiast]]></category>
		<category><![CDATA[instructions]]></category>
		<category><![CDATA[LEGO]]></category>
		<category><![CDATA[reference]]></category>
		<category><![CDATA[robot]]></category>
		<category><![CDATA[Robotics]]></category>
		<category><![CDATA[toy]]></category>
		<category><![CDATA[toys]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://www.brickengineer.com/pages/2007/10/07/meta-parts-part-iii/</guid>
		<description><![CDATA[This is a continuation from Meta-Parts: Part I and Part II and consists of a library of LEGO constructs that can in many cases act as liftarms for bracing various structures. Here we consider constructs made from the LEGO axle joiner perpendicular. Axle Joiner Perpendicular Constructs I These LEGO constructs are even more sturdy and can be used [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>This is a continuation from <a href="http://www.brickengineer.com/pages/2007/10/04/meta-parts-part-1/"><strong><font color="#002280">Meta-Parts: Part I</font></strong></a> and <a href="http://www.brickengineer.com/pages/2007/10/04/meta-parts-part-ii/"><strong><font color="#002280">Part II</font></strong></a> and consists of a library of LEGO constructs that can in many cases act as liftarms for bracing various structures. Here we consider constructs made from the LEGO <a href="http://www.peeron.com/inv/parts/6536">axle joiner perpendicular</a>.</p>
<p><strong>Axle Joiner Perpendicular Constructs I</strong><br />
These LEGO constructs are even more sturdy and can be used as extremely strong braces. These are especially good for <a B000E4FDAE?ie="UTF8&amp;tag=onlicort-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=B000E4FDAE" border="0" src="http://www.assoc-amazon.com/e/ir?t=onlicort-20&amp;l=as2&amp;o=1&amp;a=B000E4FDAE" height="1" width="1" href="http://www.amazon.com/gp/product/B000E4FDAE?ie=UTF8&amp;tag=onlicort-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=B000E4FDAE" style="margin: 0px; border: medium none">LEGO Mindstorms NXT</a> projects.</p>
<p><img border="0" align="middle" width="390" src="http://www.brickengineer.com/pages/pics/constructs/mp--alt-liftarms-ajperp.jpg" alt="Axle Joiner Perpendicular Meta-Parts" height="476" /></p>
<p><strong>Axle Joiner Perpendicular Constructs II<br />
</strong>This figure shows the wide array of constructs that can be made with both the axle joiner perpendicular pieces. These pieces are constructed from either two or three of these joiners. An example showing seven of them is below. The number of combinations is staggering.</p>
<p><img border="0" align="middle" width="500" src="http://www.brickengineer.com/pages/pics/constructs/mp--alt-liftarms-ajperp2.jpg" alt="Axle Joiner Perpendicular Meta-Parts" height="409" /></p>
<p>I have found such LEGO constructs to be especially useful in robotics applications.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.brickengineer.com/pages/2007/10/07/meta-parts-part-iii/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Meta-Parts: Part II</title>
		<link>http://www.brickengineer.com/pages/2007/10/07/meta-parts-part-ii/</link>
		<comments>http://www.brickengineer.com/pages/2007/10/07/meta-parts-part-ii/#comments</comments>
		<pubDate>Sun, 07 Oct 2007 06:44:10 +0000</pubDate>
		<dc:creator><![CDATA[admin]]></dc:creator>
				<category><![CDATA[Constructs]]></category>
		<category><![CDATA[construction]]></category>
		<category><![CDATA[education]]></category>
		<category><![CDATA[enthusiast]]></category>
		<category><![CDATA[instructions]]></category>
		<category><![CDATA[LEGO]]></category>
		<category><![CDATA[reference]]></category>
		<category><![CDATA[robot]]></category>
		<category><![CDATA[Robotics]]></category>
		<category><![CDATA[toy]]></category>
		<category><![CDATA[toys]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://www.brickengineer.com/pages/?p=5</guid>
		<description><![CDATA[This is a continuation from Meta-Parts: Part I and consists of a library of LEGO constructs that can in many cases act as liftarms for bracing various structures. Note that these LEGO designs can easily pull apart when you apply forces in certain directions—usually within the plane of their design. They will not be stable for constructions [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>This is a continuation from <a href="http://www.brickengineer.com/pages/2007/10/04/meta-parts-part-1/">Meta-Parts: Part I</a> and consists of a library of LEGO constructs that can in many cases act as liftarms for bracing various structures. Note that these LEGO designs can easily pull apart when you apply forces in certain directions—usually within the plane of their design. They will not be stable for constructions requiring that they withstand forces in those directions. However, if you need to brace against forces that are directed out-of-plane, or to prevent torsion (twisting). These constructs may help. If you are desperate, and are willing to sacrifice purity, a drop of superglue will do wonders.</p>
<p><strong>Planar Constructs</strong><br />
This is a strange set where the construct has round holes that lie in a plane. Some of these constructs are quite strong, but the next set is even stronger still.  These construct provide alternative ways to stabilize axles.</p>
<p><img border="0" align="middle" width="500" src="http://www.brickengineer.com/pages/pics/constructs/mp--alt-liftarms-planar.jpg" alt="Planar Meta Parts" height="311" /></p>
<p><strong>Rectangular Constructs</strong><br />
The following rectangular constructs are typically much stronger than the previous constructs. These examples sport round holes at either the corners of the side centers.</p>
<p><img border="0" align="middle" width="503" src="http://www.brickengineer.com/pages/pics/constructs/mp--alt-liftarms-rectangles.jpg" alt="Rectangular Meta-Parts" height="479" /></p>
<p><strong>Square Constructs</strong><br />
These squares are quite sturdy, and can be constructed to have a good number of round holes in the square interior. The constructs in the lower row enable one to firmly attach two beams at 90 degree angles to create cross shapes.</p>
<p><img border="0" align="middle" width="508" src="http://www.brickengineer.com/pages/pics/constructs/mp--alt-liftarms-square.jpg" alt="Square Meta-Parts" height="477" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.brickengineer.com/pages/2007/10/07/meta-parts-part-ii/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Intelligent Instruments</title>
		<link>http://www.brickengineer.com/pages/2007/10/04/intelligent-instruments/</link>
		<comments>http://www.brickengineer.com/pages/2007/10/04/intelligent-instruments/#comments</comments>
		<pubDate>Fri, 05 Oct 2007 03:23:51 +0000</pubDate>
		<dc:creator><![CDATA[admin]]></dc:creator>
				<category><![CDATA[Research]]></category>
		<category><![CDATA[Robotics]]></category>
		<category><![CDATA[construction]]></category>
		<category><![CDATA[education]]></category>
		<category><![CDATA[engineerings]]></category>
		<category><![CDATA[enthusiast]]></category>
		<category><![CDATA[instructions]]></category>
		<category><![CDATA[intelligent]]></category>
		<category><![CDATA[LEGO]]></category>
		<category><![CDATA[reference]]></category>
		<category><![CDATA[robot]]></category>
		<category><![CDATA[toy]]></category>
		<category><![CDATA[toys]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://www.brickengineer.com/pages/?p=4</guid>
		<description><![CDATA[The LEGO Mindstorm NXT robotics system is an excellent testbed for research in machine learning and artificial intelligence.  At Knuthlab Robotics at the University at Albany, we are developing intelligent instruments using LEGOs. Our first instrument is a robotic arm that is designed to locate a characterize a white circle on a black background using [&#8230;]]]></description>
				<content:encoded><![CDATA[<p><img border="0" align="middle" src="http://www.brickengineer.com/pages/pics/research/arm-robot.jpg" alt="Intelligent Robotic Arm" /></p>
<p>The LEGO Mindstorm NXT robotics system is an excellent testbed for research in machine learning and artificial intelligence.  At <a target="_blank" href="http://knuthlab.rit.albany.edu/">Knuthlab</a> Robotics at the University at Albany, we are developing intelligent instruments using LEGOs.</p>
<p>Our first instrument is a robotic arm that is designed to locate a characterize a white circle on a black background using the LEGO light sensor.  It relies on Bayesian inference, which is implemented using a technique called Nested Sampling, which was developed by John Skilling.  This software allows the robot to learn the characteristics of the circle using the light sensor data that it has collected.  The real advance here is the inquiry engine, which uses Bayesian adaptive exploration to decide which measurements to take next.  It does this by considering all the possible measurements that it could take, and computes the expected gain in information from each possible measurement.  It then chooses to take the measurement with the greatest expected information gain.  The process then repeats as the robot learns about the circle.</p>
<p>The system is easily generalized to solving other problems, such as exploring rooms, interpreting people&#8217;s emotions, and doing real science.</p>
<p>We recently presented our research at the MaxEnt 2007 workshop in Saratoga Springs NY.  Below are links to a video of the talk, my slides, and our research paper.</p>
<p><a target="_blank" href="http://video.google.com/videoplay?docid=8161187839767240979&amp;hl=en">Video: Designing Intelligent Instruments, K.H. Knuth</a></p>
<p><a target="_blank" href="http://www.huginn.com/knuth/talks/knuth-maxent-intelligent.pdf">Slides: Designing Intelligent Instruments, K.H. Knuth</a></p>
<p><a target="_blank" href="http://www.huginn.com/knuth/papers/knuth+erner+frasso-me07-final.pdf">Research Paper:</a><br />
Knuth K.H., Erner P.M., Frasso S. 2007. <a target="_blank" href="http://www.huginn.com/knuth/papers/knuth+erner+frasso-me07-final.pdf">Designing intelligent instruments</a>. K.H. Knuth, A. Caticha, J.L. Center, A. Giffin, C.C. Rodriguez (eds.), Bayesian Inference and Maximum Entropy Methods in Science and Engineering, Saratoga Springs, NY, USA, 2007, AIP Conference Proceedings 954, American Institute of Physics, Melville NY, In press.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.brickengineer.com/pages/2007/10/04/intelligent-instruments/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Meta-Parts: Part I</title>
		<link>http://www.brickengineer.com/pages/2007/10/04/meta-parts-part-1/</link>
		<comments>http://www.brickengineer.com/pages/2007/10/04/meta-parts-part-1/#comments</comments>
		<pubDate>Thu, 04 Oct 2007 05:42:02 +0000</pubDate>
		<dc:creator><![CDATA[admin]]></dc:creator>
				<category><![CDATA[Constructs]]></category>
		<category><![CDATA[construction]]></category>
		<category><![CDATA[education]]></category>
		<category><![CDATA[enthusiast]]></category>
		<category><![CDATA[instructions]]></category>
		<category><![CDATA[LEGO]]></category>
		<category><![CDATA[reference]]></category>
		<category><![CDATA[robot]]></category>
		<category><![CDATA[Robotics]]></category>
		<category><![CDATA[toy]]></category>
		<category><![CDATA[toys]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://www.brickengineer.com/pages/?p=3</guid>
		<description><![CDATA[LEGO Technic Liftarms can be very useful for bracing structures. In these cases these L-shaped pieces are often used heavily. Many times, however, they are either the wrong size or shape for the job or you just don&#8217;t have enough pieces. One alternative is to create similar structures from smaller parts. Complex structures are almost [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>LEGO Technic Liftarms can be very useful for bracing structures. In these cases these L-shaped pieces are often used heavily. Many times, however, they are either the wrong size or shape for the job or you just don&#8217;t have enough pieces. One alternative is to create similar structures from smaller parts.</p>
<p>Complex structures are almost always constructed hierarchically. Small parts are combined to create more complex medium-sized parts. Medium-sized parts are combined to create even more complex larger parts. To help speed up the process, it often helps to have a library of small useful constructs.<br />
Think of these as <strong>META-PARTS</strong>.</p>
<p>Here we present a library of constructs that can in many cases act as liftarms for bracing various structures. Note that these designs can easily pull apart when you apply forces in certain directions&#8212;usually within the plane of their design. They will not be stable for constructions requiring that they withstand forces in those directions. However, if you need to brace against forces that are directed out-of-plane, or to prevent torsion (twisting). These constructs may help. If you are desperate, and are willing to sacrifice purity, a drop of superglue will do wonders.</p>
<p><strong>The Concepts<br />
</strong>There are three L-shaped pieces that LEGO produces: <a target="_blank" href="http://www.peeron.com/inv/parts/32140">2 x 4 L-shaped Liftarm</a>, <a target="_blank" href="http://www.peeron.com/inv/parts/32526">3 x 5 L-shaped Liftarm</a>, and the <a target="_blank" href="http://www.peeron.com/inv/parts/32056">3 x 3 L-shaped Liftarm Thin</a>. These are shown in the top row of the figure below.</p>
<p><img border="0" align="middle" width="481" src="http://www.brickengineer.com/pages/pics/constructs/mp--alt-liftarms-1.jpg" alt="Alternate Liftarms" height="466" /></p>
<p>One can construct pieces that act like the L-shaped liftarms, although they have only two holes. Two such constructs can be seen in the bottom row of the figure above. These pieces can easily come apart if pulled in the right direction, so some considerations must be made as to whether they are appropriate. They are also not quite as stable as the liftarms (although in desperate situations, where precision and permanence is required, some superglue would take care of both problems).</p>
<p>Below, is a library of LEGO Meta-Parts. Clearly, some will be more useful than others. This library is in no way exhaustive, as there are very many ways to combine parts. For an interesting discussion on the number of ways to combine 2 x 4 LEGO bricks consult:</p>
<p><a target="_blank" href="http://arxiv.org/PS_cache/math/pdf/0504/0504039v2.pdf">&#8220;On the Entropy of LEGO (TM)&#8221; by Bergfinnur Durhuus and Soren Eilers, 2005, arXiv:math/054039v2&#8243;</a></p>
<p><strong>L-Shaped Constructs<br />
</strong>Here are five L-shaped constructs: 2 x 3 , 3 x 3 , and 4 x 4.<br />
Note that the ends of the 4 x 4 L-shaped construct can be replaced by the <a target="_blank" href="http://www.peeron.com/inv/parts/3651">Technic Connector with cross hole</a> (the blue pieces elsewhere in this figure). These pieces can also be extended as long as you wish by adding the 180 degree <a target="_blank" href="http://www.peeron.com/inv/parts/32034">Technic Angle Connector #2</a>.</p>
<p><img border="0" align="middle" width="406" src="http://www.brickengineer.com/pages/pics/constructs/mp--alt-liftarms-L-pieces.jpg" alt="L-shaped Meta-Parts" height="477" /></p>
<p><strong>T-Shaped Constructs</strong><br />
Here are five T-shaped constructs. Because the two on the top row (and the one on the bottom left) use an axle pin, they can twist, which may make them unsuitable for some applications. As you can see from the example on the bottom right, this is just the construct on the top left with the <a target="_blank" href="http://www.peeron.com/inv/parts/32034">Technic Angle Connector #2</a> inserted.</p>
<p><img border="0" align="middle" width="364" src="http://www.brickengineer.com/pages/pics/constructs/mp--alt-liftarms-T-pieces.jpg" alt="T-shaped Meta-Parts" height="477" /></p>
<p><strong>S, U, W -Shaped Constructs</strong><br />
Here is a set of constructs that are shaped like the letters S, U, and W. The ones with two pin Axle Joiners are typically a little more wobbly than the others.</p>
<p><img border="0" align="middle" width="455" src="http://www.brickengineer.com/pages/pics/constructs/mp--alt-liftarms-SUW-pieces.jpg" alt="S U W Shaped Constructs" height="500" /></p>
<p>The next installment will describe other meta-parts.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.brickengineer.com/pages/2007/10/04/meta-parts-part-1/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>
