[硬件]Robot運動控制

思考問題:機器人運動控制如何與圖形界面交互?編程

不得不說,先鋒機器人的軟件作的真不怎麼樣。圖形界面交互用戶體驗不好。socket

如今我遇到一個很現實的問題:SLAM須要採集激光數據和機器人的位姿,同時我還要再這個界面中控制機器人的運動。這個想來真是一個複雜的問題。函數


測試使用ArRobot分別直接在MFC的WinApp和Dialog中進行初始化,執行runSync則報錯,不執行則鏈接直接退出。ArRobot內置了線程,不知到是否是致使了失敗。測試

而後測試服務和客戶端模式,socket編程,用了自帶的serverDemo,可是客戶端請求的命令去確沒法執行。自帶的客戶端demo也是內置了線程和鍵盤處理,沒有成功。線程

不過我堅信這個問題確定是能夠解決的,由於MobileEye裏面就實現了。server


經過與利曼售後工程師的溝通,目前初步實現了經過圖形界面進行先鋒機器人的運動控制。 如今採用的是C/S模式,socket編程。固然主要仍是使用的SDK裏面的函數實現的。對象

主要的技巧是多開了一個線程。blog

經過UI界面開一個線程pThread,在該線程中初始化客戶端對象(客戶端內置了線程Thread3,執行runSync方法會開啓新的線程)。回調函數

將UI的鍵盤消息經過flag在pThread中進行分發,讓Thread3中對應執行相應的回調函數。此時不在Thread3中執行鍵盤檢測函數,由於已經在UI線程中偵測了。it

問題算是有了解決方案,思考若是直接應用程序鏈接機器人呢,這種技巧是否是也能夠用呢?


kbhit函數:檢查當前是否有鍵盤輸入。

激光數據接收確定要佔用一個線程。

經過界面控制機器人在主線程或者再開一個線程。

相關文章
相關標籤/搜索