工業(yè)機器人實驗報告02機械41示教離線編程_第1頁
工業(yè)機器人實驗報告02機械41示教離線編程_第2頁
工業(yè)機器人實驗報告02機械41示教離線編程_第3頁
工業(yè)機器人實驗報告02機械41示教離線編程_第4頁
工業(yè)機器人實驗報告02機械41示教離線編程_第5頁
已閱讀5頁,還剩13頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 工業(yè)機器人實驗報告 機器人示教與離線編程實驗 班 級:機械41組 別:第一組組 員:陳 豪 2140101003 尹鑫鑫 2140101023 武文家 2140101020指導(dǎo)老師:桂亮 西安交通大學(xué)2017年 5 月 3 日西安交通大學(xué)實驗報告 第 頁(共 頁)課程: 工業(yè)機器人 實 驗 日 期 :2017年 5月 3 日專業(yè)班號 機械41 組別 第一組 交報告日期: 年 月 日姓 名 陳豪 學(xué)號 2140101003 報 告 退 發(fā) : (訂正、重做)姓 名 尹鑫鑫 學(xué)號 2140101023 教師審批簽字:姓 名 武文家 學(xué)號 2140101020 實驗一 機器人示教實驗一、實驗?zāi)康?

2、1.了解機器人示教與再現(xiàn)的原理;2.掌握機器人示教和再現(xiàn)過程的操作方法。二、實驗設(shè)備1.模塊化機器人一臺;2.模塊化機器人控制柜一臺。三、實驗原理機器人的示教-再現(xiàn)過程是分為四個步驟:示教、記憶、再現(xiàn)、操作。示教,就是操作者把規(guī)定的目標(biāo)動作(包括每個運動部件,每個運動軸的動作)一步一步的教給機器人。記憶,即是機器人將操作者所示教的各個點的動作順序信息、動作速度信息、位姿信息等記錄在存儲器中。再現(xiàn),便是將示教信息再次浮現(xiàn),即根據(jù)需要,將存儲器所存儲的信息讀出,向執(zhí)行機構(gòu)發(fā)出具體的指令。操作,指機器人以再現(xiàn)信號作為輸入指令,使執(zhí)行機構(gòu)重復(fù)示教過程規(guī)定的各種動作。示教的方法有很多種,有主從式,編程式

