Game Programming and Complimentary Skills for the FLL Project

Several years ago I started trying to offer some programming and other technical courses in the local community.  As a scientist, engineer and father I was eager to give my kids and others early exposure to some of the rigorous and systematic thinking of STEM.  I also hoped to demonstrate to them the fun of transforming creative ideas into useful working creations – a unique benefit of engineering in our increasingly abstract world.


The general rule of thumb is that kids can start to cognitively deal with the complexity of programming around 8 (although some start as young as 5 or 6).  My oldest was already 10 after several failed attempts in launching something with existing local organizations, so I was determined to get something off the ground this year.

My initial idea was to teach game programming due to the broad appeal, ubiquity and growing influence of gaming culture.  However, FIRST LEGO League had well-designed, comprehensive, and successful turn-key program.  There is no such equivalent alternative in for teaching gaming to kids.  The closest equivalent I could find were gaming contests such as using Microsoft’s Kodu Challenge which are narrower in scope and less field tested.


One nice aspect of FLL is that it allows for growth as a team ascends the experience curve.  For example, I’ve been told veteran FLL teams that master the Robot Challenge often pour their energy into the Research Project.  The fact that patentability seems to be something of a Holy Grail for a world-class Research Project shows that FLL wants to drive top teams into new fields of STEM research beyond just robotics.

The open-ended nature of the Research Project allows teams to incorporate a wide variety of other technologies into their FLL experience.  Some of the more interesting Research Projects we saw at our last competition were web sites, apps, games, and even microcontroller (Arduino)/microcomputer (Raspberry Pi) devices.

Therefore, if my schedule permits, I’d still like to offer some courses outside of FLL robotics that would be complimentary in equipping our kids with technical skills they could bring to bear in the FLL Project.  These other engineering skills are valuable in their own right by offering a very different engineering perspective and cognitive challenges than the FLL Robots Game yet they can be folded into FLL to create some impressive Research Projects.


With this in mind, here is an excerpt from a recent email exchange I had with an early high schooler who is very interested in game programming.  I discuss several approaches I could take to teach this as well.  I’ll be querying our existing FLLers and potential others students as to which direction would be of greatest interest.

(excerpted email exchange)

Before speaking with you, I was thinking of taking a more traditional approach to teaching programming via SCRATCH or creating a simple 3D JavaScript Game.  This approach would teach the kids computer and game programming from the ground up with everything from syntax, data/logic structures, drawing 3D on a 2D surface to collision detection.  The two books I perused and would generally follow were:

I’ve seen Unity and other physics/3D Game engines around which have the advantage of creating more interesting games by sacrificing learning about the nuts and bolts of computer programming.  My kids are constantly on Roblox which is a Minecraft-like virtual world that users can easily mod to create and offer their own multi-player game worlds to others.  I was thinking this may give them the added incentive to apply themselves if they can see all the cool things they could do.

The Unity engine looks like the default choice to teach more interesting 3D Gaming, but I’d be teaching it from scratch for my boys and others.  I would hope to cover the introduction to Unity equalivant to something you’d find in a book like:

Would this coverage of Unity be too basic for you?  If I went this direction, would you be interested in being a TA for me running this class?  Although I’m not a game programmer per se, I hope there would be a number of interesting issues that would arise that would be useful for you to see how I discuss/solve them – an insight to how computer scientist think perhaps?

If I took the other approach with a more low-level, basic game programming with SCRATCH or JavaScript you could probably pick up a better understanding of programming.

One caveat is that I am trying to construct a class targeted to talented and/or passionate 9-11year olds, so at times it may seem too simplistic.  Still, a cool thing about engineering and computer science is that it is very self-paced.  So, if you’re more advanced you can hopefully still get something out of it thinking about things at a deeper level (or you can simply go home, do research and do amazing things beyond what the others are doing).

Let me know your thoughts.


Hacker Culture and The Maker Movement

Santa got us a SodaStream appliance this Christmas.  It seems like a useful device to carbonate flavored tap water but rather narrow in it’s application and costly to operate.  One of my first questions before even reading the manual was to Google how people are hacking the thing in ways to find new culinary applications and reduce operating costs (purely for informational purposes only).  When prestige media publication like the New York Times publishes an article about hacking SodaStream appliances, you know “hacking” has gone mainstream.

