Days of Class Left

  • Mines


…and so begins my last regular week of school. I had my last regular exam today1. Two homework assignments due tomorrow. Another on Wednesday, and the following Wednesday. Two big projects to finish up (each with a report) and two labs (each also with a report). And then I’m done with regular class work. So tangible, yet so unbelievable.

  1. before finals, that is 

Days of Class Left

  • Mines


…that’s two weeks. This time on April 30th, I’ll be done with class. Forever1.

  1. at least for my undergraduate work 

E-Days 2009: Diamond AnnivarsarE-Days Fireworks

Before the Chaos
12.0 mm || 1/15 || f/4.0 || ISO800 || NIKON D90
Golden, Colorado, United States

12.0 mm || 9.6 sec || f/16.0 || ISO200 || NIKON D70
Golden, Colorado, United States

Fireworks on Field
12.0 mm || 8 sec || f/11.0 || ISO200 || NIKON D70
Golden, Colorado, United States

12.0 mm || 6 sec || f/16.0 || ISO200 || NIKON D70
Golden, Colorado, United States

As is usually the case, be sure to check out the rest of the amazing fireworks pictures (and video!) on Flickr: E-Days 2009 – Fireworks


My Faith Journey

I wrote this at the beginning of the year for a missionary organization that I was applying to. I ended up withdrawing my application for other reasons, however, I thought this was worth sharing. And what better day to share than Easter? He is Risen.

I’ve never really been sure how to best answer this question. I do not believe there is a single identifiable point in time where I became a Christian. I was raised in a loving Christian home, as both my parents are Christian’s. My faith has been, and continues to be, a wonderful journey of understanding. Along the way, I have developed a relationship with the Lord that I can call my own. My goal is to seek Him, incessantly. I can, however, identify some critical points in my journey.

High school was a time when a lot of my faith flourished. I went on student trip to Lake Shasta through my church and an organization called Sonshine Ministries. I became part of an amazing Bible study that, even after high school ended, still stays in contact with each other regularly.

College has been hard though. I attended Fellowship of Christian Athletes and Campus Crusade for Christ for a little while my freshman year, but it was radically different from what I was used to and I soon stopped going. Sophomore year, I tried going to a variety of different churches around my school. Toward the end of my sophomore year, I thought I had finally found a church: First Presbyterian Church of Golden. I went for the remainder of sophomore year and the start of my junior year. However, it just wasn’t sticking. I found the sermons uninteresting and inapplicable in my life. The audience was also predominately older couples and children, there were practically no college age students. So I gave up and coasted for a while, going to church only when I was back in Seattle.

When I was back this last summer, I was talking with our senior pastor, Earl Palmer, and some friends from my Bible Study. One question came up about how to find another church away from home. Part of what I got out of the that discussion is that I was missing something when I was trying to find a church in the past: the community.

When I got back to school this past fall, I called up a friend, Matt, and asked if he wanted to go this church I’d heard about, Flatirons Community Church. As it turned out, he was already planning on carpooling up with another mutual friend, so we all carpooled together. After church, Matt introduced me to his community at church. This is when I stopped coasting in my faith. I had found community within a church; which is the part I had been missing previously. And it has been an absolute blessing to be in this community.

I have been enjoying going to Flatirons. I’ve also been going to The Annex (a college ministry run by First Presbyterian Boulder) on Tuesdays and I recently volunteered to drive freshmen from their dorms to The Annex and back.


EDays 2009: Diamond AnnivarsarE-Days Videos

  • Mines

This is going to be the first of many posts over the next few weeks as I slowly process and upload over 24GB of data. Today, videos! In High-Definition! For free!

I did something odd and posted them in two places. Why on earth would you do that? you ask? Because I’m trying to keep most of the stuff on Flickr, however they have a 150MB/90sec limit. I keep this value in mind when I shooting. However, some clips are several minutes long and/or several hundred megabytes in size1, and those went on YouTube.

Enjoy the video’s. I’d suggest you watch all the Fireworks ones (because they were that awesome this year). Also make sure that you watch all the videos in HD. On Flickr, click the “HD” icon in the bottom right corner. On YouTube, you’ll need to click the play button before the “HD” button will come up in the bottom right corner.

Click for: EDays 2009 Videos on Flickr – Part 1
Click for: EDays 2009 Videos on YouTube – Part 2
Remember, there’s different content on each site!

Some highlights:

  1. my thanks goes to Academic Computing and Networking, who unknowingly facilitated my 6GB of video uploading 

Order of the Engineer

  • Mines

I am an Engineer, in my profession I take deep pride. To it I owe solemn obligations.

Since the Stone Age, human progress has been spurred by the engineering genius. Engineers have made usable Nature’s vast resources of material and energy for Humanity’s benefit. Engineers have vitalized and turned to practical use the principles of science and the means of technology. Were it not for this heritage of accumulated experience, my efforts would be feeble.

