在電腦上,我們最常用的接口之一,應(yīng)該就是USB了,相比之前講到的外設(shè)通信方法,USB更加復(fù)雜,速度也更快。
USB通信原理
USB不僅是我們生活中最常用的一種接口,也是一種串行總線的通訊方式。他類似于UART,有兩根線用來傳輸數(shù)據(jù)。
而且USB還有專門的接口規(guī)范,比如我們常聽說的USB Type A、Type C。例如這里列出來的USB口,打印機常用的B口,手機上用的C口,都是標(biāo)準(zhǔn)的USB接口。
USB的接口規(guī)范,使用廣泛,很多成熟的外設(shè)都是采用的USB接口。
攝像頭驅(qū)動
比如USB攝像頭。
硬件接線
這里我們使用一個USB攝像頭,通過一個相機驅(qū)動把它跑起來,并且可以看到圖像數(shù)據(jù)。
方法有很多中,TogetherROS?·Bot兼容ROS2的所有功能,那我們就先試試ROS2中的標(biāo)準(zhǔn)方法,在旭日X3PI上直接安裝一個usb_cam功能包。
ROS2相機驅(qū)動
安裝與配置
首先安裝ROS2的相機驅(qū)動包:
# 安裝功能包
$ sudo apt install ros-foxy-usb-cam
安裝好之后,為了讓系統(tǒng)能夠找到該功能包,需要進入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
運行相機驅(qū)動
我們來試一試。
$ ros2 launch usb_cam demo_launch.py #啟動相機,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攝像頭。
-
機器人
+關(guān)注
關(guān)注
211文章
28704瀏覽量
208686 -
usb
+關(guān)注
關(guān)注
60文章
7990瀏覽量
266285 -
通信
+關(guān)注
關(guān)注
18文章
6077瀏覽量
136487 -
驅(qū)動
+關(guān)注
關(guān)注
12文章
1853瀏覽量
85691 -
相機
+關(guān)注
關(guān)注
4文章
1369瀏覽量
53960
發(fā)布評論請先 登錄
相關(guān)推薦
系統(tǒng)鏡像Ubuntu_ROS2中ROS2是什么意思,帶有ROS2開發(fā)環(huán)境嗎?
如何在ROS2中運行小烏龜呢
RT-Thread實時操作系統(tǒng)與ROS2是怎樣進行通信的
基于無線wifi網(wǎng)絡(luò)的X3派和PC虛擬機通過ROS2實現(xiàn)跨設(shè)備通信
【昉·星光 2 高性能RISC-V單板計算機體驗】四:在 VisionFive2 上安裝 ROS2 humble
【昉·星光 2 高性能RISC-V單板計算機體驗】五:在 VisionFive2 上體驗 ROS2 humble
Linux嵌入式開發(fā)筆記(六)在ROS2中運行小烏龜實例
![Linux嵌入式開發(fā)筆記(六)在<b class='flag-5'>ROS2</b>中運行小烏龜實例](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
Window10怎么安裝ROS2
![Window10怎么<b class='flag-5'>安裝</b><b class='flag-5'>ROS2</b>](https://file.elecfans.com/web2/M00/93/81/pYYBAGP1ebSAXpMQAAAYdqAW04Y871.jpg)
ROS1的通信架構(gòu)的基礎(chǔ)通信方式及相關(guān)概念
![<b class='flag-5'>ROS</b>1的<b class='flag-5'>通信</b>架構(gòu)的基礎(chǔ)<b class='flag-5'>通信</b>方式及相關(guān)概念](https://file1.elecfans.com/web2/M00/88/79/wKgZomRnP6KAamVMAAE2lkIsWcE194.jpg)
DDS在ROS2中的應(yīng)用
![DDS在<b class='flag-5'>ROS2</b>中的應(yīng)用](https://file1.elecfans.com/web2/M00/B0/DD/wKgaomVgciGAOsm1AAD4w8Mgc5M171.jpg)
ros1和ros2的通信模型
![<b class='flag-5'>ros</b>1和<b class='flag-5'>ros2</b>的<b class='flag-5'>通信</b>模型](https://file1.elecfans.com/web2/M00/B1/5F/wKgaomVkCzqAAIPEAACmpsQgdgo604.jpg)
在TogetherROS中如何安裝ROS2功能包
![在TogetherROS中如何<b class='flag-5'>安裝</b><b class='flag-5'>ROS2</b>功能包](https://file1.elecfans.com/web2/M00/B3/F9/wKgZomVpj5WACHnRAAY288PAUoU611.jpg)
評論