PX4 ROS 2 Interface Library
Library to interface with PX4 from a companion computer using ROS 2
throttle_rate.hpp
1
/****************************************************************************
2
* Copyright (c) 2023 PX4 Development Team.
3
* SPDX-License-Identifier: BSD-3-Clause
4
****************************************************************************/
5
6
#pragma once
7
8
#include <px4_msgs/msg/rover_throttle_setpoint.hpp>
9
#include <px4_msgs/msg/rover_rate_setpoint.hpp>
10
11
#include <px4_ros2/common/setpoint_base.hpp>
12
13
namespace
px4_ros2
14
{
22
class
RoverThrottleRateSetpointType
:
public
SetpointBase
23
{
24
public
:
25
explicit
RoverThrottleRateSetpointType
(
Context
& context);
26
27
~
RoverThrottleRateSetpointType
()
override
=
default
;
28
29
Configuration
getConfiguration()
override
;
30
float
desiredUpdateRateHz()
override
{
return
30.f;}
31
39
void
update
(
40
float
throttle_body_x,
float
yaw_rate_setpoint,
41
std::optional<float> throttle_body_y = {});
42
43
private
:
44
rclcpp::Node & _node;
45
rclcpp::Publisher<px4_msgs::msg::RoverThrottleSetpoint>::SharedPtr
46
_rover_throttle_setpoint_pub;
47
rclcpp::Publisher<px4_msgs::msg::RoverRateSetpoint>::SharedPtr
48
_rover_rate_setpoint_pub;
49
};
50
52
}
/* namespace px4_ros2 */
px4_ros2::Context
Definition:
context.hpp:20
px4_ros2::RoverThrottleRateSetpointType
Setpoint type for rover throttle and rate control.
Definition:
throttle_rate.hpp:23
px4_ros2::RoverThrottleRateSetpointType::update
void update(float throttle_body_x, float yaw_rate_setpoint, std::optional< float > throttle_body_y={})
Send a rover throttle setpoint and a rover rate setpoint to the flight controller.
px4_ros2::SetpointBase
Definition:
setpoint_base.hpp:20
px4_ros2::SetpointBase::Configuration
Definition:
setpoint_base.hpp:25
px4_ros2_cpp
include
px4_ros2
control
setpoint_types
experimental
rover
throttle_rate.hpp
Generated by
1.9.1