在電腦上,我們最常用的接口之一,應(yīng)該就是USB了,相比之前講到的外設(shè)通信方法,USB更加復(fù)雜,速度也更快。
USB通信原理
USB不僅是我們生活中最常用的一種接口,也是一種串行總線的通訊方式。他類似于UART,有兩根線用來傳輸數(shù)據(jù)。
而且USB還有專門的接口規(guī)范,比如我們常聽說的USB Type A、Type C。例如這里列出來的USB口,打印機(jī)常用的B口,手機(jī)上用的C口,都是標(biāo)準(zhǔn)的USB接口。
USB的接口規(guī)范,使用廣泛,很多成熟的外設(shè)都是采用的USB接口。
攝像頭驅(qū)動
比如USB攝像頭。
硬件接線
這里我們使用一個USB攝像頭,通過一個相機(jī)驅(qū)動把它跑起來,并且可以看到圖像數(shù)據(jù)。
方法有很多中,TogetherROS?·Bot兼容ROS2的所有功能,那我們就先試試ROS2中的標(biāo)準(zhǔn)方法,在旭日X3PI上直接安裝一個usb_cam功能包。
ROS2相機(jī)驅(qū)動
安裝與配置
首先安裝ROS2的相機(jī)驅(qū)動包:
# 安裝功能包
$ sudo apt install ros-foxy-usb-cam
安裝好之后,為了讓系統(tǒng)能夠找到該功能包,需要進(jìn)入tros的目錄,建立對應(yīng)的軟連接。
# 建立軟連接
$ cd /opt/tros
$ sudo python3 create_soft_link.py --foxy /opt/ros/foxy/ --tros /opt/tros/
因為旭日X3Pi可以連接csi攝像頭,設(shè)備名占用了video0-7,所以外接的USB攝像頭會被自動分配到video8,我們需要在ROS2的功能包中修改一下設(shè)備號。
# 修改配置文件
$ cd /opt/tros/share/usb_cam/config
$ sudo vim params.yaml

然后給這個設(shè)備添加權(quán)限,最后再設(shè)置TogetherROS?·Bot的環(huán)境變量就可以使用啦。
# 添加可執(zhí)行權(quán)限
$ sudo chmod 777 /dev/video8
# 添加環(huán)境變量
$ source /opt/tros/local_setup.bash
運行相機(jī)驅(qū)動
我們來試一試。
$ ros2 launch usb_cam demo_launch.py #啟動相機(jī),X3Pi
$ ros2 run rqt_image_view rqt_image_view #查看圖像,PC
這里直接在X3Pi中啟動usb_cam的launch文件,然后再啟動一個能和他通信的Ubuntu桌面系統(tǒng),打開rqt_image_view,選擇對應(yīng)的話題,就可以看到圖像了。也就是說明我們成功的用TROS驅(qū)動了這個USB攝像頭。

-
機(jī)器人
+關(guān)注
關(guān)注
213文章
30907瀏覽量
221185 -
usb
+關(guān)注
關(guān)注
60文章
8413瀏覽量
282977 -
通信
+關(guān)注
關(guān)注
18文章
6364瀏覽量
139851 -
驅(qū)動
+關(guān)注
關(guān)注
12文章
1939瀏覽量
88402 -
相機(jī)
+關(guān)注
關(guān)注
5文章
1566瀏覽量
55545
發(fā)布評論請先 登錄
系統(tǒng)鏡像Ubuntu_ROS2中ROS2是什么意思,帶有ROS2開發(fā)環(huán)境嗎?
如何在ROS2中運行小烏龜呢
基于無線wifi網(wǎng)絡(luò)的X3派和PC虛擬機(jī)通過ROS2實現(xiàn)跨設(shè)備通信
【昉·星光 2 高性能RISC-V單板計算機(jī)體驗】四:在 VisionFive2 上安裝 ROS2 humble
【昉·星光 2 高性能RISC-V單板計算機(jī)體驗】五:在 VisionFive2 上體驗 ROS2 humble
Linux嵌入式開發(fā)筆記(六)在ROS2中運行小烏龜實例
Window10怎么安裝ROS2
DDS在ROS2中的應(yīng)用
在TogetherROS中如何安裝ROS2功能包
創(chuàng)龍 瑞芯微 RK3588 國產(chǎn)2.4GHz八核 工業(yè)開發(fā)板—ROS2系統(tǒng)使用說明
USB通信原理以及ROS2相機(jī)驅(qū)動安裝
評論