setHomeLocation设置新的返航点,无人机返航实际降落点偏差比较大
Completed精灵4rtk版本无人机开启rtk并设置坐标系为WGS84, 把无人机放在地面某一个点等待rtk的状态isRTKBeingUsed为true、FIXED_POINT的情况下获取无人机rtk输出的经纬度坐标,等飞机执行完mission航线任务无人机取消返航,重新设置新的经纬度返航点再调用startGoHome返航,实际降落点和设置的新返航点偏差比较大,差不多达到10米。咨询一下这是什么问题,应该怎么解决呢?
FlightControlUtils.cancelGoHome { isSuccess ->
if (isSuccess) {
val homeLocation = LocationCoordinate2D(23.145576295524528, 113.34530836467519)
FlightControlUtils.goHomeBySetHomeLocation(homeLocation)
}
}
-
如果RTK使用的是WGS84,如果传入的也是WGS84应该是没问题。你是如何判断出这个10m的误差的呢?是实际飞行中发现降落位置偏差很大,还是从FlightControllerState中读取的无人机位置信息与传入的坐标进行比对,还是在地图上判断两个点之间的位置差别呢? 判断无人机是否降落在你设置的返航点上,需要使用getMobileStationLocation或者getFusionMobileStationLocation获取当前无人机坐标再与你设置的返航点对比。 如果是在isRTKBeingUsed为true,且FIXED_POINT的情况下,飞机导航过程中使用的是RTK数据,那么最终降落的位置应该就是RTK数据下的返航点位置。因此你传入的返航点坐标要符合RTK设置的坐标系(GPS也是使用WGS坐标系)。如果这个误差是与FlightControllerState的无人机位置进行比对而来的,那么是正常的误差,因为FlightControllerState读取的数据是没有修正的数据。如果是与地图对比而来的误差,那么也是正常的,因为我们日常使用的百度和高德地图使用的不是WDS84坐标系,因此涉及到转化。 -
是实际飞行中发现降落实测位置偏差很大,每次总是向左偏移4米,不是在地图或者其他
下面是使用M300机型rtk获取到的数据
RTK is being used: true
Positioning solution: FIXED_POINT
Fusion latitude: 23.145551463790383
Fusion longitude: 113.34529254540568
Fusion altitude: -0.0021133423
Heading valid: true
Fusion heading: -85.0下面是精灵4rtk飞机rtk获取到的数据
RTK is being used: true
Positioning solution: FIXED_POINT
Fusion latitude: 23.145583357500517
Fusion longitude: 113.34531166775496
Fusion altitude: -0.0021133423
Heading valid: true
HomePoint Location: 23.145583410956252 113.34531197047555测试结果发现无论是使用M300飞机还是精灵4rtk飞机的Fusion latitude、Fusion longitude去设置返航点,实际返航降落都是向左偏4米
-
新设置的返航点与无人机之间的距离是大于20m的吗?因为当飞机当前位置与home位置之间的距离小于20m时,调用gohome会直接降落。如果是这样也可能存在误差。 如果之前提到的状况都不是你遇到的状况,你可能需要联系support@dji.com,把飞控日志交给他们解析,这样才可以直接解析飞机的动作,或许可以查明问题的原因。这个流程可能会收费,具体哪些内容需要收费要support判断。
Please sign in to leave a comment.
Comments
6 comments