3、,示教盒式等多種。四、實驗步驟1.接通控制柜電源,按下“啟動”按鈕;2.啟動計算機,運行機器人軟件;3.點擊主界面“模塊組合方式”按鈕,按照實際情況選擇已組合的模塊設(shè)備,并點擊“確定”按鈕;4.點擊主界面“機器人復(fù)位”按鈕,機器人進(jìn)行回零運動。觀察機器人的運動,所有模塊全部運動完成后,機器人處于零點位置;5.點擊“示教”按鈕,出現(xiàn)界面;6.在“速度”中選擇示教速度(由左到右從低速到高速1.5度/秒、6度/秒、12度/秒、24度/秒共四個擋,默認(rèn)是6度/秒,一般情況下建議選擇12度/秒;在“模塊運動”中有每個關(guān)節(jié)的正反向運動,持續(xù)按下相應(yīng)模塊的按鈕,機器人的模塊會按照指令運動,松開相應(yīng)的按鈕,機

4、器人的模塊會停止運動;7.在機器人“模塊狀態(tài)”和“當(dāng)前坐標(biāo)”中,可以實時顯示機器人的運動狀態(tài),當(dāng)每運動到一個點,必須按下“記錄”按鈕,在再現(xiàn)時機器人將忽略中間過程而只再現(xiàn)各個點,在“示教列表”中會記錄并顯示機器人相應(yīng)模塊運動的信息,繼續(xù)運動其他模塊,直到整個示教程序完成;8.點擊“保存”按鈕,示教完的信息以(*.RBT6)格式保存在示教文件中;9.點擊“再現(xiàn)”按鈕,機器人按照記錄的機器人各模塊信息再現(xiàn)一遍運動軌跡;10.點擊“清空”按鈕會把示教列表全部清除。11.點擊“退出”按鈕,退出當(dāng)前界面;12.點擊“機器人復(fù)位”按鈕,使機器人回到零點位置;13.按下控制柜上的“停止”按鈕,關(guān)閉計算機;1

5、4.斷開控制柜電源。五、實驗結(jié)果 1.示教實驗結(jié)果截屏圖1.1 回參考點圖1.2 機械手吸取物塊圖1.3 機器人放下物塊 2.示教實驗結(jié)果分析 2.1實驗結(jié)論在實驗中,我們可以看到,經(jīng)過示教和記憶后的機器人能夠較為準(zhǔn)確地再現(xiàn)示教過程的動作,能夠完成物塊的運輸裝配工作。 2.2實驗問題但在實驗中,我們發(fā)現(xiàn),有時機器人無法再現(xiàn)動作與示教動作有所偏差,即機器人無法準(zhǔn)確到達(dá)物塊所在位置,進(jìn)行物塊的搬運工作。我們分析,造成該問題的原因有如下幾點:1. 機器人的控制與響應(yīng)有延遲,導(dǎo)致機器人運動存在偏差;2. 機器人的機械結(jié)構(gòu)造成機器人的誤差不可避免(如反向間隙的存在);3. 機器人在運動過程中存在干擾,造

6、成誤差。 2.2實驗過程總結(jié)機器人示教過程總結(jié):1. 通過控制軟件可視化界面,控制機器人完成拾取物塊、搬運物塊、放置物塊的工作;2. 在示教的同時完成記憶過程;3. 通過再現(xiàn)過程,計算機向機器人發(fā)出指令;4. 機器人接受指令,進(jìn)行預(yù)定操作。六、思考題1.通過實驗總結(jié)機器人示教再現(xiàn)的概念機器人示教和再現(xiàn)實際上是一個信號輸入與輸出過程。通過示教,機器人采集關(guān)鍵點的位置信息,并將位置反饋給存儲器。在再現(xiàn)過程中,存儲器將已有的位置以指令的形式發(fā)出,控制機器人按示教的順序,完成對應(yīng)的工作。2. 試分析機器人的示教屬于PTP(點到點)控制還是輸入CP(連續(xù)軌跡)控制機器人的示教屬于PTP(點到點)控制。在

7、實驗中,我們注意到在示教過程中,每控制機器人到達(dá)一個新位置,都要重新記錄機器人關(guān)鍵點的位置,由此可以看出機器人示教實際上是對關(guān)鍵點位置和到達(dá)順序的記錄。而再現(xiàn)是將關(guān)鍵點按順序重新復(fù)現(xiàn)的過程。即機器人的示教屬于PTP(點到點)控制。西安交通大學(xué)實驗報告 第 頁(共 頁)課程: 工業(yè)機器人 實 驗 日 期 :2017年 5月 3 日專業(yè)班號 機械41 組別 第一組 交報告日期: 年 月 日姓 名 陳豪 學(xué)號 2140101003 報 告 退 發(fā) : (訂正、重做)姓 名 尹鑫鑫 學(xué)號 2140101023 教師審批簽字:姓 名 武文家 學(xué)號 2140101020 實驗二 機器人離線編程實驗一、實驗

8、目的 1.通過編程,實現(xiàn)對機器人的控制;2.熟悉機器人的操作控制過程;3.熟悉利用VC+實現(xiàn)可視化機器人控制程序的編寫過程。二、實驗設(shè)備1.模塊化機器人一臺;2.模塊化機器人控制柜一臺。三、實驗內(nèi)容在Visual C+6.0中編寫可視化機器人控制程序。通過完成的控制系統(tǒng),實現(xiàn)對機器人的一些簡單操作。并要求控制程序能夠控制機器人的運動模式、選擇方式、啟動方式、運動速度、目標(biāo)位置、運動方向、手爪張閉。完成程序后在機器人上實現(xiàn)操作。四、實驗結(jié)果1.程序界面截圖圖2.1程序頭文件截圖圖2.2 程序可視化界面截圖五、實驗分析與總結(jié) 1.實驗過程總結(jié)在實驗中,我們通過調(diào)用機器人動態(tài)鏈接庫函數(shù)實現(xiàn)對機器人的

9、控制。通過實驗,我們有如下幾點收獲:1. 我們從函數(shù)形式中可以看出控制機器人需要提供給機器人一些參數(shù)(運動軸號、目標(biāo)位置、運動速度、運動模式和啟動方式);2. 手部的控制函數(shù)與其他軸的控制函數(shù)不同,可見手部控制器是一個獨立的部件;3. 只有當(dāng)機器人的速度、目標(biāo)位置控制在一個合適的范圍內(nèi)時、機器人的運動才能穩(wěn)定。4. 不同的運動模式下,機器人方式有所不同。 2.實驗問題分析實驗中遇到的最大問題是程序與機器人的鏈接問題,通過調(diào)用動態(tài)鏈接庫最終能夠?qū)崿F(xiàn)機器人的鏈接。由于我們不熟悉VC+語言,在編寫程序時遇到了很多困難,但實際上,通過查找相關(guān)資料以及查看錯誤說明能夠很好地解決問題。6、 機器人鏈接庫編

