Giter Site home page Giter Site logo

depthai-ros's Introduction

Depthai ROS Repository

Hi and welcome to the main depthai-ros respository! Here you can find ROS related code for OAK cameras from Luxonis. Don't have one? You can get them here!

You can find the newest documentation here

depthai-ros's People

Contributors

borongyuan avatar cristinaluna avatar danilo-pejovic avatar daniqsilva25 avatar daxoft avatar destogl avatar erol444 avatar foohyfooh avatar hardesh-peppermint avatar hwgat avatar jack-slip avatar jasiex01 avatar jdavidberger avatar jenniferbuehler avatar jonngai avatar kaichie avatar luxonis-brandon avatar mattwilliamson avatar mavproxyuser avatar mdtoom avatar mikaelarguedas avatar nibanovic avatar nindanaoto avatar r4hul77 avatar rangeronmars avatar richard-xx avatar saching13 avatar serafadam avatar tsc21 avatar xouillet avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

depthai-ros's Issues

Spatial Detection Example Problem

I am trying to adapt the mobile_publisher example from the depthai-ros-examples to work with the yolov4 network publishing the spatial coordinates (X, Y, Z) of each detection. I have come up with the following codes: https://drive.google.com/drive/folders/1DqpVrxvffyWEZXiJ9GvtiCxAthoPASu6?usp=sharing
If you want to replicate my results please place the following files in the respective folders:

  • yolov4_spatial_publisher.cpp -> ~/ros_ws/ros_depthai_ws/src/depthai-ros-examples/depthai_examples/src
  • yolov4_spatial_pipeline.cpp -> ~/ros_ws/ros_depthai_ws/src/depthai-ros-examples/depthai_examples/lib
  • yolov4_spatial_publisher.launch -> ~/ros_ws/ros_depthai_ws/src/depthai-ros-examples/depthai_examples/launch
  • yolov4_spatial_pipeline.hpp -> ~/ros_ws/ros_depthai_ws/src/depthai-ros-examples/depthai_examples/include/depthai_examples
  • Copy "tiny-yolo-v4_openvino_2021.2_6shave.blob" to somewhere, Update the path to this file in line 29 of code yolov4_spatial_publisher.cpp

To compile I did catkin_make_isolated --cmake-args -Ddepthai_DIR=~/depthai-core/build/install/lib/cmake/depthai since I am using ROS Melodic

I am able to compile and run the code. But when I inspect the rbg images from the camera, using rqt_img_viewer plugin, it outputs 1 or 2 frames then stops completely. And there is nothing being published on the topic of the NN detection.
I have tried the same model without using the spatial info and it worked fine. So, I guess the main problem should be on yolov4_spatial_pipeline.cpp where I define the pipeline or in yolov4_spatial_publisher.cpp where I create the topics and publishers.

Any suggestions are more than welcome!

Depthai-experiments ros compatibility

Hi,

I am trying to integtate the output image from gen2-deeplav3-depth into ros, and I have been using CVBridge to do this but for some reason, only the first message gets published and no else one does? How can I get the output from this experiment into ROS?

Thanks!

Unrecognized image encoding [nv12]

I am very new to depthai and am trying to interface the OAK1 camera.

For now, I want to publish the video stream on a particular topic which I was able to do by remapping it in the rgb_publisher .launch in the depthai_example package. However, when I try to view the stream using rqt_image_view it throws the following error:
ImageView.callback_image() while trying to convert image from 'nv12' to 'rgb8' an exception was thrown (Unrecognized image encoding [nv12])
How do I convert the nv12 image frame into something that rqt will understand?
Any help would be appreciated.

Segfault on mobile publisher

ROS2 Galactic running on RPI4B. Same issue with both OAK-D-LITE and OAK-D-PRO.

[mobilenet_node-9] Stack trace (most recent call last) in thread 5512:
[mobilenet_node-9] #5    Object "[", at 0, in nil
[mobilenet_node-9] #4    Object "linux-vdso.so.1", at 0xffff8eed45bf, in 
[mobilenet_node-9] #3    Object "/usr/local/lib/libdepthai-core.so", at 0xffff8e01dbf3, in backward::SignalHandling::sig_handler(int, siginfo_t*, void*)
[mobilenet_node-9] #2    Object "/usr/local/lib/libdepthai-core.so", at 0xffff8e01db33, in backward::SignalHandling::handleSignal(int, siginfo_t*, void*)
[mobilenet_node-9] #1    Object "/usr/local/lib/libdepthai-core.so", at 0xffff8e01b387, in backward::StackTraceImpl<backward::system_tag::linux_tag>::load_here(unsigned long, void*, void*)
[mobilenet_node-9] #0    Object "/usr/local/lib/libdepthai-core.so", at 0xffff8e01e077, in unsigned long backward::details::unwind<backward::StackTraceImpl<backward::system_tag::linux_tag>::callback>(backward::StackTraceImpl<backward::system_tag::linux_tag>::callback, unsigned long)
[mobilenet_node-9] Segmentation fault (Address not mapped to object [(nil)])
[ERROR] [mobilenet_node-9]: process has died ...

and

[mobilenet_node-7] Stack trace (most recent call last) in thread 8077:
[mobilenet_node-7] #17   Object "[0xffffffffffffffff]", at 0xffffffffffffffff, in
[mobilenet_node-7] #16   Object "/lib/aarch64-linux-gnu/libc.so.6", at 0xffff8861f67b, in
[mobilenet_node-7] #15   Object "/lib/aarch64-linux-gnu/libpthread.so.0", at 0xffff884d64fb, in
[mobilenet_node-7] #14   Object "/lib/aarch64-linux-gnu/libstdc++.so.6", at 0xffff887aefab, in
[mobilenet_node-7] #13   Object "/usr/local/lib/libdepthai-core.so", at 0xffff88f7fe5b, in
[mobilenet_node-7] #12   Object "/usr/local/lib/libdepthai-core.so", at 0xffff88f7ff7f, in
[mobilenet_node-7] #11   Object "/usr/local/lib/libdepthai-core.so", at 0xffff88f8004b, in
[mobilenet_node-7] #10   Object "/usr/local/lib/libdepthai-core.so", at 0xffff88f80297, in
[mobilenet_node-7] #9    Object "/usr/local/lib/libdepthai-core.so", at 0xffff88f8041b, in
[mobilenet_node-7] #8    Object "/usr/local/lib/libdepthai-core.so", at 0xffff88f7b4ab, in
[mobilenet_node-7] #7    Object "/usr/local/lib/libdepthai-core.so", at 0xffff891872b3, in dai::XLinkStream::write(std::vector<unsigned char, std::allocator<unsigned char> > const&)
[mobilenet_node-7] #6    Object "/usr/local/lib/libdepthai-core.so", at 0xffff8918720f, in dai::XLinkStream::write(unsigned char const*, unsigned long)
[mobilenet_node-7] #5    Object "/usr/local/lib/libdepthai-core.so", at 0xffff89187d2b, in dai::XLinkWriteError::XLinkWriteError(XLinkError_t, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)
[mobilenet_node-7] #4    Object "/usr/local/lib/libdepthai-core.so", at 0xffff891e6303, in
[mobilenet_node-7] #3    Object "/usr/local/lib/libdepthai-core.so", at 0xffff89204ab7, in
[mobilenet_node-7] #2    Object "/usr/local/lib/libdepthai-core.so", at 0xffff8920442b, in
[mobilenet_node-7] #1    Object "/usr/local/lib/libdepthai-core.so", at 0xffff891ce6ab, in
[mobilenet_node-7] #0    Object "/lib/aarch64-linux-gnu/libc.so.6", at 0xffff885d31c4, in
[mobilenet_node-7] Segmentation fault (Address not mapped to object [(nil)])

Seems to occur if I launch rviz2 after the mobile publisher, but sometimes it occurs on its own.

CMake error on depthai-core install

Hi,

i'm getting this kind of error:
[14442C1051280AD100] [56.542] [system] [info] PRINT:LeonMss: Called by: LRT, controller: LOS
[14442C1051280AD100] [56.629] [system] [error] Attempted to start Mono Left camera - NOT detected!
[14442C1051280AD100] [56.629] [system] [error] Attempted to start Mono Right camera - NOT detected!

Do you have any ideas on how to solve this?

Kindly,
Jonathan

IMU support

This Issue is to track the IMU converter implementation on ROS for DepthAi

IMU topic

Hi,

It says that OAK-D includes the IMU:
This DepthAI variant includes three onboard cameras and the BNO085 IMU and interfaces over USB3C to the host, allowing use with your (embedded) host platform of choice, including the Raspberry Pi and other popular embedded hosts.

How can I get this IMU data over the ROS topic?

Timestamp issue

Hello, I am using depthai oak 1 with ros noetic and melodic. For my use, I am syncing the RGB camera with other components. But there is a timestamp issue with the depthai ros driver. Sometimes the timestamp of the current frame is old than the last received frame. If you want to verify I can share the bag file also.

For example, check the timestamp of the frame no 13 in the attached snapshot.
Screenshot 2021-12-26 at 1 39 10 PM

Please let me know what I can do. The timestamp is very important for syncing.
Thank you

Publish camera_info topic (from eeprom) in plumb_bob model instead rational_polynomial

The camera_info topic is being published in rational_polinomial model which is not supported by ROS1. This make almost every VO/VIO/Slam software that take the calibration from the topic doesn't work, except rtabnmap because added specific support.
ROS2 support it, but as almost every software is ported from ROS, still do not support rational_polynomial as ROS2 still support plumb_bob.
Just there is not point in use rational_polynomial.
Just make note there is files in plumb_bob model in the src folder that it looks were used previously to load the calibration from file instead from eeprom. Quite curious there is not files for 400p resolution, so what calibration was using the camera then?
Other curious point is you are selling fisheye option, and planned oak-d with fisheyes, but the model supported for fisheyes in ROS is equidistant, how you have solved this for people like me that bought the fisheyes IR+rgb? No idea how to do it right (with the right calibration) in ROS with them.
I think the right thing should can load in eeprom plumbob, equidistant for fisheyes and rational_polinomial from the calibration tool and can save them.
Ideal should be load all of them and use them with an arg in the launch or recognising the module in fisheyes case.
A temporal patch could be an arg in launch choosing load calibration from eeprom or from file and can calibrate in equidistant too

Change the point cloud display orientation

Hi!

