Mụ phỏng chuyển động của robot MMR

Một phần của tài liệu tính toán động học và mô phỏng chuyển động robot mmr (Trang 69)

c) Lập trỡnh trong Maple

3.1.4Mụ phỏng chuyển động của robot MMR

Khả năng mạnh mẽ của thư viện đồ họa OpenGL đó được giới thiệu ở trờn. Chương trỡnh sử dụng thư việc này trong việc mụ phỏng robot dựa trờn cỏc giỏ trị tớnh toỏn của bài toỏn ngược.

Nếu chỉ dựa trờn cỏc hàm vẽ cơ bản thỡ ta khú khăn trong cụng việc dựng hỡnh 3D cho robot vỡ việc xỏc định đỉnh của cỏc khõu rất khú khăn. Nhưng khi ta sử dụng một số File định dạng của một số phần mềm đồ họa 3D như: AutoCAD, Solid Works, 3Dmax. Cỏc file này dễ dàng đọc được bằng phần mềm. Cỏc định dạng file cú cú thể liệt kờ ra như:

+ Stereo LithorGaphy(.STL) +WRML File

+ASC File

+SAT File

Cỏc file này đều cú chung đặc điểm là lưu trữ dữ liệu của vật thể 3D dưới dạng cỏc mặt nhỏ (FACE) và cỏc Vector phỏp tuyến cựng với một số thụng tin khỏc về vật thể và mụi trường như ỏnh sỏng, vật liệu,… Trong đồ ỏn này sử dụng định dạng *.STL, file này cú thể được xuất ra dưới dạng nhị phõn hoặc text.

Khi thiết thế trờn phần mềm Solid works xong ta Save đối tượng dưới dạng *. STL như hỡnh vẽ (hỡnh 3.1).

Hỡnh 3.1

Chỳ ý khi Save ta chọn Options cú cửa sổ hiện ra, trong output as

Hỡnh 3.2

Sau khi save dưới định dạng .STL ta tiến hành việc mụ phỏng chuyển động của robot. Để xuất cỏc khõu của robot vào trong mụi trường làm việc của OpenGL ra sử dụng hàm OnlnitialUpdate()

void CAaView::OnInitialUpdate()

