-
 

avt_vimba_camera package from avt_vimba_camera repo

avt_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

Camera driver for Allied Vision Technologies (AVT) cameras, based on their Vimba SDK.

Additional Links

Maintainers

  • AutonomouStuff Software Team

Authors

  • Allied Vision Technologies
  • Miquel Massot
README
No README found. See repository README.
CHANGELOG
No CHANGELOG found.

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

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

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged avt_vimba_camera at Robotics Stack Exchange

avt_vimba_camera package from avt_vimba_camera repo

avt_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

Camera driver for Allied Vision Technologies (AVT) cameras, based on their Vimba SDK.

Additional Links

Maintainers

  • AutonomouStuff Software Team

Authors

  • Allied Vision Technologies
  • Miquel Massot
README
No README found. See repository README.
CHANGELOG
No CHANGELOG found.

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

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

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged avt_vimba_camera at Robotics Stack Exchange

avt_vimba_camera package from avt_vimba_camera repo

avt_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

Camera driver for Allied Vision Technologies (AVT) cameras, based on their Vimba SDK.

Additional Links

Maintainers

  • AutonomouStuff Software Team

Authors

  • Allied Vision Technologies
  • Miquel Massot
README
No README found. See repository README.
CHANGELOG
No CHANGELOG found.

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

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

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged avt_vimba_camera at Robotics Stack Exchange

avt_vimba_camera package from avt_vimba_camera repo

avt_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

Camera driver for Allied Vision Technologies (AVT) cameras, based on their Vimba SDK.

Additional Links

Maintainers

  • AutonomouStuff Software Team

Authors

  • Allied Vision Technologies
  • Miquel Massot
README
No README found. See repository README.
CHANGELOG
No CHANGELOG found.

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

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

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged avt_vimba_camera at Robotics Stack Exchange

avt_vimba_camera package from avt_vimba_camera repo

avt_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

Camera driver for Allied Vision Technologies (AVT) cameras, based on their Vimba SDK.

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

CHANGELOG

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

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

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

No message files found.

Services

No service files found

Plugins

Recent questions tagged avt_vimba_camera at Robotics Stack Exchange

avt_vimba_camera package from avt_vimba_camera repo

avt_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

Camera driver for Allied Vision Technologies (AVT) cameras, based on their Vimba SDK.

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

CHANGELOG

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

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

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

No message files found.

Services

No service files found

Plugins

Recent questions tagged avt_vimba_camera at Robotics Stack Exchange