关于大疆OSDK开发前,如何配置,官网或者其它博客都有比较详细的介绍,这里推荐一篇博文:DJI M210 RTK V2 + manifold2 Onboad-SDK开发流程及踩坑合集(一)
结合官网Doc看即可。
我这的目的是让初学者知道何为OSDK开发,然后能迅速进入角色。
-
什么是OSDK开发
OSDK我们知道叫Onboard SDK,这个Onboard 就是搭载在无人机上一台微型电脑,跟普通的电脑基本没差别,就是体积小点,cpu/内存差点等,毕竟的它需要的功能单一,目的就是通过串口和usb口来控制无人机。其实更适合看成一台带SIM卡的平板电脑(SIM卡主要用来提供网络)。Onboard系统一般是ubuntu,OSDK开发其实就是linux上的网络开发,接收远端的命令或者数据,然后调用OSDK来将命令和数据传到无人机,以控制无人机操作。所以实际上的OSDK,就是要在这台微小的机载电脑上编程。 -
前期的开发其实可以在任何电脑上进行
OSDK本身是Linux C++程序,因此,OSDK开发前期是可以在任意linux系统上开发的,同机载电脑上开发一样,它需要下载啥第三方,你就配置好相关第三方lib即可,然后下载OSDK到你的Linux系统上,按照DOC上的提示make && make install,你的代码就可以引用OSDK相关lib与头文件(需要在Cmake中配置好)。
当然,在其它电脑上开发只能用来编译代码是否有问题,功能部分测试,只能测试与OSDK无法的部分。OSDK相关部分的调式还是需要机载电脑和链接无人机调试。 -
实例—无人机远程监控
条件:监控服务器有固定IP(如果没有固定IP,需通过云转换,这样延迟毕竟大)
lib:考虑实时性,这里考虑使用websocket,这里使用Linux C++库,websocketpp
- 首先新建一个cmake工程:Linux下新建一个目录然后配置好cmake
2)将大疆OSDK与websocketpp都下载到该目录下,OSDK需要编译安装,注意将OSDK中的CMakeLists.txt中的sample编译部分注释掉,
#if (${CMAKE_SYSTEM_NAME} MATCHES Linux)
# add_subdirectory(sample/platform/linux)
#endif()
然后对OSDK进行编译安装(参考官方文档)
3)重新配置项目的CMakeLists.txt,将OSDK与websocketpp包含进去。
OSDK部分,参考sample下的CMakeLists.txt修改即可,不过我发现部分link_libraries不起作用,得放到target_link_libraries中:
#link_libraries(dji-lin