I was able to display the point cloud with rviz with'roslaunch depthai_examples stereo_nodelet.launch'.

The orientation of the point cloud display displayed in rviz is landscape by default, but I would like to change the orientation of the point cloud display from top to bottom. Where can I adjust it?

Thanks!

NN_json key not found

Hi, I ran into a bunch of issues trying to get this to run:

  1. Git clone of this repo and the depthai according to the instruction on this Readme come up with:

Cloning into 'depthai'...
[email protected]: Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.

Problem averted by simply running git clone https://github.com/luxonis/depthai_ros2.git

  1. Next problem was the depthai.depthai_helpers.arg_manager imports SharedArgs module, which does not exist (at least not in the develop branch of depthai, this may be why the specific branch is needed, but since i cant find it i'm not sure).

This problem could be averted by removing the import, as it does not seem to be used anywhere.

  1. This is where my breaking problem is. I get the following error when i run ros2 run depthai_wrapper talker

Traceback (most recent call last):
File "/usr/lib/python3.6/threading.py", line 916, in _bootstrap_inner
self.run()
File "/usr/lib/python3.6/threading.py", line 864, in run
self._target(*self._args, **self._kwargs)
File "/home/job/ros2_ws/install/depthai_wrapper/lib/python3.6/site-packages/depthai_wrapper/publisher_member_function.py", line 152, in thread_function
serializedEntry = self.decode_nn_json(nnet_packet, config=self.config)
File "/home/job/depthai/depthai_helpers/mobilenet_ssd_handler.py", line 68, in decode_mobilenet_ssd_json
detections = decode_mobilenet_ssd(nnet_packet, **kwargs)
File "/home/job/depthai/depthai_helpers/mobilenet_ssd_handler.py", line 7, in decode_mobilenet_ssd
NN_metadata = kwargs['NN_json']
KeyError: 'NN_json'

I have printed out the kwargs dict and there clearly isnt any NN_json key, however when I run the depthai_demo.py from the depthai repo it works just fine, and the dict shows the NN_json key filled in.

Question is, did one of my other changes break it, or is something else wrong?

PS: Full output of command is below. Running on Jetson Nano 4Gb, running ubuntu 18.04, ROS2 Eloquent

No calibration file. Using Calibration Defaults.
depthai.version == 0.4.1.1+dev
{'config_overwrite': None, 'board': None, 'shaves': None, 'cmx_slices': None, 'NN_engines': None, 'model_compilation_target': 'auto', 'rgb_resolution': 1080, 'rgb_fps': 30.0, 'color_scale': 1.0, 'mono_resolution': 400, 'mono_fps': 30.0, 'disparity_confidence_threshold': 200, 'stereo_median_size': 7, 'stereo_lr_check': False, 'store_eeprom': False, 'clear_eeprom': False, 'override_eeprom': False, 'device_id': '', 'dev_debug': None, 'force_usb2': None, 'cnn_model': 'mobilenet-ssd', 'cnn_model2': '', 'cnn_camera': 'rgb', 'disable_depth': False, 'draw_bb_depth': False, 'full_fov_nn': False, 'sync_video_meta': False, 'sync_sequence_numbers': False, 'usb_chunk_KiB': 64, 'firmware': None, 'verbose': False, 'streams': ['metaout', 'previewout'], 'video': None, 'pointcloud': False, 'use_mesh': False, 'mirror_rectified': 'true', 'field_of_view': 71.86, 'rgb_field_of_view': 68.7938, 'baseline': 7.5, 'rgb_baseline': 3.75, 'swap_lr': True}
Compiled mode found: compiled for 14 shaves, 14 cmx_slices and 1 NN_engines
XLink initialized.
Sending internal device firmware
Successfully connected to device.
Usb speed : Super/5000Mbps
Mx serial id : 14442C10C14790D000
Loading config file
Attempting to open stream config_d2h
watchdog started
Successfully opened stream config_d2h with ID #0!
Closing stream config_d2h: ...
Closing stream config_d2h: DONE.
EEPROM data: valid (v5)
Board name : BW1098OBC
Board rev : R0M0E0
HFOV L/R : 71.86 deg
HFOV RGB : 68.7938 deg
L-R distance : 7.5 cm
L-RGB distance : 3.75 cm
L/R swapped : yes
L/R crop region: center
Rectification Rotation R1 (left):
0.999989, -0.004569, -0.001338,
0.004571, 0.999989, 0.001381,
0.001332, -0.001387, 0.999998,
Rectification Rotation R2 (right):
0.999971, -0.001382, -0.007476,
0.001371, 0.999998, -0.001389,
0.007478, 0.001379, 0.999971,
Calibration intrinsic matrix M1 (left):
864.423340, 0.000000, 643.939331,
0.000000, 864.593018, 404.232086,
0.000000, 0.000000, 1.000000,
Calibration intrinsic matrix M2 (right):
858.184509, 0.000000, 637.403687,
0.000000, 858.860474, 402.690948,
0.000000, 0.000000, 1.000000,
Calibration rotation matrix R:
0.999976, -0.003208, 0.006141,
0.003191, 0.999991, 0.002762,
-0.006150, -0.002742, 0.999977,
Calibration translation matrix T:
-7.470156,
0.010323,
0.055846,
Calibration Distortion Coeff d1 (Left):
-5.017370, 15.731809, 0.000404, 0.000621, -16.123734, -5.071336, 15.952812,
-16.344746, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000,
Calibration Distortion Coeff d2 (Right):
-6.138880, 22.803879, 0.000401, 0.000697, -27.362764, -6.188379, 22.989624,
-27.538055, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000,
Available streams: ['meta_d2h', 'left', 'right', 'disparity', 'depth', 'metaout', 'previewout', 'jpegout', 'video', 'object_tracker', 'rectified_left', 'rectified_right', 'color']
/home/job/depthai/resources/nn/mobilenet-ssd/mobilenet-ssd.json
depthai: Using calibration from stored in EEPROM
config_h2d json:
{"_board":{"calib_data":[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0],"mesh_left":[0.0],"mesh_right":[0.0]},"_load_inBlob":true,"_pipeline":{"_streams":[{"name":"metaout"},{"name":"previewout"}]},"ai":{"NCEs":1,"NN_config":{"NN_family":"mobilenet","confidence_threshold":0.5,"output_format":"detection"},"blob0_size":14477056,"blob1_size":0,"calc_dist_to_bb":true,"camera_input":"rgb","cmx_slices":14,"keep_aspect_ratio":true,"num_stages":1,"shaves":14},"app":{"enable_reconfig":true,"sync_sequence_numbers":false,"sync_video_meta_streams":false,"usb_chunk_KiB":64},"board":{"clear-eeprom":false,"left_fov_deg":71.86000061035156,"left_to_rgb_distance_m":0.03750000149011612,"left_to_right_distance_m":0.07500000298023224,"name":"","override-eeprom":false,"revision":"","rgb_fov_deg":68.7938003540039,"stereo_center_crop":false,"store-to-eeprom":false,"swap-left-and-right-cameras":true},"camera":{"mono":{"fps":30.0,"resolution_h":400,"resolution_w":640},"rgb":{"fps":30.0,"resolution_h":1080,"resolution_w":1920}},"depth":{"depth_limit_mm":10000,"lr_check":false,"median_kernel_size":7,"padding_factor":0.30000001192092896,"warp_rectify":{"edge_fill_color":0,"mirror_frame":true,"use_mesh":false}},"ot":{"confidence_threshold":0.5,"max_tracklets":20}}
size of input string json_config_obj to config_h2d is ->1652
size of json_config_obj that is expected to be sent to config_h2d is ->1048576
Attempting to open stream config_h2d
Successfully opened stream config_h2d with ID #1!
Writing 1048576 bytes to config_h2d
!!! XLink write successful: config_h2d (1048576)
Closing stream config_h2d: ...
Closing stream config_h2d: DONE.
Creating observer stream host_capture: ...
Attempting to open stream host_capture
Successfully opened stream host_capture with ID #0!
Creating observer stream host_capture: DONE.
Read: 14477056
Attempting to open stream inBlob
Successfully opened stream inBlob with ID #1!
Writing 14477056 bytes to inBlob
!!! XLink write successful: inBlob (14477056)
Closing stream inBlob: ...
Closing stream inBlob: DONE.
depthai: done sending Blob file /home/job/depthai/resources/nn/mobilenet-ssd/mobilenet-ssd.blob.sh14cmx14NCE1
Attempting to open stream outBlob
Successfully opened stream outBlob with ID #2!
Closing stream outBlob: ...
Closing stream outBlob: DONE.
Input layer :
Name: data
Index: 0
Element type: uint8
Element size: 1byte
Offset: 0 byte
Dimensions: [Batch : 1, Channel : 3, Height : 300, Width : 300]

Output layer :
Name: detection_out
Index: 0
Element type: float16
Element size: 2 bytes
Offset: 0 byte
Dimensions: [Batch : 1, Channel : 1, Height : 100, Width : 7]

CNN to depth bounding-box mapping: start(159, 39), max_size(321, 321)
Host stream start:metaout
Opening stream for read: metaout
Attempting to open stream metaout
Successfully opened stream metaout with ID #1!
Starting thread for stream: metaout
Host stream start:previewout
Opening stream for read: previewout
Attempting to open stream previewout
Successfully opened stream previewout with ID #2!
Starting thread for stream: previewout
depthai: INIT OK!
Started thread for stream: previewout
Started thread for stream: metaout
Exception in thread Thread-1:
Traceback (most recent call last):
File "/usr/lib/python3.6/threading.py", line 916, in _bootstrap_inner
self.run()
File "/usr/lib/python3.6/threading.py", line 864, in run
self._target(*self._args, **self._kwargs)
File "/home/job/ros2_ws/install/depthai_wrapper/lib/python3.6/site-packages/depthai_wrapper/publisher_member_function.py", line 152, in thread_function
serializedEntry = self.decode_nn_json(nnet_packet, config=self.config)
File "/home/job/depthai/depthai_helpers/mobilenet_ssd_handler.py", line 68, in decode_mobilenet_ssd_json
detections = decode_mobilenet_ssd(nnet_packet, **kwargs)
File "/home/job/depthai/depthai_helpers/mobilenet_ssd_handler.py", line 7, in decode_mobilenet_ssd
NN_metadata = kwargs['NN_json']
KeyError: 'NN_json'

=== New data in observer stream host_capture, size: 4
Writing 4 bytes to host_capture
!!! XLink write successful: host_capture (4)
Stopping threads: ...
E: [global] [ 450515] [talker] addEvent:264 Condition failed: event->header.flags.bitField.ack != 1
E: [global] [ 450516] [talker] addEventWithPerf:276 addEvent(event) method call failed with an error: 3
E: [global] [ 450516] [talker] XLinkReadData:156 Condition failed: (addEventWithPerf(&event, &opTime))
Device get data failed: 7
Closing stream metaout: ...
E: [global] [ 450516] [talker] addEvent:264 Condition failed: event->header.flags.bitField.ack != 1
E: [global] [ 450516] [talker] addEventWithPerf:276 addEvent(event) method call failed with an error: 3
E: [global] [ 450516] [talker] XLinkReadData:156 Condition failed: (addEventWithPerf(&event, &opTime))
Device get data failed: 7
Closing stream previewout: ...
E: [global] [ 450528] [Scheduler00Thr] dispatcherEventSend:53 Write failed (header) (err -1) | event XLINK_CLOSE_STREAM_REQ

E: [xLink] [ 450528] [Scheduler00Thr] sendEvents:1027 Event sending failed
Closing stream metaout: DONE.
Thread for metaout finished.
E: [global] [ 450552] [Scheduler00Thr] dispatcherEventSend:53 Write failed (header) (err -1) | event XLINK_CLOSE_STREAM_REQ

E: [xLink] [ 450552] [Scheduler00Thr] sendEvents:1027 Event sending failed
Closing stream previewout: DONE.
Thread for previewout finished.
Stopping threads: DONE 0.049s.
Closing all observer streams: ...
Closing stream host_capture: ...
Closing stream host_capture: DONE.
Closing all observer streams: DONE.
Reseting device: 0.
E: [global] [ 450588] [Scheduler00Thr] dispatcherEventSend:53 Write failed (header) (err -1) | event XLINK_RESET_REQ

E: [xLink] [ 450589] [Scheduler00Thr] sendEvents:1027 Event sending failed
Reseting: DONE.

Add Support for XlinkIn streams

Idea here is to implement a link for XlinkIn streams which allows subscribing, converting ros messages to Dai Message which can be passed as input to the device.

camera_info P matrices are zero

I launched depthai_examples rgb_stereo_node.launch and I noticed the camera_info of both the RGB and stereo cameras have all zeros in the P component. This practically makes depth_image_proc unusable with the images.

CMakeList.txt file in depthai_examples misses install parameters in the ros 1 section

The CMakeFile in the depthai_examples directory doesn't have install parameters for the ros1 section like it has for the ros2 section.
I have added the following in my CMikeList.txt file in the depthai_examples directory

This part added

  ## Install these nodes
  install(TARGETS
          crop_control_service
          mobilenet_node
          rgb_node
          rgb_stereo_node
          rgb_subscriber_node
          # stereo_mimic_node
          stereo_inertial_node
          stereo_node
          yolov4_spatial_node
          RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
  )

  install(DIRECTORY launch/
	DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}/launch
	PATTERN ".svn" EXCLUDE
  )

