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/Rover/AP_ExternalControl_Rover.h
Views: 1798
1
/*
2
external control library for rover
3
*/
4
#pragma once
5
6
#include <AP_ExternalControl/AP_ExternalControl.h>
7
8
#if AP_EXTERNAL_CONTROL_ENABLED
9
10
class AP_ExternalControl_Rover : public AP_ExternalControl
11
{
12
public:
13
/*
14
Set linear velocity and yaw rate. Pass NaN for yaw_rate_rads to not control yaw.
15
Velocity is in earth frame, NED [m/s].
16
Yaw is in earth frame, NED [rad/s].
17
*/
18
bool set_linear_velocity_and_yaw_rate(const Vector3f &linear_velocity, float yaw_rate_rads)override WARN_IF_UNUSED;
19
20
/*
21
Sets the global position for loiter point
22
*/
23
bool set_global_position(const Location& loc) override WARN_IF_UNUSED;
24
25
private:
26
/*
27
Return true if Rover is ready to handle external control data.
28
Currently checks mode and arm states.
29
*/
30
bool ready_for_external_control() WARN_IF_UNUSED;
31
};
32
33
#endif // AP_EXTERNAL_CONTROL_ENABLED
34
35