The word “hacker” derives from a 17th century term for a physical laborer swinging a hand tool like a hoe.  In the 1960s the word became associated with computer programmers.  Today the term “hacker” is broadly used to identify both digital criminals (eg identity theft and DDOS server attacks) as well as creative technical geniuses who reverse engineer complex systems to build new systems of unforeseen new value.  Here is wikipedia’s definition:

A hacker is one who enjoys the intellectual challenge of creatively overcoming and circumventing limitations of programming systems and who tries to extend their capabilities.[3] The act of engaging in activities (such as programming or other media[4]) in a spirit of playfulness and exploration is termed hacking. However the defining characteristic of a hacker is not the activities performed themselves (e.g. programming), but the manner in which it is done: Hacking entails some form of excellence, for example exploring the limits of what is possible,[5] thereby doing something exciting and meaningful.[4] Activities of playful cleverness can be said to have “hack value” and are termed hacks[5] (examples include pranks at MIT intended to demonstrate technical aptitude and cleverness).

Today a hacker’s target isn’t just limited to trying to improve piece of computer software or hardware.  Today people are hacking everything from their car’s gas mileage (hypermiling) to their bodies (eg blogger Tim Ferriss) to make modifications that increase performance, reliability and/or longevity.  A number of Internet website have sprung up to create communities around these efforts or to cover the general movement like

 make_magazine( Make Magazine started in 2005 and they have a great website too )

Concurrent with the tendencies to generalize hacking beyond traditional engineering targets has been the rise of the Maker Movement.  This formally arose in San Mateo, CA near Silicon Valley around 2005 sparked by the rapidly decreasing cost of computing power, hardware, 3D printers, drones, and other components that now give individuals access to creative tools formerly only available to corporations.

The Hacker and Maker Movements have expanded beyond engineers and programmers to include designers, artists and many others.  Just as a doctor is trained to view the human body and disease, engineers are trained to see beyond the existing solution, gain a deep understanding of how all parts inter-operate at multiple levels and, at the highest level, be able to fundamentally redesign a system for optimal performance or even entirely new applications.

Although medicine gets more positive coverage in prime time dramas, science and engineering is at the forefront of a human discovery, is intellectually unbound and far more open and rewarding for creative visionaries.   The best engineers do not just accept the world as it is, but to actively engage, improve and tailor it to their ends and for all humanity.




Ohio FIRST LEGO League State Tournament Details



Team Information Packet (Maps, General Schedule and all other Details)

Tournament Website (Forms and Schedules)




February 7 & 8, 2015

Ervin J. Nutter Center

Wright State University;  3640 Colonel Glenn Highway; Dayton, Ohio 45435


The Holiday Inn in Fairborn supports the FLL Ohio State Championship and also has offered us a generous discount package for teams.  Instead of the regular rate of $117.95, the rate for Ohio FLL teams will be $85. Additionally, the regular fee for their deluxe hot breakfast buffet will be waived for Ohio FLL teams and participants staying as guests. Our contact at the hotel is Matt Pauley and he can be reached at 937-431-4611.



So far I have had oral confirmations from everyone that they can attend the State Tournament.  If you cannot, please let me know immediately so I can change our registration and we can adjust our presentations accordingly.


TIMS:  Online registration of team roster

WAIVER/RELEASE:  Please hand back to me signed

TECHNICAL:  Lab Notebook, Code Printout, RDES


Gambier GigaFlops (aka GigaBytes/GigaBites)
Assigned to Pit #45


Saturday (Judging Session – run consecutively 15min per with 5 min break in-between):
noon Registration – Please be on time, this will be our only real time to practice as a team before judging begins.
All Judging sessions run consecutively at 15min in length with 5min break in-between.
12:50 Core Value
1:10 Robot
1:40 Project
2:00 Done
Afternoon – work and practice on Robot for Sunday

Sunday Robot Competition: (This will be an early morning) ,
6:30 Pits Open
7:15 Coaches Meeting
8:00 Opening Ceremony
10-10:05 Practice Table
10:40-10:45 Round 1 Robot
11:20 Round 2 Robot
11:50-12:40 FLL Lunch Open
2:00 Round 3 Robot
2:30 Alliance (3 Team) Competition
3:30 Closing Ceremony


