Public Member Functions | Private Member Functions | Private Attributes | List of all members
SolverTest Class Reference

#include <solvertest.hpp>

Inheritance diagram for SolverTest:
Inheritance graph
[legend]

Public Member Functions

void ExternalWrenchEstimatorTest ()
 
void FdAndVereshchaginSolversConsistencyTest ()
 
void FdSolverConsistencyTest ()
 
void FdSolverDevelopmentTest ()
 
void FkPosAndIkPosTest ()
 
void FkPosAndJacTest ()
 
void FkPosVectTest ()
 
void FkVelAndIkVelTest ()
 
void FkVelAndJacTest ()
 
void FkVelVectTest ()
 
void IkSingularValueTest ()
 
void IkVelSolverWDLSTest ()
 
void LDLdecompTest ()
 
void setUp ()
 
void tearDown ()
 
void UpdateChainTest ()
 
void VereshchaginTest ()
 

Private Member Functions

 CPPUNIT_TEST (FkPosAndJacTest)
 
 CPPUNIT_TEST (FkVelAndJacTest)
 
 CPPUNIT_TEST (FkVelAndIkVelTest)
 
 CPPUNIT_TEST (FkPosAndIkPosTest)
 
 CPPUNIT_TEST (VereshchaginTest)
 
 CPPUNIT_TEST (ExternalWrenchEstimatorTest)
 
 CPPUNIT_TEST (IkSingularValueTest)
 
 CPPUNIT_TEST (IkVelSolverWDLSTest)
 
 CPPUNIT_TEST (FkPosVectTest)
 
 CPPUNIT_TEST (FkVelVectTest)
 
 CPPUNIT_TEST (FdSolverDevelopmentTest)
 
 CPPUNIT_TEST (FdSolverConsistencyTest)
 
 CPPUNIT_TEST (LDLdecompTest)
 
 CPPUNIT_TEST (FdAndVereshchaginSolversConsistencyTest)
 
 CPPUNIT_TEST (UpdateChainTest)
 
 CPPUNIT_TEST_SUITE (SolverTest)
 
 CPPUNIT_TEST_SUITE_END ()
 
void FkPosAndIkPosLocal (Chain &chain, ChainFkSolverPos &fksolverpos, ChainIkSolverPos &iksolverpos)
 
void FkPosAndJacLocal (Chain &chain, ChainFkSolverPos &fksolverpos, ChainJntToJacSolver &jacsolver)
 
void FkVelAndIkVelLocal (Chain &chain, ChainFkSolverVel &fksolvervel, ChainIkSolverVel &iksolvervel)
 
void FkVelAndJacLocal (Chain &chain, ChainFkSolverVel &fksolvervel, ChainJntToJacSolver &jacsolver)
 

Private Attributes

Chain chain1
 
Chain chain2
 
Chain chain3
 
Chain chain4
 
Chain chaindyn
 
Chain kukaLWR
 
Chain motomansia10
 
Chain motomansia10dyn
 

Detailed Description

Definition at line 29 of file solvertest.hpp.

Member Function Documentation

◆ CPPUNIT_TEST() [1/15]

SolverTest::CPPUNIT_TEST ( FkPosAndJacTest  )
private

◆ CPPUNIT_TEST() [2/15]

SolverTest::CPPUNIT_TEST ( FkVelAndJacTest  )
private

◆ CPPUNIT_TEST() [3/15]

SolverTest::CPPUNIT_TEST ( FkVelAndIkVelTest  )
private

◆ CPPUNIT_TEST() [4/15]

SolverTest::CPPUNIT_TEST ( FkPosAndIkPosTest  )
private

◆ CPPUNIT_TEST() [5/15]

SolverTest::CPPUNIT_TEST ( VereshchaginTest  )
private

◆ CPPUNIT_TEST() [6/15]

SolverTest::CPPUNIT_TEST ( ExternalWrenchEstimatorTest  )
private

◆ CPPUNIT_TEST() [7/15]

SolverTest::CPPUNIT_TEST ( IkSingularValueTest  )
private

◆ CPPUNIT_TEST() [8/15]

