走行制御コントローラ

走行制御コントローラは、ハードウェアのリアルタイム制御を行います。ハードウェア制御のための機能は SH7045F の IO を用い、経路追従のためのソフトウェアも同プロセッサ上で動作させます。

ソフトウェアのレイヤー構成

!!! 図、ソフトウェアのレイヤー図

レイヤー構成については !!! 本 を参考にすること。
基本的に、プログラムのソースコードはレイヤー内の機能毎に分割されている。


デバイス・レイヤー

モータの回転制御とエンコーダ回転数の計測を行う。
走行制御コントローラの SH7045F 依存の実装は、このデバイス・レイヤーのデバイス制御処理と、タイマー、シリアル通信処理以外にはない。

このレイヤーの実装については以下の通り


フレームワーク・レイヤー

本レイヤーにおける、具体的な実現項目は、以下の通り

具体的な処理内容の一つは、デバイス・レイヤーで使われているデバイス依存の数値を、[mm]単位系に変換することであり、その逆変換を行うことである。
また、推定自己位置の計算や車輪の直径やトレッドといった筐体のパラメータ情報はこのレイヤーまでで処理し、上のレイヤーには [mm]単位系の情報を提供する。

ここで、並進速度($ V_{straight} $)とは移動の直進成分であり、回転速度($ V_{rotate} $)は向きの変更を行う速度成分である。 車輪の移動速度を $ V_{right} $, $ V_{left} $, としたときの並進速度、回転速度の式は以下の様に表される。

\[ V_{straight} = \frac{V_{right} + V_{left}}{2} \]

\[ V_{rotate} = \frac{V_{right} - V_{left}}{2} \]

上記の式は、制御レイヤーで用いる速度を計算するときに用いる。
回転速度を積分した回転量を筐体の向きに変換するには、筐体のトレッド情報が必要である。

!!! 図、トレッド情報が回転速度の計算に必要なのを示す図

また、制御レイヤーから実現すべき並進速度、回転速度が与えられたときの各車輪の回転速度は、以下の通り。

....飽きた。あとは口頭で。


制御レイヤー


制御マネージャレイヤー


ユーザインターフェース・レイヤー

以上です。

Generated on Mon Apr 13 22:52:06 2009 by  doxygen 1.5.7.1