PX4 ROS 2 Interface Library
Library to interface with PX4 from a companion computer using ROS 2
Loading...
Searching...
No Matches
trajectory_executor.hpp
1
/****************************************************************************
2
* Copyright (c) 2024 PX4 Development Team.
3
* SPDX-License-Identifier: BSD-3-Clause
4
****************************************************************************/
5
6
#pragma once
7
#include <functional>
8
#include <memory>
9
#include <px4_ros2/mission/mission.hpp>
10
11
namespace
px4_ros2 {
20
class
TrajectoryExecutorInterface
{
21
public
:
22
TrajectoryExecutorInterface
() =
default
;
23
TrajectoryExecutorInterface
(
const
TrajectoryExecutorInterface
&) =
delete
;
24
virtual
~TrajectoryExecutorInterface
() =
default
;
25
26
virtual
bool
navigationItemTypeSupported(NavigationItemType type) = 0;
27
virtual
bool
frameSupported(MissionFrame mission_frame) = 0;
28
29
struct
TrajectoryConfig
{
30
std::shared_ptr<Mission> trajectory;
31
TrajectoryOptions
options;
32
int
start_index{0};
33
int
end_index{0};
34
bool
stop_at_last{
true
};
35
std::function<void(
int
)> on_index_reached;
36
std::function<void()> on_failure;
37
};
38
virtual
void
runTrajectory(
const
TrajectoryConfig
& config) = 0;
39
40
virtual
void
updateSetpoint() = 0;
41
};
42
44
}
/* namespace px4_ros2 */
px4_ros2::TrajectoryExecutorInterface
Interface for a trajectory executor.
Definition
trajectory_executor.hpp:20
px4_ros2::TrajectoryExecutorInterface::TrajectoryConfig
Definition
trajectory_executor.hpp:29
px4_ros2::TrajectoryOptions
Definition
mission.hpp:114
px4_ros2_cpp
include
px4_ros2
mission
trajectory
trajectory_executor.hpp
Generated by
1.9.8