Proceeding

競技用ロボットにおける制御回路とプログラムの開発
Development of Control Circuit and Program for Robot Contest
電気工学科 5 年 14 番 熊谷貴明
1
はじめに
市販
コントローラ
ロボットの動作を競うコンテストに出場する競技用
ロボットの開発は, 少人数による製作や資金が乏しいな
ど障害が多い. 特に部活動のようにチーム編成が毎年
変わっていく場合, 技術継承を含めたチーム自体の開発
能力の維持と向上は重要な課題となる.
そこで本研究では, 開発上の制限が多い競技用ロボッ
トに関して, 競技用に適したシステム構成と開発環境の
構築を行い, 競技用ロボットの開発手法を考察する.
2
制御回路構成
制御回路は競技ルール等に合わせて構築すべきであ
り, 製作済み回路の再利用が期待できる. 制御回路は Fig.
1 に示すように機能別にモジュール化を行い, モジュー
ル同士の接続に予め定めた規約を用いる. モジュール
化により, 回路のメンテナンス性, 再利用性を向上する.
Fig. 1 で示した回路構成は, 複数の異なるモータを制
御することを考慮してある (文献 [1] を参照). また, コ
ントローラ及び受信機においても, 電波無線や赤外線を
利用した遠隔操作システムを構成でき,競技用ロボッ
トの構成に柔軟性を確保する.
3
制御プログラム構成
制御基盤に搭載するマイコンは, 受信機の入力, 各セ
ンサ類の入力, ドライバへの出力を処理しなければなら
ない. 制御プログラムは, 非同期で動作しメッセージで
データを送るタスクを, 制御信号受信, 出力遮断, ドラ
イバ出力, 受信状態の表示の 4 つを用意し, 各タスクの
実行条件を記述するタスクマネージャを配置する (文献
[2] を参照).
次に, 制御回路の入出力を処理するプログラムが必要
だが, それらは制御基盤に接続される受信機やドライバ
に合わせてそれぞれ用意する. 各タスクで入出力デー
タ表現と内部データ表現の変換と実際の入出力処理を,
制御基盤に接続する各モジュールごとに製作する. ま
た, 他のセンサを制御回路に加える場合はセンサ処理専
用のタスクを用意し入力処理を行う.
4
プログラミング言語と開発環境の選定
マイコンのプログラム開発では, アセンブラ言語また
は C 言語が使用されることが多い。アセンブラ言語に
よる開発では,プログラムの肥大化と難読化が大きな
問題となった. これにより開発負荷の一極集中と複雑
なプログラム記述によるバグ発見の遅れなどが生じ, 開
発期間が長くなる原因や技術継承の障害となっている.
今回提案する開発手法では, プログラムの再利用性及
び可読性の向上のため, プログラミングを学習する上で
の標準的な位置づけである C 言語で開発を行う. 使用
するマイコンは入手が簡単で価格の安い PIC18F1320
とし, 開発環境は MPLAB IDE, C 言語コンパイラには
PIC C18 Compiler を使用する (文献 [3] を参照).
指導教員 河合康典
電波
無線
無線
受信機
DCモータ
ドライバ
制御
基盤
自作
コントローラ
赤外線
無線
自作
赤外線
受信機
DCサーボ
モータ
ドライバ
Fig. 1: 回路構成図
5
製作実現と考察
前述した設計に基づいた制御マイコンの開発を行っ
た. 開発には 4 日程度を費やし, アセンブラ言語による
開発時に 1ヶ月必要としたに比べ, 開発期間を大きく削
減できた. また, プログラムの可読性が向上され記述ミ
ス等によるバグの発見等も早くなった.
しかし, 逆アセンブル結果を検証する限り, PIC C18
Compiler が生成するプログラムは最適化が不十分であ
り, プログラム規模の大きさによっては低価格のマイコ
ンには使用できない懸念がある. コンパイル時のオプ
ションを様々試したが改善の兆しはなく, コンパイラの
限界と考えられる.
6
検討課題
C 言語で開発を行いに際し, 生成されるプログラム
の速度, サイズにおけるパフォーマンスの改善が必要で
ある.
今回使用した C 言語コンパイラである PIC C18 Compiler の他に, C 言語コンパイラは幾つか存在する. 今
後の課題として,今回とは異なる C 言語コンパイラを
用いた開発環境の構築によるパフォーマンスの改善が
必要である.
7
おわりに
本研究では, 競技用ロボットにおける模範となる開発
手法を提案し, 実践を行った. 結果, 少ない資金で開発
期間の大幅な削減と,プログラム記述の簡易化を実現
し, 競技用ロボット開発において十分に運用可能である
という結論を得た.
しかし, 実際に運用するにあたっては, コンパイラの
性能に懸念があるという不安があり, 今後これを解消す
ること目的とする.
参考文献
[1] 谷腰欣次, DC モータの制御回路設計 (第 3 版), CQ
出版社, 1986.
[2] 西村輝一 ほか, 二足歩行ロボットのモデルベース開
発, オーム社, 2005.
[3] 後閑哲也, C 言語による PIC プログラミング入門,
技術評論社, 2002.