Trang 1 BỘ GIÁO DỤC VÀ ĐÀO TẠOTRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINHS09CƠNG TRÌNH NGHIÊN CỨU KHOA HỌC CỦA SINH VIÊN Trang 2 BỘ GIÁO DỤC VÀ ĐÀO TẠOTRƯỜNG ĐH SƯ PHẠM KỸ THU
Tính cấp thiết của đề tài
Ngành công nghiệp robot trên thế giới đã đưa được sản phẩm là robot công nghiệp để phục vụ sản xuất, thậm chí phục vụ nhu cầu giải trí cũng như chăm sóc con người Với ngành công nghiệp của Việt Nam thì robot chưa được xuất hiện nhiều trong các dây chuyền sản xuất Vì sản phẩm này còn quá đắt đối với thị trường Việt Nam
Nhằm nội địa hóa sản phẩm, cũng như nghiên cứu chuyên sâu về robot, tôi chọn đề tài “Thiết kế và điều khiển động học cánh tay robot EEZYbotARM MK2” Đề tài này hướng tới có thể thay thế các bộ điều khiển của các công ty nước ngoài và xây dựng giải thuật điều khiển tối ưu cho các đối tượng sản xuất Đồng thời, các đối tượng này thích hợp với điều kiện sản xuất ở nước ta
Hệ cánh tay robot được thực hiện trong để tài là một hệ MIMO (Multiple- Input and Multiple-Output) với nhiều ngõ vào điều khiển và nhiều ngõ ra Nhằm nâng cao khả năng áp dụng các giải thuật điều khiển tôi ưu cho hệ cánh tay robot trước tiên chúng ta cần nắm rõ về động học thuận – nghịch robot Đó là mục tiêu mà đề tài này hướng đến
Thực hiện đề tài “Thiết kế và điều khiển động học cánh tay robot EEZYbotARM MK2” là rất cần thiết cho vấn đề giảng dạy và nghiên cứu tại trường Đại học Sư phạm Kỹ thuật thời điểm hiện tại Vì đây là một mô hình rất điển hình cần phải có ở bất kỳ một trường Đại học, Cao đẳng nào theo hướng chuyên ngành kỹ thuật tại Việt Nam, nhất là ngành điều khiển tự động hóa, điện công nghiệp, cơ điện tử… Việc xây dựng mô hình sẽ giúp ích cho công tác giảng dạy trực quan hơn, dễ dàng kiểm chứng với các giải thuật điều khiển trên lý thuyết, là cơ sở nghiên cứu khoa học cho cả giảng viên và sinh viên tại trường.
Tổng quan nghiên cứu
Tình hình nghiên cứu trong nước
Năm 2016, nhóm tác giả Đặng Xuân Kiên, Nguyễn Mạnh La thuộc trường Đại học Giao thông vận tải TPHCM đã thực hiện đề tài “Điều khiển cánh tay Đề tài nghiên cứu khoa học
5 robot hai bậc tự do qua mạng dựa trên phương pháp dự đoán Smith nâng cao” Bài nghiên cứu thiết kế mô hình điều khiển cánh tay máy hai bậc tự do qua mạng dựa vào phương pháp dự Smoth nâng cao Trễ điều khiển gây ra bởi tính chất mạng và đáp ứng trễ của cơ cấu chấp hành, dẫn tới tín hiệu điều khiển cánh tay robot bị chậm, rất khó đạt được độ ổn định khi điều khiển qua mạng Phương pháp dự đoán Smith nâng cao giúp dự đoán tương đối tín hiệu trễ của toàn hệ thống làm tăng khả năng thích nghi với ảnh hưởng của thời gian trễ, giúp tay máy đáp ứng chính xác
Vào năm 2018, trong luận án Tiến sỹ của tác giả Nguyễn Tiết Kiệm, tác giả đã thực hiện nghiên cứu đề tài “Nghiên cứu phát triển một số thuật toán điều khiển robot công nghiệp có nhiều tham số bất định” Trong đó tác giả trình bầy về một số thuật toán điều khiển cho hệ robot-camera đặt trên hệ bánh xe di động và một số thuật toán điều khiển cho hệ robot-camera chẳng hạn như phương pháp điều khiển trượt, mạng nơ ron nhân tạo Mục tiêu mà tác giả hướng tới là nâng cao độ chính xác trong thực tế của robot công nghiệp khi môi trường làm việc có nhiễu không biết truốc, có nhiều tham số bất định của mô hình động học và của mục tiêu di động
Trong các viện nghiên cứu thì lĩnh vực này cũng có một số bài báo, báo cáo khoa học tại các hội nghị trong nước và quốc tế, đặc biệt là các kết quả nghiên cứu khoa học tại Viện Công Nghệ Thông Tin-Viện Hàn Lâm Khoa Học Công Nghệ Việt Nam và đại học Bách Khoa Hà nội được công bố trong các tài liệu [3],
[4] Trong tài liệu [4] các tác giả chủ yếu đề cập đến các tham số bất định của mô hình động lực học robot Trong luận án tiến sĩ của tác giả Ngô Mạnh Tiến - Đại học Bách Khoa Hà Nội tác giả đi sâu vào phần chế tạo phần cứng cho hệ Pan-Tilt-Camera di động, thuật điều khiển chính trong nghiên cứu này là điều khiển thích nghi theo mô hình mẫu
Tình hình nghiên cứu ngoài nước
Khi nói tới vấn đề điều khiển chuyển động tay máy di động, các nhà nghiên cứu đã phát triển nhiều thuật toán điều khiển khác nhau Mục tiêu chung cần giải quyết của bài toán điều khiển này là điều khiển tay máy di động từ vị trí ban đầu sang vị trí khác sao cho vị trí cuối cùng đáp ứng được vị trí mong muốn Cụ thể, các phương pháp trong [5], [6], [7] đã đề xuất một số phương pháp đáng chú ý Đề tài nghiên cứu khoa học
6 để giải quyết các vấn đề này Ngoài ra, công việc trong [8] đã trình bày một phương pháp điều khiển bám thích nghi cho một tay máy hàn di động với một mô hình động học có một số tham số chiều không xác định Dựa trên lý thuyết ổn định Lyapunov, tác giả trong [9] đã giải quyết vấn đề điều khiển vị trí với những thông số bất định động học và những chướng ngại vật không xác định Hơn nữa, bộ điều khiển bù momen xoắn đã được đề xuất trong [15] để điều khiển chuyển động của cánh tay di động
Gần đây, nhiều công trình với mục đích tích hợp luật servo thị giác vào robot di động đã được đề xuất để thực hiện nhiệm vụ cầm nắm [10-11] và để giải quyết bài toán điều khiển bám mục tiêu dựa trên thị giác [12], [13], dẫn đến các hệ thống thao tác tự trị dựa trên thị giác Hơn nữa, các chuyên gia đã đề xuất một thuật toán hoạch định đường đi để thêm phản ứng cho bài toán servo thị giác Giai đoạn hoạch định đường đi sẽ xem xét các ràng buộc quan trọng khác nhau hoặc sự không chắc chắn của hệ thống nhằm đạt được một hệ thống điều khiển servo thị giác mạnh mẽ hơn
Liên quan đến thị giác, bất cứ một tay máy với khớp nối linh hoạt trong không gian không có cấu trúc đều cần có các thông tin cảm giác từ tín hiệu phản hồi như thông tin thị giác trong hệ thống điều khiển vòng kín [14] Thị giác là một cảm biến hữu ích cho cánh tay khớp nối Thị giác sao chép cấu tạo của con mắt sinh học để có thể có được thông tin trong trường hợp không có bất kỳ tiếp xúc nào với đối tượng Đối với điều khiển cánh tay robot, servo thị giác là tên gọi của một nhóm các phương pháp điều khiển bao gồm sự kết hợp giữa động học robot, động lực học và thị giác máy để thúc đẩy hiệu quả chuyển động của cánh tay máy Những phương pháp này được phân loại thành hai nhóm [16], cụ thể là: position-based visual servoing (PBVS) servo thị giác dựa trên vị trí, và image-based visual servoing (IBVS) servo thị giác dựa trên hình ảnh
Các đặc trưng hình ảnh trong PBVS được xử lý để ước lượng vị trí tương đối của tọa độ ba chiều (3D) giữa camera và mục tiêu, theo sau là một thuật toán để điều khiển chuyển động của cánh tay robot với camera mà vị trí 3D được sử dụng như một sai số của tín hiệu [17] Nói cách khác, dựa trên dữ liệu hình ảnh, các kết qủa đã thiết kế và thể hiện trong không gian Đề Các 3 chiều Mục tiêu Đề tài nghiên cứu khoa học
7 điều khiển ở đây là để lái xe camera (hoặc cánh tay) từ một vị trí tùy ý ban đầu đến một vị trí tương đối mong muốn
Trong IBVS sai số được tính toán trực tiếp dưới dạng các đặc trưng hình ảnh có chuyển động vi phân trong mặt phẳng ảnh liên quan đến chuyển động vi phân của cánh tay di động qua ma trận Jacobi [12], [13], [14], [16], [17], [18],
[19], [20] Cần lưu ý rằng trái ngược với PBVS, IBVS có một số ưu điểm như sau: 1) Tọa độ 3D của mục tiêu là không cần thiết; 2) IBVS có độ bền vững hơn PBVS về hiệu suất đối với nhiễu, ví dụ với lỗi hiệu chuẩn; 3) IBVS thuận tiện hơn và dễ dàng hơn PBVS để bám một mục tiêu di động sao cho mục tiêu này luôn ở trong tầm nhìn của camera
Mặt khác trên thế giới cũng có nhiều nghiên cứu và báo cáo khoa học về phương pháp điều khiển bám mục tiêu di động sử dụng bệ Pan-Tilt và camera Các bài báo tiêu biểu đã nghiên cứu về lĩnh vực này như: Điều khiển cánh tay robot bám mục tiêu theo phương pháp bù sử dụng mạng nơ ron đăng trên tạp chí của viện Franklin Nội dung chủ yếu của bài nghiên cứu là thiết kế bộ điều khiển dùng mạng nơ ron để bù các thành phần bất định [21] Phương pháp điều khiển bám mục tiêu trong không gian 3 chiều bằng robot và camera sử dụng phương pháp bám điểm ảnh liên tục và bộ lọc điểm ảnh được báo cáo tại hội nghị SICE năm 2011, đại học Waseda, Tokyo, Japan Bài nghiên cứu này sử dụng phương pháp bám theo mục tiêu trong không gian 3 chiều để nhận dạng vị trí và hướng của vật thể chuyển động liên tục [22] Điều khiển bám mục tiêu bằng cách bám theo tín hiệu nhận được qua video thu được từ vật thể bay được báo cáo tại hội nghị AIM2011, Budapest, Hungary, năm 2011 Nghiên cứu này sử dụng tín hiệu nhận được qua video để bám theo mục tiêu [23] Nghiên cứu về công nghệ điều khiển robot dựa trên việc quan sát đối tượng trong không gian được báo cáo tại hội nghị quang điện tử và điện tử quốc tế năm 2011 (ICEOE2011) Bài nghiên cứu này sử dụng cánh tay rô bốt 6 bậc tự do điều khiển từ xa kết hợp với phương pháp điều khiển linh hoạt để bám theo mục tiêu trong không gian 3 chiều [24] Cách tiếp cận mới về việc điều khiển bám mục tiêu di động bằng cánh tay robot và camera sử dụng bộ quan sát phi tuyến được đăng tại tạp chí IEEE/ASME transaction on mechatronics, Vol 2.16, No2, April, 2011 Bài nghiên cứu này giới thiệu phương pháp điều khiển mới để tìm kiếm vật thể chuyển động trong không Đề tài nghiên cứu khoa học
8 gian 3 chiều [25] Điều khiển ổn định bám mục tiêu di động kết hợp mạng nơ ron cho cánh tay robot được đăng tại tạp chí IEEE transaction neural networks, Vol.17, No4, July, 2006 Bài nghiên cứu sử dụng mạng nơ ron nhận dạng thông số của rô bốt để điều khiển bám theo đối tượng [26]
Rõ ràng cánh tay robot đã được áp dụng rộng rãi do vai trò quan trọng của chúng trong các quá trình tự động hóa với tốc độ và độ chính xác cao Tuy nhiên, chúng thường bị tác động bởi các nhiễu ngoài, sự bất định của mô hình như sự biến động của tải trọng, tham số v.v và do đó, trong thực tế không thể diễn giải chính xác mô hình động lực học của cánh tay robot Do đó, nhiều phương pháp điều khiển đã được đề xuất để giải quyết những vấn đề này.
Mục tiêu
Mục tiêu chung: Thiết kế và điều khiển hệ cánh tay robot trong giảng dạy đại học và nghiên cứu khoa học
Thiết kế mô hình hệ thống cánh tay robot
Tìm hiểu và ứng dụng lý thuyết động học kỹ thuật robot để tính toán điều khiển cánh tay robot
Sử dụng các phần mềm Matlab/Simulink, Matlab/GUI, SolidWorks để thiết kế điều khiển cánh tay robot
Điều khiển cánh tay robot tới các điểm đặt thông qua giao diện GUI được thiết kế.
Đối tượng, phạm vi và phương pháp nghiên cứu
Đối tượng, địa điểm và thời gian nghiên cứu
Đề tài tập trung nghiên cứu chế tạo mô hình hệ thống cánh tay robot, điều khiển cánh tay robot bằng các phương pháp động lực học robot thông qua giao diện Matlab/GUI được thiết kế
Thời gian nghiên cứu từ tháng 01 năm 2020 đến tháng 05 năm 2020 tại các phòng Lab Khoa Điện – Điện tử.
Quy mô nghiên cứu
Nghiên cứu tìm hiểu nguyên lý hoạt động hệ cánh tay robot
Nghiên cứu chế tạo mô hình thực hệ cánh tay robot Đề tài nghiên cứu khoa học
Nghiên cứu lập trình điều khiển cánh tay robot chạy ổn định, đáp ứng đúng các vị trí điểm đặt mong muốn.
Phương pháp nghiên cứu
Tìm hiểu, phân tích các đề tài, các công trình nghiên cứu liên quan trong và ngoài nước
Tìm hiểu và xây dựng động học thuận tay máy
Tiến hành nghiên cứu chế tạo một mô hình cánh tay robot 3 bậc tự do
Viết chương trình điều khiển hệ thống thực Đề tài nghiên cứu khoa học
TỔNG QUAN VỀ ROBOT CÔNG NGHIỆP
Giới thiệu về robot công nghiệp
Thuật ngữ “Robot” lần đầu tiên xuất hiện năm 1922 trong tác phẩm “Rosum’s Universal Robot” của Karal Capek Theo tiếng Czech thì Robot là người tạp dịch Trong tác phẩm này nhân vật Rosum và con trai ông đã tạo ra những chiếc máy gần giống như con người hầu hạ con người
Hơn 20 năm sau, ước mơ viễn tưởng của Karel Capek đã bắt đầu hiện thực Ngay sau chiến tranh thế giới lần thứ 2, ở Mỹ đã xuất hiện những tay máy chép hình điều khiển từ xa, trong các phòng thí nghiệm phóng xạ Năm 1959, Devol và Engelber đã chế tạo Robot công nghiệp đầu tiên tại Unimation
Năm 1967, Nhật Bản mới nhập chiếc Robot công nghiệp đầu tiên từ công ty AMF của Mỹ Đến năm 1990, có hơn 40 công ty của Nhật, trong đó có những công ty khổng lồ như Hitachi, Mitsubishi và Honda đã đưa ra thị trường nhiều loại robot nổi tiếng
Từ những năm 70, việc nghiên cứu nâng cao tính năng của Robot đã chú ý nhiều đến sự lắp đặt thêm các cảm biến ngoại tín hiệu để nhận biết môi trường làm việc Tại trường đại học Tổng hợp Stanford, người ta đã chế tạo ra loại robot lắp ráp tự động điều khiển bằng vi tính trên cơ sở xử lý thông tin từ các cảm biến trên cơ sở xử lý thông tin từ các cảm biến lực và thị giác Vào thời gian này công ty IBM đã chế tạo Robot có các cảm biến xúc giác và cảm biến lực điều khiển bằng máy vi tính để lắp ráp các máy in gồm 20 cụm chi tiết
Những năm 90 do áp dụng rộng rãi các tiến bộ khoa học về vi xử lý và công nghệ thông tin, số lượng robot công nghiệp đã tăng nhanh, giá thành giảm rõ rệt, tính năng đã có nhiều bước tiến vượt bậc Nhờ vậy robot công nghiệp đã có vị trí quan trọng trong các dây chuyền sản xuất hiện đại Ngày nay, chuyên ngành khoa học nghiên cứu về robot “Robotics” đã trở thành một lĩnh vực rộng trong khoa học, bao gồm các vấn đề cấu trúc cơ cấu động học, động lực học, lập trình quỹ đạo, cảm biến tín hiệu, điều khiển chuyển động v.v…
Ba nguyên tắc cơ bản trong ngành nghiên cứu về Robotics:
1 Robot không được xúc phạm con người và không gây tổn hại cho con người
2 Hoạt động của robot phải tuân thủ theo các quy tắc do con người đặt ra Các quy tắt này không dược vi phạm nguyên tắc thứ nhất Đề tài nghiên cứu khoa học
3 Một robot cần phải bảo vệ sự sống của mình, nhưng không được vi phạm 2 nguyên tắc trước
Các nguyên tắc trên sau này trở thành nền tảng cho việc thiết kế robot
Khả năng hoạt động của robot được đảm bảo bởi hệ thống cơ khí, gồm cơ cấu vận động để đi lại và cơ cấu hành động để có thể làm việc Việc thiết kế và chế tạo hệ thống này thuộc lĩnh vực khoa học về cơ cấu truyền động, chấp hành và vật liệu cơ khí
Chức năng cảm nhận, gồm thu nhận tín hiệu về trạng thái môi trường và trạng thái của bản thân hệ thống, do các cảm biến (sensor) và các thiết bị liên quan thực hiện
Hệ thống này được gọi là hệ thống thu nhận và xử lý tín hiệu, hay đơn giản là hệ thống cảm biến
Muốn phối hợp hoạt động của hai hệ thống trên, đảm bảo cho robot có thể tự điều chỉnh "Hành vi" của mình và hoạt động theo đúng chức năng quy định trong điều kiện môi trường thay đổi, trong robot phải có hệ thống điều khiển Xây dựng các hệ thống điều khiển thuộc phạm vi điện tử, kỹ thuật điều khiển và công nghệ thông tin
Robotics được hiểu là một ngành khoa học có nhiệm vụ nghiên cứu, thiết kế, chế tạo các robot và ứng dụng chúng trong các lĩnh vực hoạt động khác nhau của xã hội loài người, như nghiên cứu khoa học, kỹ thuật, kinh tế, quốc phòng và dân sinh [5,tr.8]
Từ hiểu biết sơ bộ về chức năng và kết cấu của robot, chúng ta hiểu, Robotics là một khoa học liên ngành, gồm cơ khí, điện tử, kỹ thuật điều khiển và công nghệ thông tin Theo thuật ngữ hiện nay, robot là sản phẩm của ngành cơ - điện tử (Mechatronics)
Khía cạnh nhân văn và khía cạnh khoa học - kỹ thuật của việc sản sinh ra robot thống nhất ở một điểm: thực hiện hoài bão của con người, là tạo ra thiết bị thay thế mình trong những hoạt động không thích hợp với mình, như:
- Các công việc lặp đi lặp lại, nhàm chán, nặng nhọc: vận chuyển nguyên vật liệu, lắp ráp, lau cọ nhà,
- Trong môi trường khắc nghiệt hoặc nguy hiểm: như ngoài khoảng không vũ trụ, trên chiến trường, dưới nước sâu, trong lòng đất, nơi có phóng xạ, nhiệt độ cao,
- Những việc đòi hỏi độ chính xác cao, như thông tắc mạch máu hoặc các ống dẫn trong cơ thể, lắp ráp các cấu tử trong vi mạch,
Lĩnh vực ứng dựng của robot rất rộng và ngày càng được mở rộng thêm Ngày nay, khái niệm về robot đã mở rộng hơn khái niệm nguyên thuỷ rất nhiều Sự phỏng tác về kết cấu, chức năng, dáng vẻ của con người là cần thiết nhưng không còn ngự trị trong Đề tài nghiên cứu khoa học
12 kỹ thuật robot nữa Kết cấu của nhiều "con" robot khác xa với kết cấu các bộ phận của cơ thể người và chúng cũng có thể thực hiện được những việc vượt xa khả năng của con người.
Phân loại robot công nghiệp
Thế giới robot hiện nay đã rất phong phú và đa dạng, vì vậy phân loại chúng không đơn giản Có rất nhiều quan điểm phân loại khác nhau Mỗi quan điểm phục vụ một mục đích riêng Tuy nhiên, có thể nêu ra đây 3 cách phân loại cơ bản: theo kết cấu, theo điều khiển và theo phạm vi ứng dụng robot
1.2.1 Phân loại theo kết cấu
Theo kết cấu (hay theo hình học), người ta phân robot thành các loại: đề các, trụ, cầu, SCADA, kiểu tay người và các dạng khác nưa (xem các hình từ 1.4 đến hình 1.9)
1.2.2 Phân loại theo điều khiển
Có 2 điều khiển robot: điều khiển hở và điều khiển kín Điều khiển hở, dung truyền động bước (động cơ điện hoặc động cơ thủy lực, khí nén,… ) mà quãng đường hoặc góc dịch chuyển tỷ lệ với số xung điều khiển Kiểu điều khiển này khá đơn giản, nhưng đạt độ chính xác thấp Điều khiển kín (hay điều khiển servo), sử dụng tín hiệu phản hồi vị trí để tang độ chính xác điều khiển Có 2 kiểu điều khiển servo: điều khiển điểm – điểm và điều khiển theo đường (contour)
Với điều khiển điểm – điểm, phần công tác dịch chuyển từ điểm này đến điểm kia theo đường thẳng với tốc độ cao (không àm việc) Nó chỉ làm việc tại các điểm dừng Kiểu điều khiển này được dung trên các robot hàn điểm, Vận chuyển, tán đinh, bắn đinh,… Điều khiển contour đảm bảo cho phần công tác dịch chuyển theo quỹ đạo bất kỳ, với tốc độ có thể điều khiển được Có thể gặp kiểu điều khiển này trên các robot hàn hồ quang, phun sơn
Hình 1.1 Tay máy kiểu tọa độ đề các Đề tài nghiên cứu khoa học
Hình 1.2 Cấu trúc tay máy kiểu tọa độ trụ
Hình 1.3 Tay máy kiểu cầu
Hình 1.4 Tay máy kiểu SCADA
Hình 1.5 Tay máy kiểu tay người Đề tài nghiên cứu khoa học
Hình 1.6 Khớp cổ tay 1.2.3 Phân loại theo ứng dụng
Cách phân loại này dựa vào ứng dụng của robot Ví dụ, có robot công nghiệp, robot dung trong nghiên cứu khoa học, robot dung trong kỹ thuật vũ trụ, robot dung trong quân sự,…(Hình 1.7)
Hình 1.7 Một số loại robot được ứng dụng trong thực tế Đề tài nghiên cứu khoa học
Một số ứng dụng của robot
Robot được sử dụng rộng rãi trong một loạt các ứng dụng công nghiệp Các ứng dụng sớm nhất có thể kể đến là xử lý vật liệu, hàn điểm và phun sơn Robot ban đầu được áp dụng cho các công việc nóng bức, nặng nhọc và nguy hiểm như đúc khuôn, rèn và hàn điểm
Robot được sử dụng trong nhiều ứng dụng khác, ví dụ: Cắt, mài nhẵn, sửa chữa bảo dưỡng máy công cụ, đúc trong ngành công nghiệp nhựa, áp dụng chất bịt kín cho kính chắn gió xe hơi, chọn các vật phẩm rời khỏi băng tải và đóng gói chúng vào giá nâng, …vv
Các ứng dụng này, và các vấn đề liên quan, được báo cáo trong nhiều hội nghị chuyên ngành Các ứng dụng mới sáng tạo bao gồm hàn bằng chùm tia laser (Kehoe
1984) và cắt bằng tia nước áp lực cao [1]
1.3.2 Các ứng dụng trong phòng thí nghiệm
Robot đang cho thấy ứng dụng ngày càng tăng trong các phòng thí nghiệm Chúng thực hiện tốt các nhiệm vụ lặp đi lặp lại, chẳng hạn như đặt các ống nghiệm vào các dụng cụ đo đạc, làm giảm kỹ thuật viên phòng thí nghiệm của nhiều công việc tẻ nhạt Ở giai đoạn này, rô bốt được sử dụng để thực hiện tự động các công việc thủ công
1.3.3 Các ứng dụng công nghệ hạt nhân
Công nghệ Robotics tìm thấy ứng dụng đầu tiên của nó trong ngành công nghiệp hạt nhân với sự phát triển của các nhà điều hành điện tử để xử lý vật liệu phóng xạ (Martin and Hamet, 1984) Gần đây, robot đã được sử dụng để hàn từ xa và kiểm tra đường ống trong các khu vực bức xạ cao [27]
1.3.4 Các ứng dụng trong nông nghiệp Đối với nhiều người, ý tưởng về việc trồng cây bắp hay thu hoạch tự động là khoa học viễn tưởng, nhưng những nghiên cứu nghiêm túc đang được tiến hành trong việc ứng dụng robot vào nông nghiệp Một trong những dự án thành công nhất từ trước tới nay là sự phát triển của một robot cắt lông cừu ở Úc Quỹ đạo của kéo cắt trên cơ thể của cừu được lập trình sử dụng một mô hình hình học của một con cừu [27]
1.3.5 Ứng dụng trong thám hiểm không gian Đề tài nghiên cứu khoa học
Khám phá không gian đặt ra những vấn đề đặc biệt cho robot Môi trường ngoài không gian là thù địch với con người Con người chỉ có thể làm việc trong thời gian ngắn ngoài không gian với những người yêu cầu quần áo bảo hộ đắt tiền và môi trường sinh học giống như Trái Đất Vì vậy, nhiều phi hành gia đã cho rằng robot, chứ không phải con người, nên được gửi vào vũ trụ [27]
1.3.6 Ứng dụng trong thiết bị lặn
Hai sự kiện trong mùa hè (ở bán cầu bắc) năm 1985 đã nâng cao nhận thức của công chúng về các ứng dụng dưới biển của robotic Vụ tai nạn của một chiếc máy bay Air Jumbo của Air India rơi xuống Đại Tây Dương ngoài khơi Ireland Một robot lặn có hướng dẫn từ xa, thường được sử dụng để đặt cáp, được sử dụng để tìm và phục hồi các hộp đen của máy bay [27]
1.3.7 Ứng dụng trong giáo dục
Robot xuất hiện trong lớp học theo ba hình thức riêng biệt Đầu tiên, các chương trình giáo dục sử dụng mô phỏng điều khiển robot như một phương tiện dạy học Ngôn ngữ lập trình Karel the Robot, một tập hợp con của Pascal, được sử dụng như một ngôn ngữ lập trình giới thiệu (Pattis 1981) Thứ hai, và hiện tại phổ biến nhất, việc sử dụng robot trong giáo dục là việc sử dụng robot rùa Tasman kết hợp với ngôn ngữ LOGO để dạy tính đáng tin cậy của máy tính Hình thức sử dụng thứ ba là robot trong lớp học Một loạt các cánh tay thao tác chi phí thấp, robot di động và các hệ thống hoàn chỉnh đã được phát triển để sử dụng trong phòng thí nghiệm giáo dục về robot [27]
1.3.8 Ứng dụng trong hỗ trợ người khuyết tật
Robot có tiềm năng hỗ trợ người tàn tật rất lớn từ xe lăn tự động, vận chuyển người tàn tật trong bệnh viện, đáp ứng với các lệnh bằng giọng nói, đến robot chăm sóc, cho ăn đối với người tàn tật nghiêm trọng Mục tiêu quan trọng của nghiên cứu trong lĩnh vực này là sử dụng máy móc khôi phục lại một số công việc tự chủ mà người dùng bị mất khi họ không thể sử dụng các chức năng cơ thể của mình
Nghiên cứu phát triển robot để sử dụng cho những người khuyết tật cũng thúc đẩy công nghệ phát triển Công nghệ cảm biến đang gia tăng giới hạn các khả năng để bảo vệ người dùng và thực hiện các tác vụ mong muốn trong môi trường không có cấu trúc [27].
Bài toán động học thuận tay máy
Đề tài nghiên cứu khoa học
Hình 1.8 Hình 2D hệ cánh tay robot do nhóm đề xuất Bảng 1.1 Bảng D – H của hệ cánh tay robot
Ma trận chuyển đổi đồng nhất của hệ cánh tay robot được trình bầy từ (1) đến (3):
Từ (1), (2), (3) ta suy ra ma trận chuyển đổi đồng nhất như (4):
Ta có, ma trận P được trình bày như sau:
Ta có từ tính chất nối tiếp của 3 hệ trục tọa độ, suy ra phương trình:
(6) Đề tài nghiên cứu khoa học
Từ (1) đến (6) thực hiện việc tính toán động học thuận cánh tay máy cho hệ cánh tay robot được đề xuất trong đề tài này.
Bài toán động học nghịch tay máy
Để tính toán động học nghịch tay máy cho hệ cánh tay robot được trình bày theo các tính toán sau:
Ta có phương trình các hệ trục x, y, z được trình bày từ (7) đến (9)
2 23 1 2 zl s l s (9) Góc của khớp thứ nhất được tính toán như sau:
Từ phương trình (7) và (8) ta có:
Suy ra góc khớp thứ nhất được tính toán như sau:
Góc của khớp thứ 2 được tính toán như sau:
Từ phương trình (7), ta có:
Với l s 1 1 l l s c 1 2 1 2 0 Đề tài nghiên cứu khoa học
Góc khớp thứ 3 được tính toán như sau:
(20) Đề tài nghiên cứu khoa học
GIỚI THIỆU PHẦN CỨNG VÀ PHẦN MỀM
Giới thiệu về vi xử lý Arduino Uno R3
2.1.1 Khái niệm về vi điều khiển
Vi điều khiển là một hệ thống được tích hợp trên một chip, bao gồm một vi xử lý có hiệu suất đủ dùng và giá thành thấp kết hợp với các khối ngoại vi như bộ nhớ, các module vào/ra, các module biến đổi ADC/DAC, bộ định thời
2.1.2 Giới thiệu về board Arduino
Arduino được khởi động vào năm 2005 như là một dự án dành cho sinh viên trại Interaction Design Institute Ivrea (Viện thiết kế tương tác Ivrea) tại Ivrea, Italy Cái tên
"Arduino" đến từ một quán bar tại Ivrea, nơi một vài nhà sáng lập của dự án này thường xuyên gặp mặt
Mạch Arduino Uno là dòng mạch Arduino phổ biến, khi mới bắt đầu làm quen, lập trình với Arduino thì mạch Arduino thường nói tới chính là dòng Arduino UNO Hiện dòng mạch này đã phát triển tới thế hệ thứ 3 (Mạch Arduino Uno R3)
Các thiết bị dựa trên nền tảng Arduino được lập trình bằng ngôn ngữ riêng Ngôn ngữ này dựa trên ngôn ngữ Wiring được viết cho phần cứng nói chung trên một môi trường phát triển tích hợp (IDE) chạy trên các máy tính cá nhân Và Wiring lại là một biến thể của C/C++ Một số người gọi nó là Wiring, một số khác thì gọi là C hay C/C++
Sau khi nền tảng Wiring hoàn thành, các nhà nghiên cứu đã làm việc với nhau để giúp nó nhẹ hơn, rẻ hơn, và khả dụng đối với cộng đồng mã nguồn mở một trong số các nhà nghiên cứu là David Cuarlielles, đã phổ biến ý tưởng này
Những nhà thiết kế của Arduino cố gắng mang đến một phương thức dễ dàng, không tốn kém cho những người yêu thích, sinh viên và giới chuyên nghiệp để tạo ra những thiết bị có khả năng tương tác với môi trường thông qua các cảm biến và các cơ cấu chấp hành
Thông tin thiết kế phần cứng được cung cấp công khai để những ai muốn tự làm một mạch Arduino bằng tay có thể tự mình thực hiện được (mã nguồn mở) Người ta ước tính khoảng giữa năm 2011 có trên 300 ngàn mạch Arduino chính thức đã được sản Đề tài nghiên cứu khoa học
21 xuất thương mại, và vào năm 2013 có khoảng 700 ngàn mạch chính thức đã được đưa tới tay người dùng
Phần cứng Arduino gốc được sản xuất bởi công ty Italy tên là Smart Projects Một vài board dẫn xuất từ Arduino cũng được thiết kế bởi công ty của Mỹ tên là SparkFun Electronics Nhiều phiên bản của Arduino cũng đã được sản xuất phù hợp cho nhiều mục đích sử dụng:
Hình 2.1 Những phiên bản của Arduino
"Uno" có nghĩa là một bằng tiếng Ý và được đặt tên để đánh dấu việc phát hành sắp tới của Arduino 1.0 Uno và phiên bản 1.0 sẽ là phiên bản tài liệu tham khảo của Arduino Uno là mới nhất trong các loại board Arduino, và các mô hình tham chiếu cho các nền tảng Arduino
Arduino Uno là một “hội đồng quản trị” dựa trên ATmega328 Nó có 14 số chân đầu vào / đầu ra, 6 đầu vào analog, 16 MHz cộng hưởng gốm, kết nối USB, một jack cắm điện, một tiêu đề ICSP, và một nút reset Nó chứa tất cả mọi thứ cần thiết để hỗ trợ các vi điều khiển; chỉ cần kết nối nó với máy tính bằng cáp USB hoặc cấp điện cho nó để bắt đầu Đề tài nghiên cứu khoa học
Uno khác với tất cả các phiên bản trước ở chỗ nó không sử dụng các FTDI chip điều khiển USB-to-serial Thay vào đó, nó có tính năng Atmega 16U2 lập trình như là một công cụ chuyển đổi USB-to-serial
Arduino Uno R3 là dòng cơ bản, linh hoạt, thường được sử dụng cho người mới bắt đầu Chúng ta có thể sử dụng các dòng Arduino khác như: Arduino Mega, Arduino Nano, Arduino Micro… Nhưng với những ứng dụng cơ bản thì mạch Arduino Uno là lựa chọn phù hợp nhất
Phiên bản 3 (R3) của Uno có các tính năng mới sau đây:
Thêm SDA và SCL gần với pin Aref và hai chân mới được đặt gần với pin RESET, các IOREF cho phép thích ứng với điện áp cung cấp
Đặt lại mạch khỏe mạnh hơn
2.1.4 Cấu trúc và thông số Đề tài nghiên cứu khoa học
Bảng 2.1 Một vài thông số của Board Arduino Uno R3
Vi điều khiển ATmega328 họ 8bit Điện áp hoạt động 5V DC (chỉ được cấp qua cổng USB)
Tần số hoạt động 16 MHz
Dòng tiêu thụ khoảng 30mA Điện áp vào khuyên dùng 7-12V DC Điện áp vào giới hạn 6-20V DC
Số chân Digital I/O 14 (6 chân hardware PWM)
Số chân Analog 6 (độ phân giải 10bit)
Dòng tối đa trên mỗi chân I/O 30 mA
Dòng ra tối đa (5V) 500 mA
Dòng ra tối đa (3.3V) 50 mA
Bộ nhớ flash 32 KB (ATmega328) với 0.5KB dùng bởi bootloader
EEPROM 1 KB (ATmega328) a Vi điều khiển & bộ nhớ
Arduino UNO có thể sử dụng 3 vi điều khiển họ 8bit AVR là ATmega8,
ATmega168, ATmega328 Bộ não này có thể xử lí những tác vụ đơn giản như điều khiển đèn LED nhấp nháy, xử lí tín hiệu cho xe điều khiển từ xa, làm một trạm đo nhiệt độ - độ ẩm và hiển thị lên màn hình LCD,…
Hình 2.3 Vi điều khiển Atmega328 tiêu chuẩn
32KB bộ nhớ Flash: những đoạn lệnh lập trình sẽ được lưu trữ trong bộ nhớ
Flash của vi điều khiển Thường thì sẽ có khoảng vài KB trong số này sẽ được dùng cho bootloader nhưng đừng lo, hiếm khi nào cần quá 20KB bộ nhớ này Đề tài nghiên cứu khoa học
2KB cho SRAM (Static Random Access Memory): giá trị các biến khai báo khi lập trình sẽ lưu ở đây Khai báo càng nhiều biến thì càng cần nhiều bộ nhớ RAM Tuy vậy, thực sự thì cũng hiếm khi nào bộ nhớ RAM lại trở thành thứ phải bận tâm Khi mất điện, dữ liệu trên SRAM sẽ bị mất
Phần mềm lập trình cho board Arduino
Hiện nay, phần mềm Matlab đã hỗ trợ cho người dùng bộ thư viện Simulink hỗ trợ board Arduino Nhóm sinh viên đã thực hiện viết chương trình điều khiển trên phần mềm Matlab/Simulink để điều khiển hệ thống bồn nước đơn đạt điểm đặt mong muốn
Hướng dẫn cài đặt thư viên Arduino cho Matlab
Bước 1: Cài đặt Arduino IDE như bình thường (download từ trang chủ arduino.cc)
Bước 2: Cài đặt Hardware Support từ Matlab
Hình 2.5 Cài đặt thư viện Arduino cho Matlab
Bước 3: Đề tài nghiên cứu khoa học
Hình 2.6 Cài đặt thư viện Arduino cho Matlab
Hình 2.7 Cài đặt thư viện Arduino cho Matlab
Hình 2.8 Cài đặt thư viện Arduino cho Matlab
Hình 2.9 Cài đặt thư viện Arduino cho Matlab Đề tài nghiên cứu khoa học
Bước 7: Sau bước này thì tạo account và install bình thường
2.3 Khối nguồn xung Ở đây, nhóm sinh viên sử dụng khối nguồn chuyển đổi 220VAC – 24VDC (RS- 150-24) để cấp cho động cơ
Hình 2.10 Khối nguồn xung 12VDC
Điện áp vào AC: 176-264 VAC
Các chế độ bảo vệ: ngắn mạch, quá tải, quá áp
Thiết kế có các lỗ tổ ong để thông khí, tránh bị tang nhiệt độ bất thường ảnh hưởng đến các bộ phận bên trong
Led thông báo có điện
Sử dụng tụ điện có thể chịu nhiệt đến 105 o C
Chịu được áp AC lên đến 300 VAC trong 5s
Nhiệt độ chịu được lên đến 70 o C
Hiệu suất, tuổi thọ, độ tin cậy cao
Sơ đồ khối: Đề tài nghiên cứu khoa học
Hình 2.11 Sơ đồ khối bộ nguồn
Động cơ Servo MG966
Động cơ RC Servo MG996 là loại thường được sử dụng nhiều nhất trong các thiết kế Robot hoặc dẫn hướng xe Động cơ RC Servo MG996 có lực kéo mạnh, các khớp và bánh răng được làm hoàn toàn bằng kim loại nên có độ bền cao, động cơ được tích hợp sẵn Driver điều khiển động cơ bên trong theo cơ chế phát xung - quay góc nên rất dễ sử dụng
Có rất nhiều chủng loại Động cơ RC Servo MG996 được bán trên thị trường với nhiều mức giá khác nhau, loại chất lượng tốt, phù hợp để làm Robot có các đặc điểm như sau:
Loại được sản xuất tốt luôn có đầy đủ bộ phụ kiện như hình: (tròn, sao, chữ thập,
4 cánh nhưng nhất định phải có hình tròn, loại chất lượng không tốt có rất ít phụ kiện)
Loại được sản xuất tốt luôn có độ gì nặng khi bạn thử nghiệm bằng cách quay trục, thử nghiệm bằng cách gắn 1 trong các phụ kiện là các khớp nhựa vào động cơ và quay bằng tay, loại chất lượng tốt có độ gì nặng, loại không tốt quay rất nhẹ nên cũng rất yếu
Loại chất lượng tốt có dây dẫn cứng hơn loại chất lượng kém do xài nguyên liệu tốt hơn
Hình 2.12 Động cơ MG966 Đề tài nghiên cứu khoa học
Chủng loại: Analog RC Servo
Điện áp hoạt động: 4.8-6.6VDC
Kích thước: 40mm x 20mm x 43mm
Bạc đạn đế xoay
Bạc đạn là bộ phận vô cùng quan trọng trong hệ thống máy móc Trong một thiết bị máy gồm rất nhiều các loại bạc đạn khác nhau thực hiện những chức năng khác nhau và có những kích thước khác nhau
Hình 2.13 Bạc đạn đế xoay
Bạc đạn thực hiện chức năng:
Nâng đỡ bộ phận chuyển động
Cung cấp bề mặt chịu mòn có thể thay thế
Bạc đạn nâng đỡ các bộ phận chuyển động bằng cách chịu các tải hướng tâm và tải dọc trục
Bac đạn giảm ma sát bằng cách cung cấp sự tiếp xúc trượt (bạc trượt) hay sự tiếp xúc lăn tròn Đề tài nghiên cứu khoa học
Mạch giảm áp DC LM2596 3A
Mạch giảm áp DC LM2596 3A là module giảm áp có khả năng điều chỉnh được dòng ra đến 3A LM2596 là IC nguồn tích hợp đầy đủ bên trong Mạch giảm áp DC nhỏ gọn có khả năng giảm áp từ 30V xuống 1.5V mà vẫn đạt hiệu suất cao (92%) Thích hợp cho các ứng dụng chia nguồn, hạ áp, cấp cho các thiết bị như camera, robot,
Hình 2.14 Module mạch giảm áp DC LM2596 3A
Module không sử dụng cách ly
Hình 2.15 Sơ đồ mạch giảm áp DC dùng IC LM2596
Tổng quan về Matlab
MATLAB (viết tắt từ matrix laboratory) được phát triển từ dự án LINPACK & EISPACK của hãng Mathworks nhằm tạo ra thư viện ma trận phục vụ cho tính toán
Qua quá trình phát triển lâu dài, MATLAB được phát triển thành một công cụ rất mạnh, được ứng dụng khá phổ biến trong các trường đại học ở khắp thế giới, đặc biệt là các nước Mỹ, Bỉ, Canada,… như là công cụ không thể thiếu trong các giáo trình từ cơ bản đến nâng cao trong các lĩnh vực: toán học cao cấp, khoa học và kỹ thuật Trong công Đề tài nghiên cứu khoa học
32 nghiệp, MATLAB công cụ lựa chọn cho nghiên cứu nâng cao hiệu quả sản xuất, phân tích đánh giá và ứng dụng
Với MATLAB, bài toán tính toán, phân tích, thiết kế và mô phỏng trở nên dễ dàng hơn trong nhiều lĩnh vực chuyên ngành như: Điện, Điện tử, Cơ khí, Cơ điện tử, Vật lý,
MATLAB là công cụ tính toán rất mạnh dễ dùng, trực quan dễ mở rộng và phát triển
MATLAB có khả năng liên kết đa môi trường, liên kết dễ dàng với ngôn ngữ lập trình C++, Visual C, FORTRAN, JAVA, …
MATLAB có khả năng xử lý đồ họa mạnh trong không gian hai chiều và ba chiều
Các TOOLBOX trong MATLAB rất phong phú, đa năng là công cụ nghiên cứu, thiết kế cực kỳ hiệu quả trong các lĩnh vực chuyên ngành
Công cụ mô phỏng trực quan SIMULINK chạy trong môi trường MATLAB giúp cho bài toán phân tích thiết kế dễ dàng, sinh động hơn
MATLAB có kiến trúc mở, dễ dàng trong việc xây dựng thêm các module tính toán kỹ thuật theo tiêu chuẩn công nghiệp và truyền thống
Hiện nay, MATLAB có đến hàng ngàn lệnh và hàm tiện ích Để mở rộng môi trường MATLAB nhằm giải quyết các bài toán thuộc các phạm trù riêng Các Toolbox khá quan trọng và tiện ích cho người dùng như toán sơ cấp, xử lý tín hiệu số, xử lý ảnh, xử lý âm thanh, ma trận thưa, logic mờ, …
Giao diện của phần mềm MATLAB khi bắt đầu chạy ứng dụng:
Hình 2.16 Giao diện Matlab Đề tài nghiên cứu khoa học
2.7.2 Tổng quan về cấu trúc dữ liệu của Matlab, các ứng dụng:
Dữ liệu của Matlab thể hiện dưới dạng ma trận (hoặc mảng - tổng quát), và có các kiểu dữ liệu được liệt kê sau đây:
Kiểu đơn single, kiểu này có lợi về bộ nhớ dữ liệu vì nó đòi hỏi ít byte nhớ hơn, kiểu dữ liệu này không được sử dụng trong các phép tính toán học, độ chính xác kém hơn
Kiểu double kiểu này là kiểu thông dụng nhất của các biến trong Matlab
Kiểu uint8, uint8, uint16, uint64
Kiểu char ví dụ “Hello”
Trong Matlab kiểu dữ liệu double là kiểu mặc định sử dụng trong các phép tính số học
Matlab tạo điều kiện thuận lợi cho:
Các khoá học về toán học
Các kỹ sư, các nhà nghiên cứu khoa học
Dùng Matlab để tính toán, nghiên cứu tạo ra các sản phẩm tốt nhất trong sản xuất
Toolbox là một công cụ quan trọng trong Matlab: Công cụ này được Matlab cung cấp cho phép bạn ứng dụng các kỹ thuật để phân tích, thiết kế, mô phỏng các mô hình
Ta có thể tìm thấy toolbox ở trong môi trường làm việc của:
Hệ thống giao diện của Matlab được chia thành 5 phần:
Môi trường phát triển Đây là nơi đặt các thanh công cụ, các phương tiện giúp chúng ta sử dụng các lệnh và các file, ta có thể liệt kê một số như sau:
Desktop Đề tài nghiên cứu khoa học
Thư viện, các hàm toán học bao gồm các cấu trúc như tính tổng, sin cosin atan, atan2 etc , các phép tính đơn giản đến các phép tính phức tạp như tính ma trận nghich đảo, trị riêng, chuyển đổi fourier, laplace, symbolic library
Ngôn ngữ Matlab Đó là các ngôn ngữ cao về ma trận và mảng, với các dòng lệnh, các hàm, cấu trúc dữ liệu vào, có thể lập trình hướng đối tượng
Đồ hoạ trong Matlab Bao gồm các câu lệnh thể hiện đồ họa trong môi trường 2D và 3D, tạo các hình ảnh chuyển động, cung cấp các giao diện tương tác giữa người sử dụng và máy tính
Giao tiếp với các ngôn ngữ khác Matlab cho phép tương tác với các ngôn ngữ khác như C, Fortran …
2.7.4 Giới thiệu về Matlab/Simulink
Chương trình MATLAB là một chương trình viết cho máy tính nhằm hỗ trợ tính toán cho khoa học, kỹ thuật với các phần tử cơ bản là ma trận trên máy tính cá nhân do nhà phát triển MATHWORKS viết ra
Các lệnh, tập lệnh của MATLAB lên đến hàng trăm và ngày càng được mở rộng bởi các phần TOOLBOX và các hàm ứng dụng được xây dựng cho người sử dụng
MATLAB có hơn 25 TOOLBOX để khảo sát hầu hết những vấn đề về khoa học, kỹ thuật
Hình 2.17 Giao diện lập trình Matlab/Simulink 2.7.5 Thiết kế giao diện GUIDE MATLAB Đề tài nghiên cứu khoa học
Tại cửa sổ Command Window nhập dòng lệnh: “guide” Lập tức xuất hiện cửa sổ:
Tại tab Create New GUI thì cho phép bạn 4 sự lựa chọn sau:
Blank GUI (Default): Là bạn lập trình giao diện trống, chưa có thứ gì cả
GUI with Uicontrols, GUI with Axes and Menu, Modal Question Dialog: Là các templates đã có giao diện sẵn ở mức cơ bản Ta đang bắt đầu học thì sẽ chọn Blank GUI (Default) sau này bạn có kiến thức rồi thì hãy sử dụng các templates khác
Tab Open Existing GUI là nơi bạn có thể mở các GUI và bạn đã làm và lưu trước đó, file này có đuôi là fig
Hình 2.19 Giao diện Matlab/GUI Đề tài nghiên cứu khoa học
Hình 2.20 Ví dụ một số đối tượng trong GUI
Push Button: Dùng để khi bạn nhấn chuột vào thì nút này sẽ xử lý một công việc nào đó mà bạn muốn
Static Text: Dùng để hiện thì thông tin cho một đối tượng nào đó hoặc bạn có thể xuất dữ liệu từ trương trình ra đây Để thay đổi tên của các tool này cũng như màu sắc, thuộc tính… thì chúng ta chỉ cần nhấp đúp chuột vào Tool đó thì lập tức một cửa sổ mới xuất hiện được gọi là Inspector
Hình 2.21 Sử dụng thông số cho các đối tượng sử dụng
Cửa sổ Inspector này cho phép chúng ta thay đổi các thuộc tính của đối tượng Tool nào đó mà chúng ta muốn Chúng ta có thể thay đổi màu, cỡ chữ… theo ý thích của mình Ở đây nhóm sinh sinh muốn nhấn mạnh các thuộc tính quan trọng mà chúng ta cần chú ý để sau này lập trình cho nó dễ dàng thôi Đề tài nghiên cứu khoa học
String: Là trường để hiện thị tên nào đó mà chúng ta muốn hiện thị ở GUI Nó hiện thị cho chúng ta nhìn thấy như Ví dụ trên đó là “Nhập Tên tài khoản”, nó không ảnh hưởng đến trương trình (Code) mà bạn thực hiện Bạn có thể thay đổi thành tên nào cũng được
CƠ SỞ LÝ THUYẾT
3.1.1 Giới thiệu các thành phần cơ bản có trong robot
Hình 3.1 Các thành phần cơ bản có trong robot
Trong một robot thường có những thành phần cơ bản như sau:
- Các loại trục tọa độ: {BB}, {J1}, {EE},…
- Các biến trạng thái từ các khớp: góc, vận tốc ,…
- Các tín hiệu điều khiển từ khớp: Mô men xoắn,…
- Thông số các trục: chiều dài, …
- Các biến trạng thái từ điểm cuối: vận tốc,…
- Các tín hiệu điều khiển từ điểm cuối: Lực EE, mô men xoắn,…
3.1.2 Những thành phần của bài toán động học robot Động học thuận là bài toán giải quyết mối quan hệ giữa các biến trạng thái điểm đầu của robot so với điểm cuối của robot Động học thuận đề cập đến việc sử dụng các phương trình động học của robot để tính toán vị trí của bộ phận đầu cuối từ các giá trị được chỉ định cho các biến của các khớp
Các phương trình động học của robot được sử dụng trong robot, trò chơi máy tính và chuyển động Quá trình tính toán ngược lại các tham số khớp sẽ cho biết được vị trí xác định của bộ phận đầu cuối được gọi là động học nghịch
Các phương trình động học thuận có thể được sử dụng như một phương pháp trong đồ họa máy tính 3D để tạo các chuyển động mô hình Đề tài nghiên cứu khoa học
Khái niệm thiết yếu của hoạt hình động học phía trước là vị trí của các bộ phận cụ thể của cơ cấu cần phân tích tại một thời điểm xác định được tính từ vị trí và hướng của đối tượng, cùng với bất kỳ thông tin nào về khớp của cơ cấu
Vì vậy, ví dụ, nếu đối tượng được phân tích là một cánh tay với vai còn lại ở một vị trí cố định, vị trí của đầu ngón tay cái sẽ được tính từ các góc của khớp vai, khuỷu tay, cổ tay, ngón tay cái và khớp ngón tay Ba trong số các khớp này (vai, cổ tay và gốc ngón cái) có nhiều hơn một bậc tự do, tất cả đều phải được tính đến Nếu mô hình là toàn bộ hình người, thì vị trí của vai cũng sẽ phải được tính từ các vị trí khác của đối tượng
Phương pháp động học thuận có thể được phân biệt với động học ngược bằng phương pháp tính toán trong động học nghịch đảo, hướng của các phần khớp nối được tính từ vị trí mong muốn của các điểm nhất định trên đối tượng
Nó cũng được phân biệt với các mô hình chuyển động khác bởi thực tế là chuyển động của đối tượng được xác định trực tiếp, không có sử dụng bất kỳ định luật vật lý, chẳng hạn như trọng lực hoặc va chạm với các đối tượng khác
Hình 3.2 Ví dụ một robot đơn giản Đối với ví dụ trên thì động học thuận robot có thể miêu tả bằng hệ phương trình:
Động học thuận được dùng để:
- Tính toán và kiểm soát vị trí đầu cuối mong muốn
- Tính toán được vận tốc và gia tốc của vị trí cuối và các khớp
- Cung cấp cơ sở để rút ra động lực học của robot
3.1.2.1 Bậc tự do Đề tài nghiên cứu khoa học
Trong robot, bậc tự do (DOF) của một đối tượng là số lượng tham số độc lập dùng để xác định cấu hình của đối tượng cần xem xét
- n: số lượng thanh nối (kể cả mặt đất)
- f j : số bậc tự do tại khớp thứ j
3.1.2.2 Biểu diễn quan hệ giữa các thanh trong robot
Một liên kết được xác định là một mối quan hệ giữa hai trục lân cận (các khớp liền nhau) của cơ cấu
Hình 3.3 Quan hệ giữa 2 thanh trong cơ cấu
- Từ khoảng cách giữa 2 thanh ta có thể lấy được khoảng cách giữa 2 thanh trục là a
- Từ góc giữa 2 thanh ta có thể lấy được góc giữa 2 thanh trục là
3.1.3 Quy tắc Denavit-Hartenberg (Bảng D-H)
Phương pháp tính toán trực tiếp chỉ áp dụng được cho các cơ cấu đơn giản Để có thể giải các bài toán tổng quát cần một thuật giải chung Đề tài nghiên cứu khoa học
Một trong những thuật giải như vậy xuất phát từ quy tắc Denavit-Hartenberg, được Denavit và Hartenberg xây dựng vào năm 1955 Đó là quy tắc thiết lập hệ thống toạ độ trên các cặp khâu – khớp trên tay máy Dựa trên hệ toạ độ này có thể mô tả các cặp bằng hệ thống các tham số, biến khớp và áp dụng một dạng phương trình tổng quát cho bài toán động học tay máy
Theo quy tắc Denavit-Hartenberg, quy tắc gán hệ trục tọa độ cho các thanh liên kết, khớp như sau:
- Khung {i} được đính kèm với liên kết {i}
- Đặt trục toạ độ Zj dọc theo trục của khớp sau (thứ i+1)
- Trục xi được chọn dọc theo đường vuông góc chung của hai trục (zi và zi + 1)
- Trục yi được chọn để hoàn thành hệ tọa độ tay phải
- Khung {0} được chọn khớp {1} khi biến khớp đầu tiên bằng 0
- Khung {N} có thể được tự do lựa chọn nhưng thường đảm bảo càng nhiều tham số trục bằng không càng tốt
Xác định các thông số thanh liên kết của bảng D-H:
- a i : khoảng cách từ z i tới z i 1 dọc theo trục x i
- i : góc từ z i tới z i 1 dọc theo trụcx i
- d i : khoảng cách từ x i 1 tới x i dọc theo trụcz i
- i : góc từ x i 1 tới x i dọc theo trục z i
3.1.4 Tính toán động học thuận robot
- Thiết lập bảng D-H cho robot cần tính
- Tính toán các ma trận theo thứ tự: Đề tài nghiên cứu khoa học
*( 1)* *( 1)* * cos sin( ) 0 1 sin( )*cos 1 cos *cos 1 sin 1 sin 1 * sin( )*sin 1 cos *sin 1 cos 1 cos 1 *
3.2 Động học nghịch robot Động học nghịch là bài toán giải quyết mối quan hệ giữa điểm cuối của robot so với các biến trạng thái điểm đầu của robot Động học nghịch là quá trình tính toán các tham số khớp biến cần thiết để đặt phần cuối của chuỗi động học, chẳng hạn như bộ điều khiển robot hoặc bộ xương của nhân vật hoạt hình, ở một vị trí và hướng nhất định so với điểm bắt đầu Động học nghịch cũng được sử dụng để khôi phục các chuyển động của một vật thể trong thực tế từ một số dữ liệu khác, chẳng hạn như một bộ phim về các chuyển động, hoặc một bộ phim mà một camera tự tạo ra các chuyển động đó Ví dụ, trong đó các chuyển động được quay của một diễn viên người sẽ được nhân đôi bởi một nhân vật hoạt hình
Trong robot, động học nghịch sử dụng các phương trình động học để xác định các tham số khớp từ đó biết được vị trí mong muốn cho mỗi bộ phận đầu cuối của robot
Nhận biết được đặc điểm kỹ thuật của chuyển động của robot là điểm cuối của robot được gọi là kế hoạch chuyển động Động học nghịch biến đổi kế hoạch chuyển động thành quỹ đạo các khớp cho robot Các công thức tương tự xác định vị trí bộ xương của một nhân vật chuyển động di chuyển theo một cách cụ thể trong phim, hoặc của một phương tiện như xe hơi hoặc thuyền chứa máy ảnh trong một cảnh phim
Khi đã biết chuyển động của một chiếc xe, chúng ta có thể được sử dụng để xác định sự thay đổi liên tục của hình ảnh do máy tính tạo ra trong cảnh quan như các tòa nhà, để các vật thể này chuyển động nhưng thực ra bản thân chúng dường như không di chuyển khi máy ảnh đi qua Đề tài nghiên cứu khoa học
Chuyển động của một chuỗi động học, cho dù đó là robot hay nhân vật hoạt hình, được mô hình hóa bằng các phương trình động học của chuỗi Các phương trình này giúp xác định được cấu hình của chuỗi theo các tham số chung của nó Động học thuận sử dụng các tham số khớp để tính toán cấu hình của chuỗi còn động học nghịch đảo ngược phép tính này để xác định các tham số khớp đạt được cấu hình mong muốn
3.2.1 Phân tích động học ngược
Một mô hình của bộ xương người sẽ được xem như là một chuỗi động học cho phép định vị bằng cách sử dụng động học nghịch
Phân tích động học là một trong những bước đầu tiên trong thiết kế của hầu hết các robot công nghiệp Phân tích động học cho phép người thiết kế có được thông tin về vị trí của từng bộ phận trong hệ thống cơ khí Thông tin này là cần thiết cho phân tích chuyển động tiếp theo Động học nghịch là một ví dụ về phân tích động học của một hệ thống các vật cứng hoặc chuỗi động học Các phương trình động học của robot có thể được sử dụng để xác định các phương trình vòng lặp của một hệ thống khớp nối phức tạp Các phương trình vòng lặp này ràng buộc phi tuyến tính trên các tham số cơ bản của hệ thống Các tham số độc lập trong các phương trình này được gọi là bậc tự do của hệ thống
ĐÁP ỨNG THỰC TẾ KHI ĐIỀU KHIỂN
Thiết lế mô hình bằng phần mềm SolidWorks
Mô hình hệ cánh tay robot 3 bậc tự do được nhóm sinh viên thiết kế trên phần mềm SolidWorks được trình bày từ Hình 4.1 đến Hình 4
Hình 4.1 Hướng nhìn ngang của hệ cánh tay robot
Hình 4.2 Hướng nhìn từ sau của hệ cánh tay robot Đề tài nghiên cứu khoa học
Hình 4.3 Hướng nhìn ngang của hệ cánh tay robot
Hình 4.4 Hướng nhìn từ sau của hệ cánh tay robot
Hình 4.5 Hướng nhìn chéo của hệ cánh tay robot Đề tài nghiên cứu khoa học
Hình 4.6 Hướng nhìn từ trên xuống của hệ cánh tay robot
Hình 4.7 Hướng nhìn của hệ cánh tay robot
Hình 4.8 Hướng nhìn cánh tay robot từ mặt đối diện Đề tài nghiên cứu khoa học
Thiết kế giao diện Matlab GUI để điều khiển cánh tay robot
Nhóm sinh viên thực hiện thiết kế giao diện Matlab/GUI để nhập các thông số điều khiển động học cho hệ cánh tay robot
Trong giao diện này các thông số được nhập gồm các thông số động học thuận của hệ của thống và các thông số động học nghịch của hệ thống
Chương trình được lập trình dựa trên các tính toán động học thuận nghịc của hệ cánh tay robot 3 bậc tự do ở mục 1.4 và mục 1.5 mà nhóm sinh viên đề xuất.
Kết quả điều khiển thực tế
Mô hình thực tế hệ cánh tay robot 3 bậc tự do được trình bày trong Hình 4.10 Đề tài nghiên cứu khoa học
Hình 4.10 Mô hình thực hệ cánh tay robot
3 Đế xoay cánh tay robot
6 Khớp mở kẹp hệ cánh tay
Chương trình điều khiển hệ cánh tay robot 3 bậc tự do được xây dựng trên Matlab/Simulink, thư viện Arduino được tích hợp trên phần mềm Matlab được nhóm sinh viên nghiên cứu áp dụng để xây dựng chương trình điều khiển Đề tài nghiên cứu khoa học
Hình 4.11 Chương trình tính toán động học thuận – nghịch cho hệ cánh tay robot
Kết luận
Mô hình hệ cánh tay robot 3 bậc do hoàn toàn có khả năng được điều khiển bởi bài toán động học thuận nghịch do nhóm sinh viên thực hiện tính toán Theo tính toán Đề tài nghiên cứu khoa học
59 và thử sai nhiều lần của sinh viên, mỗi link đều có khoảng hoạt động giới hạn Cụ thể như sau:
Nguyên nhân khoảng hoạt động của từng link chỉ nằm trong khoảng giới hạn trên là do cấu trúc cơ khí chỉ đáp ứng được khoảng độ của từng link Đề tài nghiên cứu khoa học