avt_vimba_camera package from avt_vimba_camera repoavt_vimba_camera avt_vimba_camera_msgs |
|
Package Summary
Tags | No category tags. |
Version | 2001.1.0 |
License | BSD |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/astuff/avt_vimba_camera.git |
VCS Type | git |
VCS Version | ros2_master |
Last Updated | 2022-05-24 |
Dev Status | MAINTAINED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- AutonomouStuff Software Team
Authors
- Allied Vision Technologies
- Miquel Massot
Wiki Tutorials
Package Dependencies
System Dependencies
Dependant Packages
Launch files
- launch/Mako_G-319.launch.xml
-
- name [default: camera] — The name of the camera
- frame_id [default: $(var name)] — The frame id of the camera
- ip [default: ] — The IP for the camera to connect to
- guid [default: ] — The GUID for the camera to connect to
- use_measurement_time [default: false] — Use the measurement time from the camera
- ptp_offset [default: -37] — Offset to add to the timestamp from the camera (s). Useful for converting from TAI to UTC time. Only applies if use_measurement_time is true
- camera_info_url [default: file://$(find-pkg-share avt_vimba_camera)/calibrations/calibration_example.yaml]
- image_proc [default: false] — Launch image_proc with driver
- params_file [default: $(find-pkg-share avt_vimba_camera)/config/Mako_G-319.yaml]
- launch/mono_camera.launch.xml
-
- name [default: camera] — The name of the camera
- frame_id [default: $(var name)] — The frame id of the camera
- ip [default: ] — The IP for the camera to connect to
- guid [default: ] — The GUID for the camera to connect to
- use_measurement_time [default: false] — Use the measurement time from the camera
- ptp_offset [default: -37] — Offset to add to the timestamp from the camera (s). Useful for converting from TAI to UTC time. Only applies if use_measurement_time is true
- camera_info_url [default: file://$(find-pkg-share avt_vimba_camera)/calibrations/calibration_example.yaml]
- image_proc [default: false] — Launch image_proc with driver
- params_file [default: $(find-pkg-share avt_vimba_camera)/config/params.yaml]
- launch/trigger_node.launch.xml
-
- destination_ip [default: 192.168.255.255] — The ip address of the camera/s to be triggered
- trigger_src [default: timer] — When to send action commands. Use 'timer' or 'subscriber'
- timer_period [default: 0.1] — Period of timer for sending action commands (s)
- action_device_key [default: 1] — The device key for the sent action
- action_group_key [default: 1] — The group key for the sent actions
- action_group_mask [default: 1] — The group mask for the sent actions
- launch/stereo_camera.launch.xml
- Example launch file for stereo camera application
-
Messages
Services
Plugins
Recent questions tagged avt_vimba_camera at Robotics Stack Exchange
avt_vimba_camera package from avt_vimba_camera repoavt_vimba_camera avt_vimba_camera_msgs |
|
Package Summary
Tags | No category tags. |
Version | 2001.1.0 |
License | BSD |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/astuff/avt_vimba_camera.git |
VCS Type | git |
VCS Version | ros2_master |
Last Updated | 2022-05-24 |
Dev Status | MAINTAINED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- AutonomouStuff Software Team
Authors
- Allied Vision Technologies
- Miquel Massot
Wiki Tutorials
Package Dependencies
System Dependencies
Dependant Packages
Launch files
- launch/Mako_G-319.launch.xml
-
- name [default: camera] — The name of the camera
- frame_id [default: $(var name)] — The frame id of the camera
- ip [default: ] — The IP for the camera to connect to
- guid [default: ] — The GUID for the camera to connect to
- use_measurement_time [default: false] — Use the measurement time from the camera
- ptp_offset [default: -37] — Offset to add to the timestamp from the camera (s). Useful for converting from TAI to UTC time. Only applies if use_measurement_time is true
- camera_info_url [default: file://$(find-pkg-share avt_vimba_camera)/calibrations/calibration_example.yaml]
- image_proc [default: false] — Launch image_proc with driver
- params_file [default: $(find-pkg-share avt_vimba_camera)/config/Mako_G-319.yaml]
- launch/mono_camera.launch.xml
-
- name [default: camera] — The name of the camera
- frame_id [default: $(var name)] — The frame id of the camera
- ip [default: ] — The IP for the camera to connect to
- guid [default: ] — The GUID for the camera to connect to
- use_measurement_time [default: false] — Use the measurement time from the camera
- ptp_offset [default: -37] — Offset to add to the timestamp from the camera (s). Useful for converting from TAI to UTC time. Only applies if use_measurement_time is true
- camera_info_url [default: file://$(find-pkg-share avt_vimba_camera)/calibrations/calibration_example.yaml]
- image_proc [default: false] — Launch image_proc with driver
- params_file [default: $(find-pkg-share avt_vimba_camera)/config/params.yaml]
- launch/trigger_node.launch.xml
-
- destination_ip [default: 192.168.255.255] — The ip address of the camera/s to be triggered
- trigger_src [default: timer] — When to send action commands. Use 'timer' or 'subscriber'
- timer_period [default: 0.1] — Period of timer for sending action commands (s)
- action_device_key [default: 1] — The device key for the sent action
- action_group_key [default: 1] — The group key for the sent actions
- action_group_mask [default: 1] — The group mask for the sent actions
- launch/stereo_camera.launch.xml
- Example launch file for stereo camera application
-
Messages
Services
Plugins
Recent questions tagged avt_vimba_camera at Robotics Stack Exchange
avt_vimba_camera package from avt_vimba_camera repoavt_vimba_camera avt_vimba_camera_msgs |
|
Package Summary
Tags | No category tags. |
Version | 2001.1.0 |
License | BSD |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/astuff/avt_vimba_camera.git |
VCS Type | git |
VCS Version | ros2_master |
Last Updated | 2022-05-24 |
Dev Status | MAINTAINED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- AutonomouStuff Software Team
Authors
- Allied Vision Technologies
- Miquel Massot
Wiki Tutorials
Package Dependencies
System Dependencies
Dependant Packages
Launch files
- launch/Mako_G-319.launch.xml
-
- name [default: camera] — The name of the camera
- frame_id [default: $(var name)] — The frame id of the camera
- ip [default: ] — The IP for the camera to connect to
- guid [default: ] — The GUID for the camera to connect to
- use_measurement_time [default: false] — Use the measurement time from the camera
- ptp_offset [default: -37] — Offset to add to the timestamp from the camera (s). Useful for converting from TAI to UTC time. Only applies if use_measurement_time is true
- camera_info_url [default: file://$(find-pkg-share avt_vimba_camera)/calibrations/calibration_example.yaml]
- image_proc [default: false] — Launch image_proc with driver
- params_file [default: $(find-pkg-share avt_vimba_camera)/config/Mako_G-319.yaml]
- launch/mono_camera.launch.xml
-
- name [default: camera] — The name of the camera
- frame_id [default: $(var name)] — The frame id of the camera
- ip [default: ] — The IP for the camera to connect to
- guid [default: ] — The GUID for the camera to connect to
- use_measurement_time [default: false] — Use the measurement time from the camera
- ptp_offset [default: -37] — Offset to add to the timestamp from the camera (s). Useful for converting from TAI to UTC time. Only applies if use_measurement_time is true
- camera_info_url [default: file://$(find-pkg-share avt_vimba_camera)/calibrations/calibration_example.yaml]
- image_proc [default: false] — Launch image_proc with driver
- params_file [default: $(find-pkg-share avt_vimba_camera)/config/params.yaml]
- launch/trigger_node.launch.xml
-
- destination_ip [default: 192.168.255.255] — The ip address of the camera/s to be triggered
- trigger_src [default: timer] — When to send action commands. Use 'timer' or 'subscriber'
- timer_period [default: 0.1] — Period of timer for sending action commands (s)
- action_device_key [default: 1] — The device key for the sent action
- action_group_key [default: 1] — The group key for the sent actions
- action_group_mask [default: 1] — The group mask for the sent actions
- launch/stereo_camera.launch.xml
- Example launch file for stereo camera application
-
Messages
Services
Plugins
Recent questions tagged avt_vimba_camera at Robotics Stack Exchange
avt_vimba_camera package from avt_vimba_camera repoavt_vimba_camera avt_vimba_camera_msgs |
|
Package Summary
Tags | No category tags. |
Version | 2001.1.0 |
License | BSD |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/astuff/avt_vimba_camera.git |
VCS Type | git |
VCS Version | ros2_master |
Last Updated | 2022-05-24 |
Dev Status | MAINTAINED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- AutonomouStuff Software Team
Authors
- Allied Vision Technologies
- Miquel Massot
Wiki Tutorials
Package Dependencies
System Dependencies
Dependant Packages
Launch files
- launch/Mako_G-319.launch.xml
-
- name [default: camera] — The name of the camera
- frame_id [default: $(var name)] — The frame id of the camera
- ip [default: ] — The IP for the camera to connect to
- guid [default: ] — The GUID for the camera to connect to
- use_measurement_time [default: false] — Use the measurement time from the camera
- ptp_offset [default: -37] — Offset to add to the timestamp from the camera (s). Useful for converting from TAI to UTC time. Only applies if use_measurement_time is true
- camera_info_url [default: file://$(find-pkg-share avt_vimba_camera)/calibrations/calibration_example.yaml]
- image_proc [default: false] — Launch image_proc with driver
- params_file [default: $(find-pkg-share avt_vimba_camera)/config/Mako_G-319.yaml]
- launch/mono_camera.launch.xml
-
- name [default: camera] — The name of the camera
- frame_id [default: $(var name)] — The frame id of the camera
- ip [default: ] — The IP for the camera to connect to
- guid [default: ] — The GUID for the camera to connect to
- use_measurement_time [default: false] — Use the measurement time from the camera
- ptp_offset [default: -37] — Offset to add to the timestamp from the camera (s). Useful for converting from TAI to UTC time. Only applies if use_measurement_time is true
- camera_info_url [default: file://$(find-pkg-share avt_vimba_camera)/calibrations/calibration_example.yaml]
- image_proc [default: false] — Launch image_proc with driver
- params_file [default: $(find-pkg-share avt_vimba_camera)/config/params.yaml]
- launch/trigger_node.launch.xml
-
- destination_ip [default: 192.168.255.255] — The ip address of the camera/s to be triggered
- trigger_src [default: timer] — When to send action commands. Use 'timer' or 'subscriber'
- timer_period [default: 0.1] — Period of timer for sending action commands (s)
- action_device_key [default: 1] — The device key for the sent action
- action_group_key [default: 1] — The group key for the sent actions
- action_group_mask [default: 1] — The group mask for the sent actions
- launch/stereo_camera.launch.xml
- Example launch file for stereo camera application
-
Messages
Services
Plugins
Recent questions tagged avt_vimba_camera at Robotics Stack Exchange
avt_vimba_camera package from avt_vimba_camera repoavt_vimba_camera |
|
Package Summary
Tags | No category tags. |
Version | 1.2.0 |
License | BSD |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/astuff/avt_vimba_camera.git |
VCS Type | git |
VCS Version | ros1_master |
Last Updated | 2023-05-29 |
Dev Status | MAINTAINED |
CI status | Continuous Integration : 0 / 0 |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- AutonomouStuff Software Team
Authors
- Allied Vision Technologies
- Miquel Massot
avt_vimba_camera (ROS1)
This repo contains a ROS driver for cameras manufactured by Allied Vision Technologies. The driver relies on libraries provided by AVT as part of their Vimba SDK.
See the ROS2 version of this README here.
Installation
Dependencies
First, you will need to install the Vimba SDK. Download it from AVT’s website here.
Also see the linux vimba installation instructions.
It is highly recommended to open the “Vimba Viewer” tool that came along with the SDK and make sure you can connect to your camera.
It may be useful to create a desktop shortcut to Vimba Viewer:
ln -sf "Vimba_5_0/Tools/Viewer/Bin/x86_64bit/VimbaViewer" "$HOME/Desktop"
ROS Driver
Once you’ve successfully connected to your camera using Vimba Viewer, you can continue with the ROS driver install:
sudo apt install ros-$ROS_DISTRO-avt-vimba-camera
Operational Advice
MTU Size
If you are using a GigE camera (ethernet-based camera), it is recommended to adjust some settings in your network interface to be able to handle the potentially high bandwidth usage of the camera stream.
On Linux, you will need to increase the MTU (Maximum Transmission Unit) on the network interface attached to the camera.
You can check what your current mtu setting is by running the following command:
ip a | grep mtu
According to AVT documentation, increase the mtu to 9014
.
If you use Network Manager, this can be done by opening the network interface settings and editing the “MTU” box under the “Identity” tab.
See the “Optimize system performance” section of your camera’s technical manual for full details. For example, the Mako camera technical manual is available here.
Receive Buffer Size
It is also recommended to increase your network receive buffer size.
By default, Ubuntu uses 212992
.
You can check what your current buffer size is:
sudo sysctl 'net.core.rmem_max'
Update the buffer size with the following command:
sudo sysctl -w 'net.core.rmem_max=26214400'
26214400
has been tested successfully, but anything above 2000000
is likely fine.
Once you find a value that works for you, you can make the change permanent (persist across reboots) by updating the /etc/sysctl.conf
file with the following line:
net.core.rmem_max=26214400
Camera Settings in General
If you are having difficulty getting the camera to do what you want using the ROS driver, it is suggested to first use Vimba Viewer to play around with settings that work. The Vimba Viewer GUI will help you determine what settings are available to your camera model and help you tune them easier. Once you have settings that you are happy with, save them into your own rosparam file or launch file, and the driver will use those settings every time it launches.
Note that this driver makes use of both ROS parameters and dynamic reconfigure. When the driver first starts, the dyanmic reconfigure server will initialize with all current ROS param values, then trigger a callback to configure the camera. This means ROS params will take precedence and should be the preferred way to save camera configs meant to be reused. After the driver initializes, changes to the parameters can be made using dynamic reconfigure RQT tool (rqt_reconfigure).
ROS Nodes
mono_camera_node
The mono_camera_node is the main driver that connects to the camera, configures it according to ROS parameters/dynamic reconfigure, and starts publishing image frames.
The driver uses image_transport to publish image frames, so all expected image topics should be available.
See the config file (cfg/AvtVimbaCamera.cfg
) for documentation regarding the various parameters that can be used to configure the camera itself.
See the launch file (launch/mono_camera.launch) for documentation regarding the operational parameters of the driver.
trigger_node
The trigger_node is a standalone node for sending out ethernet-based action commands to AVT cameras. Action commands are useful for triggering frame captures over ethernet. See AVT’s application note for more details. Note that cameras must be configured to receive the action commands in addition to running the trigger_node.
Clock Synchronization
If you wish to use the exact time the image was measured in the header of the ROS messages, it is suggested to use PTP synchronization.
PTP will ensure the clock on the camera is synchronized with the computer, so that measurement times are all based off of the same clock.
Setting the use_measurement_time
parameter will set the ROS header timestamp to the frame timestamp, but it is up to you to make sure the camera clock is synced with the computer.
linuxptp is a great tool for PTP synchronization and is suggested for ensuring the camera is in sync with the computer.
See the links below for more details on PTP sync.
Useful Technical References and Application Notes
- GigE Features Reference (To better understand what features your camera supports and how to tune them)
- Trigger over Ethernet - Action Commands
- PTP Clock Sync (Highly recommended if you care about exact image acquisition time)
- Image Timestamp on Allied Vision GigE Cameras
- Decimation (Binning is similar)
Changelog for package avt_vimba_camera
1.2.0 (2022-04-08)
- Add note about permanent buffer settings to the README (#91)
- Remove triggermode check (#84)
- Contributors: icolwell-as
1.1.0 (2022-02-16)
- Add missing default handlers for two switch statement (#78)
- Fix a bug in function getTriggerModeInt() (#77)
- Add missing frame_id to camera_info topic, add missing stamp to image topic (#70)
- Remove sync node tidbit in README (#62)
- Add license file (#66)
- Clarify that this is the ROS1 driver README (#60)
- Remove sync node (#59)
- Added features required to run USB cameras (#54)
- Contributors: Grzegorz Bartyzel, icolwell-as, jilinzhouas
1.0.0 (2021-11-30)
- Code Cleanup and Autoformat (#52)
- Improve rosout logging (#50)
- Improve README (#48)
- Parameter Refactor (#46)
- Use timestamp from image capture in ROS header (#41)
- Trigger over Ethernet (#39)
- Remove stereo camera code (#43)
- Update CI (#44)
- Update to VimbaCPP Version 1.8.4 (SDK version 5.0) (#36)
- Fixed 'escalating to SIGTERM' when closing (#22)
- Contributors: icolwell-as, vbrebion
0.0.12 (2020-06-05)
- Fix MonoCamera nodelet (#16)
- Launch File Updates (#13)
- Remove duplicated launch file installs (#15)
- Brief README (#10)
- Add more pixelformats, thanks to \@jmoreau-hds (#3)
- Contributors: icolwell-as
0.0.11 (2019-08-19)
- Merge pull request #35 from willcbaker/feature/nodelet Feature/nodelet
- Update nodelet launch files
- Add nodelet
- Fix #31
- Merge pull request #30 from chewwt/armv8 add support for armv8
- add support for armv8
- Change frame observer to shared ptr
- Contributors: Miquel Massot, Will Baker, ruth
0.0.10 (2017-08-16)
- Merge pull request #26 from 130s/k/add_ci [CI] Add config for ROS Kinetic (and Lunar as an option).
- [CI] Add config for ROS Kinetic (and Lunar as an option).
- Merge pull request #25 from mintar/fix_open_camera Fix opening the camera
- Simplify openCamera() logic
- Open camera on init Without this patch, the camera is never opened. This bug was introduced in 63f868791.
- Give more information to the user
- Merge pull request #22 from plusone-robotics/dyn_reconfig_fix Dynamic reconfigure fix
- Fix #21: Retry camera opening and handle SIGINT
- Changed file mode in order to build
- Fixed crashing of dynamic reconfigure
- Fixed dynamic reconfigure configuration that did not allow camera parameters to be updated
- Fix call QueueFrame() method
- Fix CPU overhead issue
- Fix #18
- Merge pull request #17 from josepqp/kinetic Added ARM 32 to CMakeList.txt
- Stop camera before destroy it
- Added ARM 32
- Merge branch 'kinetic' of github.com:srv/avt_vimba_camera into kinetic
- Change variable scope
- Fix #15: do not depend on turbot_configurations
- Merge pull request
#14 from
josepqp/kinetic
- Added ARM 32 bits libraries
- Modified CMakeList.txt to compile with ARM 32 bits
- Added Iris Parameter
- kinetization
- Fix sync problems after camera tests
- Add a sync timer
- Try stereo image sync
- Add a check timer
- Fix #12: allow bigger resolutions
- Fix camera info
- Fix camera config
- Fix camera info when decimation
- Make sync node acts as stereo sync checker
- Include a check timer on stereo_camera
- Perform the stereo_sync in a separate node
- Publish camera temperatures
- Change the way of reset
- Increase the initial wait time before checking sync
- Add a sync watcher node
- Fix branch mix
- Remove unused variables
- Left and right callback in a separate thread
- Change default sync time
- change logging messages
- fix binning
- add stereo launchfiles
- removed prints
- set stereo launchfiles
- removed unused params
- calibration epi. 4
- improvements to stereo node
- merge with v2.0 SDK
- upgrade to VIMBA SDK 2.0
- upgrade to 1.4
- changed ros prints from info to debug
- removed comment
- changed stereo camera launchfile
- Merge pull request #11 from lucasb-eyer/indigo Set the frame_id of the image header, too.
- Set the frame_id of the image header, too.
- Contributors: Isaac I.Y. Saito, Martin Günther, Miquel Massot, Shaun Edwards, SparusII, agoins, josep, lucasb-eyer, plnegre, shaun-edwards
0.0.9 (2014-11-17)
- Fix #8: Constructor delegation and typo in assignment
- added mono camera name
- corrected diagnostics
- fixed sync diagnostic
- improved diagnostics
- better timestamp management
- added command error check
- cleaning stereo prints
- removed old cpp
- fixed merging conflict
- update updater
- added time to tick function
- added getTimestamp
- added reset timestamp command
- changed errors to warnings
- added open/close msgs to diagnostics
- added diagnostics. wip
- bugfixes
- full operative stereo camera
- prepared launchfile for stereo
- auto set packet size
- stereo sync
- preparing for stereo
- added launchfile
- hide first run
- set auto configuration by default
- fix with ptp mode
- Fix dynamic reconfigure error with PTP
- mono camera compiles
- Fix interface type
- Merge pull request #5 from lucasb-eyer/auto Fix names/values of auto settings.
- Fix names/values of auto settings.
- Fix #2: Set the highest GeV packet size
- Merge pull request #3 from pkok/single_identifier Allow user to connect by specifying either GUID or IP address.
- Allow user to connect by specifying either GUID or IP address.
- wip
- added testing launchfiles
- added parameters for sync
- Contributors: Miquel Massot, Patrick de Kok, SPENCER-Freiburg Laptop
0.0.8 (2014-09-05)
- readdition of vimba
- Contributors: Miquel Massot
0.0.7 (2014-09-04)
- removed vimba headers
- Contributors: Miquel Massot
0.0.6 (2014-09-03)
- change to libvimba package
- Contributors: Miquel Massot
0.0.5 (2014-09-03)
- add shared library as imported target
- Contributors: Miquel Massot
0.0.4 (2014-09-01)
- absolute path for libvimbacpp
- changed version
- bugfix re-release
- Contributors: Miquel Massot
0.0.2 (2014-03-24)
- test on polled camera
- formatting
- added packages
- added GPIO params
- added params and launchfile
- added launchfile
- added camera calibration and fixed reconfiguration issues
- first images in ROS
- first tests with Manta G-504C
- added tags to gitignore
- develop in progress
- added gitignore
- changed package name and pushed some devel
- added config file
- prepared and tested Vimba library
- first commit
- Contributors: Miquel Massot
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
catkin | |
image_proc | |
stereo_image_proc | |
camera_info_manager | |
diagnostic_updater | |
dynamic_reconfigure | |
image_transport | |
message_filters | |
roscpp | |
sensor_msgs | |
std_msgs | |
nodelet |
System Dependencies
Dependant Packages
Launch files
- launch/trigger_node.launch
-
- destination_ip [default: 192.168.255.255] — The ip address of the camera/s to be triggered
- trigger_src [default: timer] — When to send action commands. Use 'timer' or 'subscriber'
- timer_period [default: 0.1] — Period of timer for sending action commands (s)
- action_device_key [default: 1] — The device key for the sent action
- action_group_key [default: 1] — The group key for the sent actions
- action_group_mask [default: 1] — The group mask for the sent actions
- launch/stereo_camera.launch
- Example launch file for stereo camera application
-
- launch/Mako_G-319.launch
-
- name [default: camera] — The name of the camera
- frame_id [default: $(arg name)] — The frame id of the camera
- ip [default: ] — The IP for the camera to connect to
- guid [default: ] — The GUID for the camera to connect to
- camera_info_url [default: file://$(find avt_vimba_camera)/calibrations/calibration_example.yaml]
- acquisition_rate [default: 10] — Camera framerate (Hz)
- acquisition_rate_enable [default: False] — Allow fixed camera framerate
- launch/mono_camera_nodelet.launch
-
- name [default: camera] — The name of the camera
- ip [default: ] — The IP for the camera to connect to
- guid [default: ] — The GUID for the camera to connect to
- frame_id [default: $(arg name)] — The frame id of the camera
- camera_info_url [default: file://$(find avt_vimba_camera)/calibrations/calibration_example.yaml]
- show_debug_prints [default: true] — Show debug output on console
- image_proc [default: false] — Launch image_proc with driver
- acquisition_mode [default: Continuous]
- acquisition_rate [default: 10]
- acquisition_rate_enable [default: False]
- trigger_source [default: FixedRate]
- trigger_mode [default: On]
- trigger_selector [default: FrameStart]
- trigger_activation [default: RisingEdge]
- trigger_delay [default: 0.0]
- exposure [default: 50000]
- exposure_auto [default: Continuous]
- exposure_auto_alg [default: FitRange]
- exposure_auto_tol [default: 5]
- exposure_auto_max [default: 50000]
- exposure_auto_min [default: 50000]
- exposure_auto_outliers [default: 50000]
- exposure_auto_rate [default: 50000]
- exposure_auto_target [default: 50000]
- gain [default: 0]
- gain_auto [default: Continuous]
- gain_auto_adjust_tol [default: 5]
- gain_auto_max [default: 32]
- gain_auto_min [default: 0]
- gain_auto_outliers [default: 0]
- gain_auto_rate [default: 50]
- gain_auto_target [default: 50]
- balance_ratio_abs [default: 1.0]
- balance_ratio_selector [default: Red]
- whitebalance_auto [default: Continuous]
- whitebalance_auto_tol [default: 5]
- whitebalance_auto_rate [default: 100]
- binning_x [default: 1]
- binning_y [default: 1]
- decimation_x [default: 1]
- decimation_y [default: 1]
- width [default: 1920]
- height [default: 1440]
- offset_x [default: 0]
- offset_y [default: 0]
- pixel_format [default: BayerRG8]
- stream_bytes_per_second [default: 45000000]
- ptp_mode [default: Off]
- sync_in_selector [default: SyncIn1]
- sync_out_polarity [default: Normal]
- sync_out_selector [default: SyncOut1]
- sync_out_source [default: GPO]
- line_selector [default: Line0]
- line_mode [default: Input]
- iris_auto_target [default: 50]
- iris_mode [default: Continuous]
- iris_video_level_min [default: 110]
- iris_video_level_max [default: 110]
- launch/mono_camera.launch
-
- name [default: camera] — The name of the camera
- ip [default: ] — The IP for the camera to connect to
- guid [default: ] — The GUID for the camera to connect to
- frame_id [default: $(arg name)] — The frame id of the camera
- use_measurement_time [default: false] — Use the measurement time from the camera
- ptp_offset [default: -37] — Offset to add to the timestamp from the camera (s). Useful for converting from TAI to UTC time. Only applies if use_measurement_time is true
- camera_info_url [default: file://$(find avt_vimba_camera)/calibrations/calibration_example.yaml]
- print_all_features [default: false] — Show all camera features on the console during startup
- image_proc [default: false] — Launch image_proc with driver
- acquisition_mode [default: Continuous]
- acquisition_rate [default: 10]
- acquisition_rate_enable [default: False]
- trigger_source [default: FixedRate]
- trigger_mode [default: On]
- trigger_selector [default: FrameStart]
- trigger_activation [default: RisingEdge]
- trigger_delay [default: 0.0]
- exposure [default: 50000]
- exposure_auto [default: Continuous]
- exposure_auto_alg [default: FitRange]
- exposure_auto_tol [default: 5]
- exposure_auto_max [default: 50000]
- exposure_auto_min [default: 50000]
- exposure_auto_outliers [default: 50000]
- exposure_auto_rate [default: 50000]
- exposure_auto_target [default: 50000]
- gain [default: 0]
- gain_auto [default: Continuous]
- gain_auto_adjust_tol [default: 5]
- gain_auto_max [default: 32]
- gain_auto_min [default: 0]
- gain_auto_outliers [default: 0]
- gain_auto_rate [default: 50]
- gain_auto_target [default: 50]
- balance_ratio_abs [default: 1.0]
- balance_ratio_selector [default: Red]
- whitebalance_auto [default: Continuous]
- whitebalance_auto_tol [default: 5]
- whitebalance_auto_rate [default: 100]
- binning_x [default: 1]
- binning_y [default: 1]
- decimation_x [default: 1]
- decimation_y [default: 1]
- width [default: 1920]
- height [default: 1440]
- offset_x [default: 0]
- offset_y [default: 0]
- pixel_format [default: BayerRG8]
- stream_bytes_per_second [default: 45000000]
- ptp_mode [default: Off]
- sync_in_selector [default: SyncIn1]
- sync_out_polarity [default: Normal]
- sync_out_selector [default: SyncOut1]
- sync_out_source [default: GPO]
- line_selector [default: Line0]
- line_mode [default: Input]
- iris_auto_target [default: 50]
- iris_mode [default: Continuous]
- iris_video_level_min [default: 110]
- iris_video_level_max [default: 110]
Messages
Services
Plugins
Recent questions tagged avt_vimba_camera at Robotics Stack Exchange
avt_vimba_camera package from avt_vimba_camera repoavt_vimba_camera |
|
Package Summary
Tags | No category tags. |
Version | 1.2.0 |
License | BSD |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/astuff/avt_vimba_camera.git |
VCS Type | git |
VCS Version | ros1_master |
Last Updated | 2023-05-29 |
Dev Status | MAINTAINED |
CI status | Continuous Integration : 0 / 0 |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- AutonomouStuff Software Team
Authors
- Allied Vision Technologies
- Miquel Massot
avt_vimba_camera (ROS1)
This repo contains a ROS driver for cameras manufactured by Allied Vision Technologies. The driver relies on libraries provided by AVT as part of their Vimba SDK.
See the ROS2 version of this README here.
Installation
Dependencies
First, you will need to install the Vimba SDK. Download it from AVT’s website here.
Also see the linux vimba installation instructions.
It is highly recommended to open the “Vimba Viewer” tool that came along with the SDK and make sure you can connect to your camera.
It may be useful to create a desktop shortcut to Vimba Viewer:
ln -sf "Vimba_5_0/Tools/Viewer/Bin/x86_64bit/VimbaViewer" "$HOME/Desktop"
ROS Driver
Once you’ve successfully connected to your camera using Vimba Viewer, you can continue with the ROS driver install:
sudo apt install ros-$ROS_DISTRO-avt-vimba-camera
Operational Advice
MTU Size
If you are using a GigE camera (ethernet-based camera), it is recommended to adjust some settings in your network interface to be able to handle the potentially high bandwidth usage of the camera stream.
On Linux, you will need to increase the MTU (Maximum Transmission Unit) on the network interface attached to the camera.
You can check what your current mtu setting is by running the following command:
ip a | grep mtu
According to AVT documentation, increase the mtu to 9014
.
If you use Network Manager, this can be done by opening the network interface settings and editing the “MTU” box under the “Identity” tab.
See the “Optimize system performance” section of your camera’s technical manual for full details. For example, the Mako camera technical manual is available here.
Receive Buffer Size
It is also recommended to increase your network receive buffer size.
By default, Ubuntu uses 212992
.
You can check what your current buffer size is:
sudo sysctl 'net.core.rmem_max'
Update the buffer size with the following command:
sudo sysctl -w 'net.core.rmem_max=26214400'
26214400
has been tested successfully, but anything above 2000000
is likely fine.
Once you find a value that works for you, you can make the change permanent (persist across reboots) by updating the /etc/sysctl.conf
file with the following line:
net.core.rmem_max=26214400
Camera Settings in General
If you are having difficulty getting the camera to do what you want using the ROS driver, it is suggested to first use Vimba Viewer to play around with settings that work. The Vimba Viewer GUI will help you determine what settings are available to your camera model and help you tune them easier. Once you have settings that you are happy with, save them into your own rosparam file or launch file, and the driver will use those settings every time it launches.
Note that this driver makes use of both ROS parameters and dynamic reconfigure. When the driver first starts, the dyanmic reconfigure server will initialize with all current ROS param values, then trigger a callback to configure the camera. This means ROS params will take precedence and should be the preferred way to save camera configs meant to be reused. After the driver initializes, changes to the parameters can be made using dynamic reconfigure RQT tool (rqt_reconfigure).
ROS Nodes
mono_camera_node
The mono_camera_node is the main driver that connects to the camera, configures it according to ROS parameters/dynamic reconfigure, and starts publishing image frames.
The driver uses image_transport to publish image frames, so all expected image topics should be available.
See the config file (cfg/AvtVimbaCamera.cfg
) for documentation regarding the various parameters that can be used to configure the camera itself.
See the launch file (launch/mono_camera.launch) for documentation regarding the operational parameters of the driver.
trigger_node
The trigger_node is a standalone node for sending out ethernet-based action commands to AVT cameras. Action commands are useful for triggering frame captures over ethernet. See AVT’s application note for more details. Note that cameras must be configured to receive the action commands in addition to running the trigger_node.
Clock Synchronization
If you wish to use the exact time the image was measured in the header of the ROS messages, it is suggested to use PTP synchronization.
PTP will ensure the clock on the camera is synchronized with the computer, so that measurement times are all based off of the same clock.
Setting the use_measurement_time
parameter will set the ROS header timestamp to the frame timestamp, but it is up to you to make sure the camera clock is synced with the computer.
linuxptp is a great tool for PTP synchronization and is suggested for ensuring the camera is in sync with the computer.
See the links below for more details on PTP sync.
Useful Technical References and Application Notes
- GigE Features Reference (To better understand what features your camera supports and how to tune them)
- Trigger over Ethernet - Action Commands
- PTP Clock Sync (Highly recommended if you care about exact image acquisition time)
- Image Timestamp on Allied Vision GigE Cameras
- Decimation (Binning is similar)
Changelog for package avt_vimba_camera
1.2.0 (2022-04-08)
- Add note about permanent buffer settings to the README (#91)
- Remove triggermode check (#84)
- Contributors: icolwell-as
1.1.0 (2022-02-16)
- Add missing default handlers for two switch statement (#78)
- Fix a bug in function getTriggerModeInt() (#77)
- Add missing frame_id to camera_info topic, add missing stamp to image topic (#70)
- Remove sync node tidbit in README (#62)
- Add license file (#66)
- Clarify that this is the ROS1 driver README (#60)
- Remove sync node (#59)
- Added features required to run USB cameras (#54)
- Contributors: Grzegorz Bartyzel, icolwell-as, jilinzhouas
1.0.0 (2021-11-30)
- Code Cleanup and Autoformat (#52)
- Improve rosout logging (#50)
- Improve README (#48)
- Parameter Refactor (#46)
- Use timestamp from image capture in ROS header (#41)
- Trigger over Ethernet (#39)
- Remove stereo camera code (#43)
- Update CI (#44)
- Update to VimbaCPP Version 1.8.4 (SDK version 5.0) (#36)
- Fixed 'escalating to SIGTERM' when closing (#22)
- Contributors: icolwell-as, vbrebion
0.0.12 (2020-06-05)
- Fix MonoCamera nodelet (#16)
- Launch File Updates (#13)
- Remove duplicated launch file installs (#15)
- Brief README (#10)
- Add more pixelformats, thanks to \@jmoreau-hds (#3)
- Contributors: icolwell-as
0.0.11 (2019-08-19)
- Merge pull request #35 from willcbaker/feature/nodelet Feature/nodelet
- Update nodelet launch files
- Add nodelet
- Fix #31
- Merge pull request #30 from chewwt/armv8 add support for armv8
- add support for armv8
- Change frame observer to shared ptr
- Contributors: Miquel Massot, Will Baker, ruth
0.0.10 (2017-08-16)
- Merge pull request #26 from 130s/k/add_ci [CI] Add config for ROS Kinetic (and Lunar as an option).
- [CI] Add config for ROS Kinetic (and Lunar as an option).
- Merge pull request #25 from mintar/fix_open_camera Fix opening the camera
- Simplify openCamera() logic
- Open camera on init Without this patch, the camera is never opened. This bug was introduced in 63f868791.
- Give more information to the user
- Merge pull request #22 from plusone-robotics/dyn_reconfig_fix Dynamic reconfigure fix
- Fix #21: Retry camera opening and handle SIGINT
- Changed file mode in order to build
- Fixed crashing of dynamic reconfigure
- Fixed dynamic reconfigure configuration that did not allow camera parameters to be updated
- Fix call QueueFrame() method
- Fix CPU overhead issue
- Fix #18
- Merge pull request #17 from josepqp/kinetic Added ARM 32 to CMakeList.txt
- Stop camera before destroy it
- Added ARM 32
- Merge branch 'kinetic' of github.com:srv/avt_vimba_camera into kinetic
- Change variable scope
- Fix #15: do not depend on turbot_configurations
- Merge pull request
#14 from
josepqp/kinetic
- Added ARM 32 bits libraries
- Modified CMakeList.txt to compile with ARM 32 bits
- Added Iris Parameter
- kinetization
- Fix sync problems after camera tests
- Add a sync timer
- Try stereo image sync
- Add a check timer
- Fix #12: allow bigger resolutions
- Fix camera info
- Fix camera config
- Fix camera info when decimation
- Make sync node acts as stereo sync checker
- Include a check timer on stereo_camera
- Perform the stereo_sync in a separate node
- Publish camera temperatures
- Change the way of reset
- Increase the initial wait time before checking sync
- Add a sync watcher node
- Fix branch mix
- Remove unused variables
- Left and right callback in a separate thread
- Change default sync time
- change logging messages
- fix binning
- add stereo launchfiles
- removed prints
- set stereo launchfiles
- removed unused params
- calibration epi. 4
- improvements to stereo node
- merge with v2.0 SDK
- upgrade to VIMBA SDK 2.0
- upgrade to 1.4
- changed ros prints from info to debug
- removed comment
- changed stereo camera launchfile
- Merge pull request #11 from lucasb-eyer/indigo Set the frame_id of the image header, too.
- Set the frame_id of the image header, too.
- Contributors: Isaac I.Y. Saito, Martin Günther, Miquel Massot, Shaun Edwards, SparusII, agoins, josep, lucasb-eyer, plnegre, shaun-edwards
0.0.9 (2014-11-17)
- Fix #8: Constructor delegation and typo in assignment
- added mono camera name
- corrected diagnostics
- fixed sync diagnostic
- improved diagnostics
- better timestamp management
- added command error check
- cleaning stereo prints
- removed old cpp
- fixed merging conflict
- update updater
- added time to tick function
- added getTimestamp
- added reset timestamp command
- changed errors to warnings
- added open/close msgs to diagnostics
- added diagnostics. wip
- bugfixes
- full operative stereo camera
- prepared launchfile for stereo
- auto set packet size
- stereo sync
- preparing for stereo
- added launchfile
- hide first run
- set auto configuration by default
- fix with ptp mode
- Fix dynamic reconfigure error with PTP
- mono camera compiles
- Fix interface type
- Merge pull request #5 from lucasb-eyer/auto Fix names/values of auto settings.
- Fix names/values of auto settings.
- Fix #2: Set the highest GeV packet size
- Merge pull request #3 from pkok/single_identifier Allow user to connect by specifying either GUID or IP address.
- Allow user to connect by specifying either GUID or IP address.
- wip
- added testing launchfiles
- added parameters for sync
- Contributors: Miquel Massot, Patrick de Kok, SPENCER-Freiburg Laptop
0.0.8 (2014-09-05)
- readdition of vimba
- Contributors: Miquel Massot
0.0.7 (2014-09-04)
- removed vimba headers
- Contributors: Miquel Massot
0.0.6 (2014-09-03)
- change to libvimba package
- Contributors: Miquel Massot
0.0.5 (2014-09-03)
- add shared library as imported target
- Contributors: Miquel Massot
0.0.4 (2014-09-01)
- absolute path for libvimbacpp
- changed version
- bugfix re-release
- Contributors: Miquel Massot
0.0.2 (2014-03-24)
- test on polled camera
- formatting
- added packages
- added GPIO params
- added params and launchfile
- added launchfile
- added camera calibration and fixed reconfiguration issues
- first images in ROS
- first tests with Manta G-504C
- added tags to gitignore
- develop in progress
- added gitignore
- changed package name and pushed some devel
- added config file
- prepared and tested Vimba library
- first commit
- Contributors: Miquel Massot
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
catkin | |
image_proc | |
stereo_image_proc | |
camera_info_manager | |
diagnostic_updater | |
dynamic_reconfigure | |
image_transport | |
message_filters | |
roscpp | |
sensor_msgs | |
std_msgs | |
nodelet |
System Dependencies
Dependant Packages
Launch files
- launch/trigger_node.launch
-
- destination_ip [default: 192.168.255.255] — The ip address of the camera/s to be triggered
- trigger_src [default: timer] — When to send action commands. Use 'timer' or 'subscriber'
- timer_period [default: 0.1] — Period of timer for sending action commands (s)
- action_device_key [default: 1] — The device key for the sent action
- action_group_key [default: 1] — The group key for the sent actions
- action_group_mask [default: 1] — The group mask for the sent actions
- launch/stereo_camera.launch
- Example launch file for stereo camera application
-
- launch/Mako_G-319.launch
-
- name [default: camera] — The name of the camera
- frame_id [default: $(arg name)] — The frame id of the camera
- ip [default: ] — The IP for the camera to connect to
- guid [default: ] — The GUID for the camera to connect to
- camera_info_url [default: file://$(find avt_vimba_camera)/calibrations/calibration_example.yaml]
- acquisition_rate [default: 10] — Camera framerate (Hz)
- acquisition_rate_enable [default: False] — Allow fixed camera framerate
- launch/mono_camera_nodelet.launch
-
- name [default: camera] — The name of the camera
- ip [default: ] — The IP for the camera to connect to
- guid [default: ] — The GUID for the camera to connect to
- frame_id [default: $(arg name)] — The frame id of the camera
- camera_info_url [default: file://$(find avt_vimba_camera)/calibrations/calibration_example.yaml]
- show_debug_prints [default: true] — Show debug output on console
- image_proc [default: false] — Launch image_proc with driver
- acquisition_mode [default: Continuous]
- acquisition_rate [default: 10]
- acquisition_rate_enable [default: False]
- trigger_source [default: FixedRate]
- trigger_mode [default: On]
- trigger_selector [default: FrameStart]
- trigger_activation [default: RisingEdge]
- trigger_delay [default: 0.0]
- exposure [default: 50000]
- exposure_auto [default: Continuous]
- exposure_auto_alg [default: FitRange]
- exposure_auto_tol [default: 5]
- exposure_auto_max [default: 50000]
- exposure_auto_min [default: 50000]
- exposure_auto_outliers [default: 50000]
- exposure_auto_rate [default: 50000]
- exposure_auto_target [default: 50000]
- gain [default: 0]
- gain_auto [default: Continuous]
- gain_auto_adjust_tol [default: 5]
- gain_auto_max [default: 32]
- gain_auto_min [default: 0]
- gain_auto_outliers [default: 0]
- gain_auto_rate [default: 50]
- gain_auto_target [default: 50]
- balance_ratio_abs [default: 1.0]
- balance_ratio_selector [default: Red]
- whitebalance_auto [default: Continuous]
- whitebalance_auto_tol [default: 5]
- whitebalance_auto_rate [default: 100]
- binning_x [default: 1]
- binning_y [default: 1]
- decimation_x [default: 1]
- decimation_y [default: 1]
- width [default: 1920]
- height [default: 1440]
- offset_x [default: 0]
- offset_y [default: 0]
- pixel_format [default: BayerRG8]
- stream_bytes_per_second [default: 45000000]
- ptp_mode [default: Off]
- sync_in_selector [default: SyncIn1]
- sync_out_polarity [default: Normal]
- sync_out_selector [default: SyncOut1]
- sync_out_source [default: GPO]
- line_selector [default: Line0]
- line_mode [default: Input]
- iris_auto_target [default: 50]
- iris_mode [default: Continuous]
- iris_video_level_min [default: 110]
- iris_video_level_max [default: 110]
- launch/mono_camera.launch
-
- name [default: camera] — The name of the camera
- ip [default: ] — The IP for the camera to connect to
- guid [default: ] — The GUID for the camera to connect to
- frame_id [default: $(arg name)] — The frame id of the camera
- use_measurement_time [default: false] — Use the measurement time from the camera
- ptp_offset [default: -37] — Offset to add to the timestamp from the camera (s). Useful for converting from TAI to UTC time. Only applies if use_measurement_time is true
- camera_info_url [default: file://$(find avt_vimba_camera)/calibrations/calibration_example.yaml]
- print_all_features [default: false] — Show all camera features on the console during startup
- image_proc [default: false] — Launch image_proc with driver
- acquisition_mode [default: Continuous]
- acquisition_rate [default: 10]
- acquisition_rate_enable [default: False]
- trigger_source [default: FixedRate]
- trigger_mode [default: On]
- trigger_selector [default: FrameStart]
- trigger_activation [default: RisingEdge]
- trigger_delay [default: 0.0]
- exposure [default: 50000]
- exposure_auto [default: Continuous]
- exposure_auto_alg [default: FitRange]
- exposure_auto_tol [default: 5]
- exposure_auto_max [default: 50000]
- exposure_auto_min [default: 50000]
- exposure_auto_outliers [default: 50000]
- exposure_auto_rate [default: 50000]
- exposure_auto_target [default: 50000]
- gain [default: 0]
- gain_auto [default: Continuous]
- gain_auto_adjust_tol [default: 5]
- gain_auto_max [default: 32]
- gain_auto_min [default: 0]
- gain_auto_outliers [default: 0]
- gain_auto_rate [default: 50]
- gain_auto_target [default: 50]
- balance_ratio_abs [default: 1.0]
- balance_ratio_selector [default: Red]
- whitebalance_auto [default: Continuous]
- whitebalance_auto_tol [default: 5]
- whitebalance_auto_rate [default: 100]
- binning_x [default: 1]
- binning_y [default: 1]
- decimation_x [default: 1]
- decimation_y [default: 1]
- width [default: 1920]
- height [default: 1440]
- offset_x [default: 0]
- offset_y [default: 0]
- pixel_format [default: BayerRG8]
- stream_bytes_per_second [default: 45000000]
- ptp_mode [default: Off]
- sync_in_selector [default: SyncIn1]
- sync_out_polarity [default: Normal]
- sync_out_selector [default: SyncOut1]
- sync_out_source [default: GPO]
- line_selector [default: Line0]
- line_mode [default: Input]
- iris_auto_target [default: 50]
- iris_mode [default: Continuous]
- iris_video_level_min [default: 110]
- iris_video_level_max [default: 110]