No outside food allowed in the arena.  Here is an email I received regarding the lunch situation:

Also, Katie and I have been working to get information about concessions.
We’ve especially been trying to address some of the concerns coaches and
parents have expressed from last year. I’m going to give you the information
that I know as of today.  There should be two concession stands open with
one on the stadium floor in the pit area for FLL teams and then stand #3,
Wolf Pizza will be open on the concourse level. Both should be open from
8-3:30 with coffee being available before 8.

Here’s the menu we’ve confirmed:

$6.50 personal pizzas (cheese or pepperoni)
Price TBD – Veggie Wraps
$4.00  Hot Dogs
$4.50  Brats
$0.75 Add Kraut
$6.00  Chili Cheese Dog
$4.50 Nachos with Cheese
$1.25 Add Chili
$4.00 Pretzel
$1.25 Add Cheese
$4.00 Popcorn
$1.00 Fruit

$2.50 Coffee
$3.50 Bottled soda and water
$4.00 Gatorade

Please share this with the parents of your team members.  Remind them that
outside food is not permitted and that there is a window of time blocked for
lunch (11:50-12:40) and many options nearby. If they choose to pack a cooler
or bring items from home, they will need to eat outside.



hobbit_riddleHere is a riddle for you from our curious little friend:

This thing all things devours;
Birds, beasts, trees, flowers;
Gnaws iron, bites steel;
Grinds hard stones to meal;
Slays king, ruins town,
And beats mountain down.

One more hint, the richest, most powerful and most successful individuals throughout history would’ve given nearly all their material wealth for that which you all have in abundance.

steve-jobs-young michael-jordan-2011-portrait-plus elizabeth-taylor stephen-hawking george-soros-investwithalex

The answer is time.  While one can make more of nearly everything from money to land, one can never make more time.  And time is potential, hope and life itself.

We are each given an unknown amount of time on the earth and as it runs its course the innocence, optimism and energy of youth fade along with our beauty, intellect and physical prowess.  You all are in the the stage of life that is the envy of everyone above:  entrepreneur Steve Jobs, retired basketball legend Michael Jordan, Actress Elizabeth Taylor, pre-ALS Stephen Hawkins, billionaire George Soros.

(CAUTION: the following deals with the serious subject matter of death )

It is said that youth is wasted on the young, but here is Steve Job’s famous 2005 commencement speech at Stanford that defies that adage.  At the time of this speech, Steve had been diagnosed with pancreatic cancer over a year earlier and he would die within 6 years.  He epitomizes some of the best (and worst) characteristics of entrepreneurs:  hard driven, uncompromising, idealistic and passionate.

I’ve found Job’s speech is one of the best expression of the most noble instincts, creative impulses and idealistic urgency that fuels the best engineers, designers and entrepreneurs.  It is a very touching personal account on the fragility of human life and the transient gift of time.  Jobs offers some of the best guidelines for the young to construct an exceptional life within these constraints.

( best part starts at 11:38 )

stay_hungry_stay_foolish( The Back Cover of the last issue of The Whole Earth Catalog 1974 )




Memory and Long Presentations

Classical_edA few kids were having trouble memorizing their parts for our Project Presentation.  I thought I’d introduce them to some techniques to help them more naturally recall a narrative that follows a list of topics they need to cover.

Modern education often devalues or outright ignores memorization, yet for most of recorded history memorization was quite central to education.  Until relatively recently, a good classical education would demand memorization and recitation of great works of poetry.

In antiquity to the middle ages before literacy and printing became ubiquitous, minstrels and bards would memorize a variety of works of literature to recite.  The Greek epic poems of the Iliad (12,000 lines) and the Odyssey (15,000 lines) were memorized for perhaps century before they were ever written down in the Greek written language developed 2,000 years ago.

A popular trend among some home schoolers is to revive some of the better aspects of a rigorous Classical Education including memorization of poetry.  One of the best known books in this vein is “The Well-Trained Mind” by Susan Wise Bauer and Jessie Wise.  To quote them on the value of memorization and recitation of poetry:

