Comments (2)
NEW UPDATE
By using the latest version of the Humble branch we realized that some parameters from the config file were not being applied. The issue was appearing because the Inter_pkg_delay parameter was not being updated and it was kept to a default value of 1000. By forcing the modification through the ros2 launch script it worked with no issues.
Now we are able to have images at stable 20Hz using a 704Mb/s of bandwidth.
from pylon-ros-camera.
UPDATES of further tests
From the previous message I sent until today I managed to synchronize the 2 cameras using the Pylon Viewer at 20Hz. However, the goal is to achieve such configuration using the Pylon ROS wrapper with the 2 cameras.
I have been trying to have the same procedure that I managed to make work with the Pylon Viewer, but over the Pylon ROS2 Humble package that Basler provides.
What I am launching is what you can see in the attached file which basically launches the ROS2 node, then stops grabbing the 2 cameras, sets the PTP and Free run to True and then it starts grabbing frames again.
After this, I get all the good status ROS2 services responses meaning that it was all set successfully. When I check the FPS of each camera it seems to be stable at 20FPS as specified.
However, when I open rviz2 to visualize or record the ros2 topics into a rosbag I get the following error.
I have set the MTU of the ETH0 interface to have a MTU 9000, and when I check I can see it is set to 8966, which should be fine. And then I have also set the MTU size into the configuration of each camera and also the inter_pkg_delay of each camera to 100000.
I've also noticed that the traffic on the network interface is incoming 700 Mbit/s in the case of using Pylon Viewer, while a number between 400 and 500 while using the ROS driver. We are using the following 8 ports Switch https://www.downloads.netgear.com/files/GDC/GS108Tv3/GS108Tv3_GS110TPv3_DS.pdf
Thus it makes me think that for some reason the driver is not correctly using the network capabilities. The setup between the ROS driver and Pylon viewer in terms of transport layer should be extremely similar.
Do you have any suggestions on the direction to go?
Also, something that I tested was to reduce the ROI of the image that is being processed through the Pylon Driver and then we could see that there was no issue over the network and the images were being synchronized as the bandwidth used was smaller. However, this cameras are already with a reduced FoV as they are of 16mm focal length and I would not like to cut the image to even reduce more the FoV. Is there a way to reduce the resolution of the images instead of cutting the ROI before publishing them over the network?
Thank you very much for your support.
from pylon-ros-camera.
Related Issues (20)
- Question about function PylonInitialize HOT 5
- pylon_camera fps not reaching set frame_rate HOT 8
- Camera Config help for short range imaging HOT 2
- Connection multiple cameras ROS2 and publish images HOT 2
- No available camera. Keep waiting and trying... HOT 2
- Synchronization error with image timestamp
- [Humble] Don't waste time on blocking image data readout HOT 4
- How to extract the different intensities from the polar camera rostopic /image_raw HOT 3
- Merge PR168_change_setLineMode_behavior into Humble HOT 1
- Cannot connect and get images from Blaze over a router HOT 3
- BUG: Image Encoding Parameter is not read as expected HOT 1
- Blaze depth map encoding HOT 7
- Cannot access ethernet camera from within docker container HOT 1
- Not able to change pins Line2 and Line3 mode with camera Ace2 HOT 3
- GenAPI|ROS image_encodings: [BayerGR8'|NO_ROS_EQUIVALENT']
- Error connecting to Basler A2a2600-20gcPRO REV: 12 through default.yaml HOT 1
- BUG: ROS 1 (master branch) package.xml version is not updated HOT 2
- BUG: Large memory leak for every Blaze image HOT 4
- changes not reflected when launching camera with reverse_x and reverse_y set to true HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from pylon-ros-camera.