10、程實驗程序見附頁西安交通大學(xué)實驗報告 第 頁(共 頁)課程: 工業(yè)機器人 實 驗 日 期 :2017年 5月 3 日專業(yè)班號 機械41 組別 第一組 交報告日期: 年 月 日姓 名 陳豪 學(xué)號 2140101003 報 告 退 發(fā) : (訂正、重做)姓 名 尹鑫鑫 學(xué)號 2140101023 教師審批簽字:姓 名 武文家 學(xué)號 2140101020 機器人示教與離線編程實驗總結(jié)1、 機器人示教與離線編程的對比表1 機器人示教與離線編程的對比項目示教離線編程編程門檻低高機器人占用占用不占用事故示教過程中易碰撞不易碰撞精度靠人控制,精度低精度高應(yīng)用范圍針對特定機器人可控制大部分機器人直觀程度高低二

11、、實驗體會 陳豪:通過本次實驗,我們了解了機器人的控制系統(tǒng)的組成。在實驗中,我們進(jìn)一步認(rèn)識了示教的作用,對機器人控制有了進(jìn)一步的理解。并在實驗中復(fù)習(xí)了方VC+程序的編寫、有關(guān)機器人示教和離線編程的相關(guān)知識、并對實驗系統(tǒng)進(jìn)行了分析。對機器人理論的相關(guān)知識有了更深入的理解。尹鑫鑫:武文家:通過此次試驗,我們親自操作完成了六自由度機器人的示教,對六自由度機器人機構(gòu)和運轉(zhuǎn)有了更深入的認(rèn)知。在編程控制實驗中,我們又回顧了vc+的編寫與應(yīng)用,真正的把學(xué)到的知識用到了實踐中去,對機器人的控制編程更加熟悉,也增加了對機器人開發(fā)的興趣3、 實驗分工表2 實驗分工組員陳豪尹鑫鑫武文家學(xué)號2140101003214

12、01010232140101020實驗前期實驗預(yù)習(xí),閱讀實驗指導(dǎo)書,了解實驗步驟實驗過程實驗分析、程序編寫實驗操作、分析數(shù)據(jù)記錄、控制調(diào)試實驗結(jié)束實驗原理、實驗結(jié)果分析討論報告撰寫理論部分分析部分總結(jié)部分西安交通大學(xué)實驗報告附頁機器人離線編程程序/ expDlg.cpp : implementation file/#include "StdAfx.h"#include "exp.h"#include "expDlg.h"#include "s6s1.h"#ifdef _DEBUG#define new DEBUG_

13、NEW#undef THIS_FILEstatic char THIS_FILE = _FILE_;#endif/ CAboutDlg dialog used for App Aboutclass CAboutDlg : public CDialogpublic:CAboutDlg();/ Dialog Data/AFX_DATA(CAboutDlg)enum IDD = IDD_ABOUTBOX ;/AFX_DATA/ ClassWizard generated virtual function overrides/AFX_VIRTUAL(CAboutDlg)protected:virtua

