安装
确定设备可连接
- 1 安装sdk:
- 2 配置ip:
ifconfig xxx 169.254.67.yyy
xxx
为网卡名,169.254.67.yyy
为ip。(ip必须为这个域下)(或在/etc/network/interfaces
中配置)
- 3 使用spinview查看:
sudo spinview
接入到ros
- 1 安装依赖:
sudo apt install libunwind-dev ros-${ROS_DISTRO}-cv-bridge ros-${ROS_DISTRO}-image-transport
- 2 安装spinnaker驱动:
mkdir -p ~/spinnaker_ws/src
cd spinnaker_ws/src
git clone https://github.com/neufieldrobotics/spinnaker_sdk_camera_driver.git
cd ~/spinnaker_ws/
catkin_make
source ~/spinnaker_ws/devel/setup.bash
-
3 配置,修改
./params/test_params.yaml
中的cam_ids
和master_cam
匹配对应的相机sn(贴在相机上的)。 -
4 运行:
roslaunch spinnaker_sdk_camera_driver acquisition.launch
- 5 查看:
rqt_image_view
显示为黑白,可以通过
acquisition.launch
(优先级更高)或test_params.yaml
文件中修改color
属性,更改为彩色。
示例(python)
示例程序:spinnaker_python-2.0.0.109-Ubuntu18.04-cp36-cp36m-linux_x86_64/Examples/Python3/AcquireAndDisplay.py
错误处理
Camera not detected
:
frame id was zero
:
目前只找到注释camera.cpp
第59行(master分支)的临时方法。(或设置为==1
,因为输出发现该值为1)
NEW_BUFFER_DATA
:
增大UDP缓存区(25Mb)。解决方案
sudo sysctl -w net.core.rmem_max=26214400
sudo sysctl -w net.core.rmem_default=26214400
将acquisition.launch
中的binning
参数设置为2或4(有时只允许设置为2),降低分辨率可以保持一定稳定。全彩高分辨率问题(供电问题?)
图像上下翻转
:
在切换到spinnaker sdk 2.0以后,图像不再颠倒。
切换到dev
分支,在params/test_params.yaml
中flip_horizontal
和flip_vertical
,并设置为true
。image flip