SMACC2
Loading...
Searching...
No Matches
smacc2_client_library
cl_px4_mr
include
cl_px4_mr
client_behaviors
cb_go_to_location.hpp
Go to the documentation of this file.
1
// Copyright 2025 Robosoft 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 <
cl_px4_mr/client_behaviors/cb_px4_client_behavior_base.hpp
>
18
19
#include <cmath>
20
#include <
smacc2/smacc.hpp
>
21
22
namespace
cl_px4_mr
23
{
24
25
class
CpTrajectorySetpoint;
26
class
CpGoalChecker;
27
28
class
CbGoToLocation
:
public
CbPx4ClientBehaviorBase
29
{
30
public
:
31
CbGoToLocation
(
32
float
targetX,
float
targetY,
float
targetZ,
33
float
yaw = std::numeric_limits<float>::quiet_NaN());
34
35
// Override the target before onEntry (e.g. from the owning state's
36
// runtimeConfigure, when the destination is only known at runtime).
37
// targetZ is raw NED (negative = up).
38
void
setTarget
(
39
float
targetX,
float
targetY,
float
targetZ,
40
float
yaw = std::numeric_limits<float>::quiet_NaN());
41
42
void
onEntry
()
override
;
43
44
void
wireCompletionSignals
()
override
;
45
void
onExit
()
override
;
46
47
private
:
48
void
onGoalReachedCallback
();
49
50
float
targetX_
;
51
float
targetY_
;
52
float
targetZ_
;
53
float
yaw_
;
54
};
55
56
}
// namespace cl_px4_mr
cb_px4_client_behavior_base.hpp
cl_px4_mr::CbGoToLocation
Definition
cb_go_to_location.hpp:29
cl_px4_mr::CbGoToLocation::CbGoToLocation
CbGoToLocation(float targetX, float targetY, float targetZ, float yaw=std::numeric_limits< float >::quiet_NaN())
Definition
cb_go_to_location.cpp:22
cl_px4_mr::CbGoToLocation::setTarget
void setTarget(float targetX, float targetY, float targetZ, float yaw=std::numeric_limits< float >::quiet_NaN())
Definition
cb_go_to_location.cpp:27
cl_px4_mr::CbGoToLocation::onExit
void onExit() override
Definition
cb_go_to_location.cpp:45
cl_px4_mr::CbGoToLocation::targetY_
float targetY_
Definition
cb_go_to_location.hpp:51
cl_px4_mr::CbGoToLocation::wireCompletionSignals
void wireCompletionSignals() override
Definition
cb_go_to_location.cpp:53
cl_px4_mr::CbGoToLocation::onEntry
void onEntry() override
Definition
cb_go_to_location.cpp:35
cl_px4_mr::CbGoToLocation::onGoalReachedCallback
void onGoalReachedCallback()
Definition
cb_go_to_location.cpp:47
cl_px4_mr::CbGoToLocation::yaw_
float yaw_
Definition
cb_go_to_location.hpp:53
cl_px4_mr::CbGoToLocation::targetX_
float targetX_
Definition
cb_go_to_location.hpp:50
cl_px4_mr::CbGoToLocation::targetZ_
float targetZ_
Definition
cb_go_to_location.hpp:52
cl_px4_mr::CbPx4ClientBehaviorBase
Definition
cb_px4_client_behavior_base.hpp:62
cl_px4_mr
Definition
cl_px4_mr.hpp:30
smacc.hpp
Generated by
1.12.0