14、l void DoDataExchange(CDataExchange* pDX); / DDX/DDV support/AFX_VIRTUAL/ Implementationprotected:/AFX_MSG(CAboutDlg)/AFX_MSGDECLARE_MESSAGE_MAP();CAboutDlg:CAboutDlg() : CDialog(CAboutDlg:IDD)/AFX_DATA_INIT(CAboutDlg)/AFX_DATA_INITvoid CAboutDlg:DoDataExchange(CDataExchange* pDX)CDialog:DoDataExcha

15、nge(pDX);/AFX_DATA_MAP(CAboutDlg)/AFX_DATA_MAPBEGIN_MESSAGE_MAP(CAboutDlg, CDialog)/AFX_MSG_MAP(CAboutDlg)/ No message handlers/AFX_MSG_MAPEND_MESSAGE_MAP()/ CExpDlg dialogCExpDlg:CExpDlg(CWnd* pParent /*=NULL*/): CDialog(CExpDlg:IDD, pParent)/AFX_DATA_INIT(CExpDlg)m_axis = 0;m_runmod = 0;m_trans =

16、30.0;m_fh = 10.0;m_dir = 0;m_acc = 0;m_hand = FALSE;m_str = _T("");/AFX_DATA_INIT/ Note that LoadIcon does not require a subsequent DestroyIcon in Win32m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);void CExpDlg:DoDataExchange(CDataExchange* pDX)CDialog:DoDataExchange(pDX);/AFX_DATA_MAP

17、(CExpDlg)DDX_Radio(pDX, IDC_XMOTOR, m_axis);DDX_Radio(pDX, IDC_SPEED, m_runmod);DDX_Text(pDX, IDC_TRANS, m_trans);DDX_Text(pDX, IDC_FH, m_fh);DDX_Radio(pDX, IDC_PDIR, m_dir);DDX_Radio(pDX, IDC_RADIO11, m_acc);DDX_Check(pDX, IDC_CHECK_HAND, m_hand);DDX_Text(pDX, IDC_EDIT1, m_str);/AFX_DATA_MAPBEGIN_M

18、ESSAGE_MAP(CExpDlg, CDialog)/AFX_MSG_MAP(CExpDlg)ON_WM_SYSCOMMAND()ON_WM_PAINT()ON_WM_QUERYDRAGICON()ON_BN_CLICKED(IDC_TRANS_START, OnTransStart)ON_BN_CLICKED(IDC_SUDDEN_STOP, OnSuddenStop)ON_BN_CLICKED(IDC_XMOTOR, OnXmotor)ON_BN_CLICKED(IDC_YMOTOR, OnYmotor)ON_BN_CLICKED(IDC_ZMOTOR, OnZmotor)ON_BN_

19、CLICKED(IDC_UMOTOR, OnUmotor)ON_BN_CLICKED(IDC_VMOTOR, OnVmotor)ON_BN_CLICKED(IDC_WMOTOR, OnWmotor)ON_BN_CLICKED(IDC_SPEED, OnSpeed)ON_BN_CLICKED(IDC_POSITION, OnPosition)ON_BN_CLICKED(IDC_PDIR, OnPdir)ON_BN_CLICKED(IDC_NDIR, OnNdir)ON_BN_CLICKED(IDC_RADIO11, OnRadio11)ON_BN_CLICKED(IDC_RADIO12, OnR

20、adio12)ON_EN_CHANGE(IDC_FH, OnChangeFh)ON_EN_CHANGE(IDC_TRANS, OnChangeTrans)ON_BN_CLICKED(IDC_CHECK_HAND, OnCheckHand)/AFX_MSG_MAPEND_MESSAGE_MAP()/ CExpDlg message handlersBOOL CExpDlg:OnInitDialog()CDialog:OnInitDialog();/ Add "About." menu item to system menu./ IDM_ABOUTBOX must be in

