除塵競賽機器人及其控制策略研究
角度控制的流程分為以下4個步驟,控制算法實現(xiàn)的程序框圖如圖9所示。本文引用地址:http://cafeforensic.com/article/160450.htm
1)循環(huán)獲取起始角度信息,當前后兩次獲取信息絕相差小于5°時,得到穩(wěn)定的起始角度值start_angle。
2)根據(jù)當前的角度值start_angle和需要旋轉(zhuǎn)的角度值,計算得到預設的角度值set_value。
為了避免預設角度值在獲取時被錯過的情況發(fā)生,可以在預設角度值的基礎(chǔ)上進行5°的增幅,獲得預設角度范圍angle_little-angle_ big,當angle_littleangle_big說明角度范圍沒有經(jīng)過360°-0°度的突變,否則角度范圍存在突變。
3)當angle_littleangle_big時,機器人的預設角度范圍如圖7中①,因為機器人根據(jù)相應的方向設定進行旋轉(zhuǎn)時,存在越過360°~0°的突變,所以又將除預設范圍外的部分分別化為②和③,在程序中將當前的角度值保存為result。
當機器人順時針旋轉(zhuǎn)時,滿足以下一個條件即可判斷為機器人達到預設角度值:
a)當前角度值result在預設角度范圍內(nèi)。
b)當機器人的起始位置start_angle在圖7中區(qū)域②中,而當前位置result在在圖中7區(qū)域③中。
c)當機器人的起始位置start_angle在圖7中區(qū)域③中時,而當前位置result>angle_little并且resultstart_angle。
當機器人逆時針旋轉(zhuǎn)時。滿足以下其中一個條件即可判斷為機器人達到預設角度值:
a)當前角度值result在預設角度范圍內(nèi)。
b)當機器人的起始位置start_angle在圖7區(qū)域②中,而當前位置resultangle_little并且result>start_angle。
c)當機器人的起始位置start_angle在圖7區(qū)域③中時,而當前位置result在圖7區(qū)域②。
4)當angle_littleangle_big時,機器人的角度預設范圍經(jīng)過360°-0°的突變值,為了區(qū)別變化,如圖8要將預設區(qū)間分為①和②兩個區(qū)間進行考慮,將剩余的區(qū)域化為③。然后機器人根據(jù)相應的方向設定進行旋轉(zhuǎn),并將當前的角度值保存為result。
當機器人順時針旋轉(zhuǎn)時滿足以下其中一個條件即可判斷為機器人達到預設角度值:
a)當前角度值result在圖8區(qū)域①或區(qū)域②其中一個預設角度范圍內(nèi)。
b)當機器人的起始位置start_angle在圖8區(qū)域③中,而result>angle_big并且resultstart_angle。
當機器人逆時針旋轉(zhuǎn)時滿足以下其中一個條件即可判斷為機器人達到預設角度值:
a)當前角度值result在圖8區(qū)域①或區(qū)域②其中一個預設角度范圍內(nèi)。
b)當機器人的起始位置start_angle在圖8區(qū)域③中,而resultangle_little并且result>start_angle。
4 結(jié)束語
將該控制策略用于控制機器人轉(zhuǎn)角,可靠性和穩(wěn)定性得到了極大的提高,成功率可達到100%,完全可以滿足競賽的要求。在此基礎(chǔ)上設計的除塵競賽機器人具有成本低、可靠性高的特點,在第四屆江蘇省機器人大賽除塵比賽中,除塵面積覆蓋率達到80%以上,并取得一等獎。
評論