Thế kỷ 21 là thế kỷ của khoa học kỹ thuật hiện đại và tiên tiến, nó đi sâu vào toàn bộ đời sống của con ngƣời, giúp con ngƣời trong mọi lĩnh vực, nó thay đổi cơ bắp con ngƣời từ những công việc đơn giản đến phức tạp, trong đó có ngành Cơ Điện Tử. Sự đi lên của ngành cơ khí gắn liền với sự ứng dụng công nghệ mới. Để đáp ứng nhu cầu ngày càng cao của xã hội và tiếp cận nền khoa học kỹ thuật trong tƣơng lai, thì con ngƣời đã tạo ra robot. Đó là sự thay đổi lực lƣợng sản xuất trong mọi ngành nghề bằng việc thay đổi sức lao động của ngƣời bằng máy móc, nhằm đảm bảo tăng năng suất lao động, sản lƣợng cũng nhƣ chất lƣợng sản phẩm. Do đó việc sử dụng các tay máy hay còn gọi là robot công nghiệp vào trong sản xuất đang đƣợc ƣa chuộng vì chúng đáp ứng đƣợc yêu cầu trên. Nhƣ chúng ta đã biết, robot công nghiệp có rất nhiều ƣu điểm đặc biệt là chất lƣợng và độ chính xác, ngoài ra còn kể đến hiệu quả và kinh tế cao, có thể làm việc trong môi trƣờng độc hại mà con ngƣời không làm việc đƣợc, các công việc yêu cầu cẩn thận không đƣợc nhầm lẫn, thao tác nhẹ nhàng tinh tế đòi hỏi trình độ của thợ bậc cao, và đặc biệt là robot không bị căng thẳng nhƣ con ngƣời nên có thể làm việc liên tục không ngừng nghỉ. Việc tìm hiểu nghiên cứu mô phỏng robot trong khuôn khổ môn học Lập trình mô phỏng các hệ cơ điện tử sẽ là cơ sở để chúng em tính toán, thiết kế robot trong công nghiệp phục vụ sản xuất. Cụ thể ở đây chúng em chọn đề tài mô phỏng hoạt động của Robot viết chữ.Em xin cảm ơn thầy Đỗ Đăng Khoa đã hƣớng dẫn chúng em để chúng em có thể hoàn thành project này một cách tốt nhất.
1 LỜI NÓI ĐẦU Thế kỷ 21 kỷ khoa học kỹ thuật đại tiên tiến, sâu vào tồn đời sống ngƣời, giúp ngƣời lĩnh vực, thay đổi bắp ngƣời từ công việc đơn giản đến phức tạp, có ngành Cơ Điện Tử Sự lên ngành khí gắn liền với ứng dụng công nghệ Để đáp ứng nhu cầu ngày cao xã hội tiếp cận khoa học kỹ thuật tƣơng lai, ngƣời tạo robot Đó thay đổi lực lƣợng sản xuất ngành nghề việc thay đổi sức lao động ngƣời máy móc, nhằm đảm bảo tăng suất lao động, sản lƣợng nhƣ chất lƣợng sản phẩm Do việc sử dụng tay máy hay gọi robot công nghiệp vào sản xuất đƣợc ƣa chuộng chúng đáp ứng đƣợc yêu cầu Nhƣ biết, robot cơng nghiệp có nhiều ƣu điểm đặc biệt chất lƣợng độ xác, ngồi kể đến hiệu kinh tế cao, làm việc mơi trƣờng độc hại mà ngƣời không làm việc đƣợc, công việc yêu cầu cẩn thận không đƣợc nhầm lẫn, thao tác nhẹ nhàng tinh tế đòi hỏi trình độ thợ bậc cao, đặc biệt robot không bị căng thẳng nhƣ ngƣời nên làm việc liên tục khơng ngừng nghỉ Việc tìm hiểu nghiên cứu mơ robot khn khổ mơn học Lập trình mơ hệ điện tử sở để chúng em tính tốn, thiết kế robot cơng nghiệp phục vụ sản xuất Cụ thể chúng em chọn đề tài mô hoạt động Robot viết chữ.Em xin cảm ơn thầy Đỗ Đăng Khoa hƣớng dẫn chúng em để chúng em hồn thành project cách tốt Hà Nội, ngày 10 tháng năm 2017 Nhóm sinh viên thực Nguyễn Đức Tiến Phạm Ngoc Tùng Vũ Nhật Hiếu BẢNG PHÂN CÔNG NHIỆM VỤ VÀ ĐÁNH GIÁ CÁC THÀNH VIÊN Phân công nhiệm vụ cho báo cáo trình học: STT Họ tên Phân cơng nhiệm vụ Vũ Nhật Hiếu Tìm hiểu cách tạo file *STL lớp CElement Nguyễn Đức Tiến Tìm hiểu lớp CRobot làm slide báo cáo Phạm Ngọc Tùng Tìm hiểu cách mở file *STL vào OpenGL lớp CModel Phân công nhiệm vụ cho project cuối kỳ: STT Họ tên Phân công nhiệm vụ Vũ Nhật Hiếu Giải toán động học Đánh giá giáo viên ngƣợc, động học thuận, thiết kế quỹ đạo Nguyễn Đức Tiến Xử lí file Solid xuất vẽ, làm báo cáo,slide,thuyết trình Phạm Ngọc Tùng Code chính, thiết kế đồ họa môi trƣờng mô OpenGL Mục lục LỜI NÓI ĐẦU CHƢƠNG 1: TỔNG QUAN 1.1 Giới thiệu chung 1.2 Giới thiệu dự án 1.3 Yêu cầu toán 1.4 Ứng dụng robot CHƢƠNG 2: MƠ HÌNH HỐ ROBOT 3DOF 2.1 Phân tích mơ hình robot 2.2 Bản vẽ chi tiết tính chất học khác khâu Robot 2.3 Mơ hình ROBOT 13 CHƢƠNG 3: TÍNH TỐN VÀ THIẾT KẾ ROBOT 14 3.1 Mơ hình Robot đơn giản 14 3.2 Bản D-H ma trận biến đổi toạ độ 14 3.3 Bài toán động học thuận 16 3.3.1 Xây dựng quy luật chuyển động thao tác robot theo mục đích ứng dụng 17 3.4 Bài tốn động học ngƣợc 18 3.5 Thiết kế quỹ đạo 19 CHƢƠNG 4: XÂY DỰNG CHƢƠNG TRÌNH MÔ PHỎNG 22 4.1 Giới thiệu môi trƣờng mô OPENGL 22 4.2 Xây dựng tốn mơ 22 4.3 Làm việc với file *STL 31 4.4 Nhúng file *.STL vào môi trƣờng OPENGL 37 4.4 Các lớp có chƣơng trình mơ 42 4.5 Thiết kế Dialog 44 KẾT LUẬN 49 TÀI LIỆU THAM KHẢO 50 CHƢƠNG 1: TỔNG QUAN 1.1 Giới thiệu chung Ngày nay, robot cơng nghiệp có vai trò quan trọng đƣợc ứng dụng rộng rãi trình sản xuất công nghiệp đại Để chế tạo mơ hình robot đem phục vụ sản xuất phải trải qua nhiều giai đoạn nhƣ: Tìm hiểu loại robot đặc tính hoạt động nó, tính tốn cách xác khâu cấu, phƣơng trình hoạt động thiết kế mơ hình 3D cho tối ƣu hiệu Một mơ hình robot hoạt động trơn tru đáp ứng đƣợc yêu cầu kỹ thuật đề đòi hỏi việc chế tạo tỉ mỉ chi tiết bƣớc Trong mơ hình robot bao gồm nhiều phần nhƣ Cơ khí để chế tạo chi tiết, điện tử để điều khiển hoạt động tin học để lập trình cho cấu hoạt động theo quỹ đạo yêu cầu kỹ thuật đề Một phần quan trọng mà mô hình phải thực mơ q trình hoạt động Sau hồn thiện mơ hình robot mơ kiểm tra máy tính xem mơ hình có hoạt động tốt hay khơng, có thực đƣợc u cầu đề hay khơng, sau đƣa vào thơng số tính tốn, giả lập q trình hoạt động đối tƣợng cách trực quan Trên sở kiểm nghiệm đƣợc q trình hoạt động cấu có theo kết tính tốn thiết kế hay khơng Mặt khác thay đổi cách linh hoạt số liệu, thơng số ban đầu để tìm lời giải cho tốn tối ƣu cấu Mơ đóng vai trò lớn việc giảng dạy, báo cáo, truyền đạt thông tin sản phẩm cho ngƣời Giúp cho nhà thiết kế có nhìn tổng quan sản phẩm để từ cải tiến sản phẩm, đƣa trình sản xuất đơn giản, tối ƣu cho sản phẩm Vì vậy, thấy mô khâu quan trọng, thiếu q trình sản xuất robot cơng nghiệp Trong lĩnh vực khí có nhiều phần mềm tiếng nhƣ: AutoCAD, Inventor, SolidWorks, Catia Dùng để tính tốn, thiết kế mơ , kiểm tra điều kiện làm việc chi tiết Tuy nhiên, phần mềm bị hạn chế cần mô kết cấu hoạt động theo quy trình tính tốn thiết kế cụ thể ví dụ nhƣ hoạt động robot theo quỹ đạo cụ thể Khi đó, để chủ động , linh hoạt q trình tính tốn thiết kế đơn giản tiện lợi lập trình mơ phỏng, qua ta xây dựng đáp ứng với nội dung mục đích thiết kế 1.2 Giới thiệu dự án Để lập trình mơ đƣợc hoạt động robot bọn em sử dụng Visual C++ vào thƣ viện đồ họa OpenGL để xấy dựng đƣợc tốn mơ phù hợp với yêu cầu Cụ thể chúng em lựa chọn robot viết chữ có bậc tự do, có ƣu điểm nhƣ sau: - Tiết kiệm diện tích khâu đế - Dễ dàng thực với đối tƣợng nằm mặt phẳng nằm ngang - Kết câu đơn giản nhƣng đảm bảo tính linh hoạt 1.3 u cầu tốn u cầu vị trí: Robot thao tác không gian với quỹ đạo thao tác đặt Yêu cầu hướng:Hƣớng đầu hàn tạo với mặt chi tiết góc theo yêu cầu Với cấu trúc robot có bậc tự trở nên thao tác linh hoạt, nhiên việc tính tốn trở lên khó khăn, phức tạp Do chọn cấu trúc robot làm phức tạp q trình tính tốn, gây tốn Để đủ đảm bảo yêu cầu toán đặt ta chọn cấu robot có bậc tự dođể tiến hành q trình tính tốn thiết kế Phần mềm sử dụng Visual Studio môi trƣờng đồ hoạ OpenGL u cầu đặt phải mơ xác chuyển động Robot thông qua việc giải toán động học thuận động học ngƣợc, ứng dụng kiến thức đƣợc học môn học Robotics Lập trình mơ Robot hệ điện tử 1.4 Ứng dụng robot Robot phát triển để đƣa vào ngành công nghiệp sản xuất nhằm góp phần nâng cao suất dây truyền công nghệ, giảm giá thành, nâng cao chất lƣợng khả cạnh tranh sản phẩm, đồng thời cải thiện điều kiện lao động Robot thay cho ngƣời cơng việc độc hại, nguy hiểm hay môi trƣờng khắc nghiệt Đặc biệt robot làm việc với độ xác cao CHƢƠNG 2: MƠ HÌNH HỐ ROBOT 3DOF 2.1 Phân tích mơ hình robot Số bậc tự cần thiết: Để đảm bảo robot có khả đƣa đầu chạm tới vị trí khơng gian - làm việc robot cần từ bậc tự trở lên - Các khâu có mơ hình robot: Khâu Chuyển động Chức Cố định Dùng để gá đặt ,định vị robot liên kết với khâu 1 Quay Liên kết với khâu khâu , tạo chuyển động quay cho khâu 2 Quay Liên kết với khâu khâu ,tạo chuyển động tịnh tiến cho khâu 3 Tịnh Tiến Liên kết với khâu 2, giúp xác định điểm đầu bút 2.2 Bản vẽ chi tiết tính chất học khác khâu Robot 2.2.2 Bản vẽ chi tiết khâu - Khâu 0: - Khâu 1: - Khâu : 10 - Khâu 3: 2.2.2 Tính chất học khâu robot Chọn vật liệu, khối lƣợng momen khâu: - Chọn vật liệu khâu thép cacbon thƣờng (plain carbon steel) Tính chất học khâu: 10 36 Bƣớc 3: File -> Save As hộp thoại sau Trong Save as type chọn dịnh dạng STL Bƣớc 4: Thay đổi số tùy chọn cách chọn Option Bƣớc 5: Save để lƣu file 36 37 4.4 Nhúng file *.STL vào mơi trƣờng OPENGL Có nhiều cách để đƣa file *.STL vào OpenGL, project đƣa cách làm nhƣ sau: Thêm số lớp hỗ trợ OpenGL vào project Thêm tệp - Color.h & Color.cpp: - Light.h & Light.cpp - Material.h & Material.cpp - Vec3D.h - OpenGLWnd.cpp & OpenGLWnd.h - SaveRestore.cpp & SaveRestore.h Thêm lớp đọc file STLvào project - STL_File.h & STL_File.cpp - Vector4D.h 37 38 Thêm lớp CModel, CRobot vào project Tạo Filter Robot Thêm file Model.h, Model.cpp, Robot.h, Robot.cpp Thêm biến lớp CRobot vào lớp COpenGLInit Thêm code InitRobot vào hàm OnCreate Thêm code Draw Robot vào hàm OnDraw 38 39 Khởi tạo thông tin robot - Khởi tạo hàm InitData - Nạp tham số động học cho khâu robot di - Nạp giá trị đầu biến khớp qi - Cài đặt liệu khâu từ file STL - Cài đặt scale cho khâu từ scale robot 39 40 Vẽ robot - Vẽ lần lƣợt khâu robot từ khấu đế, khâu 1, khâu 2, khâu - Gọi hàm drawObject để vẽ khâu tƣơng ứng - Khâu 0, khâu 1: 40 41 - Khâu 2, khâu 3: Kết quả: 41 42 4.4 Các lớp có chƣơng trình mơ Trong project sử dụng số lớp sau: - OpenGLInit: Khởi tạo môi trƣờng opengl thực vẽ - CLight: Thiết lập ánh sáng - CSTLFile: Làm việc với file, chứa hàm load, vẽ file stl, lƣu file, đọc file - Robot: Chứa hàm tính toán động học robot 4.4.1 Lớp ROBOT classCRobot { public: CRobot(); public: CModel model[4]; double m_d1; //thong so robot double m_a1; double m_a2; double m_d3_min; double m_d3_max; double m_q1; // cac bien khop double m_q2; 42 43 double m_q3; vector m_vtTrajectory; vector m_vtQ1;//vecto quy dao vector m_vtQ2; vector m_vtQ3; vector m_vtV1;//vecto van toc vector m_vtV2; vector m_vtV3; vector m_vtA1;//vecto gia toc vector m_vtA2; vector m_vtA3; double m_dScale; public: void InitData();// du lieu ban dau void ReadData(CString sPath);//doc cac bien khop tu file txt void UpdateData();//cap nhat vi tri bien khop void ClearData(); void Draw();// ve cac khau 43 44 void DrawEndPoint(doubleq1, doubleq2, doubleq3);// ve diem cuọi void CalculateData(); public: int m_nStep; public: int m_nCurrentModel; void increaseOnePos(); void decreaseOnePos(); }; 4.5 Thiết kế Dialog 4.5.1 Tạo Dialog - Click chuột phải vào RobotSimulator Chọn Add Chọn Resource 44 45 - Chọn Dialog Chọn New - Tạo dialog nhƣ hình: 45 46 Objects ID Caption Function Dialog IDD_DIALOG_ROBOT_CONTROL Static IDC_STATIC Edit Control IDC_EDIT_CHU_CAI Button IDC_BUTTON_VE_CHU_CAI Draw Vẽ chữ Button IDC_BUTTON_PAUSE Pause Tạm dừng Enter text Nhập chữ chƣơng trình Button IDC_BUTTON_NEXT Next Chạy bƣớc Button IDC_BUTTON_RUN Run Chạy tiếp chƣơng trình Button IDC_BUTTON_STOP Stop Dừng chƣơng trình Button IDC_DrawTung Tung Viết chữ tùng Button IDC_DrawTien Tien Viết chữ tiến Button IDC_DrawHieu Hieu Viết chữ hiếu Code hàm chính: Hàm Pause voidCRobotControlDlg::OnBnClickedButtonPause() { CRobotSimulatorView* pView = afxGetMainView(); if(pView) { 46 47 pView->Pause(); pView->Invalidate(); } } Hàm Run voidCRobotControlDlg::OnBnClickedButtonRun() { CRobotSimulatorView* pView = afxGetMainView(); if(pView) { pView->Run(); pView->Invalidate(); } } 4.5.2 Tạo lớp hiển thị Dialog openGL Click chuột phải vào RobotSimulator Chọn Add Chọn Class Đặt tên cho lớp 47 48 Class CrobotControlView: 48 49 KẾT LUẬN Nhƣ vậy, mơn học nhóm em tìm hiểu trình bày xong cách xây dựng chƣơng trình mơ hoạt động Robot viết chữ với hỗ trợ phần mềm nhƣ SolidWork, VisualC++, OpenGL, Maple Trong trình làm chúng em thực công việc sau: + Về mặt lý thuyết: - Nắm vững biết cách áp dụng sở lý thuyết để xây dựng chƣơng trình mơ chuyển động cho robot - Nắm vững đƣợc quy trình giải tốn tính tốn thiết kế, mô điều khiển - Hiểu biết cách sử dụng chƣơng trình phần mềm nhƣ SolidWork, MFC, OpenGL, Maple, Visual C++ + Về mặt thực hành: - Xây dựng đƣợc chƣơng trình để mơ hoạt động robot với chức nhƣ chạy chƣơng trình , dừng chƣơng trình kéo thả chuột tƣơng tác với mơ hình hoạt động robot - Đọc file *.STL để tiến hành mô chuyển động Robot viết chữ + Về phƣơng hƣớng phát triển: - Xây dựng chƣơng trình (project) hoàn chỉnh, tăng thêm khâu, khớp cho robot cấu động học khác - Xây dựng chƣơng trình với tốc độ xử lý đồ họa nhanh hơn, đọc file liệu nhanh mà khơng bị chƣơng trình - Qua mơn học chúng em có sở để mơ tốn mơ hoạt động robot 49 50 TÀI LIỆU THAM KHẢO 1.GS.TSKH Nguyễn Văn Khang, Động lực học hệ nhiều vật, NXB Khoa học Kỹ thuật Hà Nội, 2007 GS.TSKH Nguyễn Thiện Phúc , Robot Công Nghiệp, NXB Khoa học Kỹ thuật Hà Nội, 2006 3.GS.Phạm Văn Ất, C++ & lập trình hướng đối tượng , NXB Khoa học Kỹ thuật Hà Nội, 2006 4.Neon Helium Production, OpenGL Tutorial 50 ... mơ xác chuyển động Robot thơng qua việc giải tốn động học thuận động học ngƣợc, ứng dụng kiến thức đƣợc học mơn học Robotics Lập trình mô Robot hệ điện tử 1.4 Ứng dụng robot Robot phát triển để... động theo quy trình tính tốn thiết kế cụ thể ví dụ nhƣ hoạt động robot theo quỹ đạo cụ thể Khi đó, để chủ động , linh hoạt q trình tính tốn thiết kế đơn giản tiện lợi lập trình mơ phỏng, qua ta... công nhiệm vụ cho báo cáo q trình học: STT Họ tên Phân cơng nhiệm vụ Vũ Nhật Hiếu Tìm hiểu cách tạo file *STL lớp CElement Nguyễn Đức Tiến Tìm hiểu lớp CRobot làm slide báo cáo Phạm Ngọc Tùng