ros-drivers / flir_camera_driver

153 stars 145 forks source link

[humble] A700 ros2 humble config #186

Open HBSIM0 opened 2 weeks ago

HBSIM0 commented 2 weeks ago

System details

Can I also use the A700 thermal imaging camera with this package? Can someone provide me the A700 yaml information

berndpfrommer commented 2 weeks ago

It should work, since the spinnaker SDK is supported according to FLIR's web site. However, you will have to write your own yaml file. Not too many people have a $12k camera. Writing a file is not that hard, instructions are here. Start with a blackfly_s config file and fix what is broken. Please report back if you had success, or even better, post a working config file or submit a pull request with a working config.

HBSIM0 commented 1 week ago

I tried working after fixing the confiure file and the thermal camera looks like a black and white screen. Can I get some advice? Screenshot from 2024-06-28 10-35-42

my config is below 'a700': { 'debug': False, 'compute_brightness': False, 'adjust_timestamp': True, 'dump_node_map': False,

set parameters defined in blackfly_s.yaml

    'gain_auto': 'Continuous',
    'pixel_format': 'Mono16',
    'exposure_auto': 'Continuous',
    # to use a user set, do this:
    'user_set_selector': 'UserSet0',
    'user_set_load': 'Yes',
    # These are useful for GigE cameras
    # 'device_link_throughput_limit': 380000000,
    # 'gev_scps_packet_size': 9000,
    # ---- to reduce the sensor width and shift the crop
    # 'image_width': 1408,
    # 'image_height': 1080,
    # 'offset_x': 16,
    # 'offset_y': 0,
    # 'binning_x': 1,
    # 'binning_y': 1,
    # 'connect_while_subscribed': True,
    'frame_rate_auto': 'Off',
    'frame_rate': 40.0,
    'frame_rate_enable': True,
    'buffer_queue_size': 10,
    'trigger_mode': 'Off',
    'chunk_mode_active': True,
    'chunk_selector_frame_id': 'FrameID',
    'chunk_enable_frame_id': True,
    'chunk_selector_exposure_time': 'ExposureTime',
    'chunk_enable_exposure_time': True,
    'chunk_selector_gain': 'Gain',
    'chunk_enable_gain': True,
    'chunk_selector_timestamp': 'Timestamp',
    'chunk_enable_timestamp': True,
},
berndpfrommer commented 1 week ago

Congratulations, you got an image, and the image looks reasonable to me. I suppose increased image brightness is related to higher temperature. The ROS2 driver does not provide a false color image like the hand-held FLIR cameras do. If you want that you will need to write a node that subscribes to the mono image, and maps grey value to color.

berndpfrommer commented 1 week ago

Can you post your .yaml file (or submit a PR with it)

HBSIM0 commented 6 days ago

Is it not possible for ros2 driver to show the color of thermal mode? Does it have to be implemented by the user? a700 supports thermal mode and digital mode. Please refer to the picture below that you ran on the webpage. Screenshot from 2024-07-01 07-31-58 Screenshot from 2024-07-01 07-32-15

a700.yaml

parameters:

berndpfrommer commented 6 days ago

You are using some web software that I'm not familiar with. Can you switch between Thermal and Color (RGB) image in SpinView as well? But I'm not sure if you are even interested in the color (RGB) image, or if you just want the colorized thermal image shown in the second picture you posted. There are color controls at the side of the window. The question now is: is the colorization done by the web application you are using, or is the colorization done already on the camera itself? Does SpinView offer any parameters (more precisely: GenICam nodes) to change the coloration? If yes, then we may be able to get the color image via the ROS driver, if not, then you may have to write a greyscale -> pseudocolor conversion node yourself.