Memorization also builds into children’s minds an ability to understand and use complex English syntax. The student who memorizes poetry will internalize rhythmic, beautiful patterns of English language. These patterns have become part of the student’s “language store,” those wells of language that we all use every day in writing and speaking. Without memorization, the student’s “language store” will contain only those phrases and patterns which he hears over and over again — the language patterns that your family uses every day. But memorization “stocks” the language store with a whole new set of language patterns.

Recitation — learning to speak memorized pieces out loud, with fluency and expression — helps to “set” memorized pieces in the student’s memory. But recitation also develops skills in presentation. When a student learns to stand still (without jiggling, rocking back and forth, picking his nails, rubbing his nose, or twirling his hair) and speak, he’s learning the all-important skills he’ll need for job interviews (not to mention gracious social interaction). When he can stand still even under the gaze of multiple listeners, he’s learned a poise under observation that will serve him in social situations for the rest of his life.

So how does one memorize a long narrative and effortlessly recite it?  For our presentation, I introduced the kids to the ancient technique of the Method of the Loci, also known as the Memory Palace.  Per Wikipedia:

‘the method of loci’, an imaginal technique known to the ancient Greeks and Romans and described by Yates (1966) in her book The Art of Memory as well as by Luria (1969). In this technique the subject memorizes the layout of some building, or the arrangement of shops on a street, or any geographical entity which is composed of a number of discrete loci. When desiring to remember a set of items the subject literally ‘walks’ through these loci and commits an item to each one by forming an image between the item and any distinguishing feature of that locus. Retrieval of items is achieved by ‘walking’ through the loci, allowing the latter to activate the desired items. The efficacy of this technique has been well established (Ross and Lawrence 1968, Crovitz 1969, 1971, Briggs, Hawkins and Crovitz 1970, Lea 1975), as is the minimal interference seen with its use.[4]



The Method of the Loci activates specific regions of the brain involved in spatial awareness according to MRI studies.  Spatial awareness is probably one of the oldest and most evolved cognitive skills humans possess (eg necessary for our rodent ancestors locate food sources or avoid predators in a dense forest).  Thus, converting abstract and seemingly disconnected ideas into a concrete spatial journey makes memorization of even long and complex narratives simple.

Memorization is not only a valuable skill at the heart of many fields such as medicine and law, is is also a full contact sport:  the World Memory Championship.  “Mental Athletes” are given a limited time to memorize as much as possible of a variety of types of information.  “The 2006 World Memory Champion, Clemens Mayer from Germany, used a 300-point-long journey through his house for his world record in “number half marathon”, memorising 1040 random digits in a half hour” – Wikipedia.

For a good read about this hidden word, check out the book Moonwalking with Einstein by Joshua Foer.


PS:  There are a number of memorization systems out there.  A High School friend of mine once recited pi to the 100th place for his geometry class for fun.   His teacher and classmates were stunned.  So lost is the art of memorization they had no idea how he accomplished the feat.

PPS:  If poetry memorization and recitation is something that interests you, check out the National Recitation Contest Poetry Out Loud.

LEGOLAND Florida and the Mindstorms Lab

legoland_gateWe spent Christmas in Florida and made another trip to LEGOLAND near Orlando.  Our FLL season at the start of October and have had a baptism by fire introduction to LEGO Mindstorms, so we were eager to checkout the 45min class at their Mindstorms Lab.  If you go, be sure to signup early in the day for robot classes at the gate as spaces are limited.

Given that the class was open to the general public, we were surprised by the skill and aptitude of the other kids in the class with us.  After a short tutorial, the instructors set us loose on our own laptops and mini-mission tables which was refreshing after sharing one robot & table among 9 kids all season.

Here are some snaps of the lab and class.  There are many good ideas to borrow in planning our own ideal robotics class.

lego_imaginarium_STEM( STEM – What it’s all about )

lego_imaginarium_lab( A Well Laid Out Lab Space )

lego_imaginarium_mission1( Custom Mission Models Around Florida’s NASA Connection )

lego_imaginarium_attachment2( A Variety of non-Trivial Attachments )

lego_imaginarium_build_test_repeat( Independent Workstations )

lego_imaginarium_teo_beck_programming ( Programming The Missions )lego_imaginarium_table_time( Anticipation and Adjustments under Time Pressure )lego_imaginarium_parallel_work   ( Adjustments and Anticipation with a Little Help from Nic at the Laptop )

