RobWorkProject
24.12.4-
|
Parameterization of a Peg in Hole action, used by the PiHStrategy. More...
#include <PiHParameterization.hpp>
Inherits AssemblyParameterization.
Public Types | |
typedef rw::core::Ptr< PiHParameterization > | Ptr |
Smart pointer type for parameterization. | |
Public Types inherited from AssemblyParameterization | |
typedef rw::core::Ptr< AssemblyParameterization > | Ptr |
smart pointer type to this class | |
Public Member Functions | |
PiHParameterization (rw::core::Ptr< rw::core::PropertyMap > pmap) | |
Construct parameterization from PropertyMap. More... | |
PiHParameterization (double holeRadius, double pegRadius, double theta, double phi, double distX, double distY, double distTContact, double x0) | |
Construct parameterization with values given directly with SI units. More... | |
virtual | ~PiHParameterization () |
Destructor. | |
virtual rw::core::Ptr< rw::core::PropertyMap > | toPropertyMap () const |
Store the parameterization in a PropertyMap. More... | |
virtual AssemblyParameterization::Ptr | clone () const |
Clone the parameterization. More... | |
virtual void | reset (rw::core::Ptr< rw::core::PropertyMap > pmap) |
Reset the parameters by taking new parameters from a PropertyMap. More... | |
Public Member Functions inherited from AssemblyParameterization | |
AssemblyParameterization () | |
Construct an empty parameterization. | |
AssemblyParameterization (rw::core::Ptr< rw::core::PropertyMap > pmap) | |
Construct a parameterization from a PropertyMap. More... | |
virtual | ~AssemblyParameterization () |
Destructor. | |
virtual AssemblyParameterization::Ptr | make (rw::core::Ptr< rw::core::PropertyMap > pmap) const |
Construct a parameterization of same type from a PropertyMap. More... | |
Public Attributes | |
double | holeRadius |
Radius of the hole. | |
double | pegRadius |
Radius of the peg. | |
double | theta |
The angle, \(\theta\), of the peg relative to the hole. More... | |
double | phi |
The approach angle, \(\phi\), giving the direction the peg approaches the hole. | |
double | distX |
The distance, x, from the hole to the center of the peg end. Distance is in direction parallel to the hole axis. | |
double | distY |
The distance, y, from the peg/hole edge to the rotation point. | |
double | distTContact |
The approach distance, d, in meters. | |
double | x0 |
The insertion depth, \(x_0\), in meters. | |
Additional Inherited Members | |
Protected Attributes inherited from AssemblyParameterization | |
rw::core::Ptr< rw::core::PropertyMap > | _pmap |
The PropertyMap. | |
Parameterization of a Peg in Hole action, used by the PiHStrategy.
image shows the initial approach pose, second image shows the linear approach motion, third image shows the angular motion, and the right image shows the final linear insertion."
The strategy is parameterized using the following parameters:
| Parameter | Description | Units | Units in PropertyMap | | --------------— | -------------------------------------------------------------------------------— | ----------------— | -----------------— | | \(r_{hole}\) | Radius of the hole. | m | mm | | \(r_{peg}\) | Radius of the peg. | m | mm | | \(\theta\) | The angle between the peg and hole axes. Zero corresponds to a straight insertion. | rad | rad | | \(\phi\) | The approach angle. | rad | rad | | x | Height of the peg end point above the hole. | m | mm | | y | The distance to the rotation point. | m | mm | | d | The approach distance. | m | mm | | \(x_0\) | The insertion depth. | m | mm |
The strategy and parameters are also described in the article [1].
[1]: Lars Carøe Sørensen, Jacob Pørksen Buch, Henrik Gordon Petersen and Dirk Kraft, Online Action Learning using Kernel Density Estimation for Quick Discovery of Good Parameters for Peg-in-Hole Insertion, In Proceedings of the 13th International Conference on Informatics in Control, Automation and Robotics (ICINCO 2016), Volume 2, pages 166-177
Construct parameterization from PropertyMap.
pmap | [in] a PropertyMap with the parameterization given as properties with user-friendly (non-SI) units. |
PiHParameterization | ( | double | holeRadius, |
double | pegRadius, | ||
double | theta, | ||
double | phi, | ||
double | distX, | ||
double | distY, | ||
double | distTContact, | ||
double | x0 | ||
) |
Construct parameterization with values given directly with SI units.
holeRadius | [in] radius of the hole, \(r_{hole}\), in meters. |
pegRadius | [in] radius of the peg, \(r_{peg}\), in meters. |
theta | [in] the peg angle, \(\theta\), in radians. |
phi | [in] the approach angle, \(\phi\), in radians. |
distX | [in] the approach distance, d, in meters. |
distY | [in] the distance to the rotation point, y, in meters. |
distTContact | [in] the approach distance, d, in meters. |
x0 | [in] the insertion depth, \(x_0\), in meters. |
|
virtual |
Clone the parameterization.
Reimplemented from AssemblyParameterization.
|
virtual |
Reset the parameters by taking new parameters from a PropertyMap.
pmap | [in] a PropertyMap. |
Reimplemented from AssemblyParameterization.
|
virtual |
Store the parameterization in a PropertyMap.
Reimplemented from AssemblyParameterization.
double theta |
The angle, \(\theta\), of the peg relative to the hole.
\(\theta = 0\) means that the peg and hole is parallel.
\(\theta = \frac{\pi}{2}\) means that the peg and hole is perpendicular.