![]() |
Tesseract 0.28.4
|
Benchmark comparing RTPInvKin (OPW + 1-DOF tool positioner) against the three KDLInvKinChain{NR_JL, NR, LMA} solvers on the same 7-DOF ABB IRB2400 + tool positioner fixture. Reports per-call wall time plus solution-count / success counters. Note: the solvers produce fundamentally different solution sets (RTP enumerates, KDL returns at most one), so compare time-to-first-solution, not total work. KDLInvKinChainNR and KDLInvKinChainLMA do not enforce joint limits and may converge to out-of-limits configurations. More...
#include <tesseract/common/macros.h>#include <benchmark/benchmark.h>#include <algorithm>#include <cassert>#include <cmath>#include <cstdint>#include <cstdio>#include <cstdlib>#include <random>#include <vector>#include "abb_opw_fixture.h"#include "kinematics_test_utils.h"#include <tesseract/common/kinematic_limits.h>#include <tesseract/common/resource_locator.h>#include <tesseract/kinematics/inverse_kinematics.h>#include <tesseract/kinematics/rtp_inv_kin.h>#include <tesseract/kinematics/utils.h>#include <tesseract/kinematics/kdl/kdl_fwd_kin_chain.h>#include <tesseract/kinematics/kdl/kdl_inv_kin_chain_nr_jl.h>#include <tesseract/kinematics/kdl/kdl_inv_kin_chain_nr.h>#include <tesseract/kinematics/kdl/kdl_inv_kin_chain_lma.h>#include <tesseract/scene_graph/graph.h>#include <tesseract/scene_graph/scene_state.h>#include <tesseract/state_solver/kdl/kdl_state_solver.h>Functions | |
| int | main (int argc, char **argv) |
Benchmark comparing RTPInvKin (OPW + 1-DOF tool positioner) against the three KDLInvKinChain{NR_JL, NR, LMA} solvers on the same 7-DOF ABB IRB2400 + tool positioner fixture. Reports per-call wall time plus solution-count / success counters. Note: the solvers produce fundamentally different solution sets (RTP enumerates, KDL returns at most one), so compare time-to-first-solution, not total work. KDLInvKinChainNR and KDLInvKinChainLMA do not enforce joint limits and may converge to out-of-limits configurations.