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