Professional Documents
Culture Documents
Iot AI
Iot AI
HÀ NỘI, 12/2022
MỤC LỤC
1. LỜI MỞ ĐẦU................................................................................................2
2. TỔNG QUAN TÌNH HÌNH NGHIÊN CỨU..................................................3
2.1. Tổng quan tình hình nghiên cứu và lí do lựa chọn đề tài..........................3
2.2. Mục tiêu, nội dung và phương pháp nghiên cứu......................................4
2.3. Đối tượng và phạm vi nghiên cứu............................................................5
3. CỞ SỞ LÝ THUYẾT.....................................................................................7
3.1. Cấu trúc robot và tay máy công nghiệp....................................................7
3.2. Thiết lập hệ tọa độ khảo sát và lập bảng D – H........................................9
3.3. Vùng hoạt động của khâu tác động cuối.................................................12
3.4. Bài toán động học ngược........................................................................14
4. PHÂN TÍCH THIẾT KẾ HỆ THỐNG.........................................................15
4.1. Ý tưởng thiết kế.....................................................................................15
4.2. Phần cứng...............................................................................................15
4.2.1. Động cơ Step KV4234.......................................................................15
4.2.2. Driver A4988.....................................................................................17
4.2.3. Board điều khiển Arduino Uno........................................................18
4.2.4. Board CNC Shield V3.......................................................................20
4.2.5. Servo MG90S....................................................................................21
4.3. Phần mềm...............................................................................................22
4.3.1. Arduino IDE......................................................................................22
4.3.2. LabVIEW...........................................................................................23
4.3.3. MATLAB..........................................................................................25
4.4. Giải thuật điều khiển cho động cơ Step..................................................26
4.5. Giải thuật điều khiển cho động cơ Servo................................................30
4.6. Thành lập các phương trình động học....................................................32
4.6.1. Xây dựng bài toán động học thuận tay máy......................................32
1
4.6.2. Xây dựng bài toán động học ngược tay máy......................................35
5. TRIỂN KHAI TRÊN THỰC NGHIỆM VÀ KÊT QUẢ...............................38
5.1. Thiết kế và lắp ráp robot........................................................................38
5.2. Kiểm tra thuật toán điều khiển bằng mô phỏng......................................40
5.3. Vùng làm việc của robot........................................................................42
5.4. Thuật toán trên Arduino.........................................................................43
5.5. Ứng dụng điều khiển trên LabVIEW.....................................................44
5.6. Robot và ứng dụng thực tế.....................................................................47
6. KẾT LUẬN VÀ KIẾN NGHỊ......................................................................50
TÀI LIỆU THAM KHẢO..................................................................................51
2
MỤC LỤC HÌNH ẢNH
Hình 1 Sơ đồ cấu trúc của robot công nghiệp........................................................10
Hình 2 Trường công tác của robot.........................................................................12
Hình 3 Các hệ tọa độ trên cánh tay robot...............................................................13
Hình 4 Chiều dài và góc của một khâu..................................................................13
Hình 5 Bộ thông số Denavit – Hartenberg.............................................................14
Hình 6 Sơ đồ chuyển vị của khâu cuối so với cơ sở...............................................15
Hình 7 Mô tả không gian làm việc của cơ cấu hai khâu phẳng..............................16
Hình 8 Sơ đồ khối thiết kế Robot...........................................................................18
Hình 9 Động cơ Step KV4234...............................................................................19
Hình 10 Driver A4988...........................................................................................20
Hình 11 Module ESP32-WROOM-32...................................................................21
Hình 12 Board CNC Shield V3..............................................................................23
Hình 13 Servo MG90S...........................................................................................24
Hình 14 Giao diện phần mềm lập trình Arduino IDE............................................25
Hình 15 Giao diện phần mềm lập trình LabVIEW.................................................27
Hình 16 Giao diện phần mềm lập trình MATLAB................................................29
Hình 17 Đồ thị góc quay và vận tốc với chu kỳ cấp xung cố định.........................30
Hình 18 Qũy đạo mong muốn của động cơ............................................................31
Hình 19 Nguyên lý hoạt động của động cơ servo..................................................33
Hình 20 Thuật toán điều khiển động cơ servo........................................................34
Hình 21 Hệ tọa độ trên tay máy 4 bậc tự do...........................................................35
Hình 22 Động học ngược tay máy trong không gian Oxyz....................................38
Hình 23 Động học ngược tay máy trong mặt phẳng zOO 1 zO 1:...........................39
Hình 24 Robot IBR 460.........................................................................................41
Hình 25 Mẫu robot được sử dụng..........................................................................42
Hình 26 Sơ đồ ghép nối mạch điều khiển..............................................................43
Hình 27 Kết quả mô phỏng thuật toán điều khiển động cơ....................................44
Hình 28 Kết quả mô phỏng Robot trong không gian ba chiều...............................45
Hình 29. Vùng làm việc của robot.........................................................................46
Hình 30 Cấu trúc thuật toán trên Arduino..............................................................47
Hình 31 Mô tả hoạt động của phần mềm điều khiển trên labVIEW.......................48
Hình 32 Giao diện điều khiển trên phần mềm LabVIEW......................................49
Hình 33 Khối xử lý phương trình động học thuận (bên trái) và nghịch (bên phải) 49
3
Hình 34 Cấu trúc thuật toán trên Arduino..............................................................51
Hình 35 Hình ảnh thử nghiệm robot di chuyển không giật....................................51
Hình 36 Hình ảnh robot gắp thả vật theo tọa độ đặt bởi người dùng......................52
4
1. LỜI MỞ ĐẦU
Robot nói chung và robot công nghiệp nói riêng đã tiến những bước dài để
xâm nhập vào đời sống xã hội cũng như hoạt động sản xuất của con người chúng
ta. Việc ứng dụng robot trở nên quan trọng trong ngành tự động hóa nhằm nâng cao
năng suất và chất lượng, hạn chế và cải thiện sức lao động của con người. Robot
giúp con người hoạt động ở những môi trường nguy hiểm với tính mạng như khu
vực hầm mỏ, khư vực nhiễm phóng xạ,... hoặc duy trì hoạt động trong những dây
chuyền 24/7. Robot và đặc biệt là cánh tay robot đã có ứng dụng rộng khắp ở các
nhà máy trên khắp thế giới. Ngày này robot vẫn luôn là một đối tượng được quan
tâm nhiều không những trong lĩnh vực sản xuất mà còn lĩnh vực nghiên cứu để có
thể cải tiến, tối ưu hoạt động của nó hoặc được sử dụng để giảng dạy.
Đồ án chuyên ngành lần này nhằm nghiên cứu chuyên sâu về robot, chúng
tôi tập trung vào việc tính toán lý thuyết và xây dựng thuật toán điều khiển cũng
như giao diện điều khiển đối với cánh tay robot 4 bậc tự do. Cơ sở lý thuyết của
robot được xây dựng dựa trên phương trình động học thuận, phương trình động học
ngược, phương trình động lực của robot được nhóm tác giả tính toán và mô phỏng
trên phần mềm MATLAB. Từ đó xây dựng thuật toán điều khiển vận tốc theo bậc
thang và thiết kế phần mềm LabVIEW để điều khiển. Đề tài có sử dụng một kết
cấu phần cứng được in 3D bằng nhựa để điều khiển. Kết cấu này không đáng tin
trong thực tế nhưng trong khuôn khổ đề tài này có thể được sử dụng để mô tả một
khâu hay một giai đoạn của quá trình sản xuất thực tế.
Mô hình thuật toán điều khiển hoạt động tốt trong giới hạn làm việc của
robot khi mà động cơ chạy mượt mà và không xảy ra hiện tượng giật. Thử nghiệm
khi đặt một ly nước nhỏ trên khâu tác động cuối, nước không bị rơi vãi ra khỏi ly
trong suốt quá trình hoạt động.
5
2. TỔNG QUAN TÌNH HÌNH NGHIÊN CỨU
2.1.Tổng quan tình hình nghiên cứu và lí do lựa chọn đề tài
Những ý niệm đầu tiên về những vật tương tự robot đã xuất hiện từ thời cổ
đại ngày chính trong các câu chuyện thần thoại xưa. Những vật này được tạo ra
nhằm mục đích phục vụ chủ nhân của nó một cách tự động, có khả năng tương tác
và nghe lệnh con người. Tuy nhiên đến năm 1921, thuật ngữ “robotics” mới lần
đầu tiên xuất hiện và được đề cập trong vở kịch “Rossum’s Universal Robots” của
nhà viết kịch viễn tưởng nổi tiếng người Czech, Karel Capek. Ông sử dụng từ
“robot” được biến thể từ một tiếng Czech cổ là “robota” có nghĩa là lao động
cưỡng bức để gán vào một chiếc máy mà Rossum và con trai đã chế tạo ra để phục
vụ con người. [1] Vào năm 40 của thế kỷ trước, nhà văn Nga, Issac Asimov đưa ra
những mô tả gần hơn của robot đối với khái niệm ngày này khi ông thêm vào việc
điều khiển bằng một hệ thần kinh khả trình gọi là “Positron” do chính con người
lập trình. Ông cũng đã đề ra 3 nguyên tắc cơ bản mà một robot cần phải có đó là:
“Không tổn hại con người”, “Tuân theo nguyên tắc do con người đặt ra”, và “Cần
phải tự bảo vệ mình nhưng không vi phạm hai quy tắc trước”. [2] Từ đó mà
“robot” dần vượt ra khỏi biên giới của sự hư cấu trừu tượng để trở thành niềm cảm
hứng thiết kế của những kỹ sư cơ khí với những cơ cấu, thiết bị mang dáng dấp con
người, được điều khiển và phục vụ trong cả đời sống và công nghiệp.
Mặc dù vậy, có một thực tế rằng robot được sử dụng chủ yếu nhất công
nghiệp, được gọi là robot công nghiệp. Về mặt kỹ thuật chúng có nguồn gốc từ hai
lĩnh vực đã phát triển từ lâu là cơ cấu điều khiển từ xa và các máy công cụ điều
khiển số. Các người thao tác được tách biệt khỏi môi trường làm việc vì những lý
do chẳng hạn như an toàn hoặc chế tạo chi tiết. Những robot đầu tiên là sự nối kết
giữa các thiết bị điều khiển cơ khí từ xa và khả năng lập trình của các máy điều
khiển. Tuy vậy ngày nay robot công nghiệp phải có các kết cấu, chức năng phải
phù hợp với những quy chuẩn và định nghĩa được quy định ngày nay. Trong đó
một định nghĩa được sử dụng nhiều nhất có thể kể đến được viện nghiên cứu Robot
của Mỹ đề xuất: “Robot công nghiệp là tay máy vạn năng hoạt động theo chương
trình và có thể lập trình lại để hoàn thành và nâng cao hiện quả hoàn thành các
nhiệm vụ khác nhau trong công nghiệp, như vận chuyển nguyên vật liệu, chi tiết,
6
sản phầm, dụng cụ hoặc các thiết bị chuyên dụng khác”. Một robot cần phải thể
hiện được 2 đặc trưng cơ bản là thiết bị vạn năng và có thể lập trình được thì mới
được gọi là robot công nghiệp. Ngoài ra robot còn phải đảm bảo chức năng điều
khiển được trong quá trình sản xuất. Một robot công nghiệp bao gồm các thiết bị
thừa hành như tay máy và có thể lập trình hoặc điều khiển đề hoàn thành chức năng
vận động. Với các đặc trưng trên robot công nghiệp là thiết bị tự động hóa khả trình
mà không thể thiếu trong các hệ thống sản xuất linh hoạt hiện nay.
Robotics phát triển mạnh mẽ từ những năm sau chiến tranh thế giới thứ hai
với nhiều thành tự lớn như robot T3 có thể nâng khối lượng lên đến 40Kg vào
những năm 1974 của công ty Cincinnati đến từ Mỹ. Hay hiện nay có dự án nghiên
cứu robot trong chiến tranh mô phỏng những con chó gồ hàng hoặc người lính của
công ty Boston Dynamic. Trong lĩnh vực nghiên cứu, năm 1967, Đại học Stanford
đã cho ra đời một mẫu robot trang bị các cảm biến để có thể nhận biết và định
hướng đối tượng vật kẹp trên bàn kép. Ngoài ra còn nhiều lĩnh vực được ứng dụng
robot nhất là công nghiệp vũ trụ, chế tạo xe, máy móc,...
Ở Việt Nam, kỹ thuật robot mới bắt đầu được du nhập nhiều vào ngành công
nghiệp nước nhà từ năm 1990 khi các cơ sở công nghiệp bắt đầu đổi mới quy trình
và nhập khẩu nhiều loại robot phục vụ các mục đích công nghiệp. Năm 2002, công
ty TOSY của giám đốc người Việt Nam thành lập và bắt đầu sản xuất robot giải trí,
công nghiệp đã đem đến nhiều giải thưởng trong và ngoài nước. Bên cạnh đó còn
có các đơn vị sản xuất robot nước ngoài có trụ sở tại Việt Nam như ABB. Ngày
12/10/2003, sự ra đời của Hội khoa học và công nghệ Robot Việt Nam
(Vietnamese Assiciation of Robotics – VAR) đã thúc đẩy lĩnh vực nghiên cứu và
ứng dụng Robot tại Việt Nam phát triển hơn nữa. Ngày nay hầu hết các trường kỹ
thuật tại Việt Nam đã trang bị môn kỹ thuật Robot vào các chương trình giảng dạy
chính giúp sinh viên tiếp cận tốt hơn và phát triển các khía cạnh như kỹ thuật điều
khiển, mô phỏng được phát triển tốt hơn.
Robot cánh tay công nghiệp là loại robot phổ biến nhất trong công nghiệp
hiện nay, vì thế nghiên cứu về nó giúp nhóm tác giả có thể tiếp cận tốt hơn những
gì đang diễn ra trong công nghiệp. Ngoài ra vì ngành robot vẫn chưa phát triển ở
7
Việt Nam nên nhóm tác giả muốn xây dựng một mô hình để sinh viên có thể thực
nghiệm và nghiên cứu tốt hơn, hỗ trợ tối đa cho giảng viên trong việc giảng dạy.
8
- Kiểm tra thực nghiệm thiết robot trong môi trường thực tế,
- Tổng hợp, phân tích, đánh giá kết quả đạt được,
- So sánh và đánh giá sản phẩm hoàn thành với một số thiết bị có sẵn trên thị
trường.
9
3. CỞ SỞ LÝ THUYẾT
3.1.Cấu trúc robot và tay máy công nghiệp
Cấu trúc của một mô hình robot công nghiệp có hệ thống cơ cấu chấp hành
(Actuator) giúp tạo chuyển động cho các tay máy, có thể kế đến là các loại động cơ điện,
thủy lực, khí nén,... Hệ thống cảm biến (Sensor) gồm các sensor và thiết bị chuyển đổi tín
hiệu. Các cảm biến này giúp cho robot nhận biết được trạng thái của bản thân trong môi
trường xung quanh. Hệ thống điều khiển (Controller) thường là máy tính có khả năng tái
lập trình để người dùng có thể điều khiển tùy vào mục đích và kịch bản hoạt động. Cuối
cùng là tay máy (Manipulator), các cơ cấu cơ khí gồm các khâu, khớp giúp hoàn thiện
chuyển động.
10
Tay máy là thành phần quan trọng của robot có các đặc điểm chung về kết cấu gốc
các khâu được nối với nhau bằng các khớp để hình thành một chuỗi động học hở tính từ
thân đến công tác. Các khớp giúp cho robot chuyển động với hai chuyển động cơ bản là
tịnh tiến và quay. Trong thiết kế tay máy, người ta thường quan tầm các thông số hình –
động học ảnh hưởng khả năng làm việc như sức nâng, trường làm việc, số bậc tự do ảnh
hưởng đến sự khéo léo, tính ứng dụng của tay máy. Số lượng và cách sử dụng các khớp
tay máy có thể phân loại ra các kiểu tọa độ đề các, tọa độ trụ, tọa độ cầu, ... Thông số bậc
tự do đặc trưng cho khả năng linh hoạt của chuyển động, số bậc càng lớn robot càng linh
hoạt nhưng độ phức tạp lại tăng lên. Ngày nay tính toán các bậc tự do dựa vào định lý
Gruebler là phổ biến nhất, định lí này được phát biểu ở công thức (1.1)
g
f =λ .(n−1)−∑ ❑ ( λ−f i )−f 0 (1.1)
i=1
Trong đó:
- f là số bậc tự do
- λ là bậc tự do của một vật rắn không chịu liên kết trong không gian làm việc của
robot, λ = 6 tương ứng với không gian làm việc trong không gian
- n là số khâu
- f i là số bậc tự do khớp i
- g là tổng số khớp
- f 0 là số bậc tự do thừa
Vì thế mà tính toán số bậc tự do để lựa chọn robot phù hợp mục đích là một nhiệm
vụ quan trọng.
Ảnh hướng của số bậc tự do có thể kể đến trường công tác của robot. Hay còn gọi
là không gian làm việc, trường công tác là toàn bộ thể tích được quét bởi khâu chấp hành
cuối khi robot chuyển động.
11
Hình 2 Trường công tác của robot
Robot được xem là chuỗi động học hở các khâu (links) gắn liền với các khớp
(joints). Một đầu của chuỗi nối với giá đỡ, đầu còn lại là phần cơ cấu chấp hành. Mỗi
khâu khớp hình thành nên một cặp khâu – khớp đảm bảo nó có khả năng chuyển động
nhất định. Các cặp khâu khớp được đặc trưng bởi hai thông số là tham số và biến khớp.
Tham số là thông số không thay đổi trong quá trình hoạt động, biến khớp là các thông số
thay đổi. Ta có thể đặt trên mỗi khâu của robot một hệ tọa độ và sử dụng phép biến đổi
thuần nhất để có thể mô tả mối quan hệ giữa các tọa độ này. Các biến đổi thuần nhất này
được mô tả dưới một ma trận A . Giả sử A1 mô tả vị trí và hướng của khâu thứ nhất, A21
mô tả vị trí và hướng của khâu thứ hai so với khâu thứ nhất nếu vậy ta có thể suy ra
A2= A 21∗A1 là vị trí và hướng của khâu thứ hai so với hệ tọa độ gốc.
12
vị trí và hướng của khâu tác động bằng một phương trình tổng quát cho bài toán động học
thuận này.
13
Hình 5 Bộ thông số Denavit – Hartenberg
Vị trí tương đối giữa hai hệ tọa độ liên tiếp n và n−1 được mô tả với
- d n dịch chuyển tịnh tiến giữa hai đường vuông góc chung của hai trục, theo trục
z n−1 để x n−1 nằm trên mặt phẳng pháp tuyến của z n−1 chứa x n
- θn góc giữa hai đường vuông góc chung. Quay quanh trục z n−1 để trục x n−1 cùng
phương với x n
- a n tịnh tiến theo trục x n−1 để hai O trùng nhau
- α n quay quanh trục x n−1 để z n−1 trùng với z i
Như vậy đồng nhất từ hệ tọa độ n−1 qua hệ tọa độ n được thực hiện bởi các phép
tịnh tiến và quay các hệ trục tọa độ. Tương ứng với nó là các ma trận biến đổi thuần nhất
được gọi là H n−1
n
−1
H i−1=Trans z ( d n ) Rot z ( θn ) Trans x ( a n ) Rot x ( α n )
n−1 n−1 n−1 n−1
[ ]
cos θn −sin θn cos α n sin θn sin α n a n cos θn
sin θn cos θn cos α n −cos θn sin α n an sin θn
H n−1
n = (2.2)
0 sin α n cos α n dn
0 0 0 1
Từ ma trận biến đổi thuần nhất này ta dễ dàng tìm vị trí và hướng của khâu tác
động thứ i đối với base bằng cách nhân các ma trận thuần nhất lại như công thức (2.3)
như biểu diễn trên hình 6
14
0 0 1 i−1
Di =H 1 H 2 … H i (2.3)
Việc tìm ra từng ma trận thuần nhất cũng dễ dàng hơn bằng cách điền vào bảng D
– H đủ các tham số mà một tay máy robot có như bảng 1
Khâu dn θn an αn
1
2
3
...
i
15
bậc tự do của robot, kích thước các cánh tay máy và được đại diện bởi vị trí của phần tác
động cuối đối với hệ toạ độ chung, ta gọi chung là vector ⃗p. Hướng của phần công tác này
được mô tả qua bộ tham số MRO gọi chung là vector σ⃗ . Vùng làm việc (Workspace) là
một thông số quan trọng của tay máy, và được phân ra hai loại là vùng làm việc không
tính đến sự định hướng (Reachable Workspace) và có tính đến sự định hướng của khâu
tác động cuối (Dexterous Workspace).
Reachable Workspace là vùng hoạt động mà khi không có các kết cấu như dây nối,
tay máy có thể với xa nhất hoặc vào gần nhất ở trong vùng đấy. Tuy nhiên trên thực tế,
các tay máy được cấp điện bằng các đường điện dẫn bên thân hoặc bên trong thân máy,
những dây điện này có thể quấn quanh thân máy trong quá trình hoạt động làm cho sự
hoạt động diễn ra không như ý. Vì thế mà Dexterous Workspace cần phải khảo sát để có
thể định hướng khâu tác động cuối trong khoảng cho phép của robot. Thể tích và hình
dạng của vùng làm việc phụ thuốc vào kết cấu và giới hạn của biến khớp. Đối với tay máy
có n bậc tự do, vùng làm việc là tập hợp mọi vị trí có thể của khâu tác động cuối được mô
tả bằng phương trình
p= p ( q ) ; qℑ ≤q ℑ ;i=1… n
Hình 7 Mô tả không gian làm việc của cơ cấu hai khâu phẳng
16
3.4.Bài toán động học ngược
Bài toán động học thuận đã giải quyết bài toán xác định phần cộng tác và vùng
làm việc khi có giá trị của các biến khớp. Tuy nhiên trong thực tế, việc điều khiển các
biến khớp có thể khó hiểu đối với người dùng. Việc sử dụng bài toán động học ngược
nhằm xác định các thông số động học khi đã biết tọa độ của khâu tác động cuối bên
trong vùng làm việc là cần thiết trong việc thiết kế điều khiển. Từ đó mà người sử dụng
có thể điều khiển khâu tác động cuối theo các tọa độ cho sẵn trong không gian làm việc.
Động học ngược có một tính chất gọi là tính đa nghiệm. Tính đa nghiệm này phụ
thuộc vào số lượng các biến khớp (số bậc tự do) và cả vào số lượng các tham số khác.
Khi số bậc tự do càng lớn nghiệm càng nhiều, robot có thể di chuyển theo nhiều quỹ đạo
khác nhau từ đó. Từ đó mà việc tìm kiếm nghiệm phù hợp để có thể tối ưu đường đi của
robot cũng là một bài toán để nghiên cứu. Tuy nhiên trong giới hạn nghiên cứu lần này
của nhóm tác giả, vì sử dụng robot với 3 bậc từ do (không tính khâu tác động cuối), bài
toán động học ngược giải ra chỉ có duy nhất một nghiệm.
17
4. PHÂN TÍCH THIẾT KẾ HỆ THỐNG
4.1.Ý tưởng thiết kế
Hình 2.1 thể hiện sơ đồ khối các thành phần chính của Robot. Sản phẩm bao gồm
ba động động cơ Step để điều khiển các khâu của robot, driver A4988 kết nối với động cơ
để điều khiển góc quay, board điều khiển Arduino Uno cho phép kết nối và xử lý tín hiệu
điều khiển được gửi từ một máy tính cá nhân qua Serial đến driver và nguồn điện cung
cấp năng lượng cho các khối có thể hoạt động.
4.2.Phần cứng
4.2.1. Động cơ Step KV4234
18
Do có khả năng cung cấp mô men xoắn lớn ở dải vận tốc trung bình và thấp và có
thể điều khiển chính xác góc quay nên KV4234 là một loại động cơ bước được sử dụng
nhiều trong các dự án về Robot hay các loại máy CNC, máy in 3D,… Nó hoạt động theo
cách chuyển đổi các chuỗi xung điện tại các cuộn kích của chúng thành trục quay cơ học.
Khi một chuỗi xung được gửi, động cơ sẽ bước theo xung. Góc mà trục động cơ bước
quay cho mỗi xung được gọi là góc bước. Số lượng xung vào quyết định góc bước. Góc
bước càng nhỏ thì số bước càng lớn. Các thông số kỹ thuật cơ bản của động cơ được
đưa ra trong Bảng 2.
Thông số Giá trị
Pha 2
19
4.2.2. Driver A4988
Dòng dầu ra 2A
20
Chế độ điều khiển 1, 1/2, 1/4, 1/8, 1/16
21
Thông số Giá trị
Chip ATmega328
SRAM 2 KB (ATmega328)
EEPROM 1 KB (ATmega328)
22
4.2.4. Board CNC Shield V3
24
4.3.Phần mềm
4.3.1. Arduino IDE
Phần mềm Arduino IDE được sử dụng để soạn thảo code, kiểm tra lỗi và upload
code cho Arduino Uno.
25
- Serial Monitor: màn hình hiển thị dữ liệu từ Arduino gửi lên máy tính
Sketch menu:
- Verify/ Compile: chức năng kiểm tra lỗi code.
- Show Sketch Folder: hiển thị nơi code được lưu.
- Add File: thêm vào một Tap code mới.
- Import Library: thêm thư viện cho IDE
Tool menu:
- Board: lựa chọn bo mạch cho phù hợp với loại bo sử dụng
- Serial Port: đây là nơi lựa chọn cổng COM. Khi chúng ta cài đặt driver thì máy
tính sẽ hiện thông báo tên cổng Com của là bao nhiêu, ta chỉ việc vào Serial Port
chọn đúng cổng Com để nạp code, nếu chọn sai thì không thể nạp code cho ESP
được.
4.3.2. LabVIEW
LabVIEW là một môi trường lập trình đồ họa của National Instrument có thể sử
dụng để tạo các ứng dụng với giao diện người dùng chuyên nghiệp một cách nhanh chóng
và hiệu quả. Hàng triệu kỹ sư và nhà khoa học sử dụng LabVIEW để phát triển các ứng
dụng đo lường, kiểm thử, và điều khiển tinh vi bằng cách sử dụng các biểu tượng trực
quan và dây nối tín hiệu. Ngoài ra, LabVIEW có thể được mở rộng cho nhiều nền tảng
phẩn cứng và hệ điều hành khác nhau. Trong thực tế, nền tảng LabVIEW có khả năng tích
hợp với hàng nghìn thiết bị phần cứng và cung cấp hàng trăm thư viện được xây dựng sẵn
để phân tích nâng cao và hiển thị dữ liệu giúp tạo ra các thiết bị ảo có thể tùy chỉnh theo
26
nhu cầu của người dùng. LabVIEW đã tích hợp sẵn các chức năng cho các tác vụ phổ
biến như thu thập và phân tích dữ liệu, cho đến các chức năng chuyên biệt hơn cho các
ứng dụng như thiết kế điều khiển, mô phỏng hoặc thiết kế RF.
27
4.3.3. MATLAB
MATLAB (viết tắt của MATrix LABoratory) là phần mềm cung cấp môi trường
tính toán số và lập trình, do công ty MathWorks thiết kế. MATLAB cho phép tính toán số
với ma trận, vẽ đồ thị hàm số hay biểu đồ thông tin, thực hiện thuật toán, tạo các giao diện
người dùng và liên kết với những chương trình máy tính viết trên nhiều ngôn ngữ lập
trình khác. Chương trình MATLAB triển khai ngôn ngữ MATLAB và cung cấp một thư
viện rất phong phú các hàm được xác định trước để thực hiện các tác vụ lập trình kỹ thuật
dễ dàng và hiệu quả hơn. Các chức năng cực kỳ đa dạng này giúp giải quyết các vấn đề
kỹ thuật trong MATLAB dễ dàng hơn nhiều so với các ngôn ngữ khác như Fortran hoặc
C. Với thư viện Toolbox, MATLAB cho phép mô phỏng tính toán, thực nghiệm nhiều mô
hình trong thực tế và kỹ thuật.
Các chức năng chính của MATLAB có thể kể đến như:
• Tự động hoàn thành câu lệnh
• Hỗ trợ các dòng lệnh tích hợp
• Không gian làm việc chia thành nhiều cột khác nhau
• Phát hiện lỗi cú pháp thời gian thực và sửa nhanh
• Nhận biết từ giống nhau
• Hỗ trợ file excel:
• Chức năng gỡ lỗi
• Hỗ trợ nhiều phím tắt (có thể tùy chỉnh theo ý thích)
28
Hình 16 Giao diện phần mềm lập trình MATLAB
Bằng các tính năng đa dạng, phần mềm MATLAB có thể được ứng dụng trong
nhiều trường hợp. Một vài ví dụ có thể kể đến như:
Thiết kế, mô phỏng và thử nghiệm hệ thống lái xe tự động.
Phân tích, lập mô hình dữ liệu và hệ thống sinh học.
Thiết kế, kiểm tra và triển khai các hệ thống điều khiển.
Khám phá dữ liệu, phân tích dự đoán để áp dụng trong máy học (Machine
learning).
Phát triển và triển khai phần mềm giám sát và dự đoán bảo trì.
29
100
position (degree)
50
0
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
Time (seconds)
velocity (degree/s)
0.04
0.02
0
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
Time (seconds)
Hình 17 Đồ thị góc quay và vận tốc với chu kỳ cấp xung cố định
Tại giá trị khi bắt đầu cấp xung, vận tốc tăng đột ngột từ 0 đến w trong khoảng thời
gian cực ngắn. Chu kỳ cấp xung càng nhỏ vận tốc của động cơ càng cao. Khi đó gia tốc
góc được tính bằng đạo hàm của w sẽ là một số rất lớn khiến cho mômen cần thiết tại
động cơ cũng tăng cao theo, dẫn đến việc những động cơ vừa và nhỏ không đáp ứng
được. Bên cạnh đó nếu động cơ có thể chịu được mômen xoắn gây ra tại các điểm khởi
động này thì lại gây nên hiện tượng “jerk” khiến cho robot không chạy mượt mà. Điều
này dẫn đến việc cần phải thiết kế một thuật toán điều khiển vận tốc và gia tốc cho động
cơ để không gây ra các bất lợi trên mà vẫn đạt đượt thời gian chuyển động mong muốn.
Trong đồ án này, quỹ đạo chuyển động của động cơ là dạng 2-1-2, hay còn gọi là
quỹ đạo theo quy luật vận tốc hình thang. [3] Đây chính là quỹ đạo thường được dùng
trong các robot công nghiệp. Quỹ đạo này chia làm ba phần rõ rệt:
- Khởi động (tăng tốc) với gia tốc không đổi.
- Chuyển động tiếp với vận tốc không đổi.
- Về địch (giảm tốc) với gia tốc không đổi.
30
Hình 18 Qũy đạo mong muốn của động cơ
Thời gian trễ t giữa các xung động cơ bước điều khiển tốc độ. Những khoảng
thời gian trễ này phải được tính toán để làm cho tốc độ của động cơ bước theo sát
đường dốc tốc độ nhất có thể.
Gọi t t là khoảng thời gian mà ngắt timer xảy ra trong vi điều khiển,
α là góc quay nhỏ nhất mà động cơ có thể đạt được
θ là góc quay của động cơ
ω là vận tốc góc của động cơ
ω̇ là gia tốc góc của động cơ
Ta có tốc độ góc của động cơ tại một thời điểm t bất kỳ là:
t
ω ( t )= ∫ ω̇ dτ =ω̇ t
τ =0
31
1 2
nα = ω̇ t
2
Khoảng thời gian của xung thứ n tại thời điểm θ=nα là:
t n=
√ 2 nα
ω̇
Do đó khoảng thời gian giữa hai bước của động cơ là:
c n t t =t n+1−t n=
√ 2 nα (
ω̇
√n+1−√ n )
Với c n là số tầm timer nhảy vào ngắt, hay còn gọi là counter ta có:
c n=
√
1 2nα
t t ω̇
( √ n+1−√ n )
c 0=
√
1 2α
t t ω̇
⇒ c n=c 0 ( √ n+1−√ n )
Do khả năng tính toán của một bộ vi điều khiển bị hạn chế và việc tính toán hai
căn bậc hai rất tốn thời gian. Do đó, ta cần phải xấp xỉ với độ phức tạp của c n thành
dạng đơn giản hơn.
Sử dụng xấp xỉ bằng chuỗi Taylor ta có:
√ 1
n
1 1
2n 8 n
1
1± =1 ± − 2 +O 3
n ( )
⇒
cn
=
c ( √ n+1−√ n )
0
=
1+ −
1
2n 8n
1
+O
( n )
1
−1
=
2
4 n−1
3
c ( √ n− √ n−1 )
( 2n 8 n ( n ))
c n−1 0 1 1 1 4 n+1
1− 1− − +O 2 3
Cuối cùng, biểu thức cho bộ counter có thể được tính gần đúng như sau:
2c n−1
c n=c n−1 −
4 n+1
Phép tính này nhanh hơn nhiều so với căn bậc hai, nhưng đưa ra sai số 0,44 tại
n = 1. Ta bù cho lỗi này bằng cách nhân c ❑0 với 0,676.
32
4.5.Giải thuật điều khiển cho động cơ Servo
Chế độ hoạt động servo được hình thành bởi những hệ thống hồi tiếp vòng kín.
Động cơ servo nhận một tín hiệu xung điện (PWM) từ bộ điều khiển để hoạt động và
được kiểm soát bằng bộ mã hóa (encoder).
Khi động cơ vận hành thì vận tốc và vị trí sẽ được hồi tiếp về mạch điều khiển này
thông qua bộ mã hóa (encoder). Khi đó bất kỳ lý do nào ngăn cản chuyển động và làm sai
lệch tốc độ cũng như vị trí mong muốn, cơ cấu hồi tiếp sẽ phản hồi tín hiệu về bộ điều
khiển. Từ tín hiệu phản hồi về, bộ điều khiển servo sẽ so sánh với tín hiệu lệnh và đưa ra
điều chỉnh phù hợp, đảm bảo động cơ servo hoạt động đúng theo yêu cầu đạt được tốc độ
và vị trí chính xác nhất.
33
Hình 20 Thuật toán điều khiển động cơ servo
Giả sử t t là thời gian để timer trong vi điểu khiển xảy ra ngắt, α là góc quay của
động cơ, ta tính đượcgiá trị của high_time và cycle_time như sau:
(
high time= 1.5+ α ×
2−1.5
90−0
×
1
)
tt
−3
20∗10
cycle time=
tt
34
4.6.Thành lập các phương trình động học
4.6.1. Xây dựng bài toán động học thuận tay máy
1 l1 q1 0 π/2
2 0 q2 l2 0
3 0 q3 l3 0
4 0 q4 l4 0
35
Bảng 7 Thông số D-H của robot
Sau khi đã thành lập bảng D-H, ta tiến hành xác định các ma trận biển đổi tọa độ
thuần nhất.
Ma trận biến đổi từ hệ tọa độ 0 sang hệ tọa độ 1:
[ ]
cos (q 1) 0 sin (q 1) 0
0 sin ( q 1) 0 −cos (q 1) 0
H 1=
0 1 1 l1
0 0 0 1
[ ]
cos ( q 2) −sin (q 2) 0 l 2∗cos ( q 2)
H 12= sin ( q 2) cos (q 2) 0 l2∗sin (q 2)
0 0 1 0
0 0 0 1
[ ]
cos (q 3)−sin (q 3) 0 l 3∗cos (q 3)
2 sin ( q 3) cos (q 3) 0 l 3∗sin (q 3)
H 3=
0 0 1 0
0 0 0 1
[ ]
cos (q 4) −sin (q 4) 0 l 4∗cos (q 4)
3 sin (q 4) cos ( q 4 ) 0 l 4∗sin ( q 4 )
H4=
0 0 1 0
0 0 0 1
Ma trận biến đổi thuần nhất giữa hệ tọa độ 0 và hệ tọa độ gắn với điểm tác động
là:
[ ]
σ 3 cos(q 1) −σ 1 cos (q 1) sin (q 1) cos (q 1)σ 2
0 0 1 2 3 σ sin ( q 1) −σ 1 sin (q 1) −cos (q 1) sin (q 1)σ 2
→ H 4=H 1∗H 2∗H 3∗H 4 = 3
σ1 σ3 0 l 1 +l 3 sin ( q 2+ q 3 ) +l 2 sin ( q 2 )+l 4 σ 1
0 0 0 1
36
Với :
σ 3=cos ( q 2+ q 3+q 4 )
Theo cấu tạo robot q 4=−q 2−q 3, thay vào ma trận ta có:
[ ]
cos( q 1) 0 sin (q 1) cos ( q 1 ) [l 4 +l 3 cos ( q 3+ q 2 ) +l 2 cos ( q 2 ) ]
0 sin (q 1) 0 −cos (q 1) sin ( q 1 ) [l 4 +l 3 cos ( q 3+ q 2 )+ l2 cos ( q 2 )]
H4=
σ1 1 0 l 1+ l 3 sin ( q 3+ q 2 )+ l 2 sin (q 2)
0 0 0 1
Phương trình động học tay máy xác định vị trí điểm tác động cuối:
{
x p =[l 4 +l 3 cos (q 3+q 2)+l 2 cos (q 2)]cos (q 1)
y p=[l 4 +l 3 cos ( q 3+ q 2 ) +l 2 cos ( q 2 ) ]sin (q 1) (2.1)
z p=l 1 +l 3 sin ( q 3+ q 2 ) +l 2 sin (q 2)
37
4.6.2. Xây dựng bài toán động học ngược tay máy
Hình 22 Động học ngược tay máy trong không gian Oxyz
Ta có:
q 1=arctan
( )
yp
xp
38
Hình 23 Động học ngược tay máy trong mặt phẳng z O O1 z ❑O : 1
(√ )
z p−l 1
⇒q 2=arctan +arctan ¿
x + y 2p−l 4
2
p
Từ (2.1) :
{
x−l 4∗cos (q 1)=[l 3∗cos ( q 3+q 2)+l 2∗cos (q 2)]cos (q 1)
⇒ y−l 4∗sin (q 1)=[l 3∗cos (q 3+ q 2)+l 2∗cos (q 2)]sin (q 1)
z−l 1=l 3∗sin ( q 3+q 2 )+l 2∗sin (q 2)
2 2 2 2
⇒ [ x−l 4 cos ( q 1 ) ] + [ y−l 4 sin ( q 1 ) ] + ( z−l 1 ) = [l 3 cos ( q 3+ q 2 ) +l 2 cos ( q 2 ) ] + [ l 3 sin ( q 3+ q 2 ) +l 2 sin ( q 2 ) ] =
2
2 2
[ x−l4 cos ( q 1 ) ] + [ y −l4 sin ( q 1 ) ] + ( z−l1 )2−l22−l23
⇒ cos ( q 3 )=
2l 2 l3
( )
2 2
[ x−l 4 cos ( q 1 ) ] + [ y−l4 sin ( q 1 ) ] + ( z−l1 )2 −l22−l23
⇒ q 3=arccos
2 l2 l3
39
5. TRIỂN KHAI TRÊN THỰC NGHIỆM VÀ KÊT QUẢ
5.1.Thiết kế và lắp ráp robot
Trong đồ án này, mẫu robot được làm mô hình theo là IRB 460. Mẫu 3D của mô
hình này được lấy theo một open source (bỏ tham khảo vào chỗ này) sau đó được chỉnh
sửa khâu tác động cuối thành động cơ servo để giảm thiểu khối lượng.
40
Hình 25 Mẫu robot được sử dụng
Về phần bộ điều khiển sẽ được ghép nối theo sơ đồ
42
position (degree)
2000
0
0 0.5 1 1.5 2 2.5 3 3.5
Time (seconds)
velocity (degree/s)
2000
1000
0
0 0.5 1 1.5 2 2.5 3 3.5
Time (seconds)
accelator (degree2 /s)
1000
-1000
43
Hình 28 Kết quả mô phỏng Robot trong không gian ba chiều
44
Hình 29. Vùng làm việc của robot
45
Hình 30 Cấu trúc thuật toán trên Arduino
Chương trình chính có tác dụng cấu hình cho các ngoại vi và ngắt, sau đó đọc lệnh
gửi đến từ Serial để chọn chế độ điều khiển phù hợp. Nếu cần điều khiển động cơ step,
timer1 bắt đầu chạy để tính toán các khoảng thời gian trễ cần thiết giữa hai lần cấp xung
bằng giải thuật trong phần 2.4. Bằng cách thử nghiệm, nhóm tác giả nhận thấy với chu kỳ
lặp lại là =100μs, động cơ hoạt động đúng như mong muốn. Bên cạnh đó timer2 được
dùng để cấp xung liên tiếp với khoảng thời gian duty cycle được tính như trong phần 2.5
chu kỳ lặp lại là =16μs.
46
Bên dưới hình 8 mô tả lưu đồ thuật toán của quá trình điều khiển sử dụng
LabVIEW. Trong phần mềm này, người dùng có thể lựa chọn hai chế độ điều khiển là
Auto và Manual. Ở chế độ Manual người dùng có thể điều khiển thông qua các nút nhấn
điều hướng có trên hình 9 hoặc người dùng có thể điều khiển bằng cách nhập tọa độ
x , y , z hoặc góc của các khớp q 1 , q 2 , q 3 , q 4 và sử dụng lệnh “Move to point”. Ở chế độ
Auto người dùng không thể điều khiển thông qua các nút điều hướng mà chỉ có thể nhập
các giá trị vào các ô text và sử dụng nút “Move to point” để điều khiển. Sau khi nhấn
Run, LabVIEW sẽ gửi một lệnh giúp robot nhận biết được nó bắt đầu phải chạy tự động,
LabVIEW sẽ load ra những điểm nó đã lưu và bắt đầu ghi vào Arduino. Giao diện này
cũng cung cấp việc lưu các điểm dữ liệu đã cài đặt vào một file trên máy tính, giúp thuận
tiện cho việc tái sử dụng sau này. Ngoài ra thì chức năng mở file cũng được trang bị để
load dữ liệu từ file text ra bộ nhớ lệnh trong LabVIEW.
Hình 31 Mô tả hoạt động của phần mềm điều khiển trên labVIEW
Phương trình động học thuận và phương trình động học ngược cũng được tính toán
trong phần mềm điều khiển, giúp cho việc đồng bộ khi người dùng nhập điều khiển thông
qua tọa độ khâu cuối hoặc giá trị của góc quay. Các khối xử lý này sử dụng Module
Formula Node được hỗ trợ bởi LabVIEW giúp quá trình tính toán trở nên dễ dàng hơn,
mô tả của khối xuất hiện trong hình 10.
47
Hình 32 Giao diện điều khiển trên phần mềm LabVIEW
Hình 33 Khối xử lý phương trình động học thuận (bên trái) và nghịch (bên
phải)
Giao tiếp giữa Arduino và LabVIEW sẽ thông qua cổng Serial. Tốc độ của cổng
Serial đủ nhanh để đảm bảo dữ liệu được ghi và đọc một cách kịp thời. Dữ liệu điều khiển
48
được chuyển lên là các câu lệnh theo định dạng được quy định trên board Arduino tương
ứng với từng hành vi mà Robot sẽ hoạt động. Arduino cũng sẽ trả về một lệnh để xác thực
rằng nó đã nhận được mệnh lệnh điều khiển từ LabVIEW. LabVIEW sẽ sử dụng module
VISA Read để ghi lại những dữ liệu này
Hình ảnh phiên bản đầu tiên của thiết bị đo được đưa ra trong Hình 34. Các thành
phần chính của bộ điều khiển được lắp ráp bên trong hộp nhựa. Phần khung robot chế tạo
bởi công nghệ in 3D, sử dụng chất liệu nhựa in PLA. Các động cơ được lắp đặt trên thân
robot dựa theo những thông số đã chọn và được nối dây sao cho không làm ảnh hưởng
đến quá trình hoạt động của robot khi đang chạy trong vùng làm việc. Để cấp nguồn cho
robot, người dùng có thể sử dụng đầu nguồn 12V.
Một số hình ảnh ứng dụng của robot khi chạy lượt được thể hiện trên Hình 35 và
36. Các thông số đo về bị trí của khâu tác động cuối cũng như góc quay của từng động cơ
đã được hiển thị trên giao diện phần mềm LabVIEW giúp người dùng có thể dễ dàng điều
khiển và thao tác. Robot có thể được ứng dụng nhiều trong các phòng thí nghiệm hóa chất
để di chuyển các ống ngiệm mà không làm đổ dung dịch ra ngoài, trong các mô hình dây
chuyền bang tải vừa và nhỏ giúp gắp thả vật theo đúng nơi quy định hay hoạt động trong
môi trường độc hại mà con người khó có thể làm việc. Bên cạnh đó, ta còn có thể sử dụng
robot trong môi trường giáo dục để giảng dạy, tạo cảm giác hứng thú cho người học với
bộ môn điều khiển robot. Robot sẽ tiếp tục được nghiên cứu hoàn thiện để nâng cao độ
chính xác, tăng thẩm mỹ, và hạ giá thành.
49
Hình 34 Cấu trúc thuật toán trên Arduino
50
Hình 36 Hình ảnh robot gắp thả vật theo tọa độ đặt bởi người dùng
51
6. KẾT LUẬN VÀ KIẾN NGHỊ
Kết luận:
Đề tài nghiên cứu đã hoàn thành một số nội dung chính sau đây:
- Thiết kế và lắp ráp được một phiên bản đầu tiên robot bốn bậc tự do, có thể ứng
dụng trong các phòng thí nghiệm hoặc giảng dạy.
- Xây dựng được giải thuật điều khiển vận tốc theo dạng hình thang cho động cơ
step.
- Hoàn thành mô phỏng robot trên MATLAB
- Xây dựng được giao diện điều khiển cho robot bằng LabVIEW
- Bên cạnh đó, đề tài cũng đã giúp cho tác giả củng cố các kiến thức, hiểu biết và
vận dụng một số phương pháp, phần mềm kỹ thuật, như quy trình chế tạo sản phẩm điện
tử, lập trình vi điều khiển, in 3D… thông qua thu thập, phân tích, tổng hợp, đánh giá các
tài liệu tham khảo về chủ đề nghiên cứu và các linh kiện, thiết bị đã được sử dụng.
Kiến nghị:
Tác giả mong muốn được tiếp tục thực hiện đề tài để phát triển và tối ưu sản phẩm,
bổ sung thêm phần ứng dụng trí tuệ nhân tạo kết hợp xử lý ảnh để giúp robot trở nên
thông minh hơn, chính xác hơn và có nhiều ứng dụng thực tế hơn.
52
TÀI LIỆU THAM KHẢO
[ J. M. Jordan, “The Czech Play That Gave Us the Word ‘Robot’,” The MIT
1] Press Reader, 19 July 2019. [Trực tuyến]. Available:
https://thereader.mitpress.mit.edu/origin-word-robot-rur/#:~:text=The%20word
%20itself%20derives%20from,were%20neither%20metallic%20nor%20mechanical..
[Đã truy cập 27 December 2022].
[2] A. Tikkanen., “Article History: Three laws of robotics,” Britannica, [Trực
tuyến]. Available: https://www.britannica.com/topic/Three-Laws-of-Robotics.
[3] K. Minh, Giáo trình Robot công nghiệp, Hanoi: Khoa học kỹ thuật, 2019.
53
Phụ lục I: tính toán động lực học cho robot
- Tính động năng tay máy
Tay máy gồm 4 khâu, tổng động năng tay máy là:
K= K 1+ K 2+ K 3+ K 4
Trong đó:
K 1 : động năng của khâu 1 quay quanh trục cố định z 0
1 2 1 2
K 1= J 0 ω 1= J 0 q̇1
2 2
K 2 : động năng của khâu 2 quay quanh trục di động z 1
1 1
K 2= J C ω22 + m2 v 2C
2 2 2 2
Với:
vC2 =xC2 + y 2C + z 2C
[ ][ ][ ]
2 2 2 2
0 1
x
cos ( q 1 ) 0 sin ( q 1 ) 0 x C
C2 2
0 1
y 0 0 yC
= sin ( q 1 ) −cos ( q 1 )
0 0 1
r C =H 1 r C ⇔ C2 2
2
z 0 1
2 0
1 l 1 z1
C2 C
0
2
1 0 0 1 1
[ ][ ][ ]
x 0C
cos ( q 1) 0 sin (q 1) 0 r 2 cos (q 2)
2
y 0C
sin ( q 1) 0 −cos (q 1) 0 r 2 sin (q 2)
⇔ 0 = 2
zC 0 1 1 l1 0
0
2
1 0 0 1 1
[ ][ ]
0
xCr 2 cos (q 1) cos( q2 )
2
y 0C
⇔ 0 = r 2 cos(q 2) sin( q1)
2
zC 2
l 1 +r 2 sin(q 2)
1 1
[ ][ ]
ẋ 0C
−q̇1 r 2 cos(q 2) sin( q1)−q̇ 2 r 2 cos( q1 )sin(q2 )
2
0
⇔ ẏ = q̇1 r 2 cos(q 1)cos( q2 )−q˙2 r 2 sin(q1)sin(q2 )
C2
ż 0
C2
q̇2 r 2 cos(q2)
[]
2
( ẋ 0C ) 2
( ẏ 0C ) =¿
2
⇔ 2
2
( ż 0C ) 2
54
2 2
⇔ v 2C =( q̇1 r 2 cos ( q 2) sin ( q 1 ) + q̇ 2 r 2 cos(q1 )sin(q2 ) ) + ( q˙1 r 2 cos(q1 )cos (q 2)− q̇2 r 2 sin (q1 )sin (q 2) ) +
2
Với:
2 2 2 2
vC =x C + y C + z C
3 3 3 3
2 2
2 q˙1 r 3 cos(2 ( q 2+ q3 ) ) l 2 q˙1 cos (2 q2 )
2 2 2 2 2 2
2 q̇ r 1 32 2 2 2 l 2 q˙1 2 2
⇔v = C3 + q̇2 r 3 + q̇3 r 3 + +l 2 q˙2 +2 q˙2 q˙3 r 3 + + +
2 2 2 2
K 4 : động năng của khâu 4 quay quanh trục di động z 3
1 2 1 2
K 4 = J C ω 4+ m 4 v C
2 2 4 4
Với:
vC2 =x 2C + y 2C + z 2C
4 4 4 4
2 2
⇔ v 2C =( l 3 cos ( ( q2 +q3 ) ) ( q̇ 2+ q̇3 ) +l 2 q2 cos( q2 )) + ( cos (q1 ) σ 1+ q1 sin(q 1)σ 2 ) + ( sin (q1 ) σ 1−q˙1 cos (q
4
Trong đó:
σ 1=l 3 sin ( ( q2 +q 3 ) ) ( q˙2+ q̇3 ) +l 2 q̇2 sin ( q 2)
σ 2=r 4 +l 3 cos ( ( q 2+ q3 ) )+ l 2 cos (q2 )
¿
Q 2=M m −b2 q̇2 2
¿
Q =M m −b3 q̇3
3 3
¿
Q 4 =M m −b4 q˙4 4
- Phương trình Lagarange biểu diễn động lực học tay máy:
55
dt ∂ q̇i( )
d ∂K ∂K ∂P
− =
∂ qi ∂ qi
¿
+Q i (3)
( )
d ∂ K −1
dt ∂ q̇1
=
2
dq (2 dq 2 l 2 m3 sin(2 q2 )+2 dq2 l 2 m4 sin(2 q2 )+2 dq2 m2 r 2 sin (2 q2 )+l 3 m4 sin(2 q2 +2 q 3)2
1
2 2 2 2
dt ( ∂ q̇ )
d ∂K 2 2 2
=−dq l l m sin(q )−dq l m r sin( q )−dq l m r sin(q )−2 dq dq l l m sin (q )−2 dq
3 2 3 4 3 2 2 4 4 2 3 2 3 3 3 2 3 2 3 4 3
2
dt ( ∂ q̇ )
d ∂K 2
=−dq l m r sin(q )−dq dq l l m sin(q )−dq dq l m r sin (q )−dq l m r sin (q +q ) ( d
2 2 4 4 2 2 3 2 3 4 3 2 3 2 3 3 3 2 3 4 4 2 3
3
dt ( ∂ q˙ )
d ∂K
=−m r (l sin(q + q ) ( dq +dq ) + dq l sin( q ))
2 2
4 4 3 2 3 2 3 2 2 2
4
∂P
=0
∂ q1
∂P
=g m4 ( l 3 cos (q 2+ q3 )+ l 2 cos (q 2) ) + g m3 ( r 3 cos (q 2+ q3 )+ l2 cos (q2 ) ) + g m2 r 2 cos( q2 )
∂ q2
∂P
=g cos (q2 +q 3) ( l 3 m4 +m3 r 3 )
∂ q3
∂P
=0
∂ q4
Mm =1
d ∂K
( )−
∂K ∂P
−
dt ∂ q˙1 ∂ q1 ∂ q1
+ b1 q̇1=
−1
2
dq ( 2 dq2 l 2 m3 sin(2q 2)+2 dq 2 l 2 m 4 sin(2q 2)+2 dq 2 m 2 r 2 sin(2 q
1
2 2 2
56
Khâu 2:
Mm =
2 ( )
d ∂K
−
∂K ∂P
−
dt ∂ q˙2 ∂ q2 ∂ q2
+ b2 q̇2=−dq32 l 2 l 3 m4 sin ( q3 ) −dq22 l2 m4 r 4 sin ( q 2 )−dq32 l 2 m 3 r 3 sin ( q 3 )−2 dq2
Khâu 3:
Mm =
3
( )
d ∂K
−
∂K ∂P
−
dt ∂ q˙3 ∂ q3 ∂ q3
+b3 q˙3=−dq 22 l 2 m4 r 4 sin ( q2 ) −dq2 dq 3 l 2 l 3 m 4 sin ( q3 ) −dq 2 dq 3 l 2 m3 r 3 sin ( q 3 )−
Khâu 4:
Mm =
4 ( )
d ∂K
−
∂ K ∂P
−
dt ∂ q̇4 ∂ q4 ∂ q 4
+ b4 q˙4 =−m4 r 4 ( l 3 sin ( q 2+ q3 ) ( dq 2+ dq3 ) +dq 22 l 2 sin ( q2 ) )+ b4 q˙3 +b4 q˙2
2
Do trong công thức tính mômen tại các khớp có sự xuất hiện của hệ số ma sát,
trong mô phỏng ta sẽ giả sử các giá trị này bằng 0, còn khi làm mô hình phần cứng, các
chỉ số này không kiểm soát được do nhóm tác giả gặp hạn chế về thiết kế cơ khí nên khối
lượng vật nâng tối đa trong mô hình thực sẽ được xác định bằng phương pháp thực
nghiệm.
Phụ lục II: Thiết kế và các thông số của robot
57
58
59
Thông số robot:
Tham số Giá trị
l1 150mm
l2 140mm
l3 140mm
l4 54mm
q1 -90~90 độ
q2 0~120 độ
q3 -136~33 độ
Khối lượng vật nâng tối đa 85g
Vận tốc tối đa 600 rpm
Gia tốc tối đa 2500 độ/sq(s)
60