Một khi được lập trình hợp lý, các robot sẽ tạo ra những mối hàn y như nhau trên các vật hàn cùng kích thước và quy cách.Chuyển động của que hàn được tự động hóa sẽ giảm nguy cơ mắc lỗi
Trang 1MỤC LỤC
LỜI NÓI ĐẦU 2
YÊU CẦU ĐỀ TÀI 3
A.TÍNH TOÁN, THIẾT KẾ ROBOT 4
1 Xây dựng cấu trúc , thiết lập hệ phương trình động học của robot 4
2 Giải bài toán động học ngược của Robot 5
3 Thiết kế 2D , 3D các khâu của Robot 8
B.CÁC CÔNG CỤ ĐỂ XÂY DỰNG BÀI TOÁN MÔ PHỎNG HOẠT ĐỘNG CỦA ROBOT 13
1- Giới thiệu về phần mền OpenGL : 13
2- Đặc điểm của OpenGL: 14
3- Giới thiệu về ngôn ngữ lập trình Visual C ++ và các ứng dụng của MFC 16
C.XÂY DỰNG CHƯƠNG TRÌNH MÔ PHỎNG 17
D.XÂY DỰNG CHƯƠNG TRÌNH MÔ PHỎNG THEO QUỸ ĐẠO ĐÃ ĐƯỢC SỐ HÓA 27
Trang 2LỜI NÓI ĐẦU
Trong sự nghiệp công nghiệp hóa, hiện đại hóa đất nước vấn đề tự động hóa sản xuất có vai trò đặc biệt quan trọng.
Mục tiêu ứng dụng robot trong công nghiệp là nhằm nâng cao năng suất dây chuyền công nghệ, nâng cao chất lượng và khả năng cạnh tranh của sản phẩm , đồng thời cải thiện điều kiện lao động Sự cạnh tranh hàng hóa đặt ra một vấn đề thời sự là làm sao để hệ thống tự động hóa sản xuất phải có tính linh hoạt cao nhằm đáp ứng sự biến động thường xuyên của thị trường hàng hóa cạnh tranh Robot công nghiệp là bộ phận cấu thành không thể thiếu không thể thiếu trong việc tạo ra những hệ thống sản xuất linh hoạt đó Robot hàn chiếm 80% về Robot trong sản xuất công nghiệp Robot hàn có độ chính xác và năng suất cao Hàn bằng robot nâng cao
độ tin cậy của mối hàn Một khi được lập trình hợp lý, các robot sẽ tạo ra những mối hàn y như nhau trên các vật hàn cùng kích thước và quy cách.Chuyển động của que hàn được tự động hóa sẽ giảm nguy cơ mắc lỗi trong thao tác, do vậy giảm phế phẩm và khối lượng công việc phải làm lại Robot không những làm việc nhanh hơn mà còn có thể hoạt động liên tục suốt ngày đêm, hiệu quả hơn nhiều so với một hệ thống hàn tay.Quá trình hàn được tự động hóa giải phóng người công nhân khỏi những tác hại khi hàn do tiếp xúc với bức xạ hồ quang, vẩy hàn nóng chảy, khí độc
Với những ứng dụng và ưu việt như trên, việc học tập, nghiên cứu và ứng dụng Robot hàn
là vấn đề cấp thiết đối với sinh viên ngành công nghệ hàn Sinh viên được giao nhiệm vụ giải bài toán động học ngược của Robot hàn 6 bậc tự do và tịnh tiến Trong quá trình sinh viên làm
đồ án Cơ Điện tử này, đã tích lũy được kiến thức cơ bản về Robot hàn, ứng dụng của Robot hàn để phục vụ công việc và học tập trong tương lai; biết cách tìm và đọc tài liệu, đặc biệt
là tài liệu tiếng anh; kiến thức về lập trình C# , ….Em xin gửi lời cảm ơn chân thành tới
Bộ môn hàn và công nghệ kim loại, đồng thời gửi lời cảm ơn chân thành tới PGS.TS Bùi Văn Hạnh đã tận tình giúp đỡ, định hướng để em hoàn thành Đồ án này.
Trang 3YÊU CẦU ĐỀ TÀI
Đề tài : “Mô phỏng chuyển động của Robot hàn AX-V6”
Yêu cầu đặt ra :
Xây dựng cấu trúc, thiết lập hệ phương trình động học của Robot
Giải bài toán động học ngược robot:
o Tự xây dựng một quy luật chuyển động của khâu thao tác E của Robot
o Khảo sát bài toán động học ngược của Robot để tìm quy luật chuyểnđộng của các khâu
o Ứng dụng phần mềm tính toán , mô phỏng số
Thiết kế mô phỏng:
o Thiết kế 2D, 3D các khâu của Robot
o Mô phỏng hoạt động của Robot
Trang 4A TÍNH TOÁN, THIẾT KẾ ROBOT
1. Xây dựng cấu trúc , thiết lập hệ phương trình động học của robot
Cấu trúc Robot được vẽ như sau :
Đánh dấu hệ trục tọa độ theo phương pháp Denavit - Hatenberg ta có bảng DH như sau :
Trang 5Các ma trận quay cơ bản trong hệ tọa đồ thuần nhất bốn chiều và có dạng như sau:
Tx(φ) = Rot(x,φ) = 1 0 0 0 ) = Rot(x,φ) = Rot(x,φ) = 1 0 0 0 ) = 1 0 0 0
0 cosφ) = Rot(x,φ) = 1 0 0 0 -sinφ) = Rot(x,φ) = 1 0 0 0 0
0 sinφ) = Rot(x,φ) = 1 0 0 0 cosφ) = Rot(x,φ) = 1 0 0 0 0
0 0 0 1
Trang 6Ty() = Rot(y,) = cos 0 sin 0
2. Giải bài toán động học ngược của Robot
a) Xây dựng quỹ đạo chuyển động :
Ta sẽ đi xây dựng một quỹ đạo chuyển động của khâu cuối E
Ta hãy tính toán động học để điều khiển rôbốt thực hiện được thao tác công nghệtheo yêu cầu hàn một mối hàn là đường xoắn trụ trên vật thể hình trụ có kích thướcchiều dài và bán kính lớn Đường hàn là một đường xoắn ốc có góc nghiêng/ 9(rad)
Quỹ đạo chuyển động của mỏ hàn trong hệ tọa độ vật được cho như sau:
Trang 7Ở đây hệ tọa độ vật được xác định bởi các giá trị sau:
Ta tính cho rôbốt thực hiện mối hàn khi giá robot cố định, vật hàn di động với số
vòng xoắn ốc của mối hàn là: nvg=2,5, vận tốc hàn: v h = 10mm/s.
Thời gian cần thiết để thực hiện là:
2 _ cos
vg ds
h
t v
Xét hệ phương trình động học :
1 2 3
4 11 11
5 22 22
4 33 33
( ) ( )( ) ( )( ) ( )( ) ( )( ) ( )( ) ( )
Trang 8Để giải phương trình động học ngược chúng ta sử dụng giải thuật Newton- Raphson
để giải hệ 6 phương trình 6 ẩn trên tại thời điểm 0
Phương pháp N-R là một phương pháp lặp, trong đó ta sẽ xây dựng chuỗi vector{qk} Biểu thức hồi quy của nó là:
qk+1 = qk - F−1x (q k)∗f (qk , t0 ) (2)Trong đó :
Thuật giải như sau:
B1: Đặt k=0
B2: Chọn xấp xỉ ban đầu q0
B3: Tính h(qk , t0)
Nếu | h(qk , t0)| <ε ( Với ε là hằng số dương bé cho trước ) với mọi i=1,…,6 thì
dừng, nếu không thì tiếp tục bước 4
B4: Tính ma trận Jacobi tại qktức là F−1x (q k)
B5: Thay vào phương trình (2) để tìm qk+1
Trang 9Ở đây chúng ta sử dụng phần mềm tính toán Maple:
3. Thiết kế 2D , 3D các khâu của Robot
Sử dụng phần mềm Solidwork để thiết kế chi tiết đúng với yêu cầu đặt ra về kích thước, kết cấu,…
Robot được thiết kế gồm các khâu bao gồm cả khâu đế:
Trang 12Khâu 5
Trang 13Tiến hành lắp ghép các chi tiết với nhau ta được robot hoàn chỉnh :
Trang 14B CÁC CÔNG CỤ ĐỂ XÂY DỰNG BÀI TOÁN MÔ PHỎNG HOẠT
ĐỘNG CỦA ROBOT
1- Giới thiệu về phần mền OpenGL :
Để hiểu một cách cụ thể về công cụ đồ họa như OpenGL thì một câu hỏi được đặt ra
là : OpenGL là gì ? và tại sao lại sử dụng OpenGL cho bài toán mô phỏng
Hình 1.1 Logo OpenGL
OpenGL là chữ viết tắt của Open Graphic Library là 1 thư viện đồ họa tốc độ cao và
Trang 15hãng Silicon Graphic Library Inc phát triển cho các WorkStation đồ họa tốc độ cao từnăm 1982.Sau đó từ năm 1992 thì OpenGL đã trở thành một chuẩn công nghiệp và đắctính kỹ thuật của OpenGL do ủy ban kỹ thuật ARB (Architectural Review Board ) phêchuẩn.
Trong công nghệ đồ họa động đang ngày càng được ứng dụng trong cuộc sống vàngày nay nó đã được phát triển tương đối mạnh mẽ ở Việt Nam.Trong kỹ thuật thì việc
sử dụng các ứng dụng của OpenGL cũng như DirectX vào việc mô phỏng các cơ cấumáy móc, các họat động của Rôbốt công nghiệp trước khi đem thử nghiệm bằng môhình thực là giải pháp mà rất nhiều kĩ sư cơ khí cũng như cũng như các viện nghiên cứulựa chọn do tính ưu việt của nó trong việc thể hiện các mô hình đồ họa động trongkhông gian 3 chiều (3D) Vì vậy trong phạm vi của đồ án này em chọn cách sử dụngOpenGL để xây dựng bài toán mô phỏng
2- Đặc điểm của OpenGL:
Các khả năng của thư viện OpenGL cung cấp.OpenGL là một thư viện đồ họa rất
lớn gồm khoảng 150 hàm hỗ trợ một số tính năng cơ bản sau:
2.1.Khả năng thể hiện các đối tượng đồ hoạ cơ bản.
OpenGL cũng có cách xây dựng các đối tượng theo cách riêng Trong OpenGL, mọiđối tượng hình học đều được mô tả cơ bản từ các vertex Vertex cũng có thể hiểu là mộtđiểm Cấu trúc này bao gồm bộ 4 số thực chỉ tọa độ trong không gian Để chỉ định mộtvertex, ta dùng:
glVertex{234}{sifd}[v](TYPEcoords);
Từ hình vẽ trên ta có thể thấy các trường khai báo có nội dung như sau:
[v] - véctơ chứa các phần tử là tọa độ của Vertex.
{sifd}- kiểu tham số của vector: Interger, float…
Trang 16{234}- số phần tử của véctơ
Các đối tượng đồ hoạ cơ bản như điểm,đoạn thẳng,đa giác,các đường cong hay mặt cong bậc hai
GL_POINT Hàm này cung cấp các chức năng vẽ điểm (tức là từng
Vertex được vẽ riêng)GL_LINE Vẽ đường thẳng nối giữa 2 điểm ( Mỗi cặp vertex
được coi như 2 đầu một đoạn thẳng)
GL_LINE_STRIP Tập hợp của những đoạn thẳng nối với nhau ( Bộ 4
vertex xem như các đỉnh tứ giác (có lặp))GL_LINE_LOOP Đường gấp khúc khép kín(Như trên nhưng vertex đầu
và cuối được nối với nhau (lặp vòng))GL_TRIANGLES Vẽ hình tam giác.( Bộ 3 vertex được xem các đỉnh một
tam giác (không lặp))GL_QUADS Vẽ tứ giác.( Bộ 4 vertex được xem như 4 đỉnh 1 đa
giác (không lặp))GL_TRIANGLES_STRI
P
Vẽ tập hợp các tứ giác liền nhau chung một cạnh.( Bộ
3 vertex xem như các đỉnh tam giác (có lặp))GL_TRIANGLE_FAN Vẽ hình quạt.( Vertex 0 là đỉnh chung kết hợp cặp đỉnh
bất kỳ tạo tam giác)
2.2 Khả năng quan sát đối tượng.
Các đối tượng có thể quan sát từ nhiều góc độ khác nhau thông qua các phép biến đổi
vị trí mắt nhìn hay phép biến đổi vị trí vật cũng như các phép chiếu
2.3 Khả năng định màu sắc vật liệu đối tượng.
Có thể thể hiện màu sắc đối tượng một cách đa dạng và đặc biệt là khả năng thể hiệnthuộc tính vật liệu
Trang 172.4 Khả năng tạo hiệu ứng ánh sáng OpenGL trong chương trình mô phỏng.
Cho phép tạo ra hiệu ứng ánh sáng như trong thực tế tạo nên cảm giác thật cho các
mô hình và khung cảnh 3 chiều
2.5 Khả năng tạo khung cảnh mô phỏng thực tế OpenGL
Hỗ trợ các kỹ thuật tạo các khung cảnh giống với thực tế như kỹ thuật dán ảnh
(texture mapping ) để tạo các khung cảnh thực tế, kỹ thuật sương mù (fog) cho phép tạo
hiệu ứng hình ảnh mờ dần khi đối tượng chuyển động xa khỏi mắt nhìn
Kỹ thuật trộn màu (Blending) cho phép tạo các vật thể trong mờ có thể nhìn xuyên
qua được Kỹ thuật loại bỏ răng cưa (Antialiasing).Để tạo thành các Texture Mappingthì các lệnh như sau sẽ thực thi trong OpenGL
2.6 Khả năng cải thiện tốc độ OpenGL.
Cho phép cải thiện tốc độ hiển thị bằng kỹ thuật danh sách hiển thị (display list)
2.7 Khả năng chọn các đối tượng đồ hoạ (selection and hitting derect).
Kỹ thuật này cho phép chọn các đối tượng đồ hoạ 3 chiều và ứng dụng trong kỹ thuật
mô phỏng va chạm của các vật thể
3- Giới thiệu về ngôn ngữ lập trình Visual C ++ và các ứng dụng của MFC
Visual C++ là một trong các ngôn ngữ lập trình thuộc dòng Visual Studio của hãngMicrosoft, phát triển dựa trên nền tảng là ngôn ngữ lập trình hướng đối tượng C++.Visual C++ ra đời khoảng những năm 1990 và càng ngày càng được sử dụng rộng rãinhất là các ứng dụng trong kỹ thuật như là lập trình nhúng,lập trình điều khiển và lậptrình mô phỏng Việc tạo ra các giao diện phức tạp và trình bày đẹp đối với Visual C++
khá là đơn giản, và đây chính là thế mạnh của Visual C++ trong việc trợ giúp đắc lực chongười lập trình khi xây dựng những dự án lớn hoặc trong kỹ thuật lập trình hệ thống.MFC là lớp nền tảng của Microsoft (Microsoft Foundation Classes), là một công cụmạnh trong lập trình ứng dụng cho hầu hết các lĩnh vực vì nó có giao diện đáp ứng mọinhu cầu của người sử dụng trong việc thiết kế các giao diện của chương trình mô phỏng
Trang 18C XÂY DỰNG CHƯƠNG TRÌNH MÔ PHỎNG
Các bước xây dựng bài toán mô phỏng gồm có:
- Cách tạo ra project MFC để thực hiện quá trình mô phỏng
- Khởi tạo các gói thư viện của OpenGL
- Thiết kế mô hình trên Solidworks
- Chuyển mô hình sang tệp tin *.STL
- Xây dựng Module đọc File *.STL
- Xây dựng chương trình hiển thị robot
- Mô phỏng trên OpenGL
1 Cách tạo ra project MFC để thực hiện quá trình mô phỏng :
Từ Giao diện của chương trình Visual Studio 2008 ta chọn File/New/Project
Trang 19Lựa chọn như hình vẽ rồi chọn OK Xuất hiện box MFC Application Wizard Ở đây ta sẽ lựa chọn các tham số Sau khi ấn Next thì lựa chọn như hình vẽ Chú ý chọn Sigle document ở phần Application type
Trang 20Một số lựa chọn đáng chú ý như hình vẽ dưới.
Trang 21Tick bỏ phần Printing and print preview Ấn Next và chọn Finish
Có thể thấy rõ MFC đã làm gì cho ta Mặc dù chưa xây dựng code chương trìnhnhưng MFC đã cung cấp sẵn giao diện của một ứng dụng chuẩn trong môi trườngWindows.Mà Visual C++ là một ngôn ngữ lập trình hướng đối tượng, cho nên mọi ứngdụng đều được xây dựng trên cơ sở của các lớp
Chức năng của các lớp cơ sở của ứng dụng MFC như sau :
- CApp : là lớp ứng dụng (Applicatiton Class) có nhiệm vụ là khởi tạo và chạy ứngdụng
Trang 22- CDoc : là lớp tài liệu (Document Class) của ứng dụng, có nhiệm vụ nạp và duy trì 1 tàiliệu Một tài liệu có thể là bất cứ cái gì,từ một bản thảo cho đến các việc cài đặt của mộtthiết bị mạng…Tuy nhiên, mục đích sử dụng của chương trình là mô phỏng nên khôngcần quan tâm nhiều đến lớp này.
- CView: là lớp hiển thị của ứng dụng (View Class),có nhiệm vụ cung cấp một haynhiều View (khung) cho tài liệu.Trong chương trình mô phỏng ta sẽ cần sử dụng rấtnhiều trong lớp này để khởi tạo cho OpenGL và các thao tác vẽ lại trên lớp này
- CmainFrame: là lớp khung (Frame Class) của ứng dụng và có nhiệm vụ hiển thị vàtruyền lệnh của người dùng
2 Khởi tạo và Thiết lập các gói thư viện của OpenGL
- Trong chương trình mô phỏng robot của báo cáo , chúng tôi có sử dụng 1 số hàm thư viện
có sẵn của những người đi trước giúp việc mô phỏng được giảm bớt đi phần nào đó
STL.H, STLdll.dll,stldll.lib - Header files : Chúng ta đặt các file này cùng với thư mục
void translate( const vector3f &trans);
void translate_x( const float &dist);
void translate_y( const float &dist);
Trang 23void rotate( const float &angle, vector3f &axis);
void rotate_x( const float &angle);
void rotate_y( const float &angle);
void rotate_z( const float &angle);
void scale( const vector3f &scale);
void transformPoint( vector3f *vec );
void transformVector( vector3f *vec );
OpenGL.cpp , OpenGl.h - Hàm thư viện Open Gl Nó chứa 1 số hàm quan trọng như
OnTimer, hay DisplayFunction() ( hiện thị robot), Ondestroy , … Ở đây chúng ta sẽ chú ý những hàm như OnTimer hay DisplayFunction().
Trang 24Như vậy chúng ta đã khởi tạo những thư viện hay các file liên quan để lập trình mô phỏng robot.
3 Thiết kế mô hình Robot trên SolidWorks 2007.
Khi thiết kế mô hình của Robot trên Solidwork thì một điều rất quan trọng là việcthiết lập các hệ tọa độ cho mô hình ban đầu để khi vẽ lại các chi tiết trên OpenGL thìcác chi tiết không bị nhảy lung tung Ở đây em chọn hệ tọa độ khi vẽ trên Solidworktrùng với các gốc tọa độ khi tính toán động học
4 Xây dựng Module đọc File *STL
4.1 Chuyển sang File *STL
+ Sau khi ta thiết kế mô hình của Robốt trên Solidworks thì công việc tiếp theo là ta sẽchuyển nó sang file có đuôi là *STL và xây dựng 1 chương trình để đọc cấu trúc củaFile *.STL và vẽ lại nó trên OpenGL
Trang 25+ Cách chuyển sang file STL theo các bước như sau :
Bước 1 : Ta mở mô hình đã được thiết kế bằng Solidworks sau đó từ mục File -> Save
As
Sau đó sẽ hiện ra các lựa chọn như sau :
- Save in : là tên của Folder để chứa file *STL sau khi đã chuyển từ Solidwork sang.File name : là tên của File
Save type : ở đây ta chọn save lại là file dạng *STL 1 điều đáng chú ý ở đây là ta chọnnút Options để ta định dạng file *STL có dạng là mã ASCII như hình ở dưới
Bước 2 : Lựa chọn thư mục và kiểu file mà ta muốn chuyển
Bước 3 : Chọn file STL sau khi đã chuyển sang có dạng mã ASCII
Trang 26Khi thực hiện bước này thì một điều rất quan trong là ta phải chọn vào : “Do not
translate STL output data to positive space ” để cho hệ tọa độ khi vẽ trong Solidworks
và khi chuyển sang file *STL không bị dịch chuyển
Bước 4 : Hoàn tất việc chuyển sang file *STL.