【问题标题】:DJI A3 Onboard SDK problem (No connection)DJI A3 Onboard SDK 问题(无连接)
【发布时间】:2020-02-10 18:46:26
【问题描述】:

我有一台带 A3 控制器的 DJI S900。我在树莓派和无人机之间建立了 API 连接。直到上周,一切都很完美,但现在,我遇到了下面显示的错误(我正在运行遥测示例)。

串口线和树莓派没有问题。此外,SDK 已启用,API 设置正确。我重置了控制器并升级了它。但是,我有同样的错误。另外,在升级控制器之前,我尝试了很多次关闭并重新打开所有设备。

  • A3 固件 = V1.7.7.0,
  • OSDK = 3.8.1,
  • Raspberry Pi 操作系统 = Rasbian,
  • 光桥 2 = 1.1.40

读取应用 ID 用户配置读取成功。

STATUS/1 @ init, L55: Attempting to open device /dev/serial0 with 
baudrate 230400...

STATUS/1 @ init, L65: ...Serial started successfully.

ERRORLOG/1 @ getDroneVersion, L1418: Drone version not obtained! Please 
do not proceed.
Possible reasons:
    Serial port connection:
            * SDK is not enabled, please check DJI Assistant2 -> SDK -> 
[v] Enable API Control.
            * Baudrate is not correct, please double-check from DJI 
Assistant2 -> SDK -> baudrate.
            * TX and RX pins are inverted.
            * Serial port is occupied by another program.
            * Permission required. Please do 'sudo usermod -a -G dialout 
$USER' (you do not need to replace $USER with your username). Then logout 
and login again

ERRORLOG/1 @ activate, L1302: Unable to initialize some vehicle 
components!
STATUS/1 @ getErrorCodeMessage, L656: initVehicle
STATUS/1 @ getCommonErrorCodeMessage, L722: ACK_NO_RESPONSE_ERROR
Vehicle not initialized, exiting.

【问题讨论】:

  • 您确定您的 Pi 上的 UART 已启用。您可以检查 UART 是否正在工作,将 RX 和 TX 引脚连接在一起并运行minicom -D /dev/serial0,如果您键入内容并在屏幕上看到它,则表示您的端口是好的。也可能是其他进程弄乱了 UART(如果您没有禁用它,可能是内核控制台)

标签: dji-sdk


【解决方案1】:

您提供的信息还不够,可能有很多可能性。请仔细阅读以下清单(这是我首先想到的,如果我记得有新的,我会添加它)

