SMACC2
Loading...
Searching...
No Matches
smacc2_client_library
cl_nav2z
cl_nav2z
include
cl_nav2z
client_behaviors
cb_spin.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/spin.hpp>
18
#include <
smacc2/client_behavior_bases/cb_action_client_behavior_base.hpp
>
19
20
namespace
cl_nav2z
21
{
22
23
// Collision-checked in-place rotation via the Nav2 behavior server's Spin
24
// action (footprint simulated through the local costmap while rotating) -
25
// unlike CbPureSpinning/CbAbsoluteRotate, which spin blind.
26
class
CbSpin
27
:
public
smacc2::client_behavior_bases::CbActionClientBehaviorBase
<nav2_msgs::action::Spin>
28
{
29
public
:
30
// relative target yaw in radians; time allowance for the whole maneuver
31
CbSpin
(
float
targetYaw, std::chrono::seconds timeAllowance = std::chrono::seconds(30));
32
33
void
onEntry
()
override
;
34
35
// adjust the spin target between staticConfigure and onEntry (runtimeConfigure)
36
void
setTargetYaw
(
float
targetYaw) {
targetYaw_
= targetYaw; }
37
38
private
:
39
float
targetYaw_
;
40
std::chrono::seconds
timeAllowance_
;
41
};
42
43
}
// namespace cl_nav2z
cb_action_client_behavior_base.hpp
cl_nav2z::CbSpin
Definition
cb_spin.hpp:28
cl_nav2z::CbSpin::onEntry
void onEntry() override
Definition
cb_spin.cpp:25
cl_nav2z::CbSpin::CbSpin
CbSpin(float targetYaw, std::chrono::seconds timeAllowance=std::chrono::seconds(30))
Definition
cb_spin.cpp:20
cl_nav2z::CbSpin::setTargetYaw
void setTargetYaw(float targetYaw)
Definition
cb_spin.hpp:36
cl_nav2z::CbSpin::targetYaw_
float targetYaw_
Definition
cb_spin.hpp:39
cl_nav2z::CbSpin::timeAllowance_
std::chrono::seconds timeAllowance_
Definition
cb_spin.hpp:40
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