RM新时代网站

Femto Bolt 故障排除

本文內容

● 已知問(wèn)題    

● 收集日志

● 設備未列在設備管理器中

● k4aviewer無(wú)法打開(kāi)相機

● 設備固件更新問(wèn)題

● 圖像質(zhì)量問(wèn)題

● 不一致或意外的時(shí)間戳

● 將人體跟蹤 SDK 與 Unreal 配合使用

● 在無(wú)外設 Linux 系統上使用 Femto Bolt

 本文包含在 Femto Bolt  中使用 Orbbec SDK K4A Wrapper 時(shí)可能會(huì )遇到的已知問(wèn)題及其故障排除提示。


已知問(wèn)題

● Linux平臺下,深度引擎庫需要使用OpenGL,如果應用層也使用OpenGL、且跨線(xiàn)程調用OpenGL實(shí)例,可能會(huì )造成上下文沖突,導致深度引擎在初始化時(shí)出現問(wèn)題,以及無(wú)法正常啟動(dòng)深度數據流。

如果應用層使用了OpenGL渲染,要在應用層參考OpenGL下面鏈接切換Context:

(https://www.khronos.org/opengl/wiki/OpenGL_and_multithreading)

以下是我們使用glfw庫的解決方法:

a. 在開(kāi)流之前,調用glfwMakeContextCurrent(NULL) 。

b. 然后再開(kāi)流。

c. 開(kāi)流結束后,調用glfwMakeContextCurrent(currentContext)。

// 參考github: file: tools/k4aviewer/k4adevicedockcontrol.cpp
GLFWwindow *currentContext = glfwGetCurrentContext(); // store the current context
glfwMakeContextCurrent(NULL);  // make current context to NULL
StartCameras(); //  will initialize the DepthEngine
glfwMakeContextCurrent(currentContext); // restore the current context

● 有關(guān)其他相關(guān)問(wèn)題,請查看 GitHub Issues


收集日志

Orbbec SDK K4A Wrapper 的日志由底層 Orbbec SDK 輸出,默認輸出到應用程序工作目錄下的 目錄下。日志以循環(huán)覆蓋的方式輸出到固定 4 個(gè)文件中,默認單個(gè)文件最大 100 MB。建議用戶(hù)反饋問(wèn)題時(shí)可以將日志文件一并打包發(fā)送。


設備未列在設備管理器中

● 請查看后面指示燈,如果閃橙黃色,表示供電不足,請用電源適配器供電再試,如果此時(shí)閃白燈,表示USB連接異常,請找其他原因。

● 檢查是否已連接電源線(xiàn)并使用 USB3 端口來(lái)傳輸數據。

● 嘗試改用 USB3 端口來(lái)建立數據連接(建議使用靠近主板的 USB 端口,例如,電腦背面的 USB 端口)。

● 檢查線(xiàn)纜的狀態(tài),受損或劣質(zhì)的線(xiàn)纜會(huì )導致列出的信息不可靠(設備在設備管理器中不斷“閃爍”)。

● 如果已連接到筆記本電腦并且該電腦以電池運行,則端口的電量可能會(huì )受到限制。

● 重新啟動(dòng)主機電腦。

● 如果問(wèn)題仍然存在,則可能是存在兼容性問(wèn)題。


k4aviewer 無(wú)法打開(kāi)相機

● 先檢查設備是否列在 Windows 設備管理器中。

image.png 

● 檢查是否有任何其他應用程序正在使用該設備(例如 Windows 相機應用程序)。 每次只能有一個(gè)應用程序訪(fǎng)問(wèn)該設備。

● 檢查日志中的錯誤消息。

● 打開(kāi) Windows 相機應用程序,檢查它是否可正常工作。

● 關(guān)閉再打開(kāi)設備的電源,等待流 LED 熄滅,然后再使用設備。

● 重新啟動(dòng)主機電腦。

● 確保在電腦上使用最新的圖形驅動(dòng)程序。

● 如果你使用自己的 SDK 版本,請嘗試使用正式發(fā)布的版本(如果可以解決問(wèn)題)。


設備固件更新問(wèn)題

● 如果更新后未報告正確的版本號,則可能需要關(guān)閉再打開(kāi)設備;

● 設備固件更新過(guò)程被打斷,可以重新給設備上電后再執行更新。


圖像質(zhì)量問(wèn)題

● 啟動(dòng) Femto Bolt 查看器,檢查設備的位置,以確定是否存在干擾、傳感器被遮擋,或者鏡頭臟污。

● 如果問(wèn)題在特定的模式下發(fā)生,請嘗試不同的運行模式,以縮小問(wèn)題的檢查范圍。

● 若要與團隊配合解決圖像質(zhì)量問(wèn)題,可以:

1. 抓取Femto Bolt 查看器的暫停視圖并抓取屏幕截圖,或

2. 使用Femto Bolt 查看器錄制,例如 k4arecorder.exe -l 5 -r 5 output.mkv


不一致或意外的設備時(shí)間戳

調用 k4a_device_set_color_control 可能會(huì )暫時(shí)引發(fā)設備的計時(shí)更改,這些更改可能需要幾個(gè)捕獲才能穩定。 避免在圖像捕獲循環(huán)中調用 API,以免重置每個(gè)新圖像的內部計時(shí)計算。 可以改為在啟動(dòng)相機之前或需要更改圖像捕獲循環(huán)內的值時(shí)調用 API。 具體而言,請避免調用 k4a_device_set_color_control(K4A_COLOR_CONTROL_AUTO_EXPOSURE_PRIORITY)。


將人體跟蹤 SDK 與 Unreal 配合使用

若要將人體跟蹤 SDK 與 Unreal 配合使用,請確保已將 <SDK Installation Path>\tools 添加到環(huán)境變量 PATH,并已將 dnn_model_2_0.onnx 和 cudnn64_7.dll 復制到 Program Files/Epic Games/UE_4.23/Engine/Binaries/Win64。


在無(wú)外設 Linux 系統上使用 Femto Bolt

Linux 上的 Femto Bolt 深度引擎使用 OpenGL。 OpenGL 需要一個(gè)窗口實(shí)例,該實(shí)例需要將監視器連接到系統。 此問(wèn)題的解決方法是:

1. 為計劃使用的用戶(hù)帳戶(hù)啟用自動(dòng)登錄。 有關(guān)如何啟用自動(dòng)登錄的說(shuō)明,請參閱此文。

2. 關(guān)閉系統電源,斷開(kāi)顯示器的連接,然后打開(kāi)系統電源。 自動(dòng)登錄會(huì )強制創(chuàng )建 x-server 會(huì )話(huà)。

3. 通過(guò) ssh 進(jìn)行連接,并設置 DISPLAY 環(huán)境變量 export DISPLAY=:0

4. 啟動(dòng) Femto Bolt 應用程序。

xtrlock 實(shí)用工具可用于在自動(dòng)登錄后立即鎖定屏幕。 添加以下命令以啟動(dòng)應用程序或 systemd 服務(wù):

bash -c “xtrlock -b”

RM新时代网站