树莓派4b控制机械手臂_Raspberry Pi
感謝E絡盟提供的助賽基金。
(一)方案
本意是制作一個基于視覺、智能語音為一體的智能機械臂,但由于項目立得太大,其中各種意想不到的問題頻發,目前階段只完成了部分視覺任務。
(二)簡介
1、空間變換原理:
7%(5@Z5IIVUU%(0HY2[5_ER.png (25.19 KB, 下載次數: 87)
2018-1-11 23:30 上傳
通過三角變化可以得到根部角度(舵機通過角度控制機械臂)與夾頭部位的x、y坐標轉化:
double fai_t = asin(y0 / (sqrt(x0*x0 + y0*y0))) * 180 / 3.14159;
double cita_t = acos(sqrt(x0*x0 + y0*y0) / 40) * 180 / 3.14159;
double alpha_t = cita_t + fai_t;
double beta_t = cita_t - fai_t;復制代碼2、pca9685的舵機控制
pca9685通過iic與樹莓派進行通訊,調整16路pwm的頻率與占空比;
樹莓派可以通過集成的wiringpi庫方便地進行通訊。
3、物體自動識別
物體識別功能通過opencv函數庫實現。原本的目標是基于surf特征點+輪廓識別疊加后獲取目標圖像位置,后來發現這個算法在樹莓派上只能運行兩幀,隨后就會崩潰,于是改采用hsv分割二值圖像的方法,雖然識別的物體變得簡單而嚴格,但識別的準確率大大上升,速度也經得起樹莓派的考驗。
算法實現:通過hsv分割二值圖像,根據h的值判斷視野中的粉紅色(由于opencv的h取值范圍在0-180之間,因此在0-360空間中為340的粉紅色,轉化過了就是170左右)。然后通過
findContours復制代碼尋找輪廓,找到最大連通域,獲取連通域的坐標信息,獲取中心點x左邊,對比根據實驗得到中心定位值(由于我的機械臂結構設計不盡合理,導致攝像頭被迫偏心安裝;加上圖像是640*480,可以得到對應的中心區域x值為425)。
4、遠程控制
通過tcp socket,使樹莓派上的qt控制程序與安卓客戶端通訊。
(三)成果展示
1、圖片
IMG_20180111_234740.jpg (59.4 KB, 下載次數: 72)
2018-1-11 23:50 上傳
IMG_20180111_234750.jpg (68.49 KB, 下載次數: 101)
2018-1-11 23:50 上傳
IMG_20180111_234802.jpg (76.69 KB, 下載次數: 77)
2018-1-11 23:50 上傳
2、視頻(需在優酷登陸后,刷新查看)
(四)小結
這次針對樹莓派的機械臂開發不甚如意,首先是機械結構設計加工耗時遠遠超出預期,以至于其后的開發沒能留下足夠時間,加工精度、設計合理性也不甚如意,運動精度不能保證,很多控制都是基于理論上精確。
本意借助百度ai平臺實現語音識別與更準確的物體定位,但由于種種原因,雖然開發出雛形,但沒能整合到控制程序中。
由于耗費太多時間在開發設計上,導致最后編寫本提交貼也不盡完善。
(五)附件
安卓app:鏈接:https://pan.baidu.com/s/1o90gPnk 密碼:9n26
總結
以上是生活随笔為你收集整理的树莓派4b控制机械手臂_Raspberry Pi的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 30岁学python编程_朋友问我,你都
- 下一篇: php post请求后端拿不到值_php