Comments (5)
Do you receive the Image on the machine, wehre it ha sbeen captured?
Otherwise it's importand to know that ROS doesn't compress images by default
from pylon-ros-camera.
I do receive the image on the same machine I capture them with.
Using rosrun image_view
I always look at image_raw
, how does compression come into this?
from pylon-ros-camera.
Edit: Nope it's still there.
Update:
I was able to come up with a workaround. Using the following two lines
cam_->AcquisitionFrameRateEnable.SetValue(true);
cam_->AcquisitionFrameRate.SetValue(1.0);
in function applyCamSpecificStartupSettings
which can be found at the following line:
https://github.com/basler/pylon-ros-camera/blob/master/pylon_camera/include/pylon_camera/internal/impl/pylon_camera_usb.hpp#L86
No sign of any huge delays anymore. Previously the camera would run in free running mode with the highest frame rate possible in my case 40 fps. This way it will still run in free running mode but at 1 fps.
Though I don't quite understand as to where the images were being saved. The 36 seconds old images I received must have been buffered somewhere?
from pylon-ros-camera.
Hm, I used this node myself and do not observe such strong delays.
What kind of hardware are you using?
For compressed images, have a look. We are using this node with a Basler-Dart on a Raspi4. Using the compressed images, helped us to transfer the pictures via network and write them to a bag file.
However, I can confirm that this Node is unfortunately very buggy.
from pylon-ros-camera.
Today I started working on that issue again and I found the troublemaker. When I start my camera node with a launch file I also execute a bash script which runs a few services like:
set_trigger_mode false
The latter was originally placed to make sure the camera is running in free running mode. According to Basler documentation the trigger mode is off by default for all trigger types. Not executing that line results in the huge delay I was seeing before to be gone.
Further tests:
- Specifying a trigger type before setting the trigger mode to off like I should have done according to Basler documentation also results in the delay
- Turning the trigger mode on after I turned it off also results in the delay (before both I didn't specify a trigger type)
- Never turning the trigger mode off but instead turning it on has no effect. There is no delay before and after calling the service
Conclusion:
I will not turn the trigger mode off as I don't really need it and its already off after powering the camera. Thanks for the feedback.
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
- ACE cameras PTP synchronization (acA_1920-40gc) 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.