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

Thiết kế quỹ đạo mẫu cho hệ cánh tay máy xúc tự động

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 (1.63 MB, 80 trang )

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
--------------------------------------Nguyễn Tự Nam

THIẾT KẾ QUỸ ĐẠO MẪU CHO HỆ CÁNH TAY
MÁY XÚC TỰ ĐỘNG

Chuyên ngành : Kỹ thuật Điều khiển và Tự động hóa

LUẬN VĂN THẠC SĨ KỸ THUẬT

NGƯỜI HƯỚNG DẪN KHOA HỌC :
TS. VŨ THỊ THÚY NGA

Hà Nội – Năm 2019


MỤC LỤC
LỜI MỞ ĐẦU ................................................................................... 1
DANH MỤC CÁC KÍ HIỆU, CHỮ VIẾT TẮT .............................. 3
DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ, BẢNG BIỂU .................. 5
1.1. Tầm quan trọng của bài toán thiết kế quỹ đạo mẫu ......................................6
1.2. Một số phƣơng pháp thiết kế quỹ đạo cho cánh tay máy...............................7
1.2.1. Phƣơng pháp nội suy ................................................................................7
1.2.2. Ứng dụng các phƣơng pháp điều khiển thơng minh.............................10
1.2.3. Ứng dụng các thuật tốn tối ƣu ..............................................................11

CHƢƠNG 2: KỸ THUẬT B-SPLINE .......................................... 14
2.1. Đƣờng cong B-splines ...................................................................................14
2.2. Các tính chất quan trọng của B-Spline ........................................................15


CHƢƠNG 3: SỬ DỤNG THUẬT TOÁN B-SPLINE ĐỂ............ 24
THIẾT KẾ QUỸ ĐẠO TỐI ƢU CHO ROBOT .......................... 24
3.1. Giới thiệu chung và đƣa ra bài toán tối ƣu ..................................................24
3.1.1. Giới thiệu chung .....................................................................................24
3.1.2. Tạo quỹ đạo tối ƣu về thời gian ..............................................................25
3.1.3. Tạo quỹ đạo tối ƣu về năng lƣợng ..........................................................27
3.1.4. Việc tạo quỹ đạo tối ƣu về độ giật ...........................................................28
3.1.5. Đƣa ra bài toán tối ƣu .............................................................................29
3.2. Xác định quỹ đạo mẫu từ việc giải bài toán tối ƣu ......................................32
3.2.1. Sử dụng điều kiện nội suy và các điều kiện ràng buộc .........................32
3.2.2. Biểu diễn sự ràng buộc động học ...........................................................36


3.3. Các bƣớc thiết kế thuật toán để xây dựng quỹ đạo mẫu ..............................38
3.4. Kết quả mơ phỏng thuật tốn ........................................................................39

KẾT LUẬN VÀ KIẾN NGHỊ ......................................................... 46
PHỤ LỤC ........................................................................................ 52


LỜI MỞ ĐẦU
Hiện nay cuộc cách mạng công nghiệp 4.0 đang diễn ra ở nhiều nước phát triển.
Nó mang lại nhiều cơ hội và thách thức cho con người. Cách mạng cơng nghiệp 4.0
cịn có tên gọi là Industry 4.0
Industry 4.0 mơ tả về một mơi trường mà máy tính, tự động hóa và con
người nói chung sẽ cùng nhau làm việc theo một cách hoàn toàn mới. Những con
robot, hay máy móc nói chung, sẽ được kết nối vào những hệ thống máy tính. Các
chuyên gia dự báo rằng trong tương lai không xa, robot sẽ thay thế hầu hết các cơng
việc của con người. Điều này nói lên rằng tỷ lệ lao động bậc thấp sẽ có nguy cơ thất
nghiệp cao, và địi hỏi các lao động trình độ kĩ thuật cao. Một trong những cơng

việc có nhu cầu lớn về kĩ sư chuyên ngành o là thiết kế điều khiển cho hệ thống
robot vận hành theo mong muốn.
Để thiết kế được bộ điều khiển cho robot, một trong những nhiệm vụ quan
trọng đầu tiên không thể thiếu đấy là việc thiết kế quỹ đạo mẫu cho robot. Chất
lượng của quỹ đạo mẫu của robot sẽ ảnh hưởng lớn tới bộ điều khiển cũng như đầu
ra của hệ thống. Qũy đạo mẫu tốt cùng với bộ điều khiển tốt sẽ tạo ra đầu ra của hệ
thống tốt, giảm thiểu sai sót khi đưa robot vào đời sống sản xuất. Một trong những
kĩ thuật để tạo ra quỹ đạo mẫu có chất lượng tốt là tạo ra các quỹ đạo tối ưu như tối
ưu về thời gian, tối ưu về độ giật… Và mục đích tạo ra được các quỹ đạo mẫu tối
ưu, có chất lượng tốt, đáp ứng được các yêu cầu về điều khiển robot đã tạo động lực
cho em thực hiện đề tài”
“Thiết kế quỹ đạo mẫu đảm bảo tối ƣu thời gian và độ giật cho cánh tay máy”
Việc phát triển robot là việc thiết yếu để phát triển công nghiệp, xã hội. Sau các
công cuộc cải tiến về mặt kích thước cũng như sức mạnh cho máy móc, giờ đây
việc tự động hóa đang là vấn đề được đặt ra dành cho những nhiệm vụ sau này.
Việc tự động hóa có thể tăng sự an toàn bằng cách loại bỏ người điều khiển khỏi
máy móc, thay vào đó bằng những cơng cụ như vi xử lý, các cảm biến để làm các

