13 #include "API/planningAPI.hpp"
38 double computeCost(
double distance);
42 std::vector<double> getVectorJim() {
return vect_jim; }
44 void setVector( std::vector<double> toDrawVector ) { vect_jim = toDrawVector; }
51 const Eigen::Vector3d& p1,
52 const Eigen::Vector3d& p2,
53 Eigen::Vector3d& closestPoint);
55 double computeBoundingBalls(
const Eigen::Vector3d& WSPoint, p3d_vector3 robot, p3d_vector3 human);
57 Eigen::Vector3d getColsestPointToHuman() {
return mClosestPointToHuman; }
59 void setSafeRadius(
double radius) { _SafeRadius = radius; }
61 void drawInteractionZone();
63 int isPointInInteractionZone(
const Eigen::Vector3d& WSPoint);
68 std::vector<Robot*> _Humans;
69 std::vector< std::vector<int> > _SafetyZonesBodyId;
70 std::vector<double> _PenetrationDist;
71 std::vector<double> vect_jim;
74 double m_InteractionRadius;
83 Eigen::Vector3d mClosestPointToHuman;
double pointToLineSegmentDistance(const Eigen::Vector3d &p, const Eigen::Vector3d &p1, const Eigen::Vector3d &p2, Eigen::Vector3d &closestPoint)
Computes the closest point of a point to a segment line.
Definition: HRICS_Distance.cpp:706
void parseHumans()
Goes through the Human (p3d_rob) structure to find the safety zones.
Definition: HRICS_Distance.cpp:103
void activateSafetyZonesMode()
Changes the collision context to compute distance only to the pritimives that represent the human...
Definition: HRICS_Distance.cpp:271
This class holds a the robot represented by a kinematic chain.
Definition: robot.hpp:42
double computeBBDist(p3d_vector3 robot, p3d_vector3 human)
Bounding Box Distance.
Definition: HRICS_Distance.cpp:536
void activateNormalMode()
Changes the collision context to compute the CD with the finer representation of the Human...
Definition: HRICS_Distance.cpp:301
Distance()
Constructor that sets the Human and Robot structures.
Definition: HRICS_Distance.cpp:26
double computeBoundingBalls(const Eigen::Vector3d &WSPoint, p3d_vector3 robot, p3d_vector3 human)
Bounding Balls Distance computes the distance to a line and a sphere The Line is the body and the sph...
Definition: HRICS_Distance.cpp:747
bool computeCylinderZone(Eigen::Vector3d &p1, Eigen::Vector3d &p2)
Computes the cylinder associated with the human (body)
Definition: HRICS_Distance.cpp:642
double getWorkspaceCost(const Eigen::Vector3d &WSPoint)
Get Workspace Cost.
Definition: HRICS_Distance.cpp:371
Definition: HRICS_Distance.hpp:20
void offSetPrim(p3d_poly *poly, double offset)
Changes dynamically the size of the zone shown in the OpenGl display.
Definition: HRICS_Distance.cpp:213
~Distance()
Destructor sets back the safety radius.
Definition: HRICS_Distance.cpp:63
std::vector< double > getDistToZones()
Main function computing the distance between the Human and the Robot.
Definition: HRICS_Distance.cpp:385