54 std::unique_ptr<TNavigationParams>
clone()
const override 56 return std::unique_ptr<TNavigationParams>(
126 const std::string& s)
override;
129 const std::string& s)
const override;
void cancel() override
Cancel current navegation.
bool m_was_aligning
Whether the last timestep was "is_aligning" in a waypoint with heading.
TWaypointStatusSequence m_waypoint_nav_status
The latest waypoints navigation command and the up-to-date control status.
void navigationStep() override
This method must be called periodically in order to effectively run the navigation.
std::vector< mrpt::nav::CAbstractNavigator::TargetInfo > multiple_targets
If not empty, this will prevail over the base class single goal target.
This is a virtual base class for sets of options than can be loaded from and/or saved to configuratio...
void onStartNewNavigation() override
Called whenever a new navigation has been started.
double waypoint_angle_tolerance
[rad] Angular error tolerance for waypoints with an assigned heading (Default: 5 deg) ...
bool waypoints_isAligning() const
Base for all high-level navigation commands.
std::recursive_mutex m_nav_waypoints_cs
std::unique_ptr< TNavigationParams > clone() const override
TWaypointsNavigatorParams params_waypoints_navigator
TWaypointStatusSequence getWaypointNavStatus() const
Get a copy of the control structure which describes the progress status of the waypoint navigation...
This class extends CAbstractNavigator with the capability of following a list of waypoints.
The struct for requesting navigation requests for a sequence of waypoints.
bool isRelativePointReachable(const mrpt::math::TPoint2D &wp_local_wrt_robot) const
Returns true if, according to the information gathered at the last navigation step, there is a free path to the given point; false otherwise: if way is blocked or there is missing information, the point is out of range for the existing PTGs, etc.
The struct for configuring navigation requests to CWaypointsNavigator and derived classes...
double max_distance_to_allow_skip_waypoint
In meters.
The struct for configuring navigation requests.
mrpt::Clock::time_point TTimeStamp
A system independent time type, it holds the the number of 100-nanosecond intervals since January 1...
This class allows loading and storing values and vectors of different types from a configuration text...
void saveToConfigFile(mrpt::config::CConfigFileBase &c, const std::string &s) const override
This method saves the options to a ".ini"-like file or memory-stored string list. ...
The struct for querying the status of waypoints navigation.
mrpt::system::TTimeStamp m_last_alignment_cmd
bool isEqual(const CAbstractNavigator::TNavigationParamsBase &o) const override
~CWaypointsNavigator() override
dtor
bool checkHasReachedTarget(const double targetDist) const override
Default implementation: check if target_dist is below the accepted distance.
TWaypointsNavigatorParams()
std::string getAsText() const override
Gets navigation params as a human-readable format.
int min_timesteps_confirm_skip_waypoints
How many times shall a future waypoint be seen as reachable to skip to it (Default: 1) ...
void loadConfigFile(const mrpt::config::CConfigFileBase &c) override
Loads all params from a file.
virtual void navigateWaypoints(const TWaypointSequence &nav_request)
Waypoint navigation request.
virtual bool impl_waypoint_is_reachable(const mrpt::math::TPoint2D &wp_local_wrt_robot) const =0
Implements the way to waypoint is free function in children classes: true must be returned if...
void onNavigateCommandReceived() override
Called after each call to CAbstractNavigator::navigate()
void loadFromConfigFile(const mrpt::config::CConfigFileBase &c, const std::string &s) override
This method load the options from a ".ini"-like file or memory-stored string list.
The pure virtual interface between a real or simulated robot and any CAbstractNavigator-derived class...
CWaypointsNavigator(CRobot2NavInterface &robot_interface_impl)
ctor
This is the base class for any reactive/planned navigation system.
virtual void waypoints_navigationStep()
The waypoints-specific part of navigationStep()
int multitarget_look_ahead
>=0 number of waypoints to forward to the underlying navigation engine, to ease obstacles avoidance w...
void saveConfigFile(mrpt::config::CConfigFileBase &c) const override
Saves all current options to a config file.