スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Li-Feバッテリ導入

アウトドアデバッグのための携帯バッテリがお亡くなりになった.
鉛バッテリなのでポイッと捨てるわけにもいかず,専門業者 に引き取ってもらうことに.
せっかく専用ケースを作ったので,それにFitする同じ型の新しいバッテリーを購入しようと秋月電子を訪れるも,なにやら 鉛バッテリの価格 が高騰している模様.

小一時間悩んだ末,高価な Li-Fe(LiFePO4)バッテリ を買うことにした.
Li-Feにもいろいろあるみたいだが,今回のはバイク用の4セル品.



北米製で高価だが,サイズが今のケースに合うものということで渋々購入.
重量は鉛バッテリの半分以下になった.
しかし,容量は鉛バッテリ10Ahに対し6.4Ahに減ってしまった.
この容量について注意が必要なのが,メーカーのスペックシートによると18Ah-PbEQnなどとデカデカと書いてあるが,実際のバッテリ自体の容量は6.4Ahと1/3程度であることだ.
どうもこの手のバッテリはバイクやカー用ということで,セルモータによるエンジン始動を想定した時の,「鉛バッテリ容量換算」のスペックで書かれているみたいだ.
すこしでも容量を大きく見せようという販売戦略なのかもしれないが,とてもわかりにくい.
素直にWhで書いてくれれば良いのに.
これ以外にもメーカによっては多セル直列なのにわざわざ単セル換算の容量で書いてあったりするものもある.



さて,Li-FeバッテリはLi-PoやLi-ionのようなリチウム系のため,バランス充電すると寿命が延びることが期待できる.
上の写真は秋月電子の パーフェクト・ネオ でバランス充電しているところ.
ちなみにバランス充電用コネクタに合うケーブルは付属していなかったため,今回はありあわせの2.54mmピッチ基板スタック用コネクタを逆挿し防止形状に加工して使っている.

Li-FeはLi-Poのように爆発・発火はしないが,過放電,過充電は禁物.
Li-Feの単セル電圧は3.33V,満充電は14.4V,放電終了は12.0V.充電電流は1Cが基本.
専用充電器で太陽電池からもLi-Feを充電できる.

レイクサイド

今週末は再びアウトドアデバッグへ出かける.
場所は湖のほとりの静かな公園.













この場所はやや遠いが,車通りは少なく,景色も申し分ない.
トイレや自販機もあり,近くにはマクドナルドなどの外食するお店の他,温泉施設もあるため泊まりで出かけることもできる.
今回の目標は昼間,太陽電池で充電した電力で夜間デバッグを行うというもの.
しかし,30分ほどで鉛バッテリの電圧が急降下.これはおかしい.
バッテリ容量は10AhでノートPCの消費電力は1.5~1.7A程度.
最低3~4時間は持つはずだ.
原因は鉛バッテリの劣化(サルフェーション)かもしれないが,
シールドバッテリは封止してあり分解すると希硫酸が漏れるリスクがある.

アウトドア・デバッグなど

今週末は天気が良いため外でアウトドア・デバッグを再開する.
いつもの場所でいつもの装備で始める.

冬のあいだ車に積みっぱなしになっていた鉛バッテリが弱ってないか心配だったが,とりあえず問題なし.





今回はターゲットボードとデバッガ,ハードウェア(写真左のファンモータ)を持ち出し,ひととおりの作業をやってみた.
オシロなどはないのでタイミング確認はデバッガのブレーク機能かLEDの目視で行う.
やはりというか,屋外だとLEDが見えにくい.
電流制限抵抗を2種類仕込み,発光輝度を(インドア・アウトドアで)可変できる仕掛けを入れる必要がありそうだ.

モータについては作動音が聞こえにくい.
全開で回せばさすがに聞こえるが,低速回転時の音や振動などは周囲の環境音にかき消されてしまう.
よほど人里離れたところでない限り,室内よりも室外のほうが周りがうるさいことがよく分かった.

