どうも、SpiralRayです。
SH-2AにTOPPERS/ASPというリアルタイムOS(以下RTOS)を搭載しました。
RTOSによってマルチタスクが可能ですよっ!
現在のタスクの状況は
- メインタスク(ボタンの処理、UARTの処理、タイマ処理)←いずれ分離します
- 画像解析タスク(ライントレースの全部分を担っています)
- LCD表示タスク1
- LCD表示タスク2(LED点滅付)
となっています。
動画に映っている画面の左上で点滅しているのが、LCD表示タスクの処理です。1秒周期と3秒周期の点滅があります。
前回のロボカップのサッカーロボットでは、AVRでFreeRTOSというRTOSを使おうとしましたが、AVRの処理速度の問題で使用を断念したのですが、SH-2Aは144MHz、ATMega644Pを使用していましたがその7.2倍もの速度がっ!(単純に比例して速くなるわけではないですけどねー)
RTOSを乗せ、さらに、モーター制御にPWMを使用できるようになりましたっ!
前回乗せた動画では、10msモーターを動かすごとに停止するというガッガッと小刻みに動いていく使用になってしまっていたわけですが、PWMによってなめらかに動くようになりました。
とはいってもライントレースのプログラム自体はほぼ改変していないのでユラユラ揺れながらラインをたどっていくようになってしまっています。
水曜日にPD制御を取り入れる予定です。
それではまた。
RSS feed for comments on this post. TrackBack URL
RTOSを使いこなすとは、すばらしい、
カメラを広角にしてみたらどうでしょうか?
コメント by gingax — 2010年11月29日 @ 22:09
NTSC形式のカメラを使用出来るのですが、すでに結構広角なものを使用しています。
一応今の下へ向けている角度でも1m先くらいまではライン認識出来そうな感じです。
一般的なラインセンサーよりかなり前の部分しか視認することができないので、単純なプログラムでは急なカーブはなかなか対応できないので、先の方まで見れるようにして安定して曲がることの出来るようにしたいと思います。
コメント by spiralray — 2010年11月29日 @ 22:25
ああ、そんな複雑なものを使いこなせるとは…とてもうらやましい。
コメント by kuro — 2010年11月29日 @ 22:56
Interfaceのサンプル弄って後はなんとか…
RTOSはインターネットの情報、サンプルプログラムと少しの慣れで、C出来る人なら誰でも使えると思いますよ。
とはいいながらハードの初期化で自分の手に負えない状態だったんですが…w
コメント by spiralray — 2010年11月30日 @ 00:08