Filed under:
SH-2A
SH-2Aで日本語フォントのロード、表示に対応しました。
日本語フォントは255KBもあるので、SDからロードしていますが、いくら1MBの内蔵RAMがあるSH7262でも少しきついのでは…?とおもっていたりします。
プログラムは後日公開します。
Filed under:
SH-2A
こんにちわ。
試験も終わって久々の更新です。
今日は二つのタスクをクリア。
- STBeeで加速度センサーの関数が完成
- T-SRSの外部メモリを使用して動画を再生
この2点です。
加速度センサーの方はI2CのAVR互換ライブラリを作成しておいたので5分ほどで終了。
動画再生には何段階か苦労がありました。
必要であったことは
- 圧縮されている動画から、無圧縮のRGB565形式の320*240画質の連続データに変換
- 外部RAMの32MBに対してできる限り(200コマ)を読み込み
- 順番に再生(タイマで再生スピードを調整)
この3段階です。
1段階目はあらかじめ試験前に作っていました。
aviから変換できるプログラムをC#を使って作成しました。
ビットマップ表示機能を搭載するより以前に、画像データを同じ形式に変換するプログラムを作成していたので、少しいじくるだけで完成しました。
2,3はマイコンいじくるだけなので省略。
SD関係はもちろんFatFs使用。
動画再生の様子を上げておきます
15fpsで作ったので、200コマでも13秒分しかはいらないんですよね…
作ったはいいが、北斗or若松LCD拡張ボードでのサンプルが既にダウンロード可能らしい…
もっと速くやっときゃよかった(笑)
けど、プログラムはバイナリしか公開されていないっぽいですね。
参考にならない…orz
明日からはサッカーとレスキューと平行してやっていこうと思います(両方機体がないw)
Filed under:
SH-2A
こんばんわ。SpiralRayです。
まずはこれをみてください
今日プログラムを変更したカメラによるライントレースロボットです。
一昨日より2~3倍ほど速くなっているのではないでしょうか?
とはいってもコースが簡単であるだけであって、本当は問題は山積みです。
まず、PD制御を取り入れたつもりが、センサー値が負のときに変な動作をする。
原因はおそらく、符号が必要な変数がunsigned型になってしまっているのだとおもいます。
これのせいで、PD制御が、ラインがカメラの左半分にあるときしか働いていません。
次に、直角や急なカーブの部分の処理がかなり雑であると言うこと。
カメラでのライントレースはラインセンサーを使用するよりかなり前方のラインしか読むことができないので、速度を落とさずに旋回するときに(工夫しないと)ラインが見えなくなります。
今回のこのプログラムは、ラインが見えなくなったときには前回のモーターの速度をそのまま維持するだけというかなり雑な作りとなっています。
主な問題としてはこの二点です。
金曜日にPD制御の部分は直したいと思います。
土曜日からは試験準備期間、および試験期間があるので、2週間部活動はできなくなります。
それではまた金曜日に(?)
ちなみに、金曜日にはこれよりさらに速くライントレースができるようになっているはずです。はず…
12/3日追記
現段階のソースコードの一部を公開しておきます。
とはいっても本当にたいした処理をしていないのでがっかりするだけですけどね。
camera_linetrace
PID制御うまくいきました。やはり原因はunsignedでした。
計算式中にunsignedの変数が入っていて、そこでマイナスじゃなくなっていました。