SolverTest::CPPUNIT_TEST ( IkVelSolverWDLSTest  )
private

◆ CPPUNIT_TEST() [9/15]

SolverTest::CPPUNIT_TEST ( FkPosVectTest  )
private

◆ CPPUNIT_TEST() [10/15]

SolverTest::CPPUNIT_TEST ( FkVelVectTest  )
private

◆ CPPUNIT_TEST() [11/15]

SolverTest::CPPUNIT_TEST ( FdSolverDevelopmentTest  )
private

◆ CPPUNIT_TEST() [12/15]

SolverTest::CPPUNIT_TEST ( FdSolverConsistencyTest  )
private

◆ CPPUNIT_TEST() [13/15]

SolverTest::CPPUNIT_TEST ( LDLdecompTest  )
private

◆ CPPUNIT_TEST() [14/15]

SolverTest::CPPUNIT_TEST ( FdAndVereshchaginSolversConsistencyTest  )
private

◆ CPPUNIT_TEST() [15/15]

SolverTest::CPPUNIT_TEST ( UpdateChainTest  )
private

◆ CPPUNIT_TEST_SUITE()

SolverTest::CPPUNIT_TEST_SUITE ( SolverTest  )
private

◆ CPPUNIT_TEST_SUITE_END()

SolverTest::CPPUNIT_TEST_SUITE_END ( )
private

◆ ExternalWrenchEstimatorTest()

void SolverTest::ExternalWrenchEstimatorTest ( )

Closed-loop test for the external wrench estimator class: Simple controlled behaviour of the robot subjected to an external force is simulated. The external wrench estimator is called in each iteration of the control loop so to converge to final wrench value. In the end, estimated wrench is compared to the ground-truth values of the simulated wrench.

This EPS has a slightly different purpose than the EPSes of the other solver-tests. While other EPSes are taking care of the differences that originate from e.g. floating-number imprecisions, different compilers (or same compiler but different flags) used between different machines (OS), etc. The EPS specified below is there to cover those imperfections as well but, it's also there to take into account the noise in estimated signals (the differences between estimated and ground-truth wrenches), caused by other computations in this test (ones coming from the implemented controller and the dynamics simulator) not just those coming from the estimator itself.

Definition at line 1563 of file solvertest.cpp.

◆ FdAndVereshchaginSolversConsistencyTest()

void SolverTest::FdAndVereshchaginSolversConsistencyTest ( )

Compute the forward dynamics (joint accelearitions given actuator torques) using both solvers and test for consistency

Definition at line 1442 of file solvertest.cpp.

◆ FdSolverConsistencyTest()

void SolverTest::FdSolverConsistencyTest ( )

Definition at line 1305 of file solvertest.cpp.

◆ FdSolverDevelopmentTest()

void SolverTest::FdSolverDevelopmentTest ( )

Definition at line 1137 of file solvertest.cpp.

◆ FkPosAndIkPosLocal()

void SolverTest::FkPosAndIkPosLocal ( Chain chain,
ChainFkSolverPos fksolverpos,
ChainIkSolverPos iksolverpos 
)
private

Definition at line 790 of file solvertest.cpp.

◆ FkPosAndIkPosTest()

void SolverTest::FkPosAndIkPosTest ( )

Definition at line 467 of file solvertest.cpp.

◆ FkPosAndJacLocal()

void SolverTest::FkPosAndJacLocal ( Chain chain,
ChainFkSolverPos fksolverpos,
ChainJntToJacSolver jacsolver 
)
private

Definition at line 700 of file solvertest.cpp.

◆ FkPosAndJacTest()

void SolverTest::FkPosAndJacTest ( )

Definition at line 392 of file solvertest.cpp.

◆ FkPosVectTest()

void SolverTest::FkPosVectTest ( )

Definition at line 1096 of file solvertest.cpp.

◆ FkVelAndIkVelLocal()

void SolverTest::FkVelAndIkVelLocal ( Chain chain,
ChainFkSolverVel fksolvervel,
ChainIkSolverVel iksolvervel 
)
private

Definition at line 757 of file solvertest.cpp.

◆ FkVelAndIkVelTest()

void SolverTest::FkVelAndIkVelTest ( )

