void KDLKinematicsPlugin::getRandomConfiguration(KDL::JntArray &jnt_array) const { std::vector<double> jnt_array_vector(dimension_,0.0); robot_state::JointStateGroup* joint_state_group = kinematic_state_->getJointStateGroup(getGroupName()); joint_state_group->setToRandomValues(); joint_state_group->getVariableValues(jnt_array_vector); for(std::size_t i=0; i < dimension_; ++i) jnt_array(i) = jnt_array_vector[i]; }
void KDLKinematicsPlugin::getRandomConfiguration(KDL::JntArray &jnt_array, bool lock_redundancy) const { std::vector<double> jnt_array_vector(dimension_, 0.0); state_->setToRandomPositions(joint_model_group_); state_->copyJointGroupPositions(joint_model_group_, &jnt_array_vector[0]); for (std::size_t i = 0; i < dimension_; ++i) { if (lock_redundancy) if (isRedundantJoint(i)) continue; jnt_array(i) = jnt_array_vector[i]; } }