下段のRCXに組み込んだメインのプログラム。ロボット自体はフィールド上の7個の牛乳パックを運べるよう作っているが、プログラムのほうはは調整が間に合わなかったため、とりあえず6個運ぶところまで書いたもの。下段のRCXには駆動用モータ等、アーム以外の全ての機器が集約されているため、それら全てを制御するこのプログラムは長い。移動は、牛乳パックをつかむ位置の微調整を除いて、全てライントレースを用いている。ロボット自体が比較的速く動くため、センサの反応がわずかでも、しっかり判定できるよう、黒線検出のセンサ値は高め(トレース時は48以下を黒線上と判定)に設定している。交差点の通過時は、一度センサ判定を止め、0.2秒前進して横線を越えてから再びセンサによるライントレースに戻る方式を採っている。その度にいちいちライントレースの命令文を書くのは面倒なので、ライントレースはサブルーチン(trace())にまとめ、交差点まで進む命令になっている。次につかむ牛乳パックが何個目であるかを変数getとし、判別する。初めは1で、牛乳パックを置いたときにプラス1。1つ目を入れたら2つ目を、2つ目を置いたら3つ目を取りに行くという寸法である。†アームの根本につけた光センサによって、変数placeの値を変化させる。この変数は交差点を越える回数で、「移動」の項で書いた命令をrepeat(place){}で繰り返させ、目的とするカゴの前まで移動する。変数getの値が3〜5のときは、つかんだ牛乳パックは床上に置いてあったものなので、カゴに入れる前に車体を上げ、持ち上げてからカゴの上に移動、カゴに入れるようにしている。実は発表時、「センサ2は光センサである」という宣言を書き忘れていた。