Definition at line 424 of file solvertest.cpp.

◆ FkVelAndJacLocal()

void SolverTest::FkVelAndJacLocal ( Chain chain,
ChainFkSolverVel fksolvervel,
ChainJntToJacSolver jacsolver 
)
private

Definition at line 735 of file solvertest.cpp.

◆ FkVelAndJacTest()

void SolverTest::FkVelAndJacTest ( )

Definition at line 408 of file solvertest.cpp.

◆ FkVelVectTest()

void SolverTest::FkVelVectTest ( )

Definition at line 1116 of file solvertest.cpp.

◆ IkSingularValueTest()

void SolverTest::IkSingularValueTest ( )

Definition at line 518 of file solvertest.cpp.

◆ IkVelSolverWDLSTest()

void SolverTest::IkVelSolverWDLSTest ( )

Definition at line 639 of file solvertest.cpp.

◆ LDLdecompTest()

void SolverTest::LDLdecompTest ( )

Definition at line 1386 of file solvertest.cpp.

◆ setUp()

void SolverTest::setUp ( )

KUKA LWR 4 Chain with Dynamics Parameters (for Forward Dynamics and Vereshchagin solver tests) Necessary test model for the Vereshchagin solver: KDL's implementation of the Vereshchagin solver can only work with the robot chains that have equal number of joints and segments. Note: Joint effective inertia values in this model are closely aligned with the joint inertia of the real robot. These parameters are published in: Jubien, A., Gautier, M. and Janot, A., "Dynamic identification of the Kuka LWR robot using motor torques and joint torque sensors data.", IFAC Proceedings Volumes, 2014., 47(3), pp.8391-8396.

Definition at line 13 of file solvertest.cpp.

◆ tearDown()

void SolverTest::tearDown ( )

Definition at line 225 of file solvertest.cpp.

◆ UpdateChainTest()

void SolverTest::UpdateChainTest ( )

Definition at line 234 of file solvertest.cpp.

◆ VereshchaginTest()

void SolverTest::VereshchaginTest ( )

Compute Hybrid Dynamics for KUKA LWR 4.

Test setup:

  • Operational-space task imposes acceleration constraints on the end-effector
  • External forces and feedforward joint torques are acting on the robot's structure, as disturbances from the environment

Expected result:

  • The solver computes the required joint torque commands (joint constraint torques) that satisfy imposed acceleration constraints and at the same time, compensate for the above mentioned disturbances

Method to evaluate:

  • Compare the resultant Cartesian accelerations of the end-effector's segment with the task-specified acceleration constraints

Definition of the Cartesian Acceleration Constraints imposed on the end-effector. Note: the Vereshchagin solver expects that the input values in alpha parameters (unit constraint forces) are expressed w.r.t. robot's base frame. However, the acceleration energy setpoints, i.e. beta parameters, are expressed w.r.t. above defined unit constraint forces. More specifically, each DOF (element) in beta parameter corresponds to its respective DOF (column) of the unit constraint force matrix (alpha).

Definition at line 818 of file solvertest.cpp.

Member Data Documentation

◆ chain1

Chain SolverTest::chain1
private

Definition at line 71 of file solvertest.hpp.

◆ chain2

Chain SolverTest::chain2
private

Definition at line 71 of file solvertest.hpp.

◆ chain3

Chain SolverTest::chain3
private

Definition at line 71 of file solvertest.hpp.

◆ chain4

Chain SolverTest::chain4
private

Definition at line 71 of file solvertest.hpp.

◆ chaindyn

Chain SolverTest::chaindyn
private

Definition at line 71 of file solvertest.hpp.

◆ kukaLWR

Chain SolverTest::kukaLWR
private

Definition at line 71 of file solvertest.hpp.

◆ motomansia10

Chain SolverTest::motomansia10
private

Definition at line 71 of file solvertest.hpp.

◆ motomansia10dyn

Chain SolverTest::motomansia10dyn
private

Definition at line 71 of file solvertest.hpp.


The documentation for this class was generated from the following files:


orocos_kdl
Author(s):
autogenerated on Thu Apr 13 2023 02:19:14