manipulator_h_kinematics_dynamics.h
Go to the documentation of this file.
1 /*******************************************************************************
2 * Copyright 2018 ROBOTIS CO., LTD.
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 #ifndef MANIPULATOR_KINEMATICS_DYNAMICS_MANIPULATOR_KINEMATICS_DYNAMICS_H_
18 #define MANIPULATOR_KINEMATICS_DYNAMICS_MANIPULATOR_KINEMATICS_DYNAMICS_H_
19 
20 #include <vector>
21 
22 #include "link_data.h"
24 
25 namespace robotis_manipulator_h
26 {
27 
29 {
31 };
32 
34 {
35 public:
39 
41 
42  std::vector<int> findRoute(int to);
43  std::vector<int> findRoute(int from, int to);
44 
45  double totalMass(int joint_ID);
46  Eigen::MatrixXd calcMC(int joint_ID);
47  Eigen::MatrixXd calcCOM(Eigen::MatrixXd MC);
48 
49  void forwardKinematics(int joint_ID);
50 
51  Eigen::MatrixXd calcJacobian(std::vector<int> idx);
52  Eigen::MatrixXd calcJacobianCOM(std::vector<int> idx);
53  Eigen::MatrixXd calcVWerr(Eigen::MatrixXd tar_position, Eigen::MatrixXd curr_position,
54  Eigen::MatrixXd tar_orientation, Eigen::MatrixXd curr_orientation);
55 
56  bool inverseKinematics(int to, Eigen::MatrixXd tar_position, Eigen::MatrixXd tar_orientation,
57  int max_iter, double ik_err);
58  bool inverseKinematics(int from, int to, Eigen::MatrixXd tar_position, Eigen::MatrixXd tar_orientation,
59  int max_iter, double ik_err);
60 };
61 
62 }
63 
64 #endif /* MANIPULATOR_KINEMATICS_DYNAMICS_MANIPULATOR_KINEMATICS_DYNAMICS_H_ */
bool inverseKinematics(int to, Eigen::MatrixXd tar_position, Eigen::MatrixXd tar_orientation, int max_iter, double ik_err)
Eigen::MatrixXd calcVWerr(Eigen::MatrixXd tar_position, Eigen::MatrixXd curr_position, Eigen::MatrixXd tar_orientation, Eigen::MatrixXd curr_orientation)


manipulator_h_kinematics_dynamics
Author(s): SCH
autogenerated on Mon Jun 10 2019 14:02:57