34#ifndef VP_ROBOT_MAVSDK_H
35#define VP_ROBOT_MAVSDK_H
37#include <visp3/core/vpConfig.h>
41#if defined(VISP_HAVE_MAVSDK) && ((__cplusplus >= 201703L) || (defined(_MSVC_LANG) && (_MSVC_LANG >= 201703L))) \
42 && defined(VISP_HAVE_THREADS)
50#include <visp3/core/vpHomogeneousMatrix.h>
104 void connect(
const std::string &connection_info);
110 void getPosition(
float &ned_north,
float &ned_east,
float &ned_down,
float &ned_yaw)
const;
112 std::tuple<float, float>
getHome()
const;
133 bool setPosition(
float ned_north,
float ned_east,
float ned_down,
float ned_yaw,
bool blocking =
true,
134 int timeout_sec = 10);
136 bool setPositionRelative(
float ned_delta_north,
float ned_delta_east,
float ned_delta_down,
float ned_delta_yaw,
137 bool blocking =
true,
int timeout_sec = 10);
146 bool takeOff(
bool interactive =
true,
int timeout_sec = 10,
bool use_gps =
false);
147 bool takeOff(
bool interactive,
double takeoff_altitude,
int timeout_sec = 10,
bool use_gps =
false);
153 void createDroneController();
154 void setupCallbacks();
155 void startController();
160 class vpRobotMavsdkImpl;
161 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)