YARP
Yet Another Robot Platform
fakeNavigationDev.h
Go to the documentation of this file.
1 /*
2  * SPDX-FileCopyrightText: 2006-2021 Istituto Italiano di Tecnologia (IIT)
3  * SPDX-License-Identifier: LGPL-2.1-or-later
4  */
5 
6 #include <yarp/os/Network.h>
7 #include <yarp/os/RFModule.h>
8 #include <yarp/os/Time.h>
9 #include <yarp/os/Port.h>
10 #include <yarp/dev/INavigation2D.h>
12 #include <yarp/os/PeriodicThread.h>
13 #include <math.h>
14 
15 
18 {
19 public:
20  fakeNavigationThread(double _period, yarp::os::Searchable& _cfg);
21  virtual bool threadInit() override;
22  virtual void threadRelease() override;
23  virtual void run() override;
24 };
25 
35 {
36 private:
38  yarp::dev::Nav2D::Map2DLocation m_absgoal_loc;
39 
40 public:
42 
43 public:
44  virtual bool open(yarp::os::Searchable& config) override;
45 
47 
48  //module cleanup
49  virtual bool close() override;
50 
51 public:
58 
64  bool gotoTargetByRelativeLocation(double x, double y, double theta) override;
65 
71  bool gotoTargetByRelativeLocation(double x, double y) override;
72 
79 
85  bool getRelativeLocationOfCurrentTarget(double& x, double& y, double& theta) override;
86 
92 
97  bool stopNavigation() override;
98 
103  bool suspendNavigation(double time) override;
104 
109  bool resumeNavigation() override;
110 
117 
124 
132 
138  bool recomputeCurrentNavigationPath() override;
139 
148  virtual bool applyVelocityCommand(double x_vel, double y_vel, double theta_vel, double timeout = 0.1) override;
149 };
define control board standard interfaces
virtual void threadRelease() override
Release method.
fakeNavigationThread(double _period, yarp::os::Searchable &_cfg)
virtual void run() override
Loop function.
virtual bool threadInit() override
Initialization method.
fakeNavigation: Documentation to be added
bool resumeNavigation() override
//Resumes a previously paused navigation task.
virtual bool close() override
Close the DeviceDriver.
bool getNavigationStatus(yarp::dev::Nav2D::NavigationStatusEnum &status) override
//Gets the status of the current navigation task.
bool getCurrentNavigationWaypoint(yarp::dev::Nav2D::Map2DLocation &curr_waypoint) override
Returns the current waypoint pursued by the navigation algorithm.
bool getRelativeLocationOfCurrentTarget(double &x, double &y, double &theta) override
//Gets the last target set through a setNewRelTarget command, expressed in absolute coordinates.
bool stopNavigation() override
//Stops the current navigation task.
bool suspendNavigation(double time) override
//Pauses the current navigation task.
virtual bool applyVelocityCommand(double x_vel, double y_vel, double theta_vel, double timeout=0.1) override
Apply a velocity command.
bool gotoTargetByRelativeLocation(double x, double y, double theta) override
//Sets a new relative target, expressed in local (robot) coordinate frame.
virtual bool open(yarp::os::Searchable &config) override
Open the DeviceDriver.
bool recomputeCurrentNavigationPath() override
Forces the navigation system to recompute the path from the current robot position to the current goa...
bool getAbsoluteLocationOfCurrentTarget(yarp::dev::Nav2D::Map2DLocation &target) override
//Gets the last target set through a setNewAbsTarget() command.
fakeNavigationThread * navThread
bool gotoTargetByAbsoluteLocation(yarp::dev::Nav2D::Map2DLocation loc) override
Sets a new navigation target, expressed in the absolute (map) coordinate frame.
bool getAllNavigationWaypoints(yarp::dev::Nav2D::TrajectoryTypeEnum trajectory_type, yarp::dev::Nav2D::Map2DPath &waypoints) override
Returns the list of waypoints generated by the navigation algorithm.
bool getCurrentNavigationMap(yarp::dev::Nav2D::NavigationMapTypeEnum map_type, yarp::dev::Nav2D::MapGrid2D &map) override
Returns the current navigation map processed by the navigation algorithm.
Interface implemented by all device drivers.
Definition: DeviceDriver.h:35
An abstraction for a periodic thread.
A base class for nested structures that can be searched.
Definition: Searchable.h:66