该列表用于错误,例如未获取无人机版本或新设备错误或第一次成功连接(获取固件)然后对 DJI OSDK 和 DJI OSDK-ROS 激活失败

  1. 是否启用了 RPI 上的 UART?如果没有,请启用它。您是否也在使用正确的序列号?如果没有,请正确设置。推荐使用 /dev/serial/by-id/usb-XXX 方法

  2. DJI assisatnt2 中的波特率和OSDK 的USERCONFIG 文件中的波特率一样吗?如果没有,就改成一样

  3. 您是否授予串行设备权限,例如 sudo chmod a+rw 或 sudo usermod -a -G dialout $USER 或设置 udev 规则。如果没有,请选择正确的方法。

  4. FTDI 系列问题

    4.1 您之前是否在其他平台上成功使用过此 FTDI 电缆?(确保 tx rx 正确)

    4.2 这是 FTDI 3.3V 吗?如果没有,您的 FCU 板很有可能已经烧毁。送回去维修。

    4.3 测量 Tx 和 RX 引脚上的电压,同时一切都已连接,它是否被拉高到 3.3V?如果小于 3,则存在严重的通信问题。

    4.4 周围有 EMI 发生器吗?(这一次发生在我身上,花了我 2 周的时间来隔离问题,EMI 导致连接不可靠)

    4.5 作为一项附加测试,使用实时测试 Y 电缆的 tx 和 tx,看看您是否可以看到任何正常的通信发生。

  5. 你忘记打开遥控器了吗?如果是这样,在调用 sdk.launch 时打开它

  6. GO 应用端问题

    6.1 你是否在运行 sdk.launch 时连接了 Go 应用程序?如果不是通过GO应用连接,连接它,它会弹出……

    6.2 您是否登录了创建应用程序 ID 的帐户?如果没有,请登录。

    6.3 您的账号是否曾因在非授权区域飞行而被禁止(例如被 DJI 航测仪/Flyhub 捕获),而警察实际上正在追捕您?如果是这样,请停止玩无人机并自首。通常最多应入狱一年,但如果您抗拒,惩罚可能会更致命。

  7. 您是否从 GO 应用程序授予权限?在 RPI 中运行 sdk.launch 后,在 GO App 上单击确定或确认。启动 sdk 后,Go 应用会弹出……你做过/体验过吗? 更换固件后,你应该再次体验。

  8. 您之前是否尝试过使用 3.8 和普通 X86/X64 英特尔 PC/笔记本电脑和 Ubuntu 16/18 的硬件?它在工作吗? (排除硬件/连接问题)如果可以工作,那么它的 RPI 问题。如果不能,高机会无人机/RC 方。我确实有几个 RPI 烧毁经验 b4。

  9. 您是否有有效/正确的应用程序 ID 和加密密钥?仔细检查一下。如果不是,则输入正确。

  10. 提供给A3的电压是否稳定干净?

  11. 您尝试过这种调用方式吗? /the_sample_u_wish_to_run UserConfig.txt /dev/ttyACM0(这是我从其他人的经验中收集的)

  12. 您使用的是哪个版本的 RPI,如果您使用的是 2 系列,则很有可能您必须将 https://github.com/dji-sdk/Onboard-SDK/tree/raspberrypi-support 与旧版本固件一起使用。我只用 RPI 3B 进行了测试。不能保证其他版本的功能。这就是为什么数字 8 对隔离问题很重要。

  13. 您是从其他地方调用 sdk.launch 吗?确保只调用一次并防止它再次调用。确保串口未被占用。

  14. 确保在 DJI 助手 2 中启用 API。关闭所有电源并再次连接到 DJI 助手 2 以验证这一点。如果电路板有任何问题,您在上一次运行中设置的 API 启用将自动取消选择。这是为了排除烧毁FCU板的问题。

  15. 如果现在仍然无法正常工作,那么您应该尝试使用固件 1.7.7 和 1.7.5 或任何您可以访问的固件的其他 3.8 或 3.7。据我所知,他们的延迟+等待ACK总是有各种各样的问题。也许在等待串行确认时增加更多延迟会对您有所帮助(来自其他 github dji_osdk 帖子的解决方案)

  16. 如果此特定 A3 烧毁,请更换另一条新打开的 A3 和经过验证的工作 FTDI 电缆(使用 Arduino 测试)以排除 A3 问题

编辑 17. 如果您使用的是 m210 v2,则在 Pilot 应用程序上不会显示激活弹出窗口。先运行dji助手2,然后调用sdk.launch两次。

如果还是不行,请向 dev@dji.com 提交工单 + 向 Samuel@DJI 投诉。向他们发送您测试过的一长串清单,如果他们说很有可能是硬件问题。请务必将其寄回 RMA。我确实有过一台普通 A3 和一台 M600 A3 烧毁 FCU 板问题的经验。

在此之后,如果遇到无法通过OSDK执行GPS任务或无法进行本地飞行控制的情况。只是尝试不同的固件版本。 DJI 固件发布对于开发者来说通常是非常错误的。

【讨论】:

  • 感谢您的详细解释。我将检查并遵循您提到的所有步骤。我刚刚注意到,虽然 Tx 引脚有 3V,但 Rx 只有 0.3V。
  • 你连接所有东西并测量了吗?如果是这样,那么您很有可能遇到电缆问题
  • 不,我是直接从 API 端口测量的。但是,我会按照你说的明天连接所有东西再次测量它。
  • 对于刚打开的A3,我测得拉到3.3V。听起来 API 端口被烧毁或 FCU 板被烧毁。如果真的是这样引起的,最好更换组件CP2102N-A01-GQFN24或组件TXS0102。最坏的情况需要交换整个电路板。对所有其他病例进行进一步诊断。如果不能隔离问题,换个A3试试看是否是A3问题
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多