How I Learned to Stop Worrying and Love LEGO Robot Programming

Duck-Cover-Front-FSDM2Although today many consider Artificial Intelligence the greatest threat to humanity, when I was FLL age nuclear war was the greatest threat to humanity.  In retrospect, the greatest threat wasn’t an intentional war between the US and USSR, but accidental or rogue use of nuclear weapons.  For example, wikipedia lists a large number of US military nuclear accidents from the 1940s onward.

This list is probably an underestimation given that it includes only declassified mishaps largely from the West.  Scientists and engineers play a critical role is mitigating risks posed by the technologies we have created.  The same risk assessment thinking about quantifying, minimizing and dealing with failure of mission critical systems is what we need to do to take our FLL robot to the next level.

One notable military nuclear accident occurred over NC called the 1961 Goldsboro Incident when a B-52 bomber carrying two Mark 39 nuclear bombs broke up in mid-air and dropped the Mark 39s over Goldsboro, NC.  Each Mark 39 bomb had a yield of 3.8 Megatons or 250 times as powerful as the 16 Kiloton Little Boy detonated over Hiroshima, Japan in 1945.

In 2013 declassified documents suggest that 3 of the 4 arming mechanisms on one of the bombs had activated and only one switch prevented detonation.  If detonated, that single Mark 39 bomb would’ve produced an explosion greater than all the conventional weapons in all wars in history plus the two atomic bombs dropped over Japan.  Thank goodness for the engineers who designed that last safety switch!

Goldsboro_Mk_39_Bomb_1-close-up( The deployed parachute was one of the three systems activated in the Mark 39 )

So it is no wonder that engineers have to design around failure inherent in physical systems like atomic bombs.  Permission Action Links were developed to prevent the unauthorized or accidental arming/detonation of nuclear weapons.  These fail-safe systems incorporate components and/or procedures to safeguard the devices from misuse.   Interlocks are devices incorporated to prevent a faulty system from harming itself.  Redundancy is also an engineering design concept that allows a mission critical system to continue operating in the face of component failure.

In addition, other critical systems like medical life support systems, banking transactions, aerospace and civil engineering structures anticipate the possibility of multiple failures.  These systems are designed to deal with potential failure with fault tolerance strategies and over-engineering.  Over engineering creates a robust system designed to perform well above expectation to drastically reduces the chance of failure.  Fault tolerance allows a system to successfully deal failure that arises ideally allowing for completion of the task, a safe failover to another working system or safe shutdown in a manner called elegant or graceful degragation.


( Good example of over-engineered safety devices for runaway elevator )

Distribution_with_FO_between_dc( Multiple points of fail-over for Oracle Network Directory Service )

Here are two major engineering considerations for building a fault tolerant system taken from Wikipedia entry on fault tolerance:


Providing fault-tolerant design for every component is normally not an option. Associated redundancy brings a number of penalties: increase in weight, size, power consumption, cost, as well as time to design, verify, and test. Therefore, a number of choices have to be examined to determine which components should be fault tolerant:[6]

  • How critical is the component? In a car, the radio is not critical, so this component has less need for fault tolerance.
  • How likely is the component to fail? Some components, like the drive shaft in a car, are not likely to fail, so no fault tolerance is needed.
  • How expensive is it to make the component fault tolerant? Requiring a redundant car engine, for example, would likely be too expensive both economically and in terms of weight and space, to be considered.

An example of a component that passes all the tests is a car’s occupant restraint system. While we do not normally think of the primary occupant restraint system, it is gravity. If the vehicle rolls over or undergoes severe g-forces, then this primary method of occupant restraint may fail. Restraining the occupants during such an accident is absolutely critical to safety, so we pass the first test. Accidents causing occupant ejection were quite common before seat belts, so we pass the second test. The cost of a redundant restraint method like seat belts is quite low, both economically and in terms or weight and space, so we pass the third test. Therefore, adding seat belts to all vehicles is an excellent idea. Other “supplemental restraint systems”, such as airbags, are more expensive and so pass that test by a smaller margin.


