Parameterization of basic primitives for querying inverse-kinematics solutions. More...
#include <openrave.h>
Public Types | |
typedef IkParameterizationType Type | RAVE_DEPRECATED |
Public Member Functions | |
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 Member Functions | |
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 Member Functions | |
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 Attributes | |
Transform | _transform |
IkParameterizationType | _type |
std::map< std::string, std::vector< dReal > > | _mapCustomData |
Friends | |
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.
Definition at line 1284 of file openrave.h.
Definition at line 1288 of file openrave.h.
|
inline |
Definition at line 1302 of file openrave.h.
|
inline |
sets a 6D transform parameterization
Definition at line 1305 of file openrave.h.
|
inline |
sets a ray parameterization
Definition at line 1309 of file openrave.h.
|
inline |
set a custom parameterization using a transform as the source of the data. Not all types are supported with this method.
Definition at line 1313 of file openrave.h.
|
inlinestaticprotected |
Definition at line 2139 of file openrave.h.
|
inlinestaticprotected |
Definition at line 2142 of file openrave.h.
|
inlinestaticprotected |
Definition at line 2183 of file openrave.h.
|
inline |
clears custom data
name | if name is empty, will clear all the data, otherwise will clear only the custom data with that name |
Definition at line 1806 of file openrave.h.
|
inline |
Computes the distance squared between two IK parmaeterizations.
Definition at line 1469 of file openrave.h.
|
static |
Definition at line 1139 of file libopenrave.cpp.
|
inline |
Definition at line 1819 of file openrave.h.
|
inline |
returns a const reference of the custom data key/value pairs
Definition at line 1797 of file openrave.h.
|
inline |
gets custom data if it exists, returns false if it doesn't
Definition at line 1786 of file openrave.h.
|
inline |
Definition at line 1425 of file openrave.h.
|
inlinestatic |
Returns the minimum degree of freedoms required for the IK type. Does not count custom data.
Definition at line 1333 of file openrave.h.
|
inline |
Returns the minimum degree of freedoms required for the IK type. Does not count custom data.
Definition at line 1337 of file openrave.h.
|
inline |
Definition at line 1431 of file openrave.h.
|
inline |
Definition at line 1434 of file openrave.h.
|
inline |
returns a string version of GetType
Definition at line 2737 of file openrave.h.
|
inlinestatic |
Returns the number of values used to represent the parameterization ( >= dof ). Does not count custom data.
Definition at line 1342 of file openrave.h.
|
inline |
Returns the number of values used to represent the parameterization ( >= dof ). Does not count custom data.
Definition at line 1346 of file openrave.h.
|
inline |
Definition at line 1428 of file openrave.h.
|
inline |
Definition at line 1419 of file openrave.h.
|
inline |
Definition at line 1416 of file openrave.h.
|
inline |
Definition at line 1422 of file openrave.h.
|
inline |
Definition at line 1437 of file openrave.h.
Definition at line 1446 of file openrave.h.
Definition at line 1449 of file openrave.h.
|
inline |
Definition at line 1458 of file openrave.h.
|
inline |
Definition at line 1440 of file openrave.h.
|
inline |
Definition at line 1443 of file openrave.h.
Definition at line 1452 of file openrave.h.
|
inline |
Definition at line 1461 of file openrave.h.
Definition at line 1455 of file openrave.h.
|
inline |
Definition at line 1464 of file openrave.h.
|
inline |
Definition at line 1325 of file openrave.h.
|
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.
Definition at line 1582 of file openrave.h.
|
inline |
in-place left-transform into a new coordinate system. Equivalent to t * ikparam
Definition at line 1825 of file openrave.h.
|
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.
Definition at line 1981 of file openrave.h.
|
inline |
Definition at line 2132 of file openrave.h.
|
inline |
Definition at line 1750 of file openrave.h.
|
inline |
sets named custom data in the ik parameterization (
Definition at line 1777 of file openrave.h.
|
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 |
Definition at line 1769 of file openrave.h.
|
inline |
Definition at line 1359 of file openrave.h.
|
inline |
Definition at line 1365 of file openrave.h.
|
inline |
the ray direction is not used for IK, however it is needed in order to compute the error
Definition at line 1369 of file openrave.h.
|
inline |
Definition at line 1362 of file openrave.h.
|
inline |
Definition at line 1353 of file openrave.h.
|
inline |
Definition at line 1350 of file openrave.h.
|
inline |
Definition at line 1356 of file openrave.h.
|
inline |
Definition at line 1372 of file openrave.h.
|
inline |
Definition at line 1381 of file openrave.h.
|
inline |
Definition at line 1384 of file openrave.h.
|
inline |
Definition at line 1400 of file openrave.h.
|
inline |
Definition at line 1375 of file openrave.h.
|
inline |
Definition at line 1378 of file openrave.h.
|
inline |
Definition at line 1389 of file openrave.h.
|
inline |
Definition at line 1405 of file openrave.h.
|
inline |
Definition at line 1394 of file openrave.h.
|
inline |
Definition at line 1410 of file openrave.h.
|
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.
Definition at line 1667 of file openrave.h.
|
friend |
Definition at line 2233 of file openrave.h.
|
friend |
|
friend |
|
protected |
Definition at line 2226 of file openrave.h.
|
protected |
Definition at line 2224 of file openrave.h.
|
protected |
Definition at line 2225 of file openrave.h.
|
static |
Definition at line 1289 of file openrave.h.
|
static |
Definition at line 1290 of file openrave.h.
|
static |
Definition at line 1291 of file openrave.h.
|
static |
Definition at line 1292 of file openrave.h.
|
static |
Definition at line 1293 of file openrave.h.
|
static |
Definition at line 1294 of file openrave.h.
|
static |
Definition at line 1295 of file openrave.h.
|
static |
Definition at line 1296 of file openrave.h.
|
static |
Definition at line 1297 of file openrave.h.
|
static |
Definition at line 1298 of file openrave.h.
|
static |
Definition at line 1299 of file openrave.h.
|
static |
Definition at line 1300 of file openrave.h.