大疆社区

标题: 【SDK使用】关于Onboard SDK的问题FAQ [打印本页]

作者: X43A    时间: 2015-6-27
标题: 【SDK使用】关于Onboard SDK的问题FAQ
本帖最后由 X43A 于 2015-10-6 15:05 编辑

FAQ更新时间:2015-10-6
整理一个合理的FAQ,非官方,但基本是正确的。本帖会不定期更新,描述的问题也会随着固件版本的升级而更新。

**************************************************************************************
Q1Onboard SDK能用在哪儿?
A1
Onboard SDK目前仅能用于DJI较新发布的可扩展开放平台飞行器经纬Matrice 100”,之后会有更多新的产品支持。

Q2 M100有禁飞区吗?
A2有,同其他DJI飞行器一样。飞飞机也要遵守基本法。
   详情请参阅 http://flysafe.dji.com/cn

Q3M100双电池时负载小,单电池时续航时间短。能否提高续航?
A3
:不能。。

Q4 M100可以用于航拍吗?
A4可以。M100可挂载同inspire相同的Zenmuse X系列拍摄设备,可进行航拍。但由于M100的结构所限,拍摄时螺旋桨、脚架容易入镜,故不推荐。需要航拍请选用inspire等其他系列产品。

Q5Guidance必须安装在M100的下方吗?
A5安装Guidance时,只要保证图像处理模块的正面朝上箭头指向机头方向,图像传感模块分别连接正确的接口,且方向正确无遮挡,即vbus接口分别朝上和朝前即可。对于安装的位置无要求,但调整之后务必在调参软件中设置重心偏移。图像传感模块可以选用,即可以按照实际需求只保留某几个图像传感模块。

Q6为什么我的M100连接guidance后在室内只能上升下降,无法控制水平移动?
A6Guidance默认状态下为标准模式,每个方向具有一定的避障距离。请进入Guidance调参软件适当设置避障距离,或是按需求拆除侧面图像传感模块。

Q7 Onboard设备指的是什么?
A7Onboard设备指的是飞行器搭载的除飞控系统外由开发者自行安装的传感、计算、通信等设备,如红外相机,微型计算机,Wi-Fi模块等。

Q8 如果我要进行Onboard SDK的应用开发,需要适配什么飞行平台?
A8目前,仅有大疆M100飞行平台的N1飞控支持Onboard SDK的应用开发。

Q9 使用M100使用onboard SDK是否需要遥控器连接移动设备APP
A9第一次使用的飞行器和第一次使用SDK的飞行器必须连接移动设备APP,之后可以不用。首次使用的新飞行器需要连接移动设备APPDJI GO),连网,登录DJI账号激活飞行器。第一次使用SDK连接飞行器时通过连接移动设备APP(DJI GO)连网,通过SDK的激活指令激活飞行器的API。请保持移动设备连网且网络连接较通畅,否则容易出现time out错误,无法激活飞行器。

Q10 M100飞行平台支持哪些机载计算设备?
A10只要设备具有合适电平的UART接口,且可工作于115200230400波特率并能够进行AES 加解密的计算设备,就可以作为M100Onboard设备。通过USBTTL串口模块、无线串口模块等设备接入均满足要求。
目前已经测试通过并成功控制飞机的设备包括IntelNUC, NVIDIAtk1odroid的多种开发板,Radxa Rock proCubieBoardRaspberry Pi 2STM32F407等等。
可参阅:http://bbs.dji.com/wqf233333333

Q11 机载计算设备需运行独立的操作系统以进行Onboard SDK的开发吗?
A11在有独立运行操作系统的机载设备下使用Onboard SDK为较为容易。较推荐使用Ubuntu+ROS的组合,Windows等其他具有串口读写能力的操作系统也可以。支持使用STM32等无操作系统平台进行开发。
      ubuntu系统下的Onboard设备推荐使用230400波特率,因为部分ubuntu系统本身的串口库 “libserial-dev”有一个bug,无法设置波特率为115200