The basic characteristics of fault tolerance require:

  1. No single point of failure – If a system experiences a failure, it must continue to operate without interruption during the repair process.
  2. Fault isolation to the failing component – When a failure occurs, the system must be able to isolate the failure to the offending component. This requires the addition of dedicated failure detection mechanisms that exist only for the purpose of fault isolation. Recovery from a fault condition requires classifying the fault or failing component. The National Institute of Standards and Technology (NIST) categorizes faults based on locality, cause, duration, and effect.
  3. Fault containment to prevent propagation of the failure – Some failure mechanisms can cause a system to fail by propagating the failure to the rest of the system. An example of this kind of failure is the “rogue transmitter” which can swamp legitimate communication in a system and cause overall system failure. Firewalls or other mechanisms that isolate a rogue transmitter or failing component to protect the system are required.
  4. Availability of reversion modes[clarification needed]

In addition, fault-tolerant systems are characterized in terms of both planned service outages and unplanned service outages. These are usually measured at the application level and not just at a hardware level. The figure of merit is called availability and is expressed as a percentage. For example, a five nines system would statistically provide 99.999% availability.

Fault-tolerant systems are typically based on the concept of redundancy.


When we began the FLL season, we were all intrigued with the missions and the myriad of amazing mechanical attachments we could device to solve them.  What seemed straightforward and relatively boring was programming the robot to navigate the field:  go straight 720 degrees, turn left 30 degrees, lift arm while going straight another 1080 degrees, etc.  It was as intellectually exciting as doing the hokey pokey.

Only by our second tournament at Districts did we begin to realize the real challenge of the robot was navigation and programming.  The key was not to come up with the most clever mechanism to solve missions, but to program FlopBotZilla to navigate the field while incorporating as many safeguards to account as many things that can go wrong as possible much like the Mark 39.

Our Robot Challenge is far more complex than ensuring an oxygen pump or an electronic bank transfer work correctly.  Both our motors and sensors are notoriously imperfect and subject to outright failure which could easily leave us stranded on the mat or blindly wandering around tearing up missions.  There may be multiple ways to monitor and measure our movements on the mat, but the nominally more accurate methods (eg gyro) generally have a higher error/failure rate.

In the end, we can trust nothing works exactly as programmed, have to assume an inherently large degree of inaccuracy and must program continuous monitoring of our systems and prepare for a number of graceful fail-over strategies.  This is quite an interesting intellectual exercise of anticipating, prioritizing and programming a lot of what-if scenarios.  This is a good case where you can learn much more from (methodically avoiding) failure than (seeking easy) success and it applies to everything from engineering to financial modeling.

RealityPie-Crop-420 ( Einstein didn’t really make that comment about pie )


* To answer Trey’s question, yes – there is a known mishap over Ohio.  On July 13, 1950 a B-50 bomber crashed near Lebanon, OH resulting in a high explosive detonation of the conventional explosives found in a nuclear bomb.  Fortunately, a coordinated nuclear chain reaction was not initiated and such accidents appear far less frequent with today.

** As dangerous as nuclear weapons are, they are inherently limited in scope.  Many nuclear weapons could be detonated on earth and the human species would likely survive albeit scarred.  The prospect of Artificial Intelligent Life arising and eventually rapidly surpassing human intelligence seems inevitable, less containable and profoundly universal in it’s effects on the future of humanity.  One good way to manage such future risks is to have a society with as many individuals as possible who have a deeper understanding of such technology through programs like FLL.

LEGO Mechanisms to Solve the Engagement Mission


As we head to State, it would be nice to make a statement on the robot mat even if winning is out of reach this year.  As a rookie team, it would be nice to plant the flag for next year by conquering the most difficult mission in a clever way.  The Mt. Everest of the missions this year, the one that is conquered the least, it the Engagement Mission.


While many teams successfully flip the yellow engagement bar south for 20 points and even rotate the pinwheel for a few percentage points more, rarely have any teams completely mastered this mission.  The few that have came up with very ingenious yet complicated mechanisms that have garnered a lot of attention, notably Hollis Lightening #969 out of NH (Engagement Mission starting at 2:12):

If the team is up for it, in the 3 weeks we have before our State Tournament, I would suggest we simply clean up our code, improve our navigation, solidify what we have already and have fun taking on an outrageous challenge like this.

We discussed this mission a few times in our meetings, yet have only gotten a 20 percent solution so far.  Let’s step back and reanalyze the problem, decompose it into several major component challenges and brainstorm an even better solution that the one in the video above.

