陳芬生 孫李生 吳居進
(佛山科學技術學院,廣東 佛山 528000)
上位機采用樹莓派的Raspberry Pi 3 Model B,只有信用卡大小的微型電腦,其操作系統(tǒng)基于Linux,64位的1.4GHz四核ARM Cortex-A53處理器,具有1G RAM緩存,10/100 Mbit/s以太網并自帶無線網絡功能。在上位機上搭載Ubuntu16.04 mate系統(tǒng),匹配ROS-kinetic版本;ROS 起源于斯坦福大學人工智能實驗室與 Willow Garage 公司的機器人項目,是一個面向機器人的開源操作框架,它的本質就是一個類 Linux 二次操作系統(tǒng),具有與常規(guī)操作系統(tǒng)相似的功能,它能夠提供常用的機器人傳感器或者機器人電機的驅動,幫助實現(xiàn)硬件抽象,同時它也擁有多進程的概念,并提供進程間的相互通信機制,還能夠像 Linux 操作系統(tǒng)一樣提供常用的軟件包與算法包,方便用戶的安裝與調用。此外ROS系統(tǒng)對計算機視覺提供了很好的平臺,不僅支持Opencv、cv_birdge和image_transpor相連接,還提供了物體識別和視覺里程計等算法的功能包,這也是選擇使用ROS系統(tǒng)的優(yōu)勢所在。
啟動樹莓派運行ROS系統(tǒng),調用語音交互系統(tǒng),通過語音喚醒,可與系統(tǒng)進行簡單的日常交流;調用Vision中的USB_cam,TensorFlow和OpenCv,可以對不同的物體進行識別,已檢測可以識別鼠標,鍵盤等;當識別到是網球的時候,此時系統(tǒng)將發(fā)送信號到下位機,由下位機通過16路PWM舵機驅動器和LM2596S DC-DC直流可調降壓穩(wěn)壓電源模塊板實現(xiàn)對機械臂的抓取。
在物體識別方面采用TensorFlow對象檢測API,這是一個基于TensorFlow構建的開源框架,可以輕松構建,訓練和部署對象檢測模型,經實踐調試,該程序可以嵌入到樹莓派上搭載的ROS系統(tǒng)中執(zhí)行。
cd tensorflow_ws #進入工作空間
catkin_make #進行編譯
roscore #運行節(jié)點
roslaunch usb_cam usb_cam-test.launch #打開攝像頭
roslaunch ros_tensorflow ros_tensorflow_classify.launch
#執(zhí)行識別程序
rostopic echo /result_ripe #接收字符串消息
智能撿球系統(tǒng)測試情況:
1.能精準識別出網球
2.能控制機械臂對網球進行抓取
3.能用語音控制系統(tǒng),并可進行簡單的語音交流
很多球體識別都是直接利用找圓或顏色進行識別,此類方法識別度不高而且容易受到環(huán)境的干擾,本文設計的智能撿球系統(tǒng)采用深度學習算法,利用搭建深度卷積神經網絡模型進行識別,更能適應復雜環(huán)境,且識別速度和準確率大大提高;并且采用的ROS分布式架構,多語言支持和可伸縮性,將每一個工作進程看成是一個節(jié)點,實現(xiàn)了整個機器人多個控制區(qū)的緊密連接與消息傳遞機制,大大地簡化了原有的通信方式;通過調用API接口,采用語音模式控制,簡化了對撿球系統(tǒng)的操作。