orocos_kinematics_dynamics icon indicating copy to clipboard operation
orocos_kinematics_dynamics copied to clipboard

TreeFkSolverPos_recursive, segmentation fault

Open mganglb opened this issue 4 years ago • 5 comments

Hello, i wonder if someone else has that problem as well.

PyKDL: modified SIP version KDL: ros2_eloquent version

calling the function TreeFkSolverPos_recursive results in an segmentation fault for me. The error codes work for me, but if the else gets entered my process dies dies.

Additional Information: The Tree consist out of fixed joints only.

regards mgangl

Subset of my changes:

class TreeFkSolverPos 
{
%TypeHeaderCode
#include <kdl/treefksolver.hpp>
using namespace KDL;
%End
    virtual int JntToCart(const JntArray& q_in, Frame& p_out, std::string segmentName)=0;
};

class TreeFkSolverPos_recursive : TreeFkSolverPos
{
%TypeHeaderCode
#include <kdl/treefksolverpos_recursive.hpp>
using namespace KDL;
%End

public:
    TreeFkSolverPos_recursive(const Tree &tree);
    virtual int JntToCart(const JntArray& q_in, Frame& p_out, std::string segmentName);
};

http://docs.ros.org/hydro/api/orocos_kdl/html/treefksolverpos__recursive_8cpp_source.html#l00033

00038         if(q_in.rows() != tree.getNrOfJoints())
00039                 return -1;
00040         else if(it == tree.getSegments().end()) //if the segment name is not found
00041                 return -2;
00042         else{
00043                         p_out = recursiveFk(q_in, it);
00044                 return 0;               
00045         }

mganglb avatar Jun 10 '20 12:06 mganglb