Giới thiệu chung 10
Xuất phát từ nhu cầu và khả năng linh hoạt hóa trong sản xuất, các cơ cấu Robot cũng ngày càng phát triển rất đa dạng và phong phú Trong những thập niên gần đây, Robot cấu trúc song song được Gough và Whitehall nghiên cứu năm 1962 và sự chú ý ứng dụng của Robot cấu trúc song song đã được khởi động bởi Stewart vào năm 1965 Ông là người cho ra đời một buồng (phòng) tập lái máy bay dựa trên cơ cấu song song Hiện nay cơ cấu song song được sử dụng rộng rãi trong nhiều lĩnh vực.
Loại Robot song song điển hình gồm có bàn máy động được nối với giá cố định, dẫn động theo nhiều nhánh song song hay còn gọi là số chân Thường số chân bằng số bậc tự do, được điều khiển bởi nguồn phát động đặt trên giá cố định hoặc ngay trên chân Chính lý do này mà các Robot song song đôi khi gọi là các Robot có bệ Các cơ cấu tác động điều khiển tải ngoài, nên cơ cấu chấp hành song song thường có khả năng chịu tải lớn.
Do tính ưu việt của Robot song song nên ngày càng thu hút được nhiều nhà khoa học nghiên cứu, đồng thời cũng được ứng dụng ngày càng rộng rãi vào nhiều lĩnh vực:
- Ngành Vật lý: Giá đỡ kính hiển vi, giá đỡ thiết bị đo chính xác.
- Ngành Cơ khí: Máy gia công cơ khí chính xác, máy công cụ.
- Ngành Bưu chính viễn thông : Giá đỡ Ăngten, vệ tinh địa tĩnh.
- Ngành chế tạo ôtô: Hệ thống thử tải lốp ôtô, buồng tập lái ôtô.
- Ngành quân sự: Robot song song được dùng làm bệ đỡ ổn định được đặt trên tàu thủy, các công trình thủy, trên xe, trên máy bay, trên chiến xa và tàu ngầm Để giữ cân bằng cho ăngten, camera theo dõi mục tiêu, cho rada, cho các thiết bị đo laser, bệ ổn định cho pháo và tên lửa, buồng tập lái máy bay, xe tăng, tàu chiến.
1.2 Một số ưu nhược điểm của Robot song song
Nhìn chung, tất cả các lọai Robot có cấu trúc song song đều có nhiều ưu điểm và có thể được ứng dụng trong nhiều lĩnh vực, các bộ mô hình máy bay, các khung đỡ kiến trúc có khớp nối điều chỉnh, các máy khai thác mỏ Ưu điểm :
- Khả năng chịu tải cao: các thành phần cấu tạo nhỏ hơn nên khối lượng của các thành phần cũng nhỏ hơn.
- Độ cứng vững cao do kết cấu hình học của chúng: Tất cả các lực tác động đồng thời được chia sẻ cho tất cả các chân Cấu trúc động học một cách đặc biệt của các khớp liên kết cho phép chuyển tất cả các lực tác dụng thành các lực kéo/nén của các chân.
- Có thể thực hiện được các thao tác phức tạp và họat động với độ chính xác cao: với cấu trúc song song, sai số chỉ phụ thuộc vào sai số dọc trục của các cụm cơ cấu chân riêng lẻ và các sai số không bị tích lũy.
- Có thể thiết kế ở các kích thước khác nhau.
- Đơn giản hóa các cơ cấu máy và giảm số lượng phần tử do các chân và khớp nối được thiết kế sẵn thành các cụm chi tiết tiêu chuẩn.
- Cung cấp khả năng di động cao trong quá trình làm việc do có khối lượng và kích thước nhỏ gọn.
- Các cơ cấu chấp hành đều có thể định vị trên tấm nền.
- Tầm hoạt động của Robot cơ cấu song song rất rộng từ việc lắp ráp các chi tiết cực nhỏ tới các chuyển động thực hiện các chức năng phức tạp, đòi hỏi độ chính xác cao như: phay, khoan, tiện, hàn, lắp ráp
- Các Robot cơ cấu song song làm việc không cần bệ đỡ và có thể di chuyển tới mọi nơi trong môi trường sản xuất Chúng có thể làm việc ngay cả khi trên thuyền và treo trên trần, tường
- Giá thành của các Robot song song ứng dụng trong gia công cơ khí ít hơn so với máy CNC có tính năng tương đương.
Tuy nhiên các Robot song song cũng có những nhược điểm nhất định khi so sánh với các Robot chuỗi như:
- Khoảng không gian làm việc nhỏ và khó thiết kế.
- Việc giải các bài toán động học, động lực học phức tạp
- Có nhiều điểm suy biến (kỳ dị) trong không gian làm việc.
1.3 Cấu trúc Robot song song
Cũng như các Robot thông thường, Robot song song là loại Robot có cấu trúc vòng kín trong đó các khâu (dạng thanh) được nối với nhau bằng các khớp động.
Sơ đồ động cơ cấu tay máy thông thường là một chuỗi nối tiếp các khâu động, từ khâu ra (là khâu trực tiếp thực hiện thao tác công nghệ) đến giá cố định. Còn trong Robot song song, khâu cuối được nối với giá cố định bởi một số mạch động học, tức là nối song song với nhau và cũng hoạt động song song với nhau.
Sự khác nhau về sơ đồ động đó cũng tạo nên nhiều đặc điểm khác biệt về động học và động lực học.
1.3.2 Khâu, khớp, chuỗi động và máy trong cơ cấu Robot song song
Khâu : Là phần có chuyển động tương đối với phần khác trong cơ cấu.
Chúng ta coi tất cả các khâu là các vật rắn Điều đó làm cho việc nghiên cứu các cơ cấu, Robot được dễ dàng và đơn giản hơn Tuy nhiên, với các cơ cấu tốc độ cao hoặc mang tải lớn thì hiện tượng đàn hồi của vật liệu trở nên quan trọng đáng kể và chúng ta phải xét đến.
Khớp: Là chỗ nối động giữa hai khâu.
Tùy theo cấu trúc, mỗi khớp hạn chế một số chuyển động giữa hai khâu Bề mặt tiếp xúc của mỗi khâu tại khớp gọi là một thành phần khớp Hai thành phần khớp tạo thành một khớp động Khớp động có thể phân thành khớp thấp và khớp cao tùy thuộc vào dạng tiếp xúc.
- Khớp thấp: Nếu hai thành phần tiếp xúc là mặt.
- Khớp cao: Nếu hai thành phần tiếp xúc là điểm hoặc đường.
Có 6 loại khớp thấp và hai loại khớp cao cơ bản thường dùng trong các cơ cấu máy và các Robot, đó là:
- Khớp quay (Revolute Joint - R) : Khớp để lại chuyển động quay của khâu này đối với khâu khác quanh một trục quay Nghĩa là khớp quay hạnchế 5 khả năng chuyển động giữa hai thành phần khớp và có một bậc tự do Khớp quay thường được gọi là khớp quay bản lề.
Cấu trúc robot song song 11
Cũng như các Robot thông thường, Robot song song là loại Robot có cấu trúc vòng kín trong đó các khâu (dạng thanh) được nối với nhau bằng các khớp động.
Sơ đồ động cơ cấu tay máy thông thường là một chuỗi nối tiếp các khâu động, từ khâu ra (là khâu trực tiếp thực hiện thao tác công nghệ) đến giá cố định. Còn trong Robot song song, khâu cuối được nối với giá cố định bởi một số mạch động học, tức là nối song song với nhau và cũng hoạt động song song với nhau.
Sự khác nhau về sơ đồ động đó cũng tạo nên nhiều đặc điểm khác biệt về động học và động lực học.
1.3.2 Khâu, khớp, chuỗi động và máy trong cơ cấu Robot song song
Khâu : Là phần có chuyển động tương đối với phần khác trong cơ cấu.
Chúng ta coi tất cả các khâu là các vật rắn Điều đó làm cho việc nghiên cứu các cơ cấu, Robot được dễ dàng và đơn giản hơn Tuy nhiên, với các cơ cấu tốc độ cao hoặc mang tải lớn thì hiện tượng đàn hồi của vật liệu trở nên quan trọng đáng kể và chúng ta phải xét đến.
Khớp: Là chỗ nối động giữa hai khâu.
Tùy theo cấu trúc, mỗi khớp hạn chế một số chuyển động giữa hai khâu Bề mặt tiếp xúc của mỗi khâu tại khớp gọi là một thành phần khớp Hai thành phần khớp tạo thành một khớp động Khớp động có thể phân thành khớp thấp và khớp cao tùy thuộc vào dạng tiếp xúc.
- Khớp thấp: Nếu hai thành phần tiếp xúc là mặt.
- Khớp cao: Nếu hai thành phần tiếp xúc là điểm hoặc đường.
Có 6 loại khớp thấp và hai loại khớp cao cơ bản thường dùng trong các cơ cấu máy và các Robot, đó là:
- Khớp quay (Revolute Joint - R) : Khớp để lại chuyển động quay của khâu này đối với khâu khác quanh một trục quay Nghĩa là khớp quay hạnchế 5 khả năng chuyển động giữa hai thành phần khớp và có một bậc tự do Khớp quay thường được gọi là khớp quay bản lề.
- Khớp lăng trụ (Prismatic Joint - P) : Cho phép hai khâu trượt trên nhau theo một trục Do đó, khớp lăng trụ hạn chế 5 khả năng chuyển động tương đối giữa hai khâu và có một bậc tự do Người ta cũng thường gọi khớp lăng trụ là khớp tịnh tiến.
- Khớp trụ (Cylindrical Joint - C) : Cho phép hai chuyển động độc lập, gồm một chuyển động quay quanh trục và chuyển động tịnh tiến dọc trục quay.
Do đó, khớp trụ hạn chế 4 khả năng chuyển động giữa hai khâu và có hai bậc tự do.
- Khớp ren (Helical Joint - H) : Cho phép chuyển động quay quanh trục đồng thời tịnh tiến theo trục quay Tuy nhiên chuyển động tịnh tiến phụ thuộc vào chuyển động quay bởi bước của ren vít Do đó, khớp ren hạn chế 5 chuyển động tương đối hai khâu và còn lại một bậc tự do.
- Khớp cầu (Spherical Joint - S) : Cho phép thực hiện chuyển động quay giữa hai thành phần khớp quanh tâm cầu theo tất cả các hướng, nhưng không có chuyển động tịnh tiến giữa hai thành phần khớp này Do đó, khớp cầu hạn chế 3 khả năng chuyển động và có ba bậc tự do.
- Khớp phẳng (Plane Joint - E): Cho hai khả năng chuyển động tịnh tiến theo hai trục trong mặt tiếp xúc và một khả năng quay quanh trục vuông góc với mặt phẳng tiếp xúc Do đó, khớp phẳng hạn chế 3 bậc tự do và có ba bậc tự do.
- Khớp bánh răng phẳng (Gear Pair - G): Cho hai bánh răng ăn khớp với nhau Các mặt răng tiếp xúc đẩy nhau, chúng thường trượt trên nhau Do đó, khớp bánh răng phẳng hạn chế 4 khả năng chuyển động tương đối giữa hai thành phần khớp, còn lại hai bậc tự do.
- Khớp cam phẳng (Cam Pair - Cp) : Tương tự như khớp bánh răng, hai thành phần khớp luôn tiếp xúc với nhau Do đó, khớp cam phẳng có hai bậc tự do.
Khớp quay, khớp lăng trụ, khớp trụ, khớp ren, khớp cầu và khớp phẳng là các khớp thấp Khớp bánh răng phẳng và khớp cam phẳng là các khớp cao.
Chuỗi động: Là tập hợp các khâu được nối với nhau bằng các khớp động Robot nối tiếp có cấu trúc chuỗi hở, còn Robot song song có cấu trúc là chuỗi kín. Chuỗi động học được gọi là cơ cấu khi một trong các khâu là giá cố định Trong cơ cấu có thể có một hoặc nhiều khâu được ấn định là khâu dẫn với các thông số cho trước Sự chuyển động của các khâu dẫn là độc lập, sự chuyển động của các khâu khác sẽ phụ thuộc vào chuyển động của khâu dẫn Cơ cấu là một thiết bị truyền chuyển động từ một hay nhiều khâu dẫn tới các khâu khác.
Máy móc: Gồm một hoặc nhiều cơ cấu, cùng với các thành phần điện, thủy lực và/hoặc khí nén, được dùng để biến đổi năng lượng bên ngoài thành cơ năng hoặc dạng năng lượng khác Cơ cấu chấp hành của hệ thống robot là cơ cấu Để cơ cấu này trở thành máy cần phải có bộ điều khiển dựa trên bộ vi xử lý, bộ mã hóa và/hoặc các cảm biến lực, cùng với các bộ phận khác, chẳng hạn hệ thống quan sát, phối hợp với nhau để chuyển đổi năng lượng bên ngoài thành công hữu ích Mặc dù máy có thể gồm một hoặc nhiều cơ cấu, nhưng cơ cấu không phải là máy, do không thực hiện công, chỉ có chức năng truyền chuyển động.
1.3.3 Bậc tự do của Robot cấu trúc song song
Xét hai vật thể ( hay hai khâu ) A và B để rời nhau trong không gian Gắn vào A một hệ tọa độ Đề Các Oxyz (hình I.1) thì B sẽ có 6 khả năng chuyển động tương đối so với A, hay nói cách khác là giữa A và B có 6 khả năng chuyển động tương đối, ta gọi là 6 bậc tự do tương đối
Các khả năng chuyển động độc lập là :
- Các chuyển động dọc theo các trục Ox, Oy, Oz ,kí hiệu là Tx, Ty,Tz.
Tính toán động học, động lực học, mô phỏng miền làm việc bằng Matlab 2.1.Tính toán động học của robot 26
Động lực học robot 27
* Nghiên cứu động lực học robot là công việc cần thiết khi phân tích cũng như tổng quá trịnh điều khiển chuyển động Việc nghiên cứu động lực học robot thường giải quyết hai nhiệm vụ sau đây:
- Xác định momen và lực động xuất hiện trong quá trình chuyển động.
Khi đó qui luật biến đổi của biến khớp (t) coi như đã biết Việc tính toán lực trong cơ cấu tay máy là cần thiết để chọn lọc công suất động cơ, kiểm tra độ bền, độ cứng vững, đảm bảo độ tin cậy của robot.
- Xác định sai số động lực học tức là sai lệch so với qui luật chuyển động theo chương trình Lúc này cần khảo sát phương trình chuyển động robot có tính đến đặc tính động lực của động cơ và các khâu Có nhiều phương pháp nghiên cứu động lực học nhưng thường gặp hơn cả là phương pháp cơ học Lagrange, cụ thể là dùng phương trình Lagrange- Eule Đối với các khâu khớp của robot, với các nguồn động lực và kênh điều khiển riêng biệt , không thể bỏ qua các hiệu ứng trọng trường, quán tính, tương hổ, ly tâm…mà những khía cạnh này chưa được xet đầy đủ trong cơ học cổ điển; Cơ học Lagrange nghiên cứu các vấn đề nêu trên như một hệ thống khép kín nên đây là nguyên lý cơ học thích hợp đối với các bài toán động lực học robot.
2.2.1 Cơ học Lagrange với các vấn đề động lực học của Robot
Hàm Lagrange của một hệ thống năng lượng được định nghĩa:
Trong đó : K là tổng động năng của hệ thống
K và P đều là những đại lượng vô hướng nên có thể chọn bất cứ hệ tọa độ thích hợp nào để bài toán đơn giản Đối với một robot có n khâu, ta có: và Ở đây, và là động năng và thế năng của khâu thứ I xét trong hệ tọa độ chọn Ta biết mỗi đại lượng và là một hàm số phụ thuộc nhiều biến số:
Với là tọa độ suy rộng của khớp thứ i Nếu khớp thứ i là khớp quay thì là góc quay , nếu là khớp tịnh tiến thì là độ dài tịnh tiến
Ta định nghĩa : Lực tác dụng lên khâu thứ i(i= 1,2 …,n) với quan niệm lực tổng quát, nó có thể là một lực hoặc một mô men( phụ thuộc vào biến khớp là tịnh tiến hoặc quay) được xác định bởi:
Phương trình này được gọi là phương trinh Lagrange – Euler, hay thường gọi tắt là phương trình Lagrange.
2.2.2 Hàm Lagrange và lực tổng quát:
Với bài toán như hình vẽ sau
Các khâu có chiều dài và và khối lượng tương ứng và các C1 = 5 cm, khớp quay với các biến khớp và Tính lực tổng quát Đối với khâu 1
Chiều cao thế năng h= cos + cos
= - g = - g sin + sin ) Áp dụng hàm Lagrange ta có:
Lực tổng quát các biến hệ : và Đối với khâu 1:
Muốn cho khâu quay được góc thì động cơ phải tạo ra một lực tổng quát ≥ Lực tổng quát này có đặc tính phi tuyến, là hợp tác dụng của nhiều yếu tố
Tương tự, để tính lực tổng quát của khâu thứ hai, ta có:
2.2.3 Phương trình động lực học robot
Xét khâu thứ i của một robot có n khâu Tính lực tổng quát của khâu thứ i với khối lượng vi phân của nó là dm Lực tổng quát đóng vai trò rất quan trọng khi xây dựng sơ đồ khối để thiết lập hàm điều khiển cho robot có n bậc tự do.
Vận tốc của một điểm trên robot
Một điểm trên khấu thứ i được mô tả trong hệ tọa độ cơ bản là:
Trong đó: là tọa độ của điểm xét đối với khâu thư i , không thay đổi theo thời gian là ma trận chuyển đổi từ khâu thứ i về hệ tọa độ gốc:
Như vậy r là một hàm của thời gian t.
Tốc độ của thời gian t.
Tốc độ của vi khối lượng dm được tính bởi công thức:
Khi tính bình phương của vân tốc này ta có :
Với là chuyển vị vectơ và Tr là viết tắt của Trace ( vết của ma trận)
Trace Hay : [x y z] 2.2.4 Thế năng của robot
Thế năng của khâu i có khối lượng , trọng tâm được xác định bởi
Trong đó, véc tơ trọng trường g được biểu diễn dưới dạng một ma trận cột: g = Thế năng của toàn cơ cấu robot n khâu động sẽ là:
Sau khi tính động năng và thế năng của toàn cơ cấu, ta có hàm Lagrange của robot có n bậc tự do:
2.2.6 Phương trình động lực học Robot
Lực tổng quát đặt lên khâu thứ i của robot có n khâu
Mô phỏng bằng phần mềm Matlab 33
2.3.1 Giới thiệu phần mềm MATLAB, công cụ SIMULINK
MATLAB là một bộ chương trình phần mềm lớn được viết cho máy tính
PC nhằm hỗ trợ cho các tính toán khoa học kỹ thuật với các phần tử cơ bản là các ma trận Thuật ngữ MATLAB là chữ viết tắt từ hai từ MATrix và LABoratory, thể hiện định hướng chính của chương trình là các phép tính vector và ma trận Phần cốt lõi của chương trình bao gồm các hàm toán học, chức năng xuất nhập cũng như khả năng điều khiển chương trình
Matlab cung cấp các Toolbox với phạm vi chuyên dụng khác nhau.Ví dụ như: Một số Toolbox liên quan tới điều khiển ( control system toolbox, Optimzation toolbox ) ;
Các Toolbox liên quan tới những lĩnh vực điện –cơkhí …
SIMULINK là một công cụ của Matlab nhằm mục đích mô hình hóa, mô phỏng và khảo sát các hệ thống động học Giao diện đồ họa trên màn hình củaSIMULINK Cho phép thể hiện hệ thống dưới dạng sơ đồ tín hiệu với các khối chức năng quen thuộc SIMULINK cung cấp cho người sử dụng một thư viện phong phú, có sẵn với số lượng lớn các khối chức năng cho các hệ tuyến tính ,
- Các biến: thông thường các kết quả thường gán cho ẩn Sử dụng dấu bằng ta có thể định nghĩa một biến, đồng thời gán giá trị cho biến đó Tất cả các biến đều là biến global trong Workspace Tên của biến có thể chứa tới 32 chữ cái, gạch ngang thấp ( _ ) cũng như chữ số Chữ viết hoa To và chữ viết nhỏ đều được phân biệt
-Việc nhập giá trị có thể được thực hiện thành một chuỗi trong cùng một dòng, chỉ cách nhau dấu (;), nếu sử dụng dấu (,) để tách các lệnh thì khi ấy các giá trị được xuất ra màn hình
Một số biến như: pi , i , j và đã được matlab dùng để chỉ các hằng số hay ký hiệu vậy ta tránh sử dụng chún Đối với các phép tính bất định trên màn hình sẽ xuất hiện kết quả NaN (Not a Number).esp cho phép ta biết cấp chính xác tương đối khi biểu diễn số với dấu phẩy động (ví dụ: esp = 2.2204e-016)
= gán giá trị cho biến.
; Nhập giá trị (còn giữ vai trò dấu cách khi nhập nhiều giá trị trong cùng một dòng )
, dấu cách khi xuất nhiều giá trị trong cùng một dòng
Esp cấp chính xác tương đối khi sử dụng giá tri dấu phẩy động. i, j toán tử ảo inf vô cùng (∞)
Nhóm lệnh lập trình trong MATLAB
Chuyển đổi chuỗi ký tự thành biểu thức
- Cú pháp : kq = eval(‘string’)
- Giải thích : kq: biến chứa kết quả nếu ‘string’ là các ký số thì chuyển thành những con số. nếu ‘string’ là câu lệnh thì chuyển thành các lệnh thi hành được
Dùng để thực hiện một công việc cần được lặp đi lặp lại theo một quy luật, với số bước lặp xác định trước.
For biến điều khiển = giá trị đầu : giá trị cuối ,
Công việc chính là các lệnh cần thi hành , có thể có nhiều lệnh, kết thúc lệnh phải có dấu ;
S: tên biến chứa giá trị trả về sau khi thi hành hàm.
Dùng để nhập vào một giá trị.
Tên biến: là nơi lưu giá trị nhập vào
‘promt’ : chuỗi ký tự muốn nhập vào.
‘s’: cho biết giá trị nhập vào là nhiều ký tự.
- Công dụng : thực hiện lệnh khi thỏa mãn điều kiện
If biểu thức luận lý 1
Else if biểu thức luận lý 2
Thực hiện công việc 2; else
Khi biểu thức luận lý 1 đúng thì thực hiện công việc 1, tương tự cho biểu thức luận lý 2.
Nếu cả hai biểu thức sai thì thực hiên công việc sau lệnh else.
Biểu thức lý luận là các phép so sánh==,,Công việc chính là các lệnh cần thi hành , có thể có nhiều lệnh , kết thúc lệnh phải co dấu;
Tạo menu để chọn chức năng.
Tên biến = menu (‘tên menu’, ‘chức năng 1’, ‘chức năng 2’,…, ‘chức năng n’)
Tên menu: là tiêu đề của menu.
Tên biến: là nơi cất giá trị nhận được sau khi chọn chức năng của menu.
Chức năng 1,2 , … ,n:khi chọn chức năng nào thì tên biến có giá trị là số thứ tự của chức năng đó
Dừng chương trình theo ý muốn
- Cú pháp : pause on pause off pause (n)
- Giải thích : pause on : dừng chương trình , và chờ nhấn một phím bất kỳ (trừ các phím điều khiển ) chương trình thực hiện tiếp pause off : tắt chức năng pause. pause (n) :dừng chương trình tại n giây.
- Ví dụ : for n = 1 : 3; disp(‘Press any key to continue…’) pause end
Press any key to continue…
Press any key to continue…
Press any key to continue…
Dùng để thực hiện một công việc cần lặp đi lặp lại theo một quy luật, với số bước lặp không xác định , phụ thuộc vào biểu thức luận lý.
While biểu thức luận lý
Biểu thức luận lý là các phép so sánh ==,,Công việc chính là các lệnh cần thi hành , có thể có nhiều lệnh , kết thúc lệnh phải có dấu ;
Khi thực hiện xong công việc thì quay lên kiểm tra lai biểu thức luận lý ,nếu vẫn còn đúng thì tiếp tục thực hiện, nếu sai thì kết thúc
2.3.2.1 Chương trình mô phỏng miền làm việc của robot :
Chương trình mô phỏng miền làm việc : a1 = 20; a2 = 20; c1 = 5; c2 = 5; d1 %; d2 = 25; for i = 1:50 for j = 1:50 b1 = i b2 = j eqnP1 = '(Pxsol - b1)^2 +(Pysol - a1 + c1)^2 = d1^2 ' ; eqnP2 = '(Pxsol - b2)^2 +(Pysol + a2 - c2)^2 = d2^2'; solP=solve(eqnP1,eqnP2,' Pxsol, Pysol');
Py2=Pypositions(2); if (4*d1^2 - (b2 - b1)^2 - 4*(a1 -c1)^2)>=0 plot(Px1 ,Py1) plot(Px2,Py2) hold on end end end
2.3.2.2 Quá trình hoạt động của Robot
Robot song song hai bậc tự do chuyển động theo quỹ đạo cho trước: là Robot được thiết kế một cách linh hoạt nhờ các kết cấu vững chắc của cơ khí. Không tạo ra rung động trong quá trình làm việc độ trượt nhỏ ở các trục Robot có 2 cánh tay hoạt động linh hoạt và chính xác khi chuyển động của 2 cánh tay sẽ tạo ra chuyển động cắt nằm trong vùng không gian miền làm việc được mô phỏng bằng phần mềm Matlab ở trên Như vậy robot tạo được chế độ cắt ở bất kỳ vị trí nào trong vùng làm việc của nó Cánh tay Robot được điều khiển bằng chuyển động của các vít me đai ốc bi và các vít me này được nhận chuyển động của các động cơ có mô men truyền lớn như vậy tạo ra được chuyển động cắt, và vận tốc cắt ổn định liên tục không bị gián đoạn.
OA2=0.2;B2C2=0.25;PC2=0.05;C2C4=0.05;A1A3=0.5;A2A4=0.5;%(m) xO = 0 ;yO = 0; r = [xO yO 0];%Position of O xO = 0 ;yO = 0; rO = [xO yO 0];%Position of O xA1 = 0;yA1 = 0.20; rA1 = [ xA1 yA1 0 ];%Position of A1 xB1 = 0.1 ; yB1 = 0.20 ; rB1 = [ xB1 yB1 0];%Position of b1 xB3 = 0.15 ; yB3 = 0.20; rB3 = [ xB3 yB3 0]; phi1 = asin((OA1 - PC1)/B1C1); xC1 = B1C1*cos(phi1); xC1 = B1C1*cos(phi1)+A1B1; yC1=0.05;rC1=[ xC1 yC1 0]; xC3 = xC1 + C1C3; yC3 = 0.05; rC3= [xC3 yC3 0 ]; xA3 = 0.5 ; yA3 = 0.2 ; rA3= [ xA3 yA3 0 ]; xA2 = 0;yA2 = - 0.20; rA2 = [ xA2 yA2 0 ]; xC2 = xC1 ; yC2 = -yC1 ; rC2 = [xC2 yC2 0 ]; phi2= asin((OA2 - PC2)/B2C2); xB2= xC2 - B2C2*cos(phi2); yB2= -0.20; rB2 = [xB2 yB2 0 ]; xC4= xC3; yC4 = -yC3; rC4 = [ xC4 yC4 0 ]; xB4 = xB2 + C2C4 ;yB4 = - 0.2;rB4 = [xB4 yB4 0 ]; xA4= 0.5; yA4 = -0.2; rA4 = [xA4 yA4 0]; fprintf('rA1=[%g,%g,%g](m) \n',rA1); rA1 =[0,0.2,0]% (m) fprintf('rB1=[%g,%g,%g](m) \n',rB1); rB1=[0.1,0.2,0]%(m) fprintf('rB3=[%g,%g,%g](m) \n',rB3); rB3=[0.15,0.2,0]%(m) fprintf('rC1=[%g,%g,%g](m) \n',rC1); rC1=[0.306334,0.05,0]%(m) fprintf('rC3=[%g,%g,%g](m) \n',rC3); rC3=[0.356334,0.05,0]%(m) fprintf('rC2=[%g,%g,%g](m) \n',rC2); rC2=[0.306334,-0.05,0]%(m) fprintf('rC4=[%g,%g,%g](m) \n',rC4); rC4=[0.356334,-0.05,0]%(m) fprintf('rA2=[%g,%g,%g](m) \n',rA2); rA2=[0,-0.2,0]%(m) fprintf('rB2=[%g,%g,%g](m) \n',rB2); rB2=[0.1,-0.2,0]%(m) fprintf('rB4=[%g,%g,%g](m) \n',rB4); rB4=[0.15,-0.2,0]%(m) fprintf('rA3=[%g,%g,%g](m) \n',rA3); rA3=[0.5,0.2,0]%(m) fprintf('rA4=[%g,%g,%g](m) \n',rA4); rA4=[0.5,-0.2,0]%(m) plot([xA1,xB1],[yA1,yB1],'k-o','LineWidth',2.5) hold on %holdsthecurrentplot plot([xB1,xB3],[yB1,yB3],'k-o','LineWidth',2.5) hold on plot([xB3,xA3],[yB3,yA3],'k-o','LineWidth',2.5) hold on plot([xB1,xC1],[yB1,yC1],'b-o','LineWidth',1.5) hold on plot([xB3,xC3],[yB3,yC3],'b-o','LineWidth',1.5) hold on plot([xC1,xC3],[yC1,yC3],'b-o','LineWidth',1.5) hold on plot([xC1,xC2],[yC1,yC2],'b-o','LineWidth',1.5) hold on plot([xC3,xC4],[yC3,yC4],'b-o','LineWidth',1.5) hold on plot([xC2,xC4],[yC2,yC4],'b-o','LineWidth',1.5) hold on plot([xC2,xB2],[yC2,yB2],'b-o','LineWidth',1.5) hold on plot([xC2,xB2],[yC2,yB2],'b-o','LineWidth',1.5) hold on plot([xC4,xB4],[yC4,yB4],'b-o','LineWidth',1.5) hold on plot([xB2,xB4],[yB2,yB4],'k-o','LineWidth',1.5) hold on plot([xB2,xA2],[yB2,yA2],'k-o','LineWidth',1.5) hold on plot([xB4,xA4],[yB4,yA4],'k-o','LineWidth',1.5) grid on, xlabel('x(m)'),ylabel('y(m)'), text(xA1,yA1,'\leftarrowA1=ground',
'HorizontalAlignment','left'), text(xB1,yB1,'B1'), text(xB3,yB3,'B3'), text(xC1,yC1,'C1'), text(xC3,yC3,'C3'), text(xC2,yC2,'C2'), text(xC4,yC4,'C4'), text(xB2,yB2,'B2'), text(xB3,yB3,'B3'), text(xB4,yB4,'B4'), text(xA3,yA3,'\leftarrowA3=ground ',
'HorizontalAlignment','left '), text(xA2,yA2,'\leftarrowC=ground',
'HorizontalAlignment','left'), text(xA4,yA4,'\leftarrowC=ground ',
'HorizontalAlignment','left'), axis b chương trình chuyển động của Robot: a1 = 20; a2 = 20; c1 = 5; c2 = 5; d1 %; d2 = 25;
% ham chay mo phong Ro bot trong mien lam viec for i = 1 :50 for j = 1 : 50 b1 = i b2 = j eqnP1 = '(Pxsol - b1)^2 +(Pysol - a1 + c1)^2 = d1^2 ' ; eqnP2 = '(Pxsol - b2)^2 +(Pysol + a2 - c2)^2 = d2^2'; solP=solve(eqnP1,eqnP2,' Pxsol, Pysol');
% ham hien thi hinh anh trong 0.005(s)
OA2 ; A2B2 = b2;B2C2= 25;PC2= 5;C2C4= 5;A2A4= 5;B4A4 = 45-b2% (m) xO = 0 ;yO = 0; rO = [xO yO 0];%Position of O xA1 = 0;yA1 = 20; rA1 = [ xA1 yA1 0 ];%Position of A1 xB1 = b1 ; yB1 = 20 ; rB1 = [ xB1 yB1 0];%Position of b1 xB3 = b1 + 5 ; yB3 = 20; rB3 = [ xB3 yB3 0]; xC1 = Px yC1=Py + 5 ;rC1=[ xC1 yC1 0]; xC3 = xC1 + C1C3; yC3 = Py + 5; rC3= [xC3 yC3 0 ]; xA3 = 50 ; yA3 = 20 ; rA3= [ xA3 yA3 0 ]; xA2 = 0 ; yA2 = - 20; rA2 = [ xA2 yA2 0 ]; xC2 = xC1 ; yC2 = Py - 5 ; rC2 = [xC2 yC2 0 ]; xB2 = b2 yB2 = -20 ; rB2 = [xB2 yB2 0 ]; xC4 = xC3; yC4 = Py -5 ; rC4 = [ xC4 yC4 0 ]; xB4 = xB2 + C2C4 ;yB4 = - 20 ; rB4 = [xB4 yB4 0 ]; xA4 = 50; yA4 = - 20; rA4 = [xA4 yA4 0]; xO1 = Px + 2.5 ; yO1 = Py ; rO1 = [ xO1 yO1 0]; fprintf('rO1=[%g,%g,%g](m) \n',rO1); rO1 = [ xO1 yO1 0]%cm if (xB3