マイコンカーラリー

JMCR2009

2009/1/11 札幌国際情報高等学校にて開催されたジャパンマイコンカーラリー2009にて、Smalight OSを搭載したマイコンカー『走れ早川』号が出走しました。

Smalight OS搭載マイコンカー『走れ早川』号

Smalight OS搭載マイコンカー『走れ早川』号

マイコンカーへリアルタイムOSを導入

リアルタイムOS導入の背景

マイコンカーラリーではリアルタイムOSはほとんど導入されていませんが、その要因として、以下の理由が考えられます。

  • 対象マイコン H8/3048F-one の搭載メモリが少ない
     (リアルタイムOSを導入するとメモリが不足する)
  • 高速で制御するマイコンカーではOSオーバーヘッドが障害になる

※OSオーバヘッド:OSが実行される処理時間やOSが動くために必要なメモリ領域

Smalight OSは少ないメモリ容量で動作できるリアルタイムOSで、H8/3048F-oneのメモリ容量でも十分に導入できます。
また、OSを導入する以上OSオーバヘッドは避けられませんが、アプリケーションをタスク分割することで開発効率や保守性を向上させることが出来ます。
今回、パフォーマンス向上というよりは、適切なタスク設計によりマイコンカー制御の機能を分割することで、見やすく、デバックしやすいプログラム構造を作ることを目的に、あえてリアルタイムOSを導入してみました。

システムのモデリングとタスク構成検討

はじめにシステムの論理モデルを検討し、その結果からタスク構成を検討していきます。
タスク間通信部、ドライバの定義も明確にしていきます。



システムのモデリングとタスク構成

タスク実行時間の十分性検討

次に、実際のシステムの目標性能を満足させるために各タスクの実行時間の十分性を検討していきます。
例えば、白線センサ読み込みの目標値250μ秒を実現するために、各タスクの実行時間、実行周期と実行タイミング等をよく考慮しながらSmalight OSのサービスコールを使ったタスク間の同期の取り方を検討します。
(現時点ではタスク間のデータ通信については考慮していません。)



タスク実行時間

タスク間データ通信の検討

次にタスク間のデータ通信について検討していきます。
タスク2(コース状況解析)からタスク1(制御タスク)へは以下のデータを通信する必要があります。

  • ハンドル角度
  • モータ速度(モード)

Smalight OSが提供するタスク間データ通信機能はイベントフラグとデータキューの2つですが、上記の2つのデータを通信するにあたり、データ長とオーバヘッドを考慮した結果、グローバル変数を使ったデータ通信が適していると判断しました。



タスク間データ通信の検討<

このように、これまでOS導入が難しかったマイコンカーに対して、私共は、あえてOSを導入し、リアルタイム性の検討やタスク間の同期・通信を考慮しながら実装検討を行い、実際にSmalight OSを実装したマイコンカーを走らせることに成功しました。

JMCR2009レポート ダウンロード

本レポートは、Smalight OS搭載マイコンカーの開発工程をまとめたものです。

 2017年5月1日を以ってルネサス セミコンダクタ パッケージ&テスト ソリューションズ株式会社の半導体製造装置をはじめとする各種産業用制御ボードの受託開発・製造および画像認識システム開発・製造・販売事業をマクセルホールディングス株式会社へ譲渡したことにより、当該事業はマクセルホールディングス株式会社の子会社として新設されるマクセルシステムテック株式会社に承継されております。
従いまして、本レポート中には、旧社名での表記が残っておりますが、当社の資料として有効ですので、ご理解の程宜しくお願い申し上げます。

※本レポートのお問い合わせ先(E-mail)は、2017年5月にsoft-support@maxell.co.jpへ変更致しました。
誠にお手数ではございますが、今後は上記E-mailアドレスへお問い合わせ下さいます様、お願い申し上げます。

レポート 発行日 サイズ
JMCR2009レポート Smalight OS搭載マイコンカーラリーの開発 Rev1.00 ‘09.4.16  571k

このページのトップへ