openrave.org

 全て クラス ネームスペース ファイル 関数 変数 型定義 列挙型 列挙型の値 フレンド マクロ定義 グループ ページ
Public 型 | Public メソッド | Static Public メソッド | Static Public 変数 | Static Protected メソッド | Protected 変数 | フレンド | すべてのメンバ一覧
クラス OpenRAVE::IkParameterization

Parameterization of basic primitives for querying inverse-kinematics solutions. [詳細]

#include <openrave.h>

OpenRAVE::IkParameterizationのコラボレーション図
Collaboration graph
[凡例]

Public 型

typedef IkParameterizationType Type RAVE_DEPRECATED
 

Public メソッド

 IkParameterization ()
 
 IkParameterization (const Transform &t)
 sets a 6D transform parameterization
 
 IkParameterization (const RAY &r)
 sets a ray parameterization
 
 IkParameterization (const Transform &t, IkParameterizationType type)
 set a custom parameterization using a transform as the source of the data. Not all types are supported with this method.
 
IkParameterizationType GetType () const
 
const std::string & GetName () const
 returns a string version of GetType
 
int GetDOF () const
 Returns the minimum degree of freedoms required for the IK type. Does not count custom data.
 
int GetNumberOfValues () const
 Returns the number of values used to represent the parameterization ( >= dof ). Does not count custom data.
 
void SetTransform6D (const Transform &t)
 
void SetRotation3D (const Vector &quaternion)
 
void SetTranslation3D (const Vector &trans)
 
void SetDirection3D (const Vector &dir)
 
void SetRay4D (const RAY &ray)
 
void SetLookat3D (const Vector &trans)
 
void SetLookat3D (const RAY &ray)
 the ray direction is not used for IK, however it is needed in order to compute the error
 
void SetTranslationDirection5D (const RAY &ray)
 
void SetTranslationXY2D (const Vector &trans)
 
void SetTranslationXYOrientation3D (const Vector &trans)
 
void SetTranslationLocalGlobal6D (const Vector &localtrans, const Vector &trans)
 
void SetTranslationXAxisAngle4D (const Vector &trans, dReal angle)
 
void SetTranslationYAxisAngle4D (const Vector &trans, dReal angle)
 
void SetTranslationZAxisAngle4D (const Vector &trans, dReal angle)
 
void SetTranslationXAxisAngleZNorm4D (const Vector &trans, dReal angle)
 
void SetTranslationYAxisAngleXNorm4D (const Vector &trans, dReal angle)
 
void SetTranslationZAxisAngleYNorm4D (const Vector &trans, dReal angle)
 
const TransformGetTransform6D () const
 
const VectorGetRotation3D () const
 
const VectorGetTranslation3D () const
 
const VectorGetDirection3D () const
 
const RAY GetRay4D () const
 
const VectorGetLookat3D () const
 
const VectorGetLookat3DDirection () const
 
const RAY GetTranslationDirection5D () const
 
const VectorGetTranslationXY2D () const
 
const VectorGetTranslationXYOrientation3D () const
 
std::pair< Vector, VectorGetTranslationLocalGlobal6D () const
 
std::pair< Vector, dRealGetTranslationXAxisAngle4D () const
 
std::pair< Vector, dRealGetTranslationYAxisAngle4D () const
 
std::pair< Vector, dRealGetTranslationZAxisAngle4D () const
 
std::pair< Vector, dRealGetTranslationXAxisAngleZNorm4D () const
 
std::pair< Vector, dRealGetTranslationYAxisAngleXNorm4D () const
 
std::pair< Vector, dRealGetTranslationZAxisAngleYNorm4D () const
 
dReal ComputeDistanceSqr (const IkParameterization &ikparam) const
 Computes the distance squared between two IK parmaeterizations.
 
void GetValues (std::vector< dReal >::iterator itvalues) const
 fills the iterator with the serialized values of the ikparameterization.
 
void SetValues (std::vector< dReal >::const_iterator itvalues, IkParameterizationType iktype)
 sets a serialized set of values for the IkParameterization
 
void Set (std::vector< dReal >::const_iterator itvalues, IkParameterizationType iktype)
 
void SetCustomValues (const std::string &name, const std::vector< dReal > &values)
 sets named custom data in the ik parameterization
 
