Repository Summary

Checkout URI https://github.com/alliedvision/vimbax_ros2_driver.git
VCS Type git
VCS Version humble
Last Updated 2024-05-27
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)

Packages

README

Vimba X ROS 2 camera driver

Compability

  • ROS 2 humble
  • Nvidia Jetpack 5.x (arm64)
  • Ubuntu 22.04 (x86_64)
  • Allied Vision Alvium cameras
  • Tested ROS 2 RMW implementation: rmw_cyclone_dds

Prerequisites

Installation

Download the debian package from the release page and install it using the following command:

sudo apt install ros-humble-rmw-cyclonedds-cpp
sudo apt install ./ros-humble-vimbax-camera-driver.deb 

Getting started

Setup the ROS 2 environment:

source /opt/ros/humble/setup.bash

Change the the ROS 2 middleware to cyclonedds, because the default middleware is causing some issues. See known issuse for more details.:

source /opt/ros/humble/setup.bash
export RMW_IMPLEMENTATION=rmw_cyclonedds_cpp

To get maximum performance please also apply the settings described in DDS Tuning. Especially the settings for the Cyclone DDS section are important, because otherwise you might loose frames.

To start the Vimba X ROS 2 node run:

ros2 run vimbax_camera vimbax_camera_node

By default the Vimba X ROS 2 node will open the first available camera. If you want to open a specific camera, you can use camera_id parameter by adding --ros-args -p camera_id:=<camera to open>. The camera_id can be the device id, extended device id, serial number, ip address or mac address. The node will always open the camera in exclusive access mode. If no camera is available or the specified camera was opened by another application, the node startup fails and an error message is printed. The node will publish all topics and service under the namespace vimbax_camera_<pid>, where pid is the process id of the camera node process.

An example can be started by running:

ros2 run vimbax_camera_examples <example name> vimbax_camera_<pid>

The Vimba X ROS2 node must have been started before.

The following examples are available:

  • asynchronous_grab: Stream images from the camera node and print image info to console.
  • asynchronous_grab_performance: High performance streaming example.
  • asynchronous_grab_opencv: Stream images from the camera node and display them using opencv imshow.
  • event_viewer: Show GenICam events on the console.
  • feature_command_execute: How to run a command feature.
  • feature_get: How to get a feature value.
  • feature_info_get: How to get the type specific feature information.
  • feature_set: Change the value of a feature.
  • list_features: How to list all available features.
  • settings_load_save: Load or save the camera settings to an xml file.
  • status_get: How to use the status service to get the current camera status.
  • camera_connected: Reads if the camera is currently connected or not.
  • connection_observer: Periodically calls the connected service and prints a message if the connections status has changed.

Build Instructions

  1. Setup the ROS2 environment
    source /opt/ros/humble/setup.bash
    
  1. Initialize and update rosdep if not already done
    rosdep init
    rosdep update
    sudo apt-get update
    
  1. Create a workspace
    mkdir -p ~/ros2_ws/src
    cd ~/ros2_ws/src
    
  1. Clone this repository into the workspace
    git clone ...
    
  1. Install dependencies
    cd ~/ros2_ws/
    rosdep install --from-path src --ignore-src
    
  1. Run the build

```bash

File truncated at 100 lines see the full file

Repo symbol

vimbax_ros2_driver repository

Repo symbol

vimbax_ros2_driver repository

Repo symbol

vimbax_ros2_driver repository

Repo symbol

vimbax_ros2_driver repository

Repo symbol

vimbax_ros2_driver repository

Repo symbol

vimbax_ros2_driver repository

Repo symbol

vimbax_ros2_driver repository

Repo symbol

vimbax_ros2_driver repository

Repo symbol

vimbax_ros2_driver repository

Repo symbol

vimbax_ros2_driver repository

Repo symbol

vimbax_ros2_driver repository

Repo symbol

vimbax_ros2_driver repository

Repo symbol

vimbax_ros2_driver repository

Repo symbol

vimbax_ros2_driver repository

Repo symbol

vimbax_ros2_driver repository

Repo symbol

vimbax_ros2_driver repository

Repo symbol

vimbax_ros2_driver repository

Repo symbol

vimbax_ros2_driver repository