treefksolver.hpp 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  1. // Copyright (C) 2007 Ruben Smits <ruben dot smits at mech dot kuleuven dot be>
  2. // Copyright (C) 2008 Julia Jesse
  3. // Version: 1.0
  4. // Author: Ruben Smits <ruben dot smits at mech dot kuleuven dot be>
  5. // Maintainer: Ruben Smits <ruben dot smits at mech dot kuleuven dot be>
  6. // URL: http://www.orocos.org/kdl
  7. // This library is free software; you can redistribute it and/or
  8. // modify it under the terms of the GNU Lesser General Public
  9. // License as published by the Free Software Foundation; either
  10. // version 2.1 of the License, or (at your option) any later version.
  11. // This library is distributed in the hope that it will be useful,
  12. // but WITHOUT ANY WARRANTY; without even the implied warranty of
  13. // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  14. // Lesser General Public License for more details.
  15. // You should have received a copy of the GNU Lesser General Public
  16. // License along with this library; if not, write to the Free Software
  17. // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
  18. #ifndef KDL_TREE_FKSOLVER_HPP
  19. #define KDL_TREE_FKSOLVER_HPP
  20. #include <string>
  21. #include "tree.hpp"
  22. //#include "framevel.hpp"
  23. //#include "frameacc.hpp"
  24. #include "jntarray.hpp"
  25. //#include "jntarrayvel.hpp"
  26. //#include "jntarrayacc.hpp"
  27. namespace KDL {
  28. /**
  29. * \brief This <strong>abstract</strong> class encapsulates a
  30. * solver for the forward position kinematics for a KDL::Tree.
  31. *
  32. * @ingroup KinematicFamily
  33. */
  34. //Forward definition
  35. class TreeFkSolverPos {
  36. public:
  37. /**
  38. * Calculate forward position kinematics for a KDL::Tree,
  39. * from joint coordinates to cartesian pose.
  40. *
  41. * @param q_in input joint coordinates
  42. * @param p_out reference to output cartesian pose
  43. *
  44. * @return if < 0 something went wrong
  45. */
  46. virtual int JntToCart(const JntArray& q_in, Frame& p_out, const std::string& segmentName, const std::string& baseName)=0;
  47. virtual ~TreeFkSolverPos(){};
  48. };
  49. /**
  50. * \brief This <strong>abstract</strong> class encapsulates a solver
  51. * for the forward velocity kinematics for a KDL::Tree.
  52. *
  53. * @ingroup KinematicFamily
  54. */
  55. // class TreeFkSolverVel {
  56. // public:
  57. /**
  58. * Calculate forward position and velocity kinematics, from
  59. * joint coordinates to cartesian coordinates.
  60. *
  61. * @param q_in input joint coordinates (position and velocity)
  62. * @param out output cartesian coordinates (position and velocity)
  63. *
  64. * @return if < 0 something went wrong
  65. */
  66. // virtual int JntToCart(const JntArrayVel& q_in, FrameVel& out,int segmentNr=-1)=0;
  67. // virtual ~TreeFkSolverVel(){};
  68. // };
  69. /**
  70. * \brief This <strong>abstract</strong> class encapsulates a solver
  71. * for the forward acceleration kinematics for a KDL::Tree.
  72. *
  73. * @ingroup KinematicFamily
  74. */
  75. // class TreeFkSolverAcc {
  76. // public:
  77. /**
  78. * Calculate forward position, velocity and accelaration
  79. * kinematics, from joint coordinates to cartesian coordinates
  80. *
  81. * @param q_in input joint coordinates (position, velocity and
  82. * acceleration
  83. @param out output cartesian coordinates (position, velocity
  84. * and acceleration
  85. *
  86. * @return if < 0 something went wrong
  87. */
  88. // virtual int JntToCart(const JntArrayAcc& q_in, FrameAcc& out,int segmentNr=-1)=0;
  89. // virtual ~TreeFkSolverAcc()=0;
  90. // };
  91. }//end of namespace KDL
  92. #endif