1|Page


nhiệm vụ của người điều khiển. Để robot có thể hoạt động một cách tự động, ta cần
phải điều khiển được vị trí và định hướng cho các khâu và khớp. Để làm được điều
này, ta cần có mơ hình tốn động học, động lực học và trajectory planning, vì chúng
chính là đầu vào của bộ điều khiển. Một bộ điều khiển tự động tốt chính là điều tối
quan trọng cho trajectory planning.
Ở luận văn này em sẽ tập trung vào trajectory planning, được định nghĩa là: tạo
ra những đầu vào mẫu cho hệ thống điều khiển robot sao cho chúng đảm bảo thực
hiện đúng những hoạt động mong muốn. Trong các thiết kế cơ bản, trajectory
planning được rút ra bởi path planning.

Trong quá trình nghiên cứu và tìm hiểu, Em nhận được sự giúp đỡ rất nhiệt tình
của TS. Vũ Thị Thúy Nga. Em xin chân thành cảm ơn. Ngồi ra, Em cũng xin cảm
ơn các thầy cơ trong bộ môn Điều khiển tự động đã giúp đỡ Em hồn thành đồ án
này. Vì thời gian có hạn, khơng thể tránh khỏi thiếu sót và hạn chế, vì vậy Em rất
mong nhận được sự góp ý của các thầy cô và các bạn cho bài nghiên cứu này. Em
xin chân thành cảm ơn.

2|Page


DANH MỤC CÁC KÍ HIỆU, CHỮ VIẾT TẮT
CÁC KÍ HIỆU
p

Bậc của B-spline

Bp (t )

B-spline với bậc p

Ni , p (t )

Hàm cơ sở bậc p

Qi

Các điểm điều khiển của B-spline

n 1


Số lượng các điểm điều khiển

ti

Các điểm nút

m 1

Số lượng các điểm nút

q (t )

Qũy đạo vị trí của các khớp

v(t )

Qũy đạo vận tốc của các khớp

a (t )

Qũy đạo gia tốc của các khớp

j (t )

Qũy đạo độ giật của các khớp

FOBJ

Hàm mục tiêu của thời gian và độ giật


CÁC CHỮ VIẾT TẮT
PSO

Particle Swarm Optimization

GA

Genetic Algorithm

ABC

Colony Artifical Bee

TLBO

Teaching Learning Based Optimization

CPV

Control Point Velocity

CPA

Control Point Acceleration

CPJ

Control Point Jerk

3|Page



CÁC THUẬT NGỮ TIẾNG ANH

Trajectory

Qũy đạo

Velocity

Vận tốc

Acceleration

Gia tốc

Jerk

Độ giật

Kinematic

Động học

Interpolation

Nội suy

4|Page



DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ, BẢNG BIỂU
Hình 1. 1: Đồ thị chuyển động nếu hàm vị trí là đa thức bậc ba ...............................8
Hình 1. 2: Thiết kế quỹ đạo với hàm vận tốc có dạng tam giác và bậc thang ...........8
Hình 1.3: Đồ thị chuyển động mơ tả cho chuyển động hình sin của vị trí và vận
tốc. ...............................................................................................................................9
Hình 1. 4: Sơ đồ khối của mạng nơ – ron động có phản hồi ...................................11
Hình 2. 1:Sơ đồ tam giác biểu diễn các hàm cơ sở theo De Boor…………………..14
Hình 2. 2:Qũy đạo của Bp (t ) trong trường hợp dãy nút bị kẹp…………………….17
Hình 2. 3: Đồ thi các hàm cơ sở N0,2 (t ) , N1,2 (t ) , N 2,2 (t ) ……………………………..23
Hình 3.1: Mơ hình tay máy xúc…………………………………………………………..41
Hình 3.2:Qũy đạo vị trí của 3 khớp trong trường hợp kT  1 , kJ  0 ……………….42
Hình 3.3:Qũy đạo độ giật của 3 khớp trong trường hợp kT  1 , kJ  0 …………....43
Hình 3.4: Qũy đạo vị trí của 3 khớp trường hợp kT  1 , kJ  10 …………………….44
Hình 3.5: Qũy đạo độ giật của 3 khớp trường hợp kT  1 , kJ  10 ………………….44
Bảng 2. 1: Các kí hiệu của đường cong B-spline trong (2.1) và (2.2)………………15
Bảng 3. 1: Ý nghĩa của các kí hiệu trong (3.1) .........................................................32
Bảng 3. 2: Các điểm đi qua cho trước......................................................................41
Bảng 3. 3: Các ràng buộc về động học cho các khớp ..............................................42
Bảng 3. 4: Nghiệm thời gian của bài toán tối ưu với kT  1 , kJ  0 ........................42
Bảng 3. 5: Nghiệm thời gian của bài toán tối ưu với kT  1 , kJ  0 ........................43
Bảng 3. 6: So sánh giá trị độ giật của trong 2 trường hợp kT  1 , kJ  0 và ...........45

5|Page


CHƢƠNG 1: TỔNG QUAN VỀ BÀI TOÁN THIẾT KẾ
QUỸ ĐẠO MẪU
1.1. Tầm quan trọng của bài toán thiết kế quỹ đạo mẫu
Trong các bài toán kĩ thuật hiện nay, bài toán thiết kế quỹ đạo mẫu vẫn là bài

