KDLを使ってみました

後で追加

KDLを使ってマニピュレータのヤコビ行列を取得する際の注意点

KDL::Chainがある状態で以下の関数を呼び出すとヤコビ行列が取得できます.(便利)

KDL::ChainJntToJacSolver::JntToJac(KDL::JntArray,KDL::Jacobian&);

ヤコビ行列を受け取るクラスKDL::Jacobianを初期化しておかないと結果が入らないっぽい? 以下のように4行目のJacobianのコンストラクタにジョイントの数を渡すとJntToJacで受け取れました.

KDL::Chain chain;
KDL::JntArray q;
//...
KDL::Jacobian J(chain.getNrOfJoints());
KDL::ChainJntToJacSolver jsolver(chain);
jsolver.JntToJac(q, J);
;(function(document){ var pres = document.getElementsByTagName("pre") for(var i=pres.length; i--; ){  var el = makeOl(pres[i]) pres[i].appendChild(el) } function makeOl(pre){ if (pre.className.indexOf("gist") !== -1) { return } var ol = document.createElement("ol") , li = document.createElement("li") , df = document.createDocumentFragment() , br = pre.innerHTML.match(/\n/g) || 0 ol.className = "preLine" ol.setAttribute("role", "presentation") // no lang, no line-number if( pre.className && ! /lang-./.test(pre.className) ){ br.length += 1 } for(var i=br.length; i--; ){ var li2 = li.cloneNode(true) df.appendChild(li2) } ol.appendChild(df) return ol } })(document)