码迷,mamicode.com
首页 > 其他好文 > 详细

(二)上交无人机比赛 基本控制-2控制添加

时间:2018-06-07 11:34:06      阅读:328      评论:0      收藏:0      [点我收藏+]

标签:tor   TBase   角度   数据   eth   rda   static   typedef   space   

已有的为功能

namespace msr { namespace airlib {


typedef msr::airlib_rpclib::MultirotorRpcLibAdapators MultirotorRpcLibAdapators;

MultirotorRpcLibClient::MultirotorRpcLibClient(const string&  ip_address, uint16_t port, uint timeout_ms)
    : RpcLibClientBase(ip_address, port, timeout_ms)
{
}

MultirotorRpcLibClient::~MultirotorRpcLibClient()
{}
//开启
bool MultirotorRpcLibClient::armDisarm(bool arm)
{
    return static_cast<rpc::client*>(getClient())->call("armDisarm", arm).as<bool>();
}
//起飞
bool MultirotorRpcLibClient::takeoff(float max_wait_seconds)
{
    return static_cast<rpc::client*>(getClient())->call("takeoff", max_wait_seconds).as<bool>();
}
//降落
bool MultirotorRpcLibClient::land(float max_wait_seconds)
{
    return static_cast<rpc::client*>(getClient())->call("land", max_wait_seconds).as<bool>();
}
//角度速度移动
bool MultirotorRpcLibClient::moveByAngleThrottle(float pitch, float roll, float throttle, float yaw_rate, float duration)
{
    return static_cast<rpc::client*>(getClient())->call("moveByAngleThrottle", pitch, roll, throttle, yaw_rate, duration).as<bool>();
}
//悬停
bool MultirotorRpcLibClient::hover()
{
    return static_cast<rpc::client*>(getClient())->call("hover").as<bool>();
}
//GPS
GeoPoint MultirotorRpcLibClient::getGpsLocation()
{
    return static_cast<rpc::client*>(getClient())->call("getGpsLocation").as<MultirotorRpcLibAdapators::GeoPoint>().to();
}
//气压计
BarometerData MultirotorRpcLibClient::getBarometerdata(float period)
{
	return static_cast<rpc::client*>(getClient())->call("getBarometerdata", period).as<MultirotorRpcLibAdapators::BarometerData>().to();
}
//磁力计

MagnetometerData MultirotorRpcLibClient::getMagnetometerdata(float period)
{
	return static_cast<rpc::client*>(getClient())->call("getMagnetometerdata", period).as<MultirotorRpcLibAdapators::MagnetometerData>().to();
}
//IMU数据
ImuData  MultirotorRpcLibClient::getImudata(float period)
{
	return static_cast<rpc::client*>(getClient())->call("getImudata", period).as<MultirotorRpcLibAdapators::ImuData>().to();
}

}} //namespace

#endif
#endif

  

(二)上交无人机比赛 基本控制-2控制添加

标签:tor   TBase   角度   数据   eth   rda   static   typedef   space   

原文地址:https://www.cnblogs.com/kekeoutlook/p/9149250.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!