四脚ロボットの歩行モーションを作る前に斜対歩の足踏みで左右の揺れを確認した。 ゆっくり動かすと左右の揺れが大きくなる。 消費電流の制限内で揺れが小さくなる早さで動かす。 1周期は0.2秒くらいかな。 左右脚の間隔が広いと側対歩が出来ないくらい揺れてたけど左右脚の間隔が狭い今の機体はどうなのか試そう。
サーボ制御スケッチを整理した。 消費電流制限の為に単位時間当たりのサーボ角度変位を制限する機能を追加した。 モーションを作る時に角度変位を気にするけどリセットする時に大電流が流れたら困る。 今の所は1種類のサーボを使った機体だけに対応する。 異なるサーボで機体を作ったら制限値は変えないといけない。
サーボ制御スケッチを整理するつもりだったけど体調不良で進捗無し。 月曜日に体調を崩す事が多いな。
PWM周波数を250Hzにした。 サーボ角度からパルス幅に変換する計算式で符号の扱いを間違えてた。 角度とパルス幅を変換する式は誤差が蓄積しない様にした。 計算の途中結果は32Bitに収まる。 トリム調整は今迄と同じくかなりズレてた。 1度単位の角度指定に反応する。 指定した角度と実際の角度が合ってる。 これでモーション作りに進める。
PCA9685のPWMパルス幅を調整中。 PWM周波数を200Hzにして見た。 消費電流が増えるかと思ったけど増えなかった。 制御周期は変えてない。 PCA9685のパルス幅計算方法だと250Hzにした方が計算誤差が小さくなる。 膝関節のトリム値がPWM周波数に関係なく変わらないのはサーボホーンの取付け角度がズレてるのかな。 もう少し試そう。
PCA9685のPWMパルス幅を調整中。 サーボ自体の角度指定範囲は±144度だった。 色々やったつもりだけど進展なし。 map関数で計算してるのが良くないのかな。
PCA9685を載せた機体の関節角度の限界を調べてた。 指定した角度と実際の角度が違ってたのでPWMパルス幅を調整した。 膝関節が限界までは動かせないので膝下フレームの取付け角度を変更した。 色々修正してたらサーボ角度指定が±90度を越えてしまうケースが出て来た。 サーボ自体は±130度で動かせるのでトリム調整などで±90度を越えても対応出来る様にしよう。