从源代码安装
从源代码安装
安装依赖项
Command Line
1sudo wget -qO- https://raw.githubusercontent.com/luxonis/depthai-ros/main/install_dependencies.sh | sudo bashsudo apt install libopencv-dev如果您没有安装 rosdep 并且尚未初始化,请执行以下步骤:Command Line
1sudo apt install python3-rosdep
2sudo rosdep init
3rosdep update设置过程
dai_ws 选为新文件夹的名称,因为它将是我们的 depthai ros 工作区。mkdir -p dai_ws/srccd dai_ws/srcgit clone --branch <ros-distro> https://github.com/luxonis/depthai-ros.gitcd ..rosdep install --from-paths src --ignore-src -r -ysource /opt/ros/<ros-distro>/setup.bashcatkin_make_isolated(对于 ROS1)MAKEFLAGS="-j1 -l1" colcon build(对于 ROS2)source devel/setup.bash(对于 ROS1) &source install/setup.bash(对于 ROS2)
build.sh 命令(它只是包装了 colcon 命令): ./src/depthai-ros/build.shDocker
Docker
运行预构建映像
Command Line
1xhost +local:dockerCommand Line
1docker run -it -v /dev/:/dev/ --privileged -e DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix luxonis/depthai-ros:noetic-latest [CMD]- bash(它将允许您浏览文件并修改代码并重新构建它)
- zsh(已安装的其他 shell,比 bash 具有一些优势)
- roslaunch depthai_ros_driver camera.launch(这只是一个示例,任何启动文件都可以正常工作) 这里顺便说一句,depthai_ros_driver 中的启动文件通过驱动程序内的 .yaml 文件设置了一些默认参数。您可以直接在容器内编辑它们,或者在主机上创建一个 .yaml 文件(例如
/home/YOUR_USERNAME_HERE/params/example_config.yaml)并将其作为参数传递给可执行文件,如下所示:
Command Line
1docker run -it -v /dev/:/dev/ -v /home/YOUR_USERNAME_HERE/params:/params --network host --privileged -e DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix luxonis/depthai-ros:noetic-latest roslaunch depthai_ros_driver camera.launch params_file:=/params/example_config.yaml- 通过在 bash/zsh 模式下运行容器来安装它
- 修改 Dockerfile,以便在构建过程中安装它 - 之后您必须重新构建容器。
- 在主机/单独的容器中运行我们容器中的基本摄像头节点和 RTABMap(请参阅启动文件了解在单独运行时需要更改哪些参数/主题名称)。
构建
Command Line
1docker build --build-arg USE_RVIZ=1 -t depthai-ros .BUILD_SEQUENTIAL=1 来一次构建一个包,这应该会花费更长的时间,但会使用更少的 RAM。RUN_RVIZ 参数意味着 rviz 将安装在 docker 中。如果您想运行它,您还需要执行以下命令(在重新启动 PC 后需要再次执行):Command Line
1xhost +local:dockerCommand Line
1docker run -it -v /dev/:/dev/ --privileged -e DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix depthai-rosCommand Line
1docker run -it -v /dev/:/dev/ --privileged -e DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix depthai-ros roslaunch depthai_examples stereo_inertial_node.launch.py在 ROS1 上运行 Docker 映像
Command Line
1docker run -it -v /dev/:/dev/ --privileged -e DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix depthai-ros roslaunch depthai_examples stereo_inertial_node.launchstereo_inertial_node 启动文件(您可以尝试不同的命令)。在 ROS2 上运行 Docker 映像
Command Line
1docker run -it -v /dev/:/dev/ --privileged -e DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix depthai-ros ros2 launch depthai_examples stereo_inertial_node.launch.py