before endif

endif()

Error during running yolov4_publisher.launch

Hi! Got new OAK-D-Lite today, must say you guys did a great job!
But faced error when launch yolov4_publisher.launch on ROS Noetic:

Error says:
Stack trace (most recent call last) in thread 3105: #5 Object "[", at 0, in nil #4 Object "/lib/x86_64-linux-gnu/libpthread.so.0", at 0x7f2047feb3bf, in #3 Object "/usr/local/lib/libdepthai-core.so", at 0x7f204744c76e, in backward::SignalHandling::sig_handler(int, siginfo_t*, void*) #2 Object "/usr/local/lib/libdepthai-core.so", at 0x7f204744c67d, in backward::SignalHandling::handleSignal(int, siginfo_t*, void*) #1 Object "/usr/local/lib/libdepthai-core.so", at 0x7f2047449e5f, in backward::StackTraceImpl<backward::system_tag::linux_tag>::load_here(unsigned long, void*, void*) #0 Object "/usr/local/lib/libdepthai-core.so", at 0x7f204744cb97, in unsigned long backward::details::unwind<backward::StackTraceImpl<backward::system_tag::linux_tag>::callback>(backward::StackTraceImpl<backward::system_tag::linux_tag>::callback, unsigned long) Segmentation fault (Address not mapped to object [(nil)])
Every launch of yolo ends with this, or with freezing when no image and no data in topic with detected objects.

Timestamp issue

Hello,

I am using oak 1 and running rgb_publisher example for get rgb data. But it looks like timestamp is not operation system base. It is something different. Is there any way to get system base timestamp? I need that for syncing camera and lidar.

Can you please point out if I need to do some code changes?
Thank you

ROS2 installation errors

Hi @saching13!
After using the depthai-ros-examples in ROS Melodic, I would like to move on to ROS2. I was trying to install the depthai-ros packages in my ROS2 Eloquent workspace but it fails with errors like the kind:

Command run: colcon build --packages-select depthai_bridge depthai_ros_msgs
Log:

Starting >>> depthai_ros_msgs
--- stderr: depthai_ros_msgs                         
CMake Error at CMakeLists.txt:5 (find_package):
  By not providing "Findcatkin.cmake" in CMAKE_MODULE_PATH this project has
  asked CMake to find a package configuration file provided by "catkin", but
  CMake did not find one.

  Could not find a package configuration file provided by "catkin" with any
  of the following names:

    catkinConfig.cmake
    catkin-config.cmake

  Add the installation prefix of "catkin" to CMAKE_PREFIX_PATH or set
  "catkin_DIR" to a directory containing one of the above files.  If "catkin"
  provides a separate development package or SDK, be sure it has been
  installed.


---
Failed   <<< depthai_ros_msgs [0.10s, exited with code 1]

Summary: 0 packages finished [0.26s]
  1 package failed: depthai_ros_msgs
  1 package had stderr output: depthai_ros_msgs
  1 package not processed

Basically the CMakeList.txt is using catkin to compile the packages and I do not have it install.
I have tried to compile the depthai_bridge package alone using the ament_cmake compilation tool (just uncommented this part and commented the catkin part) and still the same error. It is to be expected since the depthai_ros_msgs only has catkin options and not ament.

I would like to know if it is required to install catkin in ROS2 in order to compile the packages or are there any modifications we can make to compile them using ament?
I would like to be sure about this, before installing catkin in ROS2 which does not look that trivial.

Thank you!

typo in foxy installation command

There is a typo in readme in foxy branch:

sudo wget -qO- https://raw.githubusercontent.com/luxonis/depthai-ros/foxy-devel/install_dependencis.sh | bash

Should be "dependencies":

sudo wget -qO- https://raw.githubusercontent.com/luxonis/depthai-ros/foxy-devel/install_dependencies.sh | bash

terminate called after throwing an instance of 'std::runtime_error' error when I run rgb_stereo_node.launch

I am having some trouble running the rgb_stereo_node.launch file with my OAK-D.

$ roslaunch depthai_examples rgb_stereo_node.launch
... logging to /home/eia-lab1/.ros/log/66e7356a-220c-11ec-bced-fc777466ce75/roslaunch-eialab1-AERO-15-X9-8369.log
Checking log directory for disk usage. This may take a while.
Press Ctrl-C to interrupt
WARNING: disk usage in log directory [/home/eia-lab1/.ros/log] is over 1GB.
It's recommended that you use the 'rosclean' command.

started roslaunch server http://127.0.0.1:46541/

SUMMARY
========

PARAMETERS
 * /oak_description: <?xml version="1....
 * /rgb_stereo_publisher/camera_name: oak
 * /rgb_stereo_publisher/camera_param_uri: package://depthai...
 * /rosdistro: melodic
 * /rosversion: 1.14.11

NODES
  /
    oak_state_publisher (robot_state_publisher/robot_state_publisher)
    rgb_stereo_publisher (depthai_examples/rgb_stereo_node)

auto-starting new master
process[master]: started with pid [8406]
ROS_MASTER_URI=http://127.0.0.1:11311

setting /run_id to 66e7356a-220c-11ec-bced-fc777466ce75
process[rosout-1]: started with pid [8428]
started core service [/rosout]
process[oak_state_publisher-2]: started with pid [8431]
process[rgb_stereo_publisher-3]: started with pid [8433]
terminate called after throwing an instance of 'std::runtime_error'
  what():  Couldn't find one of the parameters
================================================================================REQUIRED process [rgb_stereo_publisher-3] has died!
process has died [pid 8433, exit code -6, cmd /home/eia-lab1/catkin_ws/devel/lib/depthai_examples/rgb_stereo_node __name:=rgb_stereo_publisher __log:=/home/eia-lab1/.ros/log/66e7356a-220c-11ec-bced-fc777466ce75/rgb_stereo_publisher-3.log].
log file: /home/eia-lab1/.ros/log/66e7356a-220c-11ec-bced-fc777466ce75/rgb_stereo_publisher-3*.log
Initiating shutdown!
================================================================================
[rgb_stereo_publisher-3] killing on exit
[oak_state_publisher-2] killing on exit
[rosout-1] killing on exit
[master] killing on exit
shutting down processing monitor...
... shutting down processing monitor complete

This is the last commit in the package. Let me know if it needs to be updated. Thanks in advance.

commit c1a35f84cdfcb01bb7764c2d4a6f4b63c85acfd4 (HEAD -> noetic-devel, origin/noetic-devel, origin/HEAD)
Merge: 13e8722 4161eec
Author: Sachin Guruswamy <[email protected]>
Date:   Tue Aug 10 16:48:41 2021 -0700

    Merge pull request #9 from luxonis/noetic-examples-update
    
    Noetic examples sync with C++ examples - 1

OAK-D Lite troubles with camera parameters mismatch

When I roslaunch the example stereo_node.launch file (and probably the others) I'm met with this error, though the node successfully runs:

[18443010A1460B1300] [18.901] [MonoCamera(1)] [error] OV7251 only supports THE_480_P/THE_400_P resolutions, defaulting to THE_480_P
[18443010A1460B1300] [18.902] [MonoCamera(0)] [error] OV7251 only supports THE_480_P/THE_400_P resolutions, defaulting to THE_480_P

