PX4 ROS 2 Interface Library
Library to interface with PX4 from a companion computer using ROS 2
direct_actuators.hpp
1
/****************************************************************************
2
* Copyright (c) 2023 PX4 Development Team.
3
* SPDX-License-Identifier: BSD-3-Clause
4
****************************************************************************/
5
6
#pragma once
7
8
#include <Eigen/Core>
9
#include <px4_msgs/msg/actuator_motors.hpp>
10
#include <px4_msgs/msg/actuator_servos.hpp>
11
#include <px4_ros2/common/setpoint_base.hpp>
12
13
namespace
px4_ros2 {
21
class
DirectActuatorsSetpointType
:
public
SetpointBase
{
22
public
:
23
explicit
DirectActuatorsSetpointType
(
Context
& context);
24
25
static
constexpr
int
kMaxNumMotors = px4_msgs::msg::ActuatorMotors::NUM_CONTROLS;
26
static
constexpr
int
kMaxNumServos = px4_msgs::msg::ActuatorServos::NUM_CONTROLS;
27
28
~
DirectActuatorsSetpointType
()
override
=
default
;
29
30
Configuration
getConfiguration()
override
;
31
float
desiredUpdateRateHz()
override
{
return
200.f; }
32
38
void
updateServos
(
const
Eigen::Matrix<float, kMaxNumServos, 1>& servo_commands);
39
46
void
updateMotors
(
const
Eigen::Matrix<float, kMaxNumMotors, 1>& motor_commands);
47
48
private
:
49
rclcpp::Node& _node;
50
rclcpp::Publisher<px4_msgs::msg::ActuatorMotors>::SharedPtr _actuator_motors_pub;
51
rclcpp::Publisher<px4_msgs::msg::ActuatorServos>::SharedPtr _actuator_servos_pub;
52
};
53
55
}
/* namespace px4_ros2 */
px4_ros2::Context
Definition:
context.hpp:18
px4_ros2::DirectActuatorsSetpointType
Setpoint type for direct actuator control (servos and/or motors)
Definition:
direct_actuators.hpp:21
px4_ros2::DirectActuatorsSetpointType::updateMotors
void updateMotors(const Eigen::Matrix< float, kMaxNumMotors, 1 > &motor_commands)
px4_ros2::DirectActuatorsSetpointType::updateServos
void updateServos(const Eigen::Matrix< float, kMaxNumServos, 1 > &servo_commands)
px4_ros2::SetpointBase
Definition:
setpoint_base.hpp:19
px4_ros2::SetpointBase::Configuration
Definition:
setpoint_base.hpp:23
px4_ros2_cpp
include
px4_ros2
control
setpoint_types
direct_actuators.hpp
Generated by
1.9.1