TOPシステム開発> 第4回:リソース制約対応とプログラム開発管理 (2/3)




LEGOから学ぶ組み込みシステム開発のキホン

LEGOから学ぶ組み込みシステム開発のキホン

第4回:リソース制約対応とプログラム開発管理

著者:日本ビクター株式会社 山岸 亨

公開日:2008/04/09(水)

どの電池を選ぶか?放電特性を考慮せよ

まっすぐに進むという単純な動作に関しても、FLLにおいては高い精度が要求される。その精度としては、1mに対してわずか1cm程度の誤差を要求されることもしばしばである。ここにおいて電池電圧が問題となってくる。電池にはさまざまな種類があり、放電特性も異なっている。

モーターを駆動して大電流を流すということからマンガン電池はすぐに寿命が来るため適していない。このような用途に対して最も一般的なのはアルカリ電池である。なお、他の選択肢としてのニッケル水素充電池は放電途中での一定電圧の時期が長いが、一定電圧時の電圧が低いので今回は使うのを見送った。

ここでアルカリ電池の特性を見てみることにする。なお、RCXのコントローラの電源には単三電池6個を使用するため、定格電圧は9Vである。図2(1)はアルカリ電池で一定時間ロボットを前進するプログラムで何回も試行した時の電源電圧の測定結果の例である。電源電圧はRCXのプログラムで取得できるので、それをRCXの液晶パネルに表示させ、測定した。新品の電池から始めて、モーターのパワーが弱くなる約8Vまでの間の試行回数と電源電圧の変動の様子をグラフにしたものである。

これを見ると昼食による測定の中断(図中の試行回数151と201の間)で一旦回復しているものの、なだらかに下がっていることが分かる。最初の下がり方が急激で、だんだんなだらかになる特性である。ここで注意すべき点は、アルカリ電池の場合は電源電圧が一定の電圧にとどまることは無く、常に変動するということである。したがって、こうした電源電圧に依存しない形でのソリューションが強く求められる。

とはいっても電圧が下がるとパワーが下がり、それに伴い当然同じ距離を進むのに時間がかかるようになる。よって8.8Vから8.3V位のレンジにおいて正確に動作し、仮に電圧がもう少し下がっても時間はかかるが正確に動作するという方法を採るのが一番良いと考えられる。

図2:試行回数と電圧の関係と電源電圧と走行距離の関係
(画像をクリックすると別ウィンドウに拡大図を表示します)

ロボットを止めろ!

一方、図2(2)は電源電圧と走行距離の関係を表す。この測定プログラムは、単に一定時間走行し、そこでモーターを単に停止させているだけで、回転センサによる制御や、ブレーキなどの工夫は何もしていない。

グラフから分かるように、走行距離は同じ電源電圧でも中心値に対し約5cm程度のぶれが生じる。この測定では8.5Vまでしか測定していないが、それ以下の8V程度の電圧までの予測も加えると、10cm以上ものばらつきが生じることになる。

先ほども書いたように、1mに対して約1cmのばらつきしか許容できないミッションもあることを考えると、単に一定時間でモーターを止めるという制御方法では、まったく精度的には不足していることが分かる。では、どのような止め方を考えるべきか。

このような問題の対策としては、まず回転センサを使って、目的の距離までを計るという方法がある。これは、回転センサで特定の距離だけ進んだところでモーターの駆動を停止するものである。しかし、早く目的地に到着するためにモーターを最高レベルの5のままで走行し、回転センサが一定の値になったらモーターを止める方法を採るだけでは、どうしても行き過ぎが生じる。

目的の距離で止められない最大の要因は止める前の速さのばらつきにある。速さvで走行する質量mのロボットの持つ運動エネルギーはmv^2/2であるので、速さが大きいほど行き過ぎる距離が大きいことになる。

そこで、止める直前の速さをいかに抑えるかということが課題になる。目的地に着くかなり前からモーターを駆動するレベルを落とす。こうすると自動車で言うエンジンブレーキが働き、徐々に減速することができる。理想は止まる位置での速さが0になるように減速することである。

ただしレベルを落とすと言っても極端に落とす訳ではい。ロボットが重いとモーターをレベル1で駆動しても動き出さないことがある。減速する時も動き出すレベル以上にしておかないと、目的地の手前で止まってしまい、動き出せずに永久にたどり着けないことになる。電源電圧が下がっても動き出す最低のレベルで減速をかけることが、正確な距離で止めるために重要である。

続いてチームでのプログラム開発において必ずぶつかるバージョン管理、コーディングルールの問題を解説する。 次のページ


前のページ  1   2  3  次のページ


日本ビクター株式会社 山岸 亨
著者プロフィール
日本ビクター株式会社 山岸 亨
1983年東京大学工学部卒。同年日本ビクター(株)入社。以来光ディスク、テレビのICやソフトウェア開発など組込み系開発に携わる。現在技術本部ディビジョン技術開発センターにて国内液晶テレビのソフトウェアの開発に従事。FLLにはチーム「Edisons」のメンターとして参加。2005年度、2006年度と世界大会進出し、特に2006年度欧州世界大会では総合2位を獲得。


この記事の評価をお聞かせください
ボタンをクリックしますとウインドウが開きます。

INDEX
第4回:リソース制約対応とプログラム開発管理
  リソースの制約に挑む
どの電池を選ぶか?放電特性を考慮せよ
  最新バージョン、最高バージョンを管理するために
LEGOから学ぶ組み込みシステム開発のキホン
第1回 これがLEGOのロボット競技会FLLだ!
第2回 環境をセンスし、その内容に基づいて制御
第3回 ハードウェアとソフトウェアの協調設計
第4回 リソース制約対応とプログラム開発管理
関連記事
最強ロボットを作れ!−FLL挑戦記
小さな日本代表が世界へ!−FLL実況レポート