几个疑问
如何根据GPS定位信息进行位置控制?
经纬度海拔高度如何转成导航坐标系?
飞控中的航迹点waypoint是基于那个坐标系的点?导航坐标系?
Home点?导航坐标系的原点?电机解锁时的点?xyz?
在代码中寻找答案
文档关于position control 的介绍:
几点个人理解
上电的时刻先建立一个NED全局坐标?
Home点的设定
设置Home点的线程:
// update home from EKF if necessary
FAST_TASK(update_home_from_EKF),
根据以下代码可知,电机解锁时设置当前位置为Home点;
// checks if we should update ahrs/RTL home position from the EKF
void Copter::update_home_from_EKF()
{
// exit immediately if home already set
if (ahrs.home_is_set()) {
return;
}
// special logic if home is set in-flight
if (motors->armed()) {
set_home_to_current_location_inflight();
} else {
// move home to current ekf location (this will set home_state to HOME_SET)
if (!set_home_to_current_location(false)) {
// ignore failure
}
}
}