アウトドアでやると,良い点もある.
一つはデバッグ以外にやることがないことだ.
室内にいればいろいろとジャマが入り気が散るものだが,外へ出ればデバッグするしかないので集中できる.
私の場合,ネットがつながる端末や本などはあえて持っていかない.

アウトドア・デバッグのもう一つの良さは,事前にいろいろと準備をする手続きが楽しいことだ.
実験室でスイッチを入れればすぐにデバッグが開始できる環境では味わえないものがある.
出かける前に,何が必要で何が必要ないか,あれこれ考える必要がある.
そこでは,実際に現場で作業している状況を頭の中で再現する必要がある.これが楽しい.
ピクニックに行く前に,いろんな料理を作っている時の気分に近いのかもしれない.

Pov-RayのCG

またもや更新が滞り気味だが,このところはCGをやったりしている.

Pov-Rayは工夫次第でいろいろな表現ができるし,写真的な画像に近づけるノウハウなどもいろいろあって奥が深い.

例えばガラスが高熱で赤熱したような表現


これは内部に発光物体を入れてSSS透過で中から外へ拡散させながら照らしたもの.

こちらはシャボン玉風



もとの形状はこれ


表面の面だけ描画して中をスカスカにしたもの.
薄いプラスチックフィルムでできた物体のようにも見せられる.

Pov-Rayではさらに液体・気体のリアルな表現も可能らしい.
ただし,Dynamicsの機能はないのでアニメーションさせるには別プログラムで自力で実装する必要がある.
Ver3.7でマルチコアに対応してから,HD画質でのレンダリングも可能になってきた.
本当に素晴らしい進化だと思う.

ちなみに管理人が10年ぐらい前に一番最初にPov-Rayでレンダリングした画像がこれ.
(これが実寸なので拡大不可)

イスと机があって,机の上には何か乗っているらしいが,それが何なのかはDot単位で見ないとと分からない・・・
今なら携帯ゲーム機でももっとましなCGが出せることだろう.

慣性のリアルタイム更新と加速度フィードフォワード

今日はイナーシャ推定の続き.
マイコンに先の同定アルゴリズムを実装し,パラメータ等を変えながらモータ駆動実験を繰り返す.

推定したイナーシャを元に,加速度フィードフォワード値をリアルタイムに変化させてみる.
フィードバックゲインは変えない.
イナーシャ推定は逐次最小二乗法を用いた.



この例では,イナーシャをおよそ9倍に変化させたときの速度応答を見ている.

ここで,イナーシャが更新される図の赤線(100msec経過)あたりでサーボ動作が乱れ,一時的に速度誤差が大きくなっている.
その後は誤差はゼロに収束し,同定が完了した2回目以降はほぼ速度誤差はゼロで安定している.

このことから,同定しながらFF値更新すると,一時的にイナーシャ値を固定したときよりも追従特性が悪化する場合があることが分かった.
フィードバックをいじらなければもっと素直な応答(誤差が同定の進行と共に漸減)になると予想したが,意外な結果だ.
今回の例でいうと,もともとイナーシャが真値よりも小さい状態から駆動を開始するため,起動直後はFF制御量が足りずFBの負担が大きいためサーボは振動的になる.
その状態の時にイナーシャ推定値更新すると,フィードフォワードトルクが急激に増加しますます不安定になる,ということだろうか.
もしそうだとしたら,フィードバックの振動が十分収まってからイナーシャ値を更新すれば,少しはマシになるかもしれない.

リアルタイム慣性同定のテスト

今週末はリアルタイム同定アルゴリズムの実装準備を行う.

やりたいのは加速度と電流値の測定値からシステム全体のJ/Kt=[慣性モーメント/トルク定数]を逐次推定することである.
この定数は電流とトルクを結びつけるサーボの最も基本的なパラメータであり,
ここからフィードバックゲインやフィードフォワード量を決定することができる.
これをリアルタイム推定できれば,例えばロボットが急に重いものを持ったりしても,持つ前と全く同じ動きをするシステムが実現できる.
マイコンに実装する前に確認のため,エクセルで計算し感じをつかむ.
入力値はモータをSinカーブの速度目標値で駆動させた時の加速度と電流値である.