toán đang cần sự đầu tư nghiên cứu chuyên sâu thêm bởi tính quan trọng của bài
tốn trong thực tiễn, đặc biệt là trong bài toán điều khiển tay máy robot. Trong việc
điều khiển cánh tay máy, giả sử đã giải quyết được bài toán điều khiển để các khớp
bám được theo giá trị đặt, tuy nhiên trên thực tế cho thấy việc đó là chưa đủ để cánh
tay máy có thể hoạt động được. Ngoài việc bám theo giá trị đã đặt thì quỹ đạo
chuyển động của các khớp cũng là vấn đề cần tính tốn, ví dụ như nếu cánh tay máy
gặp vật cản thì quỹ đạo của khớp cuối phải khơng phép đi qua vật cản này. Bài tốn
thiết kế quỹ đạo mẫu có thể được định nghĩa như sau: tìm ra luật chuyển động theo
thời gian dọc theo một đường đi đã cho trước và các yêu cầu nhất định về tính chất
quỹ đạo phải được đáp ứng. Kết quả của việc thiết kế quỹ đạo là sẽ tạo ra những tín
hiệu đặt cho hệ thống tay máy, để hệ thống đó thực thi theo quỹ đạo đã định. Hình
dáng quỹ đạo, các ràng buộc về động học, động lực học chính là những đầu vào của
thuật tốn thiết kế quỹ đạo mẫu. Quỹ đạo của các khớp, hay có thể nói là quy luật
thời gian của vị trí, vận tốc, gia tốc là các đầu ra của bài tốn.
Hình dáng quỹ đạo sẽ được xác định trong không gian hoạt động của hệ thống
tay máy, bởi công việc cần thực thi cũng như là vật cản cần tránh dễ dàng mô tả
thông qua không gian này.
Bên cạnh đó, việc thiết kế quỹ đạo sẽ được thiết kế trong không gian khớp. Quỹ
đạo của các khớp sẽ đạt được thông qua việc nội suy những hàm số mà đã đáp ứng
được các ràng buộc động học và động lực học.
Để hệ thống tay máy hoạt động ổn định, việc thiết kế quỹ đạo phải đảm bảo sao
cho quỹ đạo tạo ra phải trơn, đặc biệt gia tốc của các khớp phải liên tục để độ giật
(đạo hàm của gia tốc) là bị chặn. Việc giới hạn độ giật là rất quan trọng, bởi vì độ
giật lớn có thể làm mòn kết cấu hệ thống tay máy, và khả năng cao gây ra những
6|Page


dao động cộng hưởng không mong muốn. Những sự rung lắc tạo ra bởi quỹ đạo
khơng trơn có thể gây hại cho cơ cấu chấp hành, tạo ra sai số lớn khi robot đang
thực thi việc bám quỹ đạo. Thêm vào đó, những quỹ đạo có độ giật thấp có thể được

thực thi một cách nhanh chóng và chính xác hơn.

1.2. Một số phƣơng pháp thiết kế quỹ đạo cho cánh tay máy
1.2.1. Phƣơng pháp nội suy
Như đã trình bày ở mục 1, hình dáng quỹ đạo, các ràng buộc về động học, động
lực học chính là những đầu vào của thuật tốn thiết kế quỹ đạo mẫu. Hình dáng quỹ
đạo ở đây có thể hiểu là các điểm cho trước mà canh tay máy cần đi qua. Từ đấy ý
tưởng về việc thiết kế quỹ đạo dựa trên phương pháp nội suy được xét đến. Quỹ đạo
cần thiết kế thường sẽ được nội suy theo hàm đa thức hoặc hàm sin.
Như đã biết thì vận tốc là đạo hàm của vị trí, gia tốc là đạo hàm của vận tốc, và độ
giật là đạo hàm của gia tốc. Bởi vậy, nội suy theo hàm đa thức thường được ưu tiên
sử dụng hơn vì hàm đa thức rất dễ tính đạo hàm. Các công thức (1.1) đến (1.4) mô
tả các đại lượng vị trí, vận tốc, gia tốc theo hàm đa thức.
s  t   co  c1t  c2t 2  c3t 3

(1.1)

v t  

ds
 c1  2c2t  3c3t 2
dt

(1.2)

a t  

dv
 2c2  6c3t
dt


(1.3)

j t  

da
 6c3
dt

(1.4)

Trong đó các hệ số c0 ... c3 định nghĩa tính chất chuyển động.
Hình 1.1 là đồ thị chuyển động đơn giản được mô tả bởi hàm vị trí là đa thức bậc
ba, hàm vận tốc bậc hai và hàm gia tốc bậc nhất được

7|Page


Hình 1. 1: Đồ thị chuyển động nếu hàm vị trí là đa thức bậc ba
Trong nhiều trường hợp đơn giản, đồ thị chuyển động được mô tả bằng những
hàm đơn giản. Đồ thị vận tốc sẽ có dạng hình tam giác hay hình thang. Hàm vị trí
có thể được tổ hợp từ các hàm đa thức bậc hai. Thông thường, những hàm được tổ
hợp từ các hàm đa thức thì được gọi là các hàm spline. Đồ thị chuyển động của các
trường hợp này có thể được mơ tả như hình 1.2

Hình 1. 2: Thiết kế quỹ đạo với hàm vận tốc có dạng tam giác và bậc thang

8|Page



