diff --git a/source/RobotAPI/components/units/HandUnit.cpp b/source/RobotAPI/components/units/HandUnit.cpp index 6f4fbe5d4a29cef03fdc9c44c226d047a4bf3bbf..12eeed5de028eeb7b8c1a0e62af5898070c6f8b7 100644 --- a/source/RobotAPI/components/units/HandUnit.cpp +++ b/source/RobotAPI/components/units/HandUnit.cpp @@ -141,6 +141,10 @@ void HandUnit::setShape(const std::string& shapeName, const Ice::Current& c) { } +void HandUnit::setShapeWithObjectInstance(const std::string& shapeName, const std::string& objectInstanceName, const Ice::Current& c) +{ +} + SingleTypeVariantListBasePtr HandUnit::getShapeNames(const Ice::Current& c) { diff --git a/source/RobotAPI/components/units/HandUnit.h b/source/RobotAPI/components/units/HandUnit.h index f9e1be59895f3d84406798df48b7bb615b04c9b1..4b7ec730b1d15a2c5bfde10ceffd884563518272 100644 --- a/source/RobotAPI/components/units/HandUnit.h +++ b/source/RobotAPI/components/units/HandUnit.h @@ -121,6 +121,16 @@ namespace armarx */ void setShape(const std::string& shapeName, const Ice::Current& c = ::Ice::Current()); + /** + * @brief setShapeWithObjectInstance Send command to the hand to form a specific shape position. + * While trying to form the specified shape, collison checking with the named object instance is performed. + * The resulting joint angles of the hand might differ from the predefined joint angles for the given shape. + * + * @param shapeName Name of the well known shape that the hand should form + * @param graspedObjectInstanceName name of the object instance which is used to check for collisions while setting the shape + */ + void setShapeWithObjectInstance(const std::string& shapeName, const std::string& objectInstanceName, const Ice::Current& c = ::Ice::Current()); + /** * \return a list of strings for shape positions which can be used together with HandUnit::shape(). */ diff --git a/source/RobotAPI/interface/units/HandUnitInterface.ice b/source/RobotAPI/interface/units/HandUnitInterface.ice index 2a38125ad3d3706f98aeec8c47f4ef5f04a30e9d..7fffaddfaee232773aee84914a5cd4fd5731f099 100644 --- a/source/RobotAPI/interface/units/HandUnitInterface.ice +++ b/source/RobotAPI/interface/units/HandUnitInterface.ice @@ -48,6 +48,7 @@ module armarx * @param shapeName Name of the hand shape. */ void setShape(string shapeName); + void setShapeWithObjectInstance(string shapeName, string objectInstanceName); /** * getShapeNames returns a list of names of hand shapes known to the hand unit. * @return List of known hand shape names. @@ -57,7 +58,6 @@ module armarx NameValueMap getCurrentJointValues(); string getHandName(); - /** * setObjectGrasped informs the hand unit that an object has been successfully grasped. * @param objectName Name of the object