The last time we researched this problem on the web we left off with a harness to engage the mission and a simple reciprocating to rotary mechanism to turn the pinwheel.  We had problems locking the harness to the mission and translating our linear motion to a rotary motion several centimeter above the mat.

Here are some of the videos we researched and a number of new ones potentially related to solving the Engagement Mission:

LEGO Semi-Automatic Rubber Band Firing Mechanism

LEGO Reciprocating Linear to Rotary in Perpendicular Plane

LEGO Cam for Simple Intermittent Rotary Motion

Scottish Yokes (rotational to linear motion)

Stirling Engine (variant in LEGOs)

Whitworth Mechanism (reciprocating to rotary motion, quick return mechanism)

Air Powered Piston Engine (Linear to Rotary or Rotary o Linear powered by Air Flow)

LEGO Steam Engine with Walschaerts Valve Gear

LEGO Steam Engine with Modified Brown Value Gear

LEGO Steam Engine with Southern Valve Gear

LEGO Steam Engine with Marshall Valve Gear

Reciprocating Rectilinear Motion

LEGO Rotational to Reciprocating Linear Motion

Wooden Rack and Pinon

Pushing Rod with Intermediate Rotation

Converting Linear to Partial Rotary Motion

Translating Cam and Continuous Crank Shaft Mechanism

LEGO Continuous to Intermittent Rotary Motion

Rocker Stepped Rotational Motion from Gun Mechanism

LEGO Rubber Band Windup Motor

LEGO Planetary Gear System

Geneva Mechanism

(Just Joking)


As in any software development process, let’s completely think through possible solutions and map out the best overall strategy before we touch a brick.  Too much bad code, unused attachments and wasted time have been lost this season jumping the gun before we have clearly thought through and developed a complete plan.


Robot Does Not Work like we Programmed It, like At Home, like on Practice Tables…

frustrationOne of the most frustrating things this season has been entering the year with false expectations about robot performance and reliability.  When our kids first reported problems with our NXT I told them 99% of the time they run into erratic behavior it’ll probably be user error.  This is only a slight exaggeration based upon my experience as an engineer and technical manager in Silicon Valley.

However, early in the season when I tried to replicate their issues I was utterly frustrated by the results.  Still believing user error was the most probable explanation, we burned much valuable time trying to extract a precision and reliability that is just not inherit in the NXT.   By the time we upgraded to the eV3, we began to realize that LEGO Mindstorms Kits are not mil spec and a good part of the FFL challenge was selecting a mission solution/attachment that minimized reliance on precision movements and sensors.

The FLL Boards have a good thread on this and a senior member on that board, Dean Hystad, has repeatedly informed rookie coaches of this bug/feature of FLL.  Here is one of his many great explanations:

Recipe for reliable missions

I noticed that some of the most frequently viewed posts have titles mentioning problems wit robot turns. Looking back in the archive I see the same was true last year and the year before. Lots of problems with robot turns.

My girls didn’t have many problems with robot turns. Not because they came up with a magical solution that makes the robot drive laser straight and do perfect turns. They didn’t have many problems with turns because they didn’t assume the turns are ever going to be perfect and designed solutions that don’t depend on perfect turns.

The girls had a rule of thumb of no more than two turns without some sort of navigation fix. A looser rule of thumb was no turn required to be more accurate than about 5 degrees and no move required to be more accurate than 5 cm. Put those together and you get missions that will work with a broken Tribot. Their equation for success:

Great Strategy + Good Programming + Crummy Robot = High Score

What I see many teams attempt is this:

Great Robot + OK Programming + Crummy Strategy = ???

Design and programming cannot overcome a bad strategy. Great robots are REALLY hard to build. Programming can’t contribute much when it operates in a vacuum (no information).

The cool thing about game strategy is all you need is logic and creativity. No programming or mechanical design knowledge required. Make up silly challenges and have the the team brainstorm solutions. Can you come up with a reliable way to win “Pin the Tail on the Donkey”? If the first round of suggestions doesn’t include “Remove the Blindfold” you need to break up that box they are thinking inside.

