open-rdc / PCPC

1 stars 0 forks source link

係数保存に要求されるメモリ量の見積もり #3

Open Akira794 opened 4 years ago

Akira794 commented 4 years ago

旋回軌道を生成するにあたり5次の多項式近似によって出力されるx,y方向各6個の係数(計12個)を保存するために必要なメモリ量を見積もる.

先行研究では ・x方向、y方向に関して考えると直線、斜め軌道時は運動は独立 => x方向、y方向の状態変数(ex: x_target, cog_x, vel_x, y_target, cog_y, vel_y)はそれぞれ別に計算可能 => 指定したパラメータの範囲でx方向の重心軌道を全計算

Akira794 commented 4 years ago

現状システムの入力は 9つ target_x, target_y, target_deg(th) init_vel_x, init_vel_y *init_cog_x, init_cog_y support_leg walking_state

内 support_leg と walking_stateを除く7パラメータは連続値このパラメータから12個の係数を導出

yasuohayashibara commented 4 years ago

どれくらいのサイズのテーブルが必要? 分解能は適当に設定して下さい.

Akira794 commented 4 years ago

サイズ(パラメータの範囲は)

| \ | range | step width | pattern | |x_target| -300 mm ~ 300 mm | 10 mm | 61 | |cog_x | -60 mm ~ 60 mm | 3 mm | 41 | | vel_x | -400 mm/s ~ 400 mm/s | 20 mm/s | 41 | | deg | -45deg ~ 45deg | 3deg | 31 |

最大歩幅時の旋回角を9deg 最大歩幅を60mm としてるため rangeの最大旋回角を±45degと考えてますがどうでしょうか?

yasuohayashibara commented 4 years ago

まずはそれで良いと思います. 具体的なデータ量の算出お願いします.

Akira794 commented 4 years ago

データ量として 4[byte] ✕ 61[x_target] ✕ 41[cog_x] ✕ 41[vel_x] ✕ 6[coeff] ✕ 4[walking_status] ✕ 2[support_leg] =19.6MB さらに旋回角31パターンを掛けて 610MB x方向のみでこれだからy方向を含めると合計1.2GB必要となる

Akira794 commented 4 years ago

論文をまとめてて修正する 旋回移動に対して入力パラメータは目標旋回角のみなのでx_targetは省く(移動量は目標旋回角から導出されるため)

よってx方向のみでは

4[byte] × 41 × 41 × 6 × 4 × 2 × 31 ×2 = 20(MByte) ( 4byte に 重心位置・速度・旋回角それぞれの範囲と係数6個分, 歩行状態4パターン、支持脚状態の2パターン 前後進方向の2パターン)重心位置は旋回角に依存する形なのではずしました. よって計算は上記の通り変更に