Closed christian-nils closed 7 months ago
Alright, think I found the fix, I made a PR: https://github.com/christianrauch/camera_ros/pull/39 Inspired by https://github.com/raspberrypi/rpicam-apps/blob/414a7383464b98f21f5e5381a16cc73ae0350ba6/core/rpicam_app.cpp#L757C15-L757C32.
@christianrauch: I hope this is useful. Let me know if any changes are needed for the PR.
Hi @christianrauch,
We have two IMX477 HQ cameras connected to a Raspberry Pi 5. One is configured as a sink while the other one is configured as a source. Using rpicam-vid I can receive frames at 30FPS from both cameras but I am interested in using your implementation as it solves issues we have today with h264-encoded streams. Below are the commands I use with rpicam-vid
For the sink:
For the source:
Using
camera_ros
with Raspberry Pi's libcamera, I can generate ROS2 compressed images, which is awesome but with some limitations. It only works with low FPS. For instance at 10 FPS, the following commands are used and works:For the sink:
For the source:
I tried at 20 FPS, and it worked sometimes. I realized that it worked when the ambient brightness was significantly higher than in the no-working cases. So I think it has to do with the exposure time. I cannot fix the exposure time as I have the same problem as in #33. My gut feeling is that the program does not handle correctly when an external trigger is received while the camera is still under exposure, I can get few first frames with visible first rows, but then it loops over those frames forever (the publishing rate is correct, ~20 Hz).
Is it a misconfiguration on my side or does camera_ros not support such setup?