机から落ちない車2

机から落ちないだけで結構難しい。まあ僕がダメダメなだけなんだけど。
タイマー挟んだ結果、まっすぐに机のふちに突っ込んでいったとき、うまくバックせずに突っ込んで落っこちる特攻野郎になってしまった><
考えてみれば当たり前。センサーが all off する前には一瞬、どれかが先に off になる。同時に全部がいっぺんに消えるなんてことはめったに無い。だからちょっとだけ反対にハンドルを切って逃げるルーチン、が先に選択されてしまう。そこでタイマーで何秒かその動作を続けるようになっているため、バックするルーチンが呼び出される前にその時間だけその状態でホールドして突っ込んでしまう。で、そのままの勢いで、一気にチキンレースの犠牲者となってしまっているようだ。
シングルスレッドでロボット制御するのは難しい。さらに内部変数とか使えないので、状態を持たせることも難しい。結局過敏設計にせざるを得ない。実際(今更、と怒られそうだけど)サンプルファイル「かんたんそうこう」の設計を見てみるとタイマーなんて使わずひたすら全力でビジーループして全条件を網羅する、というアンチ省エネな過敏設計になっている。