christianrauch / camera_ros

ROS 2 node for libcamera supported cameras (V4L2, Raspberry Pi Camera Modules)
https://libcamera.org
MIT License
68 stars 30 forks source link

raspbian bullseye, humble, error on node startup with arducam-pivariety camera #4

Closed JohK closed 2 years ago

JohK commented 2 years ago

I have arducam-pivariety B0353 (AR0234) running on bullseye (verified with libcamera-raw).

Tried to run camera_ros (73f7cedf44d37a512688ac2ee0ac8069e7716a4e), but getting a runtime_error:

ros2 run camera_ros camera_node --ros-args -p width:=1920 -p height:=1200 -p format:=RGB888
[65:43:51.897428496] [30680]  INFO Camera camera_manager.cpp:293 libcamera v0.0.0+3875-5eb7be6a
[65:43:51.942223710] [30693]  WARN CameraSensorProperties camera_sensor_properties.cpp:174 No static properties available for 'arducam-pivariety'
[65:43:51.942315135] [30693]  WARN CameraSensorProperties camera_sensor_properties.cpp:176 Please consider updating the camera sensor properties database
[65:43:51.952599892] [30693] ERROR IPAProxy ipa_proxy.cpp:149 Configuration file 'arducam-pivariety.json' not found for IPA module 'raspberrypi'
[65:43:52.397740961] [30693]  INFO RPI raspberrypi.cpp:1374 Registered camera /base/soc/i2c0mux/i2c@1/arducam_pivariety@c to Unicam device /dev/media2 and ISP device /dev/media3
>> cameras:
0: arducam-pivariety (/base/soc/i2c0mux/i2c@1/arducam_pivariety@c)
>> stream configurations:

[... long list of configurations, including   "- Pixelformat: RGB888 (64x64 - 1920x1200)" ...]

[65:43:52.417725543] [30680]  INFO Camera camera.cpp:1035 configuring streams: (0) 1920x1200-RGB888
[65:43:52.506216179] [30693]  INFO RPI raspberrypi.cpp:761 Sensor: /base/soc/i2c0mux/i2c@1/arducam_pivariety@c - Selected sensor format: 1920x1200-SGRBG10_1X10 - Selected unicam format: 1920x1200-pgAA
camera "/base/soc/i2c0mux/i2c@1/arducam_pivariety@c" configured with 1920x1200-RGB888 stream
[WARN] [1662366193.047733808] [camera]: control NoiseReductionMode (39) not handled
terminate called after throwing an instance of 'std::runtime_error'
  what():  unsupported ControlValue cast
[ros2run]: Aborted

(Probably unrelated: The arducam wiki says not to worry about the missing .json file. Not sure if that is the right approach, but it didn't seem to bother libcamera-raw...)

christianrauch commented 2 years ago

You need the default_info_init branch of my fork at https://github.com/christianrauch/libcamera/tree/default_info_init. I submitted this to the libcamera-devel mailing list and hope this gets merged soon.

Generally, I am tracking the most recent libcamera version and I am also rebasing the main history until an initial release. If you continue to use this repo, you will have to hard reset from time to time.

JohK commented 2 years ago

Ok, understood. Thank you. I have to on another project first and will revisit my ROS setup in a few days, maybe I get lucky and it's already merged then. Is there a way on the official repo to follow merge requests?

JohK commented 2 years ago

Works as expected.

christianrauch commented 2 years ago

Ok, understood. Thank you. I have to on another project first and will revisit my ROS setup in a few days, maybe I get lucky and it's already merged then. Is there a way on the official repo to follow merge requests?

For the complete discussion, you have to watch the libcamera-devel mailing list. To get an overview of the submitted patches, you can check out patchwork. E.g. the latest version of my patches is at https://patchwork.libcamera.org/project/libcamera/list/?series=3467. You can use the pwclient to apply and test patches.

Unfortunately, everything works via mailing lists. There is no web interface to follow and contribute to discussions.