As an Engineer, I pledge to practice integrity and fair dealing, tolerance and respect, and to uphold devotion to the standards and the dignity of my profession, conscious always that my skill carries with it the obligation to serve humanity by making the best use of Earth’s precious wealth.

As an Engineer, in humility and with the need for Divine guidance, I shall participate in none but honest enterprises. When needed, my skill and knowledge shall be given without reservation for the public good. In the performance of duty and in fidelity to my profession, I shall give the utmost.

I’m now a member of the Order of the Engineer. By the way, my pinkie finger is a size 7.


A Short Guide to Robot Path Planning

Editors note: For my Advanced Robot Control midterm, I had to write a report answering four questions related to the class. For your reading pleasure, I now present the fruits of my labor. Note, super technical content to follow. Also note, this post is paginated. You can also download the PDF.

In Chapters 2 through 7, Choset has presented a number of different approaches to path planning. Explain in your own words the progression from Chapter 2 to 7. Include brief (synopsis) explanations of each approach (i.e., the main topic of each chapter).

Chapter 2 covers the two bug algorithms, Bug 1 and Bug 2. The Bug 1 algorithm is perhaps one of the most basic of navigating algorithms. The robot begins at the start and proceeds toward the goal until an obstacle is encountered. Once an obstacle is encountered, the robot will completely circumnavigate the obstacle before proceeding toward from the point on the perimeter that has the shortest distance to the goal.

The Bug 2 algorithm is very similar to the Bug 1 algorithm. The primary difference from Bug 1 is that an imaginary line, the M-line, is draw between the start and goal. When the robot encounters an obstacle, it will circumnavigate the obstacle until it reaches the M-line. Once it reaches the M-line, it will start moving toward the goal again; it does not completely circumnavigate the obstacle.

The primary benefits of Bug 1 and Bug 2 is that very little information is needed: a starting point, goal, and a series of touch sensors to determine when the robot runs into an obstacle.

A more advanced version of Bug 2 is the Tangent Bug. Tangent Bug utilizes a sensor of some range from zero to infinity to detect obstacles. When an obstacle is detected, the robot will start moving around the obstacle. The robot will continue its motion-to-goal routine as soon as it has cleared the obstacle.

In order to describe more complicated path planners, we need to be able to specify the position of the robot and the space it occupies. This is known as the configuration space and is the primary topic of chapter two. We used the new idea of configuration space to develop a set of equations that allow us describe the position of multi-joint planar arms. We extended the equations we used to define the movement of planar arms to define points in both R2 and R3. These equations allow us to define the position and orientation of a single point, as well as one point relative to another.

With our new ability to describe robots in a workspace, we can now begin working with more complicate path planning techniques. Path planning is quite different from the previous navigation algorithms we discussed, such as Bug 1, because path planning requires foreknowledge of the obstacles before the robot begins movement. Chapter four starts with a brief discussion on gradients. Gradients are a well studied mathematical function in undergraduate engineering university, which makes them a great introduction for more complex path planning methods. Gradients work by changing the repulsive potential as a robot gets closer to an obstacle. The start point is given a medium gradient potential, the end point is given a low gradient potential, and the obstacles are given high gradient potentials. All the robot needs to do is “roll down the hill.”

The Brushfire Algorithm is a discrete version of the aforementioned gradient algorithm and involves the use of a grid to determine the potential of cells. A variation on the Brushfire Algorithm is the Wave-Front Planner.

The Wave-Front Planner uses a grid, just like the Brushfire Algorithm, and assigns a “1” to each cell that has an obstacle (or part of an obstacle). The start point is labeled “2” and the “wave” propagates from that point. Each adjacent cell, if empty, is given an incrementally higher number until all the cells have a number. If the goal has a number in its cell, the goal is reachable in that many moves minus one. Adjacency can be computed using either four-point connectivity (where only the north, south, east, and west cells are considered adjacent) or eight-point connectivity (where north, south, east, west, and the diagonal cells are considered adjacent).

Sphere space and Star space are essentially extensions of the generalized potential path planning method with one critical difference: they only have one local minimum. Having one local minimum is a desirable quality as it greatly aids in path planning and avoiding dead ends.

Chapter five introduces roadmaps, which is effectively a way to break up the workspace into distinct stages or paths. The Visibility Graph plots straight line paths between the start, goal, and all the vertices of the all the objects in the workspace. The paths may cross over each other; however, they may not intersect an object. Once constructed, the visibility graph can be searched for the shortest path from the start to the goal.

The Generalized Voronoi Diagram extends the idea of the distinct paths by drawing equidistant “roads” between obstacles and the boundaries of the workspace. A similar technique to the GVD is the Silhouette Method, which works by determining the critical points of obstacles within the workspace. A tangent line extends from each critical point, and around the workspace edge. The path from the start to the goal “snaps” to these paths.

