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