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

[Humble] Acquisition and Trigger #213

Open
li-dahua opened this issue Oct 4, 2024 · 7 comments
Open

[Humble] Acquisition and Trigger #213

li-dahua opened this issue Oct 4, 2024 · 7 comments
Assignees
Labels
ROS2 This problem occurs with the ROS2 driver

Comments

@li-dahua
Copy link

li-dahua commented Oct 4, 2024

#How can I adjust these parameters in sync launch code? Thank you

There are three acquisition modes:

Continuous - acquires images continuously. This is the default mode.

Multi Frame - acquires a specified number of images before stopping acquisition.

Single Frame - acquires 1 image before stopping acquisition.

System details

  • operating system/version: ubuntu 22.04
  • ROS version[Humble]): Humble
  • complete FLIR camera model (e.g. BFS-U3-04S2C-C):BFS usb
@li-dahua li-dahua added the ROS2 This problem occurs with the ROS2 driver label Oct 4, 2024
@li-dahua li-dahua changed the title Acquisition and Trigger [Humble] Acquisition and Trigger Oct 4, 2024
@berndpfrommer
Copy link
Collaborator

Changing the acquisition mode is not directly supported for the blackfly S cameras. However, you can implement it easily yourself by modifying the blackfly_s.yaml configuration file. Follow the instructions in the README on how to add your own ros parameters, e.g. call it "acquistion_mode". Then you should be able to specify it at launch time by setting your newly created ROS parameter.
The other alternative is defining a user set with SpinView, and then loading that parameter set in your launch file by setting the correct ROS parameters.
I personally would choose the first option.

@berndpfrommer
Copy link
Collaborator

Is this still an issue? If not I would proceed to close the issue.

@jeskesen
Copy link

jeskesen commented Dec 4, 2024

Hi @berndpfrommer , I think there is one problem not addressed in the proposed solution: once one gets into Single/Multi Frame acquisition mode, how does one trigger (in software) repeated calls to a single or multi-frame acquisition? I'm a fan of leveraging LifecycleNode states for this purpose: where activate() calls startCamera(), etc.

@berndpfrommer
Copy link
Collaborator

Wouldn't that be very heavy weight, just to trigger a frame acquisition? I would gravitate to a topics-based solution, e.g. the server exposes a topic with a suitable message type that then calls the software trigger.
It turns out that at the moment there is indeed a solution, albeit a fairly heavy weight one, too: you can define a "command", like for instance in the oryx.yaml file:

  - name: trigger_software
    type: command
    node: AcquisitionControl/TriggerSoftware

IRRC a parameter update then runs the command, in this case a software trigger.
Pretty it ain't, but it should work.
Oh, and it's not documented. Will fix that.

@berndpfrommer
Copy link
Collaborator

See discussion here #163

@jeskesen
Copy link

jeskesen commented Dec 9, 2024

Wouldn't that be very heavy weight, just to trigger a frame acquisition?

Absolutely. I fully admit that I have a preference for all hardware-facing nodes to be Lifecycle Nodes so that I can control their states throughout the application lifetime in a way that is consistent across my entire system. Apologies for the scope creep.

That said, I'm still having problems even getting the camera to behave like its in any other AcquisitionMode other than "Continuous" despite the fact that I does seem to accept the Single/MultiFrame parameter mode. I'm puzzled.

@berndpfrommer
Copy link
Collaborator

Please open a separate issue for that, and post the console log.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ROS2 This problem occurs with the ROS2 driver
Projects
None yet
Development

No branches or pull requests

3 participants