00001 00002 // 00003 // Title : CriteriaFuncs.hpp 00004 // Project : OSCAR 00005 // Created : Oct 25, 2004 00006 // Author : Ethan Swint 00007 // Platforms : All 00008 // Copyright : Copyright© The University of Texas at Austin, 2002. All rights reserved. 00009 // 00010 // This software and documentation constitute an unpublished work 00011 // and contain valuable trade secrets and proprietary information 00012 // belonging to the University. None of the foregoing material may be 00013 // copied or duplicated or disclosed without the express, written 00014 // permission of University. THE UNIVERSITY EXPRESSLY DISCLAIMS ANY 00015 // AND ALL WARRANTIES CONCERNING THIS SOFTWARE AND DOCUMENTATION, 00016 // INCLUDING ANY WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A 00017 // PARTICULAR PURPOSE, AND WARRANTIES OF PERFORMANCE, AND ANY WARRANTY 00018 // THAT MIGHT OTHERWISE ARISE FROM COURSE OF DEALING OR USAGE OF TRADE. 00019 // NO WARRANTY IS EITHER EXPRESS OR IMPLIED WITH RESPECT TO THE USE OF 00020 // THE SOFTWARE OR DOCUMENTATION. Under no circumstances shall the 00021 // University be liable for incidental, special, indirect, direct or 00022 // consequential damages or loss of profits, interruption of business, 00023 // or related expenses which may arise from use of software or documentation, 00024 // including but not limited to those resulting from defects in software 00025 // and/or documentation, or loss or inaccuracy of data of any kind. 00026 // Purpose : This file contains global functions to compute mappings from minimum distances 00027 // 00028 // $Log: CriteriaFuncs.hpp,v $ 00029 // Revision 1.14 2007/03/30 20:41:26 aspencer 00030 // Changed obstacle avoidance criteria to use the new node structure as the basis for its modeling. 00031 // 00032 // Revision 1.13 2005/06/22 21:24:49 aspencer 00033 // Added an ingroup command to the doxygen commenting. 00034 // 00035 // Revision 1.12 2005/06/01 22:27:28 chetan 00036 // Made changes to copyright headers 00037 // 00038 // 00040 /*! \file CriteriaFuncs.hpp 00041 \brief A Documented file. 00042 00043 This file contains global functions to compute mappings from minimum distances 00044 \ingroup ObstacleAvoidance 00045 */ 00046 00047 #include "Math/Tensor.h" 00048 #include "ScaleInverseF.hpp" 00049 #include "DistanceResults.hpp" 00050 #include <vector> 00051 #include <list> 00052 namespace OSCAR { 00059 bool distToForce(const ArtificialPotentialF& func, const Matrix& minDist, Matrix& forces); 00060 00067 bool forceToTorque(const Tensor& gDist, const Matrix& forces, Vector& torque); 00068 00078 bool forceToTorque(const DistanceResults& results, std::list<Primitive*>& armPrimitives, std::list<Primitive*>& enviPrimitives, Vector& torque); 00079 00087 bool torqToEEWrench(const Vector& torques, const Matrix& jacobInv, Vector& eeForce); 00088 00089 00097 bool distToForceD1(const ArtificialPotentialF& func, const Matrix& minDist, const Matrix& forces, Matrix& forcesD1); 00098 00109 bool forceToTorqueD1(const std::vector<Tensor*>& hDist, 00110 const Tensor& gDist, 00111 const Matrix& forces, 00112 const Matrix& forcesD1, 00113 const Vector& jointVel, 00114 const Vector& torques, 00115 Vector& torquesD1); 00116 00128 bool torqToEEWrenchD1(const Tensor& eeTransHFunc, 00129 const Tensor& eeRotHFunc, 00130 const Matrix& jacobianInv, 00131 const Vector& jointVel, 00132 const Vector& torques, 00133 const Vector& torquesD1, 00134 const Vector& eeForce, 00135 Vector& eeForceD1); 00136 }//end namespace OSCAR
| RRG Homepage | OSCAR Overview | OSCAR Tutorials | Simulations |