Những trường hợp này là những trường hợp phổ biến trong các máy móc cơng
nghiệp như là robot, cần cẩu,… Vấn đề của phương pháp này là độ giật có giá trị vơ
hạn có thể xảy ra, như trong đồ thị đã mô tả. Điều này sẽ làm cho tuổi thọ thiết bị
rút ngắn nhanh chóng như đã trình bày ở phần mở đầu.
Như vậy, vấn đề ở đây là cần thiết kế quỹ đạo chuyển động để vị trí, vận tốc,
gia tốc, độ giật là các hàm liên tục theo thời gian. Vậy nên hàm dạng sin có thể
được sử dụng tới. Đạo hàm của hàm sin cũng rất dễ tính tốn và đặc biệt là gia tốc
và độ giật là các hàm trơn và có giá trị hữu hạn. Các công thức (1.5) đến (1.8) mô tả
các đại lượng vị trí, vận tốc, gia tốc theo hàm sin
s t  

smax smax

cos t 
2
2

(1.5)

v t  

ds smax

 sin t 
dt
2

(1.6)

a t  


dv smax 2

 cos t 
dt
2

(1.7)

j t  

s
da
  max  3 sin t 
dt
2

(1.8)



2
T

(1.9)

Trong đó T là chu kì của chuyển động.

Hình 1. 3: Đồ thị chuyển động mô tả cho chuyển động hình sin của vị trí và vận
tốc.


9|Page


1.2.2. Ứng dụng các phƣơng pháp điều khiển thông minh.
Ngày nay, với sự phát triển của các phương pháp điều khiển thơng minh như mờ,
nơ-ron thì đã có thêm các sự lựa chọn tốt hơn cho việc thiết kế quỹ đạo mẫu. Logic
mờ có thể giúp cho việc đưa những kinh nghiệm của con người vào cho hệ thống
thực thi. Cịn nơ – ron giúp cho hệ thống có thể tự học hỏi những kinh nghiệm trước
đó để kiến cho hệ thống “thơng minh” hơn. Trong mục này sẽ trình bày một phương
pháp dùng mạng nơ – ron để thiết kế quỹ đạo mẫu có tên là mạng nơ – ron động có
phản hồi (Dynamic neural network with feedback)
Để giải quyết được vấn đề thiết kế quỹ đạo, phương pháp này chia thành hai bước.
Bước đầu tiên là tạo ra quỹ đạo thứ cấp (imtermediate trajectory) o  t  là một hàm
theo thời gian. Quỹ đạo này được thiết kế để có được những đặc tính thời gian
mong muốn, ví dụ như một tần số nhất định nào đó. Bước thứ hai là tạo ra hình
dáng cho quỹ đạo từ bước một để có được những hình dạng mong muốn như hình
trịn, hình elipse, hay có thể là hình số tám. Những việc này có thể được thực thi
bằng việc sử dụng mạng nơ – ron động, là sự kết hợp giữa mạng nơ – ron hồi quy
(recurrent neural networks) và mạng nơ – ron truyền thẳng (feedforward neural
network) . Mạng nơ – ron hồi quy sẽ tạo ra một quỹ đạo biến đổi theo thời gian theo
ảnh xạ :

h  : 0, T   R  từ thời gian t
k

thành quỹ đạo thứ cấp o  t  

k


, trong đó k là số

ngun dương. Tín hiệu thứ cấp này sẽ đưa vào mạng nơ – ron truyền thẳng
(FFNN) để tạo ra hình dáng quỹ đạo mong muốn theo ánh xạ gl  : Rk  Rm  ,
y  t   gl  o  t   .

Để làm cho mạng nơ – ron hồi quy trở nên nhạy thì mạng nơ – ron truyền thẳng thứ
hai được thêm vào. Bằng việc sử dụng thêm một mạng mạng nơ – ron truyền thẳng
để phản hồi, tín hiệu e  t   g e  y  t   sẽ là đầu vào của mạng nơ – ron hồi quy, tạo
ra một vòng khép kín và làm cho hệ thống trở thành thích nghi. Hình 1.4 mơ tả sơ
đồ khối của mạng nơ – ron động có phản hồi.

10 | P a g e


Hình 1. 4: Sơ đồ khối của mạng nơ – ron động có phản hồi
1.2.3. Ứng dụng các thuật tốn tối ƣu
Để tạo được quỹ đạo tối ưu cho robot, ngoài phương pháp nội suy và các
phương pháp điều khiển thơng minh, người ta cịn sử dụng các thuật tốn tối ưu như
GA, PSO, ABC,…
Tối ưu quỹ đạo với thuật toán tối ưu PSO (Particle Swarm Optimization) cho
việc tạo chuyển dụng của cánh tay máy đã được Jeong-Jung Kim và Ju-Jang Lee
giới thiệu trong [1]. Bài báo nêu rằng các bài toán tạo quỹ đạo tối ưu để giải quyết
vấn đề chuyển động với các ràng buộc phức tạp. Các phương pháp trước đây sử
dụng phương pháp tối ưu, có thể hội tụ về điểm cực tiểu địa phương. PSO là
phương pháp tối ưu toàn cục thống kê phổ biến. Việc sử dụng thuật toán tối ưu PSO
mang lại lợi ích cho sự đơn giản và sự hội tụ nhanh. Quỹ đạo được thay đổi thành
từng phần và được tối ưu với thuật toán PSO. Khái niệm hàm mục tiêu bước tiêu
được tiêu chuẩn hóa (normalized step cost, viết tắt là NSC) được sử dụng cho việc
khởi tạo của từng phần trong PSO. Một phương pháp sử dụng lại các tham số tối ưu

