roboception / rc_genicam_driver_ros2

ROS2 driver for Roboception rc_visard and rc_cube
BSD 3-Clause "New" or "Revised" License
3 stars 1 forks source link

Can't find my devices #4

Closed nicognitive closed 1 year ago

nicognitive commented 1 year ago

Hello,

I'm using ROS2 Humble inside a Docker. I've installed both packages:

Right now I can use gc_info -l and get following response:

(my_cv) root@modi:/home/jetson/rc_genicam_driver_ros2/cmake# gc_info -l
Transport Layer {AF542A5A-E6D3-4f3d-9908-4A89AE21105A}
Vendor:         MATRIX VISION
Model:          MATRIX VISION GenTL Producer supporting the GigE Vision(Filter driver and Socket) 2.1 protocol and the USB3 Vision 1.0.1 protocol
Vendor version: 
TL type:        Mixed
Name:           mvGenTLProducer.cti
Pathname:       
Display name:   MATRIX VISION GenTL Producer
GenTL version   1.5

    Interface     a0:36:bc:b8:b7:92_enp6s0
    Display name: enp6s0
    TL type:      GEV

        Device             Nano-C4020(00:01:0d:c2:b9:5f)
        Vendor:            Teledyne DALSA
        Model:             Nano-C4020
        TL type:           GEV
        Display name:      Teledyne DALSA Nano-C4020(00:01:0d:c2:b9:5f)
        User defined name: S1128370
        Access status:     ReadWrite
        Serial number:     S1128771
        Version:           1.05
        TS Frequency:      1000000

        Device             GOX-24505C-PGE(00:0c:df:0a:74:44)
        Vendor:            JAI Corporation
        Model:             GOX-24505C-PGE
        TL type:           GEV
        Display name:      JAI Corporation GOX-24505C-PGE(00:0c:df:0a:74:44)
        User defined name: jai_01
        Access status:     ReadWrite
        Serial number:     000002
        Version:           0.1.0.1
        TS Frequency:      1000000000

    Interface     02:42:bb:8c:f3:50_docker0
    Display name: docker0
    TL type:      GEV

Seems like both cameras could be found. Now i wanted to stream the Images like i did it before, just using the new command: ros2 run rc_genicam_driver rc_genicam_driver --ros-args -p "device:=:S1128771"

I was trying around with S1128370, S1128771, 000002, jai_01, with and without ":" before and also with default parameters ("*"), but still get the same response "Cannot find device ...":

(my_cv) root@modi:/home/jetson/rc_genicam_driver_ros2/cmake# ros2 run rc_genicam_driver rc_genicam_driver --ros-args -p "device:=:S1128771"
[INFO] [1678909254.121006709] [genicam_driver]: Initializing
[INFO] [1678909254.121119024] [genicam_driver]: Processing thread started
[INFO] [1678909254.121150659] [genicam_driver]: Configuring
[WARN] [1678909256.150590235] [genicam_driver]: Cannot find device ':S1128771'

What am I doing wrong? For me there is no change to my ROS neotic setting, where i could make it work with my cameras.

Thanks for every help :smile:

heikohimu commented 1 year ago

The rc_genicam_driver for ROS 2 (and ROS 1) are specifically designed for our 3D cameras and will not work for general 2D cameras. The readme starts with "ROS2 driver to configure a Roboception rc_visard or rc_cube". The device discovery specifically filters for our devices. I admit that the error message could be better.

You have probably used the rc_genicam_camera node on ROS 1 before. This supports 2D cameras. This node has not yet been ported to ROS 2.

nicognitive commented 1 year ago

Thanks Heiko for the quick reply. Ohh, I read that, but I was hoping that it would also be possible for our 2D cameras to get the images easily. If I understand correctly, there is currently no ROS2 implementation for GigE, so we have to write our own node?

Sorry I am not that familiar with Genicam and ROS2. I'm just looking for a simple way to get the images from the camera into my ROS2 docker, as i did in ROS1 before.

Thank you very much.

flixr commented 1 year ago

Closing as it does not pertain to this repo. https://github.com/roboception/rc_genicam_camera is not ported to ROS2 yet, ports are welcome.