安装
确定设备可连接
- 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