ArduPilot——AP_L1_control——如何更新航点?
2018-04-04 15:35
337 查看
版权声明:本文为博主原创博文,未经允许不得转载,若要转载,请说明出处并给出博文链接
本文详细讲解了ArduPilot中AP_L1_control库中的update_waypoint函数的实现!!!
L1控制器的update_waypoint方法的最终输出是一个所需的横向加速度(以下以红色显示为“latAccDem”),它应使飞机回到原点origin和目的地destination之间的线路。
使用的公式如下所示。 阻尼damping来自NAVL1_DAMPING参数。 周期period来自NAVL1_PERIOD参数。
![](https://img-blog.csdn.net/20180404151112526?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTI4MTQ5NDY=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)
alongTrackDist : 从A到从A到B线上最近点的距离
A_air : 原点到当前飞机所在位置的距离
L1_dist : 轨迹上从alongTrackDist到目标点的距离
L1_dist = 1/π * damping * period * speed ≈ 0.3183099* damping * period * speed
Nu1 : vehicle(飞机等)到L1_dist与从A到B的线形成的夹角
Nu2 :vehicle velocity(飞机等速度)与线AB的夹角
latAccDem :理想的飞机水平加速度输出
latAccDem = 4 * damping² * speed² * sin(Nu) / L1_dist . (Nu = Nu1 + Nu2)
本文详细讲解了ArduPilot中AP_L1_control库中的update_waypoint函数的实现!!!
L1控制器的update_waypoint方法的最终输出是一个所需的横向加速度(以下以红色显示为“latAccDem”),它应使飞机回到原点origin和目的地destination之间的线路。
使用的公式如下所示。 阻尼damping来自NAVL1_DAMPING参数。 周期period来自NAVL1_PERIOD参数。
alongTrackDist : 从A到从A到B线上最近点的距离
A_air : 原点到当前飞机所在位置的距离
L1_dist : 轨迹上从alongTrackDist到目标点的距离
L1_dist = 1/π * damping * period * speed ≈ 0.3183099* damping * period * speed
Nu1 : vehicle(飞机等)到L1_dist与从A到B的线形成的夹角
Nu2 :vehicle velocity(飞机等速度)与线AB的夹角
latAccDem :理想的飞机水平加速度输出
latAccDem = 4 * damping² * speed² * sin(Nu) / L1_dist . (Nu = Nu1 + Nu2)
相关文章推荐
- 如何解决栅格色彩拉伸后TocControl里的图例不能更新的问题2
- 如何解决栅格色彩拉伸后TocControl里的图例不能更新的问题
- 滑动ScrollView的时候如何更新 PageControl 的页数
- 如何根据name来找到control/component?
- 后台脚本更新后 如何让前端浏览器也更新脚本
- Win8 Metro应用开发:如何使用Push notification来更新你的Metro style app
- 从 windows phone7 到 windows phone 8 更新 如何设配两个版本
- VC如何问题集锦(不断更新中...)
- 如何用 Rational Application Developer 7.0 及更新版在 JSP 中使用 Service Data Objects
- WinForm/Silverlight多线程编程中如何更新UI控件的值
- 如何更新Win10预览版14393.103
- 如何保存长Ping记录、普通域用户的runas用法(更新中)
- 水晶报表的数据源为存储过程,现在存储过程新增加一个参数,如何更新水晶报表的parameters。
- 如何直接在github网站上更新你fork的repo?
- supergridcontrol中如何添加gridcolumn
- 如何用wifi-linux检测AP信号强度
- [视频]MAC OS 技巧之如何更新及重装MAC系统
- 如何改变Tab Control的颜色
- 如何删除 CentOS 6 更新后产生的多余的内核
- ios app如何更新版本