Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ROS1: Camera feature names differ for USB Alvium series #86

Open
subeiammar opened this issue Mar 11, 2022 · 5 comments
Open

ROS1: Camera feature names differ for USB Alvium series #86

subeiammar opened this issue Mar 11, 2022 · 5 comments
Labels
bug Something isn't working

Comments

@subeiammar
Copy link

I'm using an Alvium 1800 U-1236c USB camera in ROS Melodic. I noticed that some feature configuration names are incorrect in the main avt_vimba_camera.cpp source file.

When the node tries to configure the camera, ROS warning messages pop up for certain features like:

Could not get feature AcquisitionFrameRateAbs, your camera probably doesn't support it.
Could not get feature TriggerDelayAbs, your camera probably doesn't support it.
Could not get feature ExposureTimeAbs, your camera probably doesn't support it.

I'm not sure if feature names differ between the different cameras, but Alvium's documentation refer to some feature names that conflict with those in the config functions in avt_vimba_camera.cpp.
e.g AcquisitionFrameRateAbs -> AcquisitionFrameRate and ExposureTimeAbs -> ExposureTime

subeiammar added a commit to subeiammar/avt_vimba_camera that referenced this issue Mar 11, 2022
@subeiammar subeiammar changed the title ROS1: USB Camera Feature Names ROS1: USB camera feature names Mar 11, 2022
@icolwell-as
Copy link
Member

Hi @subeiammar, thanks for pointing this out.
I can confirm that on my camera (Mako G-319 GigE), the AcquisitionFrameRateAbs feature name is used:
image

I didn't realize there are differences in the feature names, so this is certainly interesting.
Is it only these three features? or are there others?
Also, what firmware version is on your camera? I'm wondering if maybe a firmware update may help?
Although, I see here that it appears that Mako and Alvium cameras have completely separate firmware releases.

If we have no choice, we could add an "alvium_features" parameter that simply removes the "Abs" from the feature strings before interacting with the camera. Kinda hacky, but easiest solution.

Finally, you may want to consider trying the ROS2 version of this driver. In the ROS2 version, I was able to refactor the feature/parameter management so that the ROS parameters get created based on what features exist on the camera. This results in ROS parameters that exactly match the camera features.

@subeiammar
Copy link
Author

Thanks for looking into it!
My Alvium U-1236c camera had firmware version 6.0.35992, and you can check 4024d68 out for the features that I found were different. Note that there's even a difference in the DeviceTemperatureSelector feature value.

Updating my firmware version to 7.0.81DB3896 didn't help with the feature names, however it did fix a separate issue I was having with updating camera frame rate so that's a plus! 🙃

Unfortunately we're dependent on other sensor drivers that use ROS1, but I will definitely look further into making the switch later. Thanks again for your responses and help!

@icolwell-as
Copy link
Member

No problem! glad the firmware update fixed something at least 😄

Ya, sounds like your best option is to use your own modified driver as you are doing.
If enough people use the Alvium series cameras, I would be open to adding some official support for the varying feature names.
Or if someone opens a PR to add alvium support, I'll review and merge as-needed. I imagine some kind of feature name hashtable/map could be used to hold these differences in feature names.

Glad you have a solution for now! I'll leave this issue open in case any other Alvium users come here with similar issues.

@icolwell-as icolwell-as added the bug Something isn't working label Mar 17, 2022
@icolwell-as icolwell-as changed the title ROS1: USB camera feature names ROS1: Camera feature names differ for Alvium series Mar 17, 2022
@icolwell-as icolwell-as changed the title ROS1: Camera feature names differ for Alvium series ROS1: Camera feature names differ for USB Alvium series Jun 20, 2022
@jstumpin
Copy link

Hear, hear! Alvium 1800 U-319c user here. Firmware: 00.08.00.6727174b. Vimba SDK: v6.0. Same issue.

@Mkarasneh
Copy link

Hello,

I am using the Alvium 1800 U-158c, Firmware: 00.08.00.6727174b. Vimba SDK: v6.0. and I used the fork from @subeiammar as a starting point and edited the features names as I pointed out in this issue.

I don't think the code is organized enough to create a PR. However, it is working so that anyone how's trying to get the camera to work can use it, see my fork here. You only need to update the configurations in the mono_camera.launch file, if -for any reason- those configurations were not applied, try changing the configuration in the cfg/AvtVimbaCamera.cfg file.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

4 participants