PHẦN MỞ ĐẦU: BÁO CÁO NGHIỆM THU Tên đề tài: “Nghiên cứu ứng dụng phần mềm thời gian thực Xenomai trong điều khiển robot công nghiệp” Chủ nhiệm đề tài: TS. Phùng Trí Công Cơ quan chủ trì: Trƣờng Đại học Bách khoa – Đại học quốc gia Tp.HCM Thời gian thực hiện đề tài: 2 năm (12/2012-12/2014) Kinh phí đƣợc duyệt: 285.000 đồng Kinh phí đã cấp: 255.000 đồng • Kinh phí cấp giai đoạn 1: 180.000 đồng (Theo thông báo số: 197/TB- SKHCN ngày 17 tháng 12 năm 2012) • Kinh phí cấp giai đoạn 2: 75.000 đồng (Theo thông báo số: 132/TB- KHCN ngày 07 tháng 08 năm 2013) Mục tiêu: Xây dựng phương pháp điều khiển thời gian thực dựa trên hệ điều hành Linux và phần mềm thời gian thực Xenomai cho các robot công nghiệp hiện có trên thị trường và các robot chế tạo mới ở nước ta. Ứng dụng phương pháp trên để điều khiển động cơ điện DC servo và AC servo. Từ đó sẽ ứng dụng để điều khiển một mô hình robot 5 DOF trong thực tế.
Nội dung: (Theo đề cương đã duyệt) Công việc dự kiến Công việc đã thực hiện Nội dung 1: Tìm hiểu về ưu nhược Đã chỉ ra ưu nhược điểm của phần điểm của phần mềm thời gian thực mềm thời gian thực Xenomai so với Xenomai so với các phần mềm điều các phần mềm điều khiển thông khiển thông thường trong công thường trong công nghiệp. Nội dung 2: Nghiên cứu về việc cài Đã cài đặt thành công phần mềm thời đặt phần mềm thời gian thực gian thực Xenomai và các ứng dụng Xenomai và các ứng dụng. trên nền máy tính PC. 1 Nội dung 3: Nghiên cứu sử dụng các Đã viết được chương trình ứng dụng ứng dụng trên phần mềm đã cài đặt.
trong không gian user-space và kernel-space. Nội dung 4: Nghiên cứu ứng dụng Đã thực hiện giao tiếp thời gian thực giao tiếp thời gian thực Xenomai với với các thiết bị ngoại vi thông qua các thiết bị ngoại vi. cổng song song Parallel, cổng nối tiếp COM và cổng USB. Nội dung 5: Ứng dụng điều khiển • Đã chế tạo thành công mô hình thời gian thực cho động cơ điện DC mạch điện giao tiếp và điều khiển servo motor và AC servo motor.
của động cơ điện DC servo. • Đã chế tạo thành công mô hình mạch điện giao tiếp và điều khiển của động cơ điện AC servo. • Đã tiến hành điều khiển thành công vị trí của mô hình động cơ DC servo và AC servo. Nội dung 6: Ứng dụng phần mềm • Đã chế tạo thành công mô hình điều khiển thời gian thực Xenomai mạch điện giao tiếp và điều khiển cho một mô hình robot 5DOF trong của mô hình robot 5DOF.
• Đã tiến hành điều khiển thành công giải thuật bám quỹ đạo hình vuông và hình tròn. Những nội dung còn lại (tổng quát): • Thực hiện giao tiếp với thiết bị ngoại vi thông qua khe cắm PCIe. Sản phẩm của đề tài: 1) Bài báo hội nghị khoa học Nhóm nghiên cứu đã báo cáo 2 bài báo tại các hội nghị khoa học sau: ● Hội nghị Khoa học và Công nghệ Trường ĐHBK TpHCM năm 2013: “Improving the Accuracy of Controlling DC Servo Motor by Real-time Method”. ● Hội nghị toàn quốc về Cơ điện tử năm 2014: “Research and Improving the Accuracy of Time in Controlling Motors using Xenomai Real-time Software” (Phụ lục 1).
2 2) Quy trình điều khiển một thiết bị công nghiệp bằng phần mềm thời gian thực Xenomai Nhóm nghiên cứu đã xây dựng thành công một quy trình điều khiển các thiết bị công nghiệp sử dụng phần mềm thời gian thực Xenomai (Phụ lục 3). 3) Thiết bị phần cứng Nhóm nghiên cứu đã chế tạo thành công các sản phẩm phần cứng sau: ● Mô hình thực nghiệm với mạch công suất, mạch điều khiển và mạch giao tiếp máy tính cho động cơ DC servo (Phụ lục 4). ● Mô hình thực nghiệm với mạch điều khiển và mạch giao tiếp máy tính cho động cơ AC servo (Phụ lục 5). ● Mô hình thực nghiệm với mạch điều khiển và mạch giao tiếp máy tính cho một mô hình robot 5-DOF có sẵn ở phòng thí nghiệm (Phụ lục 6).
4) Chƣơng trình điều khiển robot bằng phƣơng pháp thời gian thực Nhóm đã viết được chương trình điều khiển sử dụng phần mềm realtime Xenomai chạy trên nền Fedora Linux và đã đạt được các kết quả như sau ● Cải thiện độ chính xác điều khiển và thời gian xác lập của động cơ DC servo: sai số xác lập đạt được là 1.67% với góc quay lớn hơn 300 và thời gian xác lập là 2. ● Cải thiện độ chính xác điều khiển và thời gian xác lập của động cơ AC servo: sai số xác lập đạt được là 0.33% với góc quay lớn hơn 300 và thời gian xác lập là 0. ● Cải thiện độ chính xác điều khiển quỹ đạo của robot theo quỹ đạo đường thẳng và quỹ đạo đường tròn với sai số là 3. 3 CHƢƠNG I: TỔNG QUAN TÀI LIỆU 1.
Sơ lƣợc vấn đề Việc ứng dụng phương pháp điều khiển thời gian thực vào các máy móc công nghiệp, đặc biệt là các robot, đã được trình bày bởi nhiều nhóm nghiên cứu trên thế giới. Ưu điểm của phương pháp này là chúng ta tận dụng được kho tài nguyên vô giá mã nguồn mở, hệ điều hành Linux, vốn chưa được khai thác hết. Ưu điểm thứ hai là chúng ta sẽ khắc phục được lỗi ngắt thường gặp trong các bộ điều khiển sử dụng hệ điều hành Window. Ưu điểm thứ ba là đảm bảo việc điều khiển robot diễn ra trong một khoảng thời gian mà người điều khiển mong muốn.
Vì vậy đã có nhiều diễn đàn về công nghệ và tự động trên thế giới quan tâm đến việc xây dựng những chương trình điều khiển thời gian thực dựa trên hệ điều hành Linux. Bộ điều khiển robot công nghiệp Các robot công nghiệp được bán trên thị trường thường có các phần mềm điều khiển kèm theo. Mỗi hãng lại có một phần mềm điều khiển khác nhau, ngôn ngữ lập trình khác nhau. Vì vậy sẽ rất khó để điều khiển cùng lúc nhiều robot trên cùng một máy tính chủ.
Một vấn đề khác nảy sinh là các nhà sản xuất thường hạn chế khả năng can thiệp của người sử dụng vào phần cứng của robot. Chúng ta chỉ có thể điều khiển robot thông qua các giao diện được xây dựng sẵn dành cho người sử dụng. Vì vậy điều này sẽ hạn chế việc tích hợp thêm các phần cứng, ví dụ như các loại cảm biến, vào bộ điều khiển của robot. Với sự phát triển như vũ bão của việc ứng dụng robot công nghiệp vào trong sản xuất, việc tích hợp các loại cảm biến vào bộ điều khiển robot và sử dụng thuần thục chúng là nhu cầu cấp thiết của các nhà nghiên cứu robot.
Để khắc phục vấn đề này, nhiều nhóm nghiên cứu đã đưa ra các mô hình điều khiển mới cho các robot công nghiệp. Có hai mô hình điều khiển phổ biến được xem xét. Thứ nhất là mô hình điều khiển mới được xây dựng dựa trên bộ điều khiển và phần mềm lập trình sẵn có cho robot. Chúng ta sẽ xây dựng các phương pháp giao tiếp với bộ điều khiển của robot thông qua các cổng ngoại vi như COM, Parallel, USB, CAN, 4 Internet… Việc giao tiếp này dùng để truyền nhận tín hiệu của cảm biến từ máy tính chủ đến bộ điều khiển và ngược lại từ bộ điều khiển robot đến máy tính chủ.
Việc điều khiển robot thì vẫn dựa trên phần mềm lập trình có sẵn đã được xây dựng cho robot. Ưu điểm của phương pháp này là không tốn quá nhiều chi phí cho các thiết bị ngoại vi và phần lập trình cho robot. Tuy nhiên, phương pháp này cũng hạn chế khả năng điều khiển robot và tích hợp cảm biến theo ý muốn của người sử dụng. Thứ hai là xây dựng một bộ điều khiển hoàn toàn mới, độc lập với phần mềm điều khiển robot hiện có.
Phương pháp này sẽ tiêu tốn chi phí cho việc xây dựng lại phần cứng của bộ điều khiển. Tuy nhiên, lại có ưu điểm là giúp người sử dụng có thể tích hợp các loại cảm biến và điều khiển robot theo ý của mình một cách linh hoạt. Một ưu điểm nữa là ngôn ngữ sử dụng cho bộ điều khiển mới thường là những ngôn ngữ được sử dụng chung cho cộng đồng điều khiển robot chứ không phải là ngôn ngữ lập trình cho mỗi loại robot riêng biệt. Trong phần tiếp theo chúng ta sẽ tìm hiểu về mô hình thứ hai, tức là mô hình xây dựng một bộ điều khiển mới cho robot và một số hướng nghiên cứu phải sử dụng phương pháp thời gian thực để điều khiển robot.
Các ứng dụng của điều khiển thời gian thực Các robot công nghiệp ngày nay thường được điều khiển bởi các bộ điều khiển phân tán nhằm đạt được độ chính xác cao cả về vị trí lẫn thời gian. Tuy nhiên, trong các ứng dụng đòi hỏi phải có thông tin từ môi trường ngoài, chúng ta cần phải xử lý các tín hiệu từ bộ cảm biến trước khi gửi các thông tin hữu ích tới bộ điều khiển robot. Thời gian giao tiếp giữa máy tính chủ và bộ điều khiển của robot đóng vai trò quan trọng trong hoạt động của hệ thống. Có nhiều ứng dụng đòi hỏi sự chính xác về mặt thời gian trong suốt quá trình hoạt động.
Chúng ta xem xét việc sử dụng một robot để bám theo một vật di động nhờ các tín hiệu từ 2 camera. Một thuật toán cần thiết được xây dựng để có thể lấy thông tin về vị trí của vật từ hệ stereo camera ở trên. Thông tin về vị trí của vật cần được gửi đến bộ điều khiển của robot trong khoảng thời gian nhanh nhất để robot có thể bám theo vật. Khi vật di chuyển nhanh, việc bám theo vật sẽ càng khó khăn hơn.
Trong trường hợp này, chúng 5 ta cần phải xử lý thông tin từ camera và gửi thông tin vị trí của vật đến bộ điều khiển robot trong cùng một lúc. Nếu có sự chậm trễ trong việc truyền tín hiệu, vật có thể sẽ di chuyển ra ngoài vùng hoạt động của camera và robot sẽ không thể bám theo vật được nữa. Một ứng dụng khác là chúng ta muốn điều khiển robot sao cho khâu tác động cuối tác dụng lên một bề mặt với một lực không đổi (ví dụ robot lau kiếng). Chúng ta cần nhận thông tin từ cảm biến lực gắn vào robot và gửi giá trị lực tiếp xúc đến bộ điều khiển robot cùng lúc.
Nếu có sự chậm trễ thì lực tiếp xúc thực tế có thể lớn hơn giá trị mong muốn và thỉnh thoảng sẽ làm hỏng bề mặt tiếp xúc. Một ví dụ nữa là chúng ta muốn điều khiển robot để gắp một vật nằm trên một băng tải di động theo một hướng mong muốn.