-
Notifications
You must be signed in to change notification settings - Fork 149
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
Blaze Camera not being found by ROS2 node #191
Comments
Update: |
Hello @jitaxis |
Hi @FrancoisPicardDTI , |
Hi @jitaxis |
I have tried that, sadly still didn't work. |
Hi @jitaxis |
Hi @FrancoisPicardDTI, You will need to build using: You will need to source and build the ros2 environment in the terminal. Let me know if you can find anything. |
Hi jitaxis, Have you tried to set the environment variable For example, for the Dockerfile: |
Hey! I'm facing the same issue running |
Hi Srijal97, Is the blaze camera also accessible as a camera (via GEV) in the container? The installation package You should also check the environment variables in the container. The |
Thank you @timonehr, Setting Our problem goes deeper than this unfortunately, please bear with me as I explain this. We are using the Blaze 101 camera on a Boston Dynamics Spot robot, and the camera has to be connected through the robot's internal network, and not directly to the computer. Basically, the robot acts as a router and the camera and our computer are clients on the network. They are all configured to be in the same IP and subnet, and I am able to ping the camera from the computer through the robot. However, we are not able to connect to the camera both through the SDK and also the Blaze Viewer App. I have tried making changes that would have the app look for a specific camera in the function Pylon::PylonInitialize();
Pylon::CTlFactory& tl_factory = Pylon::CTlFactory::GetInstance();
Pylon::ITransportLayer* ptl = tl_factory.CreateTl(Pylon::BaslerGenTlBlazeDeviceClass);
// create a device info object with specified IP
Pylon::CDeviceInfo required_device_info = ptl->CreateDeviceInfo();
const Pylon::String_t CAMERA_IP = "192.168.50.7";
const Pylon::String_t CAMERA_SUBNET = "255.255.255.0";
const Pylon::String_t SERIAL = "24486655";
required_device_info.SetIpAddress(CAMERA_IP);
// required_device_info.SetSubnetAddress(CAMERA_SUBNET);
required_device_info.SetSubnetMask(CAMERA_SUBNET);
// required_device_info.SetSerialNumber(SERIAL);
RCLCPP_INFO_STREAM(LOGGER, "Trying to create camera_device object...");
Pylon::IPylonDevice* camera_device = tl_factory.CreateDevice(required_device_info);
RCLCPP_INFO_STREAM(LOGGER, "camera_device object created!");
PylonROS2Camera* new_cam_ptr = createFromDevice(BLAZE, camera_device);
return new_cam_ptr; With this change, I am able to connect to the camera when it is connected directly to the computer but not when connected through the robot. We are also working with another similar ToF camera called the Helios 2 Ray. This camera uses a similar Ethernet interface for connection, and we initially had the same issue connecting to this camera as well. What eventually worked for us using Unicast Device Discovery. Sorry for the long explanation, but my question is: is there a similar unicast discovery method for the Blaze ToF camera as well? I believe that this would solve our connection troubles. Thank you for reading! EDIT: I have made some progress and continued this in Issue #217 |
Hi,
When I run the following:
ros2 launch pylon_ros2_camera_wrapper my_blaze.launch.py
I get the following output:
[pylon_ros2_camera_wrapper-2] 1701379794.563725715 [basler.pylon.ros2.pylon_ros2_camera_parameter] [WARN] Autoflash: 0, line2: 1, line3: 1
[pylon_ros2_camera_wrapper-2] 1701379794.563768247 [basler.pylon.ros2.pylon_ros2_camera_parameter] [INFO] Trying to connect the camera device with the following device user id: BrassicaBlaze-1
[pylon_ros2_camera_wrapper-2] 1701379794.874346895 [basler.pylon.ros2.pylon_ros2_camera] [ERROR] No available camera device
[pylon_ros2_camera_wrapper-2] 1701379794.874450538 [basler.pylon.ros2.pylon_ros2_camera_node] [DEBUG] Pylon camera instance created with the following user id: BrassicaBlaze-1
[pylon_ros2_camera_wrapper-2] 1701379794.874664489 [basler.pylon.ros2.pylon_ros2_camera_node] [WARN] Failed to connect camera device with device user id: BrassicaBlaze-1. Wait and retry to connect until the specified camera is available...
Setup/Overview:
I have set up my blaze with a static IP and the user_ID BrassicaBlaze-1, using the ip-configure tool. I set the user_id parameter in the .yaml file to BrassicaBlaze-1 as well.
The camera is operational through the pylon UI, which shows the user_id, and means the ethernet connection is correct.
I have a Blaze-101.
I am running the pylon_7.4.0.14900-deb0_amd64.deb suite, with the blaze pylon-supplementary-package-for-blaze-1.5.0.def07388_amd64.deb
The Linux system is ubuntu 22.04.
ROS: Humble
Any ideas on what I could be missing?
Any help is appreciated, thank you.
The text was updated successfully, but these errors were encountered: