Tải bản đầy đủ (.pdf) (6 trang)

Tài liệu MỘT GIẢI PHÁP ĐIỀU KHIỂN ROBOT CƠ CẤU SONG SONG pdf

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (350.76 KB, 6 trang )



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 Đình, Hà Nội
E-mail:



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
C O
M


Hì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
Đ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ề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


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ề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 độ
Đ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ề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

×