上記の加速度と電流値はともに50Hz程度のローパスをかけてノイズを下げてある.
このデータに対し,最小二乗法(RLS),固定トレース法(FTA)でJt/Ktを逐次推定した結果が以下である.

逐次最小二乗法(Recursive Least Square=RLS)は忘却係数により新しい値にどのぐらい重みを付けて推定するかを選ぶことができる.
忘却係数を1.0にすると,その時までの過去データをすべて均等に使った区間平均と等価になる.
通常は1.0よりわずかに小さい値に設定し,イナーシャ変動に追従できるようにする.

固定トレース法(Fixed Trace Algolism=FTA)では加速度が大きいときは重みが増加し,加速度が小さい=S/N比が悪いときは新しいデータの重みが下がって前回値を保持する特徴がある.
このため有効なデータがノイズに埋もれ,推定値がノイズの平均値に引っ張られるのを回避することができる.

上記のグラフで,速度が小さい時はエンコーダ分解能の不足による推定精度の劣化が見られる.
ここは瞬時速度オブザーバで精度UPするか,単純に低速域の重みを下げるかで対応すればよい.
しかし,いろいろいじる中で気になったのは外乱の影響である.
上記は外乱ゼロで,摩擦負荷は事前に同定した値を使っているので安定しているが,実際には負荷変動や摩擦の変動影響があると推定値が大きく振られてしまう.
この文献によると,外乱に強くするには加速度の微分を使いDCカットする方法,外乱オブザーバで推定した推定外乱トルクを組み込む方法が有効らしい.
なるほど!ということでさっそくやってみたところ,加速度の微分=躍度のデータを入力にした場合はノイズが大きすぎて推定値はほぼゼロに収束してしまった.
外乱代入による方法も試したが,瞬時速度オブザーバのイナーシャ値が発散してしまい,こちらもうまくいってない.
何かやり方がまずいのかもしれない.

そもそも,外乱負荷と全イナーシャ変動の違いって区別できるものなんだろうか?
例えばモータに力を加えた時にモータ軸が前よりも「動きにくい」という状態だった場合に,それが一時的に加わった負荷によるものなのか,それともシステムの慣性が増加したものなのか,どうやって判別すれば良いものか.
例えばロボットアームの先端におもりをぶつけた場合と,おもりを取り付けた場合の差は何か.
差があるとしたら,負荷変動は作用時間が短く,慣性変動は長い,ということだろうか.
だとしたら,イナーシャの推定速度は外乱負荷の推定速度よりも十分遅くしないといけないことになる.
追従が遅いのではイナーシャ値を逐次更新するメリットがあまりないのではないか.
それだったらいっそのこと,イナーシャの逐次推定はやめて初期値固定にしておいて,外乱オブザーバで慣性誤差も外乱負荷もまとめて全部出力しちゃったほうが手っ取り早い気もしてくる.
でもそうなると今度は,イナーシャが長い間オフセットしたままになった場合にフィードフォワード量が実システムに合ってないので恒常的に精度が悪くなるなぁ・・・
ニワトリが先か,タマゴが先か・・
うーん・・・実はこのあたり,まだ全然イメージがつかめてない.
いずれにしても,実験をやりながら少しずつ解決していこうと思う.
≪PREVNEXT≫
プロフィール

もやね

Author:もやね
長野県在住の会社員(メカニカル・エンジニア).
ロボットは完全な趣味としてやってます.
E-mail:
mo_ya_ne[a]yahoo.co.jp
[a]⇒@

最近の記事
最近のコメント
最近のトラックバック
月別アーカイブ
カテゴリー
FC2カウンター
ブログ内検索
RSSフィード
リンク
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。