ros2 / ros_astra_camera

ROS wrapper for Astra camera
9 stars 12 forks source link

Astra depth camera doesn't seem to work at resolutions > 320x240 #20

Open clalancette opened 7 years ago

clalancette commented 7 years ago

For whatever reason, when I try to set the astra camera use the depth camera at any resolution greater than 320x240, it doesn't produce much data. That is, the lower layers of the driver, and/or the camera itself, don't callback into the ROS layer more than once every few seconds. Something is clearly wrong there; we should debug this and/or compare it to the ROS1 driver to get a better sense of what should be happening there.

BrannonKing commented 6 years ago

It could be a failure of the large message handling in DDS that causes this issue.

clalancette commented 6 years ago

So, the original issue was that the low-level camera driver wasn't even giving me callbacks (I verified this by putting some prints in the low-level callback from OpenNI). I ended up writing a much simpler program, getting rid of ROS2 completely, and saw a couple of interesting things. First, I am generally able to get frame rates of ~30fps from the depth camera at 320x240, and I'm able to frame rates of ~25fps from the depth camera at 640x480, for a "while". If I start and stop my simple program enough times, the frame rates drop to what I saw when I opened up this issue. One of the thoughts that @codebot had was that maybe the Pine64 that I used wasn't providing enough power to the camera; to try and remedy this, I bought some powered hubs, but the issue remained.

The short is that while there may be an issue with DDS large message handling, I don't think it is the cause of this particular issue.