動力学計算・歩行動作生成




riccati-equation [クラス]

  :super   propertied-object 

:slots a b c p q r k a-bkt r+btpb-1




:init aa bb cc qq rr [メソッド]


:solve
[メソッド]




preview-controller [クラス]


  :super   riccati-equation 

:slots xk uk delay f1-n y1-n queue-index initialize-queue-p additional-data-queue finishedp initialized-p output-dim input-dim





\begin{emtabbing}
{\bf :init}
\it dt \&key \= (q) \\lq  [method]\\
\> (r) \\
\> ...
...ray-dimension \_b 1) 1)) \\
\> ((:initialize-queue-p iqp))
\rm
\end{emtabbing}
Initialize preview-controller.
Q is weighting of output error and R is weighting of input.
dt is sampling time [s].
delay is preview time [s].
init-xk is initial state value.
A, B, C are state eq matrices.
If initialize-queue-p is t, fill all queue by the first input at the begenning, otherwise, do not fill queue at the first.


:update-xk p &optional (add-data) [メソッド]
Update xk by inputting reference output.
Return value : nil (initializing) =>return values (middle) =>nil (finished)
If p is nil, automatically the last value in queue is used as input and preview controller starts finishing.


:finishedp [メソッド]
Finished or not.


:last-reference-output-vector [メソッド]
Last value of reference output queue vector (y_k+N_ref).
Last value is latest future value.


:current-reference-output-vector [メソッド]
First value of reference output queue vector (y_k_ref).
First value is oldest future value and it can be used as current reference value.


:current-state-vector [メソッド]
Current state value (xk).


:current-output-vector [メソッド]
Current output value (yk).


:current-additional-data [メソッド]
Current additional data value.
First value of additional-data-queue.


:pass-preview-controller reference-output-vector-list [メソッド]
Get preview controller results from reference-output-vector-list and returns list.


:calc-f [メソッド]


:calc-u
[メソッド]


:calc-xk
[メソッド]




extended-preview-controller [クラス]


  :super   preview-controller 

:slots orga orgb orgc xk





\begin{emtabbing}
{\bf :init}
\it dt \&key \= (q) \\lq  [method]\\
\> (r) \\
\> ...
..._orga 0)) \\
\> ((:initialize-queue-p iqp)) \\
\> (q-mat)
\rm
\end{emtabbing}
Initialize preview-controller in extended system (error system).
Q is weighting of output error and R is weighting of input.
dt is sampling time [s].
delay is preview time [s].
init-xk is initial state value.
A, B, C are state eq matrices for original system and slot variables A,B,C are used for error system matrices.
If initialize-queue-p is t, fill all queue by the first input at the begenning, otherwise, do not fill queue at the first.


:current-output-vector [メソッド]
Current additional data value.
First value of additional-data-queue.


:calc-f [メソッド]


:calc-u
[メソッド]


:calc-xk
[メソッド]




preview-control-cart-table-cog-trajectory-generator [クラス]


  :super   propertied-object 

:slots pcs cog-z zmp-z





\begin{emtabbing}
{\bf :init}
\it dt \_zc \&key \= (q 1) \\lq  [method]\\
\> (r 1...
...
\> (preview-controller-class extended-preview-controller)
\rm
\end{emtabbing}
COG (xy) trajectory generator using preview-control convert reference ZMP from reference COG.
dt ->sampling time[s], _zc is height of COG [mm].
preview-controller-class is preview controller class (extended-preview-controller by default).
For other arguments, please see preview-controller and extended-preview-controller :init documentation.


:refcog [メソッド]
Reference COG [mm].


:cart-zmp [メソッド]
Cart-table system ZMP[mm] as an output variable.


:last-refzmp [メソッド]
Reference zmp at the last of queue.


:current-refzmp [メソッド]
Current reference zmp at the first of queue.


:update-xk p &optional (add-data) [メソッド]
Update xk and returns zmp and cog values.
For arguments, please see preview-controller and extended-preview-controller :update-xk.


:finishedp [メソッド]
Finished or not.


:current-additional-data [メソッド]
Current additional data value.


:pass-preview-controller reference-output-vector-list [メソッド]
Get preview controller results from reference-output-vector-list and returns list.


:cog-z [メソッド]
COG Z [mm].


:update-cog-z zc [メソッド]




gait-generator [クラス]


  :super   propertied-object 

:slots robot dt footstep-node-list support-leg-list support-leg-coords-list swing-leg-dst-coords-list swing-leg-src-coords refzmp-cur-list refzmp-next refzmp-prev step-height-list one-step-len index-count default-step-height default-double-support-ratio default-zmp-offsets finalize-p apreview-controller all-limbs end-with-double-support ik-thre ik-rthre




:init rb _dt [メソッド]


:get-footstep-limbs fs
[メソッド]


:get-counter-footstep-limbs fs
[メソッド]


:get-limbs-zmp-list limb-coords limb-names
[メソッド]


:get-limbs-zmp limb-coords limb-names
[メソッド]


:get-swing-limbs limbs
[メソッド]


:initialize-gait-parameter fsl time cog &key ((:default-step-height dsh) 50) ((:default-double-support-ratio ddsr) 0.2) (delay 1.6) ((:all-limbs al) '(:rleg :lleg)) ((:default-zmp-offsets dzo) (mapcan #'(lambda (x) (list x (float-vector 0 0 0))) al)) (q 1.0) (r 1.000000e-06) (thre 1) (rthre (deg2rad 1)) (start-with-double-support t) ((:end-with-double-support ewds) t)
[メソッド]


:finalize-gait-parameter
[メソッド]


:make-gait-parameter
[メソッド]


:calc-current-swing-leg-coords ratio src dst &key (type :shuffling) (step-height default-step-height)
[メソッド]


:calc-ratio-from-double-support-ratio
[メソッド]


:calc-current-refzmp prev cur next
[メソッド]


:calc-one-tick-gait-parameter type
[メソッド]


:proc-one-tick &key (type :shuffling) (solve-angle-vector :solve-av-by-move-centroid-on-foot) (solve-angle-vector-args) (debug nil)
[メソッド]


:update-current-gait-parameter
[メソッド]


:solve-angle-vector support-leg support-leg-coords swing-leg-coords cog &key (solve-angle-vector :solve-av-by-move-centroid-on-foot) (solve-angle-vector-args)
[メソッド]


:solve-av-by-move-centroid-on-foot support-leg support-leg-coords swing-leg-coords cog robot &rest args &key (cog-gain 3.5) (stop 100) (additional-nspace-list) &allow-other-keys
[メソッド]


:cycloid-midpoint ratio start goal height &key (top-ratio 0.5)
[メソッド]


:cycloid-midcoords ratio start goal height &key (top-ratio 0.5)
[メソッド]



calc-inertia-matrix-rotational mat row column paxis m-til c-til i-til axis-for-angular child-link world-default-coords translation-axis rotation-axis tmp-v0 tmp-v1 tmp-v2 tmp-va tmp-vb tmp-vc tmp-vd tmp-m [関数]




calc-inertia-matrix-linear mat row column paxis m-til c-til i-til axis-for-angular child-link world-default-coords translation-axis rotation-axis tmp-v0 tmp-v1 tmp-v2 tmp-va tmp-vb tmp-vc tmp-vd tmp-m [関数]



2016-04-05