Tesseract 0.28.4
Loading...
Searching...
No Matches
opw_kinematics_unit.cpp File Reference

Tesseract opw kinematics test. More...

#include <tesseract/common/macros.h>
#include <gtest/gtest.h>
#include <fstream>
#include "kinematics_test_utils.h"
#include <tesseract/kinematics/opw/opw_inv_kin.h>
#include <tesseract/kinematics/kdl/kdl_fwd_kin_chain.h>
#include <opw_kinematics/opw_parameters.h>
#include <tesseract/kinematics/kinematic_group.h>

Functions

opw_kinematics::Parameters< double > getOPWKinematicsParamABB ()
 
pose setIdentity ()
 
pose translation ()[0]
 
 EXPECT_EQ (inv_kin->getSolverName(), OPW_INV_KIN_CHAIN_SOLVER_NAME)
 
 EXPECT_EQ (inv_kin->numJoints(), 6)
 
 EXPECT_EQ (inv_kin->getBaseLinkName(), base_link_name)
 
 EXPECT_EQ (inv_kin->getTipLinkNames().size(), 1)
 
 EXPECT_EQ (inv_kin->getTipLinkNames()[0], tip_link_name)
 
 EXPECT_EQ (inv_kin->getJointNames(), joint_names)
 
 EXPECT_TRUE (inv_kin2 !=nullptr)
 
 EXPECT_EQ (inv_kin2->getSolverName(), OPW_INV_KIN_CHAIN_SOLVER_NAME)
 
 EXPECT_EQ (inv_kin2->numJoints(), 6)
 
 EXPECT_EQ (inv_kin2->getBaseLinkName(), base_link_name)
 
 EXPECT_EQ (inv_kin2->getTipLinkNames().size(), 1)
 
 EXPECT_EQ (inv_kin2->getTipLinkNames()[0], tip_link_name)
 
 EXPECT_EQ (inv_kin2->getJointNames(), joint_names)
 
KinematicGroup kin_group (manip_name, joint_names, std::move(inv_kin), *scene_graph, scene_state)
 
 runInvKinTest (kin_group, pose, base_link_name, tip_link_name, seed)
 
KinematicGroup kin_group2 (manip_name, joint_names, std::move(inv_kin2), *scene_graph, scene_state)
 
pose2 linear ()
 
 runInvKinTest (kin_group2, pose2, base_link_name, tip_link_name, seed)
 
int main (int argc, char **argv)
 

Variables

Eigen::VectorXd seed = Eigen::VectorXd::Zero(6)
 
tesseract::common::GeneralResourceLocator locator
 
auto scene_graph = getSceneGraphABB(locator)
 
std::string base_link_name = "base_link"
 
std::string tip_link_name = "tool0"
 
std::vector< std::string > joint_names { "joint_1", "joint_2", "joint_3", "joint_4", "joint_5", "joint_6" }
 
opw_kinematics::Parameters< double > opw_params = getOPWKinematicsParamABB()
 
auto inv_kin = std::make_shared<OPWInvKin>(opw_params, base_link_name, tip_link_name, joint_names)
 
InverseKinematics::Ptr inv_kin2 = inv_kin->clone()
 
std::string manip_name = "manip"
 
std::vector< std::string > invalid_joint_names
 
tesseract::scene_graph::SceneState scene_state = state_solver.getState()
 
auto abb_joint_2 = scene_graph->getJoint("joint_2")
 
abb_joint_2 limits lower = -3.49065
 
abb_joint_2 limits upper = 1.57079
 
Eigen::Isometry3d pose2
 

Detailed Description

Tesseract opw kinematics test.

Author
Levi Armstrong
Date
Feb 4, 2021
License
Software License Agreement (Apache License)
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Variable Documentation

◆ invalid_joint_names

std::vector<std::string> invalid_joint_names
Initial value:
{
"joint_a1", "joint_a2", "joint_a3", "joint_a4", "joint_a5", "joint_a6"
}