void SetCustomValue (const std::string &name, dReal value)
 sets named custom data in the ik parameterization (
 
bool GetCustomValues (const std::string &name, std::vector< dReal > &values) const
 gets custom data if it exists, returns false if it doesn't
 
const std::map< std::string,
std::vector< dReal > > & 
GetCustomDataMap () const
 returns a const reference of the custom data key/value pairs
 
size_t ClearCustomValues (const std::string &name=std::string())
 clears custom data
 
ConfigurationSpecification GetConfigurationSpecification (const std::string &interpolation="") const
 
IkParameterizationMultiplyTransform (const Transform &t)
 in-place left-transform into a new coordinate system. Equivalent to t * ikparam
 
IkParameterizationMultiplyTransformRight (const Transform &t)
 in-place right-transform into a new coordinate system. Equivalent to ikparam*t
 
IkParameterization operator* (const Transform &t) const
 

Static Public メソッド

static int GetDOF (IkParameterizationType type)
 Returns the minimum degree of freedoms required for the IK type. Does not count custom data.
 
static int GetNumberOfValues (IkParameterizationType type)
 Returns the number of values used to represent the parameterization ( >= dof ). Does not count custom data.
 
static ConfigurationSpecification GetConfigurationSpecification (IkParameterizationType iktype, const std::string &interpolation="")
 

Static Public 変数

static const
IkParameterizationType
Type_None 
RAVE_DEPRECATED = IKP_None
 
static const
IkParameterizationType
Type_Transform6D 
RAVE_DEPRECATED = IKP_Transform6D
 
static const
IkParameterizationType
Type_Rotation3D 
RAVE_DEPRECATED =IKP_Rotation3D
 
static const
IkParameterizationType
Type_Translation3D 
RAVE_DEPRECATED =IKP_Translation3D
 
static const
IkParameterizationType
Type_Direction3D 
RAVE_DEPRECATED = IKP_Direction3D
 
static const
IkParameterizationType
Type_Ray4D 
RAVE_DEPRECATED = IKP_Ray4D
 
static const
IkParameterizationType
Type_Lookat3D 
RAVE_DEPRECATED = IKP_Lookat3D
 
static const
IkParameterizationType
Type_TranslationDirection5D 
RAVE_DEPRECATED = IKP_TranslationDirection5D
 
static const
IkParameterizationType
Type_TranslationXY2D 
RAVE_DEPRECATED = IKP_TranslationXY2D
 
static const
IkParameterizationType
Type_TranslationXYOrientation3D 
RAVE_DEPRECATED = IKP_TranslationXYOrientation3D
 
static const
IkParameterizationType
Type_TranslationLocalGlobal6D 
RAVE_DEPRECATED = IKP_TranslationLocalGlobal6D
 
static const
IkParameterizationType
Type_NumberOfParameterizations 
RAVE_DEPRECATED = IKP_NumberOfParameterizations
 

Static Protected メソッド

static bool _IsValidCharInName (char c)
 
static void _MultiplyTransform (const Transform &t, const std::string &name, std::vector< dReal > &values)
 
static void _MultiplyTransformRight (const Transform &t, const std::string &name, std::vector< dReal > &values)
 

Protected 変数

Transform _transform
 
IkParameterizationType _type
 
std::map< std::string,
std::vector< dReal > > 
_mapCustomData
 

フレンド

IkParameterization operator* (const Transform &t, const IkParameterization &ikparam)
 
OPENRAVE_API std::ostream & operator<< (std::ostream &O, const IkParameterization &ikparam)
 
OPENRAVE_API std::istream & operator>> (std::istream &I, IkParameterization &ikparam)
 

説明

Parameterization of basic primitives for querying inverse-kinematics solutions.

Holds the parameterization of a geometric primitive useful for autonomous manipulation scenarios like: 6D pose, 3D translation, 3D rotation, 3D look at direction, and ray look at direction.

例:
ikfastloader.cpp, orikfilter.cpp, orplanning_door.cpp, と orpr2turnlever.cpp.

openrave.h1284 行で定義されています。

型定義

非推奨:
(11/10/12)

openrave.h1288 行で定義されています。

コンストラクタとデストラクタ

OpenRAVE::IkParameterization::IkParameterization ( )
inline

openrave.h1302 行で定義されています。

OpenRAVE::IkParameterization::IkParameterization ( const Transform t)
inline

sets a 6D transform parameterization

openrave.h1305 行で定義されています。

OpenRAVE::IkParameterization::IkParameterization ( const RAY r)
inline

sets a ray parameterization

openrave.h1309 行で定義されています。

OpenRAVE::IkParameterization::IkParameterization ( const Transform t,
IkParameterizationType  type 
)
inline

set a custom parameterization using a transform as the source of the data. Not all types are supported with this method.

openrave.h1313 行で定義されています。

関数

static bool OpenRAVE::IkParameterization::_IsValidCharInName ( char  c)
inlinestaticprotected

openrave.h2139 行で定義されています。

static void OpenRAVE::IkParameterization::_MultiplyTransform ( const Transform t,
const std::string &  name,
std::vector< dReal > &  values 
)
inlinestaticprotected

openrave.h2142 行で定義されています。

static void OpenRAVE::IkParameterization::_MultiplyTransformRight ( const Transform t,
const std::string &  name,
std::vector< dReal > &  values 
)
inlinestaticprotected

openrave.h2183 行で定義されています。

size_t OpenRAVE::IkParameterization::ClearCustomValues ( const std::string &  name = std::string())
inline

clears custom data

引数
nameif name is empty, will clear all the data, otherwise will clear only the custom data with that name
戻り値
number of elements erased

openrave.h1806 行で定義されています。

dReal OpenRAVE::IkParameterization::ComputeDistanceSqr ( const IkParameterization ikparam) const
inline

Computes the distance squared between two IK parmaeterizations.

openrave.h1469 行で定義されています。

ConfigurationSpecification OpenRAVE::IkParameterization::GetConfigurationSpecification ( IkParameterizationType  iktype,
const std::string &  interpolation = "" 
)
static
例:
orpr2turnlever.cpp.

libopenrave.cpp1139 行で定義されています。

ConfigurationSpecification OpenRAVE::IkParameterization::GetConfigurationSpecification ( const std::string &  interpolation = "") const
inline

openrave.h1819 行で定義されています。

const std::map<std::string, std::vector<dReal> >& OpenRAVE::IkParameterization::GetCustomDataMap ( ) const
inline

returns a const reference of the custom data key/value pairs

openrave.h1797 行で定義されています。

bool OpenRAVE::IkParameterization::GetCustomValues ( const std::string &  name,
std::vector< dReal > &  values 
) const
inline

gets custom data if it exists, returns false if it doesn't

openrave.h1786 行で定義されています。

const Vector& OpenRAVE::IkParameterization::GetDirection3D ( ) const
inline

openrave.h1425 行で定義されています。

static int OpenRAVE::IkParameterization::GetDOF ( IkParameterizationType  type)
inlinestatic

Returns the minimum degree of freedoms required for the IK type. Does not count custom data.

openrave.h1333 行で定義されています。

int OpenRAVE::IkParameterization::GetDOF ( ) const
inline

Returns the minimum degree of freedoms required for the IK type. Does not count custom data.

openrave.h1337 行で定義されています。

const Vector& OpenRAVE::IkParameterization::GetLookat3D ( ) const
inline

openrave.h1431 行で定義されています。

const Vector& OpenRAVE::IkParameterization::GetLookat3DDirection ( ) const
inline

openrave.h1434 行で定義されています。

const std::string & OpenRAVE::IkParameterization::GetName ( ) const
inline

returns a string version of GetType

openrave.h2737 行で定義されています。

static int OpenRAVE::IkParameterization::GetNumberOfValues ( IkParameterizationType  type)
inlinestatic

Returns the number of values used to represent the parameterization ( >= dof ). Does not count custom data.

例:
orpr2turnlever.cpp.

openrave.h1342 行で定義されています。

int OpenRAVE::IkParameterization::GetNumberOfValues ( ) const
inline

Returns the number of values used to represent the parameterization ( >= dof ). Does not count custom data.

openrave.h1346 行で定義されています。

const RAY OpenRAVE::IkParameterization::GetRay4D ( ) const
inline

openrave.h1428 行で定義されています。

const Vector& OpenRAVE::IkParameterization::GetRotation3D ( ) const
inline

openrave.h1419 行で定義されています。

const Transform& OpenRAVE::IkParameterization::GetTransform6D ( ) const
inline
例:
orplanning_door.cpp.

openrave.h1416 行で定義されています。

const Vector& OpenRAVE::IkParameterization::GetTranslation3D ( ) const
inline

openrave.h1422 行で定義されています。

const RAY OpenRAVE::IkParameterization::GetTranslationDirection5D ( ) const
inline

openrave.h1437 行で定義されています。

std::pair<Vector,Vector> OpenRAVE::IkParameterization::GetTranslationLocalGlobal6D ( ) const
inline

openrave.h1446 行で定義されています。

std::pair<Vector,dReal> OpenRAVE::IkParameterization::GetTranslationXAxisAngle4D ( ) const
inline

openrave.h1449 行で定義されています。

std::pair<Vector,dReal> OpenRAVE::IkParameterization::GetTranslationXAxisAngleZNorm4D ( ) const
inline

openrave.h1458 行で定義されています。

const Vector& OpenRAVE::IkParameterization::GetTranslationXY2D ( ) const
inline

openrave.h1440 行で定義されています。

const Vector& OpenRAVE::IkParameterization::GetTranslationXYOrientation3D ( ) const
inline

openrave.h1443 行で定義されています。

std::pair<Vector,dReal> OpenRAVE::IkParameterization::GetTranslationYAxisAngle4D ( ) const
inline

openrave.h1452 行で定義されています。

std::pair<Vector,dReal> OpenRAVE::IkParameterization::GetTranslationYAxisAngleXNorm4D ( ) const
inline

openrave.h1461 行で定義されています。

std::pair<Vector,dReal> OpenRAVE::IkParameterization::GetTranslationZAxisAngle4D ( ) const
inline

openrave.h1455 行で定義されています。

std::pair<Vector,dReal> OpenRAVE::IkParameterization::GetTranslationZAxisAngleYNorm4D ( ) const
inline

openrave.h1464 行で定義されています。

IkParameterizationType OpenRAVE::IkParameterization::GetType ( ) const
inline

openrave.h1325 行で定義されています。

void OpenRAVE::IkParameterization::GetValues ( std::vector< dReal >::iterator  itvalues) const
inline

fills the iterator with the serialized values of the ikparameterization.

The container the iterator points to needs to have GetNumberOfValues() available. Does not support custom data Don't normalize quaternions since it could hold velocity data.

例:
orpr2turnlever.cpp.

openrave.h1582 行で定義されています。

IkParameterization& OpenRAVE::IkParameterization::MultiplyTransform ( const Transform t)
inline

in-place left-transform into a new coordinate system. Equivalent to t * ikparam

openrave.h1825 行で定義されています。

IkParameterization& OpenRAVE::IkParameterization::MultiplyTransformRight ( const Transform t)
inline

in-place right-transform into a new coordinate system. Equivalent to ikparam*t

Note that depending on the ikparam type, some information from the passed in transform can get lost or misinterpreted. For example Translation3D types do not have a rotation, so assume identity.

For ik types that have 3D directions stored, the transformation is the following:

quatRotate(quatMultiply(quatRotateDirection(Vector(0,0,1),direction), t.rot), Vector(0,0,1))

Basically it is how the local z axis gets transformed and converting that back to world coordinates.

openrave.h1981 行で定義されています。

IkParameterization OpenRAVE::IkParameterization::operator* ( const Transform t) const
inline

openrave.h2132 行で定義されています。

void OpenRAVE::IkParameterization::Set ( std::vector< dReal >::const_iterator  itvalues,
IkParameterizationType  iktype 
)
inline

openrave.h1750 行で定義されています。

void OpenRAVE::IkParameterization::SetCustomValue ( const std::string &  name,
dReal  value 
)
inline

sets named custom data in the ik parameterization (

参照
SetCustomValues)

openrave.h1777 行で定義されています。

void OpenRAVE::IkParameterization::SetCustomValues ( const std::string &  name,
const std::vector< dReal > &  values 
)
inline

sets named custom data in the ik parameterization

The custom data is serialized along with the rest of the parameters and can also be part of a configuration specification under the "ikparam_values" anotation. The custom data name can have meta-tags for the type of transformation the data undergos when MultiplyTransform is called. For example, if the user wants to have an extra 3 values that represent "direction", then the direction has to be rotated along with all the data or coordinate systems can get lost. The anotations are specified by putting:

transform=s

somewhere in the string. The s can be: direction, point, quat, ikparam

If ikparam, the first value is expected to be the unique id of the ik type (GetType()&IKP_UniqueIdMask). The other values can be computed from IkParameterization::GetValues

引数
nameDescribes the type of data, cannot contain spaces or new lines.
valuesthe values representing the data
例外
openrave_exceptionthrows if the name is invalid

openrave.h1769 行で定義されています。

void OpenRAVE::IkParameterization::SetDirection3D ( const Vector dir)
inline

openrave.h1359 行で定義されています。

void OpenRAVE::IkParameterization::SetLookat3D ( const Vector trans)
inline

openrave.h1365 行で定義されています。

void OpenRAVE::IkParameterization::SetLookat3D ( const RAY ray)
inline

the ray direction is not used for IK, however it is needed in order to compute the error

openrave.h1369 行で定義されています。

void OpenRAVE::IkParameterization::SetRay4D ( const RAY ray)
inline

openrave.h1362 行で定義されています。

void OpenRAVE::IkParameterization::SetRotation3D ( const Vector quaternion)
inline

openrave.h1353 行で定義されています。

void OpenRAVE::IkParameterization::SetTransform6D ( const Transform t)
inline

openrave.h1350 行で定義されています。

void OpenRAVE::IkParameterization::SetTranslation3D ( const Vector trans)
inline

openrave.h1356 行で定義されています。

void OpenRAVE::IkParameterization::SetTranslationDirection5D ( const RAY ray)
inline

openrave.h1372 行で定義されています。

void OpenRAVE::IkParameterization::SetTranslationLocalGlobal6D ( const Vector localtrans,
const Vector trans 
)
inline

openrave.h1381 行で定義されています。

void OpenRAVE::IkParameterization::SetTranslationXAxisAngle4D ( const Vector trans,
dReal  angle 
)
inline

openrave.h1384 行で定義されています。

void OpenRAVE::IkParameterization::SetTranslationXAxisAngleZNorm4D ( const Vector trans,
dReal  angle 
)
inline

openrave.h1400 行で定義されています。

void OpenRAVE::IkParameterization::SetTranslationXY2D ( const Vector trans)
inline

openrave.h1375 行で定義されています。

void OpenRAVE::IkParameterization::SetTranslationXYOrientation3D ( const Vector trans)
inline

openrave.h1378 行で定義されています。

void OpenRAVE::IkParameterization::SetTranslationYAxisAngle4D ( const Vector trans,
dReal  angle 
)
inline

openrave.h1389 行で定義されています。

void OpenRAVE::IkParameterization::SetTranslationYAxisAngleXNorm4D ( const Vector trans,
dReal  angle 
)
inline

openrave.h1405 行で定義されています。

void OpenRAVE::IkParameterization::SetTranslationZAxisAngle4D ( const Vector trans,
dReal  angle 
)
inline

openrave.h1394 行で定義されています。

void OpenRAVE::IkParameterization::SetTranslationZAxisAngleYNorm4D ( const Vector trans,
dReal  angle 
)
inline

openrave.h1410 行で定義されています。

void OpenRAVE::IkParameterization::SetValues ( std::vector< dReal >::const_iterator  itvalues,
IkParameterizationType  iktype 
)
inline

sets a serialized set of values for the IkParameterization

Function does not handle custom data. Don't normalize quaternions since it could hold velocity data.

openrave.h1667 行で定義されています。

フレンドと関連する関数

IkParameterization operator* ( const Transform t,
const IkParameterization ikparam 
)
friend

openrave.h2233 行で定義されています。

OPENRAVE_API std::ostream& operator<< ( std::ostream &  O,
const IkParameterization ikparam 
)
friend
OPENRAVE_API std::istream& operator>> ( std::istream &  I,
IkParameterization ikparam 
)
friend

変数

std::map<std::string, std::vector<dReal> > OpenRAVE::IkParameterization::_mapCustomData
protected

openrave.h2226 行で定義されています。

Transform OpenRAVE::IkParameterization::_transform
protected

openrave.h2224 行で定義されています。

IkParameterizationType OpenRAVE::IkParameterization::_type
protected

openrave.h2225 行で定義されています。

openrave.h1289 行で定義されています。

openrave.h1290 行で定義されています。

openrave.h1291 行で定義されています。

openrave.h1292 行で定義されています。

openrave.h1293 行で定義されています。

openrave.h1294 行で定義されています。

openrave.h1295 行で定義されています。

openrave.h1296 行で定義されています。

openrave.h1297 行で定義されています。

openrave.h1298 行で定義されています。

openrave.h1299 行で定義されています。

openrave.h1300 行で定義されています。


このクラスの説明は次のファイルから生成されました: