最近由于科研的需要,需要在Ubuntu 16.04(ROS)同時使用兩個D435i相機,并使其各自發布各自的話題資訊,供我不同演算法的需要,
但是在網上找遍了也沒有找到類似的教程,于是去了Intel官網去找找有沒有解決辦法,找到了一篇同時使用兩個D400的教程,但是沒有D435i的,
https://www.intelrealsense.com/how-to-multiple-camera-setup-with-ros/
所以只能自己摸索著去嘗試了,現在我把兩個D435i相機都接進Ubuntu系統里(均使用USB3.0介面),但是直接在終端上運行打開相機的指令:
roslaunch realsense2_camera rs_rgbd.launch
默認只會使用兩個中的一個,在ROS中發布的話題也只有一個相機的話題資訊,如下:

同時使用兩個D435i相機并發布各自對應的話題:
第一步:查看相機的序列號
查看兩個相機各自的serial number:
方法1:從各自的D435i盒子或相機機身上可以找到序列號,
方法2:通過運行相機來獲取序列號,
1.1 查看第一個相機的序列號:
打開第一個終端,插入第一個相機,運行以下指令:
roslaunch realsense2_camera rs_rgbd.launch

圖中所示serial number為843112070288,記錄下這個number,
1.2 查看第二個相機的序列號:
把第一個終端ctrl c 掉,拔出第一個相機,插入第二個相機,重新打開另一個終端,再次輸入指令:
roslaunch realsense2_camera rs_rgbd.launch

從圖中可以看出,第二個相機的number為943222073327
記錄好這個號碼,
第二步:啟動D435i相機
此時,將兩個D435i相機都插到電腦上,注意:使用的USB線以及電腦的USB口都必須保證是USB 3.0,否則會出問題,
2.1 啟動第一個相機
首先,打開一個終端,運行以下指令:
roslaunch realsense2_camera rs_rgbd.launch camera:=cam_1 serial_no:=843112070288
注意:camera = cam_1代表我將要啟動第一個相機,且發布的話題以cam_1開頭,最后面這串數字843112070288為我的第一個相機的serial number,即第一步中記錄的第一個相機的號碼,你在配置時要換成你自己對應的相機的號碼,
運行完之后就已經啟動了第一個D435i相機,
2.2 啟動第二個相機
再另外打開一個終端,運行以下指令:
roslaunch realsense2_camera rs_rgbd.launch camera:=cam_2 serial_no:=943222073327
運行完之后就啟動了第二個D435i相機,
此時兩個相機已經同時運行在我們的ROS里面了,我們來查看一下此時的ROS上的話題發布情況:
重新打開一個終端,輸入以下指令:
rostopic list


此時我們可以看到,發布的話題中分為cam_1和cam_2兩種話題,我們就可以分別根據自己的需求進行訂閱了,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/92209.html
標籤:其他
