5.1. ROS上使用预编译的depthai C++ 库
由于编译depthai C++库,需要下载很多依赖库非常耗时。我们为大家预编译好了depthai C++库。可以在 此处 下载。
Warning
注意:我们使用的是动态编译!
5.1.1. 演示
5.1.2. 已测试平台
编号 |
平台 |
系统 |
ROS版本 |
depthai版本 |
设备 |
---|---|---|---|---|---|
测试一 |
X86 PC端 |
ubuntu18.04 |
Melodic |
V2.15.0 |
OAK-D |
测试二 |
X86 PC端 |
ubuntu20.04 |
Noetic |
V2.15.0 |
OAK-D |
测试三 |
arch64 Jetson nano |
ubuntu18.04 |
Melodic |
V2.15.0 |
OAK-D |
目前X86和arch64平台测试安装包没有问题。
树莓派上安装ROS需要自己编译安装,时间比较长,需要测试的可以到 官网 查看,替换下面安装ROS步骤就可以了。
ubuntu20.04推荐安装noetic版本的ROS,ubuntu18.04推荐安装melodic版本。
5.1.3. 安装依赖
以下脚本将安装 depthai-core 、更新 usb 规则。
sudo wget -qO- https://mirror.ghproxy.com/https://raw.githubusercontent.com/luxonis/depthai-docs-website/master/source/_static/install_dependencies.sh | bash
sudo dpkg -i ./depthai_2.15.0_x86_64_Shared.deb
如果您没有安装 opencv,请尝试:
sudo apt install libopencv-dev
如果您未安装rosdep且未初始化,请执行以下步骤:(这里安装的是melotic版本,如果想要安装ROS的其他版本,前往官网下载,建议安装ros基础版,缺什么包再装)。
sudo apt update
sudo apt upgrade
# 设置sources.list
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
# 如果下载速度较慢,使用以下命令替换上面的命令
sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.tuna.tsinghua.edu.cn/ros/ubuntu/ `lsb_release -cs` main" > /etc/apt/sources.list.d/ros-latest.list'
# 如果依然遇到连接失败问题,请尝试换源https://developer.aliyun.com/mirror/ubuntu
# 设置密钥
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
# 若无法连接到密钥服务器,可以尝试替换上面命令中的 hkp://keyserver.ubuntu.com:80 为 hkp://pgp.mit.edu:80 。
sudo apt update
sudo apt install ros-melodic-ros-base
sudo apt install python-rosdep
sudo rosdep init
rosdep update
# 设置环境
echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
source ~/.bashrc
安装vcstool
sudo apt install python3-vcstool
安装的ros其他包
sudo apt install ros-melodic-rviz
5.1.4. 设置程序
mkdir -p <directory_for_workspaces>/src
cd <directory_for_workspaces>
wget https://mirror.ghproxy.com/https://raw.githubusercontent.com/luxonis/depthai-ros/main/underlay.repos
vcs import src < underlay.repos
rosdep install --from-paths src --ignore-src -r -y
source /opt/ros/melodic/setup.bash
catkin_make
source devel/setup.bash
5.1.5. 执行示例
cd <directory_for_workspaces>/
source devel/setup.bash
roslaunch depthai_examples stereo_node.launch
5.1.6. 常见问题及解决方案
执行catkin_make出现的错误1
请参考 此处 的解决方案。
执行catkin_make出现的错误2
/usr/bin/ld: /usr/lib/x86_64-linux-gnu/libopencv_imgcodecs.so.4.2.0: undefined reference to `TIFFSetErrorHandler@LIBTIFF_4.0'
/usr/bin/ld: /lib/libgdal.so.26: undefined reference to `TIFFSetDirectory@LIBTIFF_4.0'
/usr/bin/ld: /lib/libgdal.so.26: undefined reference to `TIFFReadScanline@LIBTIFF_4.0'
/usr/bin/ld: /lib/libgdal.so.26: undefined reference to `TIFFNumberOfTiles@LIBTIFF_4.0'
/usr/bin/ld: /usr/lib/x86_64-linux-gnu/libopencv_imgcodecs.so.4.2.0: undefined reference to `TIFFReadRGBAStrip@LIBTIFF_4.0'
collect2: error: ld returned 1 exit status
make[2]: *** [luxonis/depthai-ros-examples/depthai_examples/CMakeFiles/rgb_node.dir/build.make:181:/home/xiaotang/depthai_build/devel/lib/depthai_examples/rgb_node] 错误 1
make[1]: *** [CMakeFiles/Makefile2:2382:luxonis/depthai-ros-examples/depthai_examples/CMakeFiles/rgb_node.dir/all] 错误 2
遇到上面问题,检查是否把conda环境取消。
执行catkin_make出现的错误3
ModuleNotFoundError: No module named ‘pkg_resources’
sudo apt install --reinstall python3-pkg-resources python3-setuptools
有疑问?
我们很乐意为您提供代码或其他问题的帮助。
我们的联系方式
还可以通过我们发布的视频和文章了解OAK