{

CView::OnInitialUpdate();

// TODO: Add your specialized code here and/or call the base class

a.addObjects(CObjects("draw/xe.stl")); a.addObjects(CObjects("draw/khau1.stl")); a.addObjects(CObjects("draw/khau2.stl")); a.addObjects(CObjects("draw/khau3.stl")); a.addObjects(CObjects("draw/khau4.stl")); CVector scale(_scale, _scale, _scale); a.setScale(scale);

Sau khi insert cỏc khõu vào trong mụi trường làm việc xong ta tiến hành đưa cỏc khõu và khớp vào đỳng vị trớ theo quy tắc Denavit-

Hartenberg và mụ phỏng bằng hàm Draw() void CAaView::Draw() { glClearColor(0.0f,0.0f,0.0f,0.0f); glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT); //glShadeModel(GL_SMOOTH);

CMainFrame* pMain = (CMainFrame*)AfxGetApp()- >GetMainWnd();

CCcommand* pForm = (CCcommand*)pMain- >m_wndSplitter.GetPane(0,0); max = pForm->max; glColor3f(1.0f,0.0f,0.0f); glLineWidth(1.0); if(pForm->run == TRUE) { glPushMatrix();//ngu canh //1 // Position / translation / scale

glTranslated(0,-20,30); glRotatef(60, 0.0, 0.0, 1.0); glRotatef(3, 1.0, 0.0, 0.0); glRotatef(-6, 0.0, 1.0, 0.0); //chuot glTranslated(m_xTranslation,m_yTranslation,m_zTranslation) ;

glRotatef(m_yRotation, 0.0, 1.0, 0.0); glRotatef(m_zRotation, 0.0, 0.0, 1.0); glScalef(m_xScaling,m_yScaling,m_zScaling); //glRotated(30,0.0,1.0,0.0); //glRotated(Index,1.0,0.0,0.0); glColor3f(0.0f,1.0f,0.0f); glLineWidth(1.0); glBegin(GL_LINES); glVertex3d(0, 0, 0); glVertex3d(0, 0, 12); glEnd(); glBegin(GL_LINES); glVertex3d(0, 0, 0); glVertex3d(0, 40, 0); glEnd(); glBegin(GL_LINES); glVertex3d(0, 0, 0); glVertex3d(50, 0, 0); glEnd(); glColor3f(0.3,0.5,0.8); glLineWidth(1.0); glPushMatrix(); // push xe //2 glColor3f(0.2,0.2,0.2); glColor3f(0.2f,0.7f,0.6f); a[0].drawObjects(); //********** khau1 ********************/ glPushMatrix(); glColor3f(0.8f,0.7f,0.1f);

glRotated(90,1,0,0); glTranslated(45*_scale,90*_scale,0); a[1].drawObjects(); glRotated(pForm- >q1[Index],0,0,1); //******************* khau2 *********/ glPushMatrix(); glColor3f(0.9f,0.1f,0.4f); glRotated(pForm- >q2[Index],0,0,1); a[2].drawObjects(); //**************** khau3******************/ glRotated(45,0.0,0.0,1.0); glPushMatrix(); glColor3f(0.2f,0.1f,0.6f); glRotated(-(pForm- >q3[Index]),0.0,1.0,0.0); a[3].drawObjects(); //**************** khau4******************/ glRotated(25,0.0,0.0,1.0); glPushMatrix(); glColor3f(0.8f,0.1f,0.6f);

glRotated(pForm- >q4[Index],0.0,0.0,1.0) ; a[4].drawObjects(); glPopMatrix(); glPopMatrix(); glPopMatrix(); glPopMatrix(); glPopMatrix(); glPopMatrix(); glPopMatrix(); }

Hỡnh 3.3:Giao diện chương trỡnh mụ phỏng.

PHẦN II

THIẾT KẾ VÀ CHẾ TẠO MẪU

CHƯƠNG 1 GIỚI THIỆU CHUNG

1.1 Đặt vấn đề

Trong điều kiện phỏt triển như ngày nay thỡ việc thay thế con người làm việc trong mụi trường độc hại hay nhỏ hẹp là rất quan trọng. Cỏc cụng việc như vào trong lũ hạt nhõn, thụng cống ngầm, làm sạch cỏc khoang tàu, …thỡ việc thay thế con người bằng robot là một giải phỏp rất hữu hiệu và khả thi. Trong đề tài này việc nghiờn cứu và chế tạo mẫu robot cú kớch thước nhỏ, di chuyển dễ dàng và thực hiện cỏc thao tỏc linh hoạt( MRM-

Mini Mobile Robot), cỏc thao tỏc này cú thể là: hàn, phun sơn, thỏo gắp cỏc bộ phận cần sửa chữa, loại bỏ cỏc chi tiết thừa v.v.v…Rụbốt thụng qua kết nối với mỏy tớnh bằng dõy cỏp sẽ được điều khiển từ xa, ngoài ra trong thực tế rụbốt phải được lắp cỏc hệ thống camera hay sensor dẫn đường. (adsbygoogle = window.adsbygoogle || []).push({});

Việc lựa chọn kết cấu sao cho robot nhỏ, di chuyển dễ dàng và thao tỏc linh hoạt là điều rất quan trọng vỡ thế trước khi chế tạo cần phải thiết kế mụ hỡnh của robot bằng phần mềm đồ họa. Phần mềm đồ họa sử dụng để thiết kế robot MMRSolid WorksAuto CAD.

Hỡnh ảnh robot MMR đó được chế tạo

1.2 Giới thiệu về phần mềm Solid Works

SolidWorks là một phần mềm thiết kế ba chiều được sử dụng rất rộng rói trong nhiều lĩnh vực khỏc nhau. Ưu điểm của phần mềm này là rất dễ sử dụng, thõn thiện với người dựng, và dễ chỉnh sửa lại bản thiết kế khi cần thay đổi.

Khởi động Solid Works và ấn tổ hợp phớm Ctrl+N hay vào thanh cụng cụ FILE/New hỡnh(1.2)

Hỡnh 1.1

Cú ba loại bản vẽ,tuỳ theo mục đớch sử dụng mà ta mở cỏc bản vẽ khỏc nhau:

Part (bản vẽ chi tiết): Bản vẽ được sử dụng để tạo cỏc chi tiết riờng lẻ, và trong một bản vẽ chi tiết ta khụng thể tạo được hai chi tiết.Trong thiết kế cơ khớ mỗi một loại mỏy múc ,một cơ cấu hay một robot… thường cú cấu tạo từ nhiều chi tiết khỏc nhau ghộp lại. Mỗi bản vẽ thể hiện từng chi tiết này, và sau đú chỳng được lắp ghộp trờn một bản vẽ khỏc. Do đú rất thuận tiện khi kiểm tra và thay đổi chi tiết. Cỏc file này cú phần mở rộng *.sldprt.

Assembly(bản vẽ lắp):Bản vẽ này liờn kết cỏc chi tiết trong bản vẽ lắp lại với nhau, tạo thành một cụm chi tiết hoặc một sản phẩm hoàn chỉnh. Khi một bản vẽ chi tiết được thay đổi thỡ bản vẽ lắp tương ứng cũng thay đổi theo. Cỏc file này cú phần mở rộng *.sldasm

Drawing (bản vẽ kĩ thuật ): khi đó cú bản vẽ chi tiết hay bản vẽ lắp ta chọn Drawing để biểu diễn cỏc hỡnh chiếu cỏc mặt cắt từ bản vẽ

chi tiết hay bản vẽ lắp đó cú ở trờn cỏc file này cú phần mở rộng là

*.slddrw.

a) Bản vẽ chi tiết (Part)

