??
一.ROS的安裝與配置
??ROS 是一個(gè)適用于機(jī)器人編程的框架,具有分布式、點(diǎn)對點(diǎn),支持多種語言,組件化工具包
豐富,免費(fèi)且開源的特點(diǎn),這個(gè)框架把原本松散的零部件耦合在了一起,為他們提供了通信架構(gòu)。
ROS 雖然叫做操作系統(tǒng),但并非 Windows、Mac 那樣通常意義的操作系統(tǒng),它只是連接了操作系
統(tǒng)和開發(fā)的 ROS 應(yīng)用程序,所以它也算是一個(gè)中間件,基于 ROS 的應(yīng)用程序之間建立起了溝通
的橋梁,所以也是運(yùn)行在 Linux 上的運(yùn)行時(shí)環(huán)境,在這個(gè)環(huán)境上,機(jī)器人的感知、決策、控制
算法可以更好的組織和運(yùn)行。
??首先打開虛擬機(jī),筆者使用的為18.04版本的桌面版。
1.添加 ROS 軟件源,將下列命令輸入到 Ubuntu 的終端執(zhí)行
sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.ustc.edu.cn/ros/ubuntu/ $DISTRIB_CODENAME main" > /etc/apt/sources.list.d/ros-latest.list'
2.添加密鑰,將下列命令輸入到 Ubuntu 的終端執(zhí)行
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
成功后顯示如下界面
3.安裝desktop-full
sudo apt-get update
sudo apt-get install ros-melodic-desktop-full
4.初始化rostep
sudo rosdep init
rosdep update
如若出現(xiàn)找不到命令,則輸入下列命令后再次輸入上述兩個(gè)命令
sudo apt-get install python-rosdep
5.設(shè)置環(huán)境變量
echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
source ~/.bashrc
6.安裝rosinstall
sudo apt install python-rosinstall python-rosinstall-generator python-wstool build-essential
7.驗(yàn)證ROS安裝成功與否
打開兩個(gè)終端,分別輸入以下命令
roscore
啟動(dòng)小海龜仿真器
按 ctrl+alt+t 打開一個(gè)新的終端,輸入以下命令
rosrun turtlesim turtlesim_node
出現(xiàn)小烏龜圖像后,證明安裝ROS完成。
二、使用Rviz顯示攝像頭視頻
1、配置攝像頭
①首先USB選擇3.1(此處筆者選擇的3.1,若為3.0選3.0版本即可)
②連接主機(jī)攝像頭
③用cheese命令檢查攝像頭的使用。輸入cheese后攝像頭將自動(dòng)打開,出現(xiàn)如圖所示的畫面。
2、相關(guān)功能包的下載
①uvc camera
輸入以下命令:
sudo apt-get install ros-melodic-uvc-camera
②image
輸入以下命令:
sudo apt-get install ros-melodic-image-*
sudo apt-get install ros-melodic-rqt-image-view
下載完畢后如圖所示:
3、使用Rviz顯示攝像頭視頻
①啟動(dòng)ROS
roscore
②再打開一個(gè)終端,運(yùn)行camera節(jié)點(diǎn)
rosrun uvc_camera uvc_camera_node
③再打開一個(gè)終端,查看消息話題
rostopic list
④打印相機(jī)信息
rostopic echo /camera_info
⑤打開Rviz配置攝像頭
輸入rviz即可打開攝像頭
注意:要先運(yùn)行roscore,不然會出現(xiàn)無法連接master的錯(cuò)誤:could not contact ROS master…
且不要關(guān)閉之前的終端
然后我們需要添加image。點(diǎn)擊add,選中image,點(diǎn)擊OK以后,配置Image Topic為 /image_raw,然后看見攝像頭里的畫面啦
⑥至此成功完成該步驟,接下來我們就可以開始攝像頭的標(biāo)定啦。
三、攝像頭標(biāo)定
1.安裝usb_cam功能包
sudo apt-get install ros-melodic-usb-cam
2.啟動(dòng)攝像頭
roslaunch usb_cam usb_cam-test.launch
3.安裝攝像頭標(biāo)定功能包c(diǎn)amera_calibration
sudo apt-get install ros-melodic-camera-calibration
4.相機(jī)標(biāo)定
rosrun camera_calibration cameracalibrator.py --size 8x6 --square 0.024 image:=/usb_cam/image_raw camera:=/usb_cam
參數(shù)含義:
1)size:標(biāo)定棋盤格內(nèi)部角點(diǎn)個(gè)數(shù),這里使用的棋盤一共有6行,每行有8個(gè)內(nèi)部角點(diǎn)。
2)square:這個(gè)參數(shù)對應(yīng)每個(gè)棋盤格的邊長,單位是米
3)image和camera:設(shè)置攝像頭發(fā)布的圖像話題
我們只需要根據(jù)使用的攝像頭和標(biāo)定靶棋盤格尺寸,相應(yīng)修改以上參數(shù),即可啟動(dòng)標(biāo)定程序。
5.下載標(biāo)定靶
可以將圖片打印在A4紙上進(jìn)行標(biāo)定,也可以用平板打開圖片進(jìn)行標(biāo)定。
6.標(biāo)定說明
標(biāo)定程序啟動(dòng)成功后,將標(biāo)定靶放置在攝像頭視野范圍內(nèi),如下圖所示:
- 注意:在沒有標(biāo)定成功前,右邊的按鈕都為灰色,不能點(diǎn)擊。為了提高標(biāo)定的準(zhǔn)確性,應(yīng)該盡量讓標(biāo)定靶出現(xiàn)在攝像頭視野范圍內(nèi)的各個(gè)區(qū)域,界面右上角的進(jìn)度條會提示標(biāo)定進(jìn)度。
對應(yīng)參數(shù)
1 ) X:標(biāo)定靶在攝像頭視野中的左右移動(dòng)。
2) Y:標(biāo)定靶在攝像頭視野中的上下移動(dòng)。
3) Size:標(biāo)定靶在攝像頭視野中的前后移動(dòng)。
4)Skew:標(biāo)定靶在攝像頭視野中的傾斜轉(zhuǎn)動(dòng)。
不斷在視野中移動(dòng)標(biāo)定靶,直到“CALIBRATE"按鈕變色,按鈕變色代表標(biāo)定程序的參數(shù)采集完成。然后點(diǎn)擊“CALIBRATE"按鈕,標(biāo)定程序開始自動(dòng)計(jì)算攝像頭的標(biāo)定參數(shù),這個(gè)過程需要等待一段時(shí)間, 界面可能會變成灰色無響應(yīng)狀態(tài), 注意千萬不要將其關(guān)閉了。
7.標(biāo)定完成
標(biāo)定完成后,終端會有標(biāo)定結(jié)果的顯示,點(diǎn)擊save后即可保存,標(biāo)定參數(shù)將保存到默認(rèn)的文件夾下,并在終端看到該路徑,點(diǎn)擊“COMMIT"按鈕, 提交數(shù)據(jù)并退出程序,至此標(biāo)定過程全部完成。
四.總結(jié)
??至此我們便完成了搭建和配置ROS環(huán)境,使用Rviz完成攝像頭(camera)的視頻采集,攝像頭的標(biāo)定的任務(wù)。對于ROS系統(tǒng)我們還有很多可以探索,這只是其中極小的一部分,對于視覺的探究遠(yuǎn)遠(yuǎn)不應(yīng)停止與此,有興趣的讀者還可以嘗試下載數(shù)據(jù)集進(jìn)行運(yùn)行,體驗(yàn)視覺的獨(dú)特之處。
??通過本次實(shí)驗(yàn)讓筆者也頗有收獲,同時(shí)若有錯(cuò)誤歡迎大家積極指正交流,謝謝~文章來源:http://www.zghlxwxcb.cn/news/detail-410260.html
參考
1.Ubuntu18.04下USB攝像頭運(yùn)行和標(biāo)定
2.ROS下Rviz的攝像頭視頻采集和標(biāo)定文章來源地址http://www.zghlxwxcb.cn/news/detail-410260.html
到了這里,關(guān)于ROS安裝與Rviz的攝像頭視頻采集與標(biāo)定的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!