4 #ifndef AUBO_SDK_MATH_INTERFACE_H 5 #define AUBO_SDK_MATH_INTERFACE_H 11 #include <aubo/global_config.h> 14 namespace common_interface {
53 std::vector<double> poseAdd(
const std::vector<double> &p1,
54 const std::vector<double> &p2);
78 std::vector<double> poseSub(
const std::vector<double> &p1,
79 const std::vector<double> &p2);
101 std::vector<double> interpolatePose(
const std::vector<double> &p1,
102 const std::vector<double> &p2,
153 std::vector<double> poseTrans(
const std::vector<double> &pose_from,
154 const std::vector<double> &pose_from_to);
175 std::vector<double> poseTransInv(
const std::vector<double> &pose_from,
176 const std::vector<double> &pose_to_from);
195 std::vector<double> poseInverse(
const std::vector<double> &pose);
204 double poseDistance(
const std::vector<double> &p1,
205 const std::vector<double> &p2);
214 double poseAngleDistance(
const std::vector<double> &p1,
216 const std::vector<double> &p2);
226 bool poseEqual(
const std::vector<double> &p1,
const std::vector<double> &p2,
244 std::vector<double> transferRefFrame(
const std::vector<double> &F_b_a_old,
262 std::vector<double> poseRotation(
const std::vector<double> &pose,
263 const std::vector<double> &rotv);
278 std::vector<double> rpyToQuaternion(
const std::vector<double> &rpy);
293 std::vector<double> quaternionToRpy(
const std::vector<double> &quat);
313 const std::vector<std::vector<double>> &poses);
329 const std::vector<std::vector<double>> &poses,
int type);
341 ResultWithErrno calculateCircleFourthPoint(
const std::vector<double> &p1,
342 const std::vector<double> &p2,
343 const std::vector<double> &p3,
352 std::vector<double> forceTrans(
const std::vector<double> &pose_a_in_b,
353 const std::vector<double> &force_in_a);
363 std::vector<double> getDeltaPoseBySensorDistance(
364 const std::vector<double> &distances,
double position,
double radius,
373 std::vector<double> deltaPoseTrans(
const std::vector<double> &pose_a_in_b,
374 const std::vector<double> &ft_in_a);
382 std::vector<double> deltaPoseAdd(
const std::vector<double> &pose_a_in_b,
383 const std::vector<double> &v_in_b);
391 #define Math_DECLARES \ 392 _FUNC(Math, 2, poseAdd, p1, p2) \ 393 _FUNC(Math, 2, poseSub, p1, p2) \ 394 _FUNC(Math, 3, interpolatePose, p1, p2, alpha) \ 395 _FUNC(Math, 2, poseTrans, pose_from, pose_from_to) \ 396 _FUNC(Math, 2, poseTransInv, pose_from, pose_to_from) \ 397 _FUNC(Math, 1, poseInverse, pose) \ 398 _FUNC(Math, 2, poseDistance, p1, p2) \ 399 _FUNC(Math, 2, poseAngleDistance, p1, p2) \ 400 _FUNC(Math, 3, poseEqual, p1, p2, eps) \ 401 _FUNC(Math, 3, transferRefFrame, F_b_a_old, V_in_a, type) \ 402 _FUNC(Math, 2, poseRotation, pose, rotv) \ 403 _FUNC(Math, 1, rpyToQuaternion, rpy) \ 404 _FUNC(Math, 1, quaternionToRpy, quant) \ 405 _FUNC(Math, 1, tcpOffsetIdentify, poses) \ 406 _FUNC(Math, 2, calibrateCoordinate, poses, type) \ 407 _FUNC(Math, 4, calculateCircleFourthPoint, p1, p2, p3, mode) \ 408 _FUNC(Math, 2, forceTrans, pose_a_in_b, force_in_a) \ 409 _FUNC(Math, 4, getDeltaPoseBySensorDistance, distances, position, radius, track_scale) \ 410 _FUNC(Math, 2, deltaPoseTrans, pose_a_in_b, ft_in_a) \ 411 _FUNC(Math, 2, deltaPoseAdd, pose_a_in_b, v_in_b) std::shared_ptr< Math > MathPtr
std::tuple< std::vector< double >, int > ResultWithErrno
std::array< double, 3 > Vector3d