ノード3日前
ノード3日まえなのにロボットができていなくて焦っていますね。
今設計しているのはロボットのメイン基板です。メイン基板にはパラレル通信を採用して爆速で通信させることで実現させるデュアルコアもどきを今回のロボットに搭載する予定でした、、
が以外にもパラレル通信よりもSPIの方がバッファ扱えるし、早いし、割り込みかかりまくってもうまいことデータを保存してくれる(言い方に問題あるけど)なのでSPIを利用する方針となりました。SPIなら昨年の研究結果より一方通行なら可能であることがわかっています。。しかしSPIをするのであれば全てをSPIにしてやればシリアルピンが足りないからデュアルコアもどきをしなくてよくなります。マルチプルSPI通信ができないことが問題なので少し問題が違います。多分mbedを使うのならば一生月まとう内容なんだろうなと思いました、
まあ早い通信を使えるところだけ使っておく、というのも一応前回よりはimproveしているので問題はないです。正直、動けばいいですし。馬場くんもSPIに挑戦したらしいですが、結局メイン舞い込んでボールを読んでいたので動けばいいと、そう言うことです。
一応現在の進捗具合までを記録として残しておきます。

基板設計をしているんですけど、デュアルコアにする理由ってなんだっけってなりました。やっぱり残しておかないと記憶は常に更新されるものですね、忘れてしまいます、
スレーブに何をさせようかなと思い、少し考えてみました。
今現在吉村からの依頼でこれをスレーブにつけてくれと言われているのもをいくつか挙げてみようと思います、
- マウス
- コンパス
- ラインセンサ
スレーブ
主に座標計算?
- ラインセンサのそう言う情報が欲しい→ラインセンサ
- ラインセンサとロボットの傾きの関係性が知りたい→IMU
- ロボットがゴールに向いているときのロボットの傾き???→カメラ
- ロボットの挙動が知りたい→マウスセンサ
これらを合成するとロボットのライン処理ができるらしいですが
結局メインマイコンでもなんやかんやロボットのそう言う情報使うと思うんですよねえ。結局メインマイコンにロボットの傾きとか色々プログラム中に必要になってきたりしますし、ボールの方向も必要ですよね。あとカメラについてはマジで謎です。何がしたいんでしたっけ。カメラのXYを補正するでしたっけ。よく覚えていない。。。
やっぱりレポートは書く方がいいですね。書いているうちに無駄な部分が浮き彫りになってきたりして、ロボットがなくても機能面を最適化させることができます。
メインマイコンにさせたくない仕事ランキングで言えばラインセンサの読み取り作業くらいですかね、それだけかなあ
それ以外はメインでしたいなあ。。まあせっかくだしSPIでデュアルコアもどきをすればいいじゃんって感じ。そう言う方針でいいですかね。あ、計算だけさせて、センサの情報も送ればいいんだ。そうだ
本来メインでしたいライン処理をスレーブで実行させる(ボールセンサが必要にならないところまで)→メインに送る→受け取った情報を元にボールセンサのところを計算する→データ完成
ってすればそれなりに負荷が減るはず。ロボットのしている計算のうち9割は座標計算なのでスレーブに任せるのがいいと思います。それで計算に使ったデータはメインに送信する。センサ情報とかどちみち補完でいるし。ってすれば計算だけは楽ができます。負荷が減るはず。
でいいんですかね。正直カメラについてはスレーブで計算するときにどこで使うのか全くわからないので教えて欲しいです。ロボットがゴールの方向に向く時って、ゴールの角度なんて使っていません。大体はカメラでblob使って、ゴールのX座標を見てそれが0になるようにして動いていたと思います。ゴールの角度は使っていないのでコンパスでゴールの方向向いてどうこうってのは制御の時の話であって、座標計算およびライン処理で出てくるようなないおようではないです。
ロボットの傾きに応じてライン処理をしてくれればいいので正直カメラはいらないかな。
ああもしスレーブでボールセンサまでも読んでしまったらどうなるかも書いておきましょう。
メインマイコンでする仕事がBrdgeしかなくなります。

Loading Comments...