如何在Synaptics SL1680 Yocto使用Intel RealSense

因為工作需要在SL1680上使用深度攝像頭,因此選用RealSense D455深度攝像頭。而 Intel RealSense 深度攝像頭則提供了先進的 3D 感知和計算機視覺功能,適用於機器人、無人機及 3D 掃描等多種場景。RealSense能在Yocto上建置SDK,建置的過程中遇到USB相容問題,針對此問題找到解法,製作本篇博文分享給大家。


硬體與軟體準備

硬體:

  • Synaptics SL1680 開發板
  • Intel RealSense D455深度攝像頭(如 D435 或 D455型號)

軟體:

  • Synaptics SDK建置
  • Intel RealSense SDK(librealsense)


Yocto 編譯環境

當前使用Ubuntu 22.04版本,其他詳細系統建置及工具操作,參考官方github提供的網頁,其中1.4.0依據版本做調整,網址如下:

https://synaptics-astra.github.io/doc/v/1.4.0/linux/index.html

需要先安裝Docker:

sudo apt install docker.io
sudo adduser ${USER} docker
newgrp docker
newgrp ${USER}

 

建置docker環境,之後每次要編譯系統時,皆需要執行指令:

docker run --rm -it -v $(pwd):$(pwd) ghcr.io/synaptics-astra/crops:1.0.0 --workdir=$(pwd)

 

下載sdk,需要依照版本進行調整下載,更改v1.x.x即可,指令如下:

git clone -b v1.4.0 --recurse-submodules https://github.com/synaptics-astra/sdk


進入sdk並source環境

cd sdk
source meta-synaptics/setup/setup-environment


選擇開發板,本專案使用SL1680,開始編譯,指令如下:

bitbake astra-media

 

如果發生錯誤,重複使用bitbake astra-media指令,如果還無法持續編譯,需查看哪個軟體出問題,假設linux-syna出問題,範例如下:

bitbake -c cleansstate linux-syna
bitbake linux-syna
bitbake astra-media

 

編譯完成,檔案會在下方路徑

sdk/build-sl1680/tmp/deploy/images/sl1680/SYNAIMG

 

程式碼編譯需要開發SDK,用於在電腦開發端程式碼編譯使用,指令如下:

bitbake astra-media -c do_populate_sdk

 

Intel RealSense

Github上下載meta-intel-realsense版本需要選擇kirkstone,指令如下:

cd sdk
git clone https://github.com/IntelRealSense/meta-intel-realsense.git -b kirkstone

 

進入sdk/build-sl1680路徑找到conf/bblayers.conf,增加下面內容:

BBLAYERS += "path/to/meta-intel-realsense"

 

進入sdk/build-sl1680路徑找到conf/local.conf,增加下面內容:

IMAGE_INSTALL:append = " librealsense2 librealsense2-tools"

IMAGE_INSTALL:append = " librealsense2-examples librealsense2-debug-tools"

 

進入sdk/meta-intel-realsense/recipes-support/librealsense路徑,找到librealsense2_2.50.0.bb進入後,新增及修改下面地方:

PACKAGECONFIG[rsusb] = "-DFORCE_RSUSB_BACKEND:BOOL=ON,-DFORCE_RSUSB_BACKEND:BOOL=ON"
PACKAGECONFIG_pn-librealsense2 = "rsusb"

 

回到sdk/build-sl1680路徑,執行重新編譯:

bitbake -f linux-syna -c compile
bitbake linux-syna -c deploy
bitbake -f astra-media


燒錄至開發板後,將RealSense裝置接入USB3接口,進行指令測試:

adb shell
rs-enumerate-devices

 

執行成功會看到下面畫面:

小結

通過本文,我們展示了如何在 Synaptics SL1680 平台上使用 Yocto 集成 Intel RealSense 深度攝像頭。從硬體和軟體的準備、Yocto 環境配置,到內核調整及最終測試,我們逐步完成了開發環境的構建與驗證。希望這篇博文對你有所幫助,謝謝你的閱讀!。

 

參考

Yocto Layer for librealsense  https://github.com/IntelRealSense/meta-intel-realsense

 Synaptics Astra SDK Documentation  https://synaptics-astra.github.io/doc/

 

Q&A

Q1: SL1680 支援哪些 Intel RealSense 型號?

A1: 支援 D415、D435、L515 等,但需確保 USB 接口供電和內核驅動支持。

Q2: 如何確認 Intel RealSense 驅動是否正確安裝?

A2: 執行 rs-enumerate-devices,若顯示攝像頭信息,則驅動安裝成功。

Q3: 如何在 Yocto 中添加驅動?

A3: 編輯 local.conf 的 IMAGE_INSTALL:append 添加驅動包,或調整內核配置啟用對應模塊。

Q4: Intel RealSense SDK 支援哪些開發語言?

A4: 支援 C++、Python 等多種語言,適用於開發深度感知和點雲處理應用。

Q5: 如果內核升級,是否需要重新編譯 SDK?

A5: 是的,內核升級後可能需要重新編譯 librealsense 以適配新版本。

★博文內容均由個人提供,與平台無關,如有違法或侵權,請與網站管理員聯繫。

★文明上網,請理性發言。內容一周內被舉報5次,發文人進小黑屋喔~

參考來源

評論