Q12 通过Onboard SDK操控M100飞行平台的接口有哪些?
A12目前来说,Onboard SDK仅能通过UART接口连接飞行器进行通信,提供115200230400两个波特率可供选择。通过M100配给的原装UART口转2.54mm的标准杜邦线的转接线,连接到Onboard设备后,按要求操作即可与飞机进行通信。

Q13 M100的串口电平是多少?
A13M100主控连接出来的TXDRXD电平是3.3v TTLOnboard设备与飞控连接的串口也需要满足3.3v TTL信号电平。M100上的UART_CAN2接口上有个6v的供电口,这个供电口最大供电流为1A,但原则上不对外供电。如需5V供电请使用6s锂电池(22V-26V)转5V供电模块。请按要求使用,否则有可能烧坏主控,或者是烧坏Onboard设备。

Q14 M100串口的不同波特率有何区别?
A14基本无区别。波特率230400传输较快,但会挤占如无线鼠标等其他设备通信;部分版本ubuntu系统自身的串口库有无法设置波特率为115200bug。用户使用时,请根据自身系统开发环境选择波特率。

Q15N1飞控调参软件中点上了API,但无法使用API
A15
:可能因为链接不稳定造成无法打开API。飞机重启后再次连接调参软件,打开API那个勾选项多点击几次。

Q16 为什么我的无线串口与飞控通信不正常?
A16无线串口通常工作于115200波特率,且无线串口通常为半双工工作模式。由于以上两点特点,无线串口模块工作时会造成数据收发的挤占。使用无线串口设备时,请务必购买配置两对独立的无线串口,一对专门用于收数据,仅连接RXD,一对专门用于发数据,仅连接TXD,这样可以较为顺畅的进行通信。

