http://monoist.atmarkit.co.jp/fembedded/articles/robocon/etrobocon2009/06/etrobocon06a.html