在電腦上,我們最常用的接口之一,應(yīng)該就是USB了,相比之前講到的外設(shè)通信方法,USB更加復(fù)雜,速度也更快。
USB通信原理
USB不僅是我們生活中最常用的一種接口,也是一種串行總線的通訊方式。他類似于UART,有兩根線用來(lái)傳輸數(shù)據(jù)。
而且USB還有專門(mén)的接口規(guī)范,比如我們常聽(tīng)說(shuō)的USB Type A、Type C。例如這里列出來(lái)的USB口,打印機(jī)常用的B口,手機(jī)上用的C口,都是標(biāo)準(zhǔn)的USB接口。
USB的接口規(guī)范,使用廣泛,很多成熟的外設(shè)都是采用的USB接口。
攝像頭驅(qū)動(dòng)
比如USB攝像頭。
硬件接線
這里我們使用一個(gè)USB攝像頭,通過(guò)一個(gè)相機(jī)驅(qū)動(dòng)把它跑起來(lái),并且可以看到圖像數(shù)據(jù)。
方法有很多中,TogetherROS?·Bot兼容ROS2的所有功能,那我們就先試試ROS2中的標(biāo)準(zhǔn)方法,在旭日X3PI上直接安裝一個(gè)usb_cam功能包。
ROS2相機(jī)驅(qū)動(dòng)
安裝與配置
首先安裝ROS2的相機(jī)驅(qū)動(dòng)包:
# 安裝功能包
$ sudo apt install ros-foxy-usb-cam
安裝好之后,為了讓系統(tǒng)能夠找到該功能包,需要進(jìn)入tros的目錄,建立對(duì)應(yīng)的軟連接。
# 建立軟連接
$ cd /opt/tros
$ sudo python3 create_soft_link.py --foxy /opt/ros/foxy/ --tros /opt/tros/
因?yàn)樾袢誜3Pi可以連接csi攝像頭,設(shè)備名占用了video0-7,所以外接的USB攝像頭會(huì)被自動(dòng)分配到video8,我們需要在ROS2的功能包中修改一下設(shè)備號(hào)。
# 修改配置文件
$ cd /opt/tros/share/usb_cam/config
$ sudo vim params.yaml
然后給這個(gè)設(shè)備添加權(quán)限,最后再設(shè)置TogetherROS?·Bot的環(huán)境變量就可以使用啦。
# 添加可執(zhí)行權(quán)限
$ sudo chmod 777 /dev/video8
# 添加環(huán)境變量
$ source /opt/tros/local_setup.bash
運(yùn)行相機(jī)驅(qū)動(dòng)
我們來(lái)試一試。
$ ros2 launch usb_cam demo_launch.py #啟動(dòng)相機(jī),X3Pi
$ ros2 run rqt_image_view rqt_image_view #查看圖像,PC
這里直接在X3Pi中啟動(dòng)usb_cam的launch文件,然后再啟動(dòng)一個(gè)能和他通信的Ubuntu桌面系統(tǒng),打開(kāi)rqt_image_view,選擇對(duì)應(yīng)的話題,就可以看到圖像了。也就是說(shuō)明我們成功的用TROS驅(qū)動(dòng)了這個(gè)USB攝像頭。
-
機(jī)器人
+關(guān)注
關(guān)注
210文章
27996瀏覽量
205557 -
usb
+關(guān)注
關(guān)注
60文章
7850瀏覽量
263321 -
通信
+關(guān)注
關(guān)注
18文章
5926瀏覽量
135705 -
驅(qū)動(dòng)
+關(guān)注
關(guān)注
12文章
1813瀏覽量
85050 -
相機(jī)
+關(guān)注
關(guān)注
4文章
1318瀏覽量
53374
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論