In Greek legend, Icarus flew too close to the Sun,…

In Greek legend, Icarus flew too close to the Sun, and the heat melted his wings and he fell to his death. But “melting” is a phase change which is a function of temperature, a measure of internal energy, which is the integral of incident power flux over time. His wings didn’t melt because he flew too close to the Sun, they melted because he spent too much time there.

Visit briefly, in little hops, and you can go anywhere.

Napkin Analysis of the Sand Flea Jumping Robot

I shared this video ((found via the always interesting Kottke)) with Peter, who then asked:

I saw that a couple days ago. Awesome! And has some cool practical applications. I [couldn’t] quite tell if the pitch of the robot was adjustable by the user, or of it always jumped in the same direction. Did you get a sense for that?

It was a good question and one I didn’t have an immediate answer to.

I would actually guess that I don’t have immediate answers ((answers that only involving recalling a specific outcome)) to at least 50% of questions people ask me ((I just made that number up, really)). I have to do some amount of thinking, and sometimes even some research. I think people tend to think I know the answer off the top of my head, I assure you: I am not that smart.

I do have an inquisitive mind, I do know where to look, and I do know how to ask the right question.

Extended Mind

I decided to remedy this question though by talking it through, instead of just giving an answer. This is basically my thought processes as it occurred. Except that I got Sin and Cos mixed up and didn’t realize it until I had finished my conclusion. So I had to redo my entire analysis, and that’s what you see here. Please note this is still really just a paper napkin answer:

As far as angle, I’m not sure. I suspect there would be some angle change.

Elevation angle can affect two things, how high it goes and how far it goes forward, and these two things are intrinsically linked through SohCahToa. Height and forward distance can also be affected by the force applied (ceteris paribus ((all other things being equal or held constant))). This gives a problem with two independent input variables (angle and power) and two dependent output variables (height and forward distance/range).

Since my primary goal is to jump, I’m going to put most of my energy into that. If I want to jump higher, I can either apply more force or make my elevation angle higher (as long as it’s < 90°). As the elevation angle nears 90° [latex]\left (\frac{\pi}{2} \right )[/latex], more of my energy goes into going up than going forward. The proportion of energy applied to going up is defined by Sin and the proportion of energy applied to going forward is defined by Cos. Also worth remembering is that the Sin[x] + Cos[x] is not a straight line, it's another parabola that peaks at 45 degrees. The biggest bang for your average buck is to angle yourself at 45 degrees and shoot. Additionally, Cos (forward) angles that are near 90° have a high rate of change (i.e. going from 80° to 81° has more of a difference than going from 10° to 11°), thus little changes in elevation angles near 90° have relatively larger impacts on how far forward I go. Conversely, Sin (height) angles that are near 90° have very low rates of change. The cross over point for rates of change between Sin and Cos is - you guessed it - at 45° . Since the goal of the robot is to jump high (not far), it would make sense to only use high angles (above 45° ). To vary height significantly though, you are going to have vary power. Going from 46° to 90° only increases height by ~93% if the force remains the same. In comparison, going from 1 degree to 45 degrees increases height by 164,000%. Math is great, but if you can't implement it, it doesn't matter so let's turn to what's practical: One of the underlying assumptions is if the robot can vary the force it uses and if it could accurately set it's elevation angle. Setting the angle is pretty easy using encoders, and accelerometers to determine which way is down (if you were jumping from an angled surface, for instance). We've also already seen that the jumping leg can move, so adding functionality for precision angle measurements (within a degree, let's say) is pretty trivial. The real question, I think, is how does it jump? Delivering energy quickly has always been a problem. Delivering a measured amount of energy quickly even more so. Based on jumping from the ground to the loading dock (1.5 meters in height at most) and then from the loading dock to the roof (probably at least 4 meters), that's about a 166% increase in height, which is not quite enough as could be accomplished by just varying the angle from 46° to 90°. Since you can't gain that height just by altering the angle alone, it makes sense to assume that the jump force setting can be altered. However, if you change the jump force setting, what does that do to the forward movement (we know it will make the robot jump higher)? It will, of course, move the robot forward even more. How much more? I don't know exactly, but probably enough to make some minor angle tweakage worth it. We would have to sit down and work on the math to verify the exact amount. I think it involves something with squaring the derivative of the force divided by the mass. Squaring always make numbers bigger, so I tend to think it would be significant. Suffice it to say, if you don't want to proportionally more forward when you jump significantly higher, you would have to adjust your jump elevation angle. Thus I would assume there may be small changes in angle elevation, but that's hard to estimate given the view-point the videos were shot at. It's also pretty easy to solve for power required and angle needed to reach a particular height while moving forward only a certain amount (once you figure out what the maths are), so at least the implementation factor is pretty easy from a computing standpoint. And I've spent way to much time on that answer. ((One of the reasons I decided to blog about it, the work was pretty much a sunk cost)) As always, please check my work.

The Day The Music Died

Yahoo! is shutting down GeoCities today. A little known fact is that I used to have a web presence on GeoCities. In fact, it’s still there! I’ve checked back a couple times a year to see if it was still up and running it, and it always was.

Starbase 156 ((Last updated 05/30/01 12:19 PM Pacific Daylight Time)) was the place I used to call home before I started hosting my website on my own server. Today, though, will be our last day to actually view it in it’s native habitat ((I made an archival copy a couple of years ago)).

While you’re at it, you might want to check out XKCD’s front page, an awesome homage to my middle school and high school coding days ((Well, not mine exclusively…but you get the idea)):

Finally, An Answer

Several years ago, I posted a problem describing a plane on a massive conveyor belt:

Imagine a plane is sitting on a massive conveyor belt, as wide and as long as a runway. The conveyer [sic] belt is designed to exactly match the speed of the wheels, moving in the opposite direction. Can the plane take off?

