大疆社区

标题: dji_sdk/odometry position未返回正确值 [打印本页]

作者: shijinqiao    时间: 2015-12-26
标题: dji_sdk/odometry position未返回正确值
在最新的onboard sdk 中发布的dji_sdk/odometry 没有得到正确的position是怎么回事,室内室外都一样(GPS和guidance都正常),如下:
header:
  seq: 3549
  stamp:
    secs: 1451096478
    nsecs: 971126161
  frame_id: /world
child_frame_id: ''
pose:
  pose:
    position:
      x: 0.0
      y: -inf
      z: 1.71870489792e-38
    orientation:
      x: -0.0377481579781
      y: 0.0347116068006
      z: 0.99856030941
      w: 0.0157312806696
  covariance: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
twist:
  twist:
    linear:
      x: 0.0
      y: 0.0
      z: 0.0467377528548
    angular:
      x: -9.60631028598e-24
      y: 1.06297444805e-11
      z: 5.41577754128e-39
  covariance: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]



作者: lanyusea    时间: 2015-12-28
看代码:https://github.com/dji-sdk/Onboa ... i_sdk_node_main.cpp

local position的计算方式是 飞机第一次记录下来的gps位置做home点,当前gps位置与home点做差得到当前local position。
所以如果一开始的时候gps信号不好飘远的时候,会记录下来奇怪的home点位置,导致后续计算local position出错。

解决方法是跑到户外等绿灯了再运行程序,
或者从guidance sdk里面往外拿local position




欢迎光临 大疆社区 (https://bbs.dji.com/) Powered by Discuz! X3.2