Để thiết kế cỏc chi tiết 3D trước hết phải cú cỏc bản vẽ phỏc thảo, thụng thường Solid Works mặc định mặt Front làm bản vẽ phỏc thỏa, tựy vào kết cấu của chi tiết thiết kế mà ta tạo ra cỏc mặt phỏc thảo khỏc nhau. Để bắt đầu vẽ phỏc thảo phải khởi động thanh menu Sketch trờn thanh cụng cụ. Khi đú giao diện màn hỡnh như sau:

Hỡnh 1.2

Khi đú ta cú thể sử dụng cỏc cụng cụ vẽ trờn mặt phẳng của Solid Works:

o Cụng cụ Line : Tạo đường thẳng.

o Cụng cụ Rectangle : Tạo hỡnh chữ nhật .

o Cụng cụ Centerpoint Arc :Vẽ cung trũn cú tõm xỏc định.

o Cụng cụ Circle : Vẽ đường trũn.

o Cụng cụ Ellipse : Vẽ Ellipse.

o Cụng cụ Parabola : Vẽ Parabol.

o Cụng cụ Spline : Vẽ đường cong tự do.

o Cụng cụ Centerline : Vẽ đường tõm.

Ta cú thể chỉnh sửa hỡnh phỏc thảo bằng cỏc cụng cụ tương tự như trong

Auto CAD:

o Cụng cụ Mirror : Lấy đối xứng cỏc đối tượng qua đường Centerline.

o Cụng cụ Fillet : Tạo gúc lượn.

o Cụng cụ Chamfer : Vỏt gúc.

o Cụng cụ Trim : Được dựng để xộn một đoạn của đường thẳng, hoặc đường trũn. (adsbygoogle = window.adsbygoogle || []).push({});

o Cụng cụ Offset : Tạo một đối tương mới cú cỏc biờn dạng song song và cỏch đều cỏc biờn dạng tương ứng cả đối tượng cũ một khoảng cỏch cho trước.

o Cụng cụ Extend : Được dựng để kộo dài đối tượng cho tới khi gặp đối tượng khỏc.

o Cụng cụ Linear Step and Repeat : Cụng cụ này được dựng để sao chộp đối tượng từ đối tượng gốc thành nhiều đối tượng khỏc và cỏc đối tượng đú được xắp xếp theo hàng hoặc cột.

o Cụng cụ Circular Step and Repeat : Giống như lệnh trờn nhưng quỹ đạo sao chộp cỏc đối tượng là đường trũn.

Cỏc cụng cụ tạo mối quan hệ giữa cỏc đối tượng :

o Cụng cụ Dimension : Tạo kớch thước cho đối tượng .

o Cụng cụ Add Relation : Tạo quan hệ hỡnh học cho cỏc đối tượng như song song, vuụng gúc, trựng nhau, tiếp xỳc…

Sau khi tạo hỡnh dỏng xong rồi ta sử dụng cỏc cụng cụ tạo khối 3D để vẽ:

o Cụng cụ Extrude Base/Boss : Nú cú chức năng kộo dài đối tượng vẽ phỏc thành vật thể khối.

o Cụng cụ Extrude Cut : Cú chức năng khoột vật thể khối theo biờn dạng đó vẽ phỏc.

o Cụng cụ Revolve Base/Boss : Cú chức năng tạo một khối Base hoặc Boss trũn xoay quanh đường Centerline.

o Cụng cụ Sweep : Tạo cỏc khối cơ sở, khối dựng đứng ,khoột bằng phương phỏp di chuyển biờn dạng trờn mặt phẳng vẽ phỏc dọc theo một đường dẫn.

o Cụng cụ Linear Pattens : Cú chức năng sao chộp một đặc điểm của mụ hỡnh thành nhiểu đăc điểm và được xắp xếp theo hàng hoặc cột.

