Class TwoCirclesFootprint
Defined in File footprint_model.h
Inheritance Relationships
Base Type
public hateb_local_planner::BaseFootprintModel(Class BaseFootprintModel)
Class Documentation
-
class TwoCirclesFootprint : public hateb_local_planner::BaseFootprintModel
Class that approximates the robot/human with two shifted circles.
Public Functions
-
inline TwoCirclesFootprint(double front_offset, double front_radius, double rear_offset, double rear_radius)
Default constructor of the abstract obstacle class.
- Parameters:
front_offset – shift the center of the front circle along the robot/human orientation starting from the center at the rear axis (in meters)
front_radius – radius of the front circle
rear_offset – shift the center of the rear circle along the opposite robot/human orientation starting from the center at the rear axis (in meters)
rear_radius – radius of the front circle
-
~TwoCirclesFootprint() override = default
Virtual destructor.
-
inline void setParameters(double front_offset, double front_radius, double rear_offset, double rear_radius)
Set parameters of the contour/footprint.
- Parameters:
front_offset – shift the center of the front circle along the robot/human orientation starting from the center at the rear axis (in meters)
front_radius – radius of the front circle
rear_offset – shift the center of the rear circle along the opposite robot/human orientation starting from the center at the rear axis (in meters)
rear_radius – radius of the front circle
-
inline virtual double calculateDistance(const PoseSE2 ¤t_pose, const Obstacle *obstacle) const override
Calculate the distance between the robot/human and an obstacle.
- Parameters:
current_pose – Current robot/human pose
obstacle – Pointer to the obstacle
- Returns:
Euclidean distance to the robot/human
-
inline virtual double estimateSpatioTemporalDistance(const PoseSE2 ¤t_pose, const Obstacle *obstacle, double t) const override
Estimate the distance between the robot/human and the predicted location of an obstacle at time t.
- Parameters:
current_pose – robot/human pose, from which the distance to the obstacle is estimated
obstacle – Pointer to the dynamic obstacle (constant velocity model is assumed)
t – time, for which the predicted distance to the obstacle is calculated
- Returns:
Euclidean distance to the robot/human
-
inline virtual void visualizeModel(const PoseSE2 ¤t_pose, std::vector<visualization_msgs::Marker> &markers, const std_msgs::ColorRGBA &color) const override
Visualize the robot/human using a markers.
Fill a marker message with all necessary information (type, pose, scale and color). The header, namespace, id and marker lifetime will be overwritten.
- Parameters:
current_pose – Current robot/human pose
markers – [out] container of marker messages describing the robot/human shape
color – Color of the footprint
-
inline virtual double getInscribedRadius() override
Compute the inscribed radius of the footprint model.
- Returns:
inscribed radius
-
inline virtual double getCircumscribedRadius() const override
Compute the circumscribed radius of the footprint model.
- Returns:
circumscribed radius
-
inline TwoCirclesFootprint(double front_offset, double front_radius, double rear_offset, double rear_radius)