【问题标题】:roslaunch activation failure what should i do?roslaunch激活失败怎么办?
【发布时间】:2020-02-29 10:48:45
【问题描述】:

我尝试通过键入来启动 sdk 包

roslaunch dji_sdk sdk.launch

但是每次我得到这个错误:

... logging to /home/dji/.ros/log/b31d5e94-fec0-11e9-9835-74da38ebc18f/roslaunch-manifold2-18825.log
Checking log directory for disk usage. This may take awhile.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.

started roslaunch server http://manifold2:41911/

SUMMARY

PARAMETERS

/dji_sdk/align_time: False
/dji_sdk/app_id: 1079440
/dji_sdk/app_version: 1
/dji_sdk/baud_rate: 921600
/dji_sdk/enc_key: 39d353a8e9ad01b6c...
/dji_sdk/serial_name: /dev/ttyUSB0
/dji_sdk/use_broadcast: False
/rosdistro: kinetic
/rosversion: 1.12.13
NODES
/
dji_sdk (dji_sdk/dji_sdk_node)

auto-starting new master
process[master]: started with pid [18835]
ROS_MASTER_URI=http://localhost:11311

setting /run_id to b31d5e94-fec0-11e9-9835-74da38ebc18f
process[rosout-1]: started with pid [18848]
started core service [/rosout]
process[dji_sdk-2]: started with pid [18856]

STATUS/1 @ init, L56: Attempting to open device /dev/ttyUSB0 with baudrate 921600...

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

ERRORLOG/1 @ getDroneVersion, L1503: 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, L1387: Unable to initialize some vehicle components![ERROR] [1572843926.785053218]: drone activation error
[ERROR] [1572843926.785190956]: Vehicle initialization failed
^C[dji_sdk-2] killing on exit
[rosout-1] killing on exit
[master] killing on exit
shutting down processing monitor...
... shutting down processing monitor complete
done

这是我激活无人机的步骤:

source devel/setup.bash
catkin_make
rosed dji_sdk sdk.launch

我在哪里编辑波特率/应用程序 ID/enc 密钥/和序列名。

app_id: 1079440 波特率:921600 串行名称:/dev/ttyUSB0 enc_key: 39d353a8e9ad01b6c659111904bae57ebb138785aa5159699383f28da3f56563

然后我继续执行以下命令:

roslaunch dji_sdk sdk.launch

这是我得到错误的地方。

我正在使用 USB-TTL 电缆将歧管 2-c 与 M210 RTK V2 连接,而且我在输入任何代码之前先获得了许可:

usermod -a -G dialout $USER

然后注销并登录 然后我输入:

sudo chmod 666 /dev/ttyUSB0

读取并授予串行端口权限。

TX(绿线)和Rx(白线)和地线(黑线)分别放在那里。

那么现在我该怎么办?

【问题讨论】:

  • 我对这个库不是很熟悉,但是根据to this issue,其他人也有同样的问题。您可能需要升级固件?无论如何,你可能会在那个 github 上找到答案,或者至少是更好的支持。

标签: sdk ros launch dji-sdk manifold


【解决方案1】:
  1. 部分USB-TTL线不支持921600波特率,建议使用FT232R USB-TTL线
  2. 需要在大疆助手2中开启SDK并设置无人机的buadrate 921600

【讨论】:

【解决方案2】:

可能性太多了 请参考我之前的回答,一一查看

DJI A3 Onboard SDK problem (No connection)

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

该列表用于错误,例如未获取无人机版本或新设备错误或第一次成功连接(获取固件)然后激活 DJI OSDK 和 DJI OSDK-ROS 失败。假设您已经启用了 API 控件,然后检查

  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 你的账号之前有没有因为在非授权区域飞行而被封禁(例如被大疆航空航天器/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 问题

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

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

编辑

对于您的情况,请使用 windows。因为我对基于 Windows 的方法没有任何问题 确保滑块在我的图像视图右侧。我没有 MAC,所以无法测试 MAC 解决方案。

您可能需要插上插电再插上几次

默认情况下 api 被禁用。所以你必须启用它并选择你希望接收的主题的赫兹率。祝你好运。这是我能做的。

【讨论】:

  • 1- 我没有使用 RPI,至于序列名称 /dev/ttyUSB0。 2-我认为波特率与921600不一样,dji助手2打开一次我看到它是230400但不是我没有连接到我的MacBook Pro。 3-我给予许可并按照网站上的建议注销并再次登录。 4- FTDI 电缆我怎么知道电压? 5- RC 开启。
  • 11- 我不明白你的意思。 12-我没有使用 RPI,而是使用 ROS。 13-我怎么知道包裹是否未被占用或从其他地方调用??
  • RPI 以防万一。不要坚持下去。我也经常使用带有 ROS 的 pc。不一样的921600就好了。只要 dji 助手 2 和你的启动文件一致。如果您对 assistant2 有疑问,请尝试使用 windows PC。你必须!开启 API 控制并在助手 2 中设置相同的波特率,然后再继续
  • w8 对于 M210,您必须滑动无人机上的滑块才能启用 dji asstant 2。我也遇到了麻烦。对于 M210 v2,它具有相同的 3 路滑块
  • developer.dji.com/onboard-sdk/documentation/M210-Docs/…。我只用过v1。 v2 没有。 V1 我在连接到 dji assitant2 时遇到问题。圆圈和外部电源之间有一个 3 路滑块。它仅适用于其中一种方式的 dji 助手。 V2。我认为您也必须滑动类似的东西。
猜你喜欢
  • 2021-10-22
  • 1970-01-01
  • 2011-11-15
  • 2023-03-31
  • 2017-03-20
  • 2011-04-26
  • 1970-01-01
  • 1970-01-01
  • 2011-09-03
相关资源
最近更新 更多