[發(fā)明專利]一種基于ROS系統(tǒng)的視覺定位及機(jī)械臂抓取實(shí)現(xiàn)方法有效
| 申請?zhí)枺?/td> | 201710056272.7 | 申請日: | 2017-01-25 |
| 公開(公告)號: | CN106826822B | 公開(公告)日: | 2019-04-16 |
| 發(fā)明(設(shè)計(jì))人: | 張光肖 | 申請(專利權(quán))人: | 南京阿凡達(dá)機(jī)器人科技有限公司 |
| 主分類號: | B25J9/16 | 分類號: | B25J9/16 |
| 代理公司: | 江蘇圣典律師事務(wù)所 32237 | 代理人: | 賀翔;劉輝 |
| 地址: | 211316 江蘇省*** | 國省代碼: | 江蘇;32 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 基于 ros 系統(tǒng) 視覺 定位 機(jī)械 抓取 實(shí)現(xiàn) 方法 | ||
1.一種基于ROS系統(tǒng)的單目視覺定位及機(jī)械臂抓取實(shí)現(xiàn)方法,其特征在于,包括以下步驟:
步驟1:安裝相機(jī),并將所述相機(jī)連接至上位機(jī);
步驟2:配置所述相機(jī)在ROS系統(tǒng)下的使用環(huán)境;
步驟3:所述上位機(jī)在ROS系統(tǒng)下進(jìn)行圖像處理,包括:
步驟31:讀取所述相機(jī)的矯正數(shù)據(jù),并選擇要采用的識別算法;
步驟32:定位標(biāo)記識別,給出空間位置信息;
步驟33:將獲得的空間位置信息傳遞給MoveIt模塊進(jìn)行運(yùn)動(dòng)規(guī)劃;
步驟4:所述上位機(jī)在ROS系統(tǒng)下進(jìn)行機(jī)械臂運(yùn)動(dòng)規(guī)劃;
步驟5:將獲得的機(jī)械臂運(yùn)動(dòng)信息隊(duì)列傳遞至下位機(jī);
步驟6:所述下位機(jī)接收機(jī)械臂運(yùn)動(dòng)信息隊(duì)列并解析,同時(shí)驅(qū)動(dòng)機(jī)械臂按照規(guī)劃的路徑執(zhí)行運(yùn)動(dòng)和抓取,并將機(jī)械臂的實(shí)時(shí)位姿回傳至所述上位機(jī);
所述步驟2中配置相機(jī)的使用環(huán)境包括:
步驟21:在ROS系統(tǒng)下配置USB_CAM對所述相機(jī)進(jìn)行驅(qū)動(dòng),同時(shí)將所述相機(jī)采集的圖像信息發(fā)布出去;
步驟22:在ROS系統(tǒng)下對所述相機(jī)進(jìn)行標(biāo)定并保存矯正數(shù)據(jù);
步驟23:執(zhí)行視覺標(biāo)識訓(xùn)練;
所述執(zhí)行視覺標(biāo)識訓(xùn)練的過程為:
對于基于ARToolKit的特定標(biāo)記識別算法,利用在線工具Tarotaro訓(xùn)練或者使用ARToolKit提供的mk_patt的離線工具進(jìn)行訓(xùn)練;
對于基于OpenCV_ArUco的識別算法,則利用drawMarker()函數(shù)進(jìn)行創(chuàng)建和訓(xùn)練標(biāo)識圖案;
所述步驟32選擇的識別算法為基于ARToolKit的識別算法或基于OpenCV_ArUco的識別算法:
如果選擇基于ARToolKit的識別算法,程序處理過程為:讀取預(yù)先導(dǎo)入的標(biāo)識圖信息,所述相機(jī)獲取實(shí)時(shí)的圖像,尋找可靠度最高的標(biāo)識并定位相機(jī)觀察到的標(biāo)識,在標(biāo)識上放置系統(tǒng)原點(diǎn),添加ARToolKit 幀頻計(jì)數(shù)器,利用不同幀下標(biāo)識圖的位置變化預(yù)估標(biāo)識圖空間中的位置并實(shí)時(shí)發(fā)布,同時(shí)利用OpenGL在標(biāo)識圖標(biāo)上繪制坐標(biāo)系;
如果選用基于OpenCV_ArUco的識別算法,首先,獲取圖像中所有的可疑標(biāo)識,并依次提取標(biāo)識圖像中的標(biāo)識位;
其次,利用透視變換獲取標(biāo)準(zhǔn)標(biāo)識圖,然后利用OTSU二值化算法讀取出標(biāo)識位的值,并將所述標(biāo)識位的值與預(yù)先訓(xùn)練的標(biāo)識圖像作比較來實(shí)現(xiàn)標(biāo)識圖識別;
再次,對已識別的標(biāo)識圖進(jìn)行空間位姿估計(jì),并給出已識別的標(biāo)識圖的空間位置信息;
最后,根據(jù)預(yù)先設(shè)定的相機(jī)坐標(biāo)系和機(jī)械臂坐標(biāo)系轉(zhuǎn)換矩陣,獲取帶有標(biāo)識圖的物體相對于機(jī)械臂的空間位置信息,即所述空間位置信息。
2.根據(jù)權(quán)利要求1所述的基于ROS系統(tǒng)的單目視覺定位及機(jī)械臂抓取實(shí)現(xiàn)方法,其特征在于,所述步驟4上位機(jī)在ROS系統(tǒng)下進(jìn)行機(jī)械臂運(yùn)動(dòng)規(guī)劃的過程為:
步驟41:采用urdf編寫機(jī)械臂模型描述文件,用于機(jī)械臂的建模;
步驟42:采用ROS系統(tǒng)下的MoveIt 初始化工具包調(diào)用所創(chuàng)建的機(jī)械臂描述模型;
步驟43:機(jī)械臂建模;
步驟44:讀取圖像處理獲得的所述空間位置信息,利用MoveIt模塊進(jìn)行路徑規(guī)劃,然后將規(guī)劃的機(jī)械臂運(yùn)動(dòng)信息隊(duì)列發(fā)布出去。
3.根據(jù)權(quán)利要求1所述的基于ROS系統(tǒng)的單目視覺定位及機(jī)械臂抓取實(shí)現(xiàn)方法,其特征在于,所述上位機(jī)和下位機(jī)之間的通信,采用Socket通信方式。
4.根據(jù)權(quán)利要求3所述的基于ROS系統(tǒng)的單目視覺定位及機(jī)械臂抓取實(shí)現(xiàn)方法,其特征在于,所述通信過程為:
步驟71:消息服務(wù)器模塊初始化,用于讀取MoveIt模塊發(fā)布的運(yùn)動(dòng)規(guī)劃信息隊(duì)列;
步驟72:初始化Socket通信信息,并將信息隊(duì)列放置在發(fā)送緩沖區(qū),在上下位機(jī)進(jìn)行通信時(shí)發(fā)送給下位機(jī);
步驟73:下位機(jī)接收到數(shù)據(jù)后進(jìn)行運(yùn)動(dòng)信息解析,驅(qū)動(dòng)機(jī)械臂按照規(guī)劃動(dòng)作執(zhí)行抓取;
步驟74:在執(zhí)行規(guī)劃動(dòng)作的同時(shí),機(jī)械臂上的位置傳感器將機(jī)械臂的實(shí)際位姿通過Socket發(fā)送給上位機(jī)。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于南京阿凡達(dá)機(jī)器人科技有限公司,未經(jīng)南京阿凡達(dá)機(jī)器人科技有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710056272.7/1.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。





