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