DJI的Onboard SDK在ROS环境的配置
可参考链接:https://blog.youkuaiyun.com/KID_yuan/article/details/102561988
实际在新的板子上,用GL给的ocs-ros包进行编译配置时,有以下问题:
安装之前遇见的环境问题:
1、proto安装:
获取源码:
git clone --branch v3.5.0 https://github.com/protocolbuffers/protobuf.git
cd protobuf
编译源码:
# 安装需要的软件
sudo apt-get install autoconf automake libtool curl make g++ unzip
#编译
git submodule update --init --recursive
./autogen.sh
./configure
make -j4
make check
sudo make install
sudo ldconfig # refresh shared library cache
# 查看版本号
protoc --version
之后,在以下文件夹
/home/nvidia/ws_ocs-ros/src/ocs-ros/src/transmission/proto
下打开终端输入:
/usr/local/bin/protoc -I=./ --cpp_out=./ ./MqttMsgDef.proto
然后,对剩下的.proto文件:EpiMessage.proto
、OsdkMessage.proto
同样执行上述命令。
[问题]:.proto文件的作用是什么?
[答]:https://www.jianshu.com/p/a24c88c0526a
protocol buffers 是一种语言无关、平台无关、可扩展的序列化结构数据的方法,它可用于(数据)通信协议、数据存储等。
Protocol Buffers 是一种灵活,高效,自动化机制的结构数据序列化方法-可类比 XML,但是比 XML 更小(3 ~ 10倍)、更快(20 ~ 100倍)、更为简单。
你可以定义数据的结构,然后使用特殊生成的源代码轻松的在各种数据流中使用各种语言进行编写和读取结构数据。你甚至可以更新数据结构,而不破坏由旧数据结构编译的已部署程序。
2、apriltag的安装
#apriltag安装
cd ..
git clone https://hub.fastgit.org/snowman4219/apriltag.git
cd apriltag
cmake .
sudo make install
3、安装mqtt
#安装mqtt
cd ..
git clone https://hub.fastgit.org/snowman4219/paho.mqtt.c.git
cd paho.mqtt.c/
make
sudo make install
后续还会有很多环境需要配置,具体参考上传上去的env_install.sh文件。
大问题:
一、关于opencv的shi问题的解决记录(能不能解决另说,先记录):
No rule to make target '/usr/lib/aarch64-linux-gnu/libopencv_objdetect.so.3.2.0', needed by '/home/nvidia/ws_ocs-ros-v5/devel/lib/ocs_ros/ocs_node'. Stop.
解决大法(ctrl c + ctrl v):
直接将opencv3.2.0的相关动态文件放到文件夹/usr/lib/aarch64-linux-gnu下:
sudo cp -r ./opencv3.2.0的文件夹 /usr/lib/aarch64-linux-gnu
将所有文件复制到/usr/lib/aarch64-linux-gnu下。