SMACC2
Loading...
Searching...
No Matches
smacc2_client_library
cl_nav2z
cl_nav2z
include
cl_nav2z
client_behaviors
cb_drive_on_heading.hpp
Go to the documentation of this file.
1
// Copyright 2026 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
#pragma once
16
17
#include <nav2_msgs/action/drive_on_heading.hpp>
18
#include <
smacc2/client_behavior_bases/cb_action_client_behavior_base.hpp
>
19
20
namespace
cl_nav2z
21
{
22
23
// Collision-checked straight forward translation along the current heading via
24
// the Nav2 behavior server's DriveOnHeading action: odometry-relative dead
25
// reckoning - works even when localization is degraded (compare
26
// CbNavigateForward, which needs the full planner/controller/localization stack).
27
class
CbDriveOnHeading
:
public
smacc2::client_behavior_bases::CbActionClientBehaviorBase
<
28
nav2_msgs::action::DriveOnHeading>
29
{
30
public
:
31
CbDriveOnHeading
(
32
float
distance,
float
speed = 0.15f,
33
std::chrono::seconds timeAllowance = std::chrono::seconds(30));
34
35
void
onEntry
()
override
;
36
37
private
:
38
float
distance_
;
39
float
speed_
;
40
std::chrono::seconds
timeAllowance_
;
41
};
42
43
}
// namespace cl_nav2z
cb_action_client_behavior_base.hpp
cl_nav2z::CbDriveOnHeading
Definition
cb_drive_on_heading.hpp:29
cl_nav2z::CbDriveOnHeading::onEntry
void onEntry() override
Definition
cb_drive_on_heading.cpp:25
cl_nav2z::CbDriveOnHeading::timeAllowance_
std::chrono::seconds timeAllowance_
Definition
cb_drive_on_heading.hpp:40
cl_nav2z::CbDriveOnHeading::speed_
float speed_
Definition
cb_drive_on_heading.hpp:39
cl_nav2z::CbDriveOnHeading::CbDriveOnHeading
CbDriveOnHeading(float distance, float speed=0.15f, std::chrono::seconds timeAllowance=std::chrono::seconds(30))
Definition
cb_drive_on_heading.cpp:20
cl_nav2z::CbDriveOnHeading::distance_
float distance_
Definition
cb_drive_on_heading.hpp:38
smacc2::client_behavior_bases::CbActionClientBehaviorBase
Definition
cb_action_client_behavior_base.hpp:52
cl_nav2z
Definition
cl_nav2z.hpp:23
Generated by
1.12.0