Go to the documentation of this file.
31 #include <VirtualRobot/VirtualRobot.h>
33 #include <RobotAPI/interface/units/GraspCandidateProviderInterface.h>
41 class GraspTrajectory;
51 std::optional<std::string>
shape;
61 const std::optional<std::string>&
shape = std::nullopt);
69 const std::optional<std::string>&
shape = std::nullopt);
96 const std::optional<std::string>& shape = std::nullopt);
101 const std::optional<std::string>& shape = std::nullopt);
110 const std::optional<std::string>& shape = std::nullopt);
118 const std::optional<std::string>& shape = std::nullopt);
126 void getIndex(
float t,
int& i1,
int& i2,
float& f)
const;
139 std::optional<std::string>
GetShape(
float t)
const;
163 const Eigen::Vector3f& handForward = Eigen::Vector3f::UnitZ())
const;
167 VirtualRobot::RobotNodePtr tcp = VirtualRobot::RobotNodePtr(),
178 void setFrame(
const std::string& frame);
179 const std::optional<std::string>&
getFrame()
const;
182 void updateKeypointMap();
185 std::vector<KeypointPtr> keypoints;
186 std::map<float, size_t> keypointMap;
188 std::optional<std::string> frame_;
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())
const std::optional< std::string > & getFrame() const
static GraspTrajectoryPtr ReadFromJSON(const std::string &filename)
static GraspTrajectoryPtr ReadFromFile(const grasping::GraspCandidatePtr &cnd)
void insertKeypoint(size_t index, const Eigen::Matrix4f &tcpTarget, const Eigen::VectorXf &handJointsTarget, float dt)
std::shared_ptr< GraspTrajectoryKeypoint > GraspTrajectoryKeypointPtr
GraspTrajectoryPtr getTranslatedAndRotated(const Eigen::Vector3f &translation, const Eigen::Matrix3f &rotation)
Eigen::VectorXf feedForwardHandJointsVelocity
Eigen::Matrix4f getStartPose()
Eigen::Matrix4f getTargetPose() const
std::shared_ptr< Keypoint > KeypointPtr
Vertex target(const detail::edge_base< Directed, Vertex > &e, const PCG &)
void updateVelocities(const GraspTrajectoryKeypointPtr &prev, float deltat)
Eigen::Vector3f feedForwardPosVelocity
GraspTrajectoryPtr getTransformedToOtherHand() const
Eigen::Vector6f GetTcpDerivative(float t)
Eigen::Matrix3f getTargetOrientation() const
static GraspTrajectoryPtr ReadFromReader(const RapidXmlReaderPtr &reader)
std::optional< std::string > GetShape(float t) const
Eigen::Vector3f feedForwardOriVelocity
std::vector< Eigen::Matrix4f > getAllKeypointPoses()
std::shared_ptr< class GraspTrajectory > GraspTrajectoryPtr
GraspTrajectory()=default
void setFrame(const std::string &frame)
Eigen::Vector3f GetPositionDerivative(float t)
void removeKeypoint(size_t index)
Eigen::Vector3f getTargetPosition() const
Eigen::VectorXf GetHandValues(float t)
Length calculateLength() const
void setKeypointDt(size_t index, float dt)
GraspTrajectoryPtr getTransformed(const Eigen::Matrix4f &transform)
std::shared_ptr< Keypoint > KeypointPtr
void getIndex(float t, int &i1, int &i2, float &f)
GraspTrajectoryKeypoint()=default
const std::vector< KeypointPtr > & getAllKeypoints() const
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
std::optional< std::string > shape
MatrixXX< 4, 4, float > Matrix4f
KeypointPtr & lastKeypoint()
KeypointPtr & getKeypoint(int i)
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)
void replaceKeypoint(size_t index, const Eigen::Matrix4f &tcpTarget, const Eigen::VectorXf &handJointsTarget, float dt)
void writeToFile(const std::string &filename)
armarx::NameValueMap handJointsTarget
Eigen::Matrix4f GetPose(float t)
GraspTrajectoryPtr getClone()
float getDuration() const
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)