When I connect to rosmaster via another machine running rviz, I can open each of the cameras, though they're stretched (meaning there's a resolution mismatch going on), but as soon as I open the stereo depth path I get an error and no point cloud:

Error updating depth cloud: Depth image size and camera info don't match: 640 x 480 vs 1280 x 720(binning: 1 x 1, ROI size: 1280 x 720)

I've checked the launch files and also the companion python files, and I can see that there is a camera model field that suggests that I should configure it to be "OAK-D-LITE" but this also doesn't help.

I assume this has to do with camera parameters under the params folder, but im at a loss as to what should be modified here, or perhaps I need to run a calibration routine to sort this out?

Do you have suitable launch examples and camera parameters for the OAK-D Lite that could maybe be included here?

rgb stream for oak 1

Hello,

Currently I am using OAK 1. I just want to consume rgb stream from ros. Can you please help which example I have to run? And how to change the image resolution? And do I need to change the calibration file?

Some issues encountered with the stereo_nodelet example

ROS report from using stereo_nodelet.launch

Warning message during launch. Implies config error?

[ WARN] [1617956295.079873425]: [stereo] does not match name right in file /home/jonititan/ros_ws/src/depthai-ros-examples/depthai_examples/params/camera/right.yaml

Strange Error. When I record everything a rosbag I get image format errors continuously and an occasional warning about sync.

[ERROR] [1617954294.986707649]: Compressed Image Transport - JPEG compression requires 8/16-bit color format (input format is: 32FC1)
[ERROR] [1617954294.987537467]: cv_bridge exception: '[32FC1] is not a color format. but [bgr8] is. The conversion does not make sense'
[ERROR] [1617954295.478277395]: Compressed Image Transport - JPEG compression requires 8/16-bit color format (input format is: 32FC1)
[ERROR] [1617954295.479139603]: cv_bridge exception: '[32FC1] is not a color format. but [bgr8] is. The conversion does not make sense'
[ERROR] [1617954295.967646872]: Compressed Image Transport - JPEG compression requires 8/16-bit color format (input format is: 32FC1)
[ERROR] [1617954295.968534650]: cv_bridge exception: '[32FC1] is not a color format. but [bgr8] is. The conversion does not make sense'
[ERROR] [1617954296.450010437]: Compressed Image Transport - JPEG compression requires 8/16-bit color format (input format is: 32FC1)
[ERROR] [1617954296.450878760]: cv_bridge exception: '[32FC1] is not a color format. but [bgr8] is. The conversion does not make sense'
[ERROR] [1617954296.951450260]: Compressed Image Transport - JPEG compression requires 8/16-bit color format (input format is: 32FC1)
[ERROR] [1617954296.952243234]: cv_bridge exception: '[32FC1] is not a color format. but [bgr8] is. The conversion does not make sense'
[ WARN] [1617954297.221679545]: [image_transport] Topics '/stereo_publisher/stereo/image' and '/stereo_publisher/stereo/camera_info' do not appear to be synchronized. In the last 10s:
Image messages received: 20
CameraInfo messages received: 73
Synchronized pairs: 20

I haven't yet had time to go through topics one by one to work out which cause this issue. Hopefully I will soon.

Cmake find_package don't work

an@xavier:~/workspace/depthai-core$ cmake -S. -Bbuild -D'DEPTHAI_BUILD_EXAMPLES=ON' -D'BUILD_SHARED_LIBS=ON'
an@xavier:~/workspace/depthai-core$ cmake --build build --target install
an@xavier:~/workspace/depthai-core$ cmake --build build -j7

the build process is ok.

in my project cmakelist.txt:

# depthai
find_package(depthai CONFIG REQUIRED PATHS "/home/an/workspace/depthai-core/build/install/lib/cmake/depthai")
if(depthai_FOUND)
message(STATUS "depthai FOUND, Version:" ${depthai_VERSION} " directory: " ${depthai_DIR})
add_library(vision_oakd SHARED
src/input/oak/oakd.cpp
)
target_link_libraries(vision_oakd PRIVATE depthai::opencv)
endif()

when set PRIVATE, the error is :


[build] In file included from /home/an/workspace/iRobot/vision/src/main.cpp:7:0:
[build] /home/an/workspace/iRobot/vision/src/input/oak/oakd.hpp:13:10: fatal error: depthai/depthai.hpp: No such file or directory
[build] #include <depthai/depthai.hpp>
[build] ^~~~~~~~~~~~~~~~~~~~~

not set PRIVATE,but add my spdlog, seems confict:


[build] CMakeFiles/visionApp.dir/src/main.cpp.o: In function void spdlog::info<char [3]>(char const (&) [3])': [build] /home/an/.hunter/_Base/9b4e732/08f9145/90457df/Install/include/spdlog/logger.h:168: undefined reference to spdlog::details::log_msg::log_msg(spdlog::source_loc, fmt::v7::basic_string_view, spdlog::level::level_enum, fmt::v7::basic_string_view)'
[build] CMakeFiles/visionApp.dir/src/main.cpp.o: In function void spdlog::logger::log_<fmt::v7::basic_string_view<char>, unsigned long&>(spdlog::source_loc, spdlog::level::level_enum, fmt::v7::basic_string_view<char> const&, unsigned long&)': [build] /home/an/.hunter/_Base/9b4e732/08f9145/90457df/Install/include/spdlog/fmt/bundled/format.h:3821: undefined reference to void fmt::v7::detail::vformat_to(fmt::v7::detail::buffer&, fmt::v7::basic_string_view, fmt::v7::basic_format_args<fmt::v7::basic_format_context<fmt::v7::detail::buffer_appender<fmt::v7::type_identity::type>, fmt::v7::type_identity::type> >, fmt::v7::detail::locale_ref)'
[build] CMakeFiles/visionApp.dir/src/main.cpp.o: In function void spdlog::logger::log_<fmt::v7::basic_string_view<char>, unsigned long&>(spdlog::source_loc, spdlog::level::level_enum, fmt::v7::basic_string_view<char> const&, unsigned long&)': [build] /home/an/.hunter/_Base/9b4e732/08f9145/90457df/Install/include/spdlog/logger.h:341: undefined reference to spdlog::details::log_msg::log_msg(spdlog::source_loc, fmt::v7::basic_string_view, spdlog::level::level_enum, fmt::v7::basic_string_view)'
[build] collect2: error: ld returned 1 exit status

Support for Image Transport

I started playing with the examples, and it looks like the ros endpoints for camera images only support the raw format. I was previously publishing images with python and could see a huge performance improvement for remote subscribers using compressed images.

