SMACC2
Loading...
Searching...
No Matches
smacc2_client_library
cl_px4_mr
include
cl_px4_mr
client_behaviors
cb_follow_waypoints.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 <array>
18
#include <cmath>
19
#include <
smacc2/smacc.hpp
>
20
#include <vector>
21
22
namespace
cl_px4_mr
23
{
24
25
class
CpTrajectorySetpoint;
26
class
CpGoalChecker;
27
28
class
CbFollowWaypoints
:
public
smacc2::SmaccAsyncClientBehavior
29
{
30
public
:
31
CbFollowWaypoints
(
32
std::vector<std::array<float, 4>> waypoints,
float
xyTol = 0.5f,
float
zTol = 0.3f);
33
34
void
onEntry
()
override
;
35
void
onExit
()
override
;
36
37
private
:
38
void
onGoalReachedCallback
();
39
void
commandCurrentWaypoint
();
40
41
std::vector<std::array<float, 4>>
waypoints_
;
42
float
xyTol_
;
43
float
zTol_
;
44
size_t
currentIndex_
= 0;
45
46
CpTrajectorySetpoint
*
trajectorySetpoint_
=
nullptr
;
47
CpGoalChecker
*
goalChecker_
=
nullptr
;
48
};
49
50
}
// namespace cl_px4_mr
cl_px4_mr::CbFollowWaypoints
Definition
cb_follow_waypoints.hpp:29
cl_px4_mr::CbFollowWaypoints::CbFollowWaypoints
CbFollowWaypoints(std::vector< std::array< float, 4 > > waypoints, float xyTol=0.5f, float zTol=0.3f)
Definition
cb_follow_waypoints.cpp:22
cl_px4_mr::CbFollowWaypoints::onGoalReachedCallback
void onGoalReachedCallback()
Definition
cb_follow_waypoints.cpp:67
cl_px4_mr::CbFollowWaypoints::onEntry
void onEntry() override
Definition
cb_follow_waypoints.cpp:28
cl_px4_mr::CbFollowWaypoints::xyTol_
float xyTol_
Definition
cb_follow_waypoints.hpp:42
cl_px4_mr::CbFollowWaypoints::currentIndex_
size_t currentIndex_
Definition
cb_follow_waypoints.hpp:44
cl_px4_mr::CbFollowWaypoints::zTol_
float zTol_
Definition
cb_follow_waypoints.hpp:43
cl_px4_mr::CbFollowWaypoints::onExit
void onExit() override
Definition
cb_follow_waypoints.cpp:49
cl_px4_mr::CbFollowWaypoints::commandCurrentWaypoint
void commandCurrentWaypoint()
Definition
cb_follow_waypoints.cpp:51
cl_px4_mr::CbFollowWaypoints::goalChecker_
CpGoalChecker * goalChecker_
Definition
cb_follow_waypoints.hpp:47
cl_px4_mr::CbFollowWaypoints::waypoints_
std::vector< std::array< float, 4 > > waypoints_
Definition
cb_follow_waypoints.hpp:41
cl_px4_mr::CbFollowWaypoints::trajectorySetpoint_
CpTrajectorySetpoint * trajectorySetpoint_
Definition
cb_follow_waypoints.hpp:46
cl_px4_mr::CpGoalChecker
Definition
cp_goal_checker.hpp:26
cl_px4_mr::CpTrajectorySetpoint
Definition
cp_trajectory_setpoint.hpp:29
smacc2::SmaccAsyncClientBehavior
Definition
smacc_asynchronous_client_behavior.hpp:56
cl_px4_mr
Definition
cl_px4_mr.hpp:29
smacc.hpp
Generated by
1.12.0