Q17Linux设备串口连接M100需要注意?
A17:请依照下列情况检查串口连接:

      1-查找设备使用的串口号,这个因设备而异,参考linux设备连接相关内容,用
                 ls /dev/* dmesg | tail
         来查询你的设备号来查询,通常为ttyUSB0ttyACM0ttySAC2等;
      2-使用串口和飞控通信要使用root权限,参考linux设备连接相关内容,用以下方式打开:          sudo chmod 777 获取串口权限后打开;
          sudo -sroot用户打开;


Q18 通过Onboard SDK,我能读取M100飞行平台的什么信息?
A18通过Onboard SDK可以获取到包括飞控的时间戳,四元数姿态,加速度,速度,角速度,GPS位置,磁罗盘,云台姿态,飞行状态,电量等所有飞行器数据;同时通过API串口下行数据可用多种模式控制飞机的移动。

Q19M100的数据输出频率是多少?
A19M100的数据输出频率可在N1飞控调参软件中进行设置,区间为 [0, 100Hz]

Q20 Onboard SDK输出数据中飞行状态表示的意思?
A20:如下:1.0standby
                  2.0take off
                  3.0in air
                  4.0landing
                  5.0post landing

Q21 Onboard SDK输出数据中姿态参数的坐标原点在哪里?Guidance的情况呢?
A21Onboard SDK输出数据中,姿态参数的坐标原点是飞机的重心。Guidance输出数据中姿态参数也是以飞机重心为坐标原点。Guidance与飞控连接后,其输出的姿态数据为更加准确的飞控姿态数据。在M100的默认组装状态下,飞机的重心处于机架中心,约等于四个机臂的轴线交点。若用户有进行过机械改装等对飞行器的重心有重大调整的操作,请注意飞机重心的相应变化,改装后请认真测量飞机的真实重心位置并在飞控和Guidance调参软件中进行相应的调整。

Q22 Onboard SDK数据帧头的CRC校验值通过何种校验函数计算得出?
A22请参考例程中的校验函数部分。

Q23 OnBoard SDK中,飞控数据的单位是什么?
A23时间戳间隔为1/600s
   加速度单位为米每秒的平分(m/s^2);
   速度单位为米每秒(m/s)
   角速度单位为度每秒(°/s);
        GPS经纬度单位为弧度(rad);
   高度和海拔单位为米(m);
   电量为百分比表示(%)。

Q24 OnBoard SDK中,飞控数据是在什么坐标系下?
A24姿态四元数表示的姿态是从北东地坐标系(ground)到机体(body)坐标系。加速度和速度是在北东地坐标系(ground);角速度在机体(body)坐标系;高度为相对起飞点高度;海拔为气压计高度值。

Q25 M100飞行平台有哪些无线传输方案?
A25M100平台仅内置数据透传、lightbridge图传两个无线传输方式。可通过Onboard设备连接其他无线传输设备,例如WiFi模块,其他图传,3/4G网卡等。

Q26 M100Onboard SDK时,遥控器是否有剩余通道控制自己的设备?
A26无论是否使用SDKM100遥控器都没有剩余通道。可参照的数据传输方式进行数据传递,或是使用onboard设备进行数据传输。

Q27 M100飞行平台是否支持挂载第三方云台和相机?
A27可以作为Onboard设备挂载。M100官方适配Zenmuse X系列(X3X5系列)的云台和相机,第三方云台和相机需进行适当的机械调整以适应M100的结构。

Q28M100平台上搭载非官方的图像捕获设备,可以使用M100内置图传?
A28可以。使用“N1视频编码器对视频进行转码后即可使用M100内置的Lightbridge图传

Q29 应用需要实时传回机载传感器的数据并显示在移动设备上,使用Onboard SDK能达到这样的应用需求吗?
A29当然可以。可以使用Onboard SDK数据透传功能。

Q30 Onboard SDK是否有模拟器供程序开发调试之用?
A30有,目前开放M100模拟器。

Q31 Onboard SDK自动起飞的初始高度是否可以自行设定?
A31目前暂时不支持设定自定义起飞高度。当前起飞高度固定为1.2米。

Q32 为什么我发送控制信号后飞机仅抖动一下?
A32onboard SDK要求控制指令连续发送,推荐使用20Hz或以上的频率发送对飞机的控制指令。

Q33:使用Onboard SDK,如何进行位置控制?
A33
:目前SDK推荐使用速度控制模式或是姿态控制模式,自行引入反馈进行位置控制。位置控制模式也得加入反馈。

Q34:我要为M100准备零配件,请问哪些配件合适?
A34
M100的螺旋桨同E800动力套装;电机同inspire1(与E800动力套装安装方式不同),飞控天线、电调、云台相机同inspire1GPS模块同A2飞控;遥控器同inspire1

Q35 在用Onboard SDK开发自己设计的飞行平台时,需要重点注意的问题是什么?
A35可以将M100N1飞控移植到其他飞行器。请正确安装飞控系统和Guidance系统。使用调参软件修改飞机重心位置与IMUGPS模块的偏移,尤其注意GPS模块的箭头方向、Guidance视觉处理模块的箭头方向和Guidance视觉传感模块的方向与机头方向保持一致。保持Guidance视觉传感模块无遮挡,GPS模块尽量顶置并远离具有磁干扰属性的物体。

Q36。。。。。待更新。。。。。

。。。。M100讨论群:469284875。。。。
感谢DJI攻城狮Paul,以及水哥,xuliren,wqf等的帮忙,还有小伙伴enterprise。。。

作者: lanyusea    时间: 2015-6-27
好顶赞!

管理员呢?这么好的技术贴还不出来置顶啦
作者: pigcan    时间: 2015-6-27
赞~~~~~~~~~~~~~~~
作者: hitwuqifeng.163    时间: 2015-6-28
level2 给dev@dji.com发个邮件再把你的Beta测试截个图就分分钟解决了
作者: X43A    时间: 2015-6-28
hitwuqifeng.163 发表于 2015-6-28 10:00
level2 给发个邮件再把你的Beta测试截个图就分分钟解决了
通过了,哈哈

作者: wyx7251430.163    时间: 2015-6-28
你好!感谢你的分享。我想请问下,你使用的开发板是用什么供电的?以及你的M100是否使用云台相机啊?谢谢!

作者: X43A    时间: 2015-6-28
wyx7251430.163 发表于 2015-6-28 10:44
你好!感谢你的分享。我想请问下,你使用的开发板是用什么供电的?以及你的M100是否使用云台相机啊?谢谢! ...
开发板啊,用电源模块啊,BEC比较稳定,你去搜索UBEC就可以了,直接连到M100的XT60接口上。5v,12v,9v的都有。我没用过控制云台,我绑个个工业相机上去

作者: wyx7251430.163    时间: 2015-6-28
X43A 发表于 2015-6-28 11:17
开发板啊,用电源模块啊,BEC比较稳定,你去搜索UBEC就可以了,直接连到M100的XT60接口上。5v,12v,9v的 ...
谢谢你的回复!你说使用工业相机,那个可以和M100的lightbridge传图模块连上吗?

作者: X43A    时间: 2015-6-28
wyx7251430.163 发表于 2015-6-28 16:46
谢谢你的回复!你说使用工业相机,那个可以和M100的lightbridge传图模块连上吗?
...
现在并不可以,不过不久之后会有一个固件支持,使其可以

作者: wyx7251430.163    时间: 2015-6-29
X43A 发表于 2015-6-28 23:33
现在并不可以,不过不久之后会有一个固件支持,使其可以
了解,谢谢啦!

作者: DJI-PSY    时间: 2015-6-29
M100的串口电平是6V的TTL电平,这个电压是为了保证飞控内部的稳定,和外部的一般设备不太兼容,最好不要从M100给外部设备供电。
作者: djiuser_8439_13    时间: 2015-6-29
虽然我不懂你们在说什么,但是感觉楼上大神们很牛逼的样子,我也想学黑客,搞搞代码
作者: 止于至善    时间: 2015-6-29
知乎上的那个哥们?
作者: X43A    时间: 2015-6-29
DJI-PSY 发表于 2015-6-29 09:54
M100的串口电平是6V的TTL电平,这个电压是为了保证飞控内部的稳定,和外部的一般设备不太兼容,最好不要从M ...
哦哦!是这样啊!用示波器看了看是3.3就以为是3.3了,我马上修改

作者: X43A    时间: 2015-6-29
止于至善 发表于 2015-6-29 12:40
知乎上的那个哥们?
并不是,知乎只看帖不说话
作者: xjtu-ee    时间: 2015-6-30
你好!想请问楼主所做的的自动巡航课题是能够实现多个预设点自动飞行的吗?
作者: X43A    时间: 2015-6-30
xjtu-ee 发表于 2015-6-30 13:12
你好!想请问楼主所做的的自动巡航课题是能够实现多个预设点自动飞行的吗? ...
楼主低手还搞不到那个层次,不过话说绑个手机调用高德地图的SDK似乎是可以实现的

作者: 止于至善    时间: 2015-7-1
X43A 发表于 2015-6-29 14:40
并不是,知乎只看帖不说话
哦   知乎的那位同学好像被DJI收编了,做实习生呢

作者: 止于至善    时间: 2015-7-1
X43A 发表于 2015-6-30 14:55
楼主低手还搞不到那个层次,不过话说绑个手机调用高德地图的SDK似乎是可以实现的
...
可以用下Pix4d app,这个好像他们使用的是mapbox地图

作者: sosoj10    时间: 2015-8-4
第六个问题,我的外加设备芯片固定波特率为115200,请问有什么可能的办法解决
作者: sosoj10    时间: 2015-8-4
第六个问题,我的外加设备芯片固定波特率为115200,请问有什么可能的办法解决
作者: X43A    时间: 2015-8-5
sosoj10 发表于 2015-8-4 17:33
第六个问题,我的外加设备芯片固定波特率为115200,请问有什么可能的办法解决 ...
现在的dji sdk没有调用官方库了,就不会了
作者: wuyuwei    时间: 2015-8-20
关于Q5: M100串口电平
更正一下如下:
M100主控出来的TXD、RXD和GND电平是3.3v TTL。 Onboard设备与主控连接的串口也需要满足3.3v TTL信号电平。M100上的UART_CAN2接口上有个6v的供电口,这个供电口最大供电流为1A。原则上不对外供电。请用户自行使用其他电压转换模块从电池取电然后转换成自己所需的电压。


作者: cheryl    时间: 2015-8-20
wuyuwei 发表于 2015-8-20 15:05
关于Q5: M100串口电平
更正一下如下:
M100主控出来的TXD、RXD和GND电平是3.3v TTL。 Onboard设备与主控连 ...
多谢更正哦~我之前也把这两个混了~

作者: X43A    时间: 2015-9-12
wuyuwei 发表于 2015-8-20 15:05
关于Q5: M100串口电平
更正一下如下:
M100主控出来的TXD、RXD和GND电平是3.3v TTL。 Onboard设备与主控连 ...
官方否?如果是官方消息我就马上修改???

作者: zjhuang    时间: 2016-3-16
Step2:

In order to communicate with the N1 Autopilot via the Onboard OPEN protocal, a physical connection between your computer and N1 Autopilot is required with a USB to TTL serial cable (SOLD Seperately).

Note: The serial level of N1 Autopilot should be 3.3 V.

Reference usb uart


作者: X43A    时间: 2016-4-5
zjhuang 发表于 2016-3-16 06:23
Step2:

In order to communicate with the N1 Autopilot via the Onboard OPEN protocal, a physical conn ...
yeah. Thank you for complete this question

作者: 859740361@qq.co    时间: 2016-5-29
X43A 发表于 2015-6-28 11:17
开发板啊,用电源模块啊,BEC比较稳定,你去搜索UBEC就可以了,直接连到M100的XT60接口上。5v,12v,9v的 ...
有没直接的link介绍,网上太乱了。不知哪个好。
作者: X43A    时间: 2016-7-19
859740361@qq.co 发表于 2016-5-29 11:29
有没直接的link介绍,网上太乱了。不知哪个好。
哦?link到什么的介绍啊
作者: DJITJY    时间: 2016-9-7
现在使用的是M100飞机,想利用mobile sdk给 onboard sdk建立数据连接,请问下mobile sdk中有什么接口可以和onboard连接
作者: 快速激活    时间: 2016-9-19
请问A3是否要跟遥控器配合使用,不然获取不到控制权?
作者: 飞沉    时间: 2018-1-9
你好,想问下通过Onboard SDK,可以使用外置的传感器数据吗?
可以修改m100自带的位置控制算法吗?
有没有做过多机协同?
谢谢
作者: djiuser_gw3wpgy    时间: 2018-2-27
牛人阿,楼主哪个城市的?可以接有偿任务不?
作者: djiuser_gw3wpgy    时间: 2018-2-27
牛人阿,楼主哪个城市的?可以接有偿任务不?
作者: djiuser_CPJ56Ud    时间: 2018-11-29
顶一波,我最近也在研究OSDK方面的知识,可以加个QQ交流吗?希望你能加我一起讨论774852341
作者: djiuser_gRlrnQp    时间: 2018-12-5
用X3拍摄,不用manifold。能获取视频流吗
作者: djiuser_001    时间: 2018-12-21
我的M100用串口线连接妙算,运行Onboard SDK 3.3.1在室外飞行不成功,起飞后,后面程序不执行,显示超时。有哪位大神知道原因,求指导!




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