1. 前言
這兩天需要幫一個朋友做一個簡單的遙控控制界面,用于控制一臺復合機器人(萬向輪底盤+機械臂+旋轉云臺),在這里分享一下
2. 開發框架
由于朋友那邊的控制接口都是使用python來寫的,所以我這里也使用py來完成這個遙控界面的開發。但其實我自己的主語言是C和C++,之前界面都是使用Qt來完成,對py的使用不是很熟練,這里我就參考了ds(deepseek)老師的建議:py有一個GUI庫叫做pyside6,其實就是Qt的py版本,當然還有一個叫PyQt的,這兩個非常相似,不僅使用的控件API都是給C++Qt一樣的,而且還能使用Qt Designer來設計界面。pyside6相比pyqt來說,開源協議較為寬松,這里我就選擇使用pyside6
總結:python + pyside6
3. 效果預覽
先來一起看看效果(隨便找了個制作gif的工具,大家看看效果就好)
平移控制時使用的是右手坐標系,這是機器人行業的通用參考系,并且平移控制綁定到了鍵盤的方向鍵,可以使用i,k,j,l來控制上、下、左、右四個方向,組合一起可以控制左上、右上、左下、右下四個方向,一共八個方向,這里為什么不使用方向鍵呢,因為方向鍵的信號會被spin_box捕獲,當方向鍵被按下時,會改變spin_box的數值,而不會被搖桿界面捕獲到,這里應該可以使用一些方案來解決,這里不做嘗試,有興趣的可以去做優化,當然使用i,k,j,l代替方向鍵也是很常用的事情,不必在意
4. 環境安裝
- 安裝pyside6
pip install pydide6 -i https://pypi.tuna.tsinghua.edu.cn/simple
2.安裝requests(可選,不需要將控制信號發送給控制服務器的不用安裝)
pip install requests
5. 可能會用到的地方
- 打開designer
pyside6-designer
- designer生成的.ui文件生成.py文件
pyside6-uic remote_control.ui -o remote_control.py
6. 項目地址
github