depthai-ros
                                
                                
                                
                                    depthai-ros copied to clipboard
                            
                            
                            
                        camera.launch: IMU Data is (sometimes) not being published
Describe the bug
I've been trying to get the camera.launch.py example to publish IMU data together with the stereo data and RGB image. The /oak/imu/data topic gets created:
ros2 topic list
/joint_states
/oak/imu/data
/oak/rgb/camera_info
/oak/rgb/image_raw
/oak/rgb/image_raw/compressed
/oak/rgb/image_raw/compressedDepth
/oak/rgb/image_raw/theora
/oak/stereo/camera_info
/oak/stereo/image_raw
/oak/stereo/image_raw/compressed
/oak/stereo/image_raw/compressedDepth
/oak/stereo/image_raw/theora
/parameter_events
/robot_description
/rosout
/tf
/tf_static
However, no data seems to arrive:
ros2 topic hz /oak/imu/data
WARNING: topic [/oak/imu/data] does not appear to be published yet
I've tried both the current humble release and one built from scratch.
Minimal Reproducible Example
ros2 launch depthai_ros_driver camera.launch.py
[INFO] [launch]: All log files can be found below /home/sleziak/.ros/log/2023-04-18-22-47-30-727616-bubble-2551
[INFO] [launch]: Default logging verbosity is set to INFO
[INFO] [robot_state_publisher-1]: process started with pid [2562]
[INFO] [component_container-2]: process started with pid [2564]
[component_container-2] [INFO] [1681850852.374532197] [oak_container]: Load Library: /home/sleziak/ros/install/depthai_ros_driver/lib/libdepthai_ros_driver.so
[robot_state_publisher-1] [INFO] [1681850852.540030735] [oak_state_publisher]: got segment oak
[robot_state_publisher-1] [INFO] [1681850852.540405935] [oak_state_publisher]: got segment oak-d-base-frame
[robot_state_publisher-1] [INFO] [1681850852.540491657] [oak_state_publisher]: got segment oak_imu_frame
[robot_state_publisher-1] [INFO] [1681850852.540537342] [oak_state_publisher]: got segment oak_left_camera_frame
[robot_state_publisher-1] [INFO] [1681850852.540575471] [oak_state_publisher]: got segment oak_left_camera_optical_frame
[robot_state_publisher-1] [INFO] [1681850852.540611785] [oak_state_publisher]: got segment oak_model_origin
[robot_state_publisher-1] [INFO] [1681850852.540646452] [oak_state_publisher]: got segment oak_rgb_camera_frame
[robot_state_publisher-1] [INFO] [1681850852.540679822] [oak_state_publisher]: got segment oak_rgb_camera_optical_frame
[robot_state_publisher-1] [INFO] [1681850852.540713359] [oak_state_publisher]: got segment oak_right_camera_frame
[robot_state_publisher-1] [INFO] [1681850852.540746488] [oak_state_publisher]: got segment oak_right_camera_optical_frame
[component_container-2] [INFO] [1681850852.691349716] [oak_container]: Found class: rclcpp_components::NodeFactoryTemplate<depthai_ros_driver::Camera>
[component_container-2] [INFO] [1681850852.691494308] [oak_container]: Instantiate class: rclcpp_components::NodeFactoryTemplate<depthai_ros_driver::Camera>
[component_container-2] [INFO] [1681850852.745608206] [oak]: No ip/mxid specified, connecting to the next available device.
[component_container-2] [INFO] [1681850855.725776186] [oak]: Camera with MXID: 18443010F1213B1300 and Name: 1.1.2 connected!
[component_container-2] [INFO] [1681850855.727304153] [oak]: USB SPEED: SUPER
[component_container-2] [INFO] [1681850855.750146502] [oak]: Device type: OAK-D-PRO-AF
[component_container-2] [INFO] [1681850855.757216437] [oak]: Pipeline type: RGBD
[component_container-2] [INFO] [1681850855.801349463] [oak]: NN Family: mobilenet
[component_container-2] [INFO] [1681850856.071826360] [oak]: NN input size: 300 x 300. Resizing input image in case of different dimensions.
[component_container-2] [INFO] [1681850856.277071831] [oak]: Finished setting up pipeline.
[component_container-2] [INFO] [1681850857.683827872] [oak]: Camera ready!
[INFO] [launch_ros.actions.load_composable_nodes]: Loaded node '/oak' in container '/oak_container'
Expected behavior
There should be data being published to the /oak/imu/data topic
log_system_information.json
{
    "architecture": "64bit ELF",
    "machine": "aarch64",
    "platform": "Linux-5.15.0-1026-raspi-aarch64-with-glibc2.35",
    "processor": "aarch64",
    "python_build": "main Mar 10 2023 10:55:28",
    "python_compiler": "GCC 11.3.0",
    "python_implementation": "CPython",
    "python_version": "3.10.6",
    "release": "5.15.0-1026-raspi",
    "system": "Linux",
    "version": "#28-Ubuntu SMP PREEMPT Fri Mar 10 14:28:52 UTC 2023",
    "win32_ver": "",
    "packages": [
        "action-msgs==1.2.1",
        "action-tutorials-interfaces==0.20.3",
        "action-tutorials-py==0.20.3",
        "actionlib-msgs==4.2.3",
        "ament-cmake-test==1.3.3",
        "ament-copyright==0.12.5",
        "ament-cppcheck==0.12.5",
        "ament-cpplint==0.12.5",
        "ament-flake8==0.12.5",
        "ament-index-python==1.4.0",
        "ament-lint==0.12.5",
        "ament-lint-cmake==0.12.5",
        "ament-package==0.14.0",
        "ament-pep257==0.12.5",
        "ament-uncrustify==0.12.5",
        "ament-xmllint==0.12.5",
        "angles==1.15.0",
        "appdirs==1.4.4",
        "argcomplete==1.8.1",
        "attrs==21.2.0",
        "Automat==20.2.0",
        "Babel==2.8.0",
        "bcrypt==3.2.0",
        "beautifulsoup4==4.10.0",
        "beniget==0.4.1",
        "blinker==1.4",
        "bond==3.0.2",
        "Brotli==1.0.9",
        "builtin-interfaces==1.2.1",
        "camera-calibration==3.0.0",
        "catkin-pkg==0.5.2",
        "catkin-pkg-modules==0.5.2",
        "certifi==2020.6.20",
        "chardet==4.0.0",
        "charset-normalizer==3.1.0",
        "click==8.0.3",
        "cloud-init==23.1.1",
        "colcon-argcomplete==0.3.3",
        "colcon-bash==0.4.2",
        "colcon-cd==0.1.1",
        "colcon-cmake==0.2.27",
        "colcon-common-extensions==0.3.0",
        "colcon-core==0.12.1",
        "colcon-defaults==0.2.8",
        "colcon-devtools==0.2.3",
        "colcon-installed-package-information==0.1.0",
        "colcon-library-path==0.2.1",
        "colcon-metadata==0.2.5",
        "colcon-notification==0.2.15",
        "colcon-output==0.2.13",
        "colcon-override-check==0.0.1",
        "colcon-package-information==0.3.3",
        "colcon-package-selection==0.2.10",
        "colcon-parallel-executor==0.2.4",
        "colcon-pkg-config==0.1.0",
        "colcon-powershell==0.3.7",
        "colcon-python-setup-py==0.2.8",
        "colcon-recursive-crawl==0.2.1",
        "colcon-ros==0.3.23",
        "colcon-test-result==0.3.8",
        "colcon-zsh==0.4.0",
        "colorama==0.4.4",
        "command-not-found==0.3",
        "composition-interfaces==1.2.1",
        "configobj==5.0.6",
        "constantly==15.1.0",
        "cov-core==1.15.0",
        "coverage==6.2",
        "cryptography==3.4.8",
        "cv-bridge==3.2.1",
        "cycler==0.11.0",
        "dbus-python==1.2.18",
        "decorator==4.4.2",
        "demo-nodes-py==0.20.3",
        "depthai==2.21.2.0",
        "depthai-ros-driver==2.7.1",
        "depthai-ros-msgs==2.7.1",
        "diagnostic-msgs==4.2.3",
        "diagnostic-updater==3.1.2",
        "distlib==0.3.6",
        "distro==1.7.0",
        "distro-info===1.1build1",
        "docutils==0.17.1",
        "domain-coordinator==0.10.0",
        "dwb-msgs==1.1.6",
        "empy==3.3.4",
        "example-interfaces==0.9.3",
        "examples-rclpy-executors==0.15.1",
        "examples-rclpy-minimal-action-client==0.15.1",
        "examples-rclpy-minimal-action-server==0.15.1",
        "examples-rclpy-minimal-client==0.15.1",
        "examples-rclpy-minimal-publisher==0.15.1",
        "examples-rclpy-minimal-service==0.15.1",
        "examples-rclpy-minimal-subscriber==0.15.1",
        "filelock==3.9.0",
        "flake8==4.0.1",
        "fonttools==4.29.1",
        "foxglove-msgs==2.1.1",
        "fs==2.4.12",
        "gast==0.5.2",
        "geographic-msgs==1.0.4",
        "geometry-msgs==4.2.3",
        "html5lib==1.1",
        "httplib2==0.20.2",
        "hyperlink==21.0.0",
        "idna==3.3",
        "image-geometry==3.2.1",
        "importlib-metadata==4.6.4",
        "incremental==21.3.0",
        "iniconfig==1.1.1",
        "interactive-markers==2.3.2",
        "jeepney==0.7.1",
        "Jinja2==3.0.3",
        "joint-state-publisher==2.3.0",
        "jsonpatch==1.32",
        "jsonpointer==2.0",
        "jsonschema==3.2.0",
        "keyring==23.5.0",
        "kiwisolver==1.3.2",
        "lark==1.1.1",
        "laser-geometry==2.4.0",
        "launch==1.0.4",
        "launch-ros==0.19.4",
        "launch-testing==1.0.4",
        "launch-testing-ros==0.19.4",
        "launch-xml==1.0.4",
        "launch-yaml==1.0.4",
        "launchpadlib==1.10.16",
        "lazr.restfulclient==0.14.4",
        "lazr.uri==1.0.6",
        "lifecycle-msgs==1.2.1",
        "logging-demo==0.20.3",
        "lxml==4.8.0",
        "lz4==3.1.3+dfsg",
        "map-msgs==2.1.0",
        "MarkupSafe==2.0.1",
        "matplotlib==3.5.1",
        "mccabe==0.6.1",
        "message-filters==4.3.2",
        "micro-ros-msgs==1.0.0",
        "more-itertools==8.10.0",
        "mpi4py==3.1.3",
        "mpmath==0.0.0",
        "nav-2d-msgs==1.1.6",
        "nav-msgs==4.2.3",
        "nav2-common==1.1.6",
        "nav2-msgs==1.1.6",
        "nav2-simple-commander==1.0.0",
        "netifaces==0.11.0",
        "nose2==0.9.2",
        "notify2==0.3",
        "numpy==1.21.5",
        "oauthlib==3.2.0",
        "olefile==0.46",
        "osrf-pycommon==2.0.2",
        "packaging==21.3",
        "pbr==5.11.1",
        "pcl-msgs==1.0.0",
        "pendulum-msgs==0.20.3",
        "pexpect==4.8.0",
        "Pillow==9.0.1",
        "pip==23.1",
        "platformdirs==3.1.1",
        "pluggy==0.13.0",
        "ply==3.11",
        "psutil==5.9.0",
        "ptyprocess==0.7.0",
        "py==1.10.0",
        "pyasn1==0.4.8",
        "pyasn1-modules==0.2.1",
        "pycairo==1.20.1",
        "pycodestyle==2.8.0",
        "pydocstyle==6.1.1",
        "pydot==1.4.2",
        "pyflakes==2.4.0",
        "Pygments==2.11.2",
        "PyGObject==3.42.1",
        "PyHamcrest==2.0.2",
        "PyJWT==2.3.0",
        "pyOpenSSL==21.0.0",
        "pyparsing==2.4.7",
        "PyQt5==5.15.6",
        "PyQt5-sip==12.9.1",
        "pyrsistent==0.18.1",
        "pyserial==3.5",
        "pytest==6.2.5",
        "pytest-cov==3.0.0",
        "python-apt==2.4.0+ubuntu1",
        "python-dateutil==2.8.1",
        "python-debian===0.1.43ubuntu1",
        "python-magic==0.4.24",
        "python-qt-binding==1.1.1",
        "pythran==0.10.0",
        "pytz==2022.1",
        "PyYAML==6.0",
        "qt-dotgraph==2.2.2",
        "qt-gui==2.2.2",
        "qt-gui-cpp==2.2.2",
        "qt-gui-py-common==2.2.2",
        "quality-of-service-demo-py==0.20.3",
        "rcl-interfaces==1.2.1",
        "rclpy==3.3.7",
        "rcutils==5.1.2",
        "requests==2.28.2",
        "resource-retriever==3.1.1",
        "rmw-dds-common==1.6.0",
        "robot-localization==3.3.1",
        "roman==3.3",
        "ros-gz-interfaces==0.244.9",
        "ros-ign-interfaces==0.244.9",
        "ros2action==0.18.5",
        "ros2bag==0.15.4",
        "ros2cli==0.18.5",
        "ros2component==0.18.5",
        "ros2doctor==0.18.5",
        "ros2interface==0.18.5",
        "ros2launch==0.19.4",
        "ros2lifecycle==0.18.5",
        "ros2multicast==0.18.5",
        "ros2node==0.18.5",
        "ros2param==0.18.5",
        "ros2pkg==0.18.5",
        "ros2run==0.18.5",
        "ros2service==0.18.5",
        "ros2topic==0.18.5",
        "rosbag2-interfaces==0.15.4",
        "rosbag2-py==0.15.4",
        "rosdep==0.22.1",
        "rosdep-modules==0.22.2",
        "rosdistro==0.9.0",
        "rosdistro-modules==0.9.0",
        "rosgraph-msgs==1.2.1",
        "rosidl-adapter==3.1.4",
        "rosidl-cli==3.1.4",
        "rosidl-cmake==3.1.4",
        "rosidl-generator-c==3.1.4",
        "rosidl-generator-cpp==3.1.4",
        "rosidl-generator-py==0.14.4",
        "rosidl-parser==3.1.4",
        "rosidl-runtime-py==0.9.3",
        "rosidl-typesupport-c==2.0.0",
        "rosidl-typesupport-cpp==2.0.0",
        "rosidl-typesupport-fastrtps-c==2.2.0",
        "rosidl-typesupport-fastrtps-cpp==2.2.0",
        "rosidl-typesupport-introspection-c==3.1.4",
        "rosidl-typesupport-introspection-cpp==3.1.4",
        "rosinstall==0.7.8",
        "rospkg==1.4.0",
        "rospkg-modules==1.5.0",
        "rpyutils==0.2.1",
        "rqt-action==2.0.1",
        "rqt-bag==1.1.4",
        "rqt-bag-plugins==1.1.4",
        "rqt-console==2.0.2",
        "rqt-graph==1.3.0",
        "rqt-gui==1.1.4",
        "rqt-gui-py==1.1.4",
        "rqt-msg==1.2.0",
        "rqt-plot==1.1.2",
        "rqt-publisher==1.5.0",
        "rqt-py-common==1.1.4",
        "rqt-py-console==1.0.2",
        "rqt-reconfigure==1.1.1",
        "rqt-service-caller==1.0.5",
        "rqt-shell==1.0.2",
        "rqt-srv==1.0.3",
        "rqt-topic==1.5.0",
        "scipy==1.8.0",
        "SecretStorage==3.3.1",
        "sensor-msgs==4.2.3",
        "sensor-msgs-py==4.2.3",
        "service-identity==18.1.0",
        "setuptools==59.6.0",
        "shape-msgs==4.2.3",
        "six==1.16.0",
        "slam-toolbox==2.6.4",
        "smclib==3.0.2",
        "snowballstemmer==2.2.0",
        "sos==4.4",
        "soupsieve==2.3.1",
        "speedtest-cli==2.1.3",
        "sros2==0.10.4",
        "ssh-import-id==5.11",
        "statistics-msgs==1.2.1",
        "std-msgs==4.2.3",
        "std-srvs==4.2.3",
        "stereo-msgs==4.2.3",
        "stevedore==5.0.0",
        "sympy==1.9",
        "systemd-python==234",
        "teleop-twist-keyboard==2.3.2",
        "tf2-geometry-msgs==0.25.2",
        "tf2-kdl==0.25.2",
        "tf2-msgs==0.25.2",
        "tf2-py==0.25.2",
        "tf2-ros-py==0.25.2",
        "tf2-tools==0.25.2",
        "theora-image-transport==2.5.0",
        "toml==0.10.2",
        "topic-monitor==0.20.3",
        "trajectory-msgs==4.2.3",
        "turtlesim==1.4.2",
        "Twisted==22.1.0",
        "ubuntu-advantage-tools==8001",
        "ufoLib2==0.13.1",
        "ufw==0.36.1",
        "unattended-upgrades==0.1",
        "unicodedata2==14.0.0",
        "unique-identifier-msgs==2.2.1",
        "urllib3==1.26.5",
        "vcstool==0.3.0",
        "vcstools==0.1.42",
        "virtualenv==20.20.0",
        "virtualenv-clone==0.5.7",
        "virtualenvwrapper==4.8.4",
        "vision-msgs==4.1.0",
        "visualization-msgs==4.2.3",
        "wadllib==1.3.6",
        "webencodings==0.5.1",
        "wheel==0.37.1",
        "wstool==0.1.17",
        "xacro==2.0.8",
        "zipp==1.0.0",
        "zope.interface==5.4.0"
    ],
    "usb": [
        "NoLib"
    ],
    "uname": [
        "Linux bubble 5.15.0-1026-raspi #28-Ubuntu SMP PREEMPT Fri Mar 10 14:28:52 UTC 2023 aarch64 aarch64"
    ]
}
- Humble - Ubuntu 22.04.2 LTS
 depthai-ros: Tried built from latest source and repositorydepthai/depthai-core: Tried built from source and rosdep