The first year my girls competed there was a mission to put a marble in a slot in a bone (deliver the cancer medicine). The bone was about 18″ from base. Try as hard as they might the mission hardly ever worked. At the qualifier they came in 3rd for robot design and 2nd for programming. The cancer mission failed every time and they finished in the lower half of the robot game.

Good Programming + Good Robot + Crummy Strategy = Poor Success.

At the tournament they saw a team that used a cool attachment that lined the robot up with one of the field models. Neat idea. Wonder if something like that would work with the bone? At the next meeting they tried a few variations on this theme and every one delivered a near 100% success rate. The same robot, the same program, a better strategy and a completely different result.

Good Strategy + Good Programming + Good Robot = Great Success.

Later, to save time, the girls removed some of their sensor use on close missions and added some to combine longer missions. The Cancer mission became a dumb odometry program that used the cool attachment to compensate for error. Even with a weak program the mission was still very successful.

Good Strategy + Good Robot + Poor Programming = Great Success.

I didn’t test the solution with a crummy robot, but I think it would have been successful on any platform that didn’t fall apart in route.

I only wish we had run into Dean’s numerous comments about this aspect of the robot game earlier in the season.  Yet, we would’ve missed out on one of the many invaluable lessons Rookie teams only learn through hard knocks.




Are You a Meatbot?


free willThroughout our FLL season, we’ve talked about how technology (eg: robotics, Artificial Intelligence, Machine Learning, etc) is rapidly advancing, estimated to surpass human intelligence by 2045 based upon Moores Law (Kurtweil) and potentially represents the greatest threat to the human species (Hawkins, Musk).  As future scientists, engineers or merely technologically well informed citizens of the future, you will certainly live through interesting times.

Time The Year We Become Immortal

However, we haven’t explored this phenomena from another interesting perspective.  While technology may be rapidly evolving to surpass human intelligence, perhaps humans merely represent an arbitrary level of complexity along a continuous spectrum of intelligent life forms. We happen to be slowly evolving life forms based in the biology of carbon.  Computers are a rapidly evolving life form based upon the physics of silicon (or other materials).

In fact, a number of credible intellectuals theorize that if we do find (super) intelligent life elsewhere in the universe, it is likely to be artificial life unlike the carbon-based organisms like humans and other life on Earth.  Based upon humans’ experience with technological evolution, they argue:

“The reason for all this has to do, primarily, with timescales. For starters, when it comes to alien intelligence, there’s what Schneider calls the “short window observation”—the notion that, by the time any society learns to transmit radio signals, they’re probably a hop-skip away from upgrading their own biology. It’s a twist on the belief popularized by Ray Kurzweil that humanity’s own post-biological future is near at hand.”

That “hop-skip” goes like this:   (1) radio signals + 50 yrs -> Computers, (2) Computers + 50 yrs -> Artificial Intelligence, (3) AI + 100 yrs -> self modifying AI that rapidly evolves beyond human cognitive ability.

Many philosophers, theologians and scientists have long argued over the centuries the question of human free will.  More recently, some notable intellectuals have argued humans are merely robots built with meat (carbon-based instead of silicon), operating in meatspace (physical vs virtual worlds) and programmed with meatware (neurons vs gates/circuits).  Such individuals include luminaries from Albert Einstein to Stephen Hawkins who have viewed life and humans subject to laws of physics/nature that determine, given the starting condition, the future state of human cognition and behavior much like we can predict the behavior FlopBotZilla on the FLL competition mat (but with 100% precision).

The argument goes as humans we only mistakenly believe we have free will and an eternal spirit transcending the material because of the illusions created by our limited cognitive ability.  Just because we cannot cognitively understand the rules governing humanity will does not mean such rules do not exist.  Such ignorance of these rules do not make  human thought, feeling and actions non deterministic.

What appear as free-will in the unpredictable nature of every human are in fact just the inevitable consequence of deterministic gene, environment and complex laws governing human cognition in every situation.  Human cognition and behavior is based in physical reality of our biology so, despite our inability to understand our own “programming”, we are just very complex machines executing the code (genes, environment, etc) we are given.

A number of well-reasoned counter arguments exist as well that address part or all of this line of reasoning or offer a largely different explanation altogether.  One example is Compatibilism which view Free Will and Determinism as compatible ideas.  Another more subtle critique of Determinism is given below by MIT philosophy professor Richard Holton