忍者ブログ

FrostyDesign

自分用にさまざまなものを作るページです

[PR]

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

FrostyCoreArchitecture

制御系のアーキテクチャを書いてみたので公開。

まずは制御系ハードウェアのアーキテクチャ

以前に写真で説明しましたが、CPUはSH7145  50MHz 。
このクラスのマイコンボードとしては1MB DRAMとメモリ多めなのが選定ポイントの1つです。
FPGAボードとは16bit 50MHzのバスで接続。
FPGA内にICS3.0仕様のプロトコルモジュールを6ch、
PSコントローラのプロトコル処理もFPGA化しています。

FrostyCoreHWArchitecture

下記は、シーケンス図です。
通常はまずソフトウェアブロック図を示すところですが、
このアーキテクチャでは
純粋なソフトウェアはメインスレッドのみで
通常、スレッド分けて実装する通信処理系をすべてFPGAで実装しています。
メインスレッドからFPGAの通信はレジスタ経由なのでほぼメモリアクセスと同等で読み書きでき、
レジスタマップがAPIという感じです。
メインスレッド1つに通信系のスレッドが7つという感じでしょうか。
ADコンバータもコントローラ側で複数chスキャンしてるので5msに一回まとめてレジスタ読んでます。
メインスレッドは5ms毎のタイマー割り込みでループしていて、これがシステム制御間隔になっており、
センサ情報取得、PSコントローラ受信、サーボ制御、全て5ms周期になっています。
Sequence





PR

走行動画

まずは素の特性を良くしてからフィードバックと思っていましたが、改良したらジャイロによるフィードバック無しで最高速まで加速できるようになりました。



300fpsの映像です。一応ちゃんと浮いてます


こっちは加速後、減速して止まるまでの動画

続・コントローラボード

コントローラの電源を変更した際にばらしたので写真とって見ました。
IMG_1036.jpg電源ケーブル込みなこともありますが、
ちょっと重い108.6g

コントローラボードは3段構成になっていて




IMG_1022.jpg一番上は
ベステク BTC080 SH7145Fマイコンボード

http://www.besttechnology.co.jp/modules/knowledge/?BTC080%20SH7145F マイコンボード

FPGAとクロック同期するためのクロックのラインがなかったので
CPUの足から取ってます。

IMG_1025.jpg一番下は
FPGAボード(ヒューマンデータ XCM-301-200)
http://www.hdl.co.jp/XCM-301/index.html
FPGAで
ICS3.5仕様シリアル通信モジュール6ch
プレステコントローラ通信モジュールを組んでます

ICS3.5仕様シリアル通信モジュール
はISC3.5といってもコマンドは3バイトのみ対応、ボーレートは115kbps固定としています。
(ICS2.0のサーボも使っているため)
FIFOバッファ付でCPUからは複数コマンドを連続書き込み可能で
FPGA側でタイムアウトエラー回避のため1ms間隔で送信します。
受信結果も複数コマンド分レジスタに蓄積し、エラー情報とセットで
連続して読み出せます。
CPU側では多重割り込みを使うことなく6ch×3サーボを5ms毎にタイマー割り込み1回で送受信しています。

IMG_1031.jpgIMG_1030.jpg





中間段は
電源、レベル変換、外部へのコネクタになっています。
電源はDCDCコンバータでRecom R-783.3-1.0
http://www.bellnix.co.jp/pdf/C_R-78.pdf
http://jp.rs-online.com/web/p/dc-dc-converters/6727120/

レベル変換は
サーボの制御信号が5Vの半二重なので方向付5v-3.3v変換で
TI SN74LVC1T45 です。
http://www.tij.co.jp/product/jp/sn74lvc1t45

ちょっとパスコンが多めなのはデバッグ中におまじないで
入れたためで、多分もっと少なくても大丈夫です。

#FPGAのソースコード提供するから
 誰か基板起こして小型軽量化してくれないかな~。

新しい足のリンク構造

新しい足のリンク構造です。
といっても前回のrobo-one 18thですでに更新していて、その公開です。
新しいといっても、基本コンセプトとしては前と同じで、その改良版です。
robo-oneのルールにあわせて足を長くしたことと、
バック宙をできる性能を維持しつつ、省電力化を図っています。
考え方としては、サーボのヒザの屈伸のレシオのカーブを変更し、
足を伸ばしきったときのレシオを下がり過ぎないようにし、その分、バネのプリテンションをあげて
立っているときのバネ加重を上げています。
また、以前は疑似直線リンクとヒザの伸縮のリンクは独立していましたが、
今回は途中で合成する構成にしています。

robo-one 中止

robo-one中止になってしまいましたね。
今日は予選の徒競走の日。ということで動画あげてみました。




カレンダー

03 2024/04 05
S M T W T F S
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30

プロフィール

HN:
FrostyDesign
性別:
男性
自己紹介:
こんなロボット作ってます。
http://frostyorange.blog.shinobi.jp/Entry/28/

最新TB

ブログ内検索

バーコード

アクセス解析

カウンター

アクセス解析

Copyright ©  -- FrostyDesign --  All Rights Reserved

Design by CriCri / Photo by momo111 / Powered by [PR]

 / 忍者ブログ