struct mrpt::nav::TWaypointStatus

A waypoint with an execution status.

#include <mrpt/nav/reactive/TWaypoint.h>

struct TWaypointStatus: public mrpt::nav::TWaypoint

    bool reached {false};
    bool skipped {false};
    mrpt::system::TTimeStamp timestamp_reach = INVALID_TIMESTAMP;
    int counter_seen_reachable {0};
    std::any user_status_data;


    TWaypointStatus& operator = (const TWaypoint& wp);
    std::string getAsText() const;

Inherited Members


    mrpt::math::TPoint2D target {INVALID_NUM, INVALID_NUM};
    std::optional<double> target_heading;
    std::string target_frame_id = "map";
    double allowed_distance {INVALID_NUM};
    double speed_ratio = 1.0;
    bool allow_skip = true;
    std::any user_data;
    static constexpr int INVALID_NUM {-100000};


    bool isValid() const;
    std::string getAsText() const;


bool reached {false}

Whether this waypoint has been reached already (to within the allowed distance as per user specifications) or skipped.

bool skipped {false}

If reached==true this boolean tells whether the waypoint was physically reached (false) or marked as reached because it was skipped (true).

mrpt::system::TTimeStamp timestamp_reach = INVALID_TIMESTAMP

Timestamp of when this waypoint was reached.

(Default=INVALID_TIMESTAMP means not reached so far)

int counter_seen_reachable {0}

(Initialized to 0 automatically) How many times this waypoint has been seen as “reachable” before it being the current active waypoint.

std::any user_status_data

Any user-stored custom status data.


TWaypointStatus& operator = (const TWaypoint& wp)

Only copies the base class TWaypoint data fields.

std::string getAsText() const

Gets navigation params as a human-readable format.