Packages
Package: ros-humble-depthai
Version: 2.20.2-1jammy.20230202.204256
Priority: optional
Section: misc
Maintainer: Sachin Guruswamy <[email protected]>
Installed-Size: 20.1 MB
Depends: libc6 (>= 2.34), libgcc-s1 (>= 4.5), libopencv-core4.5d (>= 4.5.4+dfsg), libopencv-imgproc4.5d (>= 4.5.4+dfsg), libstdc++6 (>= 12), libopencv-dev, libusb-1.0-0-dev, nlohmann-json3-dev, ros-humble-ros-workspace
Homepage: https://www.luxonis.com/
Download-Size: 10.3 MB
APT-Manual-Installed: no
APT-Sources: http://packages.ros.org/ros2/ubuntu jammy/main arm64 Packages
Description: DepthAI core is a C++ library which comes with firmware and an API to interact with OAK Platform
Package: ros-humble-depthai-ros
Version: 2.6.4-1jammy.20230303.010530
Priority: optional
Section: misc
Maintainer: sachin <[email protected]>
Installed-Size: 42.0 kB
Depends: ros-humble-depthai, ros-humble-depthai-bridge, ros-humble-depthai-examples, ros-humble-depthai-ros-driver, ros-humble-depthai-ros-msgs, ros-humble-ros-workspace
Download-Size: 5,232 B
APT-Sources: http://packages.ros.org/ros2/ubuntu jammy/main arm64 Packages
Description: The depthai-ros package
Package: ros-humble-depthai-bridge
Version: 2.6.4-1jammy.20230302.223904
Priority: optional
Section: misc
Maintainer: Sachin Guruswamy <[email protected]>
Installed-Size: 69.4 MB
Depends: libc6 (>= 2.32), libgcc-s1 (>= 3.3.1), libopencv-core4.5d (>= 4.5.4+dfsg), libopencv-imgcodecs4.5d (>= 4.5.4+dfsg), libopencv-imgproc4.5d (>= 4.5.4+dfsg), libstdc++6 (>= 11), libboost-dev, libopencv-dev, ros-humble-camera-info-manager, ros-humble-cv-bridge, ros-humble-depthai, ros-humble-depthai-ros-msgs, ros-humble-image-transport, ros-humble-rclcpp, ros-humble-robot-state-publisher, ros-humble-ros-environment, ros-humble-sensor-msgs, ros-humble-std-msgs, ros-humble-stereo-msgs, ros-humble-vision-msgs, ros-humble-xacro, ros-humble-ros-workspace
Download-Size: 13.4 MB
APT-Sources: http://packages.ros.org/ros2/ubuntu jammy/main arm64 Packages
Description: The depthai_bridge package
Package: ros-humble-depthai-ros-msgs
Version: 2.6.4-1jammy.20230302.210403
Priority: optional
Section: misc
Maintainer: Sachin Guruswamy <[email protected]>
Installed-Size: 1,310 kB
Depends: libc6 (>= 2.17), libgcc-s1 (>= 3.3.1), libpython3.10 (>= 3.10.0), libstdc++6 (>= 11), ros-humble-fastcdr, ros-humble-builtin-interfaces, ros-humble-geometry-msgs, ros-humble-rclcpp, ros-humble-rosidl-default-generators, ros-humble-sensor-msgs, ros-humble-std-msgs, ros-humble-vision-msgs, ros-humble-ros-workspace
Download-Size: 106 kB
APT-Sources: http://packages.ros.org/ros2/ubuntu jammy/main arm64 Packages
Description: Package to keep interface independent of the driver
Package: ros-humble-depthai-ros-driver
Version: 2.6.4-1jammy.20230303.005120
Priority: optional
Section: misc
Maintainer: Adam Serafin <[email protected]>
Installed-Size: 844 kB
Depends: libc6 (>= 2.34), libconsole-bridge1.0 (>= 1.0.1+dfsg2), libgcc-s1 (>= 3.3.1), libopencv-core4.5d (>= 4.5.4+dfsg), libopencv-imgproc4.5d (>= 4.5.4+dfsg), libopencv-stitching4.5d (>= 4.5.4+dfsg), libstdc++6 (>= 11), ros-humble-ament-cmake-auto, ros-humble-camera-calibration, ros-humble-cv-bridge, ros-humble-depthai, ros-humble-depthai-bridge, ros-humble-diagnostic-msgs, ros-humble-image-pipeline, ros-humble-image-transport, ros-humble-image-transport-plugins, ros-humble-rclcpp, ros-humble-rclcpp-components, ros-humble-sensor-msgs, ros-humble-std-msgs, ros-humble-std-srvs, ros-humble-vision-msgs, ros-humble-ros-workspace
Download-Size: 213 kB
APT-Sources: http://packages.ros.org/ros2/ubuntu jammy/main arm64 Packages
Description: Depthai ROS Monolithic node.
Update:
Turns out that the data is being published, but only once every 10 or so launches of camera.launch.py.
I'm currently checking if this is a hardware issue (either power related, or something else)
Edit: Does not appear to be the case unfortunately, I've tried some examples from depthai-python with the IR flood and project set to its maximum value, and ran a model at the same time, everything was stable.
Did you check the issue? There's nothing problem with ROS2 foxy but problem with ROS noetic. It doesn't publish imu at all when I run camera.launch. But stereo_inertial.launch in the dai_examples publish imu.
Hi @everskies, from your debug information it seems that your ROS packages are a little behind the official ones, could you upgrade and check again? Also, which camera model is that? @HanDaSeul same here, could you post your camera model and packages version?
@Serafadam Replied here. https://github.com/luxonis/depthai-ros/issues/304#issuecomment-1533244754