Hi,

I am using an OAK-D Pro camera on a mobile robot platform. I'm using a noetic docker image of depthai-ros on a ros melodic system.

The camera is connected via its USB cable, but it's also powered by a +5V supply from the robot.

The camera seems to work fine as long as I'm not trying to record any data. When I'm recording data (using rosbag record), it fails with the following error:

[ INFO] [1710992575.935790523]: Bond broken, exiting

[18443010B109AF0E00] [3.1] [1710992579.709] [host] [warning] Monitor thread (device: 18443010B109AF0E00 [3.1]) - ping was missed, closing the device connection

[depth_image_to_pointcloud-1] process has finished cleanly

log file: /root/.ros/log/a66c1e30-e730-11ee-829a-ea3fbbc87915/depth_image_to_pointcloud-1*.log

================================================================================REQUIRED process [oak-4] has died!

process has finished cleanly

log file: /root/.ros/log/a66c1e30-e730-11ee-829a-ea3fbbc87915/oak-4*.log

Initiating shutdown!

================================================================================

[oak-4] killing on exit

[oak_nodelet_manager-3] killing on exit

[oak_state_publisher-2] killing on exit

shutting down processing monitor...

... shutting down processing monitor complete

done

There seems to be some relation to how much space I'm allocating to the buffer on rosbag record - the more it is, the faster the camera fails (about 2m with -b 4096, and about 8.5m with -b 3072). Some data seems to be getting dropped regardless of the size of the buffer.

Is there any way to prevent this failure?

Best,
Nipuni

Hi Jaka,

I'm using rosbag record with -b 3072 on cli (along with the list of topics. I'm recording camera data, as well as 2 imus, 3 GPS, odom, tf, and lidar data). I also tried -b 4096 which makes the camera fail faster.

Best,

Nipuni

4 days later

Hi, I think this could be hardware specific problem as I wasn't able to reproduce it locally, could you check memory/CPU usage while recording?

I will not be able to do this until next thursday due to the robot's schedule.

The setup is on a mobile robot 8GB RAM, which is almost full while running all of this. The system also includes a lidar, an external IMU and a couple of GPS. All of the robot's internal processes are also running (communication, the robot's IMU and GPS, control processes, etc).

CPU usage didn't look concerning as far as I can remember, so I'm inclined to think RAM is the bottleneck.

I will give you a more concrete answer about this next Thursday.

Best,

Nipuni