You are on page 1of 59

Đào Duy Tùng MSSV:20170985 GVHD: TS.

Mạc Thị Thoa

LỜI MỞ ĐẦU
Hiện nay khoa học kỹ thuật đang phát triển rất nhanh, mang lại những lợi ích cho
con người về tất cả những lĩnh vực trong cuộc sống. Để nâng cao đời sống nhân dân và
hòa nhập với sự phát triển chung của thế giới, Đảng và nhà nước ta đã đề ra những
mục tiêu đưa đất nước đi lên thành một nước công nghiệp hóa, hiện đại hóa . Để thực
hiện mục tiêu đó thì một trong những ngành cần được quan tâm phát triển nhất là
ngành cơ khí nói chung và cơ điện tử nói riêng vì nó đóng vai trò quan trọng trong
việc sản xuất ra các thiết bị công cụ (máy móc, robot...) của mọi ngành kinh tế.
Muốn thực hiện việc phát triển ngành cơ khí cần đẩy mạnh đào tạo đội ngũ cán
bộ kĩ thuật có trình độ chuyên môn đáp ứng yêu cầu của công nghệ tiên tiến, công
nghệ tự động hóa theo dây chuyền sản xuất. Đóng góp vào sự phát triển nhanh chóng
của nền khoa học công nghiệp, tự động hóa đóng vai trò vô cùng quan trọng. Vì vậy
công nghệ tự động hóa được đầu tư và phát triển mạnh mẽ.
Trong công nghiệp hiện nay nói chung, việc máy móc tự động dần thay thế con
người đang trở thành xu thế tất yếu. Nhằm tạo ra một hệ thống điều khiển cho robot
công nghiệp phục vụ công việc và nghiên cứu và đưa vào thực tiễn giúp nâng cao
năng suất lao động. Nội dung đồ án này nhằm mục đích thiết kế hệ thống điều khiển
cho robot Scara 3 bậc tự do. Trong khi làm đồ án không tránh khỏi những sai sót, rất
mong nhận được những đóng góp của các thầy và các bạn để em sửa chữa, khắc phục
và làm tốt hơn trong những lần sau.
Cuối cùng em xin trân thành cảm ơn sự chỉ bảo tận tình của thầy TS. Mạc Thị
Thoa đã giúp em học được rất nhiều điều và giúp em hoàn thành đồ án môn học này.
Giảng viên hướng dẫn Sinh viên thực hiện

TS. Mạc Thị Thoa Đào Duy Tùng

Năm học 2020 - 2021 1


Đào Duy Tùng MSSV:20170985 GVHD: TS. Mạc Thị Thoa

MỤC LỤC
LỜI MỞ ĐẦU .................................................................................................................. 1
CHƯƠNG 1: TỔNG QUAN VỀ ROBOT VÀ CÁC PHƯƠNG PHÁP ĐIỀU
KHIỂN ROBOT CÔNG NGHIỆP ................................................................................... 5
1.1. Tổng quan về robot và robot công nghiệp................................................................. 5
1.1.1. Vài nét về sự phát triển của robot và robot công nghiệp ................................... 5
1.1.2. Robot và công nghệ cao..................................................................................... 6
1.1.3. Robot công nghiệp ............................................................................................. 7
1.2 Các phương pháp điều khiển robot ............................................................................ 9
1.2.1. Phương pháp điều khiển động lực học ngược (điều khiển momen) ................. 9
1.2.2. Phương pháp điều khiển phản hồi phân ly phi tuyến ...................................... 11
1.2.3. Phương pháp điều khiển thích nghi ................................................................. 12
1.3. Tổng quan về robot scara ........................................................................................ 15
CHƯƠNG 2: TÍNH TOÁN ĐỘNG HỌC VÀ ĐỘNG LỰC HỌC ROBOT SCARA... 16
2.1. Động học thuận robot scara ..................................................................................... 16
2.2. Động học ngược robot scara.................................................................................... 22
2.3. Động lực học robot scara ......................................................................................... 25
2.3.1. Phương trình Lagrange dạng ma trận .............................................................. 25
2.3.2. Thiết lập phương trình động lực học cho robot Scara ..................................... 31
CHƯƠNG 3: THIẾT KẾ BỘ ĐIỀU KHIỂN ................................................................. 38
3.1. Cơ sở lý thuyết bộ điều khiển PD............................................................................ 38
3.2. Thiết kế bộ điều khiển cho Robot SCARA ............................................................. 41
3.2.1 Điều khiển trạng thái xác định robot ( tín hiệu đặt là hằng số) ........................ 41
3.3. Mô phỏng bằng Matlab Sumulink – SimMechanics ............................................... 46
3.3.1. Giới thiệu về hộp thoại inspector .................................................................... 47
3.3.2 Thiết kế giao diện bảng điều khiển................................................................... 49
3.4. Thiết lập các hàm, lập trình đối tượng .................................................................... 51
3.4.1. Giao diện trong M file ..................................................................................... 51
3.4.2. Các hàm được sử dụng .................................................................................... 53
3.5. Cách sử dụng giao diện ........................................................................................... 57
3.6. Thiết kế sơ đồ mạch điện và mạch điều khiển (file PDF kèm theo) ....................... 58
TÀI LIỆU THAM KHẢO .............................................................................................. 59

Năm học 2020 - 2021 2


Đào Duy Tùng MSSV:20170985 GVHD: TS. Mạc Thị Thoa

DANH MỤC HÌNH ẢNH


Hình 1.1: Sơ đồ cấu trúc hệ thống điều khiển động lực học ngược ............................... 10
Hình 1.2: Hệ thống điều khiển thích nghi theo mô hình chuẩn. .................................... 13
Hình 1.3: Sơ đồ khối tổng quát hệ thích nghi ................................................................ 14
Hình 1.4: Một số loại robot Scara của các hãng sản xuất: ............................................. 16
Hình 2.1: Các thông số của khâu .................................................................................... 17
Hình 2.2: Mô hình robot scara gắn các hệ trục tọa độ ................................................... 18
Hình 2.3: Không gian làm việc của robot ...................................................................... 21
Hình 2.4: Mô hình động lực học của robot .................................................................... 31
Hình 3.1: Sơ đồ tổng quát hệ thống điều khiển .............................................................. 38
Hình 3.2: Sơ đồ khối hệ thống trên Matlab Simulink .................................................... 41
Hình 3.3: Bộ điều khiển PD ........................................................................................... 42
Hình 3.4: Khối Torqe ..................................................................................................... 42
Hình 3.5: Khối SCARA .................................................................................................. 43
Hình 3.6: Đồ thị vị trí, vận tốc và momen các khâu ...................................................... 46
Hình 3.7: Khối SCARA .................................................................................................. 47
Hình 3.8: Hộp thoại inspector ........................................................................................ 48
Hình 3.9: Button group ................................................................................................... 49
Hình 3.10: Thay đổi thuộc tính....................................................................................... 50
Hình 3.11: Giao diện hoàn chỉnh.................................................................................... 51
Hình 3.12: Giao diện khởi động ..................................................................................... 51
Hình 3.13: Cửa sổ file.m ................................................................................................ 52
Hình 3.14: View callback ............................................................................................... 53
Hình 3.15: Lệnh hàm viewcall back của các phím chức năng ....................................... 54
Hình 3.16: Hướng dẫn sử dụng guide điều khiển .......................................................... 57
Hình 3.17: Minh họa robot nhận được lệnh ................................................................... 58

Năm học 2020 - 2021 3


Đào Duy Tùng MSSV:20170985 GVHD: TS. Mạc Thị Thoa

DANH MỤC BẢNG BIỂU

Bảng 2.1: Bảng tham số động học Denavit – Hartenberg .............................................. 18


Bảng 2.3: Thông số của robot trước khi tính.................................................................. 32
Bảng 3.3: Tính chất chung của các chức năng điều khiển ............................................. 48

Năm học 2020 - 2021 4


Đào Duy Tùng MSSV:20170985 GVHD: TS. Mạc Thị Thoa

CHƯƠNG 1: TỔNG QUAN VỀ ROBOT VÀ CÁC PHƯƠNG PHÁP


ĐIỀU KHIỂN ROBOT CÔNG NGHIỆP

1.1. Tổng quan về robot và robot công nghiệp


1.1.1. Vài nét về sự phát triển của robot và robot công nghiệp
Nhìn ngược dòng thời gian chúng ta có thể nhận thấy rằng từ “Robot” xuất hiện
từ khá lâu. Năm 1921 nhà viết kịch Karelcapek người Séc đã viết một vở kịch với tựa
đề R.U.R (Rossums Universal Robot) mô tả về một cuộc nổi loạn của những cỗ máy
phục dịch. Từ “Robot” ở đây có nghĩa là những máy móc biết làm việc như con người.
Có lẽ đó cũng là một gợi ý cho những nhà sáng chế kỹ thuật thực hiện các ước mơ về
những cỗ máy bắt chước được các thao tác lao động cơ bắp của con người.
Thời gian sau đó các cơ cấu điều khiển từ xa (Teleoperator) ra đời và ngày một
phát triển hoàn thiện. Teleoperator là những cơ cấu phỏng sinh học, nó bao gồm các
khâu, các khớp cùng với các dây chằng gắn liền với hệ điều hành là cánh tay của người
điều khiển thông qua các cơ cấu khuếch đại cơ khí. Teleoperator có thể cầm nắm, nâng
hạ, dịch chuyển, xoay lật các đối tượng trong một không gian hoạt động nhất định. Tuy
rằng các thao tác khá tinh vi, khéo léo nhưng tốc độ hoạt động chậm, lực tác dụng hạn
chế và hệ điều khiển chỉ thuần tuý là cơ khí.
Từ thập kỷ 50, sự phát triển đầy hứa hẹn của kỹ thuật điều khiển theo chương
trình số cứng và ngành vật liệu mới đã làm chỗ dựa vững chắc cho sự ra đời của các cơ
cấu điều khiển vô cấp (servor mechanis) và các hệ toán (computation). Ngay lập tức ý
tưởng kết hợp điều khiển NC (Numerical Control) với các cơ cấu điều khiển từ xa
(Teleoperator) được hình thành và khai triển nghiên cứu. Sự phối hợp tuyệt vời giữa
khả năng linh hoạt khéo léo của Teleoperator với độ thông minh nhạy bén của hệ điều
khiển NC đã đưa ra kết quả là một hệ máy móc tự động cao cấp với tên gọi “Robot”.
Năm 1961 ngưới máy công nghiệp (IR – industrial Robot) đầu tiên được đưa ra
thị trường. Tiếp theo đó các nước khác cũng bắt đầu sản xuất robot công nghiệp theo
bản quyền của Mỹ, Anh (1967), Thủy Điển, Nhật (1968), Đức (1971); …