trước đây cũng được giới thiệu trong bài báo. Các tham số tối ưu được lưu trữ cùng
nhau với các véc tơ NSC tương ứng. Khi các ràng buộc không hợp lệ xảy ra, các
tham số được liên kết với một véc tơ NSC, véc tơ này giống như véc tơ chất vấn.
Véc tơ này được chọn để khởi tạo các thành phần nhỏ của PSO. Việc tái sử dụng
các tham số tối ưu trước sẽ cải thiện sự hội tụ của PSO trong việc tạo quỹ đạo
chuyển động. Tính hiệu quả của phương pháp được mơ phỏng sử dụng vấn đề 3
chiều với các ràng buộc. Thuật tốn đề xuất được tối ưu thành cơng quỹ đạo, thỏa
mãn các điều kiện ràng buộc.

11 | P a g e


Việc tạo quỹ đạo tối thiểu độ giật toàn cục của khơng gian cánh tay máy sử
dụng thuật tốn GA (genetic algorithm) được trình bày trong [2]. Đây là một hướng
tiếp cận mới dựa trên thuật toán GA được phát triển để tìm quỹ đạp tối thiểu độ giật
tồn cục của cánh tay máy trong không gian khớp. Độ giật ( đạo hàm bậc 3 của vị
trí của quỹ đạo mong muốn) ảnh hưởng xấu đến hiệu quả của thuật tốn điều khiển
và tính ổn định của hệ thống robot, do vậy đại lượng này cần được tối thiểu hóa.
Nói cách khác, tầm quan trọng của việc tối thiểu độ giật là để giảm độ rung của
cánh tay máy. Trong trình bày này, hướng tiếp cận di truyền tồn cục xác định quỹ
đạo bằng cách tối thiểu giá trị lớn nhất của độ giật trong khơng gian khớp. Qúa trình
tạo quỹ đạo được thực hiện liên quan tới các ràng buộc như ràng buộc về góc khớp,
vận tốc, gia tốc, và mơ men khớp. Bài báo sử dụng thuật tốn di truyền (GA) để tìm
các tham số các nốt tối ưu liên quan tới nhau để tìm ra giá trị tối ưu của độ giật. Các
tham số chính bao gồm góc khớp và vận tốc của góc khớp. Kết quả mô phỏng chỉ ra
rằng việc tạo quỹ đạo tối ưu độ giật dựa trên thuật toán GA mang lại kết quả tốt và
thực sự có tầm quan trọng thực sự trong kĩ thuật.
Ngồi ra cịn có các kĩ thuật tối ưu TLBO (teaching learning based
optimization) và kĩ thuật ABC (colony artifical bee) được dùng để tối ưu quỹ đạo
cho robot, được giới thiệu trong [3]. Trong bài báo này, 2 kĩ thuật trên được kết hợp

với nhau để tạo quỹ đạo tối ưu cho cánh tay máy 3R. Vấn đề được nêu ra trong [3]
là tối ưu các hàm mục tiêu với mục đích tạo ra quỹ đạo có thể tối thiểu hóa về thời
gian, khoảng cách đường đi giữa các khớp và độ dài Cartesian một cách đồng thời.
Sáu biến khác nhau được xét cho góc khớp, vận tốc khớp và thời gian tư điểm đầu
tiên đến điểm trung gian và từ trung gian đến điểm cuối cùng. Bài báo cũng so sánh
kết quả của việc sử dụng TLBO và ABC với GA , và chỉ ra rắng việc sử dụng kĩ
thuật TLBO kết hợp ABC tạo ra quỹ đạo tốt hơn. Hơn nữa việc thử nghiệm được
xét cho nhiều chuyển động khác nhau của cánh tay máy trong khơng gian robot
bằng cách sử dụng TLBO và ABC.
Ngồi các kĩ thuật trên vẫn cịn nhiều thuật tốn tối ưu có thể dùng sử dụng cho
bài tốn thiết kế quỹ đạo mẫu. Do khơng phải là kĩ thuật chính được sử dụng ở

12 | P a g e


trong đồ án, nên các phương pháp trên chỉ được nêu ra một cách tổng quan. Nếu
bạn đọc quan tâm, có thể tìm hiểu thêm tài liệu ở phần tham khảo để hiểu rõ hơn nội
dung của các phương pháp tối ưu.

13 | P a g e


CHƢƠNG 2: KỸ THUẬT B-SPLINE
2.1. Đƣờng cong B-splines
Đường cong Bp (t ) là sự kết hợp tuyến tính của các đa thức Ni , p (t ) với bậc p và
các hệ số Qi ( Qi được gọi là các điểm điều khiển). Đường cong được xây dựng dựa
trên dãy điểm nút ti và các hàm cơ sở N i , p được tính theo phương pháp truy hồi của
De Boor [4]. Đường cong Bp (t ) được biểu diễn như sau:
n 1


Bp (t )   Qi . Ni , p (t )

(2.1)

i 1

Với Ni , p (t ) được xác định như sau
ti  p 1  t

t  ti
N i 1, p 1 (t )
 Ni , p (t )  t  t N i , p 1 (t )  t

t
i

p
i
i

p

1
i

1


 N  1, ti  t  ti 1


i ,0

0 t  ti || t  ti 1


(2.2)

Số các điểm nút là n  p  1 nên nếu đặt m  n  p  1 thì số các điểm nút là m  1
Các hàm cơ sở có thể được biểu diễn theo biểu đồ tam giác sau

Hình 2. 1: Sơ đồ tam giác biểu diễn các hàm cơ sở theo De Boor

