SMACC2
Loading...
Searching...
No Matches
smacc2_client_library
cl_px4_mr
include
cl_px4_mr
client_behaviors
cb_orbit_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 <chrono>
20
#include <cmath>
21
#include <
smacc2/smacc.hpp
>
22
23
namespace
cl_px4_mr
24
{
25
26
class
CpTrajectorySetpoint;
27
class
CpVehicleLocalPosition;
28
29
class
CbOrbitLocation
:
public
CbPx4ClientBehaviorBase
30
{
31
public
:
32
CbOrbitLocation
(
33
float
centerX,
float
centerY,
float
altitude,
float
radius = 5.0f,
float
angularVelocity = 0.5f,
34
int
numOrbits = 3);
35
36
void
onEntry
()
override
;
37
void
onExit
()
override
;
38
void
update
()
override
;
39
40
private
:
41
float
centerX_
;
42
float
centerY_
;
43
float
altitude_
;
44
float
radius_
;
45
float
angularVelocity_
;
46
int
numOrbits_
;
47
48
float
currentAngle_
= 0.0f;
49
float
startAngle_
= 0.0f;
50
std::chrono::steady_clock::time_point
lastUpdateTime_
;
51
};
52
53
}
// namespace cl_px4_mr
cb_px4_client_behavior_base.hpp
cl_px4_mr::CbOrbitLocation
Definition
cb_orbit_location.hpp:30
cl_px4_mr::CbOrbitLocation::altitude_
float altitude_
Definition
cb_orbit_location.hpp:43
cl_px4_mr::CbOrbitLocation::onEntry
void onEntry() override
Definition
cb_orbit_location.cpp:33
cl_px4_mr::CbOrbitLocation::lastUpdateTime_
std::chrono::steady_clock::time_point lastUpdateTime_
Definition
cb_orbit_location.hpp:50
cl_px4_mr::CbOrbitLocation::currentAngle_
float currentAngle_
Definition
cb_orbit_location.hpp:48
cl_px4_mr::CbOrbitLocation::update
void update() override
Definition
cb_orbit_location.cpp:57
cl_px4_mr::CbOrbitLocation::startAngle_
float startAngle_
Definition
cb_orbit_location.hpp:49
cl_px4_mr::CbOrbitLocation::CbOrbitLocation
CbOrbitLocation(float centerX, float centerY, float altitude, float radius=5.0f, float angularVelocity=0.5f, int numOrbits=3)
Definition
cb_orbit_location.cpp:22
cl_px4_mr::CbOrbitLocation::numOrbits_
int numOrbits_
Definition
cb_orbit_location.hpp:46
cl_px4_mr::CbOrbitLocation::radius_
float radius_
Definition
cb_orbit_location.hpp:44
cl_px4_mr::CbOrbitLocation::angularVelocity_
float angularVelocity_
Definition
cb_orbit_location.hpp:45
cl_px4_mr::CbOrbitLocation::centerX_
float centerX_
Definition
cb_orbit_location.hpp:41
cl_px4_mr::CbOrbitLocation::centerY_
float centerY_
Definition
cb_orbit_location.hpp:42
cl_px4_mr::CbOrbitLocation::onExit
void onExit() override
Definition
cb_orbit_location.cpp:55
cl_px4_mr::CbPx4ClientBehaviorBase
Definition
cb_px4_client_behavior_base.hpp:61
cl_px4_mr
Definition
cl_px4_mr.hpp:29
smacc.hpp
Generated by
1.12.0