
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: 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 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ư dung như la công cu hô
trơ cho việc xây dưng va tôi gian mô hình toan cua
đôi tương điều khiển trong trương hợp này la đông
cơ servo, xác đinh tham sô cho mô hình đê tư đo
chon tham sô cua các thuật toan điêu khiên.
RTS (Run Time Simulation) la phân mềm đươc phát
triển bơi phong Cơ điên tư - Viện Cơ học, vơi muc
đich tao ra môt công cu hô trơ cho viêc mô phong
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 nay co nhiệm vu tao
môi liên hê giưa mô hình cua đôi tương va bô
điêu khiên. Hiên tai, co hai phương thưc giao
tiếp đươc hô trơ la giao tiếp qua công nôi tiếp va
qua card AD/DA.
+ Module tinh toan: module nay thưc hiên tất ca
các công viêc tinh toan, vi du như giai phương
trinh vi phân đê tinh đáp ưng đâu ra cua đôi
tương khi co kích thích đâu vào vv...
+ Module đô hoa: module nay co nhiệm vu thê
hiên đáp ưng đâu ra cua đôi tương dươi dang mô
hình và đô thi, biêu diên sư thay đôi trang thai
cua đôi tương trong qua trinh mô phong (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ô hinh hoá đông cơ servo
Tuy co sư khac nhau vê kêt câu va nguyên ly lam
viêc nhưng đông cơ servo co thê đươc mô hinh hoa
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 cua phân ưng đươc mô ta
bơi phương trinh, [2]:
gaaaa VIsLRV ++= )(
Trong đo:
− a
V, a
R, a
L, a
I lân lươt la điên ap, điên
trơ, điên khang, dong điên phân ưng.
− g
V la sưc điên đông cua phân ưng, ty lê vơi
vân tôc goc
ω
cua rotor,
ω
vg kV
=
Hê sô v
k thê hiên quan hê giưa vân tôc goc cua
rotor va sưc điên đông. No phu thuôc kêt câu cua
đông cơ va tinh chât điên tư cua phân cam.
Tương tư, phương trinh cân băng cơ hoc cua đông
cơ co dang:
rmmm CsIFC ++=
ω
)(
atm IkC =
với:
− m
C va r
C la mô men chu đông va momen
phan lưc,
− m
I va m
F la mô men quan tinh va hê sô can
nhơt trên truc đông cơ.
− t
k Hê sô ty lê biêu diên quan hê giưa mô
men cua đông cơ va dong điên phân ưng.
Nêu hê sô can nhơt rât nho so vơi hê sô ham điên
năng, nghia la ( atvm RkkF /<< ), đông thơi gia
thiêt 0=
r
C thi co môi quan hê giưa đai lương vao
(điên ap điêu khiên c
V) vơi đai lương ra (vân tôc
goc
ω
) như sau, [1]:
c
tv
ma
tv
ma
vV
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
k1
=, ta se co:
c
V
TssT
k
12
22 ++
=
ξ
ω
(1)
(1) mô hinh gân đung cua đông cơ servo.
Bươc 2: Tìm khâu điều khiển bằng mô phỏng
offline
Matlab/ Simulink đã được sư dung đê tiên hanh mô
phong offline vơi muc đich lưa chon thuât toan điêu
khiên va tham sô cua bô điêu khiên.
Trên nên Simulink co thê xây dưng hê thông điêu
chinh bao gôm đôi tương điêu khiên, khâu điêu
khiên, phan hôi tin hiêu đâu ra vơi hê sô la 1. Băng
cach dung tin hiêu đâu vao co dang bươc nhay đơn
vi, thay đôi thưc nghiêm tham sô của bô điều khiển
(phương phap do tim) va quan sat đap ưng đê lưa
chon 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 cung này nhăm thư nghiêm thiêt bi điêu
khiển, vơi thuât toan điêu khiển chay 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 dang mô
hinh thơi gian thưc, tưc la mô hinh chay 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ơ giup cua may tinh. Tin hiêu đâu
ra dươi dang tương tư cua thiêt bi điêu chinh se đươc
biên đôi thanh dang tin hiêu sô nhơ bô biến đổi A/D
đê điêu khiên mô hinh cua đôi tương, đươc thưc hiên
trên may tinh. Ngươc lai, đap ưng đâu ra cua mô
hinh lai đươc biên đôi thanh tin 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 dang mô
hinh thơi gian thưc chay trưc tiêp trên phân cưng do
đo phần cứng này cân đam bao môt sô yêu câu:
− Tôc đô xư ly nhanh: đam bao tinh năng thơi
gian thưc cua qua trinh mô phong đôi tương.
− Có kha năng truyên thông, truy câp online đê
thay đôi cac tham sô khi đang thưc hiên mô
phong tao điêu kiên thuân lơi cho viêc quan
A/D D/A
D/A
A/D
Controller

sat cac trang thai đang diên biên trong qua
trinh mô phong.
Bô điêu khiên va mô hinh cua đôi tương đươc ghep
nôi qua card AD/DA. Card AD/DA phải co tôc đô
biên đôi va bô nhơ đu lơn đê không anh hương tơi
viêc giao tiêp giưa bô điêu khiên va đôi tương điêu
khiên. Hinh 5 giơi thiêu sơ đô ghep nôi giưa bô điêu
khiên va mô hinh cua đô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