CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutSign UpSign In
Ardupilot

Real-time collaboration for Jupyter Notebooks, Linux Terminals, LaTeX, VS Code, R IDE, and more,
all in one place. Commercial Alternative to JupyterHub.

GitHub Repository: Ardupilot/ardupilot
Path: blob/master/libraries/AP_DDS/AP_DDS_ExternalControl.h
Views: 1798
1
#pragma once
2
3
#if AP_DDS_ENABLED
4
#include "ardupilot_msgs/msg/GlobalPosition.h"
5
#include "geometry_msgs/msg/TwistStamped.h"
6
#include <AP_Arming/AP_Arming.h>
7
#include <AP_Common/Location.h>
8
9
class AP_DDS_External_Control
10
{
11
public:
12
// REP-147 Goal Interface Global Position Control
13
// https://ros.org/reps/rep-0147.html#goal-interface
14
static bool handle_global_position_control(ardupilot_msgs_msg_GlobalPosition& cmd_pos);
15
static bool handle_velocity_control(geometry_msgs_msg_TwistStamped& cmd_vel);
16
static bool arm(AP_Arming::Method method, bool do_arming_checks);
17
static bool disarm(AP_Arming::Method method, bool do_disarm_checks);
18
19
private:
20
static bool convert_alt_frame(const uint8_t frame_in, Location::AltFrame& frame_out);
21
};
22
#endif // AP_DDS_ENABLED
23
24