Mission Planner地面站中坐标是如何实时更新的

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mission Planner地面站中坐标是如何实时更新的相关的知识,希望对你有一定的参考价值。


在 MainV2.comPort.MAV.cs. 中存放着飞控当前信息。把鼠标放到 cs 上会出现一个CurrentState类的简释。

在CurrentState.cs中有部分代码揭示了答案。

public float alt
        {
            get { return (_alt - altoffsethome)*multiplierdist; }
            set
            {
                // check update rate, and ensure time hasnt gone backwards                
                _alt = value;

                if ((datetime - lastalt).TotalSeconds >= 0.2 && oldalt != alt || lastalt > datetime)
                {
                    climbrate = (alt - oldalt)/(float) (datetime - lastalt).TotalSeconds;
                    verticalspeed = (alt - oldalt)/(float) (datetime - lastalt).TotalSeconds;
                    if (float.IsInfinity(_verticalspeed))
                        _verticalspeed = 0;
                    lastalt = datetime;
                    oldalt = alt;
                }
            }
        }

更直观的

 public void UpdateCurrentSettings(System.Windows.Forms.BindingSource bs, bool updatenow,
            MAVLinkInterface mavinterface, MAVState MAV)
        {
            lock (this)
            {
                if (DateTime.Now > lastupdate.AddMilliseconds(50) || updatenow) // 20 hz
                {
                    lastupdate = DateTime.Now;

……

也就是说,Mission Planner 是以时间偏差作为更新的标准的。

 

以上是关于Mission Planner地面站中坐标是如何实时更新的的主要内容,如果未能解决你的问题,请参考以下文章

Mission Planner编译

APM2.8 Rover 自动巡航车设计(固件安装和设置)

pix怎么下载地面站

[HDU4316]Mission Impossible(计算几何/凸包/半平面交)

用双像解析摄影测量方法测求地面点三维坐标主要有几

双像解析摄影测量确定待定点坐标有哪几种方法?它们是如何确定的?