KDL::ChainIdSolver_RNE gcSolver 계산 모멘트
#include
#include
#include
#include
#include
#include "math.h"
int main(int argc, char const *argv[])
{
int mNumJnts = 6;
KDL::Chain chain;
KDL::Tree my_tree;
KDL::JntArray jnt_q(mNumJnts);
KDL::JntArray jnt_qd(mNumJnts);
KDL::JntArray jnt_qdd(mNumJnts);
KDL::JntArray jnt_taugc(mNumJnts);
int ret;
std::string full_path = "xxx.urdf";//
if (!kdl_parser::treeFromFile(full_path, my_tree))
{
std::cout<<" treeFromFile Failed"<<:endl class="hljs-keyword">return -1;
}
my_tree.getChain("base_link", "link_6", chain);//
std::cout <<"Kinematic chain expects "<< chain.getNrOfJoints() <<" joints"<<:endl std::cout="" class="hljs-string">"Kinematic chain expects "<< chain.getNrOfSegments() <<" segments"<<:endl class="hljs-keyword">for(double angle = 0; angle < M_PI/2; angle += 0.1){
KDL::Wrenches jnt_wrenches;
for (int i = 0; i < mNumJnts; i++) {
jnt_q(i) = 0;
jnt_qd(i) = 0.0;
jnt_qdd(i) = 0.0;
jnt_wrenches.push_back(KDL::Wrench());
}
// jnt_q(1) = 0;
// jnt_q(2) = 0;
jnt_q(0) = angle;
// jnt_q(4) = 0;
// jnt_q(5) = 0;
// jnt_q(6) = 0;
// Compute Dynamics
// KDL::Vector gravity(0.0, 0.0, -9.81);
KDL::Vector gravity(-9.81, 0.0, 0.0);
KDL::ChainIdSolver_RNE gcSolver = KDL::ChainIdSolver_RNE(chain, gravity);
ret = gcSolver.CartToJnt(jnt_q, jnt_qd, jnt_qdd, jnt_wrenches,jnt_taugc);
if (ret < 0){
std::cout<<"CartToJnt Failed"<<:endl class="hljs-keyword">return -1;
}else{
for (int i = 0; i < mNumJnts; i++) {
std::cout <<"torque " << i <<" "<"angle----------- " <return 0;
}
CMakeLists.txt 파일:
cmake_minimum_required(VERSION 2.8 FATAL_ERROR)
project(main)
include_directories(
/opt/ros/kinetic/include
/usr/include
/usr/local/include
/usr/include/eigen3
)
add_executable (main main.cpp)
find_library(KDL_LIB orocos-kdl /opt/ros/kinetic/lib/ )
find_library(KDL_PARSER_LIB kdl_parser /opt/ros/kinetic/lib/)
target_link_libraries(main
${KDL_LIB}
${KDL_PARSER_LIB}
)
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
micro : bit 4 서보 찔러 4 발 보행 로봇■어제 4발 보행 로봇의 기사를 투고했습니다 잘 프로그램을 보면, 좌우의 발의 각도가 같지 않습니까!!! ①좌우 타코족 배선하면, 전용 서보 신호와 후용 서보 신호의 2개의 신호를 내는 것만으로 갈 수 있을 것. ②...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.