<?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>RobotRising</title>
	<atom:link href="http://robotrising.org/feed/" rel="self" type="application/rss+xml" />
	<link>http://robotrising.org</link>
	<description>High Altitude Adventures</description>
	<lastBuildDate>Thu, 17 Jan 2013 05:40:20 +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>Operation StratoSphere &#8211; Conclusion</title>
		<link>http://robotrising.org/2013/01/operation-stratosphere-conclusion/</link>
		<comments>http://robotrising.org/2013/01/operation-stratosphere-conclusion/#comments</comments>
		<pubDate>Thu, 17 Jan 2013 05:32:14 +0000</pubDate>
		<dc:creator>RobotCaleb</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://robotrising.org/?p=341</guid>
		<description><![CDATA[It turns out that launching, losing, finding, and recovering a balloon is way easier than getting the imagery ready. Let&#8217;s find out why! (If you see an image in this post, click it. If you regret it I&#8217;ll refund you the price of admission.) If you&#8217;ve been following along you&#8217;ll know that the goal of [...]]]></description>
				<content:encoded><![CDATA[<p>It turns out that launching, losing, finding, and recovering a balloon is way easier than getting the imagery ready. Let&#8217;s find out why!</p>
<p>(If you see an image in this post, click it. If you regret it I&#8217;ll refund you the price of admission.)</p>
<p>If you&#8217;ve been following along you&#8217;ll know that the goal of this project was to achieve a world first accomplishment of fully spherical panoramic imagery of a (small) section of our planet as seen from the <a href="http://en.wikipedia.org/wiki/Stratosphere" title="Stratosphere" target="_blank">stratosphere</a>. In addition to imagery I also wanted to put together a video of the whole flight. The video didn&#8217;t quite happen as I hoped. Some of the obstacles were too large to overcome using the hardware that I sent up. I&#8217;ll hopefully cover those obstacles in this post.</p>
<p>Where to start?</p>
<p><span id="more-341"></span></p>
<h2>The Beginning</h2>
<p>Let&#8217;s cover the evolution of the project. The basics have already been covered and you can refresh yourself by reading them again.<br />
<a href="http://robotrising.org/2012/09/operation-stratosphere-overview-and-history/" title="Operation StratoSphere – Overview and History">Operation StratoSphere – Overview and History</a><br />
Go ahead, I&#8217;ll wait.</p>
<p>Ok, let&#8217;s proceed. I started with just one camera and one homemade cube. With the goal being a fully spherical image I had to get creative to use one camera and treat it as if it were six. I made a frame with a guide for the box to go in, then took the whole silly unstable contraption out to the backyard. The guide was there to keep me from moving the cube too drastically from its starting point. I set it in picture every n seconds mode and let it run. After a few frames were captured I picked the cube up, rotated it so that the camera had coverage on another face, and put it back in the guide. Repeat for all six faces.</p>
<p><em>Some notes on the following links: They all utilize a panorama viewer I put together. I make no claims that it will work (except to say that it does for me). You click and drag to pan the image. On browsers that support it it will use WebGL for rendering, otherwise it will use canvas. Again, on browsers that support it it will allow you to press F to toggle in and out of fullscreen. If your browser doesn&#8217;t support this mode, press F11 (or your platform&#8217;s equivalent) to cause your browser to fill as much of the screen as possible. The experience is much better when it&#8217;s filling the screen.</em></p>
<p>That ended up giving the following result. It&#8217;s not stitched together well and it definitely isn&#8217;t pretty, but there are no holes in the image which means there is full (but not necessarily ideal) coverage. The project was feasible!<br />
<a href="http://robotrising.org/StratoSphere/?src=images/frametest.jpg&#038;type=image"><img src="http://robotrising.org/StratoSphere/images/frametest-thumb.jpg"/></a></p>
<p>After that came a lot of research into balloons, stitching better, and building many many boxes to house the cameras. And of course, stitching more images.</p>
<p>Here we have me just holding the box up in the street and rotating it to point the camera in all six directions. Visible also is a little miscreant (my son) trying to chase me into the street.<br />
<a href="http://robotrising.org/StratoSphere/?src=images/miscreant.jpg&#038;type=image"><img src="http://robotrising.org/StratoSphere/images/miscreant-thumb.jpg"/></a></p>
<p>This one was taken from my parents&#8217; roof with a single camera at the end of a pool cleaning pole.<br />
<a href="http://robotrising.org/StratoSphere/?src=images/rooftop.jpg&#038;type=image"><img src="http://robotrising.org/StratoSphere/images/rooftop-thumb.jpg"/></a></p>
<p>Through much cajoling, begging, and borrowing I was able to acquire a total of four cameras. I put them all in one of my boxes, grabbed my homemade test tripod, and went searching for a suitable spot to test from. With this example we have something a little different. First, here&#8217;s a static image like the previous links have been.<br />
<a href="http://robotrising.org/StratoSphere/?src=images/stormytripod.jpg&#038;type=image"><img src="http://robotrising.org/StratoSphere/images/stormytripod-thumb.jpg"/></a></p>
<p>With this test, however, I wasn&#8217;t just goofing around and further proving to myself that yes, I can stitch images together! No, this time I was doing a full video test. Let&#8217;s see how that turned out, shall we? Please note, this link will not work in a web browser that can&#8217;t playback webm video. I have tested and verified that it works on the latest Firefox and Chrome browsers, but will fail in Internet Explorer.<br />
<a href="http://robotrising.org/StratoSphere/?src=images/stormytripod.webm&#038;type=video"><img src="http://robotrising.org/StratoSphere/images/stormytripod-thumb.jpg"/></a></p>
<p>Now we&#8217;re getting somewhere! That rather obvious black gap is the two missing cameras. Don&#8217;t worry, we&#8217;ll fill that in.</p>
<p>One issue that I haven&#8217;t addressed yet (really, I haven&#8217;t touched on any of them, yet) is that of rotation. As nice as it would be, that camera isn&#8217;t going to be stable. Let&#8217;s see how it feels when we just view an uncorrected rotating video. Also, all six cameras have been acquired for this test.<br />
<a href="http://robotrising.org/StratoSphere/?src=images/hooptest.webm&#038;type=video"><img src="http://robotrising.org/StratoSphere/images/hooptest-thumb.jpg"/></a></p>
<p>It kind of sucks to have to chase the view around, doesn&#8217;t it? And that&#8217;s just rotating around a nice axis. It&#8217;s even worse when it rotates around a non-vertical axis as you can&#8217;t pan to follow so easily.</p>
<h2>The issues</h2>
<p>So, I&#8217;ve already pointed out one issue. The camera rotation (for sake of conversation, I&#8217;m treating the whole cube as a single camera. It just makes explanations a bit less tedious), that is. If you were looking closely you may have seen another issue. <strong>Rotation </strong>is our first issue.</p>
<p><strong>Exposure</strong>. In the last video it&#8217;s pretty obvious that there are some major quality issues going on. Go ahead an watch it again. This time I want you to not pan the view and just pay attention to just right of dead center. You&#8217;ll see that that area comes to a corner pointing down. (The cameras are at angles as I&#8217;m suspending the box by a corner.) As the camera rotates around that particular face (all faces, really. But we&#8217;re concentrating on one for the moment.) is looking at the sun, then as it continues around looking directly opposite the sun, then back around. As it does the camera software tries to adjust the exposure to keep the scene visible. This results in that face not matching the exposure values of its neighbors and during and just after it&#8217;s had the sun in view it&#8217;s left under exposed as it tried to accommodate the very bright sun. For this test I tried to correct it in post production but you can&#8217;t find detail that&#8217;s been lost.</p>
<p><strong>Synchronization</strong>. Since we&#8217;re not dealing with a static scene (we have clouds moving, the balloon ascending/descending, camera rotation, etc) we have to to use images that were taken at the same moment in time and location in space if we want a good stitched result. This means we have to have some method of synchronizing our videos.</p>
<h2>The solutions</h2>
<p><strong>Exposure</strong>. This is the easiest one to explain in that all I have to say is I can&#8217;t fix it. Not with the hardware I used. The firmware on the cameras used doesn&#8217;t provide a mean to fix the exposure value, so, for this iteration, it just has to be dealt with.</p>
<p><strong>Synchronization</strong>. This one didn&#8217;t turn out to be too bad. Shortly before the balloon is launched I turn on all of the camera. They don&#8217;t all turn on and start recording at the same time, however. So I can&#8217;t just assume that 2 minutes into one puts the balloon at the same location as 2 minutes into another.</p>
<p>I tossed around various ideas to solve this problem. Initially I was thinking maybe enclose the payload in a box and flash a flash bulb in the box then synchronize the cameras based on the video. Or a blinking LED in front of each camera. These may have worked but were over-complicated. I wanted something fast or, preferably, something passive.</p>
<p>The way I synchronized early video attempts (such as for the basketball court video) was to bang a rock against a metal pole after the cameras have already started recording. Then, I would look at the audio stream for each camera and find where the sharp impact occurred and use that as the basis for a series of deltas between each video and one common. This worked but wasn&#8217;t very accurate. Also, what if I forget to have a sharp impact noise when launching? Further, when a camera hits 4 gigabytes in the video it&#8217;s recording it stops recording to that file and starts a new file. In practice this doesn&#8217;t transition losslessly and, therefore, I can&#8217;t use the sharp impact from the first 45 minutes to help synchronize the second or third 45 minutes of the flight.</p>
<p>What I ended up going with for the footage you haven&#8217;t seen yet (muhaha) is to use a tool called <a href="http://audacity.sourceforge.net/" title="Audacity® is free, open source, cross-platform software for recording and editing sounds." target="_blank">Audacity</a>. Audacity is free, open source, cross-platform software for recording and editing sounds.</p>
<p>Here&#8217;s the basic process:<br />
Step 1. Dump the audio from the individual videos.</p>
<pre>ffmpeg -i input.mp4 output.wav</pre>
<p>Step 2. Load the resulting wave files into Audacity.<br />
<a href="http://robotrising.org/StratoSphere/images/blog/step2.png"><img src="http://robotrising.org/StratoSphere/images/blog/step2-thumb.png"></img></a><br />
Step 3. Split that stereo track and drop one channel. For what we&#8217;re going to do it&#8217;s just taking up space.<br />
<a href="http://robotrising.org/StratoSphere/images/blog/step3.png"><img src="http://robotrising.org/StratoSphere/images/blog/step3-thumb.png"></img></a><br />
Step 4. Find a common pattern.<br />
<a href="http://robotrising.org/StratoSphere/images/blog/step4.png"><img src="http://robotrising.org/StratoSphere/images/blog/step4-thumb.png"></img></a><br />
Step 5. Choose one waveform to align to. I use the one that has my chosen feature closest to the start as it makes all the deltas go in just one direction. You can choose whichever you want.<br />
Step 6. Use the time shift tool and the zoom tool to align the wave forms for all of the other channels with the chosen one.<br />
<a href="http://robotrising.org/StratoSphere/images/blog/step6.png"><img src="http://robotrising.org/StratoSphere/images/blog/step6-thumb.png"></img></a><br />
Step 7. Save the Audacity project and open it with a text editor. It&#8217;s a simple XML format. What we&#8217;re looking for is the <strong>offset</strong> attribute on the <strong>wavetrack</strong> tag. Record this value for each channel.<br />
<img src="http://robotrising.org/StratoSphere/images/blog/step7xml.png"></img></p>
<p>Now you have a list of offsets that you can use to translate one moment in time on one video to the same moment in all other videos. In the following image you can see how I&#8217;m using my offsets to take the time of 609 seconds in video 4 and find where that same time is in the others.<br />
<img src="http://robotrising.org/StratoSphere/images/blog/TranslatedTime.png"></img></p>
<p>At this point it&#8217;s a matter of feeding into ffmpeg to extract a frame (for a static image) or several frames (for a video).<br />
<img src="http://robotrising.org/StratoSphere/images/blog/ffmpegdump.png"></img></p>
<p>Run those six commands and you&#8217;ll have six images from the same point in time and space ready to start stitching.</p>
<p><strong>Rotation</strong>. This one is a bit tricky and I tried coming up with some super techy solutions to solve it. I wrote a rudimentary computer vision application that would try to extract the rotation data from a video. The intent was to maybe play it back in reverse on the controls of the viewer to try to counteract the rotation. In practice it didn&#8217;t work so well. It wasn&#8217;t extremely accurate and it suffered from a lot of drift. It also wasn&#8217;t very smooth. The smoothness was mainly my fault. I wasn&#8217;t interpolating between counteractions. If anyone is interested in seeing the viewer with counteraction shoot me a message and I&#8217;ll see if I still have it.</p>
<p>Nonetheless, the work did occur and I do have something to show for it. Here&#8217;s a video with a line being drawn indicating the software&#8217;s guess of the direction and exaggerated magnitude of the rotation.<br />
<iframe width="560" height="315" src="http://www.youtube.com/embed/s4jMt2HicfU" frameborder="0" allowfullscreen></iframe><br />
<a href="https://www.youtu.be/s4jMt2HicfU">Direct YouTube link in case the embed doesn&#8217;t work</a></p>
<p>In order to fully explain how I finally managed to remove the effects of rotation we must first dive into the stitching process.</p>
<h2>Stitching</h2>
<p>At this point we&#8217;ve got enough data that we can dump frames. Let&#8217;s just concentrate on one frame for the time being. (One frame from each of the six cameras, that is.)</p>
<p>They look like this (Image link is to a gallery):<br />
<a href="https://plus.google.com/107235276879849058634/posts/W6tQfaKDYgw" target="_blank"><img src="https://lh3.googleusercontent.com/-XDuJhWxC7AA/UPdZ_3fYLII/AAAAAAAAHj0/KsSR6VakEGI/w497-h373/1.png"></img></a></p>
<p>We need to get those images stitched into one larger image. To do so, we&#8217;ll use a tool called <a href="http://hugin.sourceforge.net/" target="_blank">Hugin</a> and several tools from the Hugin installation to help automate parts of it. Hugin is an open source utility that makes use of several panorama creation tools.</p>
<p>When the images are loaded into Hugin it will ask for some information about the lenses used. These cameras use a full frame fisheye lens with a hfov of 170 degrees. 170 degrees horizontally only gives us about 127.5 degrees vertically, which isn&#8217;t a whole lot of overlap. To try to maximize overlap I rotated each camera 90 degrees off from its neighbor in the payload box. The more overlap the better as fisheye lenses (especially cheap ones) tend to lose a lot due to blurring and <a href="http://en.wikipedia.org/wiki/Chromatic_aberration">chromatic aberration</a> at the edges.</p>
<p>Next we need to find common points among images that overlap. Attempting to do so with the automatic control point finder tends to not have very good results. With my data set it usually doesn&#8217;t find any control points. (Hugin devs out there, does the control point finder remap to remove distortion before attempting to find control points if it knows the fov and lens types? If not, I think it might be useful, even if it is mostly naive.)</p>
<p>Here&#8217;s a screenshot of manual control point placement across two images.<br />
<a href="http://robotrising.org/StratoSphere/images/blog/controlpoints.png"><img src="http://robotrising.org/StratoSphere/images/blog/controlpoints-thumb.png"></img></a></p>
<p>This process contains a biiiiit of tedium.</p>
<p>Once we have all of the images (or as many as we can get) connect with control points we can ask the program to optimize some parameters. We have a spherical image when all images are accounted for. Hugin&#8217;s tools will look at how the control points are related to each other and try to find a transformation that fits them to a surface in which they all make sense. It will return a deviation value that we can use to determine how well it did at aligning our images. There&#8217;s a lot to this process and I won&#8217;t get into it all. It involves placing control points, fine tuning control points, optimizing the image, looking for major stitch issues, checking control point distances, removing bad control points, optimizing some more. Rinse and repeat until it starts to come out good. As I hinted at with the overlap stuff above, we&#8217;re not dealing with the most optimal of source data here.</p>
<p>There are some other factors that come into play with panorama stitching. You want to avoid placing control points on objects that move between images taken. Typical panoramas are done with one camera being rotated after each photo is taken. Objects that move between photos taken that have control points on them will severely hinder the stitching process.</p>
<p>You also want to avoid placing control points on objects at largely different distances from the lens. Don&#8217;t mix control points between objects a couple feet away and a hundred feet away as the optimizer won&#8217;t be able to make them fit to one transform. I&#8217;m able to mostly ignore this issue at very high altitudes as everything is so far away that the difference between the closer and the further objects is so slight that it doesn&#8217;t do much to negatively impact the optimization. Of course, that means I don&#8217;t allow any control points to be placed on anything attached to the camera payload, including the parachute and the balloon.</p>
<p>In order to place control points you have to have common features. That&#8217;s why you need the overlap between images. The more overlap the better the result. In the sample images above we have one image, the fourth, that isn&#8217;t able to be connected to any of the others. And it&#8217;s not because there&#8217;s no overlap. There are three issues with the fourth image that presents us from finding control points in it.</p>
<p>First, it&#8217;s just starting to rotate from the black of space into looking at a bit of the ground. That means it was brightening the image to compensate for the lack of anything to look at and it&#8217;s over exposed the ground. The detail has been lost due to this.</p>
<p>Second, it&#8217;s looking mostly at black space and the balloon. Since we can&#8217;t place control points on the balloon and there are no features in the black space to find commonality with in other images we can&#8217;t actually place any control points.</p>
<p>Third, it&#8217;s the sun coming in at a very shallow angle causing it have some really bad lens flare and highlighting imperfections in and dirt on the lens. If there was anything to look at past the lens flare it would be masked rather badly by the glare.</p>
<p>So, all that together means we can&#8217;t use this image for this panorama. After creating the panorama we have the following image to look at (I cheated a bit for this one and tried to correct the over exposure in the fifth image and I also manually leveled the horizon):<br />
<a href="http://robotrising.org/StratoSphere/?src=images/stitchexample1.jpg&#038;type=image"><img src="http://robotrising.org/StratoSphere/images/stitchexample1-thumb.jpg"></img></a></p>
<p>How can we fix that hole? Well, we&#8217;ve already established that the cameras are rotating. At this altitude another few seconds won&#8217;t make much difference in how the scene looks below, so what we can do is wait a few ticks for the cameras that didn&#8217;t have good imagery to come to an angle that allows them to see something that we can stitch from. Namely, the ground. Then what we can do is merge the two Hugin project files and have good controls points all around for this altitude and probably a good range of the high altitude imagery.</p>
<p>I did just that. Several times, actually. I was trying to get the best control point data that I could as, as you&#8217;ll recall, the goal of this project isn&#8217;t just static imagery. Without further ado, I give you the best single frame I was able to create from an altitude of 96 thousand feet. <strong>Definitely</strong> click this one.<br />
<a href="http://robotrising.org/StratoSphere/?src=images/96k.jpg&#038;type=image"><img src="http://robotrising.org/StratoSphere/images/96k-thumb.jpg"></img></a></p>
<h2>Rotation Removal</h2>
<p>By this point we know how to create panoramic images, we even have a control point and optimization parameters template. Next involves hundreds of hours of creating hundreds of frames of stitched images. One pano frame comes from six camera images. After hundreds of gigabytes and hundreds of CPU hours I finally have 4437 frames stitched from 26,622 source images. Finally, we can make a video. But, there&#8217;s still one major problem. That&#8217;s right, the rotation.</p>
<p>Here&#8217;s what that video looks like:<br />
<iframe width="640" height="360" src="http://www.youtube.com/embed/de8FUDc7KI8?rel=0" frameborder="0" allowfullscreen></iframe><br />
<a href="http://youtu.be/de8FUDc7KI8">Direct YouTube link in case the embed doesn&#8217;t work</a></p>
<p>For an idea of how poorly behaved that is in the panorama viewer, see the following link:<br />
<a href="http://robotrising.org/StratoSphere/?src=images/uncorrected.webm&#038;type=video"><img src="http://robotrising.org/StratoSphere/images/uncorrected-thumb.png"></img></a></p>
<p>So, we still have to correct it. Remember before I said I manually straightened the horizon for the static shots? Well, I can&#8217;t exactly do that for all 4437 images. Rather, I guess I could but I certainly don&#8217;t want to. Not only would I have to straighten each one to the best of my ability but I&#8217;d have to make sure it&#8217;s pointed in the right direction so as to be made into a video properly without the center point jumping all over. What to do?</p>
<p>Well, included in the Hugin panorama tools is a program called cpfind. This program didn&#8217;t work very well when we asked it to find control points between the six images of one frame. But what if you compared two sequential stitched images? I bet we&#8217;d get a lot better results as they&#8217;re mostly the same image. Let&#8217;s try.</p>
<p>First, we create and save a Hugin project, cpfind-test.pto, containing two sequential stitched images.<br />
<a href="http://robotrising.org/StratoSphere/images/blog/cpfindtest.png"><img src="http://robotrising.org/StratoSphere/images/blog/cpfindtest-thumb.png"></img></a></p>
<p>Then we run cpfind against it with the
<pre>--linearmatch</pre>
<p> parameter, which tells it to do linear image matching. That is, only match each image in the project against its immediate successor.<br />
<img src="http://robotrising.org/StratoSphere/images/blog/cpfind-post.png"></img></p>
<p>Let&#8217;s open the resulting project in Hugin and look at the control points.<br />
<a href="http://robotrising.org/StratoSphere/images/blog/cpfind-controlpoints.png"><img src="http://robotrising.org/StratoSphere/images/blog/cpfind-controlpoints-thumb.png"></img></a></p>
<p>Okay, that looks pretty good. It did find some points on the balloon itself, and on the lens and dust flares, but that&#8217;s okay. For this round we don&#8217;t care. We just want a good representation of what it would take to align one image to another. Since they&#8217;re so close together in time (and space!), about 33 milliseconds apart, we should be able to align them so that they&#8217;re almost identical.</p>
<p>We run another optimize pass, this time using position, incremental from anchor as what to optimize. When we look in the GL viewer and toggle back and forth between the two images we see that they have, in fact, been lined up quite nicely. This would be difficult to show in screenshots, so you&#8217;ll have to trust me. Also, we could get them to line up a bit better if we fine-tune all control points through the menu, but that&#8217;s not super important for this step.</p>
<p>Now that we have a good idea of how the images are related to each other, we can manually correct the horizon and it will cascade to the rest of the images. (In this case, to the second and only other image)<br />
<a href="http://robotrising.org/StratoSphere/images/blog/manualcorrecthorizon.png"><img src="http://robotrising.org/StratoSphere/images/blog/manualcorrecthorizon-thumb.png"></img></a></p>
<p>All that&#8217;s left is to have it save out the remapped images and we&#8217;ll have two images that are mostly pointing in the same direction and with a mostly straight horizon. Now all that&#8217;s left is to create a Hugin project file containing all of the images we want to make a video from and do the same process. It&#8217;s best to do as much of this outside of Hugin as you can as it starts to get real slow when dealing with hundreds/thousands of images.</p>
<p>Do note that this won&#8217;t fully remove our wavy horizon issue as all it really is is a form of <a href="http://en.wikipedia.org/wiki/Dead_reckoning">dead reckoning</a>. That is, the position of any one image is only guessed at by using the known position of the previous image. Which itself was guessed at. The errors accumulate the further down the guessing chain you go. But, for my data set, it was enough to get me close enough to run the next step. Before we go there, though, here&#8217;s an example of what the output looks at at this stage.<br />
<a href="http://robotrising.org/StratoSphere/?src=images/betterhorizon.webm&#038;type=video"><img src="http://robotrising.org/StratoSphere/images/betterhorizon-thumb.png"></img></a></p>
<p>Okay, so we still have a bit of a wavy horizon. But, not to worry, we can do something I thought was a bit clever. Let&#8217;s take all of the new images we created, that mostly corrected images, and put them in a new Hugin project. Then, let&#8217;s run cpfind against them, again asking to only compare one image to the next, not to all. Now, we can&#8217;t just leave it at that as it&#8217;s still finding control points on the lens flare and on the balloon. These control points will mess with the alignment in a major way and prevent us from ever getting a clean horizon.</p>
<p>So, let&#8217;s write some Python. You Python writers out there, please forgive me. This is probably my second Python script ever and I&#8217;m sure I did everything wrong. At least it works.<br />
<a href="wp-content/uploads/2013/01/cleancp.py.html">cleancp.py</a></p>
<p>What this script does is look at the control points defined in a Hugin project file and remove every control point that exists in the upper half of the image. With a little bit of thought the reason should be clear. Just in case, I&#8217;ll explain. We are up so high that there is nothing above us but the balloon and the sun. All of the interesting (read, control point material) stuff is below us. We aren&#8217;t up so high that the horizon is too far off from the center of the image. So, if we were to remove all found control points above the middle line we should be left with control points on valid, and more importantly, stationary, imagery. Another quick pass (overnight) of the optimizer against the full data set and we have a project file that we can go in and manually line up the horizon on. This will cascade down the chain and every image should come out nicely straightened.</p>
<p>My first test resulted in a file I called &#8216;sexyhorizon&#8217; because it worked so well. Here it is:<br />
<a href="http://robotrising.org/StratoSphere/?src=images/sexyhorizon.webm&#038;type=video"><img src="http://robotrising.org/StratoSphere/images/sexyhorizon-thumb.png"/></a></p>
<p>I have one last stitched video to show before I jump into some miscellaneous stuff. This is a video of the apex of the flight. Taken at 96,382.88 feet this video shows the balloon reach its largest diameter, than burst. The first link is in realtime, the second is at half realtime.<br />
<a href="http://robotrising.org/StratoSphere/?src=images/96kburst-1x.webm&#038;type=video"><img src="http://robotrising.org/StratoSphere/images/96kburst-thumb.png"/></a><br />
<a href="http://robotrising.org/StratoSphere/?src=images/96k-.5x.webm&#038;type=video"><img src="http://robotrising.org/StratoSphere/images/96kburst-thumb.png"/></a></p>
<h2>Miscellaneous</h2>
<p>It&#8217;s been a long road. This project has been two years in the making. It has involved thousands of dollars, hundreds of hours spent learning (stitching, python, electronics design, embedded programming, social interacting, ffmpeg incantations), amateur radio exam cramming, bleeding, social interacting, and many other things. I definitely stepped out of my comfort zone and tried new things and learned a ton.</p>
<p>I&#8217;m about 99% satisfied with the results and have a ton more footage that I can process if I find the desire.</p>
<p>Some more goodies below. First, the balloon at about 1.4 miles above the ground, or 7.5k feet.<br />
<a href="http://robotrising.org/StratoSphere/?src=images/aboveclouds.jpg&#038;type=image"><img src="http://robotrising.org/StratoSphere/images/aboveclouds-thumb.jpg"/></a></p>
<p>Next, about 2k feet lower, at 1 mile up.<br />
<a href="http://robotrising.org/StratoSphere/?src=images/justbelowclouds.jpg&#038;type=image"><img src="http://robotrising.org/StratoSphere/images/justbelowclouds-thumb.jpg"/></a></p>
<p>Then, about 12 seconds before impact with the ground, at about 300 feet.<br />
<a href="http://robotrising.org/StratoSphere/?src=images/12secbeforehit.jpg&#038;type=image"><img src="http://robotrising.org/StratoSphere/images/12secbeforehit-thumb.jpg"/></a></p>
<p>Okay, another video. This one is all six cameras as they saw the end of the descent and subsequent impact with the ground. (If you watch the bottom middle camera when it comes to a rest on the ground you can see how it adjusts the exposure to bring out the detail in the dark scene.)<br />
<iframe width="640" height="360" src="http://www.youtube.com/embed/MwqpqRJjP9A?rel=0" frameborder="0" allowfullscreen></iframe><br />
<a href="http://youtu.be/MwqpqRJjP9A">Direct YouTube link in case the embed doesn&#8217;t work</a></p>
<p>And, lastly, here&#8217;s a video showing the balloon burst as seen by all three upward facing cameras.<br />
<iframe width="640" height="480" src="http://www.youtube.com/embed/7npTecK1Ndg?rel=0" frameborder="0" allowfullscreen></iframe><br />
<a href="http://youtu.be/7npTecK1Ndg">Direct YouTube link in case the embed doesn&#8217;t work</a></p>
<h2>Acknowledgements</h2>
<p>This project was mostly me, but there are some people I do want to thank publicly.</p>
<p>My wife, Jennifer, and my son, Perrin. My time is your time, now. (Until the next project comes along!)<br />
My brother, Jordan. Thanks for your early payload brainstorming, and your REI yardsale voodoo that acquired two of the cameras. Also, thanks for retrieving the first balloon from that tree.<br />
John, a longtime friend. Thank you for helping this project reach its goal. Without your help this project might have not been finished anytime near when it was.<br />
Team Prometheus&#8217; Monroe and Stewart. Thanks for your assistance with the last two launches, and for supplying the hydrogen.<br />
Steve, Ben, Ryan. Thanks for helping out.<br />
To everyone else involved, thanks.</p>
]]></content:encoded>
			<wfw:commentRss>http://robotrising.org/2013/01/operation-stratosphere-conclusion/feed/</wfw:commentRss>
		<slash:comments>32</slash:comments>
		</item>
		<item>
		<title>Operation StratoSphere &#8211; Launch 3</title>
		<link>http://robotrising.org/2012/12/operation-stratosphere-launch-3/</link>
		<comments>http://robotrising.org/2012/12/operation-stratosphere-launch-3/#comments</comments>
		<pubDate>Wed, 26 Dec 2012 21:28:08 +0000</pubDate>
		<dc:creator>RobotCaleb</dc:creator>
				<category><![CDATA[Projects]]></category>
		<category><![CDATA[StratoSphere]]></category>

		<guid isPermaLink="false">http://robotrising.org/?p=324</guid>
		<description><![CDATA[Launch 3 went off with only a few hitches. My family was in town for an early Thanksgiving celebration and I put them all to work assisting with camera labeling, lens cleaning, picture taking, and anything else I could come up with. After two years of doing it all by myself it was nice to [...]]]></description>
				<content:encoded><![CDATA[<p>Launch 3 went off with only a few hitches. My family was in town for an early Thanksgiving celebration and I put them all to work assisting with camera labeling, lens cleaning, picture taking, and anything else I could come up with. After two years of doing it all by myself it was nice to have a some extra hands laying around.</p>
<p>We spent the night before the launch making sure everything was ready. As stated above, we labeled each camera. Each memory card was also labeled to correspond to the camera it went in. The cards were all formatted and the cameras were all setup to start recording video when they turned on. Batteries were charged and payload layout was finalized.</p>
<p>Then, bed.</p>
<p><span id="more-324"></span></p>
<p>We woke up and gathered the supplies and hit the road for Burnet TX. We were to meet Monroe and Stewart from <a href="http://www.teamprometheus.org/" title="Team Prometheus">Team Prometheus</a> in Burnet for the launch. About halfway there it occurred to me to ask if anyone had grabbed the balloon. No. Fortunately, the other half of the launch crew at my house hadn&#8217;t left yet and they were able to grab the balloon and bring it with them.</p>
<p>We met up with Monroe and Stewart at <a href="http://www.stormsrestaurants.com/" title="Storms Restaurant">Storms Restaurant</a> for some breakfast and then headed to the park where we&#8217;d be launching from. We stood around chatting until the balloon arrived then started positioning equipment for the launch.</p>
<p>The payload ended up weighing about four pounds and consisted of six GoPro HD Hero cameras, one MT-AIO APRS GPS tracker, one custom made sensor pod (temp, humidity, location), and two LiPo batteries. The balloon used to carry the payload was a 1200 gram job from <a href="http://kaymontballoons.com" title="Kaymont">Kaymont</a>.</p>
<p>A 1200 gram balloon is rather large and unwieldy to begin with. It was made more challenging by being a rather windy day. We ended up having to zip-tie two bedsheets and drape them over the balloon in order to hold it out of the wind while we filled it up.</p>
<p>About halfway through filling the balloon the hydrogen tank ran out. Fortunately, Burnet is where the hydrogen was originally sourced. Even more fortunate is that the gas supplier was only about a quarter mile from the park. A fresh hydrogen tank was acquired and we had resumed filling in under 30 minutes.</p>
<p>After the balloon was brought up to ~10 lb of free lift I checked the payload line to ensure everything was securely fastened and powered on the cameras. I ensured each camera beeped at me when turned on which indicated that they had started recording.</p>
<p>It was too windy to do a graceful launch. As I was feeding the line through my hands to grab the payload for launch the wind took the balloon and ran with it. The string whipped through my right index finger and left a long burn on the inside of the second and third joints. Since I was bent over clutching my hand I didn&#8217;t observe the balloon until several seconds after launch.</p>
<p>The balloon described a rather low initial trajectory as the wind was blowing north faster than it was ascending. While it was caught in this wind the payload was being given a vigorous shake about. Eventually it got out of this turbulent air and enjoyed a much smoother ascent.</p>
<p>Goodbyes and thank yous were expressed, then the chase team (myself, my brother, my father, and my brother&#8217;s wife) set out east for I-35, then north for the Salado area. The predictions we&#8217;d run had put the landing point in that area. We were hoping for a quick retrieval but things went a bit awry.</p>
<p>On its way up the transmitter had a 30 minute gap where it didn&#8217;t report anything. At 80k ft it gave a location update then went silent. We were up near Salado and communicating with a separate ground crew trying to figure out what happened or where it might be. We continued east from I-35 and ended up in the town of Holland.</p>
<p>I pulled into a parking spot near the civic center and went inside to ask if there was somewhere in the tiny town that I could find a wifi connection as I wasn&#8217;t receiving a data signal on my phone. There was only one person inside. She was getting what looked like Christmas decorations ready. I introduced myself and when she returned the same she introduced herself as the mayor of Holland, Mae Smith. I gave her a brief rundown of what we were doing and she directed us to the local school district.</p>
<p>At Holland High School we were given a table to work on and a computer to use in the computer lab. Keith Cabaniss, the teacher presiding while we were there, was more than helpful and we&#8217;re very grateful for his assistance. Kudos to all of the staff we interacted with while we tried to avoid disrupting active learning sessions.</p>
<p>We ran a few more predictions with hypotheses that we were able to form based on the patchy data we&#8217;d received from the balloon. We determined a search grid and, having printed out some maps, proceeded to wander most of the south-eastern quadrant of Bell County. After an hour of farmland and old barns we stopped and had a conversation with a man on a riding lawnmower. He directed us north to Little River-Academy to speak to a man named Ronnie White. Turns out, Ronnie White is the mayor of Little River-Academy. I spoke with the second mayor of the day and left my number in case someone in the area found the payload.</p>
<p>We then went home. At this point I had given the payload up as lost and was just hoping that someone would find it on their land and give me a call. We hung out and did family stuff for the rest of the day.</p>
<p>Around midnight I was getting ready to go to bed and on a whim I decided to check one more time for an update. There was one! About 6 hours prior it had sent 4 or 5 more packets. It was reporting itself on the ground in a field near Salado. I was tempted to drive up and get it right away, but prudence suggested otherwise. I was too exhausted and it would have been difficult to search for it in the dark.</p>
<p>0600. I wake up and go in to get my brother. We get dressed and hit the road. 0700 found us parked on the side of the road peering over a fence to see if we could spot the chute or the box. We drove to a house adjacent to the field and knocked. When nobody answered we drove back, hopped the fence, and walked straight to where the last report placed the payload. It was exactly where it had said it was. We took some photos, then marched back out.</p>
<p>Success!</p>
<p>When we got back I tore down the payload and took many pictures so as to have a record to use to try to determine what went wrong with the tracker. Everything looked intact, aside from one camera that had been knocked into the payload box on what we assumed was impact with the field. Subsequent examination of the video showed this to be the case.</p>
<p>Next post will detail the image stitching process and show the first hard results. For now, I&#8217;ll leave you with two really cool videos.</p>
<p>The first is the balloon burst at 96k feet as viewed from all three balloon-facing cameras.<br />
<iframe width=600" height="450" src="http://www.youtube.com/embed/7npTecK1Ndg?rel=0" frameborder="0" allowfullscreen></iframe></p>
<p>Next we have the point of impact on the ground as seen by all six cameras.<br />
<iframe width=600" height="450" src="http://www.youtube.com/embed/MwqpqRJjP9A?rel=0&#038;vq=hd720" frameborder="0" allowfullscreen></iframe></p>
]]></content:encoded>
			<wfw:commentRss>http://robotrising.org/2012/12/operation-stratosphere-launch-3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Operation StratoSphere &#8211; Launch 2</title>
		<link>http://robotrising.org/2012/11/operation-stratosphere-launch-2/</link>
		<comments>http://robotrising.org/2012/11/operation-stratosphere-launch-2/#comments</comments>
		<pubDate>Wed, 07 Nov 2012 20:55:50 +0000</pubDate>
		<dc:creator>RobotCaleb</dc:creator>
				<category><![CDATA[StratoSphere]]></category>

		<guid isPermaLink="false">http://robotrising.org/?p=134</guid>
		<description><![CDATA[Launch Day On November 3rd, 2012, 3 coworkers and I set out to launch my second balloon in preparation for the final launch. The mission for this balloon was to test some anti-fog techniques and to give my so-called &#8216;Sensor Pod&#8217; a test run. We hooked up with Monroe and Stewart from Team Prometheus at [...]]]></description>
				<content:encoded><![CDATA[<p><script type="text/javascript" src="/wp-content/uploads/2012/08/dygraph-combined.js"></script></p>
<style type='text/css'>
.launch2legend {
        /*overflow: auto;
        /*left: 175px;*/
        width: 150px;
        background-color: transparent !important;
        top: 10px !important;*/
        color: #BFC3CF;
        float: right;
}
#launch2chart {
	overflow: none;
	width   : 530px;
	height  : 350px;
	margin  : 0px auto;
	float   : left;
}
.launch2chartcontainer {
        display: block;
        height: 375px;
}
.highlight {
	border: 2px solid #BFC3CF;
	padding-left: 10px;
	font-weight: bold;
}
</style>
<div class="launch2chartcontainer">
<div id="launch2chart"></div>
<div id="launch2legend"></div>
</div>
<p><script type="text/javascript">
var g2 = {};
//<![CDATA[
    g2 = new Dygraph(
        document.getElementById("launch2chart"),
        "/wp-content/uploads/2012/11/cma2.csv", // path to CSV file
        {
            colors: ["#7FC97F", "#BEAED4", "#DBA674", "#FFFF99",
                    "#386CB0", "#F0027F", "#BF5B17", "#E0B02E"],
            strokeWidth: 2,
            axisLabelColor: "#CCC",
            labelsSeparateLines: true,
            labelsDiv: document.getElementById("launch2legend"),
            legend: 'always',
            highlightSeriesBackgroundAlpha: 1,
            highlightSeriesOpts: {
              strokeWidth: 1,
              strokeBorderWidth: 1,
              highlightCircleSize: 10,
            },
            highlightCallback: function(e, x, pts) {
                g2.setSelection(g2.getSelection(), g2.getHighlightSeries(), true);
            },
            unhighlightCallback: function(e) {
                g2.clearSelection();
            },
            underlayCallback: function(canvas, area, g) {
                var coords = g.toDomCoords(0, 0);
                var splitX = coords[0];
                var splitY = coords[1];
                var topHeight = splitY - area.y;
                var bottomHeight = area.h - topHeight;
                canvas.fillStyle = '#282828';
                canvas.fillRect(area.x, area.y, area.w, topHeight);
                canvas.fillStyle = '#111111';
                canvas.fillRect(area.x, splitY, area.w, bottomHeight);
            }
        }          // options
    );
//]]&gt;
</script></p>
<h2>Launch Day</h2>
<p>
On November 3rd, 2012, 3 coworkers and I set out to launch my second balloon in preparation for the final launch. The mission for this balloon was to test some anti-fog techniques and to give my so-called <a href="https://github.com/RobotCaleb/StratoSphereSensorPod">&#8216;Sensor Pod&#8217;</a> a test run. We hooked up with Monroe and Stewart from <a href="http://www.teamprometheus.org/">Team Prometheus</a> at a nice park in San Saba, Texas.
</p>
<p>
Launch occurred at about 1215 GMT-6 from the middle of a baseball field. Assembling the payload line, filling the balloon, and launch all went off without a hitch. (Except for the misplacement of one Leatherman tool. Sorry Stewart!)
</p>
<p>
Within a few seconds after releasing the balloon we got confirmation that the APRS packets were being picked up by the online APRS network. We then packed up and drove into town to find the public library. We hopped on their wifi and monitored the health of the balloon and made plans on how to proceed. We elected to get lunch and then start chasing it.
</p>
<p><span id="more-134"></span></p>
<p>
The chase was mostly uneventful. First we determined where we should go based on our new prediction. The balloon wasn&#8217;t ascending as fast as our previous predictions were run with, so we had to re-predict. We determined that Gatesville, TX was a good point at which to reassess.
</p>
<p>
Lunch ran a bit long, so by the time we were about 20 miles outside of Gatesville we started receiving phone calls stating that it appeared to be on the ground and asking if we&#8217;d retrieved it. This was also about the time we started to get a useful data connection on our phones, so we started looking at where it was. It appeared to be in or very near to a pond.
</p>
<p>
We drove as close as we could and asked one of the families in the last house on the road if they could give us some guidance. After examining the map they directed us to the landowners at a nearby house. We gained permission to go on the land and proceeded to hike in toward the pond.
</p>
<p>
After ensuring the the car wouldn&#8217;t start a grass fire we set off to retrieve the payload. We had to traverse a number of barbed wire fences and dodge numerous cow pies along the way. Eventually we could observe a berm in the near distance and assumed that to be the berm containing the pond. From the top of the berm we could look down and into a small pond. A quick scan showed no sign of the payload _in_ the pond. A small sigh of relief later we spotted the parachute at the opposite side and on the top of the berm. The payload was further down the water-side slope of the berm, about 8-10 feet from the water.
</p>
<p>
It appeared that the payload was traveling northeast and struck the southwest facing downward inner slope of the berm. It caught in the grass and pulled the parachute down. Recovering it was a small matter of walking over and collecting the whole chain.
</p>
<p>
After recovering the payload box I pressed the camera buttons to see if they would turn off or on. They both turned on and immediately went into recording mode. A few minutes later they both beeped the low battery signal and turned off, which indicated to me that the batteries had drained to the point of turning off the cameras. Much better than my previous flight where the camera shut off with a still mostly full battery.
</p>
<p>
I opened the box and turned off the sensor pod and the APRS transmitter. I gathered the the payload chain into the chute and we turned around to hike out. After that it was just a matter of driving home and then looking at the data.
</p>
<p>As you can see in this <a href="http://goo.gl/maps/b3IVU">map of the predicted path overlaid with the actual path</a> the balloon behaved as expected. It went long due to not providing enough lift, but the prediction gave us a good idea of which direction to go in anticipation of the landing.</p>
<h2>Results</h2>
<p>
My sensor pod performed mostly as I desired. It did restart itself 257 times. I&#8217;m not sure if that&#8217;s a mechanical issue or what. The data didn&#8217;t seem to suffer too much for it, though. The disappointing thing was the GPS. I thought I had used a GPS module that worked up to the altitudes the payload would be hitting, but the one I used (<a href="https://www.sparkfun.com/products/9566">D2523T from SparkFun</a>) capped out at 40k ft. The left about 63k ft unaccounted for. I&#8217;ll be trying to get my backup module integrated before the next launch
</p>
<p>
The cameras performed very well. I had one facing up-ish and one facing down-ish. The top camera got a lot of sky and sun footage but nothing very interesting. The downward facing camera, however, got a ton of great shots of the landscape, the horizon, and very interesting cloud formations. Condensation wasn&#8217;t too much of an issue. What little did form actually dissipated before too long. The only downside was that, due to the slow ascent rate, the cameras stopped recording before getting the landing or even the burst of the balloon. (Which wouldn&#8217;t have been fun to watch anyway, as the top camera couldn&#8217;t even see the balloon)
</p>
<p>
Overall, the mission was a success. Questions raised by the first launch were mostly answered by this launch and some assumptions were validated. I hope to have some video available for viewing soon. In the meantime, enjoy these two extracted cloud shots and the images below of the launch and recovery.
</p>
<p>
Big thanks to Ben, Steve, Ryan, Monroe, and Stewart for their assistance.
</p>
<p>
<a href="https://plus.google.com/photos/107235276879849058634/albums/5808126576608342641"><img src="https://lh3.googleusercontent.com/-jFgiA-nhkrg/UJqdA7PqdAI/AAAAAAAAEC8/wJPMjvfLw_A/s746/vlcsnap-2012-11-03-21h49m59s99.png"><br/>Operation StratoSphere &#8211; Launch 2 Photo Album</a></p>
]]></content:encoded>
			<wfw:commentRss>http://robotrising.org/2012/11/operation-stratosphere-launch-2/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Capturing Weather Satellite Images using a Homebrew Antenna</title>
		<link>http://robotrising.org/2012/10/capturing-weather-satellite-images-using-a-homebrew-antenna/</link>
		<comments>http://robotrising.org/2012/10/capturing-weather-satellite-images-using-a-homebrew-antenna/#comments</comments>
		<pubDate>Wed, 17 Oct 2012 16:20:28 +0000</pubDate>
		<dc:creator>RobotCaleb</dc:creator>
				<category><![CDATA[Projects]]></category>

		<guid isPermaLink="false">http://robotrising.org/?p=115</guid>
		<description><![CDATA[In order for this project to be successful I have to be able to track where the balloon lands. A bonus would be if I were able to track its position live. In pursuit of that goal I studied for and obtained an amateur radio license in March of 2012. I haven&#8217;t gotten into the [...]]]></description>
				<content:encoded><![CDATA[<p>In order for this project to be successful I have to be able to track where the balloon lands. A bonus would be if I were able to track its position live. In pursuit of that goal I studied for and obtained an amateur radio license in March of 2012. I haven&#8217;t gotten into the ham world too much. To be honest, it feels like stepping back in time. Before IRC and instant messaging we had radio waves. There&#8217;s a lot you can do with an amateur radio license outside of <a href="http://www.urbandictionary.com/define.php?term=Ragchew" target="_blank">ragchewing</a>. For instance, I make use of my license by using an APRS transmitter to update my balloons&#8217; positions in real-time. This isn&#8217;t, however, a post about APRS or balloons. In fact, it&#8217;s not even a post about amateur radio in the sense that I don&#8217;t need a license to do what I&#8217;m about to discuss.</p>
<p><span id="more-115"></span></p>
<p>Above our heads at all times there are <a href="http://rychardemanne.hubpages.com/hub/How-many-satellites-orbit-the-Earth" target="_blank">many</a> satellites orbiting our planet. They all serve or did serve some purpose. Some of those satellites are operated by <a href="http://www.noaa.gov/" target="_blank">NOAA</a> and are used to watch the weather <a href="http://en.wikipedia.org/wiki/Polar_Operational_Environmental_Satellites" target="_blank">patterns on Earth</a>. Many of the NOAA satellites transmit images of what they see using a system called <a href="http://en.wikipedia.org/wiki/Automatic_Picture_Transmission" target="_blank">Automatic Picture Transmission</a>. They broadcast on the 137 mHz band and there are currently 4 that still broadcast APT data. In September of 2012 I built an antenna to attempt to use my radio as a receiver of these images. You can check out some of the stages of the build process in the album below.</p>
<p><a href="https://plus.google.com/photos/107235276879849058634/albums/5788050211152079377"><img src="https://lh5.googleusercontent.com/-RxD9ziqOE8g/UFNJAKRVzjI/AAAAAAAAC7Y/IpLk5cgg4XA/w487-h649-p-k/IMG_20120913_001305.jpg" /></a></p>
<p>The signal coming from one of these satellites is <a href="http://en.wikipedia.org/wiki/Circular_polarization">circularly polarized</a>, which is what this antenna is built to receive. It&#8217;s not the greatest build, but it is serviceable. This antenna is supposed to have good omnidirectional coverage from the ground up from horizon to horizon. In practice, my build doesn&#8217;t fare so well.</p>
<p>I mounted the antenna in my attic and used a SDR (Software Defined Radio) setup that I have to track down the satellite signals. As I stated before, this antenna doesn&#8217;t perform extremely well. I was, however, able to get some halfway recognizable images out of it. Without further ado, here they are.</p>
<p><a href="https://plus.google.com/photos/107235276879849058634/albums/5794140240966572033"><img src="https://lh3.googleusercontent.com/-6KnPSkrrRbM/UGjr8OvSHrI/AAAAAAAADU4/I0EZBesunFo/w483-h599-p-k/noaa-19-09302020-hvct.jpg" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://robotrising.org/2012/10/capturing-weather-satellite-images-using-a-homebrew-antenna/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Operation StratoSphere &#8211; Overview and History</title>
		<link>http://robotrising.org/2012/09/operation-stratosphere-overview-and-history/</link>
		<comments>http://robotrising.org/2012/09/operation-stratosphere-overview-and-history/#comments</comments>
		<pubDate>Sat, 01 Sep 2012 05:07:24 +0000</pubDate>
		<dc:creator>RobotCaleb</dc:creator>
				<category><![CDATA[StratoSphere]]></category>

		<guid isPermaLink="false">http://robotrising.org/?p=55</guid>
		<description><![CDATA[Operation StratoSphere is the name I coined for a project I&#8217;ve been slowly working on over the last couple years. The short version is that it&#8217;s a project that will involve sending a few high altitude balloons up into the stratosphere with various payloads and configurations, eventually culminating in one final flight with a payload [...]]]></description>
				<content:encoded><![CDATA[<p>Operation StratoSphere is the name I coined for a project I&#8217;ve been slowly working on over the last couple years. The short version is that it&#8217;s a project that will involve sending a few high altitude balloons up into the stratosphere with various payloads and configurations, eventually culminating in one final flight with a payload consisting of six HD cameras.<img title="More..." src="http://robotrising.org/wp-includes/js/tinymce/plugins/wordpress/img/trans.gif" alt="" /></p>
<p>Somewhere in the middle of 2010 I came across a video on Vimeo that was shot using two GoPro HD cameras. The cameras were attached to a styrofoam cooler and the cooler was attached to a weather balloon. The balloon reached 80,000 feet and the cameras took beautiful HD footage of the entire trip.</p>
<p><iframe src="http://player.vimeo.com/video/12488149" width="627" height="470" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe></p>
<p><span id="more-55"></span></p>
<p>For several years before that I had played with creating panoramic images by stitching together multiple pictures. For example, here are some less than stellar panoramas from a trip to Tucson, AZ in 2004.</p>
<p style="text-align: center;"><a href="http://robotrising.org/wp-content/uploads/2012/08/Pan_Cloud.png"><img class="alignnone size-medium wp-image-31" title="Tucson Sunset" src="http://robotrising.org/wp-content/uploads/2012/08/Pan_Cloud-300x85.png" alt="" width="300" height="85" /></a></p>
<p><a href="http://robotrising.org/wp-content/uploads/2012/08/Pan_Back.png"><img class="alignnone size-medium wp-image-32 aligncenter" title="Tucson Resort" src="http://robotrising.org/wp-content/uploads/2012/08/Pan_Back-300x112.png" alt="" width="300" height="112" /></a></p>
<p>Not too long before seeing that video I had come across <a href="http://lucid.it">http://lucid.it</a>, a site that demonstrates panoramic video playback. Picture a video player that allowed you to look in any direction in the scene while the video is playing.</p>
<p>It didn&#8217;t take long for me to consider how awesome it would be to have a fully spherical 360&#215;180 degree panoramic video of a balloon flight to ~100,000 feet. I promptly started researching and trying to recruit assistance. If you&#8217;re curious about those first couple months of research, you can read through the Wave discussions in the following archives (some of the links therein may no longer function properly) :</p>
<ul>
<li><a href="http://res0l.net/StratoSphere/Waves/Space%20Sphere%20Planning%20.htm">Planning</a></li>
<li><a href="http://res0l.net/StratoSphere/Waves/Space%20Sphere%20-%20Concerns.htm">Concerns</a></li>
<li><a href="http://res0l.net/StratoSphere/Waves/Space%20Sphere%20-%20EOSS%20Tidbits.htm">Tidbits from EOSS</a></li>
<li><a href="http://res0l.net/StratoSphere/Waves/Space%20Sphere%20-%20Equipment.htm">Equipment</a></li>
<li><a href="http://res0l.net/StratoSphere/Waves/Space%20Sphere%20-%20How%20Tos.htm">How Tos</a></li>
</ul>
<p>After a lot of research and learning I decided I needed to stop reading and start doing. You can only learn so much about swimming before you get to a point where you have to get your feet wet.</p>
<p>I went to a local craft store and bought several pieces of foamcore in order to start prototyping some payload containers. I also purchased a GoPro HD camera for use in testing the prototypes. The first pass on creating a payload container involved laying out a model, basically an unfolded cube, then cutting it out. The joints were done by cutting two 45 degree cuts through to the opposite side&#8217;s paper backing, but not through the backing. This allowed a cube to be folded around the 90 degree corners I&#8217;d cut. One face of the cube was cut out separately as a lid was needed and I figured it&#8217;d be nicer to not have it flapping around or bearing weight while connected through just one fragile joint.</p>

<div class="ngg-galleryoverview" id="ngg-gallery-1-55">

	<!-- Slideshow link -->
	<div class="slideshowlink">
		<a class="slideshowlink" href="http://robotrising.org/2012/09/operation-stratosphere-overview-and-history/?show=slide">
			[Show as slideshow]		</a>
	</div>

	
	<!-- Thumbnails -->
		
	<div id="ngg-image-29" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://robotrising.org/wp-content/gallery/first-foamcore-cube-test/PiEHs.jpg" title=" " class="shutterset_set_1" >
								<img title="Cutting test corner" alt="Cutting test corner" src="http://robotrising.org/wp-content/gallery/first-foamcore-cube-test/thumbs/thumbs_PiEHs.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-24" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://robotrising.org/wp-content/gallery/first-foamcore-cube-test/cFMTW.jpg" title=" " class="shutterset_set_1" >
								<img title="Testing corner fold" alt="Testing corner fold" src="http://robotrising.org/wp-content/gallery/first-foamcore-cube-test/thumbs/thumbs_cFMTW.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-31" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://robotrising.org/wp-content/gallery/first-foamcore-cube-test/WRVsV.jpg" title=" " class="shutterset_set_1" >
								<img title="Cutting out cube template" alt="Cutting out cube template" src="http://robotrising.org/wp-content/gallery/first-foamcore-cube-test/thumbs/thumbs_WRVsV.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-27" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://robotrising.org/wp-content/gallery/first-foamcore-cube-test/kTgT0.jpg" title=" " class="shutterset_set_1" >
								<img title="Cutting cube corners" alt="Cutting cube corners" src="http://robotrising.org/wp-content/gallery/first-foamcore-cube-test/thumbs/thumbs_kTgT0.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-32" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://robotrising.org/wp-content/gallery/first-foamcore-cube-test/pSBcS.jpg" title=" " class="shutterset_set_1" >
								<img title="Cutting cube corners" alt="Cutting cube corners" src="http://robotrising.org/wp-content/gallery/first-foamcore-cube-test/thumbs/thumbs_pSBcS.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-34" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://robotrising.org/wp-content/gallery/first-foamcore-cube-test/sM65y.jpg" title=" " class="shutterset_set_1" >
								<img title="Testing cube corner folds" alt="Testing cube corner folds" src="http://robotrising.org/wp-content/gallery/first-foamcore-cube-test/thumbs/thumbs_sM65y.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-30" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://robotrising.org/wp-content/gallery/first-foamcore-cube-test/Tp67e.jpg" title=" " class="shutterset_set_1" >
								<img title="Full cube fold test" alt="Full cube fold test" src="http://robotrising.org/wp-content/gallery/first-foamcore-cube-test/thumbs/thumbs_Tp67e.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-23" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://robotrising.org/wp-content/gallery/first-foamcore-cube-test/H4Ix5.jpg" title=" " class="shutterset_set_1" >
								<img title="Camera hole cutter (sink drain pipe)" alt="Camera hole cutter (sink drain pipe)" src="http://robotrising.org/wp-content/gallery/first-foamcore-cube-test/thumbs/thumbs_H4Ix5.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-37" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://robotrising.org/wp-content/gallery/first-foamcore-cube-test/yxwBL.jpg" title=" " class="shutterset_set_1" >
								<img title="Laying and cutting out camera holes" alt="Laying and cutting out camera holes" src="http://robotrising.org/wp-content/gallery/first-foamcore-cube-test/thumbs/thumbs_yxwBL.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-35" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://robotrising.org/wp-content/gallery/first-foamcore-cube-test/wComG.jpg" title=" " class="shutterset_set_1" >
								<img title="Cutting camera holes" alt="Cutting camera holes" src="http://robotrising.org/wp-content/gallery/first-foamcore-cube-test/thumbs/thumbs_wComG.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-21" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://robotrising.org/wp-content/gallery/first-foamcore-cube-test/Eu9c0.jpg" title=" " class="shutterset_set_1" >
								<img title="Cutting camera holes" alt="Cutting camera holes" src="http://robotrising.org/wp-content/gallery/first-foamcore-cube-test/thumbs/thumbs_Eu9c0.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-20" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://robotrising.org/wp-content/gallery/first-foamcore-cube-test/579XA.jpg" title=" " class="shutterset_set_1" >
								<img title="Testing camera fit" alt="Testing camera fit" src="http://robotrising.org/wp-content/gallery/first-foamcore-cube-test/thumbs/thumbs_579XA.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-28" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://robotrising.org/wp-content/gallery/first-foamcore-cube-test/ksu1Z.jpg" title=" " class="shutterset_set_1" >
								<img title="What the cube saw" alt="What the cube saw" src="http://robotrising.org/wp-content/gallery/first-foamcore-cube-test/thumbs/thumbs_ksu1Z.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-25" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://robotrising.org/wp-content/gallery/first-foamcore-cube-test/f9HNQ.jpg" title=" " class="shutterset_set_1" >
								<img title="Rickety platform in the backyard" alt="Rickety platform in the backyard" src="http://robotrising.org/wp-content/gallery/first-foamcore-cube-test/thumbs/thumbs_f9HNQ.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-33" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://robotrising.org/wp-content/gallery/first-foamcore-cube-test/rG2cQ.jpg" title=" " class="shutterset_set_1" >
								<img title="Cube on rickety platform" alt="Cube on rickety platform" src="http://robotrising.org/wp-content/gallery/first-foamcore-cube-test/thumbs/thumbs_rG2cQ.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-38" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://robotrising.org/wp-content/gallery/first-foamcore-cube-test/frame1.jpg" title=" " class="shutterset_set_1" >
								<img title="Backyard equirectangular panorama from the rickety platform" alt="Backyard equirectangular panorama from the rickety platform" src="http://robotrising.org/wp-content/gallery/first-foamcore-cube-test/thumbs/thumbs_frame1.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 	 	
	<!-- Pagination -->
 	<div class='ngg-clear'></div>
 	
</div>


<p>Using the box I created I was able to approximate a six camera setup by making a rigid frame for the box to fit into. I would then take one picture, rotate the box to another camera&#8217;s location and take another picture. Rinse and repeat. The first test&#8217;s result can be seen below. Click and drag the mouse to rotate the view. If the viewer doesn&#8217;t work, try going to its <a href="http://res0l.net/StratoSphere/panos/frame1.html">other home</a>.</p>
<div style="width: 90%; height: 400px; margin: auto;"><object width="100%" height="100%" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0" bgcolor="#DDDDDD"><param name="allowFullScreen" value="true" /><param name="quality" value="high" /><param name="BGCOLOR" value="#AAAAAA" /><param name="src" value="/wp-content/uploads/2012/09/pan0.swf?panoSrc=/wp-content/uploads/2012/09/frame1.jpg&amp;FOV=90" /><param name="allowfullscreen" value="true" /><param name="pluginspage" value="http://www.macromedia.com/go/getflashplayer" /><embed width="100%" height="100%" type="application/x-shockwave-flash" src="/wp-content/uploads/2012/09/pan0.swf?panoSrc=/wp-content/uploads/2012/09/frame1.jpg&amp;FOV=90" allowFullScreen="true" quality="high" BGCOLOR="#AAAAAA" allowfullscreen="true" pluginspage="http://www.macromedia.com/go/getflashplayer" bgcolor="#DDDDDD" /></object></div>
<p>The prototype box went through three versions before getting the result I have today. Over the course of the previous two years I have acquired through purchases, gifts, and bribery, five more GoPro cameras. I now have a full cube&#8217;s worth and have a box design I&#8217;m mostly happy with.</p>

<div class="ngg-galleryoverview" id="ngg-gallery-2-55">

	<!-- Slideshow link -->
	<div class="slideshowlink">
		<a class="slideshowlink" href="http://robotrising.org/2012/09/operation-stratosphere-overview-and-history/?show=slide">
			[Show as slideshow]		</a>
	</div>

	
	<!-- Thumbnails -->
		
	<div id="ngg-image-18" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://robotrising.org/wp-content/gallery/six-camera-cube/11-4-4.jpg" title=" " class="shutterset_set_2" >
								<img title="Making a new hole cutter" alt="Making a new hole cutter" src="http://robotrising.org/wp-content/gallery/six-camera-cube/thumbs/thumbs_11-4-4.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-17" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://robotrising.org/wp-content/gallery/six-camera-cube/11-4-3.jpg" title=" " class="shutterset_set_2" >
								<img title="Testing fit after cutting hole with new hole cutter" alt="Testing fit after cutting hole with new hole cutter" src="http://robotrising.org/wp-content/gallery/six-camera-cube/thumbs/thumbs_11-4-3.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-19" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://robotrising.org/wp-content/gallery/six-camera-cube/11-4.jpg" title=" " class="shutterset_set_2" >
								<img title="New holes post cut" alt="New holes post cut" src="http://robotrising.org/wp-content/gallery/six-camera-cube/thumbs/thumbs_11-4.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-16" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://robotrising.org/wp-content/gallery/six-camera-cube/11-4-2.jpg" title=" " class="shutterset_set_2" >
								<img title="Testing the new box in the backyard frame" alt="Testing the new box in the backyard frame" src="http://robotrising.org/wp-content/gallery/six-camera-cube/thumbs/thumbs_11-4-2.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-12" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://robotrising.org/wp-content/gallery/six-camera-cube/IMG_20120717_005600.jpg" title=" " class="shutterset_set_2" >
								<img title="Six cameras" alt="Six cameras" src="http://robotrising.org/wp-content/gallery/six-camera-cube/thumbs/thumbs_IMG_20120717_005600.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-13" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://robotrising.org/wp-content/gallery/six-camera-cube/IMG_20120717_005625.jpg" title=" " class="shutterset_set_2" >
								<img title="Six cameras, one cube, one parachute" alt="Six cameras, one cube, one parachute" src="http://robotrising.org/wp-content/gallery/six-camera-cube/thumbs/thumbs_IMG_20120717_005625.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-11" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://robotrising.org/wp-content/gallery/six-camera-cube/IMG_20120717_005532.jpg" title=" " class="shutterset_set_2" >
								<img title="Six cameras" alt="Six cameras" src="http://robotrising.org/wp-content/gallery/six-camera-cube/thumbs/thumbs_IMG_20120717_005532.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-8" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://robotrising.org/wp-content/gallery/six-camera-cube/IMG_20120715_134010.jpg" title=" " class="shutterset_set_2" >
								<img title="Sewing camera harness straps" alt="Sewing camera harness straps" src="http://robotrising.org/wp-content/gallery/six-camera-cube/thumbs/thumbs_IMG_20120715_134010.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-9" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://robotrising.org/wp-content/gallery/six-camera-cube/IMG_20120715_142938.jpg" title=" " class="shutterset_set_2" >
								<img title="Testing harness straps" alt="Testing harness straps" src="http://robotrising.org/wp-content/gallery/six-camera-cube/thumbs/thumbs_IMG_20120715_142938.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-10" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://robotrising.org/wp-content/gallery/six-camera-cube/IMG_20120715_142944.jpg" title=" " class="shutterset_set_2" >
								<img title="Testing harness straps" alt="Testing harness straps" src="http://robotrising.org/wp-content/gallery/six-camera-cube/thumbs/thumbs_IMG_20120715_142944.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-14" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://robotrising.org/wp-content/gallery/six-camera-cube/IMG_20120717_010638.jpg" title=" " class="shutterset_set_2" >
								<img title="Cube hanging from ceiling fan" alt="Cube hanging from ceiling fan" src="http://robotrising.org/wp-content/gallery/six-camera-cube/thumbs/thumbs_IMG_20120717_010638.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-1" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://robotrising.org/wp-content/gallery/six-camera-cube/IMG_20120717_202354.jpg" title=" " class="shutterset_set_2" >
								<img title="Cube hanging from basketball hoop" alt="Cube hanging from basketball hoop" src="http://robotrising.org/wp-content/gallery/six-camera-cube/thumbs/thumbs_IMG_20120717_202354.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-2" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://robotrising.org/wp-content/gallery/six-camera-cube/IMG_20120717_202402.jpg" title=" " class="shutterset_set_2" >
								<img title="Cube hanging from basketball hoop" alt="Cube hanging from basketball hoop" src="http://robotrising.org/wp-content/gallery/six-camera-cube/thumbs/thumbs_IMG_20120717_202402.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 	 	
	<!-- Pagination -->
 	<div class='ngg-clear'></div>
 	
</div>


<p>That&#8217;s all for now. I&#8217;ll post later on the current state of the project.</p>
]]></content:encoded>
			<wfw:commentRss>http://robotrising.org/2012/09/operation-stratosphere-overview-and-history/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>StratoSphere mk1 &#8211; 11JUN2012 &#8211; Post Launch Log</title>
		<link>http://robotrising.org/2012/08/stratosphere_mk1/</link>
		<comments>http://robotrising.org/2012/08/stratosphere_mk1/#comments</comments>
		<pubDate>Tue, 21 Aug 2012 05:28:25 +0000</pubDate>
		<dc:creator>RobotCaleb</dc:creator>
				<category><![CDATA[StratoSphere]]></category>

		<guid isPermaLink="false">http://robotrising.org/?p=5</guid>
		<description><![CDATA[One June 11, 2012 I launched the first of at least three balloons. This first balloon was done as a learning mission. In that regard it was an incredible success. There&#8217;s only so much you can learn by reading stuff. Sometimes you have to jump in and make all the mistakes yourself. The equipment for [...]]]></description>
				<content:encoded><![CDATA[<p><script type="text/javascript" src="/wp-content/uploads/2012/08/dygraph-combined.js"></script><br />
<script type='text/javascript' src='/wp-content/uploads/2012/08/displayGraph.js'></script></p>
<style type='text/css'>
#legend {
	overflow: auto;
	width   : 200px;
	margin  : 0px auto;
	float   : right;
}</p>
<p>#chart {
	overflow: auto;
	width   : 750px;
	height  : 350px;
	margin  : 0px auto;
	float   : left;
}
</style>
<div class="container">
<div id="legend"></div>
<div id="chart"></div>
</div>
<div class="container leftalign">
<p>
		One June 11, 2012 I launched the first of at least three balloons. This first balloon was done as a learning mission. In that regard it was an incredible success. There&#8217;s only so much you can learn by reading stuff. Sometimes you have to jump in and make all the mistakes yourself.
	</p>
<p><span id="more-5"></span></p>
<p>
		The equipment for this launch consisted of:</p>
<ul>
<li>One 800 gram HAB balloon from <a href="http://kaymontballoons.com">Kaymont</a></li>
<li>One 48&#8243; parachute from <a href="http://www.the-rocketman.com/">Ky The Rocketman</a></li>
<li>Two styrofoam coolers from a grocery store</li>
<li>One Micro-Trak AIO HA from <a href="http://www.byonics.com/mt-aio">Byonics</a></li>
<li>Two Thermochron iButton <a href="http://www.youtube.com/watch?v=dXR3YErEoSg#t=127s">devices</a></li>
<li>One GoPro HD Hero <a href="http://gopro.com">camera</a></li>
<li>Rental of one hydrogen tank</li>
<li>String</li>
<li>Tape</li>
<li>Sundry other bits</a>
		</ul>
</p>
<p>
		In the weeks leading up to the launch date my brother and I were running predictions on <a href="http://www.habhub.org/predict">habhub.org&#8217;s (mostly) great predictor</a> in order to determine the best launch site. I was scheduled to travel to the east coast to visit family so we were coordinating the launch for that same period. Initially we intended to go up from Delaware into Pennsylvania but some last minute cajoling pushed us into the middle of the Delaware peninsula. The night of the 10th we determined a launch point of somewhere near Middletown, DE and scheduled it for about 0830 on the morning of the 11th.
	</p>
<p>
		Once we got to the launch area we scouted around to find a good launch site. My father works in the area and was familiar with an abandoned housing construction site. It turned out to be an ideal launch location as it was a large mowed field without any trees or buildings nearby. We (my brother, my father, a couple of uncles, and my paternal grandfather) went about setting up for the balloon launch. We laid out a tarp, removed the hydrogen tank from the truck, did final assembly on the payload chain, and started filling the balloon.
	</p>
<p>
		Filling the balloon was mostly stress-free. The wind was low enough as to not cause any major problems and no adverse issues were encountered. We did make sure that no pointy objects were in range of the balloon and ensured that all who touched the balloon wore rubber gloves. (I&#8217;m not sure that I&#8217;m convinced it&#8217;s necessary, but better safe than sorry.)
	</p>
<p>
		The regulator we were using didn&#8217;t have a functioning inlet pressure gauge so I don&#8217;t know exactly how much hydrogen we used. Kaymont states 147 ft^3 will get a 4.4 lb payload to 89,000 ft. The tank we rented was supposed to hold 190 ft^3 and we definitely had quite a bit left over. We put the remaining hydrogen to good use:</p>
<p style="text-align: center">
			<iframe width="300" height="168" src="http://www.youtube.com/embed/W1MOFM5zvDg" frameborder="0" allowfullscreen></iframe><br />
			<iframe width="300" height="168" src="http://www.youtube.com/embed/O2nqMD17yJI" frameborder="0" allowfullscreen></iframe><br />
			<iframe width="300" height="168" src="http://www.youtube.com/embed/WoGczSMVhoc" frameborder="0" allowfullscreen></iframe>
		</p>
</p>
<p>
		We launched the balloon at about 1030 on the morning of the 11th. Really, we launched it twice. The first launch came back down as we didn&#8217;t have enough hydrogen in it to overcome the payload and the tether line weight. Being tethered in the wind didn&#8217;t help, either.
	</p>
<p>
		We brought it back down and added about another pound of lift. This time it did take off. The tether line got snagged as it slipped through the aluminum hook we had, so we had to cut it free. In the video you can see the payload almost collide with the ground right before it shoots off. This occurs at about 11:14 into the onboard video and about halfway through the ground video.
	</p>
<p>
		Once the balloon was aloft we hurried to load the gear back into the vehicle so we could set out after it. To that end, I had a Chrome Book (CR-48) running <a href="http://www.xastir.org/wiki/Main_Page">Xastir</a>. To the laptop I had my <a href="http://www.powerwerx.com/wouxun-radios/kg-uv3d-dual-band.html">Wouxun KG-UV3D</a> HT connected. The theory there was that I could listen to the packets being sent over 144.390 MHz and pipe them into my laptop, through <a href="http://www.baycom.org/~tom/ham/soundmodem/">soundmodem</a> and Xastir would pick them up and plot the course of the balloon. In practice this worked not at all. The night before I had gotten it configured and working, but it seems to be real picky about the output volume of the HT and the input volume on the soundcard. So, we weren&#8217;t able to decode the packets ourselves. Fortunately, I was able to tether the laptop to my phone and get on the cellular data network in order to track the balloon through the system I wrote and through <a href="http://aprs.fi">aprs.fi</a>.
	</p>
<p>
		Unfortunately, the power invertor I was using to power my phone in my brother&#8217;s truck sucked the battery completely dry when the truck turned off. So we were running blind for most of the day. I was able to call a couple of friends. Together with one of my brother&#8217;s coworkers they provided us with updates on the balloon&#8217;s altitude and position. We reported back with our current position and were able to be guided in to where the balloon was coming down.
	</p>
<p>
		We turned up a road and were informed that the last position report for the balloon put it ahead and to our left and about 2000 feet up. We frantically scanned the sky but were unable to locate it. We continued up to the intersection, then turned left to try to get closer. My brother&#8217;s friend guided us down a dirt road which we promptly got kicked off of by a less than helpful local. We went next door and the generous couple there allowed us use of their golf cart.
	</p>
<p>
		We drove all over their property scanning the trees. Meanwhile, my uncle ended up wandering close to the previously mentioned gentleman&#8217;s land. A young man postured at the edge of their property with his arms crossed and as my uncle returned we heard several rounds of gunfire. I left my phone number with the couple and they promised to call if they found anything. They then directed us to an Amish farm that bordered their property in the direction that we suspected the balloon of landing in.
	</p>
<p>
		The owner of the property was attending a funeral, so we were unable to get permission to wander their property. By this time I had been able to force a small charge into my phone and get us partially back online. We received a few packet updates on aprs.fi. His son, Andy, took a look at the map and directed us to Mark, whose property it now appeared to be on.
	</p>
<p>
		We pulled into Mark&#8217;s driveway and I slowly brought the truck up toward the house so we could scan the trees. As we approach the house my uncle shouts &#8220;There it is!&#8221; It was hanging from the tree canopy about 40 feet off the ground. I knocked on the door and when they answered I pointed at the balloon and said &#8220;Can I go get that?&#8221;
	</p>
<p>
		I explained what we were doing there and what the object in their trees was. They were very interested and Mark&#8217;s wife gave me a camera so I could get her a &#8220;great Facebook status update!&#8221;
	</p>
<p>
		My brother had some tree retrieval gear consisting of a slingshot on the end of a PVC pole, a hook on the end of a pole, and a length of thin rope. We tried for about an hour to shoot the thin rope through the payload line so that we could pull it down, but the slingshot wasn&#8217;t quite powerful enough to drag the weight of the rope and its guide weight accurately and far enough. Fortunately, my brother is a long-time rock climber and had all of his gear with us for this eventuality.
	</p>
<p>
		I shot the light rope up and over a limb and we pulled a heavier rope over it. After securing it to a nearby tree my brother proceeded to scale the tree and get latched to the trunk directly across from the dangling payload. He was able to swing a weight rope through the payload line and pull it over. He fastened a rope to the line and dropped it down to me. I pulled the payload straight down out of the tree and recovered my brother.
	</p>
<p>
		We retrieved the memory card from the camera and put it in Mark&#8217;s wife&#8217;s laptop so that I could provide them with a copy as a token of gratitude. Unfortunately, the video ends about 1 hour 20 minutes into the flight. Also, the lens has a lot of condensation develop on it. Apparently the air was too humid and overcame the dessicant I put into the camera enclosure. Further analysis of the time that the video ended and the temperature plots we got from the Thermochrons shows that the camera stopped recording at about the same time that the external temperature reached the lowest point the payload experienced. We suspect it stopped recording due to the battery not being able to maintain high enough output at such low temperatures. The Thermochrons only record to -40C, and, as you can see in the chart below, we were below that (-40C == -40F) for about 25 minutes.
	</p>
<p>
		At the top of this page you will find an interactive chart plotting altitude, speed, internal, and external temps over time. The highest recorded altitude we received a packet for was 98,858 feet. That&#8217;s 6,000 feet higher than we projected it would go. It ended up hitting the ground about 19.3 miles from where we launched it after traveling a total distance of about 72 miles. If you have <a href="http://www.google.com/earth/index.html">Google Earth</a> installed, view a plot of the path the balloon took by loading <a href="StratoSphere mk1 - 11JUN2012.kmz">this file</a>.
	</p>
<p style="text-align: center">
		<a href="https://plus.google.com/photos/107235276879849058634/albums/5756739360891436513"><img src="https://lh3.googleusercontent.com/-nLUvm6FaEWQ/T-QNVH-dGzI/AAAAAAAACQE/sZtQauB5MVs/s494/DSC_5111.JPG"><br />
		<br/><br />
		Here is an album of the radar deflector construction and balloon launch and recovery.</a>
	</p>
<p>
		Next, we have two videos. The first is of the launch from a bystander&#8217;s point of view. The second video is a time-condensed video from the GoPro onboard camera. Of particular note is how dark the sky gets towards the end.</p>
<p style="text-align: center">
			<iframe width="236" height="315" src="http://www.youtube.com/embed/9z_2iQt8hgk" frameborder="0" allowfullscreen></iframe><br />
			<iframe width="560" height="315" src="http://www.youtube.com/embed/TNGM1pwVCEA" frameborder="0" allowfullscreen></iframe>
		</p>
</p>
</div>
<p><script type='text/javascript'>
	displayGraph();
</script></p>
]]></content:encoded>
			<wfw:commentRss>http://robotrising.org/2012/08/stratosphere_mk1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
