文湖南師大附中1517班 段鄧彬沛
自從加入學校機器人競賽隊后,我就被樂高機器人吸引,深深地喜歡上了它。在平時的訓練課中,我發現機器人在多種情況下走直線時都會走偏,繼而導致其運動軌跡不確定,難以完成相應的任務。
機器人的配置一般都很精良,為何走直線時頻出問題?如何解決?大多數情況下,影響機器人走直線時走偏的最主要因素是硬件結構不夠合理、編程不完善,所以我從這兩個方面入手,嘗試解決問題。
設計機器人時,我重點考慮了重心、左右對稱以及結構組成。搭建完成后,在測試時發現機器人走直線時還是會往左偏。

(1)對驅動電機重新配對。
(2)重新搭建,多次組裝機器人。
(3)對機器人進行配重。
我對以上三種方法分別進行了測試。使用前兩種方法測試時,機器人仍出現走直線向左偏的現象,使用第三種方法對機器人的右邊進行配重后,測試效果也不理想。既然從硬件上入手效果不佳,從編程上是否能改善機器人走直線時走偏的問題?
我仔細觀察了出現左偏狀況時的機器人的整體狀態,發現右邊的B馬達轉得快一些。能否從程序上對它進行修正?
編好程序后再進行測試,雖然情況有所好轉,但機器人還是出現了整體左偏的現象,沒有達到走直線的要求。

以下是我寫的程序。

修改程序后測試,機器人走直線時走偏的問題得到了解決。多次測試后又發現,因陀螺儀的漂移出現了左偏得更多的現象,但拔一下陀螺儀的線又好了。看來利用陀螺儀傳感器修正也不是最佳解決辦法。
我反復觀察了機器人運行的實況,發現機器人啟動時,馬達啟動有快有慢。為什么會這樣?我請教了老師,老師說馬達雖然是同一批次的,但它所有的參數不可能一模一樣。有什么辦法改善呢?
我又測試了機器人在低速運行時的狀態,發現情況有所改善,這為我提供了一個很好的思路:能否讓機器人由低速慢慢加到功率的50%?于是,我寫了如下加速程序,運行后機器人偏離直線的狀況有了好轉。

通過對機器人走直線時走偏現象的思考,我從機器人的硬件與編程兩個方面想了很多策略,但仍然沒能完全解決問題。這大概也是機器人的魅力所在吧。如果能徹底解決此類問題,就不會那么多思考的過程和樂趣。
在解決問題的過程中找到平衡點,引起更多的思考,這才是機器人教育的最終目的。