1.安装usb功能驱动包
$ sudo apt - get install ros - noetic- usb - camera*
2.安装image相关功能包
sudo apt - get install ros - noetic - image -*
sudo apt - get install ros - noetic - rqt - image - view
3.下载gib软件包
cd catkin_ws/src
git clone https://github.com/bosch-ros-pkg/usb_cam.git
cd ..
catkin_make
4.
确定自己的摄像头id
cd /dev &&find . -name "video*"
5.修改launch
修改usb_cam-test.launch中id
6.运行launch
roslaunch usb_cam usb_cam-test.launch
7.修改master id
在.bashrc中追加:
export ROS_MASTER_URI=http://192.168.0.104:11311(ros master ip)
export ROS_HOSTNAME=192.168.0.104(本机ip)
=两边不能有空格
使用ifconfig查看ip
8.主机运行roscore
先关闭上述测试的终端,重开终端,运行roscore。然后运行usbcamlauch;
roslaunch usb_cam usb_cam-test.launch
9.远端测试
远端pc在.bashrc中追加
export ROS_MASTER_URI=http://192.168.0.104:11311(ros master ip)
export ROS_HOSTNAME=192.168.0.100(本机ip)
重开终端,不要运行roscore。然后打开rviz追加image模块监听master上的话题即可实现远程监控的功能;
标定
1.安装标定功能包
sudo apt-get install ros-noetic-camera-calibration
2.打开usb相机运行相机节点
roslaunch usb_cam usb_cam-test.launch
3.查询相机信息:
rostopic echo /usb_cam/camera_info
可以看到相机内外参都没有,说明没有标定;
4.准备标定板
准备8x6国际象棋棋盘,下载地址:http://wiki.ros.org/camera_calibration/Tutorials/MonocularCalibration?action=AttachFile&do=vie
w&target=check-108.pdf
5.调用校准个功能包:
rosrun camera_calibration cameracalibrator.py --size 8x6 --square 0.024 image:=/usb_cam/image_raw camera:=/usb_cam
出现如下GUI,此时,如果画面中出现棋盘,校准将立即开始。在GUI屏幕的右侧,可以看到一个标有X、Y、Size和Skew的条形控件。这是校准的进展状态,都以绿色填满意味着校准完成。在校准过程中需要将棋盘对着相机朝着左/右/上/下/前/后移动,还需要倾斜棋盘。
进度条都绿色了之后点击calibrate,会卡顿一会儿,然后“save”和commit就都可以点了,分别可以实现保存和提交,值得一体的是在点击提交后会自动将标定结果保存之系统目录:下次再启动相机,自动加载标定参数。