
摘 要:通過采用CDS5516舵機為主要部件,以ATmega128-16AC為主控制器,設計了一款智能搬運器人。通過實驗驗證表明該機器人可完成自動尋查物品框、自動夾取物品、自動搬運物品等任務,本機器人有夾取物品的精度高,可重復性好等特點。本文詳細介紹了系統的軟硬件設計和實現方法,為智能機器人設計提供了一種可行的實現方法。
關鍵詞:CDS5516;智能機器人;機械臂
最近幾年國內機器人開始快速發展,很多中高職高校在進行機器人技術教學,小型的機器人、模塊化的機器人、組件式機器人是教學機器人的首選。在這些機器人產品中,舵機是最關鍵、使用最多的部件。并且機器人技術已廣泛應用于汽車、機械加工、電子及塑料制品等工業領域,隨著科學與技術的發展,機器人的應用領域也隨之不斷擴大。現在工業機器人的應用已經開始擴大到軍事、核能、采礦、冶金、石油、化學、航空、航天、船舶、建筑、紡織、制衣、醫藥、生化、食品、服務、娛樂、農業、林業、畜牧業和養殖業等領域。
1 系統原理
1.1 系統硬件設計
本系統采用MATmega128-16AC作為主控制器,通過RFID無線通信模塊讀取工件信息,經MCU處理、判別,在通過MCU的串口控制由CDS5516舵機組成的機械臂,實現夾取等功能。
1.2 CDS5500機器人舵機介紹
CDS5500屬于一種集電機、伺服驅動、總線式通訊接口為一體的集成伺服單元,非常適合替代RC舵機,作為微型機器人的關節、輪子、履帶驅動,也可用于其他簡單位置控制場合。CDS5516機器人舵機采用先進的伺服控制技術和高速微處理器,響應速度快、到位準確無抖動。相比傳統RC舵機50Hz的控制頻率,CDS系列機器人舵機通過高達250Hz的控制頻率,確保位置控制的準確和保持力矩的穩定性。CDS5516機器人舵機采用周轉型高精度電位器測量位置,舵機輸出軸可連續整周旋轉,運動扭矩輸出高達16kgf.cm,其總線接口,理論多至254個機器人舵機,可以通過總線組成鏈型,通過異步串行接口統一控制。每個舵機可以設定不同的節點地址,多個舵機可以統一運動也可以單個獨立控制。CDS5516的通訊指令集完全開放,舵機通過異步串行接口與用戶的上位機通訊,用戶可對其參數設置、功能控制。通過異步串行接口發送指令,CDS5516可以設置為電機模式或位置控制模式。在電機模式下,CDS5516可以作為直流減速電機使用,速度可調;在位置控制模式下,CDS5516 擁有0-300°的轉動范圍,在此范圍內具備精確位置控制性能,速度可調,一個簡單的控制指令就可以自動轉動到一個比較精確的角度,所以非常適合在關節型機器人產品上使用,其主要特點是:大扭矩:16Kgf·cm;高轉速:最高0.16s/60°輸出轉速;DC 6.8V~14V 供電;0.32°位置分辨率;雙端輸出軸,適合安裝在機器人關節;高精度全金屬齒輪組,雙滾珠軸承;連接處O型環密封,防塵防濺水;位置伺服控制模式下轉動范圍0-300°;在速度控制模式下可連續旋轉,調速;總線連接,理論可串聯254 個單元;高達1M通訊波特率;0.25KHz的伺服更新率;具備位置、溫度、電壓、速度反饋;通訊協議兼容Robotis Dynamixel。
1.3 系統軟件設計
CDS55xx采用異步串行總線通訊方式,理論多至254個機器人舵機可以通過總線組成鏈型,通過UART異步串行接口統一控制。每個舵機可以設定不同的節點地址,多個舵機可以統一運動也可以單個獨立控制。其通訊指令集是開放,通過異步串行接口與用戶的上位機(控制器或PC機)通訊,可對其進行參數設置、功能控制。通過異步串行接口發送指令,只要符合協議的半雙工UART異步串行接口都可以和CDS5500進行通訊。
CDS系列機器人舵機用程序代碼對UART異步串行接口進行時序控制,實現半雙工異步串行總線通訊,通訊速度可高達1Mbps,且接口簡單、協議精簡。
控制器和舵機之間通信方式為串行異步方式,一幀數據分為1位起始位,8位數據位和1位停止位,無奇偶校驗位,共10位。其指令采用問答方式通信,控制器發出指令包,舵機返回應答包,具體通信格式如表一所示。在一個網絡中允許有多個舵機,所以每個舵機都分配有一個ID號。控制器發出的控制指令中包含ID信息,只有匹配上ID號的舵機才能完整接收這條指令,并返回應答信息。
其中字頭表示:連續收到兩個0XFF,表示有數據包到達。ID:每個舵機都有一個ID號,ID號的范圍0~253,轉換為十六進制0X00~0XFD,其中廣播ID為254,若控制器發出的ID號為254(0XFE),則所有的舵機均接收指令,但都不返回應答信息。數據長度等于待發送或應答的參數長度N加上2,即“N+2”。參數是指除指令之外需要補充的控制信息。校驗和是為了提高通行的質量,其計算方法如下:Check Sum=~(ID+Length+Instruction+Parameter1+...Parameter N),若括號內的計算和超出255,則取最低的一個字節,其中“~”表示取反。在應答指令中加入當前狀態,即返回的應答包包含舵機的當前狀態ERROR,若舵機當前工作狀態不正常,會通過這個字節反映出來,通過UART控制各舵機轉到適當的角度,掃描工件,通過RFID讀取工件信息,根據信息選擇是否是夾取的工件,在執行是否夾取。
本文通過CDS5516舵機搭建機械臂,通過ATmega128-16AC作為主控制器,以通過RFID無線識別,實現了對工件的識別,夾取及搬運的功能,為現實工場貨物的識別搬運提供了一種可行的辦法。