本次学习基于linux系统、OSDKv4.1.0、M300。
一、安装配置OSDK使用所需环境
1、系统:ubuntu16.04(官方),Ubuntu18.04也可运行,但会出现什么问题未知。
2、gcc:版本:Ubuntu16.04中系统自带(5.4.0)即可,官方给的参考:5.4.0/5.5.0。
3、cmake版本:2.8.15版本以上(最优选3.5.1)
安装cmake方法(该方法所下载的cmake版本不定,但都会在2.8.15版本以上,目前来看安装cmake在Ubuntu16.04下是3.5.1版本,在18.04下是3.10.2,这个不太确定,如需要确切版本可以使用cmake源码进行安装):
sudo apt-get install cmake
cmake源码安装方法:
git clone -b v3.5.1 https://github.com/Kitware/CMake.git
cd CMake
./configure --prefix=/usr/local/cmake
make
make install //若出现权限问题,则运行 sudo make install
运行以下命令,出现cmake版本信息,即为安装成功。
cmake --version
4、FFmpeg版本:2.8.15,安装方法如下:
git clone -b n2.8.15 https://github.com/FFmpeg/FFmpeg.git
cd FFmpeg
./configure
make -j4
sudo make install
运行以下命令,出现版本信息即安装成功:
ffmpeg -version
5、opencv版本:3.3.1安装如下:
源码下载;
git clone -b 3.3.1 https://github.com/opencv/opencv.git
git clone -b 3.3.1 https://github.com/opencv/opencv_contrib.git
新建文件夹,将以上下载源码移入该文件夹内:
mkdir opencv_build
编译:
cd ~/opencv_build/opencv
mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=/usr/local \
-D INSTALL_C_EXAMPLES=ON \
-D INSTALL_PYTHON_EXAMPLES=ON \
-D OPENCV_GENERATE_PKGCONFIG=ON \
-D OPENCV_EXTRA_MODULES_PATH=/home/nano/opencv_build/opencv_contrib/modules \
-D BUILD_EXAMPLES=ON ..
make -j4
sudo make install
完成后在终端输入以下命令未报错即为安装成功:
ldconfig -V | grep opencv
or
pkg-config --modversion opencv
把新共享库目录加入到共享库配置文件/etc/ld.so.conf中,添加如下:
#cat /etc/ld.so.conf
include /etc/ld.so.conf.d/*.conf
/usr/local/lib
6、读取UART读写权限
sudo usermod -a -G dialout $USER
二、OSDK示例运行
1、获取示例代码
git clone https://github.com/dji-sdk/Onboard-SDK.git
2、创建应用程序,在大疆开发者(DJI developer)官网登录进入个人中心,新建应用程序并激活。
3、 补充应用信息,在onboard-sdk/sample/platform/linux/common/UserConfig.txt文件中,将信息按照实际补全。其中ID以及KEY即为上诉所见应用程序中信息。
4、确认串口访问权限
ls /dev/tty*
//若无访问权限,则
sudo chmod 777 /dev/tty*
5、编译
cd Onboard_SDK
mkdir build
cd build
cmake ..
make
6、执行示例文件
将配置文件复制到bin文件夹中(值得注意的一点,该bin文件夹的路径为/opencv/build/bin:
cp ../sample/platform/linux/common/UserConfig.txt bin/
运行示例文件:
./djiosdk-flightcontrol-sample UserConfig.txt UserConfig.txt
运行结果如下:
流程结束。
三、出错解决集锦
1、安装ffmpeg时错误:
./configure 出错,解决方法:
./configure --disable-x86asm
2、安装opencv时错误:
(1) make时报错:
src/osgPlugins/ffmpeg/CMakeFiles/osgdb_ffmpeg.dir/build.make:291: recipe for target 'lib/osgPlugins-3.4.0/osgdb_ffmpeg.so' failed
make[2]: *** [lib/osgPlugins-3.4.0/osgdb_ffmpeg.so] Error 1
CMakeFiles/Makefile2:6663: recipe for target
'src/osgPlugins/ffmpeg/CMakeFiles/osgdb_ffmpeg.dir/all' failed
make[1]: *** [src/osgPlugins/ffmpeg/CMakeFiles/osgdb_ffmpeg.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
该问题出现的原因是ffmpeg未配置完全,需要按以下方法重新设置ffmpeg:
./configure --enable-pic --enable-shared && make && sudo make install
(2)make时出现错误:recipe for target ‘bin/opencv_test_cudev'faild
解决方法:cmake -DBUILD_TESTS=OFF
(3) make时关于找不到文件的错误以及解决方法:
链接:https://pan.baidu.com/s/1XFGLe5VzaKSaaLfJ4J6m6Q?pwd=y6ti
提取码:y6ti