o Cụng cụ Circular Pattern : Cú chức năng sao chộp một đặc điểm của mụ hỡnh thành nhiều đặc điểm và được xắp xếp theo một đường trũn .

Cỏc cụng cụ hiệu chỉnh:

o Cụng cụ Chamfer : Vỏt mộp cạnh hoặc đỉnh của đối tượng.

b) Bản vẽ lắp(Assembly)

Sau khi đó thiết kế xong tất cả cỏc chi tiết thỡ cần phải ghộp chỳng lại với nhau thành một chi tiết hay thành một mỏy cụng cụ. Cỏc chi tiết trong bản vẽ lắp cần phải đỳng vị trớ và cú mối quan hệ ràng buộc với nhau.

Cụng cụ Mate : Cho phộp ta tạo cỏc ràng buộc hạn chế một bậc tự do tương đối giữa cỏc chi tiết với nhau tức ghộp cỏc chi tiết theo một ràng buộc cụ thể theo cơ cấu và mỏy cụ thể. Ta cú thể chọn cỏc mối ghộp như sau:

o Coincident: Cho phộp ghộp hai mặt phẳng tiếp xỳc nhau.

o Concentic: Cho phộp ghộp hai mặt trụ, cầu đồng tõm.

o Parallel: Cho phộp ghộp hai mặt phẳng song song và cỏch nhau một khoảng d.

o Perpendicular: Cho phộp ghộp hai mặt phẳng vuụng gúc với nhau.

o Tangent: Cho phộp ghộp hai mặt cong, mặt trụ với trụ, mặt cầu với mặt phẳng, mặt trụ và mặt cụn với mặt phẳng tiếp xỳc với nhau.

Sau khi thiết kế bước đầu của robot MMR ta lắp ghộp cỏc khõu vào như sau:

Hỡnh 1.3

CHƯƠNG 2

THIẾT KẾ CƠ KHÍ ROBOT MMR

Hỡnh 2.1 Mụ hỡnh bề ngoài của MMR ban đầu.

Từ mụ hỡnh cơ bản trờn chỳng em đó thiết kế từng khõu, trong quỏ trỡnh thiết kế cơ khớ của robot MMR em đó được giao trỏch nhiệm quan trọng nhất là thiết kế phần xe . Vỡ vậy em xin trỡnh bày đầy đủ cỏc bước thiết kế và cỏc bản vẽ chi tiết của xe. (adsbygoogle = window.adsbygoogle || []).push({});

2.1.Đặt vấn đề

Xe là phần vừa di chuyển vừa mang tất cả khối lượng của robot, ngoài ra cũn phải chứa cỏc bộ nguồn và mạch điều khiển robot. Trong khi di chuyển xe phải rất chắc chắn, hỡnh dạng phải gọn và phự hợp với điều kiện làm việc. Để đi đến thiết kế cụ thể thỡ mụ hỡnh đầu tiờn của xe (hỡnh 2.2) đó được lựa chọn. Robot MMR cú thể làm việc trong những nơi nhỏ hẹp như là làm sạch khoang tàu, sửa chữa khoang tàu. Vỡ vậy hỡnh dỏng của xe cú dạng hỡnh thoi là rất hợp lý, hỡnh dỏng này vừa cho khoảng trống trong xe rộng vừa tạo dỏng cụng nghiệp.

Xe Khõu 1 Khõu 2

Khõu 3

Hỡnh 2.2

Nếu hỡnh dỏng xe như vậy mà ta thiết kế theo chi tiết dạng hộp hay cỏc tấm sắt dày ghộp lại với nhau thỡ sẽ khụng khả thi mà giỏ cả cú thể đắt. Với robot MMR này em xin đưa ra phương ỏn thiết kế là: sử dụng cỏc thanh ghộp lại thành một khung và sau đú dựng tấm tụn bọc ngoài.

2.2 Thiết kế xe

2.2.1 Khung xe

Khung xe (hỡnh 2.3) được ghộp với nhau bởi cỏc thanh nhụm. Để liờn kết cỏc thanh nhụm này lại với nhau ta dựng vớt hoặc định tỏn.

Hỡnh 2.3 90 30 0 10 64 360 56 490 43 60 70 64 180 45 15 2 18 0

2.2.2 Vỏ bọc của xe

a) Tấm bọc ở gầm xe được làm từ tụn chiều dày của loại tụn đó chọn là 0.3mm

Ta ghộp phần khung xe và tấm bọc ngoài này vào như hỡnh 2.5 và được lắp chặt nhờ đinh tỏn.

