<?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>Design, Build, Test, Iterate</title>
	<atom:link href="http://iterativecode.com/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://iterativecode.com/blog</link>
	<description>currently: building</description>
	<lastBuildDate>Wed, 22 May 2013 20:29:57 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<item>
		<title>ROS Groovy + Arch Linux</title>
		<link>http://iterativecode.com/blog/2013/05/22/ros-groovy-arch-linux/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=ros-groovy-arch-linux</link>
		<comments>http://iterativecode.com/blog/2013/05/22/ros-groovy-arch-linux/#comments</comments>
		<pubDate>Wed, 22 May 2013 09:13:59 +0000</pubDate>
		<dc:creator>Soo-Hyun</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Arch]]></category>
		<category><![CDATA[compile]]></category>
		<category><![CDATA[Groovy]]></category>
		<category><![CDATA[install]]></category>
		<category><![CDATA[installation]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[ROS]]></category>

		<guid isPermaLink="false">http://iterativecode.com/blog/?p=1915</guid>
		<description><![CDATA[Instructions for base install of Groovy on Arch worked flawlessly. I followed the build-from-source instructions for Desktop-Full, installing dependencies as they came up (i.e., when CMake complained) and invoking catkin_make_isolated with the following: -DCMAKE_INSTALL_PREFIX=/opt/ros/groovy -DPYTHON_EXECUTABLE=/usr/bin/python2 -DPYTHON_INCLUDE_DIR=/usr/include/python2.7 -DPYTHON_LIBRARY=/usr/lib/libpython2.7.so -DSETUPTOOLS_DEB_LAYOUT=OFF Some of the most annoying oddities: camera_calibraton_parsers wants yaml-cpp 0.3 (from the AUR), not 0.5! image_proc and [...]]]></description>
				<content:encoded><![CDATA[<p>Instructions for <a href="http://www.ros.org/wiki/groovy/Installation/Arch">base install of Groovy on Arch</a> worked flawlessly.</p>
<p>I followed <a href="http://www.ros.org/wiki/groovy/Installation/Source">the build-from-source instructions</a> for Desktop-Full, installing dependencies as they came up (i.e., when CMake complained) and invoking catkin_make_isolated with the following: <code>-DCMAKE_INSTALL_PREFIX=/opt/ros/groovy -DPYTHON_EXECUTABLE=/usr/bin/python2 -DPYTHON_INCLUDE_DIR=/usr/include/python2.7 -DPYTHON_LIBRARY=/usr/lib/libpython2.7.so -DSETUPTOOLS_DEB_LAYOUT=OFF</code></p>
<p>Some of the most annoying oddities:</p>
<ul>
<li>camera_calibraton_parsers wants yaml-cpp 0.3 (from the AUR), not 0.5!</li>
<li>image_proc and stereo_image_proc use Boost&#8217;s lock_guard in their nodelet code but don&#8217;t compile because the BOOST_VERSION check doesn&#8217;t work. I tried passing -DBOOST_VERSION=105300 to make to no avail. I just edited the source code. (Though in hindsight, maybe I should have passed that to gcc by setting CFLAGS in the appropriate CMakeLists.txt.)</li>
<li>gscam needs gstreamer0.10-plugins installed.</li>
</ul>
<p>The MOST annoying thing of all was waiting for catkin to sift through nearly 180 packages multiple times before choking up on various packages, over and over again. Even on eight hyperthreaded cores, this took a while. It would have been smarter to check ros.org for which packages each removed package was a dependency of and remove them from src preemptively. Even better, I could probably have used rosdep to generate and remove a list of dependent packages.</p>
]]></content:encoded>
			<wfw:commentRss>http://iterativecode.com/blog/2013/05/22/ros-groovy-arch-linux/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Broken finger!</title>
		<link>http://iterativecode.com/blog/2013/05/06/broken-finger/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=broken-finger</link>
		<comments>http://iterativecode.com/blog/2013/05/06/broken-finger/#comments</comments>
		<pubDate>Tue, 07 May 2013 04:49:35 +0000</pubDate>
		<dc:creator>Soo-Hyun</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[biking]]></category>
		<category><![CDATA[broken]]></category>
		<category><![CDATA[crash]]></category>
		<category><![CDATA[experience]]></category>
		<category><![CDATA[finger]]></category>
		<category><![CDATA[hydrocodone]]></category>
		<category><![CDATA[metacarpal]]></category>
		<category><![CDATA[mountain]]></category>
		<category><![CDATA[nausea]]></category>
		<category><![CDATA[new]]></category>
		<category><![CDATA[painkiller]]></category>
		<category><![CDATA[surgery]]></category>
		<category><![CDATA[vomit]]></category>

		<guid isPermaLink="false">http://iterativecode.com/blog/?p=1879</guid>
		<description><![CDATA[Rode down Sickter Gnar (at Blackrock) for the second time, got overambitious with my speed, and went over the bars. Hit the ground with my right elbow and left pinky and noticed I no longer had a fifth knuckle. The area just under the head of the metacarpal is shattered and will need pins to [...]]]></description>
				<content:encoded><![CDATA[<p>Rode down Sickter Gnar (at Blackrock) for the second time, got overambitious with my speed, and went over the bars. Hit the ground with my right elbow and left pinky and noticed I no longer had a fifth knuckle. The area just under the head of the metacarpal is shattered and will need pins to fix. Surgery is on Wednesday. I&#8217;ve a temporary cast for now.</p>
<p>Initially, there was no pain and I vainly tried to pull it back myself, thinking it was a dislocation.</p>
<p>In retrospect, I should have kept my front wheel straight and leaned backward more. And maybe not tried to pull my finger back by myself.</p>
<p>What sucks more than not being able to bike for the next few weeks is that I can&#8217;t use my left hand for typing anymore. I have to supinate my arm uncomfortably to even hit a key with my index finger without mashing the keyboard with the cast. Doing any precision mechanical work is also going to be a challenge.</p>
<p>That said, I&#8217;m getting excited thinking of all sorts of mechanical additions to build onto the cast when I&#8217;m back in the lab.</p>
<p><strong>Update 5/9/13</strong>: Got three pins inserted yesterday at 13:00. I was under general anesthesia and apparently woke up and talked with the doctors just after surgery was over, but I don&#8217;t remember anything. All of this is a first for me, so it&#8217;s interesting. I remember waking up at 14:50 and was thinking and talking coherently by 15:10.</p>
<p>Then they gave me hydrocodone and removed the IV (they have flexible needles!). The painkiller took full effect by 16:00, and I experienced the worst feeling of nausea I&#8217;d had in a long while. Got home and vomited three times.</p>
<p>The nausea didn&#8217;t go away until 6:00 today when I woke up. That didn&#8217;t leave much time for me to study for the midterm exam I just took, which actually wasn&#8217;t that bad. I&#8217;ll probably get at least a C.</p>
<p>I forgot to mention last time that the nurse used an oscillating saw to cut my cast open. An oscillating saw cuts through hard material like the cast but not the cotton or skin underneath, which is cool.</p>
]]></content:encoded>
			<wfw:commentRss>http://iterativecode.com/blog/2013/05/06/broken-finger/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Innovation</title>
		<link>http://iterativecode.com/blog/2013/04/21/innovation/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=innovation</link>
		<comments>http://iterativecode.com/blog/2013/04/21/innovation/#comments</comments>
		<pubDate>Sun, 21 Apr 2013 08:27:29 +0000</pubDate>
		<dc:creator>Soo-Hyun</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[change]]></category>
		<category><![CDATA[innovation]]></category>
		<category><![CDATA[short]]></category>

		<guid isPermaLink="false">http://iterativecode.com/blog/?p=1871</guid>
		<description><![CDATA[Change is uncomfortable, so most people find it difficult to break away from their current way of doing things. Innovation is all about change and thus takes discipline and willpower. So stop being a lazy asshole and get stuff done.]]></description>
				<content:encoded><![CDATA[<p>Change is uncomfortable, so most people find it difficult to break away from their current way of doing things.</p>
<p>Innovation is all about change and thus takes discipline and willpower.</p>
<p>So stop being a lazy asshole and get stuff done.</p>
]]></content:encoded>
			<wfw:commentRss>http://iterativecode.com/blog/2013/04/21/innovation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>DIY half-wave dipole antennas for 900 MHz XBees</title>
		<link>http://iterativecode.com/blog/2013/01/06/diy-half-wave-dipole-antennas-for-900-mhz-xbees/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=diy-half-wave-dipole-antennas-for-900-mhz-xbees</link>
		<comments>http://iterativecode.com/blog/2013/01/06/diy-half-wave-dipole-antennas-for-900-mhz-xbees/#comments</comments>
		<pubDate>Sun, 06 Jan 2013 08:01:44 +0000</pubDate>
		<dc:creator>Soo-Hyun</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[antenna]]></category>
		<category><![CDATA[dipole]]></category>
		<category><![CDATA[DIY]]></category>
		<category><![CDATA[half-wave]]></category>
		<category><![CDATA[XBee]]></category>

		<guid isPermaLink="false">http://iterativecode.com/blog/?p=1636</guid>
		<description><![CDATA[The 900 MHz XBees I bought back in May 2012 came without antennas (not a mistake &#8212; the ones with whip antennas were out of stock, and I couldn&#8217;t wait). It turned out that making effective dipole antennas out of 50 ohm coax cable is fairly easy in practice: I followed this tutorial to make [...]]]></description>
				<content:encoded><![CDATA[<p>The 900 MHz XBees I bought back in May 2012 came without antennas (not a mistake &#8212; the ones with whip antennas were out of stock, and I couldn&#8217;t wait). It turned out that making effective dipole antennas out of 50 ohm coax cable is fairly easy in practice:</p>
<div class="wp-caption alignnone" style="width: 650px"><a href="http://imgur.com/rBMER"><img alt="DIY half-wave dipole antennas on 900 MHz XBee Pros." src="http://imgur.com/rBMERl.jpg" title="DIY half-wave dipole antennas on 900 MHz XBee Pros." width="100%" /></a><p class="wp-caption-text">DIY half-wave dipole antennas on 900 MHz XBee Pros.</p></div>
<p>I followed <a href="http://www.rc-cam.com/rc-cam4b.htm#rc-cam4_top">this tutorial</a> to make the antennas.</p>
<p><span id="more-1636"></span></p>
<p>Before I found the tutorial above, I tried cutting a piece of 20 AWG magnet wire to 8.33 cm (a quarter-wavelength), but that didn&#8217;t work, probably because the magnet wire didn&#8217;t have the right <a href="http://en.wikipedia.org/wiki/Impedance_matching">impedance</a>.</p>
<p>I have since flown the tricopter as high as 200 ft directly overhead in the past seven months of usage with no connectivity issues.</p>
<p>There are differences between the cheap 1 mW XBee and the XBee Pro 900 in the configuration commands they take. The <a href="https://docs.google.com/viewer?url=http%3A%2F%2Fftp1.digi.com%2Fsupport%2Fdocumentation%2F90002134_B.pdf">datasheet</a> proved very useful.</p>
<p>RCGroups has <a href="http://www.rcgroups.com/forums/showthread.php?t=1159968">another good tutorial</a> on this topic, and <a href="http://www.afar.net/tutorials/how-far/">this is an insightful discussion on RF</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://iterativecode.com/blog/2013/01/06/diy-half-wave-dipole-antennas-for-900-mhz-xbees/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Idea 1: Sentence completion AI bot</title>
		<link>http://iterativecode.com/blog/2012/10/21/idea-1-sentence-completion-ai-bot/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=idea-1-sentence-completion-ai-bot</link>
		<comments>http://iterativecode.com/blog/2012/10/21/idea-1-sentence-completion-ai-bot/#comments</comments>
		<pubDate>Mon, 22 Oct 2012 05:07:07 +0000</pubDate>
		<dc:creator>Soo-Hyun</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[artificial]]></category>
		<category><![CDATA[completion]]></category>
		<category><![CDATA[ideas]]></category>
		<category><![CDATA[intelligence]]></category>
		<category><![CDATA[network]]></category>
		<category><![CDATA[neural]]></category>
		<category><![CDATA[sentence]]></category>
		<category><![CDATA[train]]></category>

		<guid isPermaLink="false">http://iterativecode.com/blog/?p=1808</guid>
		<description><![CDATA[People have, in the past, used neural networks to train a program to guess the next character in a sequence of characters, and in doing so, write fairly coherent sentences. This is similar to what search engines like Google do to autocomplete queries. It would be a good exercise for me to implement such neural [...]]]></description>
				<content:encoded><![CDATA[<p>People have, in the past, used neural networks to train a program to guess the next character in a sequence of characters, and in doing so, write fairly coherent sentences. This is similar to what search engines like Google do to autocomplete queries.</p>
<p>It would be a good exercise for me to implement such neural networks in Lisp, both of which I am currently learning.</p>
<p>To make things even more exciting, I can train a program to (aurally) recognize appropriate pauses in people&#8217;s conversations (e.g., &#8220;umm&#8221;, &#8220;uhh&#8221;, &#8220;so&#8230;&#8221;) and politely chime in with verbal suggestions.</p>
<p>Since doing so audibly might become too intrusive, I might make some of the incoming ECEs build an LED matrix (or just buy one) on which the program can display the words.</p>
<p>This might become a software module for a more sophisticated AI bot I build in a future project.</p>
<p><strong>UPDATE 10/22/12</strong>: The bot could also compose poems. And music. And draw things. In short, this bot could be generalized to complete anything.</p>
]]></content:encoded>
			<wfw:commentRss>http://iterativecode.com/blog/2012/10/21/idea-1-sentence-completion-ai-bot/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Idea 0: Post ideas!</title>
		<link>http://iterativecode.com/blog/2012/10/21/idea-0-post-ideas/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=idea-0-post-ideas</link>
		<comments>http://iterativecode.com/blog/2012/10/21/idea-0-post-ideas/#comments</comments>
		<pubDate>Mon, 22 Oct 2012 04:38:43 +0000</pubDate>
		<dc:creator>Soo-Hyun</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[ideas]]></category>

		<guid isPermaLink="false">http://iterativecode.com/blog/?p=1805</guid>
		<description><![CDATA[I often get ideas for various robotics and computer science-y projects I could take on after I finish my current projects, but as is the case for many of us, I just don&#8217;t have the time to implement most of them. Yet the ideas keep coming, and my todo list (a text file in my [...]]]></description>
				<content:encoded><![CDATA[<p>I often get ideas for various robotics and computer science-y projects I could take on after I finish my current projects, but as is the case for many of us, I just don&#8217;t have the time to implement most of them.</p>
<p>Yet the ideas keep coming, and my todo list (a text file in my home directory) is hundreds of lines long.</p>
<p>Therefore, without further ado:</p>
<p><strong>Idea 0: Post ideas!</strong></p>
<p>I&#8217;ll try to post each of my ideas individually, along with related subideas, anecdotes, or elaborations, as appropriate. They may be good or bad, and other people probably have had the same ideas. Regardless, I hope to at least keep my todo list within the scope of a few weeks and months, not years.</p>
]]></content:encoded>
			<wfw:commentRss>http://iterativecode.com/blog/2012/10/21/idea-0-post-ideas/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Burning an Arduino bootloader to an atmega328p with an AVRISPmkII in Arch Linux</title>
		<link>http://iterativecode.com/blog/2012/09/19/burning-an-arduino-bootloader-to-an-atmega328p-with-an-avrispmkii-in-arch-linux/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=burning-an-arduino-bootloader-to-an-atmega328p-with-an-avrispmkii-in-arch-linux</link>
		<comments>http://iterativecode.com/blog/2012/09/19/burning-an-arduino-bootloader-to-an-atmega328p-with-an-avrispmkii-in-arch-linux/#comments</comments>
		<pubDate>Thu, 20 Sep 2012 04:33:02 +0000</pubDate>
		<dc:creator>Soo-Hyun</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Arch]]></category>
		<category><![CDATA[Arduino]]></category>
		<category><![CDATA[ATmega]]></category>
		<category><![CDATA[atmega328p]]></category>
		<category><![CDATA[AVRISPmkII]]></category>
		<category><![CDATA[bootloader]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[udev]]></category>

		<guid isPermaLink="false">http://iterativecode.com/blog/?p=1789</guid>
		<description><![CDATA[This is another braindump post, so my sentences may be a bit haphazard. In the scramble leading up to the IARC, I donated my Arduino&#8217;s atmega328p to the Aerial Team, which subsequently fried the chip. I ordered a new chip from Digi-Key a few days ago, but without the Arduino bootloader, I couldn&#8217;t upload sketches [...]]]></description>
				<content:encoded><![CDATA[<p>This is another braindump post, so my sentences may be a bit haphazard.</p>
<div class="wp-caption alignnone" style="width: 650px"><a href="http://imgur.com/ztIlG"><img alt="Bootloader written!" src="http://imgur.com/ztIlGl.png" title="Bootloader written!" width="100%" /></a><p class="wp-caption-text">Bootloader written!</p></div>
<p>In the scramble leading up to the IARC, I donated my Arduino&#8217;s atmega328p to the Aerial Team, which subsequently fried the chip.</p>
<p>I ordered a new chip from Digi-Key a few days ago, but without the Arduino bootloader, I couldn&#8217;t upload sketches to the board over USB.</p>
<p>I tried at first to use a Pololu PGM03A programmer I had lying around the lab, using avrdude from the command line. This failed to work, because avrdude kept seeing an invalid device signature.</p>
<p>My other option was to use the AVRISP mkII, which I had never used before because my Arch Linux installation had issues recognizing the programmer. This was a good chance to rectify the issue. The solution was simple:</p>
<p>I saved the following as /etc/udev/rules.d/60-avrisp.rules:</p>
<pre class="brush: plain; title: ; notranslate">
SUBSYSTEM!=&quot;usb_device&quot;, ACTION!=&quot;add&quot;, GOTO=&quot;avrisp_end&quot;                            

# Atmel Corp. JTAG ICE mkII
ATTR{idVendor}==&quot;03eb&quot;, ATTR{idProduct}==&quot;2103&quot;, MODE=&quot;660&quot;, GROUP=&quot;dialout&quot;
# Atmel Corp. AVRISP mkII
ATTR{idVendor}==&quot;03eb&quot;, ATTR{idProduct}==&quot;2104&quot;, MODE=&quot;660&quot;, GROUP=&quot;dialout&quot;
# Atmel Corp. Dragon
ATTR{idVendor}==&quot;03eb&quot;, ATTR{idProduct}==&quot;2107&quot;, MODE=&quot;660&quot;, GROUP=&quot;dialout&quot;

LABEL=&quot;avrisp_end&quot;
</pre>
<p>and added my user to the group &#8220;dialout&#8221; (I had to create this group on my machine).</p>
<p>I could then use the AVRISPmkII to burn the bootloader through the Arduino IDE.</p>
]]></content:encoded>
			<wfw:commentRss>http://iterativecode.com/blog/2012/09/19/burning-an-arduino-bootloader-to-an-atmega328p-with-an-avrispmkii-in-arch-linux/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tricopter chassis v0.3</title>
		<link>http://iterativecode.com/blog/2012/08/06/tricopter-chassis-v0-3/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=tricopter-chassis-v0-3</link>
		<comments>http://iterativecode.com/blog/2012/08/06/tricopter-chassis-v0-3/#comments</comments>
		<pubDate>Tue, 07 Aug 2012 05:47:19 +0000</pubDate>
		<dc:creator>Soo-Hyun</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[chassis]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[folding]]></category>
		<category><![CDATA[isolation]]></category>
		<category><![CDATA[projects]]></category>
		<category><![CDATA[revision]]></category>
		<category><![CDATA[robotics]]></category>
		<category><![CDATA[tricopter]]></category>
		<category><![CDATA[vibration]]></category>

		<guid isPermaLink="false">http://iterativecode.com/blog/?p=1724</guid>
		<description><![CDATA[After a month-long hiatus after the crash, I redesigned the tricopter chassis. The aluminum arms are now foldable, and the motors are closer to the center of the chassis (I have yet to trim the arms to a shorter length). There is room for the new and bigger ESCs underneath the other electronics. The Seeeduino/protoboard/sensor [...]]]></description>
				<content:encoded><![CDATA[<p>After a month-long hiatus after the crash, I redesigned the tricopter chassis.</p>
<div class="wp-caption alignnone" style="width: 650px"><a href="http://imgur.com/Q3IOt"><img alt="Tricopter folded for transport." src="http://imgur.com/Q3IOtl.jpg" title="Tricopter folded for transport." width="100%" /></a><p class="wp-caption-text">Tricopter folded for transport.</p></div>
<p>The aluminum arms are now foldable, and the motors are closer to the center of the chassis (I have yet to trim the arms to a shorter length). There is room for the new and bigger ESCs underneath the other electronics.</p>
<p><span id="more-1724"></span></p>
<div class="wp-caption alignnone" style="width: 650px"><a href="http://imgur.com/LFsYZ"><img alt="Electronics mounted with vibration-isolating rubber grommets." src="http://imgur.com/LFsYZl.jpg" title="Electronics mounted with vibration-isolating rubber grommets." width="100%" /></a><p class="wp-caption-text">Electronics mounted with vibration-isolating rubber grommets.</p></div>
<p>The Seeeduino/protoboard/sensor blob is bolted to a wooden plate, which, in turn, is attached to the center piece with bolts isolated by rubber grommets. This, combined with a rigid mounting of the battery to the center piece, seems to work much better than foam in isolating the sensors from vibration.</p>
<div class="wp-caption alignnone" style="width: 650px"><a href="http://imgur.com/HS0i5"><img alt="It just happens to be able to balance on the tip of the tail arm." src="http://imgur.com/HS0i5l.jpg" title="It just happens to be able to balance on the tip of the tail arm." width="100%" /></a><p class="wp-caption-text">It just happens to be able to balance on the tip of the tail arm.</p></div>
<p>Total weight of the machine, with battery, is 2050 grams.</p>
<p><iframe class="imgur-album" width="100%" height="550" frameborder="0" src="http://imgur.com/a/tICsG/embed"></iframe></p>
]]></content:encoded>
			<wfw:commentRss>http://iterativecode.com/blog/2012/08/06/tricopter-chassis-v0-3/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>On our way to the 2012 IARC in Grand Forks, ND!</title>
		<link>http://iterativecode.com/blog/2012/07/29/on-our-way-to-the-2012-iarc-in-grand-forks-nd/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=on-our-way-to-the-2012-iarc-in-grand-forks-nd</link>
		<comments>http://iterativecode.com/blog/2012/07/29/on-our-way-to-the-2012-iarc-in-grand-forks-nd/#comments</comments>
		<pubDate>Sun, 29 Jul 2012 19:51:48 +0000</pubDate>
		<dc:creator>Soo-Hyun</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[aerial]]></category>
		<category><![CDATA[club]]></category>
		<category><![CDATA[competition]]></category>
		<category><![CDATA[IARC]]></category>
		<category><![CDATA[international]]></category>
		<category><![CDATA[North Dakota]]></category>
		<category><![CDATA[OSU]]></category>
		<category><![CDATA[projects]]></category>
		<category><![CDATA[quadrotor]]></category>
		<category><![CDATA[road]]></category>
		<category><![CDATA[robotics]]></category>
		<category><![CDATA[trip]]></category>

		<guid isPermaLink="false">http://iterativecode.com/blog/?p=1720</guid>
		<description><![CDATA[On August 1, we (the OSU Autonomous Aerial Robotics Team) will compete against 27 other collegiate teams from around the world in the 2012 International Aerial Robotics Competition. The current (6th) mission of the IARC requires teams to develop an aerial robot capable of autonomously navigating an indoor space (i.e., hallways, furnished rooms) to locate [...]]]></description>
				<content:encoded><![CDATA[<p>On August 1, we (the OSU Autonomous Aerial Robotics Team) will compete against 27 other collegiate teams from around the world in the 2012 International Aerial Robotics Competition.</p>
<p>The current (6th) mission of the IARC requires teams to develop an aerial robot capable of autonomously navigating an indoor space (i.e., hallways, furnished rooms) to locate and retrieve a flash drive, all the while avoiding or disabling laser tripwires, avoiding a security camera by its blue status LED, and optionally recognizing signs that help guide the quadrotor toward the room containing the flash drive.</p>
<div class="wp-caption alignnone" style="width: 650px"><a href="http://imgur.com/ZbSgV"><img alt="Window mockup for computer vision testing with quadrotor." src="http://imgur.com/ZbSgV.jpg" title="Window mockup for computer vision testing with quadrotor." width="100%" /></a><p class="wp-caption-text">Window mockup for computer vision testing with quadrotor.</p></div>
<p>We spent the majority of the past school year developing our own flight platform (electronics, hardware, and software), leaving only the last two months for real hardware and autonomous navigation development. Nevertheless, we have made significant progress in that time toward making our quadrotor capable of completing the mission.</p>
<p><span id="more-1720"></span></p>
<p>Realistically, we may not be able to complete all requirements of the mission this year, but at this point our quadrotor can autonomously take off, maintain altitude, follow a wall, and land. I have started developing the computer vision system (using OpenCV) that will allow the quadrotor to locate the window for ingress and egress of the arena, recognize the blue LED of the security camera, and recognize the flash drive.</p>
<div class="wp-caption alignnone" style="width: 650px"><a href="http://imgur.com/0h3k3"><img alt="Multirotors and supplies half-packed." src="http://imgur.com/0h3k3l.jpg" title="Multirotors and supplies half-packed." width="100%" /></a><p class="wp-caption-text">Multirotors and supplies half-packed.</p></div>
<p>After some last-minute tests, we packed up and left Corvallis yesterday at 13:00 PST. It&#8217;s 10:50 PST now, and we are 40 miles away from Grand Forks, ND, where the competition will be held.</p>
]]></content:encoded>
			<wfw:commentRss>http://iterativecode.com/blog/2012/07/29/on-our-way-to-the-2012-iarc-in-grand-forks-nd/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Red Brick 70A ESC flashed with simonk firmware</title>
		<link>http://iterativecode.com/blog/2012/07/26/red-brick-70a-esc-flashed-with-simonk-firmware/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=red-brick-70a-esc-flashed-with-simonk-firmware</link>
		<comments>http://iterativecode.com/blog/2012/07/26/red-brick-70a-esc-flashed-with-simonk-firmware/#comments</comments>
		<pubDate>Thu, 26 Jul 2012 08:47:38 +0000</pubDate>
		<dc:creator>Soo-Hyun</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[board]]></category>
		<category><![CDATA[brick]]></category>
		<category><![CDATA[different]]></category>
		<category><![CDATA[ESC]]></category>
		<category><![CDATA[firmware]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[HobbyKing]]></category>
		<category><![CDATA[projects]]></category>
		<category><![CDATA[rb50a]]></category>
		<category><![CDATA[rb70a]]></category>
		<category><![CDATA[red]]></category>
		<category><![CDATA[robotics]]></category>
		<category><![CDATA[simonk]]></category>

		<guid isPermaLink="false">http://iterativecode.com/blog/?p=1690</guid>
		<description><![CDATA[This is mainly for my record. Of the three Red Brick 70A ESCs I ordered from HobbyKing to replace my burnt-up ones, one had different pin assignments to the FETs than the other two. This required me to upload the rb50a firmware instead of the rb70a. Before I figured out that the rb50a firmware worked [...]]]></description>
				<content:encoded><![CDATA[<p>This is mainly for my record.</p>
<p>Of the three Red Brick 70A ESCs I ordered from HobbyKing to replace my burnt-up ones, one had different pin assignments to the FETs than the other two. This required me to upload the rb50a firmware instead of the rb70a.</p>
<div class="wp-caption alignnone" style="width: 650px"><a href="http://imgur.com/q7p0E"><img alt="Different board." src="http://imgur.com/q7p0El.jpg" title="Different board." width="100%" /></a><p class="wp-caption-text">Different board.</p></div>
<p>Before I figured out that the rb50a firmware worked on this board, I spent a while fiddling with the rb70a firmware and found that I need to consider the ADC pin assignments as well as the FET pin assignments for the commutation to work properly. Otherwise, the ESC will beep at startup but fail to spin the motor because it will check the wrong pair of output leads during a given phase.</p>
<p>The calibration feature of simonk&#8217;s firmware threw me off for a while because I accidentally calibrated the ESCs to a ridiculously small PWM input range and didn&#8217;t realize it.</p>
]]></content:encoded>
			<wfw:commentRss>http://iterativecode.com/blog/2012/07/26/red-brick-70a-esc-flashed-with-simonk-firmware/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>
