Show EOL distros: 

Package Summary

Node for the SP1 Stereo Vision System by Nerian Vision Technologies

  • Maintainer status: developed
  • Maintainer: Konstantin Schauwecker <konstantin.schauwecker AT nerian DOT com>
  • Author: Nerian Vision Technologies <service AT nerian DOT com>
  • License: MIT
  • Source: git https://github.com/nerian-vision/nerian_sp1.git (branch: master)

Package Summary

Node for the SP1 Stereo Vision System by Nerian Vision Technologies

  • Maintainer status: developed
  • Maintainer: Konstantin Schauwecker <konstantin.schauwecker AT nerian DOT com>
  • Author: Nerian Vision Technologies <service AT nerian DOT com>
  • License: MIT
  • Source: git https://github.com/nerian-vision/nerian_sp1.git (branch: master)

Package Summary

Node for the SP1 Stereo Vision System by Nerian Vision Technologies

  • Maintainer status: developed
  • Maintainer: Konstantin Schauwecker <konstantin.schauwecker AT nerian DOT com>
  • Author: Nerian Vision Technologies <service AT nerian DOT com>
  • License: MIT
  • Source: git https://github.com/nerian-vision/nerian_sp1.git (branch: master)

Package Summary

Node for the SP1 Stereo Vision System by Nerian Vision Technologies

  • Maintainer status: end-of-life (Package has been replaced by nerian_stereo)
  • Maintainer: Konstantin Schauwecker <konstantin.schauwecker AT nerian DOT com>
  • Author: Nerian Vision Technologies <service AT nerian DOT com>
  • License: MIT
  • Source: git https://github.com/nerian-vision/nerian_sp1.git (branch: master)

Package Summary

Node for the SP1 Stereo Vision System by Nerian Vision Technologies

  • Maintainer status: end-of-life (Package has been replaced by nerian_stereo)
  • Maintainer: Konstantin Schauwecker <konstantin.schauwecker AT nerian DOT com>
  • Author: Nerian Vision Technologies <service AT nerian DOT com>
  • License: MIT
  • Source: git https://github.com/nerian-vision/nerian_sp1.git (branch: master)


Please note: This package has been superseeded by nerian_stereo


Introduction

The SP1 stereo vision sensor by Nerian Vision Technologies is a stand-alone processing system for performing stereo matching in real time. It is connected to two industrial USB cameras that provide input image data. The SP1 correlates the images of both cameras and produces a disparity map, which is transmitted through gigabit ethernet. The disparity map describes a mapping of image points from the left camera image to corresponding image points in the right camera image. With this information it is possible to reconstruct the 3D location of the corresponding scene points.

Installation

On Ubuntu Linux, please use the following commands to install the official package for your current ROS version.

sudo apt-get update
sudo apt-get install ros-`rosversion -d`-nerian-sp1

Should there not be an appropriate package for your system and ROS version, please checkout the git repository and compile the code using catkin.

ROS Node

The data delivered by the SP1 can be received using the available open source API. Using the API directly is recommended for high performance applications. Alternatively the nerian_sp1 ROS node can be used for publishing the received data as ROS messages.

https://nerian.com/blog/articles/images/sp1-ros.jpg

Published Topics

The node can publish the received data through three different topics:

/nerian_sp1/point_cloud (sensor_msgs/PointCloud2)

  • A point cloud, which is obtained by reconstructing the 3D location of each pixel in the disparity map. Optionally, the point cloud can include an intensity channel, which contains intensity data from the left rectified camera image.
/nerian_sp1/disparity_map (sensor_msgs/Image)
  • The stereo disparity map that is computed by SP1. The disparity map is transmitted as an image message with mono16 encoding. Please note that the disparity map has a 4-bit subpixel resolution. This means that its values have to be divided by 16 in order to receive the true pixel disparity. Optionally, the disparity map can be color coded for visualization. In this case the encoding will be bgr8.
/nerian_sp1/left_image (sensor_msgs/Image)
  • The rectified image of the left camera with mono8 encoding, if the SP1 is configured in stereo matching or rectify mode. If the SP1 is configured in pass-through mode the unrectified left camera image will be published through this topic.
/nerian_sp1/right_image (sensor_msgs/Image)
  • If the SP1 is configured in pass-through or rectify mode, then the (un)rectified right camera image will be published through this topic in mono8 encoding
/nerian_sp1/stereo_camera_info (nerian_sp1/StereoCameraInfo)
  • Camera calibration information for both cameras.

Parameters

The behaviour of the node can be configured through various parameters. An example parameterization can be found in the included launch file nerian_sp1.launch. The following parameters are supported:

~point_cloud_intensity_channel (bool, default: "true")

  • If enabled, an intensity channel will be added to the point cloud.
~ros_coordinate_system (bool, default: "true")
  • If enabled, the typical ROS coordinate system is used, with the x-axis pointing forward, the y-axis pointing left and the z-axis pointing upwards. If disabled, the SP1's default coordinate system is used, with the x-axis pointing right, the y-axis pointing downwards, and the z-axis pointing forward.
~color_code_disparity_map (bool, default: "false")
  • If enabled, the disparity map will be color coded in a red/blue color scheme.
~color_code_legend (bool, default: "true")
  • If enabled, a legend will be added to the color coded disparity map.
~frame (string, default: "world")
  • ID of the frame that will be set for all transmitted messages.
~remote_host (string, default: "0.0.0.0")
  • Host name or IP address of the SP1, which is used for network communication. This parameter is only recessionary when using TCP as the underlying network protocol.
~remote_port (string, default: "7681")
  • Remote port number or service name that is used for network communicating with SP1. This parameter is only recessionary when using TCP as the underlying network protocol.
~local_host (string, default: "0.0.0.0")
  • Local interface address that is used for communication. If not specified, the default interface is used.
~local_port (string, default: "7681")
  • The local port that shall be used for network communication, provided as port number or as textual service name.
~use_tcp (bool, default: "false")
  • If enabled, TCP is used rather than UDP as underlying network protocol.
~calibration_file (string, default: "")
  • Location of a YAML-file containing camera calibration data. This file can be obtained from the SP1 web interface. An example calibration file is provided in the repository. If this parameter is omitted, the published camera calibration information only contains the q-Matrix.
~delay_execution (double, default: 0)
  • Allows the configuration of an initial delay in seconds when launching the node. This option can be used to delay the node launch while the calibration information is downloaded.
~max_depth (double, default: -1)
  • If set to a positive value, all points in the point cloud with a higher depth will be set to invalid.

Testing

The topics published by the nerian_sp1 node can be viewed with rviz. The disparity map can also be visualized with the image_view node. In this case color coding should be activated such that the disparity map can be displayed on a screen. In order to do so, please launch the image_view node as follows:

rosrun image_view image_view image:=/nerian_sp1/disparity_map

https://nerian.com/blog/articles/images/image_view.jpg

For displaying the left camera image, please run the image_view node with the following command line:

rosrun image_view image_view image:=/nerian_sp1/left_image

Further Information

http://c.statcounter.com/10599048/0/906ae443/1/

Wiki: nerian_sp1 (last edited 2017-10-04 18:59:05 by Konstantin Schauwecker)