21、the system command range.ASSERT(IDM_ABOUTBOX & 0xFFF0) = IDM_ABOUTBOX);ASSERT(IDM_ABOUTBOX < 0xF000);CMenu* pSysMenu = GetSystemMenu(FALSE);if (pSysMenu != NULL)CString strAboutMenu;strAboutMenu.LoadString(IDS_ABOUTBOX);if (!strAboutMenu.IsEmpty()pSysMenu->AppendMenu(MF_SEPARATOR);pSysMenu

22、->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);/ Set the icon for this dialog. The framework does this automatically/ when the application's main window is not a dialogSetIcon(m_hIcon, TRUE);/ Set big iconSetIcon(m_hIcon, FALSE);/ Set small icon/ TODO: Add extra initialization heres6s1_s

23、et_critical ( NULL) ; s6s1_init( 1, NULL, true) ; s6s1_select ( 1) ; return TRUE; / return TRUE unless you set the focus to a controlvoid CExpDlg:OnSysCommand(UINT nID, LPARAM lParam)if (nID & 0xFFF0) = IDM_ABOUTBOX)CAboutDlg dlgAbout;dlgAbout.DoModal();elseCDialog:OnSysCommand(nID, lParam);/ If

24、 you add a minimize button to your dialog, you will need the code below/ to draw the icon. For MFC applications using the document/view model,/ this is automatically done for you by the framework.void CExpDlg:OnPaint() if (IsIconic()CPaintDC dc(this); / device context for paintingSendMessage(WM_ICON

25、ERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0);/ Center icon in client rectangleint cxIcon = GetSystemMetrics(SM_CXICON);int cyIcon = GetSystemMetrics(SM_CYICON);CRect rect;GetClientRect(&rect);int x = (rect.Width() - cxIcon + 1) / 2;int y = (rect.Height() - cyIcon + 1) / 2;/ Draw the icondc.DrawIcon(

26、x, y, m_hIcon);elseCDialog:OnPaint();/ The system calls this to obtain the cursor to display while the user drags/ the minimized window.HCURSOR CExpDlg:OnQueryDragIcon()return (HCURSOR) m_hIcon;void CExpDlg:OnTransStart() / TODO: Add your control notification handler code hereif (!UpdateData( true)

27、) return; if ( m_fh<0) m_fh=- 1*m_fh; if (m_dir=1) m_fh=m_fh*( - 1) ; if (m_runmod=0) s6s1_moveone( m_axis, m_trans, m_fh, true, m_acc=1) ;else s6s1_moveone( m_axis, m_trans, m_fh, false, m_acc=1) ; void CExpDlg:OnSuddenStop() / TODO: Add your control notification handler code here if ( ! UpdateD

28、ata( true) ) return; s6s1_stop_axis( m_axis) ; void CExpDlg:OnCancel() / TODO: Add extra cleanup heres6s1_close();CDialog:OnCancel();void CExpDlg:OnXmotor() / TODO: Add your control notification handler code herem_axis=0;void CExpDlg:OnYmotor() / TODO: Add your control notification handler code here

29、m_axis=1;void CExpDlg:OnZmotor() / TODO: Add your control notification handler code herem_axis=2;void CExpDlg:OnUmotor() / TODO: Add your control notification handler code herem_axis=3;void CExpDlg:OnVmotor() / TODO: Add your control notification handler code herem_axis=4;void CExpDlg:OnWmotor() / T

30、ODO: Add your control notification handler code herem_axis=5;void CExpDlg:OnSpeed() / TODO: Add your control notification handler code herem_runmod=1;void CExpDlg:OnPosition() / TODO: Add your control notification handler code herem_runmod=0;void CExpDlg:OnPdir() / TODO: Add your control notification handler code herem_dir=1;void CExpDlg:OnNdir() / TODO: Add your control notification handler code herem_dir=-1;void CExpDlg:OnRadio11() / TODO: Add your control notification handler code herem_acc=0;void CExpDlg:OnRadio12() / TODO: Add your control notification handler code herem_acc=1;void CEx

溫馨提示

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

最新文檔

評論

0/150

提交評論