2022年機械手運動仿真實驗報告_第1頁
2022年機械手運動仿真實驗報告_第2頁
2022年機械手運動仿真實驗報告_第3頁
2022年機械手運動仿真實驗報告_第4頁
2022年機械手運動仿真實驗報告_第5頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、機械手運動仿真實驗報告機械手構(gòu)造構(gòu)成(簡圖)為機械手底座為機械臂1為機械臂2 為機械臂3a、b、c為轉(zhuǎn)動副,機械臂實現(xiàn)3自由度運動機械手運動學(xué)方程推導(dǎo)繪圖框及轉(zhuǎn)動副夾角:繪圖框大小為400X400 轉(zhuǎn)動副a:anglea轉(zhuǎn)動副b:angleb轉(zhuǎn)動副c:anglec機械手運動范疇:機械臂1長度50,機械臂2長度100,機械臂3長度50。三個關(guān)節(jié)可實現(xiàn)360度旋轉(zhuǎn)。故機械臂運動范疇為以半徑為200旳圓內(nèi)。機械手底座:X:(150,200)Y:(250,200)機械臂1:X1:(200,200)Y1:(200+ 50 * cos(anglea*3.1415926/180), (200-50 * si

2、n(anglea*3.1415926/180) 機械臂2:X2:(200+ 50 * cos(anglea*3.1415926/180), (200-50* sin(anglea*3.1415926/180)Y2:(200 + 50 * cos(anglea*3.1415926/180)+100 * cos(angleb*3.1415926/180), (200 - 50 * sin(anglea*3.1415926/180)-100* sin(angleb*3.1415926/180)機械臂3:X3:(200 + 50 * cos(anglea*3.1415926/180)+100 * co

3、s(angleb*3.1415926/180), (200 - 50 * sin(angLea*3.1415926/180)-100* sin(angleb*3.1415926/180)Y3:( (200 + 50 * cos(anglea*3.1415926/180)+100 * cos(angleb*3.1415926/180)+50 * cos(anglec*3.1415926/180), (200 - 50 * sin(anglea*3.1415926/180)-100* sin(angleb*3.1415926/180)-50* sin(anglec*3.1415926/180)機械

4、手運動仿真程序編寫(核心函數(shù)代碼)pWnd-Invalidate();pWnd-UpdateWindow() ;pDC-Rectangle(0,0,400,400);DrawRobotBase();DrawRobotMemberBar1(m_fanglea);DrawRobotMemberBar2(m_fanglea, m_fangleb);DrawRobotMemberBar3(m_fanglea, m_fangleb, m_fanglec);/繪制底座及其顏色代碼void CDrawRobotDlg:DrawRobotBase()CPen SuiyiPen; SuiyiPen.Create

5、Pen(PS_SOLID,Wide,RGB(hong, lv, lan);CPen *oldPen;oldPen = pDC-SelectObject(&SuiyiPen);pDC-MoveTo(150,200);pDC-LineTo(250,200);pDC-SelectObject(oldPen);DeleteObject(SuiyiPen) ;/繪制桿1void CDrawRobotDlg:DrawRobotMemberBar1(float anglea)pDC-MoveTo(200,200);pDC-LineTo(int(200+ 50 * cos(anglea*3.1415926/1

6、80),int(200-50 * sin(anglea*3.1415926/180);/繪制桿2void CDrawRobotDlg:DrawRobotMemberBar2(float anglea,float angleb)pDC-MoveTo(int(200+ 50 * cos(anglea*3.1415926/180),int(200-50* sin(anglea*3.1415926/180);pDC-LineTo(int(200 + 50 * cos(anglea*3.1415926/180)+100 * cos(angleb*3.1415926/180),int(200 - 50 *

7、 sin(anglea*3.1415926/180)-100* sin(angleb*3.1415926/180);/繪制桿3void CDrawRobotDlg:DrawRobotMemberBar3(float anglea, float angleb, float anglec)pDC-MoveTo(int(200 + 50 * cos(anglea*3.1415926/180)+100 * cos(angleb*3.1415926/180),int(200 - 50 * sin(anglea*3.1415926/180)-100* sin(angleb*3.1415926/180);p

8、DC-LineTo(int(200 + 50 * cos(anglea*3.1415926/180)+100 * cos(angleb*3.1415926/180)+50 * cos(anglec*3.1415926/180),int(200 - 50 * sin(anglea*3.1415926/180)-100* sin(angleb*3.1415926/180)-50* sin(anglec*3.1415926/180);/轉(zhuǎn)動副a加減角度按鈕代碼void CDrawRobotDlg: OnButton 1() m_fanglea = m_fanglea + 1 ;UpdateData(

9、FALSE);Invalidate(FALSE) ;void CDrawRobotDlg:OnButton2() m_fanglea = m_fanglea - 1 ;UpdateData(FALSE);Invalidate(FALSE) ;/轉(zhuǎn)動副b加減角度按鈕代碼void CDrawRobotDlg:OnButton3() m_fangleb = m_fangleb + 1 ;UpdateData(FALSE);Invalidate(FALSE) ;void CDrawRobotDlg:OnButton4() m_fangleb = m_fangleb - 1 ;UpdateData(FA

10、LSE);Invalidate(FALSE) ;/轉(zhuǎn)動副c加減角度按鈕代碼void CDrawRobotDlg:OnButton5() m_fanglec = m_fanglec + 1 ;UpdateData(FALSE);Invalidate(FALSE) ;void CDrawRobotDlg:OnButton6() m_fanglec = m_fanglec - 1 ;UpdateData(FALSE);Invalidate(FALSE) ;/機械臂1啟動按鈕代碼void CDrawRobotDlg:OnButton7() AfxBeginThread(MoveThreada, thi

11、s) ;/機械臂2啟動按鈕代碼void CDrawRobotDlg:OnButton8() AfxBeginThread(MoveThreadb, this) ;/機械臂3啟動按鈕代碼void CDrawRobotDlg:OnButton9() AfxBeginThread(MoveThreadc, this) ;/機械臂1旋轉(zhuǎn)代碼UINT CDrawRobotDlg:MoveThreada(void *parama)CDrawRobotDlg *pDlga = (CDrawRobotDlg*)parama ;while(1)pDlga-m_fanglea = pDlga-m_fanglea

12、+ 1 ;pDlga-Invalidate(FALSE) ;Sleep(100) ;return 0 ;/機械臂2旋轉(zhuǎn)代碼UINT CDrawRobotDlg:MoveThreadb(void *paramb)CDrawRobotDlg *pDlgb = (CDrawRobotDlg*)paramb ;while(1)pDlgb-m_fangleb = pDlgb-m_fangleb + 1 ;pDlgb-Invalidate(FALSE) ;Sleep(100) ;return 0 ;/機械臂3旋轉(zhuǎn)代碼UINT CDrawRobotDlg:MoveThreadc(void *paramc)C

13、DrawRobotDlg *pDlgc = (CDrawRobotDlg*)paramc ;while(1)pDlgc-m_fanglec = pDlgc-m_fanglec + 1 ;pDlgc-Invalidate(FALSE) ;Sleep(100) ;return 0 ;/更新按鈕代碼void CDrawRobotDlg:OnButtonRefresh0() UpdateData(TRUE);Invalidate(FALSE) ;軟件界面截圖與闡明界面左邊為演示界面,右邊為數(shù)據(jù)輸入界面及運營按鈕。綠色框:三自由度機械手運動仿真演示界面紅色框:機械臂定位輸入框及啟動按鈕黃色框:底座顏色及

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論