ロボの知覚をベンチマーク

二足歩行に限らず、ROBOは各種センサーの出力で姿勢等を補正しつつモーションをこなす。センサーの性能や精度はともかく、プログラミングの基本情報としてセンサーのアクセスに要する時間を調べた。(電気羊の夢を見るまで、先は長いが進もう)

実験方法
  • センサー出力を取得するAD()命令を1000回ループするプログラムをロボに組み込み、その実行時間を計測。
  • ループの開始と終了はMUSIC命令で教える。
  • FORループのみ1000回実行する所要時間を差し引いて、AD()に要する正味時間を得る。


結果
  • 右欄のリストで、ラベルk2の処理がFORループのみ、k3がAD()1000回ループで、所要時間はそれぞれ8.5秒と14.5秒。

  • 以上の結果から、AD()の所要時間は約6ミリ秒となる。

  • ちなみに、同じ手法で得たREMOCON()命令の所要時間は約260ミリ秒(右欄のラベルk5)。なるほど、連続歩行時に1歩毎にリモコン命令を受け付けるとモタツキ感が出るのも無理ない。
'ROBOBASIC、A,i,i2はBYTE変数

k2:
 MUSIC "C"
 FOR i = 1 TO 4
  FOR i2 = 1 TO 250
  NEXT
 NEXT
 MUSIC "C"
 GOTO main_exit
k3:
 MUSIC "C"
 FOR i = 1 TO 4
  FOR i2 = 1 TO 250
   A = AD(2)
  NEXT
 NEXT
 MUSIC "C"
 GOTO main_exit
k4:
 MUSIC "C"
 FOR i = 1 TO 4
  FOR i2 = 1 TO 250
   A = AD(6)
  NEXT
 NEXT
 MUSIC "C"
 GOTO main_exit
k5:
 MUSIC "C"
 FOR i2 = 1 TO 100
  A = REMOCON(1)
 NEXT
 MUSIC "C"
GOTO main_exit  

※この記事が何かのお役にたつことを願っていますが、記事内容についてのいかなる保証もしません