SMACC2
Loading...
Searching...
No Matches
smacc2_client_library
nav2z_client
nav2z_client
include
nav2z_client
client_behaviors
cb_wait_nav2_nodes.hpp
Go to the documentation of this file.
1
// Copyright 2021 RobosoftAI Inc.
2
//
3
// Licensed under the Apache License, Version 2.0 (the "License");
4
// you may not use this file except in compliance with the License.
5
// You may obtain a copy of the License at
6
//
7
// http://www.apache.org/licenses/LICENSE-2.0
8
//
9
// Unless required by applicable law or agreed to in writing, software
10
// distributed under the License is distributed on an "AS IS" BASIS,
11
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
// See the License for the specific language governing permissions and
13
// limitations under the License.
14
15
/*****************************************************************************************************************
16
*
17
* Authors: Pablo Inigo Blasco, Brett Aldrich
18
*
19
******************************************************************************************************************/
20
#pragma once
21
22
#include <tf2_ros/buffer.h>
23
24
#include <bond/msg/status.hpp>
25
#include <
smacc2/smacc_asynchronous_client_behavior.hpp
>
26
27
namespace
cl_nav2z
28
{
29
enum class
Nav2Nodes
30
{
31
PlannerServer
,
32
ControllerServer
,
33
RecoveriesServer
,
34
BtNavigator
,
35
MapServer
,
36
None
37
};
38
39
std::string
toString
(
Nav2Nodes
value);
40
41
Nav2Nodes
fromString
(std::string str);
42
43
class
CbWaitNav2Nodes
:
public
smacc2::SmaccAsyncClientBehavior
44
{
45
public
:
46
CbWaitNav2Nodes
(
47
std::string topicname,
48
std::vector<Nav2Nodes> waitNodes = {
49
Nav2Nodes::PlannerServer
,
Nav2Nodes::ControllerServer
,
Nav2Nodes::BtNavigator
});
50
51
CbWaitNav2Nodes
(
52
std::vector<Nav2Nodes> waitNodes = {
53
Nav2Nodes::PlannerServer
,
Nav2Nodes::ControllerServer
,
Nav2Nodes::BtNavigator
});
54
55
void
onEntry
()
override
;
56
57
private
:
58
void
onMessageReceived
(
const
bond::msg::Status & msg);
59
60
std::string
topicname_
;
61
62
rclcpp::Subscription<bond::msg::Status>::SharedPtr
sub_
;
63
std::map<Nav2Nodes, bool>
receivedAliveMsg_
;
64
65
std::vector<Nav2Nodes>
waitNodes_
;
66
};
67
}
// namespace cl_nav2z
cl_nav2z::CbWaitNav2Nodes
Definition
cb_wait_nav2_nodes.hpp:44
cl_nav2z::CbWaitNav2Nodes::receivedAliveMsg_
std::map< Nav2Nodes, bool > receivedAliveMsg_
Definition
cb_wait_nav2_nodes.hpp:63
cl_nav2z::CbWaitNav2Nodes::onEntry
void onEntry() override
Definition
cb_wait_nav2_nodes.cpp:80
cl_nav2z::CbWaitNav2Nodes::waitNodes_
std::vector< Nav2Nodes > waitNodes_
Definition
cb_wait_nav2_nodes.hpp:65
cl_nav2z::CbWaitNav2Nodes::onMessageReceived
void onMessageReceived(const bond::msg::Status &msg)
Definition
cb_wait_nav2_nodes.cpp:36
cl_nav2z::CbWaitNav2Nodes::sub_
rclcpp::Subscription< bond::msg::Status >::SharedPtr sub_
Definition
cb_wait_nav2_nodes.hpp:62
cl_nav2z::CbWaitNav2Nodes::topicname_
std::string topicname_
Definition
cb_wait_nav2_nodes.hpp:60
smacc2::SmaccAsyncClientBehavior
Definition
smacc_asynchronous_client_behavior.hpp:56
cl_nav2z
Definition
backward_global_planner.hpp:28
cl_nav2z::toString
std::string toString(Nav2Nodes value)
Definition
cb_wait_nav2_nodes.cpp:98
cl_nav2z::Nav2Nodes
Nav2Nodes
Definition
cb_wait_nav2_nodes.hpp:30
cl_nav2z::Nav2Nodes::PlannerServer
@ PlannerServer
cl_nav2z::Nav2Nodes::BtNavigator
@ BtNavigator
cl_nav2z::Nav2Nodes::None
@ None
cl_nav2z::Nav2Nodes::RecoveriesServer
@ RecoveriesServer
cl_nav2z::Nav2Nodes::ControllerServer
@ ControllerServer
cl_nav2z::Nav2Nodes::MapServer
@ MapServer
cl_nav2z::fromString
Nav2Nodes fromString(std::string str)
Definition
cb_wait_nav2_nodes.cpp:117
smacc_asynchronous_client_behavior.hpp
Generated by
1.9.8