YARP
Yet Another Robot Platform
INavigation2DServerImpl.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#ifndef YARP_DEV_NAVIGATION2DSERVERIMPL_H
7#define YARP_DEV_NAVIGATION2DSERVERIMPL_H
8
9#include "INavigation2DMsgs.h"
11#include <yarp/os/Stamp.h>
12
14{
15 private:
16 std::string m_current_goal_name;
17
18 public:
19 bool set_current_goal_name(const std::string& name);
20 bool get_current_goal_name(std::string& name);
21 bool clear();
22};
23
25{
26 private:
28 yarp::dev::Nav2D::INavigation2DTargetActions* m_iNav_target = nullptr;
30 std::mutex m_mutex;
31
32 private:
33 LastGoalStorage m_current_goal_name;
34
35 public:
39 std::mutex* getMutex() { return &m_mutex; }
40
41 //INavigation2DControlActions
42 bool stop_navigation_RPC() override;
43 bool resume_navigation_RPC() override;
44 bool suspend_navigation_RPC(double time_s) override;
50
51 //INavigation2DTargetActions
53 bool goto_target_by_relative_location1_RPC(double x, double y) override;
54 bool goto_target_by_relative_location2_RPC(double x, double y, double theta) override;
57 bool goto_target_by_absolute_location_and_set_name_RPC(const yarp::dev::Nav2D::Map2DLocation& loc, const std::string& name) override;
58
59 //INavigation2DVelocityActions
60 bool apply_velocity_command_RPC(double x_vel, double y_vel, double theta_vel, double timeout) override;
62
63 //extra
65};
66
67#endif // YARP_DEV_NAVIGATION2DSERVERIMPL_H
return_get_current_nav_waypoint get_current_nav_waypoint_RPC() override
return_get_all_nav_waypoints get_all_navigation_waypoints_RPC(yarp::dev::Nav2D::TrajectoryTypeEnum trajectory_type) override
bool goto_target_by_relative_location2_RPC(double x, double y, double theta) override
return_get_abs_loc_of_curr_target get_absolute_location_of_current_target_RPC() override
bool suspend_navigation_RPC(double time_s) override
return_get_name_of_current_target get_name_of_current_target_RPC() override
void setInterfaces(yarp::dev::Nav2D::INavigation2DTargetActions *iNav_target, yarp::dev::Nav2D::INavigation2DControlActions *iNav_ctrl, yarp::dev::Nav2D::INavigation2DVelocityActions *iNav_vel)
return_get_current_nav_map get_current_navigation_map_RPC(yarp::dev::Nav2D::NavigationMapTypeEnum map_type) override
return_get_rel_loc_of_curr_target get_relative_location_of_current_target_RPC() override
bool apply_velocity_command_RPC(double x_vel, double y_vel, double theta_vel, double timeout) override
return_get_last_velocity_command get_last_velocity_command_RPC() override
bool goto_target_by_absolute_location_RPC(const yarp::dev::Nav2D::Map2DLocation &loc) override
bool goto_target_by_absolute_location_and_set_name_RPC(const yarp::dev::Nav2D::Map2DLocation &loc, const std::string &name) override
return_get_navigation_status get_navigation_status_RPC() override
bool recompute_current_navigation_path_RPC() override
bool resume_navigation_RPC() override
bool goto_target_by_relative_location1_RPC(double x, double y) override
bool stop_navigation_RPC() override
bool set_current_goal_name(const std::string &name)
bool get_current_goal_name(std::string &name)