Hỡnh 2.5 b) Tấm bọc 2 bờn sườn xe.

Gồm 4 tấm như hỡnh vẽ ( mỗi loại cú 2 tấm) Ở 2 tấm to thỡ cú bố trớ cỏc lỗ để lắp bỏnh xe.

Kớch thước của tấm cạnh ( gồm 2 tấm)

Kớch thước tấm ốp 2 cạnh (gồm 2 tấm) Cỏc tấm được lắp vào khung như (hỡnh 2.7).

Hỡnh 2.7

c) Tấm phớa trước mui xe (hỡnh 2.8) kớch thước của tấm là 300 x 150 mm

Ghộp tấm vào xe (hỡnh 2.9)

Hỡnh 2.9

d)Bỏnh : Sau khi đó nắp xong cỏc chi tiết của xe ta phải đi lắp cỏc bỏnh. Gồm 4 bỏnh 2 bỏnh nhỏ và 2 bỏnh to (hỡnh 2.10).

Hỡnh 2.10

Để điều khiển xe chạy theo cỏc hướng thỡ ta bố trớ 2 động cơ bước gắn trực tiếp vào 2 bỏnh lớn và lắp vào xe (hỡnh 2.11)

Hỡnh 2.12 Kớch thước của nắp trờn xe:

Khi cỏc chi tiết của xe đó thiết kế và lắp đặt xong thỡ phần khoảng trống trong xe là nơi đặt cỏc thiết bị điều khiển (hỡnh 2.13).

Hỡnh 2.13

KẾT LUẬN

 Về mặt lý thuyết:

- Đó nắm được cơ sở cơ học robot và cỏc phương phỏp nghiờn cứu: + Phương phỏp khảo sỏt bài toỏn động học thuận và ngược. (adsbygoogle = window.adsbygoogle || []).push({});

+ Phương phỏp xõy dựng quỹ đạo cho robot.

- Đó nắm được quy trỡnh tớnh toỏn, thiết kế và chế tạo một robot đơn giản.

 Về mặt thực hành:

- Đó thiết kế, chế tạo mẫu được mụ hỡnh rụbốt mini điều khiển từ xa bằng mỏy tớnh. Thụng qua mạch điều khiển đó thực hiện được việc kết

nối giữa cơ khớ và điện tử.Thiết kế được một bộ chương trỡnh gồm cỏc mụ đun tớnh toỏn, mụ phỏng hoạt động, mạch điện tử điều khiển rụbốt.

Việc kết hợp học tập nghiờn cứu về lý thuyết gắn liền với thực tế chế tạo đó giỳp chỳng em hiểu sõu hơn lý thuyết đồng thời bước đầu làm quen với cụng việc thực tế. Về đề tài này tuy đó cú những thành cụng bước đầu nhưng vẫn cũn nhiều hạn chế do đú chỳng em đề ra hướng phỏt triển trong tương lai là:

 Hoàn thiện hơn về kết cấu cơ khớ cũng như hệ thống điều khiển để robot cú thể hoạt động một cỏch chớnh xỏc.

 Trang bị thờm hệ thống sensor, camera dẫn đường cho rụbốt để rụbốt cú thể hoàn toàn được điều khiển từ xa trong mụi trường tỏch biệt. Đặc biệt cú thể lập trỡnh xử lý ảnh giỳp rụbốt cú khả năng tự động nhận biết và giải quyết thụng minh tỡnh huống đặt ra.

TÀI LIỆU THAM KHẢO

[1] Nguyễn Văn Khang: Cơ sở cơ học kỹ thuật. Tập I, II. NXB Đại học Quốc gia Hà Nụi 2002.

[2] Nguyễn Văn Khang: Bài giảng động lực học hệ nhiều vật. ĐHBK Hà Nội 2002.

[3] Nguyễn Thiện Phỳc: Robot cụng nghiệp. NXB Khoa học và kỹ thuật, Hà Nội 2002.

[4] Trịnh Chất- Lờ Văn Uyển: Tớnh toỏn thiết kế hệ dẫn động cơ khớ. Tập I, II. NXB giỏo dục 2001.

[5] Phạm Huy Điển: Tớnh toỏn, lập trỡnh và giảng dạy trờn toỏn học trờn MAPLE. NXB khoa học kỹ thuật Hà Nội 2002.

[6] Phạm Cụng Ngụ: Tự học lập trỡnh VISUAL C++6.0. NXB thống kờ 2002.

Một phần của tài liệu tính toán động học và mô phỏng chuyển động robot mmr (Trang 69)