名称 MG3S デモ機2014デモ競技会用プログラム
番号 MIRSMG3D-MG3S-0020
版数 最終更新日 作成 承認 改訂記事
A01 2014.10.3 牛丸 初版
A02 2015.7.9 牛丸

目次

1. はじめに
2. デモ機について
3. プログラムソース
4. プログラム構造
5. 動作シナリオ
6. デモ競技走行の動画
7. 留意点
8. 関連文書

1.はじめに

本ドキュメントは、デモ機に搭載したMIRS2014のデモ競技会用のソフトウェアについて記載したものである。 なお、ここに示すデモ競技用プログラムは、標準プログラム Ver2.1.1 を使用して作成した。(Ver2.2.0, Ver2.2.1 でも 変更なしで利用可能)
デモ競技会のルールは、 MIRS14CP 一日体験入学デモ競技会競技規定を参照のこと。

2.デモ機について

デモ機は、第2世代のMIRSの走行系を用いたものである(写真1参照)。
標準機とはシャーシおよびタイヤ系が一回り小さく、使用しているモータおよびエンコーダが異なっている。モータ・エンコーダ共MAXON製のもので、標準機のモータと比較すると duty-回転速度のリニアリティに優れている。また、エンコーダはモータ軸直結で100PPSのものを使用している。このため、標準機では走行系のパラメータはここに示すソースの値をそのまま用いることは出来ない。


写真1 デモ機
(前面の超音波センサを取り外した状態)

3.動作管理モジュール

MIRSの競技中の動作全体を管理するモジュール(pilot)を、デバイスのオープンのスレッドの生成 のみを行う部分 pilot と、巡回動作のシーケンスを管理する mirssa_patrol に分割した。 pilot()はデバイスオープン、スレッド生成を行ったあと、mirssak_patrol()を呼び出し、 巡回動作がスタートする。

pilot (pilot.c) と mirsak_patrol (mirssak_patrrol.c)モジュール以外は、mg3s_std_v2.* のモジュールを利用する。

ソースファイルのリンク

4.プログラム構造

プログラムは標準プログラム Ver2.xを使って作成されており、プログラムのモジュール構成は最上位の操作者モジュール(pilot, mirsak_patrol)の部分を除くとMG3S 標準プログラム 設計仕様書のモジュール構成・構造と同じである。
デモ競技用のプラグラムのモジュール構造を図1に示す。モジュール内に示す関数はモジュール間で利用する関数である。

図1 デモプログラムのモジュール構成

main関数(pailot.c)では、デバイスファイルののオープン、スレッド(vel_ctrlスレッドおよび encoder スレッド)の生成のみを行って、mirsak_patrol()を呼び出している。misak_patrol()が、MG3S 標準プログラム 設計仕様書のモジュール構造の「操縦者」に対応している。

5.巡回動作シーケンス

巡回動作シーケンスを図2のフローチャートに示す。このフローを mirsak_patrol() に実装している。

図2 デモプログラムのフローチャート

6.デモ競技走行の動画

デモ競技走行(動画)

7.留意点

7.1 実装上の留意点

7.2 運用上の留意点

8. 関連文書

MG3S 標準プログラム設計仕様書

MG3S 標準プログラム関数レファレンス

MIRS14CP 一日体験入学デモ競技会競技規定

MIRSデータベース