【《基于Kinova機(jī)械臂的ROS程序開發(fā)設(shè)計(jì)案例》1200字】_第1頁
【《基于Kinova機(jī)械臂的ROS程序開發(fā)設(shè)計(jì)案例》1200字】_第2頁
【《基于Kinova機(jī)械臂的ROS程序開發(fā)設(shè)計(jì)案例》1200字】_第3頁
【《基于Kinova機(jī)械臂的ROS程序開發(fā)設(shè)計(jì)案例》1200字】_第4頁
【《基于Kinova機(jī)械臂的ROS程序開發(fā)設(shè)計(jì)案例》1200字】_第5頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

基于Kinova機(jī)械臂的ROS程序開發(fā)設(shè)計(jì)案例目錄TOC\o"1-3"\h\u23824基于Kinova機(jī)械臂的ROS程序開發(fā)設(shè)計(jì)案例 1144201.1ROS開發(fā)環(huán)境介紹 1112501.2ROS簡介 1228531.3基于Kinova機(jī)械臂的ROS程序開發(fā) 2121482程序及仿真 3282612.1重要程序說明 364742.2仿真結(jié)果 31.1ROS開發(fā)環(huán)境介紹隨著現(xiàn)代機(jī)器人開發(fā)技術(shù)在應(yīng)用領(lǐng)域的不斷迅猛發(fā)展與其的復(fù)雜化,市場越來越需要代碼可以多次使用,以及利用模塊化開發(fā)技術(shù)設(shè)計(jì)代碼,而目前現(xiàn)有的各種新型開源式的機(jī)器人開發(fā)技術(shù)和操作系統(tǒng)卻根本無法很好地勝任這樣的工作。2010年,名為ROS的機(jī)器人操作系統(tǒng)由WillowGarage公司首次發(fā)布[20],在機(jī)器人應(yīng)用科學(xué)與新技術(shù)研究的領(lǐng)域,不久就掀起了學(xué)習(xí)并研究使用ROS系統(tǒng)的波瀾。ROS系統(tǒng)作為一種次級操作系統(tǒng),其首要的產(chǎn)品設(shè)計(jì)開發(fā)意圖就是努力提升其代碼的復(fù)用度,使其成為機(jī)器人領(lǐng)域的領(lǐng)導(dǎo)者。ROS是一種框架(也可以稱之為Nodes),主要用于處理一些事物,它以分布式為基礎(chǔ)。它的特殊之處在于可以獨(dú)立地設(shè)計(jì)一個(gè)可執(zhí)行的文件。設(shè)計(jì)文件的流程可以在數(shù)據(jù)資料包(Packages)和堆棧(Stacks)中直接安裝,便于用戶實(shí)現(xiàn)數(shù)據(jù)資料的信息共享與數(shù)據(jù)分發(fā)。1.2ROS簡介ROS(Robot

Operating

System,簡稱“ROS”)軟件系統(tǒng)是一個(gè)專門為機(jī)器人而設(shè)計(jì)研發(fā)和使用的免費(fèi)開源的元操作系統(tǒng)。它為網(wǎng)絡(luò)使用者提供了操作系統(tǒng)應(yīng)有的各項(xiàng)網(wǎng)絡(luò)服務(wù),包括對硬件的網(wǎng)絡(luò)抽象,對底層設(shè)備的遠(yuǎn)程控制,設(shè)計(jì)與實(shí)現(xiàn)常用的函數(shù),進(jìn)程之間的網(wǎng)絡(luò)消息數(shù)據(jù)傳送,以及管理數(shù)據(jù)包。它的主要設(shè)計(jì)師曾說ROS系統(tǒng)是通道、工具、性能、容量、生態(tài)系統(tǒng)的集合,即ROS是一種可以提供通信通道、工具軟件包、機(jī)器人的高層次功能以及機(jī)器人生態(tài)系統(tǒng)的整體,功能強(qiáng)大。它還可以提供一種工具和庫函數(shù),可以用來調(diào)用或編寫各種代碼,甚至是在跨計(jì)算機(jī)操作時(shí)運(yùn)行源代碼。ROS系統(tǒng)致力于機(jī)器人的發(fā)展,方便了機(jī)器人的代碼編寫與運(yùn)行。同時(shí),ROS的各種基礎(chǔ)性工具都是可以對所有的項(xiàng)目工程進(jìn)行組織整合的。1.3基于Kinova機(jī)械臂的ROS程序開發(fā)為了使使用者能夠進(jìn)行第二次開發(fā),Kinova公司設(shè)計(jì)出了一種名為ROS的新型接口,專為一些類型的機(jī)器人手臂而打造,此接口對Kinova系列產(chǎn)品幾乎都是適用的。除此之外,新系列接口中還包含了許多錯(cuò)誤糾正、改良及新的功能。本課題的開發(fā)中采用ROS通訊機(jī)制設(shè)計(jì)程序,建立兩個(gè)節(jié)點(diǎn)(Node),一個(gè)節(jié)點(diǎn)負(fù)責(zé)從串口接受下位硬件采集系統(tǒng)獲得的碰撞檢測數(shù)據(jù),另一個(gè)采用Kinova公司開發(fā)的ROS服務(wù)、消息或API實(shí)現(xiàn)對機(jī)械臂的運(yùn)動(dòng)啟??刂?。運(yùn)動(dòng)啟??刂栖浖鞒虉D如圖3-1所示,所用到ROS服務(wù)、消息及API列于表3-1中。圖3-1機(jī)械臂運(yùn)動(dòng)啟??刂栖浖鞒虉D服務(wù)、消息及API名稱功能/j2n6s200_driver/out/joint_command獲得關(guān)節(jié)控制指令/j2n6s200_driver/joints_action/joint_angles獲得關(guān)節(jié)位置client.send_goal(goal)設(shè)置關(guān)節(jié)位置/j2n6s200_driver/in/start機(jī)械臂開始運(yùn)動(dòng)/j2n6s200_driver/in/stop機(jī)械臂停止運(yùn)動(dòng)表3-1機(jī)械臂啟停控制用到的ROS服務(wù)、消息、API2.程序及仿真2.1重要程序說明defmoveJoint(jointcmds,prefix,nbJoints):移動(dòng)關(guān)節(jié)defmoveFingers(jointcmds,prefix,nbJoints):移動(dòng)手指defread_finger_tip_state():讀取手指位置defget_current_position():讀取機(jī)械臂位置moveJoint([-1.474,2.9,1.005,-2.084,1.477,1.319],prefix,nbJoints):移動(dòng)關(guān)節(jié),括號內(nèi)六組數(shù)據(jù)即移動(dòng)關(guān)節(jié)的角度大小。完整程序

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論