1 #ifndef PLANNARTRAJECTORYSMOOTHING_HPP
2 #define PLANNARTRAJECTORYSMOOTHING_HPP
5 #include "API/planningAPI.hpp"
10 using namespace Eigen;
11 #include <Eigen/StdVector>
19 void initTraj(std::vector<Eigen::Vector2d,Eigen::aligned_allocator<Eigen::Vector2d> > traj,
Robot* Cylinder);
24 double computeDistOfTraj(std::vector<Eigen::Vector2d,Eigen::aligned_allocator<Eigen::Vector2d> > traj,
int begin,
int end);
26 double computeDistBetweenTrajAndPoint(std::vector<Eigen::Vector2d,Eigen::aligned_allocator<Eigen::Vector2d> > traj, Eigen::Vector2d p);
28 std::vector<Eigen::Vector2d,Eigen::aligned_allocator<Eigen::Vector2d> > removeUnnecessaryPoint(
29 std::vector<Eigen::Vector2d,Eigen::aligned_allocator<Eigen::Vector2d> > trajectory,
double threshold);
31 bool robotCanDoTraj(std::vector<Eigen::Vector2d,Eigen::aligned_allocator<Eigen::Vector2d> > traj,
32 Robot* BoundingBox,
Robot* trajOfThisRobot,
double dist);
34 std::vector<Eigen::Vector2d,Eigen::aligned_allocator<Eigen::Vector2d> > smoothTrajectory(
Robot* robot,
35 std::vector<Eigen::Vector2d,Eigen::aligned_allocator<Eigen::Vector2d> > trajectory);
37 Eigen::Vector2d getRandomPointInSegment(Eigen::Vector2d p1, Eigen::Vector2d p2,
double errorT);
39 std::vector<Eigen::Vector2d,Eigen::aligned_allocator<Eigen::Vector2d> > findShortCut(std::vector<Eigen::Vector2d,Eigen::aligned_allocator<Eigen::Vector2d> > traj, uint i, uint j);
42 std::vector<Eigen::Vector2d,Eigen::aligned_allocator<Eigen::Vector2d> > findShortCut(
43 std::vector<Eigen::Vector2d,Eigen::aligned_allocator<Eigen::Vector2d> > traj, uint i,
Robot* cyl,
Robot* robot);
45 std::vector<Eigen::Vector3d,Eigen::aligned_allocator<Eigen::Vector3d> > add3Dim(
46 std::vector<Eigen::Vector2d,Eigen::aligned_allocator<Eigen::Vector2d> > traj,
Robot* robot,
double epsilon);
48 std::vector<Eigen::Vector3d,Eigen::aligned_allocator<Eigen::Vector3d> > add3DimwithoutTrajChange(
49 std::vector<Eigen::Vector2d,Eigen::aligned_allocator<Eigen::Vector2d> > traj,
Robot* robot,
double epsilon);
51 std::vector<Eigen::Vector3d,Eigen::aligned_allocator<Eigen::Vector3d> > removeSamePoints(
52 std::vector<Eigen::Vector3d,Eigen::aligned_allocator<Eigen::Vector3d> > traj,
double epsilon);
54 std::vector<Eigen::Vector2d,Eigen::aligned_allocator<Eigen::Vector2d> > get2DtrajFrom3Dtraj(
55 std::vector<Eigen::Vector3d,Eigen::aligned_allocator<Eigen::Vector3d> > traj);
61 std::vector<Eigen::Vector2d,Eigen::aligned_allocator<Eigen::Vector2d> > _traj;
64 confPtr_t _curRobotConf;
65 confPtr_t _curCylConf;
71 #endif // PLANNARTRAJECTORYSMOOTHING_HPP
This class holds a the robot represented by a kinematic chain.
Definition: robot.hpp:42
Definition: plannarTrajectorySmoothing.hpp:13