MỘTGIẢIPHÁPĐIỀUKHIỂNROBOTCƠCẤUSONGSONG Đinh Công Huân, Vương Thị Diệu Hương, Đỗ Thị Ngọc Oanh, Nguyễn Huy Thụy, Phạm Anh Tuấn Phòng Cơ điện tử - Viện Cơ học - 264 Đội Cấn, Ba Đình, Hà Nội E-mail: mechatronic@hn.vnn.vn Tóm tắt: Với nhiều lợi thế mà robotcơcấusongsong đem lại như: độ chính xác, độ cứng vững cao, tốc độ làm việc lớn, tiện lợi trong quá trình di chuyển, lắp đặt… robotcơcấusongsong ngày càng được quan tâm và ứng dụng rộng rãi. Bài báo đưa ra mộtgiảipháp hoàn chỉnh điềukhiểnrobotcơcấusong song. Đầu tiên là một số phân tích về xử lý song song, xử lý phân tán trong điềukhiểnrobot tiếp theo sẽ trình bày về ứng dụng nguyên lý Hardware-in-the-loop trong mô phỏng điềukhiển robot, cuối cùng đưa ra lựa chọn thiết bị và thuật toán điềukhiểnrobotcơcấusongsong mà phòng Cơ điện tử - Viện Cơ học đang phát triển. 1. Đặt vấn đề Robotcơcấu chuỗi đã được ứng dụng trên thế giới từ rất sớm và ngày càng được phát triển. Tuy nhiên, do tính chất kết cấu nên nó vẫn bộc lộ một số nhược điểm vì vậy khả năng ứng dụng còn hạn chế. Ra đời và phát triển sau nhưng với nhiều lợi thế hơn so với robotcơcấu chuỗi, robot cơcấusongsong bắt đầu được ứng dụng trong rất nhiều lĩnh vực như: cơ khí, y tế, quân sự, vật lý, hàng không… Nhận thấy khả năng ứng dụng rất lớn cùng những thế mạnh của robotcơcấusong song, phòng Cơ điện tử - Viện Cơ học đã triển khai nghiên cứu nhằm mục đích chế tạo robot cơcấusongsong mẫu ứng dụng trong lĩnh vực gia công cơ khí chính xác. Sau khi nghiên cứu khả năng ứng dụng và khả năng phát triển của các loại robot cơcấusong song, robot cơcấusongsong 6 bậc tự do (Hexapod) đã được chọn, đóng vai trò là bàn gá phôi cho máy phay thông thường để gia công khuôn mẫu (hình 1). Hình 1: Hexapod làm bàn gá phôi trong gia công cơ khí 2. Lựa chọn hệ thống điềukhiển Yêu cầu đối với hệ thống điềukhiển Mỗi hệ thống tự động bất kỳ đều gồm ba phần cơ bản: bộ điềukhiển (Controller), đối tượng điềukhiển (Object) và thiết bị đo (Measure) (hình 2). Hình 2: Sơ đồ khối hệ thống tự động Robot cũng là một hệ thống tự động với các nhiệm vụ khác nhau tuỳ theo yêu cầu đặt ra. Để thiết kế robot với các nhiệm vụ phức tạp người ta thường phân chia nhiệm vụ phức tạp thành các nhiệm vụ đơn giản hơn và thiết kế nhiều bộ phận (là các hệ tự động đơn giản với các thành phần cơ bản nêu trên) để mỗi bộ phận chịu trách nhiệm xử lý một nhiệm vụ đơn giản và các bộ phận sẽ được phối hợp quản lý để đạt được mục tiêu chung của toàn hệ thống. Cách phân chia như vậy được gọi là “xử lý phân tán theo chức năng”. Theo cách này, mỗi bộ phận sẽ chỉ phải xử lý một nhiệm vụ đơn giản do đó sẽ thuận lợi hơn cho việc phân tích, thiết kế và xử lý lỗi; mặt khác, các công việc được xử lý đồng thời sẽ tăng được tốc độ của toàn hệ thống. Với robot Hexapod mà đặc trưng là một chuỗi nhiều khâu khép kín, để thực hiện một di chuyển của tấm trên robot theo một quỹ đạo yêu cầu, cần đồng thời có các tác động điềukhiển tới sáu chân của robot và chuyển động của các chân này phải có sự liên hệ chặt chẽ. Không như robot chuỗi, nếu không có được sự liên hệ chặt chẽ này sẽ gây ra hiện tượng “giằng”, “xé” nhau giữa các chân. Chính vì vậy, yêu cầu về độ chính xác của điềukhiểnrobot Hexapod đòi hỏi cao hơn, quá độ của mỗi khâu cũng phải được kiểm soát chặt chẽ. Và cuối cùng là việc phối hợp giữa các khâu đóng vai trò đặc biệt quan trọng quyết định tới độ chính xác của quỹ đạo robot. Hệ thống điềukhiển Để đạt được các yêu cầu trên, phương án thiết kế hệ điềukhiển cho robot Hexapod được chọn như trên hình 3, trong đó: − ĐKPH: bộ điềukhiển phối hợp, − ĐKTP: các bộ điềukhiển thành phần. y u Set point C O M Hình 3: Sơ đồ cấu trúc hệ điềukhiển cho Hexapod Các bộ ĐKTP chịu trách nhiệm điềukhiển bộ phận mình phụ trách, để đạt được những yêu cầu cục bộ. Thực chất chúng là các bộ điềukhiển vị trí, có nhiệm vụ đưa các chân tương ứng của robot tới độ dài mong muốn theo một vận tốc nào đó. Ở đây, mỗi chân robot được chọn sử dụng một hệ truyền động động cơ, do đó bộ điềukhiển sẽ là bộ điềukhiển vị trí động cơ. Bộ ĐKPH sẽ chịu trách nhiệm phối hợp các bộ ĐKTP để đạt được yêu cầu tổng thể. Bộ ĐKPH ở đây sẽ lấy thông tin của toàn hệ là độ dài thực của các chân robot so với độ dài yêu cầu được tính bằng phần mềm tính toán động lực học hệ nhiều vật alaska để đưa ra các quyết định điềukhiển cho từng bộ ĐKTP, [1]. Các thuật toán điềukhiển được thực hiện ở từng bộ ĐKTP cũng như bộ ĐKPH. Để đảm bảo được độ chính xác của robot trong quá trình hoạt động, các thuật toán điềukhiển đóng vai trò rất quan trọng. Mô phỏng Hardware-in-the-loop Mô phỏng thời gian thực các hệ tự động theo nguyên lý Hardware-in-the-loop nhằm: − Kiểm tra hiệu lực của thuật toán điều khiển. − Giảm chi phí trong quá trình thiết kế. − Tránh được những sai sót không đáng có khi ứng dụng thực tế. Mô phỏng thời gian thực (real time simulation) theo nguyên lý Hardware-in-the-loop nghĩa là có sử dụng phần cứng (hardware) để mô phỏng vòng điều khiển. Mô phỏng thời gian thực không chỉ cho phép ta đánh giá khả năng phần cứng mà còn giúp ta đánh giá khả năng của phần mềm điềukhiển dưới điều kiện diễn biến thời gian sát với thực tế. Điều này có ý nghĩa quan trọng khi ta phải kiểm tra các thiết bị hỗn hợp nhiều phần tử. Để tìm được thuật toán điềukhiển tốt nhất, động cơ được chọn đã được mô phỏng theo nguyên lý trên, bằng cách sử dụng một số công cụ sau: − Phần mềm: Matlab, RTS. − Phần cứng: PLC, PC, Card AD/DA. Matlab/Simulink được sử dụng như là công cụ hỗ trợ cho việc xây dựng và tối giản mô hình toán của đối tượng điềukhiển trong trường hợp này là động cơ servo, xác định tham số cho mô hình để từ đó chọn tham số của các thuật toán điều khiển. RTS (Run Time Simulation) là phần mềm được phát triển bởi phòng Cơ điện tử - Viện Cơ học, với mục đích tạo ra một công cụ hỗ trợ cho việc mô phỏng thời gian thực. Giao diện chính của RTS được đưa ra trên hình 4. Phần mềm RTS được phát triển theo cấu trúc module, gồm 3 module sau: + Module giao tiếp: module này có nhiệm vụ tạo mối liên hệ giữa mô hình của đối tượng và bộ điều khiển. Hiện tại, có hai phương thức giao tiếp được hỗ trợ là giao tiếp qua cổng nối tiếp và qua card AD/DA. + Module tính toán: module này thực hiện tất cả các công việc tính toán, ví dụ như giải phương trình vi phân để tính đáp ứng đầu ra của đối tượng khi có kích thích đầu vào vv . + Module đồ họa: module này có nhiệm vụ thể hiện đáp ứng đầu ra của đối tượng dưới dạng mô hình và đồ thị, biểu diễn sự thay đổi trạng thái của đối tượng trong quá trình mô phỏng (ví dụ trong trường hợp này là vị trí và tốc độ của động cơ). Phần mềm RTS cho phép thể hiện mô hình thời gian thực của một số đối tượng điềukhiển trên máy tính. Khi có tín hiệu điều khiển, mô hình thời gian thực của đối tượng sẽ cung cấp đáp ứng đầu ra cho hệ thống giống như đối tượng thật phản ứng khi có tín hiệu điều khiển. Bằng cách ghép nối bộ điềukhiển với mô hình thời gian thực của đối tượng ta có thể kiểm tra hiệu lực của thuật toán điềukhiển trong quá trình thiết kế. Hình 4. Giao diện phần mềm RTS Việc mô phỏng Hexapod đã được tiến hành theo các bước sau: − Mô hình hóa động cơ servo. − Tìm khâu điềukhiển bằng mô phỏng offline. − Mô phỏng thời gian thực theo nguyên lý Hardware-in-the-loop. ĐKPH ĐKTP ĐKTP ĐKTP Bước 1: Mô hình hoá động cơ servo Tuy có sự khác nhau về kết cấu và nguyên lý làm việc nhưng động cơ servo có thể được mô hình hóa giống như động cơ điện một chiều. Thông qua biến phức s, sự cân bằng điện của phần ứng được mô tả bởi phương trình, [2]: gaaaa VIsLRV ++= )( Trong đó: − a V , a R , a L , a I lần lượt là điện áp, điện trở, điện kháng, dòng điện phần ứng. − g V là sức điện động của phần ứng, tỷ lệ với vận tốc góc ω của rotor, ω vg kV = Hệ số v k thể hiện quan hệ giữa vận tốc góc của rotor và sức điện động. Nó phụ thuộc kết cấu của động cơ và tính chất điện từ của phần cảm. Tương tự, phương trình cân bằng cơ học của động cơ có dạng: rmmm CsIFC ++= ω )( atm IkC = với: − m C và r C là mô men chủ động và momen phản lực, − m I và m F là mô men quán tính và hệ số cản nhớt trên trục động cơ. − t k Hệ số tỷ lệ biểu diễn quan hệ giữa mô men của động cơ và dòng điện phần ứng. Nếu hệ số cản nhớt rất nhỏ so với hệ số hãm điện năng, nghĩa là ( atvm RkkF / << ), đồng thời giả thiết 0= r C thì có mối quan hệ giữa đại lượng vào (điện áp điều khiển c V ) với đại lượng ra (vận tốc góc ω ) như sau, [1]: c tv ma tv ma v V s kk IR s kk IL k 1 1 2 ++ = ω Đặt tv ma kk IL T = 2 , tv ma kk IR T = ξ 2 , v k k 1 = , ta sẽ có: c V TssT k 12 22 ++ = ξ ω (1) (1) mô hình gần đúng của động cơ servo. Bước 2: Tìm khâu điềukhiển bằng mô phỏng offline Matlab/ Simulink đã được sử dụng để tiến hành mô phỏng offline với mục đích lựa chọn thuật toán điều khiển và tham số của bộ điều khiển. Trên nền Simulink có thể xây dựng hệ thống điều chỉnh bao gồm đối tượng điều khiển, khâu điều khiển, phản hồi tín hiệu đầu ra với hệ số là 1. Bằng cách dùng tín hiệu đầu vào có dạng bước nhảy đơn vị, thay đổi thực nghiệm tham số của bộ điềukhiển (phương pháp dò tìm) và quan sát đáp ứng để lựa chọn bộ tham số tốt nhất. Bước 3: Mô phỏng thời gian thực theo nguyên lý Hardware-in-the-loop Bước cuối cùng này nhằm thử nghiệm thiết bị điều khiển, với thuật toán điều khiển chạy trên phần cứng thực, ở đây là PLC S7-300 với các module cần thiết. Đối tượng điềukhiển được thực hiện dưới dạng mô hình thời gian thực, tức là mô hình chạy trực tiếp trên phần cứng tốc độ cao. Trong trường hợp này, mô hình của đối tượng được thực hiện với sự trợ giúp của máy tính. Tín hiệu đầu ra dưới dạng tương tự của thiết bị điều chỉnh sẽ được biến đổi thành dạng tín hiệu số nhờ bộ biến đổi A/D để điều khiển mô hình của đối tượng, được thực hiện trên máy tính. Ngược lại, đáp ứng đầu ra của mô hình lại được biến đổi thành tín hiệu tương tự nhờ bộ biến đổi D/A. Hình 5: Sơ đồ ghép nối bộ điềukhiển và mô hình đối tượng qua card AD/DA Đối tượng điều khiển được thực hiện dưới dạng mô hình thời gian thực chạy trực tiếp trên phần cứng do đó phần cứng này cần đảm bảo một số yêu cầu: − Tốc độ xử lý nhanh: đảm bảo tính năng thời gian thực của quá trình mô phỏng đối tượng. − Có khả năng truyền thông, truy cập online để thay đổi các tham số khi đang thực hiện mô phỏng tạo điều kiện thuận lợi cho việc quan A/D D/A D/A A/D Controller sát các trạng thái đang diễn biến trong quá trình mô phỏng. Bộ điều khiển và mô hình của đối tượng được ghép nối qua card AD/DA. Card AD/DA phải có tốc độ biến đổi và bộ nhớ đủ lớn để không ảnh hưởng tới việc giao tiếp giữa bộ điều khiển và đối tượng điều khiển. Hình 5 giới thiệu sơ đồ ghép nối giữa bộ điều khiển và mô hình của đối tượng qua card AD/DA. Kết quả cho thấy, với thuật toán điềukhiển động cơ tìm được, các động cơ khi hoạt động đã thỏa mãn những yêu cầu đặt ra như: độ chính xác, độ quá điều chỉnh, tốc độ đáp ứng . Lựa chọn thiết bị cho điềukhiểnrobot Hexapod Để đạt được tính đồng thời, phương án thiết bị phải đảm bảo một số yêu cầucơ bản: khả năng nhớ và quản lý từng khâu động học độc lập. Bộ điềukhiển theo kiểu này là một tập hợp các phần tử xử lý độc lập liên lạc với nhau qua trao đổi thông tin. - Phương án tự thiết kế mạch dùng bộ vi xử lý Mỗi bộ xử lý độc lập đóng vai trò là bộ ĐKTP sẽ thực hiện các chỉ thị của chính nó và làm việc trên một tập các dữ liệu riêng biệt. Các bộ ĐKTP này sẽ được ghép nối và giao tiếp với bộ ĐKPH (có thể là một máy tính) thông qua các cổng vào ra. Phương án này có ưu điểm là gọn nhẹ nhưng khả năng linh hoạt kém, tính phức tạp của hệ thống cao, độ ổn định và độ chính xác khó đảm bảo bởi hoạt động của robot cơcấusongsong rất phức tạp. - Phương án sử dụng PLC PLC (Programable Logic Control) là thiết bị điềukhiển logic khả trình cho phép thực hiện các thuật toán điềukhiển thông qua một ngôn ngữ lập trình, thay cho việc phải thể hiện thuật toán đó bằng mạch điện tử. PLC là một thiết bị điềukhiển nhỏ gọn, có thể thay đổi thuật toán một cách linh hoạt và đặc biệt thuận lợi cho việc trao đổi thông tin do đây là một hệ đã được chuẩn hóa. Toàn bộ chương trình điềukhiển được lưu trữ trong bộ nhớ của PLC dưới dạng các khối chương trình và được thực hiện lặp theo chu kỳ vòng quét. Cấu trúc module được sử dụng để tăng tính mềm dẻo trong các ứng dụng thực tế [3]. Với những ưu điểm của mình, phương án sử dụng PLC được chọn dùng để xây dựng hệ điềukhiển cho robot Hexapod. Độ dài của 6 chân quyết định vị trí của tấm trên robot, và được điềukhiển bởi 6 động cơ. Động cơ được chọn phải có khả năng hoạt động ở một dải tốc độ rộng, có thể duy trì mô men xoắn thích hợp để giữ tảitạimột vị trí nhất định. Với những tiêu chí trên thì động cơ servo là một lựa chọn phù hợp cho bài toán. Hệ thống thiết bị điềukhiển logic khả trình PLC S7- 300 của Siemens cùng với module chức năng điềukhiển động cơ FM357-2 và bộ khuếch đại công suất SIMODRIVE 611 được chọn cho hệ điềukhiểnrobot Hexapod. Sơ đồ hệ điềukhiển này được đưa ra trên hình 6, [3]. Hình 6: Sơ đồ khối hệ điềukhiểnrobot Hexapod dùng PLC FM357-2 kết hợp với SIMODRIVE 611 tạo thành các bộ ĐKTP điềukhiển tốc độ và vị trí của động cơ theo như sơ đồ trên hình 6. Trong đó: − Vòng điềukhiển vị trí chân robot (hình 7) do module FM357-2 chịu trách nhiệm. Tín hiệu phản hồi vị trí động cơ từ encoder được đưa về FM357-2, kết hợp với vị trí yêu cầu để đưa ra tốc độ yêu cầu (set point) cho bộ khuếch đại công suất. Mỗi module FM357-2 chỉ điềukhiển được tối đa 4 trục, do đó để điềukhiển 6 chân robot, ta cần dùng 2 module này. − Bộ khuếch đại công suất SIMODRIVE 611 (KĐCS) đảm nhiệm việc điềukhiển tốc độ. Bộ KĐCS sẽ lấy tín hiệu phản hồi tốc độ từ encoder so sánh với tốc độ yêu cầu nhận được từ FM357-2 và đưa ra tín hiệu điềukhiển động cơ. Hình 7: Sơ đồ điềukhiển vị trí. Vòng điềukhiển ngoài cùng là vòng điềukhiển thực hiện nhiệm vụ phối hợp hoạt động của các chân robot, quản lý toàn bộ 6 chân để đạt được yêu cầu chung của hệ thống do CPU S7-300 thực hiện. Như Thiết bị lập trình (PC) Bộ điềukhiển trung tâm (PLC S7 - 300) Bộ khuếch đại công suất (SIMODRIVE 611) Động cơ Module chức năng (FM 357 – 2) Đặt tốc độ ĐK vị trí M KĐCS ĐC Servo Encoder Tốc độ thực Vòng ĐK tốc độ Vị trí thực DAC FM357-2 vậy CPU S7-300 sẽ đóng vai trò là bộ ĐKPH. Và như trên đã nói, thuật toán điềukhiển ở phần này là đặc biệt quan trọng, quyết định tới quỹ đạo chuyển động của robot. 3. Tính toán thông số điềukhiểnrobot Từ hình dạng của mỗi khuôn mẫu cần gia công, lập quỹ đạo chuyển động của bàn gá phôi (tấm trên của robot) trong không gian và rời rạc hóa quỹ đạo chuyển động này. Tại mỗi điểm, tiến hành giải bài toán động học ngược để xác định tọa độ và hướng của tấm trên. Tiếp theo là tính độ dài của các chân robot sao cho tấm trên của robot chuyển động theo một quỹ đạo và hướng cho trước với vận tốc yêu cầu (hình 8). Tất cả những công việc này được phần mềm alaska đảm nhiệm, [5]. Hình 8: Sơ đồ thuật toán tính các thông số điềukhiểnrobot Việc rời rạc hóa quỹ đạo chuyển động của robot phải dựa trên yêu cầu về chất lượng của khuôn mẫu cần gia công, khả năng đáp ứng của hệ điềukhiển . 4. Thuật toán điềukhiển Độ dài tính được ứng với các điểm trên quỹ đạo làm việc chính là dữ liệu đầu vào của bộ ĐKPH (PLC S7-300). Trên cơ sở những dự liệu này Bộ ĐKPH sẽ điềukhiển lần lượt các bộ ĐKTP (FM 357-2) theo thuật toán điềukhiển được trình bày trong hình 9, trong đó: − n là số điểm rời rạc trên quỹ đạo làm việc − k = 0 ÷ 5 là chỉ số của bộ ĐKTP Hình 9: Thuật toán điềukhiển cho bộ ĐKPH Hình 10: Thuật toán điềukhiển cho các bộ ĐKTP Bắt đầu Nhận giá trị vị trí yêu cầu từ ĐKPH So sánh và đưa ra tốc độ yêu cầu cho động cơ Nhận giá trị vị trí thực của động cơ Kết thúc Bắt đầu i = 0 Xuất tham số điềukhiển thứ i cho bộ ĐKTP thứ k S Kết thúc i = i + 1 k = 0 i = n -1 Đ k = 5 k = k + 1 S Đ Đưa robot về vị trí 0 Nhận dữ liệu về độ dài chân robot Nhập dữ liệu về khuôn mẫu cần gia công Đưa ra quỹ đạo chuyển động Tính tọa độ và hướng của tấm trên robot Tính độ dài của các chân Bắt đầu Kết thúc Đưa ra dữ liệu về độ dài chân và vận tốc dịch chuyển Mỗi bộ ĐKTP sẽ nhận từ bộ ĐKPH tham số điềukhiển là vị trí của động cơ tương ứng rồi so sánh với vị trí thực tế để đưa ra tín hiệu điềukhiển vị trí và tốc độ quay cho động cơ đó theo thuật toán được đưa ra trên hình 10. 5. Kết luận Bài báo đã đưa ra mộtgiảiphápđiềukhiểnrobot Hexapod, từ lựa chọn phương án điều khiển, mô phỏng để tìm ra tham số cho bộ điềukhiển đến lựa chọn thiết bị điều khiển. Trong thời gian tới robot Hexapod này sẽ được chế tạo và đưa vào ứng dụng cụ thể. Bài báo này được hoàn thành với sự trợ giúp của Chương trình Quốc gia về Nghiên cứu Khoa học Tự nhiên. 6. Tàiliệu tham khảo [1] Institute of Mechatronics, Inc., Chemnitz: alaska, version 3.0, User Manual, Simulation Tool in Multibody System Dynamics. 1998 [2] Đào Văn Hiệp: Kỹ thuật robot; NXB KH&KT, 2003. [3] Phan Xuân Minh, Nguyễn Doãn Phước: Tự động hóa với SIMATIC S7-300; NXB KH&KT, 2000. [4] Siemens: FM357-2 manual, SIMODRIVE manual, Sinumerik & Simodrive. [5] Phạm Văn Bạch Ngọc, Vũ Thanh Quang, Đỗ Trần Thắng, Phạm Anh Tuấn: Mô phỏng và thiết kế Hexapod cho gia công cơ khí chính xác; Báo cáo Hội nghị Cơ điện tử toàn quốc lần thứ 2, 5/2004, tp. Hồ Chí Minh. . lắp đặt… robot cơ cấu song song ngày càng được quan tâm và ứng dụng rộng rãi. Bài báo đưa ra một giải pháp hoàn chỉnh điều khiển robot cơ cấu song song. Đầu. trong mô phỏng điều khiển robot, cuối cùng đưa ra lựa chọn thiết bị và thuật toán điều khiển robot cơ cấu song song mà phòng Cơ điện tử - Viện Cơ học đang