14 | P a g e


Ký hiệu

Định nghĩa

p

Bậc của B-spline

Bp (t )

B-spline với bậc p

Ni , p (t )

Hàm cơ sở bậc p


Qi

Các điểm điều khiển của B-spline

n 1

Số lượng các điểm điều khiển

ti

Các điểm nút

m 1

Số lượng các điểm nút
Bảng 2. 1: Các kí hiệu của đường cong B-spline trong (2.1) và (2.2)

2.2. Các tính chất quan trọng của B-Spline
Tính chất 1: Hàm cơ sở Ni , p (t ) khác không nếu t [ti , ti  p 1 ) , nói cách khác
Ni , p (t )  0 nếu t  ti hoặc t  ti  p 1

Chứng minh:
Dựa vào cách biểu diễn của Ni , p (t ) theo sơ đồ hình tam giác, hàm cơ sở Ni , p (t ) có
thể biểu diễn dưới dạng tổng tuyến tính của các hàm cơ sở Ni ,0 (t ) , Ni 1,0 (t ) , …,
N p i ,0 (t )

1, ti  t  ti 1
0 t  ti || t  ti 1


Chú ý rằng Ni ,0  

Từ đó nếu t  ti hoặc t  ti  p1 thì Ni ,0 (t ) , Ni 1,0 (t ) , …, N p i ,0 (t ) đều bằng 0.
Do vậy Ni , p (t )  0 nếu t  ti hoặc t  ti  p1 . Từ đấy tính chất được chứng minh xong.
Tính chất 2: Nếu dãy các điểm nút được lặp lại k lần với k  p  1 tại điểm nút đầu
tiên và điểm nút cuối cùng, nói cách khác
t1  t2  ....  t p1  t p2  t p3  ....  tn  tn1  tn2  ....  tn p 2

15 | P a g e


Khi đấy điểm đầu tiên và điểm cuối cùng của đường cong Bp (t ) lần lượt trùng với
điểm điều khiển đầu tiên Q1 và điểm điều khiển cuối cùng Qn 1
Chứng minh.
Điểm đầu tiên đường cong Bp (t ) đi qua là Bp (t1 ) cũng chính là Bp (t p1 )
Bp (t p 1 )  Q1 . N1, p (t p 1 )  Q2 . N2, p (t p 1 )  ....  Qn1 . Nn1, p (t p 1 )

(2.3)

Theo (2.2) ta có
N1, p (t p 1 ) 

t p 1  t1
t p 1  t1

N1, p 1 (t p 1 ) 

t p 2  t p 1
t p  2  t2


N2, p 1 (t p 1 )

(2.4)

Dựa theo tính chất 1 được giới thiệu ở trên ta có N1, p 1 (t p 1 )  0 , kết hợp với t p1  t2
N1, p (t p 1 )  N2, p 1 (t p 1 ) .

ta suy ra được

(2.5)

Một cách tương tự ta có được N1, p (t p1 )  N2, p1 (t p1 )  ....  N p1,0 (t p1 ) ,
mà N p1,0 (t p1 )  1 ( do t p 1  t p 1  t p 2 ) nên ta suy ra được :
N1, p (t p 1 )  1.

(2.6)

Từ (2) ta cũng có
N2, p (t p 1 ) 

t p 1  t2
t p  2  t2

N2, p 1 (t p 1 ) 

t p 3  t p 1
t p 3  t3

N3, p 1 (t p 1 )


(2.7)

Do t p1  t2 và t p1  t3 nên N2, p (t p1 )  N3, p1 (t p1 )
Tương tự ta có được
N2, p (t p 1 )  N3, p 1 (t p 1 )  ...  N p 1,1 (t p 1 ) 

t p 3  t p 1
t p 3  t p  2

N p 2,0 (t p 1 )

(2.8)

Theo tính chất 1 ở trên ta có: N p 2,0 (t p 1 )  0 nên N2, p (t p1 )  0
Chứng minh tương tự ta cũng có được N3, p (t p1 )  ....  Nn1, p (t p1 )  0

(2.9)

Từ (2.3) (2.6) và (2.9) ta có được: Bp (t p1 )  Q1
Chứng minh tương tự ta cũng có được Bp (tn1 )  Qn1
Hay nói cách khác đường cong Bp (t ) xuất phát từ điểm điều khiển đầu tiên va kết
thúc tại điểm điều khiển cuối cùng.

16 | P a g e


Từ đấy ta có điều phải chứng minh. Tính chất 2 được chứng minh xong
Và trong trường hợp này người ta gọi là trường hợp các dãy nút bị kẹp.

Hình 2. 2: Qũy đạo của


trong trường hợp dãy nút bị kẹp

Tính chất 3: Gọi Bp (t )' là đạo hàm của Bp (t ) . Khi đó
n

Bp (t )'   Qi . Ni , p (t )'

(2.10)

i 0

Với

Ni , p (t )' 

p
p
Ni , p 1 (t ) 
Ni 1, p 1 (t )
ti  p  ti
ti  p 1  ti 1

(2.11)

Chứng minh:
Tài liệu này chứng minh công thức trên bằng phương pháp quy nạp
Giả sử công thức đúng với k  0,1,...., p , ta cần chứng minh
Ni , p 1 (t )' 


p 1
p 1
Ni , p (t ) 
Ni 1, p (t )
ti  p 1  ti
ti  p  2  ti 1

(2.12)

t
t
t  ti
Ni , p (t )  i  p 2
Ni 1, p (t )
ti  p 1  ti
ti  p 2  ti 1

