36#ifndef vpRobotMavsdk_h_
37#define vpRobotMavsdk_h_
39#include <visp3/core/vpConfig.h>
41#if defined(VISP_HAVE_MAVSDK) && (VISP_CXX_STANDARD >= VISP_CXX_STANDARD_17)
49#include <visp3/core/vpHomogeneousMatrix.h>
98 void connect(
const std::string &connection_info);
104 void getPosition(
float &ned_north,
float &ned_east,
float &ned_down,
float &ned_yaw)
const;
106 std::tuple<float, float>
getHome()
const;
127 bool setPosition(
float ned_north,
float ned_east,
float ned_down,
float ned_yaw,
bool blocking =
true,
128 int timeout_sec = 10);
130 bool setPositionRelative(
float ned_delta_north,
float ned_delta_east,
float ned_delta_down,
float ned_delta_yaw,
131 bool blocking =
true,
int timeout_sec = 10);
140 bool takeOff(
bool interactive =
true,
int timeout_sec = 10,
bool use_gps =
false);
141 bool takeOff(
bool interactive,
double takeoff_altitude,
int timeout_sec = 10,
bool use_gps =
false);
147 void createDroneController();
148 void setupCallbacks();
149 void startController();
154 class vpRobotMavsdkImpl;
155 vpRobotMavsdkImpl *m_impl;
Implementation of column vector and the associated operations.
Implementation of an homogeneous matrix and operations on such kind of matrices.
float getBatteryLevel() const
std::string getAddress() const
void setPositioningIncertitude(float position_incertitude, float yaw_incertitude)
std::tuple< float, float > getHome() const
bool sendMocapData(const vpHomogeneousMatrix &enu_M_flu, int display_fps=1)
bool takeOff(bool interactive=true, int timeout_sec=10, bool use_gps=false)
void getPosition(float &ned_north, float &ned_east, float &ned_down, float &ned_yaw) const
bool setLateralSpeed(double body_frd_vy)
bool setPositionRelative(float ned_delta_north, float ned_delta_east, float ned_delta_down, float ned_delta_yaw, bool blocking=true, int timeout_sec=10)
bool setVerticalSpeed(double body_frd_vz)
void setAutoLand(bool auto_land)
bool setForwardSpeed(double body_frd_vx)
void setTakeOffAlt(double altitude)
bool hasFlyingCapability()
void setVerbose(bool verbose)
bool setVelocity(const vpColVector &frd_vel_cmd)
void connect(const std::string &connection_info)
bool setGPSGlobalOrigin(double latitude, double longitude, double altitude)
bool setPosition(float ned_north, float ned_east, float ned_down, float ned_yaw, bool blocking=true, int timeout_sec=10)
bool setYawSpeed(double body_frd_wz)