Năm học 2020 - 2021 5


Đào Duy Tùng MSSV:20170985 GVHD: TS. Mạc Thị Thoa

Ngày nay, trên thế giới có khoảng 200 công ty sản xuất IR, trong đó ở Nhật có
70, ở các nước Tây Âu có 90, ở Mỹ có 30. Nhờ áp dụng rộng rãi các tiến bộ khoa học
kỹ thuật về vi xử lý, tin học cũng như vật liệu mới nên số lượng robot công nghiệp đã
tăng lên nhanh chóng, giá thành giảm đi rõ rệt, tính năng có nhiều cải tiến. Robot công
nghiệp phát huy thế mạnh ở những lĩnh vực như hàn hồ quang, đúc, lắp ráp, sơn phủ,
và trong các hệ thống tự động điều khiển liên hợp.
1.1.2. Robot và công nghệ cao
Robot và công nghệ cao là những khái niệm của sản xuất tự động hoá hiện đại.
Các nước công nghiệp phát triển đã đưa ra chiến lược dùng tự động hoá hiện đại
(IR+High Tech) kéo các xí nghiệp công nghiệp đầu tư ở nước ngoài (trước đây vì lý do
lương thợ rẻ mạt) trở về chính quốc (dùng lao động là robot công nghiệp. Chính phủ
các nước này đã áp dụng những biện pháp hỗ trợ hữu hiệu như : coi robot công nghiệp
là ngành công nghiệp quan trọng, xây dựng nhiều chương trình nhà nước về áp dụng
tiến bộ khoa học kỹ thuật vào sản xuất robot. Khuyến khích bằng cách ưu tiên thuế và
đặt ra những quy chế có lợi cho cả người sản xuất và người sử dụng robot công nghiệp.
Nhờ vậy chỉ sau một thời gian ngắn sử dụng, robot công nghiệp trở nên rộng lớn đa
dạng với cơ sở nguồn động lực phát triển là “lực đẩy” của công nghệ và “lực kéo” của
thị trường.
Một đặc điểm quan trọng của robot công nghiệp là chúng cho phép dễ dàng kết
hợp những việc phụ và chính của một quá trình sản xuất thành một dây chuyền tự
động. So với các phương tiện tự động hoá khác, các dây chuyền tự động dùng robot có
nhiều ưu điểm hơn như dễ dàng thay đổi chương trình làm việc, có khả năng tạo ra dây
chuyền tự động từ các máy vạn năng, và có thể tự động hóa toàn phần.
Khi sử dụng robot vào các dây chuyền tự động, khâu chuẩn bị kỹ thuật được rút
ngắn đi. Trong khi đó với thời gian từ lúc quyết định phương án đến lúc thiết kế xong
một dây chuyền các máy tự động, một mặt hàng hoặc quy trình công nghệ đó đã có thể
trở thành lạc hậu rồi. Theo số liệu của các chuyên gia Mỹ nghiên cứu về vấn đề này khi
khảo sát trên 70 đề án thiết kế thì với quá nửa số đó là phương án dùng các máy tự

Năm học 2020 - 2021 6


Đào Duy Tùng MSSV:20170985 GVHD: TS. Mạc Thị Thoa

động chuyên dụng phải tốn hơn một năm. Vì thế phương án dùng robot Unimate với
các máy tự động vạn năng được đưa vào sử dụng và phát huy hiệu quả to lớn.
Kỹ thuật robot có ưu điểm quan trọng nhất là tạo nên khả năng linh hoạt hóa sản
xuất. Việc sử dụng máy tính điện tử, robot và máy điều khiển theo chương trình đã cho
phép tìm được những phương thức mới mẻ để tạo nên các dây chuyền tự động cho sản
xuất hàng loạt với nhiều mẫu, loại sản phẩm. Dây chuyền tự động “cứng” gồm nhiều
thiết bị tự động chuyên dùng đòi hỏi vốn đầu tư lớn, tốn nhiều thời gian để thiết kế và
chế tạo, trong lúc quy trình công nghệ luôn luôn cải tiến, nhu cầu đối với chất lƣợng và
quy cách của sản phẩm luôn luôn thay đổi. Bởi vậy, nhu cầu “mềm” hoá hay linh hoạt
hóa dây chuyền sản xuất ngày càng tăng. Kỹ thuật robot công nghiệp và máy tính đã
đóng vai trò quan trọng trong công việc tạo ra các dây chuyền tự động linh hoạt.
Xuất phát từ nhu cầu và khả năng linh hoạt hoá sản xuất, trong những năm gần
đây không những chỉ các nhà khoa học mà các nhà sản xuất đã tập trung sự chú ý vào
việc hình thành và áp dụng các hệ sản xuất tự động linh hoạt, gọi tắt là hệ sản xuất linh
hoạt. Hệ sản xuất linh hoạt FMS (Flexible Manufacturing System) ngày nay thường
bao gồm các thiết bị gia công được điều khiển bằng chương trình số, các phương tiện
vận chuyển và kho chứa trong phân xưởng đã được tự động hoá và nhóm robot công
nghiệp ở các vị trí trực tiếp với các thiết bị gia công hoặc thực hiện các nguyên công
phụ. Việc điều khiển và kiểm tra hoạt động của toàn bộ hệ sản xuất linh hoạt được thực
hiện bằng máy tính. Ưu điểm nổi bật của hệ sản xuất linh hoạt là rất thích hợp với quy
mô nhỏ và vừa, thích hợp với yêu cầu luôn luôn thay đổi chất lượng sản phẩm và quy
trình công nghệ. Bởi vậy, ngày nay hệ sản xuất linh hoạt thu hút sự chú ý không những
ở các nước phát triển mà ngay cả ở những nước đang phát triển. Trong một số tài liệu
nước ngoài FMS như là hệ sản xuất của tương lai (Future Manufactring System).
1.1.3. Robot công nghiệp
Robot công nghiệp là một máy tự động linh hoạt thay thế từng phần hoặc toàn
bộ hoạt động cơ bắp và hoạt động trí tuệ của con ngƣời trong nhiều khả năng thích
nghi khác nhau.

Năm học 2020 - 2021 7


Đào Duy Tùng MSSV:20170985 GVHD: TS. Mạc Thị Thoa

Về mặt cơ khí và điều khiển điện tử, robot công nghiệp là sự tổ hợp khả năng
hoạt động linh hoạt của các cơ cấu điều khiển từ xa với tốc độ phát triển ngày càng cao
của hệ thống điều khiển theo chương trình số cũng như kỹ thuật chế tạo các cảm biến,
công nghệ lập trình và các phát triển của trí tuệ nhân tạo, hệ chuyên gia.
Robot công nghiệp có khả năng chương trình hoá linh hoạt trên nhiều trục
chuyển động, biểu thị cho số bậc tự do của chúng. Robot công nghiệp được trang bị
những bàn tay máy hoặc các cơ cấu chấp hành giải quyết nhƣng nhiệm vụ xác định
trong các quá trình công nghệ: hoặc trực tiếp tham gia các nguyên công (sơn, hàn, lắp
ráp các cụm thiết bị ...) hoặc phục vụ các quá trình tổ chức dòng lưu thông vật chất (chi
tiết, dao cụ, gá lắp...) với những thao tác cầm nắm, vận chuyển và trao đổi các đối
tượng vật chất với các trạm công nghệ trong một hệ thống máy tự động linh hoạt.
Ta có thể điểm qua một số định nghĩa về robot công nghiệp như sau:
- Định nghĩa theo tiêu chuẩn AFNOR Fracais:
Robot công nghiệp là một cơ cấu chuyển đổi tự động có thể chương trình hoá,
lặp lại các chương trình, tổng hợp các chương trình đặt ra trên các trục toạ độ, có
khả năng định vị, định hướng, di chuyển các đối tượng vật chất theo những
chương trình thay đổi đã chương trình hoá nhằm thực hiện các nhiệm vụ công
nghệ khác nhau.
- Định nghĩa theo tiêu chuẩn VDI 2806/BRD:
Robot công nghiệp là một thiết bị có nhiều trục, thực hiện các chuyển động tự
động có thể chương trình hoá và nối ghép các chuyển động của chúng trong các
khoảng cách tuyến tính hay phi tuyến của động trình. Chúng được điều khiển
bởi các bộ hợp nhất ghép nối với nhau, có khả năng học và nhớ các chương trình,
chúng được trang bị dụng cụ hoặc các phương tiện công nghệ khác nhau để thực
hiện các nhiệm vụ sản xuất trực tiếp và gián tiếp.
- Định nghĩa theo IOTC – 1980:
Robot công nghiệp là một máy tự động liên kết giữa một tay máy và một cụm
điều khiển chương trình hoá, thực hiện một chu trình công nghệ một cách chủ

Năm học 2020 - 2021 8


Đào Duy Tùng MSSV:20170985 GVHD: TS. Mạc Thị Thoa

động với sự điều khiển có thể thay thế những chức năng tương tự của con người.

Bản chất của các định nghĩa trên cho ta thấy một ý nghĩa quan trọng: robot công
nghiệp phải được liên hệ chặt chẽ với máy móc, công cụ và các thiết bị công nghệ tự
động khác trong một hệ thống tự động tổng hợp. Trong quá trình phân tích và thiết kế
không thể quan niệm robot như một đơn vị cấu trúc biệt lập, trái lại đó phải là những
thiết kế tổng thể của “hệ thống tự động linh hoạt robot hoá” cho phép thích ứng
nhanh và đơn giản khi nhiệm vụ sản xuất thay đổi. Theo đó, các mẫu hình robot phải
đảm bảo có:

- Thủ pháp cầm nắm, chuyển đổi tối ưu

- Trình độ hành nghề khôn khéo, linh hoạt

- Kết cấu phải thiết kế theo nguyên tắc mô đun hóa

1.2 Các phương pháp điều khiển robot

Cho đến nay trong thực tế, nhiều phương pháp và hệ thống điều khiển robot đã
được thiết kế và sử dụng, trong đó các phương pháp điều khiển chủ yếu là:

- Điều khiển động lực học ngược.

- Điều khiển phản hồi phân ly phi tuyến.

- Các phương pháp điều khiển thích nghi:

+ Điều khiển thích nghi theo mô hình mẫu (MRAC)

+ Điều khiển động lực học ngược thích nghi

Chúng ta lần lượt tìm hiểu các phương pháp điều khiển robot để biết được ưu
nhược điểm của từng phương pháp.
1.2.1. Phương pháp điều khiển động lực học ngược (điều khiển momen)

Nguyên lý của phương pháp này là chọn một luật điều khiển phù hợp để khử
thành phần phi tuyến của phương trình động lực học và phân ly đặc tính động lực học

Năm học 2020 - 2021 9


Đào Duy Tùng MSSV:20170985 GVHD: TS. Mạc Thị Thoa

của các khớp nối. Ta có phương trình động lực học của robot như sau:

 (t ) = H .(q ).q + h(q , q ) + g (q ) (1.2.1)

Nếu ta biết các tham số của robot ta có thể tính được các ma trận H, h, g từ đó có
luật điều khiển.

 dk = H (q )U + h(q , q ) + g (q ) (1.2.2)

Cân bằng lực điều khiển  dk =  với điều kiện H(q) ≠ 0 và q = U ( vecto điều
khiển phụ). Như vậy động lực học hệ thống kín sẽ được phân tích thành hệ phương
trình vi phân tuyến tính hệ số hằng.

Chọn U là tín hiệu điều khiển phụ có cấu trúc PID. Lúc đó:
t
(1.2.3)
U = qd + K D (qd − q) + K P (qd − q) + K I  (qd − q)dt
0

Trong đó: qd, q là biến khớp đặt và biến khớp thực của khớp.

q d , q là tốc độ đặt và tốc độ thực của khớp.

-
e

U Tính 
Robot

Hình 1.1: Sơ đồ cấu trúc hệ thống điều khiển động lực học ngược

Và phương trình sai số tương ứng sẽ là:


Ɛ + KD Ɛ + KPƐ + KIƐ = 0 (1.2.4)

Các hệ số KD, Kp, KI được chọn theo điều kiện ổn định của Lyapunov để sai số

Năm học 2020 - 2021 10


Đào Duy Tùng MSSV:20170985 GVHD: TS. Mạc Thị Thoa

giữa quỹ đạo chuyển động chuẩn và quỹ đạo chuyển động thực hội tụ tại điểm 0
không phụ thuộc vào điều kiện ban đầu.

Ưu điểm của phương pháp này là khử được phi tuyến tính và sự ràng buộc trong
phương trình động lực học.

Nhược điểm của phương pháp này là phải biết được đầy đủ chính xác các thông
số cũng như đặc tính động lực học robot, đồng thời cũng phát sinh tính toán phụ.
Thuật toán tính toán điều khiển U sẽ liên quan các phép tính lượng giác nên phải thực
hiện một số phép nhân ma trận vecto và ma trận phụ. Thời gian tính toán lớn là một
yếu tố ảnh hưởng đến sự hạn chế của phương pháp này.
1.2.2. Phương pháp điều khiển phản hồi phân ly phi tuyến

Phương pháp này được xây dựng trên cơ sở lý thuyết của điều khiển phân ly
cho hệ thống phi tuyến bằng phản hồi tuyến tính hóa tín hiệu ra

Từ phương trình động lực học:

 (t ) = H (q ).q (t ) + h(q , q ) + g (q ) (1.2.5)

Chọn biến đầu ra là biến khớp q : y = q

Ma trận H không đơn nhất nên ta có thể viết lại như sau:

q (t ) = [H (q )]−1 (t ) − [H (q )]−1.([h(q , q )] + [g (q )]) (1.2.6)

Phương trình này gồm các phương trình vi phân cấp 2 cho mỗi biến, vì lẽ đó
qua 2 lần vi phân phương trình đầu ra thì hệ số của tín hiệu H sẽ khác không, có nghĩa
tín hiệu vào lần đầu tiên xuất hiện trong phương trình đầu ra. Đạo hàm cấp 2 của từng
biến khớp đầu ra được biểu diễn như sau:

yi = y(t ) = [H (q )]i−1 (t ) − [H (q )]i−1.([h(q,q)] + [gi (q )]) (1.2.7)

= Hi* ( X ). (t ) + gi* ( X )


−1
Với: H i ( X ) = [H ( q )]i
*

Năm học 2020 - 2021 11


Đào Duy Tùng MSSV:20170985 GVHD: TS. Mạc Thị Thoa

gi* ( X ) = [H (q )]i−1.([h(q , q )] + [gi (q )])

X T = q T (t ), q T (t ) 

Tín hiệu đầu ra  dk của bộ điều khiển được chọn sao cho đảm bảo hệ thống phân
ly, tức là động lực học các khớp độc lập nhau:

 dk = −H * ( X ).[g * ( X ) +  * ( X ) − E(t )] (1.2.8)

= − H (q).(− H −1 (q).h(q, q) + g (q) +  * ( X ) − E (t ))

= h(q, q) + g (q) − H ( * ( X ) − E (t ))
2

Trong đó:  ( X ) =   ij . yi ,  = diag (1 , 2 , 3 ,....n )


* ( j)

j =0

Từ phương trình (1.8) ta nhận thấy tín hiệu điều khiển  dk cho khớp i chỉ phụ
thuộc vào các biến động lực học của khớp i và tín hiệu vào E(t).

Thay  dk từ phương trình (1.2.8) vào phương trình (1.2.5) ta được:

H (q ).q (t ) + h(q , q ) + g (q ) = h(q, q) + g (q) − H ( * ( X ) − E (t ))


Hay:

qi (t ) +  i1qi (t ) +  0i qi (t ) = i ei (t ) (1.2.10)

Phương trình (1.2.10) biểu thị vào ra phân ly của hệ thống. Các hệ số 1i ,  01 , i
được chọn theo tiêu chuẩn ổn định. Như vậy robot có thể mô tả thành n hệ thống độc
lập, phân ly với luật điều khiển (1.8).
1.2.3. Phương pháp điều khiển thích nghi
Hai phương pháp điều khiển robot được trình bày ở trên yêu cầu phải có một
mô hình động lực học robot chính xác và các tham số của robot phải được biết
chính xác.Tuy nhiên, một số tham số của robot khó có thể đo đạc được hoặc có thể
tồn tại tham số biến đổi trong quá trình robot hoạt động như khối lượng tải robot,

Năm học 2020 - 2021 12


Đào Duy Tùng MSSV:20170985 GVHD: TS. Mạc Thị Thoa

momen quán tính tải, ma sát tại các khớp... Với các bộ điều khiển kinh điển khó có
thể đạt được độ chính xác chuyển động, đặc biệt với robot hoạt động với tốc độ cao.
Các hệ thống điều khiển thích nghi được xây dựng sẽ đáp ứng được độ chính xác
chuyển động khi tham số của robot không được xác định một cách chính xác hoặc
biến đổi.
Có 2 phương pháp điều khiển thích nghi được ứng dụng để điều khiển robot
công nghiệp: điều khiển thích nghi theo mô hình mẫu và điều khiển động lực học
ngược thích nghi.
a, Phương pháp điều khiển thích nghi theo mô hình mẫu
Trong số các phương pháp điều khiển thích nghi (điều khiển thích nghi thông
qua điều chỉnh hệ số khuếch đại, điều khiển thích nghi tự chỉnh, điều khiển thích nghi
theo mô hình chuẩn) thì phương pháp điều khiển thích nghi theo mô hình chuẩn
(Model Reference Adaptive Control - MRAC) được sử dụng rộng rãi nhất và tương đối
dễ thực hiện. Nguyên lý cơ bản của điều khiển thích nghi theo mô hình chuẩn dựa trên
sự lựa chọn thích hợp mô hình chuẩn và thuật toán thích nghi. Thuật toán thích nghi
được tính toán dựa trên tín hiệu vào là sai lệch giữa đầu ra của hệ thống thực và mô
hình chuẩn từ đó đưa ra điều chỉnh hệ số khuếch đại phản hồi sao cho sai lệch đó là nhỏ
nhất. Sơ đồ khối chung của hệ thống điều khiển thích nghi theo mô hình chuẩn được
trình bày trên Hình 1.2

Hình 1.2: Hệ thống điều khiển thích nghi theo mô hình chuẩn.

Năm học 2020 - 2021 13


Đào Duy Tùng MSSV:20170985 GVHD: TS. Mạc Thị Thoa

b, Phương pháp điều khiển động lực học ngược thích nghi
Là phương pháp tổng hợp các kỹ thuật nhằm tự động chỉnh định các bộ điều
chỉnh trong mạch điều khiển nhằm thực hiện hay duy trì ở một mức độ nhất định
chất lượng của hệ khi thông số của quá trình được điều khiển không biết trước hoặc
thay đổi theo thời gian. Việc phân tích các hệ thống điều khiển có chất lượng cao
luôn là vấn đề trọng tâm trong quá trình phát triển của lý thuyết điều khiển tự động
nói chung và vấn đề nâng cao chất lượng hệ thống điều khiển bám chính xác quỹ
đạo chuyển động của robot nói riêng. Tùy thuộc vào các tiêu chuẩn phân loại mà có
các hệ điều khiển thích nghi khác nhau: Hệ có tín hiệu tìm hay không có tín hiệu
tìm; hệ điều khiển trực tiếp hay gián tiếp; hệ cực trị hay hệ giải tích; hệ có mô hình
mẫu hay hệ không có mô hình mẫu; hệ tự chỉnh hay hệ tự tổ chức vv... đang được
phát triển và và áp dụng để tổng hợp các hệ thống điều khiển quỹ đạo với chỉ tiêu
chất lượng cao. Phương pháp tổng quát hóa các hệ thích nghi có ý nghĩa rất lớn
trong việc bao quát một số lượng lớn các bài toán thích nghi, đơn giản được việc
tìm hiểu nguyên lý cơ bản của ngay cả các hệ phức tạp, trên cơ sở đó xây dựng các
bài toán mới, các thiết bị cụ thể mới.

Hình 1.3: Sơ đồ khối tổng quát hệ thích nghi

Vấn đề điều khiển bám chính xác quỹ đạo robot là một vấn đề luôn nhận được
sự quan tâm chú ý. Hiện nay sự phát triển mạnh mẽ của kỹ thuật về phần cứng và phần

Năm học 2020 - 2021 14


Đào Duy Tùng MSSV:20170985 GVHD: TS. Mạc Thị Thoa

mềm đã cho phép giảm thời gian tính toán, điều đó dẫn tới những động lực cho việc
thúc đẩy sự phát triển của các hệ thống điều khiển quỹ đạo thích nghi cho robot.

1.3. Tổng quan về robot scara


Robot Scara (Selectively Compliant Articulated Robot Arm) có nghĩa là tay máy
lắp ráp chọn lọc là một trong những robot phổ biến nhất trong công nghiệp. Chuyển
động của robot này rất đơn giản nhưng lại phù hợp với các dây chuyền và ứng dụng
hữu hiệu trong nhiệm vụ nhặt và đặt sản phẩm.

Cấu trúc động học loại tay máy này thuộc hệ phỏng sinh, có các trục quay, các
khớp đều là thẳng đứng. Nó có cấu tạo gồm hai khớp quay và một khớp tịnh tiến. Các
khớp quay hoạt động nhờ động cơ điện có phản hồi vị trí. Khớp tịnh tiến hoạt động
nhờ xi-lanh khí nén, trục vít hoặc thanh răng.
Một số loại robot Scara của các hãng sản xuất:

(a) (b)

Năm học 2020 - 2021 15


Đào Duy Tùng MSSV:20170985 GVHD: TS. Mạc Thị Thoa

(c) (d)
Hình 1.4: Một số loại robot Scara của các hãng sản xuất:

(a) hãng Bosch, (b) hãng Hirata, (c) hãng KUKA, (d) hãng STAUBL

CHƯƠNG 2: TÍNH TOÁN ĐỘNG HỌC VÀ ĐỘNG LỰC HỌC ROBOT SCARA

2.1. Động học thuận robot scara


Động học robot nghiên cứu chuyển động các khâu của robot về phương diện
hình học, không quan tâm tới các lực và momen gây ra chuyển động. Động học robot
là bài toán quan trọng phục vụ tính toán và thiết kế robot. Nội dung của bài toán động
học thuận là cho biết chuyển động của các tọa độ khớp, ta cần phải xác định chuyển
động của các tọa độ thao tác. Ngược lại trong bài toán động học ngược cho biết chuyển
động của các tọa độ thao tác, ta cần phải xác định chuyển động của các tọa độ khớp.
a, Phương pháp Denavit – Hartemberg
Theo DH, tại mỗi khớp ta gắn một hệ trục tọa độ, quy ước về cách đặt hệ tọa độ
này như sau:
- Trục zi được liên kết với trục của khớp thứ i+1. Chiều zi được chọn tùy ý.
- Trục xi được xác định là đường vuông góc chung giữa trục khớp i và khớp
i+1, hướng từ điểm trục của khớp i tới khớp i+1. Nếu 2 trục song song thì
xi có thể chọn bất kì là đường vuông góc chung hai trục khớp. Trong

Năm học 2020 - 2021 16


Đào Duy Tùng MSSV:20170985 GVHD: TS. Mạc Thị Thoa

trường hợp hai trục này cắt nhau, xi được xác định theo chiều của zi ×zi+1
(hoặc theo quy tắc bàn tay phải).

- Trục yi được xác định theo xi và zi theo quy tắc bàn tay phải.
Hình 2.1: Các thông số của khâu

b, Ma trận Denavit – Hartenberg

Các thông số động học Denavit – Hartenberg được xác định như sau:

- di: Khoảng cách Oi-1 và Oi theo Zi-1.


-  i : Góc giữa 2 đường vuông góc chung. Là góc quay quanh trục Zi-1 để
trục Xi-1 chuyển đến trục Xi theo quy tắc bàn tay phải.
- αi: Góc xoay đưa trục Zi-1 về Zi quanh Zi theo quy tắc bàn tay phải.
- ai: Khoảng dịch chuyển giữa 2 trục khớp động kề nhau.

Năm học 2020 - 2021 17


Đào Duy Tùng MSSV:20170985 GVHD: TS. Mạc Thị Thoa

Hình 2.2: Mô hình robot scara gắn các hệ trục tọa độ

c, Bảng tham số động học Denavit – Hartenberg:

Các biến khớp: q = [θ1 θ2 d3] = [q1 q2 q3]

Khâu θ d a α
1 q1 d1 a1 0
2 q2 0 a2 0
3 0 -q3 0 π
Bảng 2.1: Bảng tham số động học Denavit – Hartenberg

d, Động học thuận về vị trí của robot

Ma trận biến đổi tọa độ thuần nhất Denavit – Hartenberg:

Năm học 2020 - 2021 18


Đào Duy Tùng MSSV:20170985 GVHD: TS. Mạc Thị Thoa

(2.1.1)

Thay lần lượt các tham số từ bảng động học vào ma trận (2.1) ứng với từng khâu
ta được các ma trận mô tả hướng và vị trí của hệ tọa độ gắn trên khâu thứ i so với khâu
thứ i-1:

Ma trận chuyển hệ tọa độ từ khâu 0 sang khâu 1:

(2.1.2)

Ma trận chuyển hệ tọa độ từ khâu 1 sang khâu 2:

(2.1.3)

Ma trận chuyển hệ tọa độ từ khâu 2 sang khâu 3:

(2.1.4)

Năm học 2020 - 2021 19


Đào Duy Tùng MSSV:20170985 GVHD: TS. Mạc Thị Thoa

0
Ma trận biến đổi tọa độ thuần nhất An biểu diễn trạng thái khâu thao tác có thểxác định
0
từ cấu trúc động học robot. An có thể nhận được bằng cách nhân liên tiếp các

ma trận biến đổi tọa độ thuần nhất tương ứng với các phép dịch chuyển hệ tọa độ

từ hệ trục cố định tới hệ trục tọa độ gắn với khâu thao tác:

An0 = A10 A21 A32 ..... Ann−1

Từ đó ta xác định được vị trí và hướng của từng khâu đối với hệ tọa độ gốc:

 xE2 + yE2 − a12 − a22


cos( q2 ) =
 2a1a2
sin( q ) = 1 − cos 2 ( q )
 2 2

q2 = arctan 2(sin( q2 ), cos( q2 ))



 a [x cos(q2 ) + yE sin( q2 )]+x E a1
 cos( q1 ) = 2 E (2.1.5)
 xE2 + yE2
 a [y cos( q2 ) − xE sin( q2 )]+y E a1
sin( q1 ) = 2 E
 xE2 + yE2
q = arctan2(sin(q ), cos( q )
 1 1 1

q3 = d1 − z E

 Rn0 rE (0) 
Như ta đã biết: A =  T
0
n 
0 1 

Năm học 2020 - 2021 20


Đào Duy Tùng MSSV:20170985 GVHD: TS. Mạc Thị Thoa

0
Đối chiếu các thành phần của A3 ta có ma trận cosin chỉ hướng của khâu thao tác:

cos(q1 + q2 ) sin(q1 + q2 ) 0
R30 =  sin(q1 + q2 ) − cos(q1 + q2 ) 0 
 0 0 −1

0
Tọa độ điểm tác động cuối E chính là phần dịch chuyển của ma trận A3 :

 a1.cos(q1 ) + a2 .cos(q1 + q2 ) 
rE =  a1.sin( q1 ) + a2 .sin( q1 + q2 )  (2.2)
 d1 − q3 

Với các thông số hình học và giới hạn góc quay được cho như sau:

d1 = 500 mm; a1 = 450 mm; a2 = 400 mm;

q1 = -1550 ÷ 1550; q2 = -1450 ÷ 1450; q3 = 0 ÷ 200 mm

 Sự dụng phần mềm Matlab ta tìm được không gian làm việc của robot:

Hình 2.3: Không gian làm việc của robot

Năm học 2020 - 2021 21


Đào Duy Tùng MSSV:20170985 GVHD: TS. Mạc Thị Thoa

2.2. Động học ngược robot scara

Nội dung của bài toán động học thuận là cho biết chuyển động của các tọa độ
khớp, ta cần phải xác định chuyển động của các tọa độ khâu thao tác. Ngược lại trong
bài toán động học ngược, cho biết chuyển động của các tọa độ thao tác, ta cần xác định
chuyển động của các tọa độ khớp. Phương trình (2.2) được viết lại như sau: x = f(q), để
giải phương trình này tìm ra nghiệm q = q(t) khi biết x = x(t) là bài toán không đơn
giản. Các phương pháp giải bài toán động học ngược phân thành hai nhóm: các phương
pháp giải tích và các phương pháp số.

Nhóm các phương pháp giải tích (hay còn gọi là các phương pháp đại số và hình
học) cho phép tìm ra kết quả q là các biểu thức giải tích đối với x. Các phương pháp
này cho kết quả chính xác và nhanh chóng nhưng quá trình thành lập phương trình giải
tích phức tạp và không có cách giải tổng quát đối với mọi loại robot. Nhóm phương
pháp số là các phương pháp tính gần đúng với sai số cho phép, được sử dụng với sự hỗ
trợ của máy tính. Các phương pháp này cho ta cách giải tổng quát cho mọi loại robot,
cho kết quả chính xác cần thiết nhưng đưa ra kết quả chậm hơn.

a, Phương pháp giải tích


Sau đây sẽ trình bày phương pháp giải tích để giải bài toán động học ngược cho
robot scara. Từ bài toán động học thuận ta thu được phương trình xác định tọa độ của
khâu thao tác như sau:

 xE = a1 cos(q1 ) + a2 cos(q1 + q2 )

 yE = a1 sin(q1 ) + a2 sin(q1 + q2 )
 zE = d − q (2.2.1)
 1 3

= xE2 + yE2 = a12 + a22 + 2a1a2 [cos(q1 ) cos(q1 + q2 ) + sin(q1 ) sin(q1 + q2 )]


 xE2 + yE2 = a12 + a22 + 2a1a2 cos(q 2 )

Năm học 2020 - 2021 22


Đào Duy Tùng MSSV:20170985 GVHD: TS. Mạc Thị Thoa

 xE2 + yE2 − a12 − a22


cos(q2 ) =
 2a1a2 (2.2.2)

sin(q2 ) = 1 − cos (q2 )
2

Hay: q2 = atan2(sin(q2), cos(q2))

Thay (2.4) vào (2.3) ta được:

 xE = [a2 cos(q2 ) + a1 ]cos(q1 ) − a2 sin(q1 )sin(q2 )



 yE = a2 sin(q2 ) cos(q1 ) + [a2 cos(q2 ) + a1 ]sin(q1 )

(2.5) là hệ phương trình bậc nhất với 2 ẩn là cos(q1) và sin(q1) ta giải như sau:

a1 + a2 cos(q2 ) −a2 sin(q2 )


= = a12 + a22 + 2a1a2 cos(q2 ) = xE2 + yE2
a2 sin(q2 ) a1 + a2 cos(q2 )

xE −a2 sin(q2 )
1 = = a2 [xE cos(q2 ) + yE sin(q2 )] + xE a1
yE a1 + a2 cos(q2 )

a1 + a2 cos(q2 ) xE
2 = = a2 [yE cos(q2 ) − xE sin(q2 )] + yE a1
a2 sin(q2 ) yE

 1 a2 [xE cos(q2 ) + yE sin(q2 )]+x E a1


 cos( q ) = =
 xE2 + yE2
1

 (2.2.3)
sin(q ) =  2 = a2 [y E cos(q2 ) − xE sin(q2 )]+y E a1


1
 xE2 + yE2
Hay q1 = atan2(sin(q1), cos(q1))

Vậy hệ phương trình động học ngược của robot là:

Năm học 2020 - 2021 23


Đào Duy Tùng MSSV:20170985 GVHD: TS. Mạc Thị Thoa

(2.2.4)

b, Phương pháp số Newton – Raphson

Phương trình xác định tọa độ khâu thao tác:

 xE = a1 cos(q1 ) + a2 cos(q1 + q2 )  f1 = a1 cos(q1 ) + a2 cos(q1 + q2 ) − xE


 
 yE = a1 sin(q1 ) + a2 sin(q1 + q2 )   f 2 = a1 sin(q1 ) + a2 sin(q1 + q2 ) − yE
 zE = d − q f = d −q −z
 1 3  3 1 3 E

 f1   q1 
   
Đặt: F =  f 2  = 0; q =  q2 
 f 3   q3 

Phương pháp Newton – Raphson được trình bày như sau:

Bài toán khi biết được xE(t); yE(t); zE(t) tại mỗi thời điểm t, ta có thể tìm được các
giá trị q1; q2; q3 ứng với thời điểm t đó nhờ phương pháp lặp Newton – Raphson dạng
quy hồi như sau:

q( k +1) = q( k ) − J q−(1k ) Fq( k )

Năm học 2020 - 2021 24


Đào Duy Tùng MSSV:20170985 GVHD: TS. Mạc Thị Thoa

Trong đó k là bước lặp thứ k

J là ma trận jacobi, được định nghĩa như sau:

 f1 f1 f1 


 
 q1 q2 q3 
 f f 2 f 2 
J = 2  (2.2.5)
 q1 q2 q3 
 f 3 f 3 f 3 
 
 q1 q2 q3 

Đánh giá sai số của phương pháp:

 = fq k +1   với  là 1 số dương đủ nhỏ được chọn trước để đánh giá sai số

của phương pháp lặp. Quá trình lặp dừng lại khi biểu thức đánh giá sai số trên được thỏa
mãn.

Để bắt đầu thực hiện phép lặp, ta cần chọn một giá trị khởi tạo q ban đầu để thực
hiện phép tính lần cho công thức (2.9) trong lần đầu tiên. Việc tính toán tìm nghiệm q
theo phương pháp này sẽ phải thực hiện một khối lượng tính toán rất lớn. Do đó, chúng
ta phải cần đến sự trợ giúp của máy tính thông qua các phần mềm tính toán số như
Matlab, Maple.

2.3. Động lực học robot scara


2.3.1. Phương trình Lagrange dạng ma trận
Để tính toán động lực học robot, ta sẽ đi thiết lập phương trình vi phân chuyển
động của robot. Phương trình vi phân chuyển động của robot được xây dựng theo
phương trình Lagrange loại II dạng ma trận có dạng tổng quát như sau:

Năm học 2020 - 2021 25


Đào Duy Tùng MSSV:20170985 GVHD: TS. Mạc Thị Thoa

T T T
d  T   T    
 −  = −  + Qi
*
 (2.3.1)
dt  qi   qi   qi 

i= 1, 2, . . , n
Với: T – Động năng của robot
 - Thế năng của robot
Q*- vecto suy rộng không thế
n: Số bậc tự do
2.3.1.1. Động năng của robot
Động năng của robot được tính như sau:
n
T = T1 + T2 + T3 + .... + Tn =  Ti
i =1

Với Ti là động năng của khâu i được tính theo công thức sau:
1 T 1
Ti = vCi mi vCi + iT I ii
2 2
Trong đó:
mi: Khối lượng khâu i
vCi: Vận tốc dài của khâu i trong hệ quy chiếu cố định
i : Vận tốc góc khâu i trong hệ quy chiếu động
Ii: Ma trận tenxo quán tính của khâu i đối với khối tâm của nó trong hệ tọa
độ động
Đặt rCi là vecto xác định vị trí khối tâm của khâu I trong hệ tọa độ cố định,
được tính theo công thức sau:

rCi = rOi0 + Ri0 rCii


Trong đó:

rOii là vị trí điểm gốc hệ tọa độ động Oi so với hệ tọa độ cố định

Năm học 2020 - 2021 26


Đào Duy Tùng MSSV:20170985 GVHD: TS. Mạc Thị Thoa

Ri0 là ma trận cosin chỉ hướng của hệ tọa độ động Oi so với hệ tọa độ cố định

rCii Là vecto khối tâm của khâu i trong hệ tọa độ động Oi


Khi đó vận tốc dài của khối tâm khâu i và vận tốc góc khâu i có thể tính như sau:

 xCi xCi xCi   q1 


 ...  
q q2 qn   q2 
 xCi   1
 y yCi yCi   .  rCi
vCi = rCi =  yCi  =  Ci ...   = .q (2.3.2)
q q2 qn   .  q
 zCi   1
 zCi zCi zCi   . 
 ...  
 q1 q2 qn   qn 

  x  x  x   q1 
...
 q q2 qn   q2 
 1  
T    y  y   .  i
i = x  y z  =  y ...   = q (2.3.3)
 q1 q2 qn   .  q
 z z z   . 
 ...  
 q1 q2 qn   qn 

rCi 
Đặt JTi = ; J Ri = i ta được;
q q

vCi = JTi q; i = J Ri q
Với JTi; JRi lần lượt là ma trận jacobi tịnh tiến và jacobi quay của khâu i
Từ đó ta có thể viết lại công thức (2.11) như sau:
1 T T
Ti = q ( J Ti mi J Ti + J RiT I i J Ri )
2
Vậy động năng của robot là:

Năm học 2020 - 2021 27


Đào Duy Tùng MSSV:20170985 GVHD: TS. Mạc Thị Thoa

n
1 T n T  1
T =  Ti = q  ( J Ti mi J Ti + J RiT I i J Ri  q = qT M (q )q (2.3.4)
i =1 2  i =1  2

Trong đó:

 m11 (q ) m12 (q ) ... m1n ( q) 


n  m (q) m (q) ... m2 n (q) 
M (q ) =  ( J Ti mi J Ti + J Ri I i J Ri ) =  21
T T 22
(2.3.5)
i =1  ... ... ... ... 
 
 mn1 (q ) mn 2 (q ) ... mnn (q )  nn

M(q) được coi là ma trận khối lượng suy rộng


2.3.1.2. Thế năng của robot
Thế năng của robot được tính theo công thức sau:

n
 = − mi g 0T rCi (2.3.6)
i =1

Trong đó:
mi – khối lượng khâu i
g 0T = [0, − g , 0]

g – Gia tốc trọng trường, g = 9,81 m/s2


2.3.1.3. Thiết lập phương trình vi phân chuyển động của robot
Xét biểu thức (2.3.4):
n
1 T n T  1
T =  Ti = q  ( J Ti mi J Ti + J RiT I i J Ri  q = qT M (q )q
i =1 2  i =1  2

Đặt: M(q) = [mij]n×n ta có:

Năm học 2020 - 2021 28


Đào Duy Tùng MSSV:20170985 GVHD: TS. Mạc Thị Thoa

1 T 1 n n
T = q M (q)q =  m jk (q)q j qk
2 2 k =1 j =1
T n
 =  mij (q).q j
qi j =1

d  T
 n n dm ( q )
   ji
= +  ij
 m ( q ) q qj
dt  qi
j
 j =1 j =1 dt
n n n m ( q )
=  mij (q )q j + 
ij
qk q j
j =1 j =1 k =1 qk

T 1 n n m jk (q )
=  q j qk (2.3.7)
qi 2 j =1 k =1 qi

Từ biểu thức (2.3.6), ta suy ra:


 n
r
= − mi g0T Ci = gi (q)
qi j =1 qi
Ta được:
n n n mij (q ) 1 n n m jk (q )
 m (q)q + 
j =1
ij j
j =1 k =1 qk
qk q j − 
2 j =1 k =1 qi
q j qk + gi (q ) =  i

Hay:
n n n
 mij (q) 1 mjk (q) 
 mij ( q ) q j +  
j =1 k =1  


qk q j + gi (q) =  i (2.3.8)
j =1 q k 2 q i 

Ta đưa vào kí hiệu:

mij (q ) 1 m jk (q ) 1
hijk (q ) = − = mij,k (q ) − m jk ,i (q )
qk 2 qi 2

Năm học 2020 - 2021 29


Đào Duy Tùng MSSV:20170985 GVHD: TS. Mạc Thị Thoa

Do M(q) là ma trận đối xứng nên mik , j = m jk ,i = mij,k . Từ đó suy ra:

1 1
hijk (q) = (mij,k + mik , j − mkj ,i ) = (mik , j + m ji ,k − mkj ,i )
2 2
Thay (2.3.7) vào (2.3.8) ta nhận được phương trình vi phân chuyển động của
robot:

n n n

 m (q)q +  h
j =1
ij j
j =1 k =1
ijk (q)qk q j + gi (q) =  i (2.3.9)

Đặt: cij (q, q ) =  hijk (q )qk


k =1

n n n

Từ đó suy ra:  h
j =1 k =1
ijk (q)qk q j =  cij (q, q)q j
j =1

Thay (2.20) vào (2.19) ta được:


n n

 m ( q ) q +  c ( q, q ) q
j =1
ij j
j =1
ij j + g i (q ) =  i

Hệ n phương trình vi phân chuyển động của tay máy có thể viết lại dưới dạng
ma trận như sau:

M (q)q + C (q, q)q + g (q ) =  (t ) (2.3.10)


Trong đó:

M (q) = mij   nn


là ma trận khối lượng suy rộng.

C (q, q) = cij   nn


là ma trận ly tâm – Coriolis.

T
M (q ) 1  M ( q) 
C ( q, q ) = ( E  q) −  (q  E )  (2.3.11)
q 2   (q) 

Năm học 2020 - 2021 30


Đào Duy Tùng MSSV:20170985 GVHD: TS. Mạc Thị Thoa

𝜏 – lực dẫn động tại các khớp

𝜕𝑟𝐶𝑖
g(q) = − ∑ (𝑚𝑖 𝑔0𝑇 . ) – ma trận vector trọng lực
𝜕𝑞𝑖

2.3.2. Thiết lập phương trình động lực học cho robot Scara

Hình 2.4: Mô hình động lực học của robot

Các thông số của robot trước khi tính:

[L1 mm] [L2 mm] [L3 mm] m1(kg) m2(kg) m3(kg) M(kg)
500 500 400 5 5 5 5

d1 (mm) a1 (mm) a2 (mm) l1 (mm) l2 (mm) l3 (mm)


500 450 400 250 225 200

Năm học 2020 - 2021 31


Đào Duy Tùng MSSV:20170985 GVHD: TS. Mạc Thị Thoa

Bảng 2.3: Thông số của robot trước khi tính

Tọa độ khối tâm của các khâu trong hệ quy chiếu gắn liền với khâu có dạng:

 −l1   −l2  0


rC11 =  0  ; rC22 =  0  ; rC33 =  0 
 0   0   −l3 

Để thuận tiện cho việc tính toán ta kí hiệu:

 c1 s1 c12 s12 c123 s123 


T

=  cos( q1 ) sin( q1 ) cos( q1 + q2 ) sin( q1 + q2 ) cos( q1 + q2 + q3 ) sin( q1 + q2 + q3 ) 


T

Từ bài toán động học thuận ta có vị trí điểm gốc của hệ tọa độ động so với hệ tọa
độ cố định và các ma trận cosin chỉ hướng là:

 a1c1   a2 c12 + a1c1   a2 c12 + a1c1 


rO01 =  a1s1  ; rO02 =  a2 s12 + a1s1  ; rO03 =  a2 s12 + a1s1 
 d1   d1   d1 − q3 
c1 − s1 0 c12 − s12 0  c12 s12 0
R10 =  s1 c1 0  ; R20 =  s12 c12 0  ; R30 =  s12 −c12 0 
 0 0 1   0 0 1   0 0 −1

Từ đó suy ra tọa độ khối tâm các khâu so với hệ quy chiếu cố định:

Năm học 2020 - 2021 32


Đào Duy Tùng MSSV:20170985 GVHD: TS. Mạc Thị Thoa

(a1 − l1 )c1 
rC1 = rO01 + R10 rC11 =  (a1 − l1 ) s1 
 d1 
 a1c1 + (a2 − l2 )c12 
rC 2 = rO02 + R20 rC22 =  a1s1 + (a2 − l2 ) s12  (2.3.12)
 d1 
 a1c1 + a2 c12 
rC 3 = rO03 + R30 rC33 =  a1s1 + a2 s12 
 d1 + l3 − q3 
Các ma trận Jacobian tịnh tiến của các khâu:

q =  q1 q3 
T
q2
 −(a1 − l1 ) s1 0 0 
rC1 
JT 1 = =  (a1 − l1 )c1 0 0 
q
 0 0 0 
 −(a2 − l2 ) s12 − a1s1 −(a2 − l2 ) s12 0
r (2.3.13)
J T 2 = C 2 =  (a2 − l2 )c12 + a1c1 (a2 − l2 )c12 0 
q
 0 0 0 
 − a1s1 − a2 s12 −a2 s12 0 
rC 3 
JT 3 = =  a1c1 + a2 c12 a2 c12 0 
q
 0 0 −1

Toán tử sóng véc tơ vận tốc góc khâu thứ nhất:

 −q1s1 −q1c1 0   c1 s1 0   0 −q1 0 


1 = R10 R1T =  q1c1 −q1s1 0   − s1 c1 0  =  q1 0 0 
 0 0 0   0 0 1   0 0 0 

Năm học 2020 - 2021 33


Đào Duy Tùng MSSV:20170985 GVHD: TS. Mạc Thị Thoa

Suy ra vec tơ vận tốc góc của khâu 1 trong hệ quy chiếu R0:

T
1 = 0 0 q  1

Từ đó ta tính được ma trận Jacobian quay của khâu thứ nhất:

q =  q1 q3 
T
q2
0 0 0 
1  (2.3.14)
J R1 = = 0 0 0 
q
1 0 0 
Tính toán tương tự ta tìm được ma trận jacobian quay của các khâu còn lại:

Khâu thứ 2:

 0 − q1 − q2 0
2 = R20 R2T =  q1 + q2 0 0 
 0 0 0 
2 =  0 0 q1 + q2 
T
(2.3.15)
0 0 0
2 
J R2 = = 0 0 0 
q
1 1 0 

Khâu thứ 3:

 0 − q1 − q2 0
3 = R30 R3T =  q1 + q2 0 0 
 0 0 0 
3 =  0 0 q1 + q2 
T
(2.3.16)
0 0 0 
3 
J R3 = = 0 0 0 
q
1 1 0 

Năm học 2020 - 2021 34


Đào Duy Tùng MSSV:20170985 GVHD: TS. Mạc Thị Thoa

Các ma trận momen quán tính của các khâu, tính đối với các hệ tọa độ đi qua khối
tâm tương ứng và có trục song song với hệ tọa độ R1.

Đối với khâu thứ nhất:

 
0 0 0 
 I1x 0 0  
I1 =  0  1
I1 y 0  = 0 2
m1.L1 0  (2.3.17)
 12 
 0 0 I1z   
1
0 0 m1.L1 
2

 12 
Đối với khâu thứ hai:

 
0 0 0 
I2x 0 0  
I 2 =  0 0  = 0
1
I2 y m2 .L22 0  (2.3.18)
 12 
 0 0 I 2 z   
1
0 0 m2 .L2 
2

 12 
Đối với khâu thứ ba:

1 2 
12 m3 .L3 0 0
 I3x 0 0  
I 3 =  0 0  =  0 0
1
I3 y m3 .L23 (2.3.19)
 12 
 0 I 3 z  
0 
0
 0 0
 
Ma trận khối lượng xác định:

 m12 m12 m13 


M (q ) =  (mi J TiT J Ti + J RiT Ai I i AiT J Ri ) =  m21 m22 m23  (2.3.20)
 m31 m32 m33 

Năm học 2020 - 2021 35


Đào Duy Tùng MSSV:20170985 GVHD: TS. Mạc Thị Thoa

Trong đó:

m11 = ( a12 − 2a1l1 + l12 ) m1 + [2a1a2 cos(q2 ) − 2a1l2 cos(q2 ) + a12 + a22 + l22 − 2a2l2 ]m2
+[2a1a2 cos(q2 ) + a12 + a22 ]m3 + I1z + I 2 z + I 3 z
m12 = m21 = [a22 − 2a2l2 + l22 + a1a2 cos(q2 ) − a1l2 cos(q2 )]m2 + [a22 + a1a2 cos(q2 )]m3
+ I 2 z + I3z
m13 = m31 = 0 = m23 = m32 = 0
m33 = m3
m22 = m2 (a22 − 2a2l2 + l22 ) + m3a22 + J C 2 + J C 3

Ma trận Coriolis:

 c11 c12
T c13 
M (q )  1 M (q ) 
C ( q, q ) = ( E  q) −  (q  E )  = c21 c22 c23  (2.3.21)
q  2 q   c31 c32 c33 

Với các giá trị:

 m11 m12 0 
M (q) =  m21 m22 0 
 0 0 m33 

q =  q1 q2 q3 
T

1 0 0 
E = 0 1 0 
0 0 1 

Từ đó ta tìm được các phần tử của ma trận C:

Năm học 2020 - 2021 36


Đào Duy Tùng MSSV:20170985 GVHD: TS. Mạc Thị Thoa

c11 = [[a1l2 sin(q2 ) − a1a2 sin(q2 )]m2 − a1a2 sin(q2 )m3 ]q2
c12 = [[a1l2 sin(q2 ) − a1a2 sin(q2 )]m2 − a1a2 sin(q2 )m3 ][q1 + q2 ]
c13 = 0
c21 = [[a1a2 sin(q2 ) − a1l2 sin(q2 )]m2 + a1a2 sin(q2 )m3 ]q1
c23 = c31 = c32 = c33 = 0

c22 = 0,5*[a1.(a2m3sin(q3) – a2m2.sin(q1-q2) + l2m2sin(q1-q2))].𝑞1̇

Thế năng của robot:

d1
 = m1 gd1 + m2 gd1 + m3 g (d1 + l3 − q3 ) + m0 g .
2
 0  (2.3.22)
 
 g (q) = =  0 
q
 −m3 g 

Lực điều khiển tại các khớp:

 1 
 =  2 
 3 

Thế (2.24), (2.25), (2.26), (2.27) vào (2.23) ta nhận được phương trịnh vi phân
chuyển động của robot:

 m11 m12 0   q1   c11 c12 0   q1   0   1 


m m22 0   q2  + c21 c22 0   q2  +  0  =  2 
 21 (2.3.23)
 0 0 m33   q3   0 0 0   q3   −m3 g   3 

Năm học 2020 - 2021 37


Đào Duy Tùng MSSV:20170985 GVHD: TS. Mạc Thị Thoa

CHƯƠNG 3: THIẾT KẾ BỘ ĐIỀU KHIỂN

3.1. Cơ sở lý thuyết bộ điều khiển PD


Nhiêm vụ của bài toán điều khiển là tìm ra quy luật của lực/ mô men do các động cơ
điện tạo ra tác dụng lên các khâu để đảm bảo robot chạy đúng theo quy luật qd(t) cho
trước, nhằm thực hiện một số nhiệm vụ nào đó. Trên cơ sở chuyển động mong muốn
qd(t) được định nghĩa trước và chuyển động hiện tại của robot được đo bởi các cảm biến
đặt tại khớp, bọ điều khiển có nhiệm vụ đưa ra các lực/mômen cần thiết. các lực/mômen
này tác động làm cho robot thực hiện chuyển động mong muốn một cách ổn định và
chính xác.

Để có được luật điều khiển đáp ứng các yêu cầu vừa nêu, thông thường luật điều khiển
dựa trên động lực học ngược được sử dụng. Với luật điều khiển này lực/mô men của các
bộ phận dẫn động được tính như sau:

𝜏̄ (𝑡) = 𝐻(𝑞̄ ). 𝑞̈̄ (𝑡) + ℎ(𝑞̄ , 𝑞̇̄ ) + 𝑔(𝑞̄ ) (2.3.1)


Trong đồ án này em sử dụng luật điều khiển PD

Giả thiết thành phần mômen trọng lực G(q) được bù hoàn toàn,sơ đồ hệ thống điều
khiển phản hồi với cấu trúc điều khiển PD có dạng đơn giản như sau:

Hình 3.1: Sơ đồ tổng quát hệ thống điều khiển

Năm học 2020 - 2021 38


Đào Duy Tùng MSSV:20170985 GVHD: TS. Mạc Thị Thoa

Tín hiệu đặt vị trí qd được so sánh với vị trí thực của khớp q, sai lệch được đặt vào khâu
khuếch đại với hệ số Kp. Tín hiệu ra của khâu tỉ lệ được cộng đại số với tín hiệu tỉ lệ với
tốc độ của khớp và đặt cơ cấu chấp hành của robot:

𝜏̅tk = Kp𝜀̅ - Kd𝜀̅ (2.3.2)


Hay viết với khớp thứ i ta có:

𝜏̅tki = Kpi𝜀̅i - Kdi𝜀̅i (2.3.3)

Trong đó :

- 𝜀̅ = 𝑞̅𝑑 − 𝑞̅ sai số vị trí khớp robot.


- 𝜀̅̇ = 𝑞̅̇𝑑 − 𝑞̅̇ sai số tốc độ khớp robot.
- 𝐾p = diag( 𝐾p1 𝐾 p2 .... 𝐾pn) là ma trận đường chéo các hệ số khuếch đại của từng
khớp hợp riêng
- 𝐾d = diag( 𝐾d1 𝐾 d2 .... 𝐾dn) là ma trận đường chéo các hệ số đạo hàm của từng
khớp hợp riêng.
Hệ thống điều khiển với cấu trúc bộ điều khiển trên ổn định tuyệt đối toàn cục.

Thực vậy, chọn hàm Liapunov có dạng:

1 T .T . 
VL =   K p  + q H q  (2.3.4)
2  

Hàm VL biểu thị tổng năng lượng của hệ thống robot:

( ) 1 .
T . 
1 T
Thành phần VL =  K p  tỷ lệ năng lượng đầu vào và thành phần VL =  q H q  là
2 2  

động năng của robot. Kp và H là các ma trận hệ số dương nên hàm VL  0 với q  qd .

Tính đạo hàm cấp 1 của hàm VL, nhận được:

Năm học 2020 - 2021 39


Đào Duy Tùng MSSV:20170985 GVHD: TS. Mạc Thị Thoa

1 . .. 
T . .. T . .T . . .T
. T
VL =   K p  +  K p + q H q + q H q + q H q  (2.3.5)
2  

.T .
T
Do tính đối xứng của các thành phần  K p  , q H q , công thức trên được rút gọn ở

dạng:

.T T T
. 1. . . . ..
VL =  K p  + q Hq + q Hq (2.3.6)
2
 .
() ()
..
Thay phương trình động lực học dạng tổng quát: M = H q q + V  q,q  + G q vào
 
phương trình trên, với giả thiết không có thành phần momen trọng lực G(p), nhận được
phương trình sau:

.T
1. . . .   . 
T T
.
VL =  K p  + q H q + q  M − V  q,q   (2.3.7)
2   
Sử dụng thuộc tính của phương trình động lực học và áp dụng luật điều khiển:
.
Mdk = K p  + K D  , phương trình trên được biến đổi thành dạng:

.T
 .. 1 . .
.T T T T

()
1 . 
. . . . . . .
VL = q K D − q C  q,q  q + q H q q = − q K D + q  H − C  q (2.3.8)
  2 2 

 .  ..
trong đó, V  q,q  = C  q,q  q
   

T
1 . 
. .
1 .
Do ma trận H − C là ma trận đối xứng ngược, q  H − C  q = 0 với mọi q , nên ta
2 2 
nhận được:

. .T .
VL = − q K D q  0 (2.3.9)

Năm học 2020 - 2021 40


Đào Duy Tùng MSSV:20170985 GVHD: TS. Mạc Thị Thoa

Bất đẳng thức trên cho thấy rằng hệ thông ổn định tuyệt đối. mức độ dương của VL phụ
thuộc vào Kp và mức độ âm của VL phụ thuộc vào KD. Do đó tăng tốc độ hội tụ bằng
cách tang giá trị ma trận KD.

3.2. Thiết kế bộ điều khiển cho Robot SCARA


3.2.1 Điều khiển trạng thái xác định robot ( tín hiệu đặt là hằng số)
Xây dựng chương trình mô phỏng điều khiển hệ thống (Matlab/Simulink).

Hình 3.2: Sơ đồ khối hệ thống trên Matlab Simulink

Năm học 2020 - 2021 41


Đào Duy Tùng MSSV:20170985 GVHD: TS. Mạc Thị Thoa

Hình 3.3: Bộ điều khiển PD

Sử dụng bộ điều khiển PD để điều khiển Robot với các thông số như sau:
Kp1=Kp2=Kp3=625

Kd1=Kd2=Kd3=25

Tín hiệu đặt vào được tính toán ở phần thiết kế :

Hình 3.4: Khối Torqe

Năm học 2020 - 2021 42


Đào Duy Tùng MSSV:20170985 GVHD: TS. Mạc Thị Thoa

Hình 3.5: Khối SCARA

Sau khi chạy mô phỏng ta thu được các kết quả mô phỏng như sau:

Đồ thi q1 Đồ thi q2

Năm học 2020 - 2021 43


Đào Duy Tùng MSSV:20170985 GVHD: TS. Mạc Thị Thoa

Đồ thi q3

Sai số q1 Sai số q2

Sai số q3

Năm học 2020 - 2021 44


Đào Duy Tùng MSSV:20170985 GVHD: TS. Mạc Thị Thoa

Vận tốc q1 Vận tốc q2

Vận tốc q3

Sai số vận tốc q1 Sai số vận tốc q2

Năm học 2020 - 2021 45


Đào Duy Tùng MSSV:20170985 GVHD: TS. Mạc Thị Thoa

Sai số vận tốc q3

Đồ thị mô men q1,q2,q3

Hình 3.6: Đồ thị vị trí, vận tốc và momen các khâu

3.3. Mô phỏng bằng Matlab Sumulink – SimMechanics


Bằng việc mô phỏng ngoài việc kiểm chứng tính đúng đắn của quá trình thiết kế
tính toán hệ thống điều khiển còn mang lại cho chúng ta cái nhìn trực quan hơn về các
thao tác của Robot. Do đó trên thế giới hiện nay cũng trang bị rất nhiều các công cụ hỗ
trợ việc mô phỏng này bao gồm cả những phần mềm của các hãng nỗi tiếng về chế tạo
Robot ( KUKA, MITSUBISHI) cho tới những hãng phần mềm thuần tuý thiết kế cơ khí

Năm học 2020 - 2021 46


Đào Duy Tùng MSSV:20170985 GVHD: TS. Mạc Thị Thoa

và tính toán (MATLAB, CATIA, SOLIDWORKS) đều có những tác vụ riêng biệt được
tích hợp đi kèm bộ phần mềm cung cấp.

Song song với việc học tập nhóm sinh viên có cơ hội tiếp cận với công cụ
SimMechanics một ứng dụng rất hay được tích hợp trên phần mềm thiết kế 3D và
Sumulink trong Matlab. Qua việc mô phỏng bằng công cụ này giúp cho sinh viên hiểu
rõ hơn mối quan hệ giữa Cơ khí – điều khiển tự động

Các bước mô phỏng :

Trước khi bước vào việc mô phỏng bằng SimMechanics chúng ta cần có một .xml file
để nhúng vào môi trường MATLAB bằng công cụ SimMechanics link trên Solidworks.

Hình 3.7: Khối SCARA

3.3.1. Giới thiệu về hộp thoại inspector


Mỗi hộp thoại có Inspector, bằng cách nhập đúp chuột vào hoặc chuột phải chọn
Property Inspector.Tất cả các hộp thoại trên, để sử dụng chúng, chúng ta nhấp và kéo
thả vào vùng cần thiết kế, mỗi hộp thoại có các thông số chính riêng, để chỉnh các thông
số liên quan đến hộp thoại nào ta cần nhấp đôi vào hộp thoại đó(hoặc click chuột phải
chọn Property Inspector) hộp thoại Inspector hiện ra như sau, dùng thanh trượt kéo
xuống để xem hết chức năng.

Năm học 2020 - 2021 47


Đào Duy Tùng MSSV:20170985 GVHD: TS. Mạc Thị Thoa

Hình 3.8: Hộp thoại inspector

Phía bên trái của Menu Inspector là tên thuộc tính, có thể gọi thực thi các thuộc
tính nàybằng các lệnh.

Phía bên trái là giá trị của thuộc tính, giá trị này do người dùng đặt, có thể thay
đổi thôngqua các lệnh gọi (callback), hoặc được thiết lập trước.

Một vài tính chất chung của các điều khiển mà bạn nên chú ý:

Tính chất(property) Tên thuộc tính Miêu tả


Enable On,Inactive,off(on) Kiểu hiển thị lên giao diện

Max Vô hướng(mặc định=1) Giá trị lớn nhất

Min Vô hướng(mặc định=0) Giá trị nhỏ nhất

String Chuỗi hiển thị

Tag Phương diện để gọi hàm

Units Đơn vị đo

Value Vô hướng hoặc vector Giá trị của componet

Bảng 3.3: Tính chất chung của các chức năng điều khiển

Năm học 2020 - 2021 48


Đào Duy Tùng MSSV:20170985 GVHD: TS. Mạc Thị Thoa

3.3.2 Thiết kế giao diện bảng điều khiển


Thực hiện thao tác như các bước vừa nói trên, mở Gui và chọn Blank Gui
(default) → Chọn chỗ lưu khi thiết lập xong (save new figure as) → Chọn Button Group
, kéo và thả vào giao diện như hình.

Hình 3.9: Button group

- Sau đó kéo cac Push Button, edit text, static text

- Thay đổi thuộc tính của đối tượng thì kích dúp vào đối tượng hộp thoại Inspector xuất
hiện

Năm học 2020 - 2021 49


Đào Duy Tùng MSSV:20170985 GVHD: TS. Mạc Thị Thoa

Bước
1:kích đúp
chuột

Bước 2:
Thay đổi
các thuộc
tính

Hình 3.10: Thay đổi thuộc tính

-Sau khi thêm và sửa các thuộc tính ta được bản điều khiển hoàn chỉnh

Năm học 2020 - 2021 50


Đào Duy Tùng MSSV:20170985 GVHD: TS. Mạc Thị Thoa

Hình 3.11: Giao diện hoàn chỉnh

3.4. Thiết lập các hàm, lập trình đối tượng


3.4.1. Giao diện trong M file
- Khi đã cân chỉnh xong toàn bộ giao diện trong GUI, nhấn F5 (hoặc tổ hợp phím Ctrl

+T), hoặc nhấp vào biểu tượng trên thanh Menu) để khởi động giao diện.

Hình 3.12: Giao diện khởi động

-Khi Run, Matlab sẽ tự chạy file. m và hiển thị giao diện đồ họa lên màn hình, ở đây ta
bắt đầu thao tác với file. M

Năm học 2020 - 2021 51


Đào Duy Tùng MSSV:20170985 GVHD: TS. Mạc Thị Thoa

Hình 3.13: Cửa sổ file.m

Khi ta chưa thao tác trong file. m xuất hiện như trên hình, trong đó tất cả các hàm
Fuction
đều được Matlab hỗ trợ sẵn các hàm chức năng có liên quan, ta chỉ việc thao tác trên đó.
- Sau mỗi một hàm bất kì đều có các chú thích bên dứới (sau dấu %), ta có thể xóa bỏ
toàn bộ
chúng đi để dễ nhìn cũng không ảnh hưởng đến các hàm.
- Trong M file có sẵn các hàm Callback, ta có thể tìm trong Mfile các hàm liên quan để
viết
câu lệnh, tuy nhiên, để nhanh hơn chúng ta có thể làm như sau:
- Quay lại mành hình giao diện GUI vừa thiết kế, nhấp vào hộp thoại muốn thực thi hàm
Callback, nhấp chuột phải chọn View Callback  Callback.Như hình sau

Năm học 2020 - 2021 52


Đào Duy Tùng MSSV:20170985 GVHD: TS. Mạc Thị Thoa

Hình 3.14: View callback

- Sau đó hàm Callback sẽ tự động được gọi và con trỏ chuột sẽ tìm đến vị trí của nó
trong
Mfile.
- Bây giờ khi muốn gọi một hàm nào đó ta cũng có thể thực hiên như trên. Sau đó tiến
hành
viết câu lệnh cho nó.

3.4.2. Các hàm được sử dụng


- Hàm callback được lập trình cho các nút Button, Checkbox, edit text,... nhưng static
text
và axes.. thì không có hàm callback.
- Mỗi một hàn callback được viết bởi cấu trúc sau:
Funciton Tag_Callback ( hobiect, eventdata, handles)
với Tag chính là giá trị của Tag mà ta đã đặt khi tạo giao diện. Các hàm chứa bên trong
callback bao gồm h0biject, evedata, handles.
+ h0bject là hàm truy cập nội bộ của mỗi function riêng lẻ.

Năm học 2020 - 2021 53


Đào Duy Tùng MSSV:20170985 GVHD: TS. Mạc Thị Thoa

+ Evendata là hàm xác định thuộc tính của function.


+ Handles là hàm truy cập liên kết giữa các function, nó bao gồm tất cả các cấu trúc của
người dùng, được sử dụng để truy xuất qua các điều khiển khác.
- Hàm Get cho phép ta gọi thuộc tính của đối tượng.
- Hàm Set cho phép ta đặt giá trị cho thuộc tính của đối tượng.

4.4.3 Lập trình các đối tượng


- Thực hiện các thao tác vừa nói trên hàm callback sẽ tự động gọi.Lần lượt viết thêm câu
lệnh vào bên dưới (btt_Open_callback)

Hình 3.15: Lệnh hàm viewcall back của các phím chức năng

Năm học 2020 - 2021 54


Đào Duy Tùng MSSV:20170985 GVHD: TS. Mạc Thị Thoa

*Giải thích:
- Handles.input cũng như trên là hàm dùng để truy cập vào thuộc tính có tên là
“input”.Tương tự ở đây là truy cập vào thuộc tính có tên là Goc1. Sau đó feedback tín
hiệu
về Goc1.
- Ở câu lệnh trên ta thực hiện vòng lặp if-end
- Cấu trúc vòng lặp if - end như sau:
>>if biểu_thức_logic_n
các_phát_biểu_n
>>end.
- Như vậy với đoạn code trên, biểu thức được ta chọn để thực thi phát biểu, mỗi một
biểu
thức logic đúng sẽ được thực thi ngay sau đó.

+btt_Close_Callback

+btt_Start_Callback

Năm học 2020 - 2021 55


Đào Duy Tùng MSSV:20170985 GVHD: TS. Mạc Thị Thoa

Giải thích : handles.unit_input lúc này là biến trung gian

-Lấy giá trị :theta2=str2num(get(handles.ed_theta2.’string’));

+Ở câu lệnh này ta lấy giá trị ở ô edit text (tag là ed_theta2) kiểu dữ liệu string

+str2num: đổi kiểu dữ liệu string sang số

-Gán giá trị: set(handles.ed_y,’string’,num2str(y));

+Sau khi lấy được giá trị ta thay và bài toán thuận để tính (x,y,z)

+Gán giá trị y tính được vào edit text(tag là ed_y) kiểu dữ liệu nhận là string

-Liên kết guide với simulink

+hàm set_param([handles.modelname ‘/Actuator2’],’after’,num2str(theta2));

+modelname: là tên file.slx(tên robots)

+Actuator chính là khối Step

Năm học 2020 - 2021 56


Đào Duy Tùng MSSV:20170985 GVHD: TS. Mạc Thị Thoa

3.5. Cách sử dụng giao diện

Nhấn vào biểu tượng Run trên màn hình thiết kế giao diện.

Hình 3.16: Hướng dẫn sử dụng guide điều khiển

- VD: Ta muốn chỉnh khâu 1 quay 1 góc 45 và khâu 2 quay 1 góc - 45 và khâu 3 giữ
nguyên d3=0;

Năm học 2020 - 2021 57


Đào Duy Tùng MSSV:20170985 GVHD: TS. Mạc Thị Thoa

Hình 3.17: Minh họa robot nhận được lệnh

3.6. Thiết kế sơ đồ mạch điện và mạch điều khiển (file PDF kèm theo)

Năm học 2020 - 2021 58


Đào Duy Tùng MSSV:20170985 GVHD: TS. Mạc Thị Thoa

TÀI LIỆU THAM KHẢO


[1] GS. TSKH Nguyễn Văn Khang, TS. Chu Anh Mỳ - Cơ sở Robot công nghiệp,

NXB Giáo dục 2010.

[2] TS. Nguyễn Mạnh Tiến - Điều khiển Robot công nghiệp, NXB KHKT 2006.

[3] Nguyễn Phùng Quang - Matlab và Simulink dành cho kỹ sư điều khiển tự động.

NXB KHKT 2006.

[4] TS. Vũ Thanh Chương - Ứng dụng vi điều khiển trong đào tạo và sản xuất –
NXB KHKT 2012.

Năm học 2020 - 2021 59

You might also like