Go to the documentation of this file.
30 #include <RobotAPI/interface/units/GraspCandidateProviderInterface.h>
39 #include <ArmarXCore/interface/serialization/Eigen.h>
41 #include <VirtualRobot/math/AbstractFunctionR1R6.h>
42 #include <VirtualRobot/math/Helpers.h>
105 void getIndex(
float t,
int& i1,
int& i2,
float& f);
152 void updateKeypointMap();
155 std::vector<KeypointPtr> keypoints;
156 std::map<float, size_t> keypointMap;
std::shared_ptr< RapidXmlReader > RapidXmlReaderPtr
Eigen::Vector3f GetPosition(float t)
std::vector< Eigen::Vector3f > getAllKeypointPositions()
Eigen::Matrix4f tcpTarget
std::vector< Eigen::Matrix3f > getAllKeypointOrientations()
SimpleDiffIK::Reachability calculateReachability(VirtualRobot::RobotNodeSetPtr rns, VirtualRobot::RobotNodePtr tcp=VirtualRobot::RobotNodePtr(), SimpleDiffIK::Parameters params=SimpleDiffIK::Parameters())
static GraspTrajectoryPtr ReadFromFile(const grasping::GraspCandidatePtr &cnd)
void insertKeypoint(size_t index, const Eigen::Matrix4f &tcpTarget, const Eigen::VectorXf &handJointsTarget, float dt)
GraspTrajectoryPtr getTranslatedAndRotated(const Eigen::Vector3f &translation, const Eigen::Matrix3f &rotation)
Eigen::Matrix4f getStartPose()
std::shared_ptr< Keypoint > KeypointPtr
Vertex target(const detail::edge_base< Directed, Vertex > &e, const PCG &)
Eigen::VectorXf handJointsTarget
Eigen::Vector6f GetTcpDerivative(float t)
Eigen::Matrix3f getTargetOrientation() const
static GraspTrajectoryPtr ReadFromReader(const RapidXmlReaderPtr &reader)
std::vector< Eigen::Matrix4f > getAllKeypointPoses()
std::shared_ptr< class GraspTrajectory > GraspTrajectoryPtr
GraspTrajectory()=default
Eigen::Vector3f GetPositionDerivative(float t)
void removeKeypoint(size_t index)
Eigen::VectorXf GetHandValues(float t)
Length calculateLength() const
void setKeypointDt(size_t index, float dt)
Eigen::Vector3f getTargetPosition() const
GraspTrajectoryPtr getTransformed(const Eigen::Matrix4f &transform)
void getIndex(float t, int &i1, int &i2, float &f)
Eigen::VectorXf GetHandJointsDerivative(float t)
Eigen::Vector3f GetOrientationDerivative(float t)
static GraspTrajectoryPtr ReadFromString(const std::string &xml)
GraspTrajectoryPtr getTransformedToGraspPose(const Eigen::Matrix4f &target, const Eigen::Vector3f &handForward=Eigen::Vector3f::UnitZ())
MatrixXX< 3, 3, float > Matrix3f
MatrixXX< 4, 4, float > Matrix4f
int GetHandJointCount() const
KeypointPtr & lastKeypoint()
KeypointPtr & getKeypoint(int i)
Keypoint(const Eigen::Matrix4f &tcpTarget, const Eigen::VectorXf &handJointsTarget)
auto transform(const Container< InputT, Alloc > &in, OutputT(*func)(InputT const &)) -> Container< OutputT, typename std::allocator_traits< Alloc >::template rebind_alloc< OutputT > >
Convenience function (with less typing) to transform a container of type InputT into the same contain...
Eigen::Matrix3f GetOrientation(float t)
Eigen::VectorXf feedForwardHandJointsVelocity
Eigen::Vector3f feedForwardOriVelocity
void replaceKeypoint(size_t index, const Eigen::Matrix4f &tcpTarget, const Eigen::VectorXf &handJointsTarget, float dt)
void writeToFile(const std::string &filename)
Eigen::Matrix4f getTargetPose() const
Eigen::Matrix4f GetPose(float t)
GraspTrajectoryPtr getClone()
Eigen::Vector3f feedForwardPosVelocity
float getDuration() const
void updateVelocities(const KeypointPtr &prev, float dt)
This file offers overloads of toIce() and fromIce() functions for STL container types.
size_t getKeypointCount() const
void addKeypoint(const Eigen::Matrix4f &tcpTarget, const Eigen::VectorXf &handJointsTarget, float dt)