It looks like the recommended way to do this is to use image_transport (see http://wiki.ros.org/image_transport). That adds support for multiple publish endpoints, compressed, Theora, etc.

Do you support / have any plans to support this? It looks like it might require BridgePublisher specializations for sensor_msgs::Image. I might try to code it up in a fork if you are interested.

ROS Warning

Hello,
I am using oak1 with ros melodic and running rgb_publisher,launch. Consistently I am getting this warning.

[ WARN] [1634709879.911077602]: Missing 2000001 number of Incoming message from Depthai Queue video [ WARN] [1634709879.944568800]: Missing 2000001 number of Incoming message from Depthai Queue video [ WARN] [1634709879.977112563]: Missing 2000001 number of Incoming message from Depthai Queue video [ WARN] [1634709880.010921628]: Missing 2000001 number of Incoming message from Depthai Queue video [ WARN] [1634709880.043616212]: Missing 2000001 number of Incoming message from Depthai Queue video
Can you please throw some light how to avoid this warning?

Thank you

Oak d poe with ROS

Hi guys!

I'm not sure this is the right place to be asking, but what is the best way to interface a Oak d poe camera with ROS nowadays? Would I use depthai-ros?

Thanks a lot

YAML-cpp linker issue while installing using catkin_make

Hey, I'm getting a linker error in the final step while trying to build the depthai_examples.

catkin_make_isolated --cmake-args -D depthai_DIR=/media/mayank/Data/999_Misc/6_OAKD/depthai-core/build/install/lib/cmake/depthai -DPYTHON_EXECUTABLE=/usr/bin/python3
Base path: /media/mayank/Data/999_Misc/6_OAKD/depthai_ros_ws
Source space: /media/mayank/Data/999_Misc/6_OAKD/depthai_ros_ws/src
Build space: /media/mayank/Data/999_Misc/6_OAKD/depthai_ros_ws/build_isolated
Devel space: /media/mayank/Data/999_Misc/6_OAKD/depthai_ros_ws/devel_isolated
Install space: /media/mayank/Data/999_Misc/6_OAKD/depthai_ros_ws/install_isolated
Additional CMake Arguments: -D depthai_DIR=/media/mayank/Data/999_Misc/6_OAKD/depthai-core/build/install/lib/cmake/depthai -DPYTHON_EXECUTABLE=/usr/bin/python3
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~  traversing 4 packages in topological order:
~~  - vision_msgs
~~  - depthai_ros_msgs
~~  - depthai_bridge
~~  - depthai_examples
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

==> Processing catkin package: 'vision_msgs'
Makefile exists, skipping explicit cmake invocation...
==> make cmake_check_build_system in '/media/mayank/Data/999_Misc/6_OAKD/depthai_ros_ws/build_isolated/vision_msgs'
==> make -j12 -l12 in '/media/mayank/Data/999_Misc/6_OAKD/depthai_ros_ws/build_isolated/vision_msgs'
[  0%] Built target sensor_msgs_generate_messages_nodejs
[  0%] Built target geometry_msgs_generate_messages_nodejs
[  0%] Built target std_msgs_generate_messages_nodejs
[  0%] Built target _vision_msgs_generate_messages_check_deps_VisionInfo
[  0%] Built target _vision_msgs_generate_messages_check_deps_Detection2DArray
[  0%] Built target _vision_msgs_generate_messages_check_deps_Detection3D
[  0%] Built target _vision_msgs_generate_messages_check_deps_Detection2D
[  0%] Built target _vision_msgs_generate_messages_check_deps_Detection3DArray
[  0%] Built target _vision_msgs_generate_messages_check_deps_BoundingBox3D
[  0%] Built target _vision_msgs_generate_messages_check_deps_ObjectHypothesisWithPose
[  0%] Built target _vision_msgs_generate_messages_check_deps_BoundingBox2D
[  0%] Built target _vision_msgs_generate_messages_check_deps_Classification3D
[  0%] Built target sensor_msgs_generate_messages_py
[  0%] Built target sensor_msgs_generate_messages_cpp
[  0%] Built target std_msgs_generate_messages_cpp
[  0%] Built target sensor_msgs_generate_messages_eus
[  0%] Built target geometry_msgs_generate_messages_py
[  0%] Built target std_msgs_generate_messages_py
[  0%] Built target std_msgs_generate_messages_eus
[  0%] Built target geometry_msgs_generate_messages_cpp
[  0%] Built target geometry_msgs_generate_messages_eus
[  0%] Built target _vision_msgs_generate_messages_check_deps_ObjectHypothesis
[  0%] Built target _vision_msgs_generate_messages_check_deps_BoundingBox3DArray
[  0%] Built target _vision_msgs_generate_messages_check_deps_Classification2D
[  0%] Built target std_msgs_generate_messages_lisp
[  0%] Built target geometry_msgs_generate_messages_lisp
[  0%] Built target sensor_msgs_generate_messages_lisp
[ 30%] Built target vision_msgs_generate_messages_eus
[ 40%] Built target vision_msgs_generate_messages_nodejs
[ 59%] Built target vision_msgs_generate_messages_cpp
[ 79%] Built target vision_msgs_generate_messages_lisp
[100%] Built target vision_msgs_generate_messages_py
[100%] Built target vision_msgs_generate_messages
<== Finished processing package [1 of 4]: 'vision_msgs'

==> Processing catkin package: 'depthai_ros_msgs'
==> Building with env: '/media/mayank/Data/999_Misc/6_OAKD/depthai_ros_ws/devel_isolated/vision_msgs/env.sh'
Makefile exists, skipping explicit cmake invocation...
==> make cmake_check_build_system in '/media/mayank/Data/999_Misc/6_OAKD/depthai_ros_ws/build_isolated/depthai_ros_msgs'
==> make -j12 -l12 in '/media/mayank/Data/999_Misc/6_OAKD/depthai_ros_ws/build_isolated/depthai_ros_msgs'
[  0%] Built target std_msgs_generate_messages_cpp
[  0%] Built target sensor_msgs_generate_messages_cpp
[  0%] Built target sensor_msgs_generate_messages_nodejs
[  0%] Built target std_msgs_generate_messages_py
[  0%] Built target std_msgs_generate_messages_nodejs
[  0%] Built target vision_msgs_generate_messages_cpp
[  0%] Built target vision_msgs_generate_messages_py
[  0%] Built target sensor_msgs_generate_messages_py
[  0%] Built target vision_msgs_generate_messages_nodejs
[  0%] Built target sensor_msgs_generate_messages_lisp
[  0%] Built target std_msgs_generate_messages_lisp
[  0%] Built target sensor_msgs_generate_messages_eus
[  0%] Built target std_msgs_generate_messages_eus
[  0%] Built target vision_msgs_generate_messages_lisp
[  0%] Built target vision_msgs_generate_messages_eus
[  0%] Built target _depthai_ros_msgs_generate_messages_check_deps_SpatialDetectionArray
[  0%] Built target _depthai_ros_msgs_generate_messages_check_deps_AutoFocusCtrl
[  0%] Built target _depthai_ros_msgs_generate_messages_check_deps_SpatialDetection
[  0%] Built target _depthai_ros_msgs_generate_messages_check_deps_TriggerNamed
[ 43%] Built target depthai_ros_msgs_generate_messages_py
[ 47%] Built target depthai_ros_msgs_generate_messages_eus
[ 65%] Built target depthai_ros_msgs_generate_messages_nodejs
[ 82%] Built target depthai_ros_msgs_generate_messages_lisp
[100%] Built target depthai_ros_msgs_generate_messages_cpp
[100%] Built target depthai_ros_msgs_generate_messages
<== Finished processing package [2 of 4]: 'depthai_ros_msgs'

==> Processing catkin package: 'depthai_bridge'
==> Building with env: '/media/mayank/Data/999_Misc/6_OAKD/depthai_ros_ws/devel_isolated/depthai_ros_msgs/env.sh'
Makefile exists, skipping explicit cmake invocation...
==> make cmake_check_build_system in '/media/mayank/Data/999_Misc/6_OAKD/depthai_ros_ws/build_isolated/depthai_bridge'
==> make -j12 -l12 in '/media/mayank/Data/999_Misc/6_OAKD/depthai_ros_ws/build_isolated/depthai_bridge'
[  0%] Built target depthai_ros_msgs_generate_messages_py
[  0%] Built target rosgraph_msgs_generate_messages_nodejs
[  0%] Built target depthai_ros_msgs_generate_messages_eus
[  0%] Built target depthai_ros_msgs_generate_messages_nodejs
[  0%] Built target geometry_msgs_generate_messages_cpp
[  0%] Built target vision_msgs_generate_messages_py
[  0%] Built target depthai_ros_msgs_generate_messages_lisp
[  0%] Built target vision_msgs_generate_messages_cpp
[  0%] Built target geometry_msgs_generate_messages_nodejs
[  0%] Built target roscpp_generate_messages_py
[  0%] Built target depthai_ros_msgs_generate_messages_cpp
[  0%] Built target vision_msgs_generate_messages_nodejs
[  0%] Built target sensor_msgs_generate_messages_cpp
[  0%] Built target std_msgs_generate_messages_py
[  0%] Built target vision_msgs_generate_messages_eus
[  0%] Built target sensor_msgs_generate_messages_eus
[  0%] Built target sensor_msgs_generate_messages_lisp
[  0%] Built target rosgraph_msgs_generate_messages_py
[  0%] Built target sensor_msgs_generate_messages_py
[  0%] Built target geometry_msgs_generate_messages_py
[  0%] Built target roscpp_generate_messages_cpp
[  0%] Built target std_msgs_generate_messages_lisp
[  0%] Built target roscpp_generate_messages_lisp
[  0%] Built target sensor_msgs_generate_messages_nodejs
[  0%] Built target geometry_msgs_generate_messages_lisp
[  0%] Built target rosgraph_msgs_generate_messages_cpp
[  0%] Built target vision_msgs_generate_messages_lisp
[  0%] Built target geometry_msgs_generate_messages_eus
[  0%] Built target std_msgs_generate_messages_eus
[  0%] Built target roscpp_generate_messages_nodejs
[  0%] Built target std_msgs_generate_messages_nodejs
[  0%] Built target rosgraph_msgs_generate_messages_eus
[  0%] Built target std_msgs_generate_messages_cpp
[  0%] Built target roscpp_generate_messages_eus
[  0%] Built target rosgraph_msgs_generate_messages_lisp
[100%] Built target depthai_bridge
<== Finished processing package [3 of 4]: 'depthai_bridge'

==> Processing catkin package: 'depthai_examples'
==> Building with env: '/media/mayank/Data/999_Misc/6_OAKD/depthai_ros_ws/devel_isolated/depthai_bridge/env.sh'
Makefile exists, skipping explicit cmake invocation...
==> make cmake_check_build_system in '/media/mayank/Data/999_Misc/6_OAKD/depthai_ros_ws/build_isolated/depthai_examples'
-- Found YAMLCPP: /usr/local/include  
-- Using CATKIN_DEVEL_PREFIX: /media/mayank/Data/999_Misc/6_OAKD/depthai_ros_ws/devel_isolated/depthai_examples
-- Using CMAKE_PREFIX_PATH: /media/mayank/Data/999_Misc/6_OAKD/depthai_ros_ws/devel_isolated/depthai_bridge;/media/mayank/Data/999_Misc/6_OAKD/depthai_ros_ws/devel_isolated/depthai_ros_msgs;/media/mayank/Data/999_Misc/6_OAKD/depthai_ros_ws/devel_isolated/vision_msgs;/opt/ros/noetic
-- This workspace overlays: /media/mayank/Data/999_Misc/6_OAKD/depthai_ros_ws/devel_isolated/depthai_bridge;/media/mayank/Data/999_Misc/6_OAKD/depthai_ros_ws/devel_isolated/depthai_ros_msgs;/media/mayank/Data/999_Misc/6_OAKD/depthai_ros_ws/devel_isolated/vision_msgs;/opt/ros/noetic
-- Found PythonInterp: /usr/bin/python3 (found suitable version "3.8.5", minimum required is "3") 
-- Using PYTHON_EXECUTABLE: /usr/bin/python3
-- Using Debian Python package layout
-- Using empy: /usr/lib/python3/dist-packages/em.py
-- Using CATKIN_ENABLE_TESTING: ON
-- Call enable_testing()
-- Using CATKIN_TEST_RESULTS_DIR: /media/mayank/Data/999_Misc/6_OAKD/depthai_ros_ws/build_isolated/depthai_examples/test_results
-- Forcing gtest/gmock from source, though one was otherwise available.
-- Found gtest sources under '/usr/src/googletest': gtests will be built
-- Found gmock sources under '/usr/src/googletest': gmock will be built
-- Found PythonInterp: /usr/bin/python3 (found version "3.8.5") 
-- Using Python nosetests: /usr/bin/nosetests3
-- catkin 0.8.9
-- BUILD_SHARED_LIBS is on
-----------------------------------------------mobilenet_blob-------------------------
mobilenet_blob
-- Configuring done
-- Generating done
-- Build files have been written to: /media/mayank/Data/999_Misc/6_OAKD/depthai_ros_ws/build_isolated/depthai_examples
==> make -j12 -l12 in '/media/mayank/Data/999_Misc/6_OAKD/depthai_ros_ws/build_isolated/depthai_examples'
[  0%] Built target depthai_ros_msgs_generate_messages_py
[  0%] Built target rosgraph_msgs_generate_messages_nodejs
[  0%] Built target depthai_ros_msgs_generate_messages_nodejs
[  0%] Built target vision_msgs_generate_messages_nodejs
[  0%] Built target depthai_ros_msgs_generate_messages_eus
[  0%] Built target depthai_ros_msgs_generate_messages_lisp
[  0%] Built target vision_msgs_generate_messages_py
[  0%] Built target vision_msgs_generate_messages_cpp
[  0%] Built target depthai_ros_msgs_generate_messages_cpp
[  0%] Built target geometry_msgs_generate_messages_nodejs
[  0%] Built target geometry_msgs_generate_messages_cpp
[  0%] Built target roscpp_generate_messages_py
[  0%] Built target vision_msgs_generate_messages_eus
[  0%] Built target sensor_msgs_generate_messages_cpp
[  0%] Built target sensor_msgs_generate_messages_lisp
[  0%] Built target std_msgs_generate_messages_py
[  0%] Built target std_msgs_generate_messages_lisp
[  0%] Built target sensor_msgs_generate_messages_py
[  0%] Built target rosgraph_msgs_generate_messages_py
[  0%] Built target sensor_msgs_generate_messages_nodejs
[  0%] Built target sensor_msgs_generate_messages_eus
[  0%] Built target geometry_msgs_generate_messages_py
[  0%] Built target roscpp_generate_messages_cpp
[  0%] Built target roscpp_generate_messages_lisp
[  0%] Built target geometry_msgs_generate_messages_lisp
[  0%] Built target std_msgs_generate_messages_eus
[  0%] Built target vision_msgs_generate_messages_lisp
[  0%] Built target geometry_msgs_generate_messages_eus
[  0%] Built target std_msgs_generate_messages_cpp
[  0%] Built target rosgraph_msgs_generate_messages_cpp
[  0%] Built target std_msgs_generate_messages_nodejs
[  0%] Built target roscpp_generate_messages_nodejs
[  0%] Built target roscpp_generate_messages_eus
[  0%] Built target rosgraph_msgs_generate_messages_eus
[  0%] Built target rosgraph_msgs_generate_messages_lisp
[ 30%] Built target depthai_examples
[ 40%] Built target rgb_subscriber_node
[ 45%] Linking CXX executable /media/mayank/Data/999_Misc/6_OAKD/depthai_ros_ws/devel_isolated/depthai_examples/lib/depthai_examples/rgb_node
[ 50%] Linking CXX executable /media/mayank/Data/999_Misc/6_OAKD/depthai_ros_ws/devel_isolated/depthai_examples/lib/depthai_examples/mobilenet_node
[ 55%] Linking CXX executable /media/mayank/Data/999_Misc/6_OAKD/depthai_ros_ws/devel_isolated/depthai_examples/lib/depthai_examples/rgb_stereo_node
[ 60%] Linking CXX executable /media/mayank/Data/999_Misc/6_OAKD/depthai_ros_ws/devel_isolated/depthai_examples/lib/depthai_examples/stereo_mimic_node
[ 70%] Built target nodelet_stereo
[ 75%] Linking CXX executable /media/mayank/Data/999_Misc/6_OAKD/depthai_ros_ws/devel_isolated/depthai_examples/lib/depthai_examples/stereo_node
/usr/bin/ld: warning: libopencv_imgcodecs.so.4.2, needed by /opt/ros/noetic/lib/libcv_bridge.so, may conflict with libopencv_imgcodecs.so.4.5
/usr/bin/ld: warning: libopencv_features2d.so.4.2, needed by /usr/lib/x86_64-linux-gnu/libopencv_calib3d.so.4.2.0, may conflict with libopencv_features2d.so.4.5
/usr/bin/ld: /opt/ros/noetic/lib/libcamera_calibration_parsers.so: undefined reference to `YAML::detail::node_data::convert_to_map(std::shared_ptr<YAML::detail::memory_holder>)'
/usr/bin/ld: warning: libopencv_imgcodecs.so.4.2, needed by /opt/ros/noetic/lib/libcv_bridge.so, may conflict with libopencv_imgcodecs.so.4.5
/usr/bin/ld: warning: libopencv_features2d.so.4.2, needed by /usr/lib/x86_64-linux-gnu/libopencv_calib3d.so.4.2.0, may conflict with libopencv_features2d.so.4.5
/usr/bin/ld: /opt/ros/noetic/lib/libcamera_calibration_parsers.so: undefined reference to `YAML::detail::node_data::convert_to_map(std::shared_ptr<YAML::detail::memory_holder>)'
collect2: error: ld returned 1 exit status
collect2: error: ld returned 1 exit status
make[2]: *** [CMakeFiles/mobilenet_node.dir/build.make:295: /media/mayank/Data/999_Misc/6_OAKD/depthai_ros_ws/devel_isolated/depthai_examples/lib/depthai_examples/mobilenet_node] Error 1
make[2]: *** [CMakeFiles/rgb_stereo_node.dir/build.make:295: /media/mayank/Data/999_Misc/6_OAKD/depthai_ros_ws/devel_isolated/depthai_examples/lib/depthai_examples/rgb_stereo_node] Error 1
make[1]: *** [CMakeFiles/Makefile2:526: CMakeFiles/mobilenet_node.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
make[1]: *** [CMakeFiles/Makefile2:286: CMakeFiles/rgb_stereo_node.dir/all] Error 2
/usr/bin/ld: warning: libopencv_imgcodecs.so.4.2, needed by /opt/ros/noetic/lib/libcv_bridge.so, may conflict with libopencv_imgcodecs.so.4.5
/usr/bin/ld: warning: libopencv_features2d.so.4.2, needed by /usr/lib/x86_64-linux-gnu/libopencv_calib3d.so.4.2.0, may conflict with libopencv_features2d.so.4.5
/usr/bin/ld: /opt/ros/noetic/lib/libcamera_calibration_parsers.so: undefined reference to `YAML::detail::node_data::convert_to_map(std::shared_ptr<YAML::detail::memory_holder>)'
collect2: error: ld returned 1 exit status
/usr/bin/ld: warning: libopencv_imgcodecs.so.4.2, needed by /opt/ros/noetic/lib/libcv_bridge.so, may conflict with libopencv_imgcodecs.so.4.5
/usr/bin/ld: warning: libopencv_features2d.so.4.2, needed by /usr/lib/x86_64-linux-gnu/libopencv_calib3d.so.4.2.0, may conflict with libopencv_features2d.so.4.5
/usr/bin/ld: /opt/ros/noetic/lib/libcamera_calibration_parsers.so: undefined reference to `YAML::detail::node_data::convert_to_map(std::shared_ptr<YAML::detail::memory_holder>)'
collect2: error: ld returned 1 exit status
make[2]: *** [CMakeFiles/stereo_node.dir/build.make:295: /media/mayank/Data/999_Misc/6_OAKD/depthai_ros_ws/devel_isolated/depthai_examples/lib/depthai_examples/stereo_node] Error 1
make[1]: *** [CMakeFiles/Makefile2:731: CMakeFiles/stereo_node.dir/all] Error 2
make[2]: *** [CMakeFiles/rgb_node.dir/build.make:295: /media/mayank/Data/999_Misc/6_OAKD/depthai_ros_ws/devel_isolated/depthai_examples/lib/depthai_examples/rgb_node] Error 1
make[1]: *** [CMakeFiles/Makefile2:669: CMakeFiles/rgb_node.dir/all] Error 2
/usr/bin/ld: warning: libopencv_imgcodecs.so.4.2, needed by /opt/ros/noetic/lib/libcv_bridge.so, may conflict with libopencv_imgcodecs.so.4.5
/usr/bin/ld: warning: libopencv_features2d.so.4.2, needed by /usr/lib/x86_64-linux-gnu/libopencv_calib3d.so.4.2.0, may conflict with libopencv_features2d.so.4.5
/usr/bin/ld: /opt/ros/noetic/lib/libcamera_calibration_parsers.so: undefined reference to `YAML::detail::node_data::convert_to_map(std::shared_ptr<YAML::detail::memory_holder>)'
collect2: error: ld returned 1 exit status
make[2]: *** [CMakeFiles/stereo_mimic_node.dir/build.make:295: /media/mayank/Data/999_Misc/6_OAKD/depthai_ros_ws/devel_isolated/depthai_examples/lib/depthai_examples/stereo_mimic_node] Error 1
make[1]: *** [CMakeFiles/Makefile2:224: CMakeFiles/stereo_mimic_node.dir/all] Error 2
make: *** [Makefile:141: all] Error 2
<== Failed to process package 'depthai_examples': 
  Command '['/media/mayank/Data/999_Misc/6_OAKD/depthai_ros_ws/devel_isolated/depthai_bridge/env.sh', 'make', '-j12', '-l12']' returned non-zero exit status 2.

Reproduce this error by running:
==> cd /media/mayank/Data/999_Misc/6_OAKD/depthai_ros_ws/build_isolated/depthai_examples && /media/mayank/Data/999_Misc/6_OAKD/depthai_ros_ws/devel_isolated/depthai_bridge/env.sh make -j12 -l12

Command failed, exiting.

I tried to follow https://www.javaer101.com/en/article/14877028.html and add this section to the CMakeLists.txt in depthai-examples ROS package.

# attempt to find static library first if this is set
if(YAMLCPP_STATIC_LIBRARY)
    set(YAMLCPP_STATIC libyaml-cpp.a)
endif()

# find the yaml-cpp include directory
find_path(YAMLCPP_INCLUDE_DIR yaml-cpp/yaml.h
          PATH_SUFFIXES include
          PATHS
          ~/Library/Frameworks/yaml-cpp/include/
          /Library/Frameworks/yaml-cpp/include/
          /usr/local/include/
          /usr/include/
          /sw/yaml-cpp/         # Fink
          /opt/local/yaml-cpp/  # DarwinPorts
          /opt/csw/yaml-cpp/    # Blastwave
          /opt/yaml-cpp/
          ${YAMLCPP_DIR}/include/)

# find the yaml-cpp library
find_library(YAMLCPP_LIBRARY
             NAMES ${YAMLCPP_STATIC} yaml-cpp
             PATH_SUFFIXES lib64 lib
             PATHS ~/Library/Frameworks
                    /Library/Frameworks
                    /usr/local
                    /usr
                    /sw
                    /opt/local
                    /opt/csw
                    /opt
                    ${YAMLCPP_DIR}/lib)

# handle the QUIETLY and REQUIRED arguments and set YAMLCPP_FOUND to TRUE if all listed variables are TRUE
include(FindPackageHandleStandardArgs)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(YAMLCPP DEFAULT_MSG YAMLCPP_INCLUDE_DIR YAMLCPP_LIBRARY)
mark_as_advanced(YAMLCPP_INCLUDE_DIR YAMLCPP_LIBRARY)

It even seems like CMake initially finds YAML, but the linker still complains.
-- Found YAMLCPP: /usr/local/include
I even tried cleaning up the build and devel directories but still the same issue persists.

Dependencies installation failed

I get this error after running sudo wget -qO- https://raw.githubusercontent.com/luxonis/depthai-ros/noetic-devel/install_dependencis.sh | bash

image

Right side of PoindCloud is lacking.

Hi,

I bought OAK-D Lite (kickstarter version), installed depthai-ros according to README.md to Ubuntu 20, and launched roslaunch depthai_examples stereo_nodelet.launch . But Right side of PoindCloud in Rviz is lacking.

oak_d_lite_depth_only_left1

I tried to run depthai_demo.py. Then both left and right side of depth image appeared. I guess OAK-D Lite hardware and USB connection are fine.
oak_d_lite_depth_image_3

Could you please tell me how to deal with this problem?

RLException

I followed the instructions on a blank 20.04 Ubuntu laptop which I had just installed Noetic onto in accordance with the instructions.
I then followed the instructions here but I get an exception when I attempt to launch the example.
if I run rospack list I can see the packages are not there.
running
source ~/ros_ws/devel_isolated/depthai_bridge/setup.bash
results in the following depthai packages being found by rospack but launch still fails even from the launch directory.
depthai_bridge
depthai_ros_msgs

The exception I get is as follows
RLException: [stereo_node.launch] is neither a launch file in package [depthai_examples] nor is [depthai_examples] a launch file name The traceback for the exception was written to the log file

catkin_make error

Hi!
I have run the command: catkin_make_isolated --cmake-args -D depthai_DIR=$/home/srl/depthai-core/build/install/lib/cmake/depthai/ and I'm getting this error:

image

catkin_make linking error

Hi!

I have checked the other catkin_make issues, but none of them were similar - it would be amazing if you could help. I'm building depthai-ros inside a Docker container. I have built the dependencies, plus depthai-core. When I try to run catkin_make, everything is built without issues until depthai_bridge, but then I get the following:

[ 10%] Built target depthai_ros_msgs_generate_messages_cpp
[ 22%] Built target depthai_ros_msgs_generate_messages_py
[ 32%] Built target depthai_ros_msgs_generate_messages_lisp
[ 42%] Built target depthai_ros_msgs_generate_messages_nodejs
[ 54%] Built target depthai_ros_msgs_generate_messages_eus
[ 54%] Built target depthai_ros_msgs_generate_messages
[ 55%] Linking CXX shared library /catkin_ws/devel/lib/libdepthai_bridge.so
/usr/bin/ld: /catkin_ws/src/luxonis/depthai-core/build/install/lib/libdepthai-core.a(CalibrationHandler.cpp.o): relocation R_X86_64_PC32 against symbol `_ZTISt13runtime_error@@GLIBCXX_3.4' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: final link failed: bad value
collect2: error: ld returned 1 exit status
make[2]: *** [luxonis/depthai-ros/depthai_bridge/CMakeFiles/depthai_bridge.dir/build.make:236: /catkin_ws/devel/lib/libdepthai_bridge.so] Error 1
make[1]: *** [CMakeFiles/Makefile2:1646: luxonis/depthai-ros/depthai_bridge/CMakeFiles/depthai_bridge.dir/all] Error 2
make: *** [Makefile:141: all] Error 2
Invoking "make -j4 -l4" failed

Covariance of spatial detections

Hi there,

I am currently using multiple OAK-d cameras on a mobile robot for pedestrian detection. I have used the Spatial Tiny-yolo example as a template and then publish detections on a ros topic using rosbridge.

The tracking package I am using requires geometry_msgs/PoseWithCovariance messages as an input. Is there a way to calculate the covariance of an OAK-d spatial detection?

Cheers,

RGB Point Cloud

Hi!

I managed to launch the example 'roslaunch depthai_examples stereo_nodelet.launch' and I can visualize the point cloud in rviz.

How to visualize the point cloud with rgb information? I don't know if this feature is already done, I couldn't find the way to show it.

Thanks!

Fatal error when running yolov4_publisher.launch

Hi all,
I am running Ubuntu 20.04/ROS Noetic on a

When I execute roslaunch depthai_examples yolov4_publisher.launch I get the following error:

...
[14442C10C11690D000] [459.433] [system] [warning] Stereo subpixel/extended mode is not stable when one of the following nodes are enabled: 'NeuralNetwork, ImageManip, SpatialCalculator'
[14442C10C11690D000] [459.434] [StereoDepth(4)] [warning] Median filter usage with LR-check/Extended/Subpixel is not yet implemented. The filter will be disabled
[14442C10C11690D000] [459.483] [SpatialDetectionNetwork(1)] [warning] Network compiled for 6 shaves, maximum available 10, compiling for 5 shaves likely will yield in better performance
[14442C10C11690D000] [466.814] [system] [critical] Fatal error. Please report to developers. Log: 'StereoSipp' '531'
terminate called after throwing an instance of 'std::runtime_error'
  what():  Communication exception - possible device error/misconfiguration. Original message 'Couldn't read data from stream: 'detections' (X_LINK_ERROR)'
================================================================================REQUIRED process [yolov4_publisher-3] has died!
process has died [pid 39648, exit code -6, cmd /home/jd/catkin_ws/devel/lib/depthai_examples/yolov4_spatial_node __name:=yolov4_publisher __log:=/home/jd/.ros/log/2854799e-ceeb-11eb-b497-b553a812bbd9/yolov4_publisher-3.log].
log file: /home/jd/.ros/log/2854799e-ceeb-11eb-b497-b553a812bbd9/yolov4_publisher-3*.log
Initiating shutdown!
================================================================================
...

Has anyone else encountered this and is there a known fix?
Thanks!

Error 'function is deprecated' when building the package for foxy

Hi,

I just tried to install this package for the foxy ROS version. Unfortunately I get a build error in the step colcon build stating that a certain function is deprecated. The error is shown below.

Starting >>> depthai_ros_msgs
[0.269s] WARNING:colcon.colcon_ros.prefix_path.catkin:The path '/home/eric/catkin' in the environment variable CMAKE_PREFIX_PATH doesn't exist
Finished <<< depthai_ros_msgs [4.42s]
Starting >>> depthai_bridge
Finished <<< depthai_bridge [8.53s]
Starting >>> dai_turtlebot3_description
Starting >>> depthai_examples
Finished <<< dai_turtlebot3_description [12.1s]
--- stderr: depthai_examples
/home/eric/Projecten/DepthAI/ROS/src/luxonis/depthai-ros-examples/depthai_examples/lib/stereo_pipeline.cpp: In member function ‘void StereoExample::initDepthaiDev()’:
/home/eric/Projecten/DepthAI/ROS/src/luxonis/depthai-ros-examples/depthai_examples/lib/stereo_pipeline.cpp:50:43: warning: ‘void dai::node::StereoDepth::setConfidenceThreshold(int)’ is deprecated: Use 'initialConfig.setConfidenceThreshold()' instead [-Wdeprecated-declarations]
50 | stereo->setConfidenceThreshold(200);
| ^
In file included from /usr/local/include/depthai/pipeline/nodes.hpp:19,
from /usr/local/include/depthai/depthai.hpp:17,
from /home/eric/Projecten/DepthAI/ROS/src/luxonis/depthai-ros-examples/depthai_examples/include/depthai_examples/stereo_pipeline.hpp:5,
from /home/eric/Projecten/DepthAI/ROS/src/luxonis/depthai-ros-examples/depthai_examples/lib/stereo_pipeline.cpp:1:
/usr/local/include/depthai/pipeline/node/StereoDepth.hpp:175:81: note: declared here
175 | se 'initialConfig.setConfidenceThreshold()' instead")]] void setConfidenceThreshold(int confThr);
| ^~~~~~~~~~~~~~~~~~~~~~
Finished <<< depthai_examples [13.8s]
Summary: 4 packages finished [26.8s]
1 package had stderr output: depthai_examples

Kind regards,
Eric

stereo_publisher has died when I run stereo_nodelet.launch with OAK-D Lite

Hi,

I tried to run roslaunch depthai_examples stereo_nodelet.launch, but process has died.

Error message
$ roslaunch depthai_examples stereo_nodelet.launch
... logging to /home/xxx/.ros/log/a35c3a4a-8ee5-11ec-a5b1-670792c734cc/roslaunch-ubuntu-66757.log
Checking log directory for disk usage. This may take a while.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.

started roslaunch server http://ubuntu:45569/

SUMMARY
========

PARAMETERS
 * /robot_description: <?xml version="1....
 * /rosdistro: noetic
 * /rosversion: 1.15.14
 * /stereo_publisher/LRchecktresh: 5
 * /stereo_publisher/camera_param_uri: package://depthai...
 * /stereo_publisher/confidence: 200
 * /stereo_publisher/extended: False
 * /stereo_publisher/lrcheck: True
 * /stereo_publisher/mode: depth
 * /stereo_publisher/subpixel: True
 * /stereo_publisher/tf_prefix: oak

NODES
  /
    depth_image_convertion_nodelet (nodelet/nodelet)
    depth_image_to_pointcloud_nodelet (nodelet/nodelet)
    nodelet_manager (nodelet/nodelet)
    oak_state_publisher (robot_state_publisher/robot_state_publisher)
    rviz (rviz/rviz)
    stereo_publisher (nodelet/nodelet)

auto-starting new master
process[master]: started with pid [66771]
ROS_MASTER_URI=http://localhost:11311

setting /run_id to a35c3a4a-8ee5-11ec-a5b1-670792c734cc
process[rosout-1]: started with pid [66783]
started core service [/rosout]
process[oak_state_publisher-2]: started with pid [66789]
process[nodelet_manager-3]: started with pid [66791]
process[stereo_publisher-4]: started with pid [66792]
process[depth_image_convertion_nodelet-5]: started with pid [66797]
process[depth_image_to_pointcloud_nodelet-6]: started with pid [66800]
[ INFO] [1644987749.408312651]: Loading nodelet /stereo_publisher of type depthai_examples/StereoNodelet to manager nodelet_manager with the following remappings:
process[rviz-7]: started with pid [66811]
[ INFO] [1644987749.413470156]: Initializing nodelet with 3 worker threads.
 Bad parameters -> 1
[FATAL] [1644987749.503596763]: Failed to load nodelet '/stereo_publisher` of type `depthai_examples/StereoNodelet` to manager `nodelet_manager'
================================================================================REQUIRED process [stereo_publisher-4] has died!
process has died [pid 66792, exit code 255, cmd /opt/ros/noetic/lib/nodelet/nodelet load depthai_examples/StereoNodelet nodelet_manager __name:=stereo_publisher __log:=/home/xxx/.ros/log/a35c3a4a-8ee5-11ec-a5b1-670792c734cc/stereo_publisher-4.log].
log file: /home/xxx/.ros/log/a35c3a4a-8ee5-11ec-a5b1-670792c734cc/stereo_publisher-4*.log
Initiating shutdown!
================================================================================
[rviz-7] killing on exit
[depth_image_to_pointcloud_nodelet-6] killing on exit
[stereo_publisher-4] killing on exit
[nodelet_manager-3] killing on exit
[oak_state_publisher-2] killing on exit
[depth_image_convertion_nodelet-5] killing on exit
[rosout-1] killing on exit
[master] killing on exit
shutting down processing monitor...
... shutting down processing monitor complete
done

Also I tried roslaunch depthai_examples stereo_node.launch, it was ok. So I don't think the cause is my environment.

I found this issue when checking for this fix.

colcon build gets stuck on depthai_examples at 71%

`ubuntu@AUDACITY:~/depthai-ros_ws$ colcon build --packages-select depthai_examples

Starting >>> depthai_examples
[Processing: depthai_examples]
[Processing: depthai_examples]pthai_examples:build 71% - 1min 2.5s]
[1min 32.3s] [0/1 complete] [depthai_examples:build 71% - 1min 31.7s]`
seems to want to get stuck here
The other 2, depthai_bridge, depthai_ros_msg build ok
ROS2 / Ubuntu 20.04 / Raspberry Pi 4b 4GB

IMU timestamp is not reflected in ROS message

Dear maintainers,

As discussed in the ros channel in discord, the current ImuConverter implementation does not reflect the timestamp of IMU data and only publishes the latest data in a batch. It is preferable that to correct the timestamp in the IMU message by the timestamp of the device like ImageConverter does.

Request for ptp sync

Hello,

I am using rgb stream of oak 1 with a external lidar. I want to sync them. Is it possible to sync oak1 using ptp? If no then what are the possible sync options?

install_dependencies.sh fails if uvcdynctrl not installed

Hello there,

the install_dependencies.sh from http://docs.luxonis.com/_static/install_dependencies.sh fails on line 127 UVC_DYN_INSTALLED=$(dpkg-query -W --showformat='${Status}\n' uvcdynctrl|grep "install ok installed") if uvcdynctrl is not installed on the system.

UVC_DYN_INSTALLED=$(dpkg-query -W --showformat='${Status}\n' uvcdynctrl|grep "install ok installed") returns 1 if it is not installed and with set -e in line 3 the code exists here.

catkin compilation error in SpatialDetectionConverter.cpp:69:25

Hi,

I'm using Ubuntu 20.04, with ROS Noetic. All packages installed without problems as stated by the tutorial (including the required depthai-core), however, at the final step for compiling the depthai_bridge with catkin_make/catkin build gives an error that does not seems to be from library issues:

/home/h3ct0r/catkin_ws_depthai/src/luxonis/depthai-ros/depthai_bridge/src/SpatialDetectionConverter.cpp: In member function ‘void dai::rosBridge::SpatialDetectionConverter::toRosMsg(std::shared_ptr<dai::SpatialImgDetections>, depthai_ros_msgs::SpatialDetectionArray&)’:
/home/h3ct0r/catkin_ws_depthai/src/luxonis/depthai-ros/depthai_bridge/src/SpatialDetectionConverter.cpp:69:25: error: cannot convert ‘std::string’ {aka ‘std::__cxx11::basic_string<char>’} to ‘vision_msgs::ObjectHypothesis_<std::allocator<void> >::_id_type’ {aka ‘long int’} in assignment
   69 |           std::to_string(inNetData->detections[i].label);
      |           ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                         |
      |                         std::string {aka std::__cxx11::basic_string<char>}
/home/h3ct0r/catkin_ws_depthai/src/luxonis/depthai-ros/depthai_bridge/src/ImgDetectionConverter.cpp: In member function ‘void dai::rosBridge::ImgDetectionConverter::toRosMsg(std::shared_ptr<dai::ImgDetections>, vision_msgs::Detection2DArray&)’:
/home/h3ct0r/catkin_ws_depthai/src/luxonis/depthai-ros/depthai_bridge/src/ImgDetectionConverter.cpp:69:25: error: cannot convert ‘std::string’ {aka ‘std::__cxx11::basic_string<char>’} to ‘vision_msgs::ObjectHypothesisWithPose_<std::allocator<void> >::_id_type’ {aka ‘long int’} in assignment
   69 |           std::to_string(inNetData->detections[i].label);
      |           ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                         |
      |                         std::string {aka std::__cxx11::basic_string<char>}
make[2]: *** [luxonis/depthai-ros/depthai_bridge/CMakeFiles/depthai_bridge.dir/build.make:89: luxonis/depthai-ros/depthai_bridge/CMakeFiles/depthai_bridge.dir/src/SpatialDetectionConverter.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
/home/h3ct0r/catkin_ws_depthai/src/luxonis/depthai-ros/depthai_bridge/src/ImageConverter.cpp: In member function ‘cv::Mat dai::rosBridge::ImageConverter::rosMsgtoCvMat(sensor_msgs::Image&)’:
/home/h3ct0r/catkin_ws_depthai/src/luxonis/depthai-ros/depthai_bridge/src/ImageConverter.cpp:247:1: warning: control reaches end of non-void function [-Wreturn-type]
  247 | }
      | ^
make[2]: *** [luxonis/depthai-ros/depthai_bridge/CMakeFiles/depthai_bridge.dir/build.make:76: luxonis/depthai-ros/depthai_bridge/CMakeFiles/depthai_bridge.dir/src/ImgDetectionConverter.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:2554: luxonis/depthai-ros/depthai_bridge/CMakeFiles/depthai_bridge.dir/all] Error 2
make: *** [Makefile:141: all] Error 2
Invoking "make -j16 -l16" failed

Any clues on how to solve this?

Resolution mismatch when running rgb_stereo_node.launch

Hi,
I'm running the rgb_stereo_node.launch and in RViz when I want to visualize the pointcloud, I'm met with this error:

Error updating depth cloud: Depth image resolution (1280x720) does not match color image resolution (1920x1080)

Is there a way to configure the rgb_stereo_publisher/color/image publisher to published at 1280x720 ?

Also, it would be easier for integration if the node would publish a message of sensor_msgs/PointCloud2. That's what all other cameras are publishing including the Realsense and OpenNI-type. Given that those were very popular for years, most vision ROS nodes (including ours) are developed for that type of messages. Just a suggestion, but I think it's pretty important to have.

Build as per instructions fails on Raspberry Pi Ubuntu 20.04

I'm attempting to install this library for ROS on Ubuntu 20.04 on Raspberry Pi 4.

I'm unsure whether this is compatible, however ideally I'd be able to use this as a sensor for my robot requiring a small form factor computer.

I've followed the instructions as outlined on the front page of this Github.

Here is the full output:

`ubuntu@ubuntu:~/oakdlite$ catkin_make
Base path: /home/ubuntu/oakdlite
Source space: /home/ubuntu/oakdlite/src
Build space: /home/ubuntu/oakdlite/build
Devel space: /home/ubuntu/oakdlite/devel
Install space: /home/ubuntu/oakdlite/install
Creating symlink "/home/ubuntu/oakdlite/src/CMakeLists.txt" pointing to "/opt/ros/noetic/share/catkin/cmake/toplevel.cmake"

Running command: "cmake /home/ubuntu/oakdlite/src -DCATKIN_DEVEL_PREFIX=/home/ubuntu/oakdlite/devel -DCMAKE_INSTALL_PREFIX=/home/ubuntu/oakdlite/install -G Unix Makefiles" in "/home/ubuntu/oakdlite/build"

-- The C compiler identification is GNU 9.3.0
-- The CXX compiler identification is GNU 9.3.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Using CATKIN_DEVEL_PREFIX: /home/ubuntu/oakdlite/devel
-- Using CMAKE_PREFIX_PATH: /opt/ros/noetic
-- This workspace overlays: /opt/ros/noetic
-- Found PythonInterp: /usr/bin/python3 (found suitable version "3.8.10", minimum required is "3")
-- Using PYTHON_EXECUTABLE: /usr/bin/python3
-- Using Debian Python package layout
-- Found PY_em: /usr/lib/python3/dist-packages/em.py
-- Using empy: /usr/lib/python3/dist-packages/em.py
-- Using CATKIN_ENABLE_TESTING: ON
-- Call enable_testing()
-- Using CATKIN_TEST_RESULTS_DIR: /home/ubuntu/oakdlite/build/test_results
-- Forcing gtest/gmock from source, though one was otherwise available.
-- Found gtest sources under '/usr/src/googletest': gtests will be built
-- Found gmock sources under '/usr/src/googletest': gmock will be built
-- Found PythonInterp: /usr/bin/python3 (found version "3.8.10")
-- Found Threads: TRUE
-- Using Python nosetests: /usr/bin/nosetests3
-- catkin 0.8.10
-- BUILD_SHARED_LIBS is on
-- BUILD_SHARED_LIBS is on
-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-- ~~ traversing 3 packages in topological order:
-- ~~ - depthai_ros_msgs
-- ~~ - depthai_bridge
-- ~~ - depthai_examples
-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-- +++ processing catkin package: 'depthai_ros_msgs'
-- ==> add_subdirectory(luxonis/depthai-ros/depthai_ros_msgs)
-- Using these message generators: gencpp;geneus;genlisp;gennodejs;genpy
-- depthai_ros_msgs: 5 messages, 2 services
-- +++ processing catkin package: 'depthai_bridge'
-- ==> add_subdirectory(luxonis/depthai-ros/depthai_bridge)
CMake Error at luxonis/depthai-ros/depthai_bridge/CMakeLists.txt:24 (find_package):
Could not find a package configuration file provided by "depthai" with any
of the following names:

depthaiConfig.cmake
depthai-config.cmake

Add the installation prefix of "depthai" to CMAKE_PREFIX_PATH or set
"depthai_DIR" to a directory containing one of the above files. If
"depthai" provides a separate development package or SDK, be sure it has
been installed.

-- Configuring incomplete, errors occurred!
See also "/home/ubuntu/oakdlite/build/CMakeFiles/CMakeOutput.log".
See also "/home/ubuntu/oakdlite/build/CMakeFiles/CMakeError.log".
Invoking "cmake" failed
`

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.