kinematic_extension_builder.cpp
Go to the documentation of this file.
1 /*
2  * Copyright 2017 Fraunhofer Institute for Manufacturing Engineering and Automation (IPA)
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9 
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 
20 
21 
22 /* BEGIN KinematicExtensionBuilder *****************************************************************************************/
27 {
29 
30  switch (params.kinematic_extension)
31  {
32  case NO_EXTENSION:
33  keb = new KinematicExtensionNone(params);
34  break;
35  case BASE_COMPENSATION:
36  // nothing to do here for BASE_COMPENSATION - only affects twist subscription callback
37  keb = new KinematicExtensionNone(params);
38  break;
39  case BASE_ACTIVE:
40  keb = new KinematicExtensionBaseActive(params);
41  break;
42  case COB_TORSO:
43  keb = new KinematicExtensionTorso(params);
44  break;
45  case LOOKAT:
46  keb = new KinematicExtensionLookat(params);
47  break;
48  default:
49  ROS_ERROR("KinematicExtension %d not defined! Using default: 'NO_EXTENSION'!", params.kinematic_extension);
50  keb = new KinematicExtensionNone(params);
51  break;
52  }
53  if (!keb->initExtension())
54  {
55  ROS_ERROR("Failed to createKinematicExtension %d! Using default: 'NO_EXTENSION'!", params.kinematic_extension);
56  keb = NULL;
57  }
58 
59  return keb;
60 }
61 /* END KinematicExtensionBuilder *******************************************************************************************/
62 
63 
64 /* BEGIN KinematicExtensionNone ********************************************************************************************/
65 
67 {
68  return true;
69 }
70 
74 KDL::Jacobian KinematicExtensionNone::adjustJacobian(const KDL::Jacobian& jac_chain)
75 {
76  return jac_chain;
77 }
78 
83 {
84  return joint_states;
85 }
86 
91 {
92  return limiter_params;
93 }
94 
98 void KinematicExtensionNone::processResultExtension(const KDL::JntArray& q_dot_ik)
99 {
100  return;
101 }
102 /* END KinematicExtensionNone **********************************************************************************************/
BASE_COMPENSATION
@ BASE_COMPENSATION
Definition: cob_twist_controller_data_types.h:49
KinematicExtensionBase
Base class for kinematic extensions.
Definition: kinematic_extension_base.h:28
NULL
#define NULL
KinematicExtensionBase::initExtension
virtual bool initExtension()=0
KinematicExtensionLookat
Class to be used for Cartesian KinematicExtensions for Lookat.
Definition: kinematic_extension_lookat.h:40
KinematicExtensionTorso
Class implementing a KinematicExtension for Torso based on URDF.
Definition: kinematic_extension_urdf.h:72
KinematicExtensionNone::adjustLimiterParams
LimiterParams adjustLimiterParams(const LimiterParams &limiter_params)
Definition: kinematic_extension_builder.cpp:90
LOOKAT
@ LOOKAT
Definition: cob_twist_controller_data_types.h:52
NO_EXTENSION
@ NO_EXTENSION
Definition: cob_twist_controller_data_types.h:48
TwistControllerParams::kinematic_extension
KinematicExtensionTypes kinematic_extension
Definition: cob_twist_controller_data_types.h:283
ROS_ERROR
#define ROS_ERROR(...)
KinematicExtensionBuilder::createKinematicExtension
static KinematicExtensionBase * createKinematicExtension(const TwistControllerParams &params)
Definition: kinematic_extension_builder.cpp:26
KinematicExtensionNone
Class implementing the interface in case KinematicExtension is disabled.
Definition: kinematic_extension_builder.h:46
KinematicExtensionNone::adjustJointStates
JointStates adjustJointStates(const JointStates &joint_states)
Definition: kinematic_extension_builder.cpp:82
COB_TORSO
@ COB_TORSO
Definition: cob_twist_controller_data_types.h:51
LimiterParams
Definition: cob_twist_controller_data_types.h:162
KinematicExtensionBaseActive
Class implementing a mobile base KinematicExtension with Cartesian DoFs (lin_x, lin_y,...
Definition: kinematic_extension_dof.h:62
TwistControllerParams
Definition: cob_twist_controller_data_types.h:209
JointStates
Definition: cob_twist_controller_data_types.h:112
eigen_kdl.h
KinematicExtensionNone::adjustJacobian
KDL::Jacobian adjustJacobian(const KDL::Jacobian &jac_chain)
Definition: kinematic_extension_builder.cpp:74
kinematic_extension_builder.h
KinematicExtensionNone::initExtension
bool initExtension()
Definition: kinematic_extension_builder.cpp:66
BASE_ACTIVE
@ BASE_ACTIVE
Definition: cob_twist_controller_data_types.h:50
KinematicExtensionNone::processResultExtension
void processResultExtension(const KDL::JntArray &q_dot_ik)
Definition: kinematic_extension_builder.cpp:98


cob_twist_controller
Author(s): Felix Messmer , Marco Bezzon , Christoph Mark , Francisco Moreno
autogenerated on Mon May 1 2023 02:44:43