Trapezoidal Decomposition, which is the start of chapter six, extends the concept of the Silhouette Method. However, the obstacles (and workspace) must be represented as trapezoids. A vertical extension marks each vertex, separating the workspace into cells. The cells are mapped from the start to goal using an adjacency graph. The path planner plans a path by connecting the midpoints of the vertical extensions. Morse Cell and Boustrophedon Decomposition follow the same concept as Trapezoidal Decomposition. However, the goal in Morse Cell and Boustrophedon is path coverage rather than path planning.

Path coverage, which seeks to optimize the coverage of the workspace, leads into visibility-based decompositions for pursuit and evasion, which deals with how a pursuer attempts to capture prey and how the prey attempts to evade the predator. Specifically discussing how to clear rooms to make them “uncontaminated” and how to determine the number of predators that are required to check a system based on the number of edges in the workspace.

As this point, the path planning algorithms are becoming fairly complex and computationally intensive. So far, our examples have been using small workspaces with only a handful of obstacles. As the workspace size and number of obstacles increase, the time required to find a solution also increases, usually exponentially. Sampling-based Algorithms work by using a best-guess and check method. A path is calculated and then checked to see if it collides with any obstacles. Specific types of planners include Probabilistic Roadmaps (PRM), Randomized Path Planner (RPP), Expanisve-Spaes Trees (EST), Rapidly-exploring Random Trees (RRT), and Single-query, Bi-directional, Lazy collision-checking (SBL). In all examples of sample-based path planning, the chances of finding a successfully path approach zero as the number of samples increase.

Pages: 1 2 3 4

In Seattle For Two Days Only!

My Farecast.com alert sent me an email last night for a last minute, mid-week special on flights to Seattle. It’s been a rather stressful and exhausting last couple of weeks (and it doesn’t look to let up soon either), so I decided to jump on it. Timing couldn’t be better; all the professors tend to let up a little bit right before EDays, so I’m not missing out on much.

Flying in on Alaska 677 which arrives just after 9am this morning and I’ll be taking off tomorrow afternoon at 12:45pm on Alaska 672…just in time for EDays to start.

Who wants to hit up Thai Tom for lunch?

Track my flight: Alaska 667
Track my flight: Alaska 672


EDays 2009: Diamond AnnivarsarE-Days

EDays is upon us once again. And once again, I’ll be taking photos! I’m the official EDays photographer for The Oredigger and the EDays Committee. Last year was great and I got some great photos. But this year. This year is going to be epic. This year, I’ll be renting a Nikon D90 and a Nikkor 12-24 f/4G DX, both from Pro Photo Rental up in Boulder. Thanks to Jared for the hookup and working out all the details with me!

So yes, that means that I’ll be shooting with two cameras. My D70 with an 18-70 (or 50mm) and the rented D90 with 12-24.

I also made up this years new press pass. It’s very similar to last years press pass, but with an updated picture, ID#, and expiration date (natch). I also added some text on the back of the pass.
Total cost: 10 cents for the color laserjet print at school plus $1.25 for the lamination at FedEx Kinko’s.
My enjoyment: Priceless.


I will also, however, have my legitimate concert backstage access/press pass, just like the last three years1, special thanks to Tim Weilert for helping me out with this.

My goal this year is two-fold: shoot more people pictures and take video (which I can do using the D90…in HD no less). I really just hope I have less than 2000 photos to edit.

The Oredigger also published the E-Digger, a guide to Engineering Days. I got2 two full page photos and a double truck3 wide! It’s pretty awesome and I recommend you check out a copy if you’re on campus.

27.0 mm || 1/4000 || f/3.8 || ISO400 || NIKON D70

10.5 mm || 3.3 sec || f/16.0 || ISO200 || NIKON D70
Golden, Colorado, United States

10.5 mm || 18 sec || f/16.0 || ISO200 || NIKON D70
Golden, Colorado, United States

10.5 mm || 1/80 || f/3.5 || ISO1600 || NIKON D70
Golden, Colorado, United States

10.5 mm || 1/1000 || f/7.1 || ISO200 || NIKON D70
Golden, Colorado, United States

I also know there are a couple of Facebook groups that are using my photos too, I basically have the market cornered on “csm edays fireworks.” It’s all good though.

Over the last 5 EDays, I’ve published over 1000 photos4. I’ve gathered them all into one collection over at Flickr: A collection of all EDays photos I’ve ever taken

Stay tuned for this years report, it’s bound to epic.

  1. Holy crap, have I really been doing this for that long?! 

  2. my photos were used on 

  3. http://en.wikipedia.org/wiki/Double_truck 

  4. I suspect I’ve taken closer to 5000