Similar, but not exact, question was busted on Mythbusters:

An airplane cannot take off from a runway which is moving backwards (like a treadmill) at a speed equal to its normal ground speed during takeoff.

Every since that episode aired, I had serious doubts about the validity of the test; although I could never fully articulate those doubts, even to myself. The biggest issues I had was the speed at which the conveyor belt (or treadmill) was moving.

And that’s the rub. The first question posits that the “belt is designed to exactly match the speed of the wheels, moving in the opposite direction,” while the second questions says “a speed equal to its normal ground speed“. These, my friends, are two entirely different questions.

I thought all hope had been lost, until Randall “xkcd” Munroe became my hero. He asks the version of question I originally posted a couple years ago. It’s actually almost the exact same wording, only he adds in a bit about it being a 747 and then provides an answer:


The practical answer is “yes”. A 747’s engines produce a quarter of a million pounds of thrust. That is, each engine is powerful enough to launch a brachiosaurus straight up (see diagram). With that kind of force, no matter what’s happening to the treadmill and wheels, the plane is going to move forward and take off.

But there’s a problem. Let’s take a look at the statement “The conveyor belt is designed to exactly match the speed of the wheels”. What does that mean?

You think you have it all wrapped up in a nice little package, and then you get to the “But there’s a problem.” And you utter to yourself, “Crap.”

I’m not going to spoil Randal’s rather excellent explanation of the problem. However, he does do a pretty good job explaining it, and you really should read it.

I will, however, add a couple of footnotes:

  • A PID controller is a Proportional, Integral, Derivative controller, which is a type of feedback controller. For example, let’s say you’re running on a treadmill and you start running faster, a PID controller can measure the speed you’re running at and automatically increase the speed of the treadmill so that you don’t run off the end.
  • I’m not sure, but I believe the “‘JetBlue’ scenario” that Randall mentions may refer to the JetBlue Flight 292 incident of a few years ago.

If you also remember the discussion from last time, I think Chris Barnhart is the winner.

P.S. Mr. Munroe claims that xkcd doesn’t stand for anything. However, if you assign each letter a number (A=1, B=2, C=3, etc), X+K+C+D => 24+11+3+4 = 42. Check that out, you can’t make up that shit. And no, I didn’t figure that out all by myself.

Image Credit: Randall Munroe

Quotes of 2007

It’s that time again. I’m clearing out my quotes section on Facebook to make way for the new ones I’m sure to amass in 2008.

“Now cracks a noble heart. Good night, sweet prince,
And flights of angels sing thee to thy rest!” – William Shakespeare; Hamlet Act V, scene ii

“The greatest risk in life is life – it has 100% chance of causing death.” – Unknown

“My memory is nearly gone, but I remember two things, that I am a great sinner, and that Christ is a great Saviour.” – John Newton

“There is nothing left to do but get drunk.” – Franklin Pierce, 14th President of the United States

“I have guidelines for my personal cell phone use while operating a vehicle. The guidelines say I can call back an awesome girl while monitoring the horizon for things that do not fit under the car.” – Matt Matteson,

“If tyranny and oppression come to this land, it will be in the guise of fighting a foreign enemy.” – James Madison

“Oh, then it inverts! Isn’t that cute!” – Ryan
“Look, Ryan’s making cute circuits!” – Amanda

“I may not have gone where I intended to go, but I think I have ended up where I needed to be.” – Douglas Adams

“In the beginning the Universe was created. This has made a lot of people very angry and has been widely regarded as a bad move.” – Douglas Adams, Restaurant at the End of the Universe

“If you judge people, you have no time to love them.” – Mother Theresa

“The biggest problem with communication is the illusion that it has occurred.” – Alan Mulally

“Progress is made by lazy men looking for easier ways to do things.” – Robert A. Heinlein

“The greatest trick the Devil ever pulled was convincing the world that he didn’t exist.” – Verbal, “The Usual Suspects”

“It’s Not A Decision. It’s an IQ Test”. – VC Josh Kopelman on MySpace v. Facebook

“Mysteries require judgments and the assessment of uncertainty.” – Malcom Gladwell

“It should be noted that no ethically-trained software engineer would ever consent to write a DestroyBaghdad procedure. Basic professional ethics would instead require him to write a DestroyCity procedure, to which Baghdad could be given as a parameter.” – Nathaniel Borenstein

“Dear God,”
“Yes, my child?”
“I would like to file a bug report”

“No matter where you go, there you are.” – Buckaroo Banzai

“…brick by brick like a Lego shit-house…” – Michael Hood, blatherWatch

“Ah, the things we could do if we didn’t have to waste time sleeping and eating… What an annoyance!” – Brian Layman,

Other Properties of Prussian Blue

As told by Wikipedia:

  • It is electrochromic-changing from blue to colorless upon reduction. This change is caused by reduction of the Fe(III) to Fe(II) eliminating the intervalence charge transfer that causes PB’s blue color.
  • It undergoes spin-crossover behavior. Upon exposure to visible light the Fe(III) centers change from low spin to high spin. This spin transition also changes the magnetic coupling between the Fe atoms, making PB one of the few known classes of material that has a magnetic response to light.

Despite the presence of the cyanide ion, PB is not especially toxic because the cyanide groups are tightly bound.

As a note, the chemical formula of Prussian Blue is Fe7(CN)18(H2O)x where 14 ≤ x ≤ 16. Cyanide is the CN part.

I was able to find out this relatively useless, albeit interesting, information due to a flaw in Wikipedia that allows one to wonder through the system aimlessly.

I had watched and then was reading up on the Star Trek: The Next Generation episode “Thine Own Self” on Memory-Alpha which links to the Goiânia accident which links to Prussian Blue.