MỘT GIẢI PHÁP ĐIỀU KHIỂN ROBOT CƠ CẤU SONG SONG Đ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 Đì
Trang 1MỘT GIẢI PHÁP ĐIỀU KHIỂN ROBOT CƠ CẤU SONG SONG
Đ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à robot cơ cấu song song đ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…
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
tiên là một số phân tích về xử lý song song, xử lý
phân tán trong điều khiển robot tiếp theo sẽ trình
bày về ứng dụng nguyên lý Hardware-in-the-loop
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 phát triển
1 Đặt vấn đề
Robot cơ 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 robot cơ cấu chuỗi, robot cơ cấu song song
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 robot cơ cấu song 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ấu song song 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ấu song song, robot
cơ cấu song song 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ều khiển
Yêu cầu đối với hệ thống điều khiển
Mỗi hệ thống tự động bất kỳ đều gồm ba phần cơ
bản: bộ điều khiển (Controller), đối tượng điều khiể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ều khiể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ều khiển robot 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ều khiển
Để đạt được các yêu cầu trên, phương án thiết kế hệ điều khiển cho robot Hexapod được chọn như trên hình 3, trong đó:
− ĐKPH: bộ điều khiển phối hợp,
− ĐKTP: các bộ điều khiển thành phần
y
u Set point
M
Trang 2Hình 3: Sơ đồ cấu trúc hệ điều khiển cho Hexapod
Các bộ ĐKTP chịu trách nhiệm điều khiể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ều khiể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ều khiển sẽ là bộ điều khiể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ều khiển cho từng
bộ ĐKTP, [1]
Các thuật toán điều khiể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ều khiể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ều khiể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ều khiể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ều khiể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ều khiể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ều khiể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ều khiể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ều khiển bằng mô phỏng offline
− Mô phỏng thời gian thực theo nguyên lý Hardware-in-the-loop
ĐKPH
Trang 3Bướ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]:
g a a a
Trong đó:
− Va, Ra, La, Ia lần lượt là điện áp, điện
trở, điện kháng, dòng điện phần ứng
− Vg 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ố kv 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:
r m
m
Cm = ktIa
với:
− Cm và Cr là mô men chủ động và momen
phản lực,
− Im và Fm là mô men quán tính và hệ số cản
nhớt trên trục động cơ
− kt 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à (Fm << kvkt / Ra), đồng thời giả
thiết Cr = 0 thì có mối quan hệ giữa đại lượng vào
(điện áp điều khiển Vc) với đại lượng ra (vận tốc
góc ω) như sau, [1]:
c t v
m a t
v
m a
s k k
I R s k k
I L
k
1
1
2+ +
=
ω
Đặt
t
v
m
a
k
k
I
L
t v
m a k k
I R
ξ
v k
k = 1 , ta sẽ có:
c V Ts s
T
k
1 2 2
=
ξ
ω (1)
(1) mô hình gần đúng của động cơ servo
Bước 2: Tìm khâu điều khiể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ều khiể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ều khiể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ều khiể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
Trang 4sá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ều khiể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ều khiển robot 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ầu cơ bản: khả năng nhớ và
quản lý từng khâu động học độc lập Bộ điều khiể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ấu song song rất phức tạp
- Phương án sử dụng PLC
PLC (Programable Logic Control) là thiết bị điều
khiển logic khả trình cho phép thực hiện các thuật
toán điều khiể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ều khiể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ều khiể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ều khiể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ều khiể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ải tại mộ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ều khiển logic khả trình PLC
S7-300 của Siemens cùng với module chức năng điều
khiển động cơ FM357-2 và bộ khuếch đại công suất
SIMODRIVE 611 được chọn cho hệ điều khiển
robot Hexapod Sơ đồ hệ điều khiển này được đưa ra trên hình 6, [3]
Hình 6: Sơ đồ khối hệ điều khiển robot Hexapod
dùng PLC FM357-2 kết hợp với SIMODRIVE 611 tạo thành các bộ ĐKTP điều khiển tốc độ và vị trí của động cơ theo như sơ đồ trên hình 6 Trong đó:
− Vòng điều khiể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ều khiển được tối đa 4 trục, do đó để điều khiể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ều khiể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ều khiển động
cơ
Hình 7: Sơ đồ điều khiển vị trí.
Vòng điều khiển ngoài cùng là vòng điều khiể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ều khiể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 độ
ĐC Servo Encoder
Tốc độ thực Vòng ĐK tốc độ
Vị trí thực DAC
FM357-2
Trang 5vậy CPU S7-300 sẽ đóng vai trò là bộ ĐKPH Và
như trên đã nói, thuật toán điều khiể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ều khiển robot
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ều
khiển robot 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ều khiển
4 Thuật toán điều khiể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ều khiển lần lượt các bộ ĐKTP (FM 357-2) theo
thuật toán điều khiể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ều khiển cho bộ ĐKPH
Hình 10: Thuật toán điều khiể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ều khiể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
Trang 6Mỗi bộ ĐKTP sẽ nhận từ bộ ĐKPH tham số điều khiể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ều khiể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ột giải pháp điều khiển robot Hexapod, từ lựa chọn phương án điều khiển, mô phỏng để tìm ra tham số cho bộ điều khiể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ài liệ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