Parameterization of basic primitives for querying inverse-kinematics solutions. [詳細]
#include <openrave.h>
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 Transform & | GetTransform6D () const |
const Vector & | GetRotation3D () const |
const Vector & | GetTranslation3D () const |
const Vector & | GetDirection3D () const |
const RAY | GetRay4D () const |
const Vector & | GetLookat3D () const |
const Vector & | GetLookat3DDirection () const |
const RAY | GetTranslationDirection5D () const |
const Vector & | GetTranslationXY2D () const |
const Vector & | GetTranslationXYOrientation3D () const |
std::pair< Vector, Vector > | GetTranslationLocalGlobal6D () const |
std::pair< Vector, dReal > | GetTranslationXAxisAngle4D () const |
std::pair< Vector, dReal > | GetTranslationYAxisAngle4D () const |
std::pair< Vector, dReal > | GetTranslationZAxisAngle4D () const |
std::pair< Vector, dReal > | GetTranslationXAxisAngleZNorm4D () const |
std::pair< Vector, dReal > | GetTranslationYAxisAngleXNorm4D () const |
std::pair< Vector, dReal > | GetTranslationZAxisAngleYNorm4D () 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 |
IkParameterization & | MultiplyTransform (const Transform &t) |
in-place left-transform into a new coordinate system. Equivalent to t * ikparam | |
IkParameterization & | MultiplyTransformRight (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 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.
openrave.h の 1284 行で定義されています。
openrave.h の 1288 行で定義されています。
|
inline |
openrave.h の 1302 行で定義されています。
|
inline |
sets a 6D transform parameterization
openrave.h の 1305 行で定義されています。
|
inline |
sets a ray parameterization
openrave.h の 1309 行で定義されています。
|
inline |
set a custom parameterization using a transform as the source of the data. Not all types are supported with this method.
openrave.h の 1313 行で定義されています。
|
inlinestaticprotected |
openrave.h の 2139 行で定義されています。
|
inlinestaticprotected |
openrave.h の 2142 行で定義されています。
|
inlinestaticprotected |
openrave.h の 2183 行で定義されています。
|
inline |
clears custom data
name | if name is empty, will clear all the data, otherwise will clear only the custom data with that name |
openrave.h の 1806 行で定義されています。
|
inline |
Computes the distance squared between two IK parmaeterizations.
openrave.h の 1469 行で定義されています。
|
static |
libopenrave.cpp の 1139 行で定義されています。
|
inline |
openrave.h の 1819 行で定義されています。
|
inline |
returns a const reference of the custom data key/value pairs
openrave.h の 1797 行で定義されています。
|
inline |
gets custom data if it exists, returns false if it doesn't
openrave.h の 1786 行で定義されています。
|
inline |
openrave.h の 1425 行で定義されています。
|
inlinestatic |
Returns the minimum degree of freedoms required for the IK type. Does not count custom data.
openrave.h の 1333 行で定義されています。
|
inline |
Returns the minimum degree of freedoms required for the IK type. Does not count custom data.
openrave.h の 1337 行で定義されています。
|
inline |
openrave.h の 1431 行で定義されています。
|
inline |
openrave.h の 1434 行で定義されています。
|
inline |
returns a string version of GetType
openrave.h の 2737 行で定義されています。
|
inlinestatic |
Returns the number of values used to represent the parameterization ( >= dof ). Does not count custom data.
openrave.h の 1342 行で定義されています。
|
inline |
Returns the number of values used to represent the parameterization ( >= dof ). Does not count custom data.
openrave.h の 1346 行で定義されています。
|
inline |
openrave.h の 1428 行で定義されています。
|
inline |
openrave.h の 1419 行で定義されています。
|
inline |
openrave.h の 1416 行で定義されています。
|
inline |
openrave.h の 1422 行で定義されています。
|
inline |
openrave.h の 1437 行で定義されています。
openrave.h の 1446 行で定義されています。
openrave.h の 1449 行で定義されています。
|
inline |
openrave.h の 1458 行で定義されています。
|
inline |
openrave.h の 1440 行で定義されています。
|
inline |
openrave.h の 1443 行で定義されています。
openrave.h の 1452 行で定義されています。
|
inline |
openrave.h の 1461 行で定義されています。
openrave.h の 1455 行で定義されています。
|
inline |
openrave.h の 1464 行で定義されています。
|
inline |
openrave.h の 1325 行で定義されています。
|
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.
openrave.h の 1582 行で定義されています。
|
inline |
in-place left-transform into a new coordinate system. Equivalent to t * ikparam
openrave.h の 1825 行で定義されています。
|
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:
Basically it is how the local z axis gets transformed and converting that back to world coordinates.
openrave.h の 1981 行で定義されています。
|
inline |
openrave.h の 2132 行で定義されています。
|
inline |
openrave.h の 1750 行で定義されています。
|
inline |
sets named custom data in the ik parameterization (
openrave.h の 1777 行で定義されています。
|
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
name | Describes the type of data, cannot contain spaces or new lines. |
values | the values representing the data |
openrave_exception | throws if the name is invalid |
openrave.h の 1769 行で定義されています。
|
inline |
openrave.h の 1359 行で定義されています。
|
inline |
openrave.h の 1365 行で定義されています。
|
inline |
the ray direction is not used for IK, however it is needed in order to compute the error
openrave.h の 1369 行で定義されています。
|
inline |
openrave.h の 1362 行で定義されています。
|
inline |
openrave.h の 1353 行で定義されています。
|
inline |
openrave.h の 1350 行で定義されています。
|
inline |
openrave.h の 1356 行で定義されています。
|
inline |
openrave.h の 1372 行で定義されています。
|
inline |
openrave.h の 1381 行で定義されています。
|
inline |
openrave.h の 1384 行で定義されています。
|
inline |
openrave.h の 1400 行で定義されています。
|
inline |
openrave.h の 1375 行で定義されています。
|
inline |
openrave.h の 1378 行で定義されています。
|
inline |
openrave.h の 1389 行で定義されています。
|
inline |
openrave.h の 1405 行で定義されています。
|
inline |
openrave.h の 1394 行で定義されています。
|
inline |
openrave.h の 1410 行で定義されています。
|
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.h の 1667 行で定義されています。
|
friend |
openrave.h の 2233 行で定義されています。
|
friend |
|
friend |
|
protected |
openrave.h の 2226 行で定義されています。
|
protected |
openrave.h の 2224 行で定義されています。
|
protected |
openrave.h の 2225 行で定義されています。
|
static |
openrave.h の 1289 行で定義されています。
|
static |
openrave.h の 1290 行で定義されています。
|
static |
openrave.h の 1291 行で定義されています。
|
static |
openrave.h の 1292 行で定義されています。
|
static |
openrave.h の 1293 行で定義されています。
|
static |
openrave.h の 1294 行で定義されています。
|
static |
openrave.h の 1295 行で定義されています。
|
static |
openrave.h の 1296 行で定義されています。
|
static |
openrave.h の 1297 行で定義されています。
|
static |
openrave.h の 1298 行で定義されています。
|
static |
openrave.h の 1299 行で定義されています。
|
static |
openrave.h の 1300 行で定義されています。