(2.13)

Theo (2.12) ta có
Ni , p1 (t ) 

Lấy đạo hàm cả 2 vế ta được
 t  ti

t
t
N i , p 1 (t )  
N i , p (t )  i  p  2
N i 1, p (t ) 

 ti  p 1  ti

ti  p  2  ti 1


'

'

(2.14)

Khai triển phép đạo hàm của từng số hạng ta được

17 | P a g e


Ni , p 1 (t )' 

t  ti
1
Ni , p (t )' 
Ni , p (t )
ti  p 1  ti
ti  p 1  ti



ti  p  2  t

Ni 1, p (t )' 


ti  p  2  ti 1

1
Ni 1, p (t )
ti  p  2  ti 1

(2.15)

Do công thức trên đúng với p nên ta có
Ni 1, p (t )' 

Ni , p (t )' 

p
p
Ni 1, p 1 (t ) 
Ni  2, p 1 (t )
ti  p 1  t p 1
ti  p  2  ti  2

p
p
Ni , p 1 (t ) 
Ni 1, p 1 (t )
ti  p  ti
ti  p 1  ti 1

Thay Ni 1, p (t )' và Ni , p (t )' vào công thức trước ta được
Ni , p 1 (t )' 


ti  p  2  t



ti  p  2  ti 1
ti  p 2  t






t  ti  p
p
Ni , p 1 (t ) 
Ni 1, p 1 (t ) 


ti  p 1  ti  ti  p  ti
ti  p1  ti 1


ti  p  2  ti 1

1
ti  p 1  ti

p
Ni 1, p 1 (t )

ti  p 1  ti 1
p
Ni  2, p 1 (t )
ti  p  2  ti  2

Ni , p (t ) 

(2.16)

1
Ni 1, p (t )
ti  p  2  ti 1

Phương trình trên cần biến đổi về dạng
Ni , p 1 (t )' 

p 1
p 1
Ni , p (t ) 
Ni 1, p (t )
ti  p 1  ti
ti  p  2  ti 1

(2.17)

Tương đương với
Ni , p 1 (t )' 

p
ti  p 1  ti




Ni , p (t ) 

1
ti  p 1  ti

Ni 1, p (t )

p
1
Ni 1, p (t ) 
Ni 1, p (t )
ti  p  2  ti 1
ti  p  2  ti 1

Phân tích cơng thức trên theo số hạng thứ nhất với số hạng thứ ba, với Ni , p (t ) và
Ni 1, p (t ) được tính theo (2)

18 | P a g e


Ni , p 1 (t )' 


1
ti  p 1  ti

Ni , p (t ) 


1
Ni 1, p (t )
ti  p  2  ti 1

 t  ti

Ni , p 1 (t ) 

ti  p 1  ti  ti  n  ti

p

 ti  p 1  t

Ni 1. p 1 (t ) 


ti  p 1  ti  ti  p 1  ti 1

 t  ti 1

p

Ni 1, p 1 (t ) 


ti  p  2  ti 1  ti  p 1  ti 1

 ti  p  2  t


p

Ni  2, p 1 (t ) 


ti  p  2  ti 1  ti  p  2  ti  2



p

(2.18)

Bây giờ ta biến đổi tiếp phương trình (2.16) ta có:
 p

Ni , p 1 (t ) 


 ti  p  ti


t  ti 
p

Ni 1, p 1 (t ) 


ti  p 1  ti  ti  p 1  ti 1



t
t 
p
 i p2
Ni 1, p 1 (t ) 


ti  p  2  ti 1  ti  p 1  ti 1


t
t 
p
 i p2
Ni  2, p 1 (t ) 


ti  p  2  ti 1  ti  p  2  ti  2

1
1

Ni , p (t ) 
Ni 1, p (t )
ti  p 1  ti
ti  p  2  ti
Ni , p 1 (t )' 


t  ti
ti  n 1  ti

(2.19)

So sánh vế trái của (2.18) và (2.19), ta thấy phần thứ nhất của (2.18) với phần thứ 5
của (2.19), phần thứ 2 của (2.18) với phần thứ nhất của (2.19), phần thứ 5 của (2.18)
và phần thứ 4 của (2.19) là các biểu thức giống nhau. Ta chỉ cần biểu diễn phần thứ
2 và thứ 3 của (2.19) về dạng.
Phần thứ 2 và 3 vế trái của (2.19) có nhân tử chung pNi 1, p 1 , số hạng còn lại là


t  ti
ti n2  t

(ti  n1  ti )(ti n1  ti 1 ) (ti n2  ti 1 )(ti n1  ti 1 )

Quy đồng mẫu số chung 2 số hạng trên ta được

19 | P a g e


tti  p2  tti 1  titi  p 2  titi 1  ti  p 2ti  p 1  titi  p 2  tti  p 1  tti
(ti  p 1  ti )(ti  p 1  ti 1 )(ti  p 2  ti 1 )

Tiếp tục biến đổi ta được
(ti n 2  ti 1 )(ti n1  t )  (ti n1  ti )(ti 1  t )
(ti n1  ti )(ti n1  ti 1 )(ti n 2  ti 1 )

Ta tách thành 2 phân số

ti  p 1  t
(ti  p 1  ti )(ti  p 1  ti 1 )



t  ti 1
(ti  p 1  ti 1 )(ti  p  2  ti 1 )

Nhân biểu thức trên với pNi 1, p 1 ta được
p(ti  p 1  t )
(ti  p 1  ti )(ti  p 1  ti 1 )

Ni 1, p 1 

p(t  ti 1 )
Ni 1, p 1
(ti  p 1  ti 1 )(ti  p  2  ti 1 )

Biểu thức trên chính là phần biểu diễn của phần thứ 3 và thứ 4 vế trái của (2.18). Từ
đó ta có điều phải chứng minh.
Tính chất 4: Là tính chất đặc biệt quan trọng trong B-spline, được mở rộng từ tính
chất 3.
Đạo hàm của đường cong B-spline trong trường hợp dãy các điểm nút là bị kẹp
cũng là một đường cong B-spline, nói cách khác
n

Bp (t )'   Qdi . Ni , p 1 (t )
i 1

Với Qdi 


p
(Qi 1  Qi )
ti  p 1  ti 1

i  1,...., n

Và tập các điểm nốt là T '  {t2 , t3 ,...., tn p 1}
Chứng minh
Dựa vào tính chất 3 ta có

20 | P a g e


n 1
n
 p

p
Bp (t )'   Qi . Ni , p (t )'   Qi . 
Ni , p 1 (t ) 
Ni 1, p 1 (t ) 
 ti  p  ti

ti  p 1  ti 1
i 1
i 1


 n


Qi 1   n 1
Qi
  p  Ni 1, p 1 (t )
  p  Ni 1, p 1 (t )


 i 0
ti  p 1  ti 1   i 1
ti  p 1  ti 1 

n
N (t )Q1
N
(t )Qn 1
Q  Qi
 p 1, p 1
 p  Ni 1, p 1 (t ) i 1
 p n 1, p 1
t p 1  t1
ti  p 1  ti 1
tn  p  2  tn  2
i 1

Dựa vào tính chất 1 và dãy nốt bị kẹp nên
N1, p 1 (t )Q1
t p 1  t1




N
(t )Qn1 0
0
 0
 0 và n1, p1
tn  p  2  tn  2
0
0

Do đó
n

B p (t )'  p  Ni 1, p 1 (t )
i 1

Qi 1  Qi
ti  p 1  ti 1

n

Hay

Bp (t )'   Qdi . Ni 1, p 1 (t )
i 1

Mặt khác ở công thức trên Ni 1, p 1 (t ) được tính theo dãy nốt T  {t1 , t2 ,...., tn p 2 } của
Bp (t ) . Đặt T '  {t2 , t3 ,...., tn  p 1} , ta dễ dàng chứng minh được Ni 1, p 1 (t ) tính trên T

bằng Ni 1, p 1 (t ) tính trên T ' . Từ đó Bp (t )' có thể biểu diễn lại dưới dạng
n


Bp (t )'   Qdi . Ni , p 1 (t )
i 1

Với các điểm điều khiển Qdi 

p
(Qi 1  Qi ) và các dãy các điểm nốt
ti  p 1  ti 1

T '  {t2 , t3 ,...., tn p 1} .

Nói cách khác Bp (t )' là đường cong B-spline có bậc p  1 .
Từ đó ta có điều phải chứng minh.
Nhận xét: Trên đây là một vài tính chất quan trọng của B-spline, các tính chất này
đã được chứng minh một cách rất cụ thể và chi tiết. Các công thức biến đổi có thể
làm người đọc cảm thấy chút khó khăn, nhưng hãy kiên trì để đọc hiểu bởi vì nó
được chứng minh rất chi tiết từng bước một, và đặc biệt các tính chất trên được sử
21 | P a g e


dụng cho bài toán tối ưu và tạo quỹ đạo ở chương sau. Vì vậy người đọc nên đọc
hiểu cẩn thận để có thể hiểu tốt ở chương sau.
Ngồi ra cịn có nhiều tính chất nữa của B-spine, nhưng trong phạm vi của đồ án
tôi không giới thiệu ở đây, người đọc có thể xem thêm ở phần tham khảo.
Để người đọc dễ hình dung hơn về kĩ thuật B-spline, sau đây em đưa ra một ví
dụ về B-spline như sau
Đường cong B-spline được xác định bởi p  2

2


B(t )   Qi . Ni ,2 (t )
i 0

Sử dụng công thức truy hồi Cox-de Boor
N0,0 (t )

N0,1 (t )

N1,0 (t )

N1,1 (t )

N0,2 (t )

N 2,0 (t )

Hàm cơ sở N0,2 (t ) được tính như sau
t 0
3t
N 0,1 (t ) 
N1,1 (t )
20
3 1
t t  0
2t

 
N 0,0 (t ) 
N1,0 (t ) 

2 1  0
2 1


N 0,2 (t ) 

3  t  t 1
3t

N1,0 (t ) 
N 2,0 (t ) 

2  2 1
3 2

1
 [t 2 N 0,0 (t )  t (2  t ) N1,0 (t )  (3  t )(t  1) N1,0 (t )
2
 (3  t )2 N 2,0 (t)]


1
2

Nếu 0  t  1 thì N0,0 (t )  1 , N1,0 (t )  0 , N2,0 (t )  0 và N0,2 (t )  t 2
Nếu 1  t  2 thì N0,0 (t )  0 , N1,0 (t )  1 , N2,0 (t )  0 và
1
N0,2 (t)  2(t  1)2  2(t  1)  2
2
1

2

Nếu 2  t  3 thì N0,0 (t )  0 , N1,0 (t)  0 , N2,0 (t)  0 và N0,2 (t )  (t  2)2  2(t  2)  1

22 | P a g e


×