MỤC LỤC
CHƯƠNG 1: MỞ ĐẦU ................................................................................................... 1
1.1.
1.2.
1.3.
1.4.
1.5
LÝ DO CHỌN ĐỀ TÀI: ............................................................................................. 1
MỤC ĐÍCH NGHIÊN CỨU: ...................................................................................... 1
ĐỐI TƯỢNG VÀ PHẠM VI NGHIÊN CỨU: ................................................................ 1
PHẠM VI NGHIÊN CỨU GỒM CÓ: ........................................................................... 1
Ý NGHĨA CỦA ĐỀ TÀI:............................................................................................ 2
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT .............................................................................. 3
2.1 GIỚI THIỆU VỀ OMNI ROBOT 3 BÁNH .................................................................... 3
2.2. XÂY DỰNG MƠ HÌNH TỐN ................................................................................... 4
2.2.1. Cấu trúc hình học của Robot di động đa hướng (OMR) .......................... 4
2.2.2. Phương trình động học ................................................................................ 4
2.2.3. Phương trình động lực học .......................................................................... 5
2.3. BỘ ĐIỀU KHIỂN PID .............................................................................................. 7
2.4. PHƯƠNG PHÁP THIẾT KẾ BỘ ĐIỀU KHIỂN PID ................................................... 10
2.4.1. Phương pháp thử sai .................................................................................. 10
2.4.2. Phương pháp Ziegler-Nichols.................................................................... 10
CHƯƠNG 3: THIẾT KẾ VÀ MÔ PHỎNG ............................................................... 11
3.1. THIẾT KẾ ............................................................................................................... 11
3.1.1. Sơ đồ khối toàn bộ robot .............................................................................. 11
3.1.2. Thiết kế bộ điều khiển PID ........................................................................ 12
3.1.3. Thiết kế giao diện máy tính ....................................................................... 13
3.2. MƠ PHỎNG MATLAP SIMULINK ......................................................................... 14
3.2.1. Tổng quan hệ thống .................................................................................... 14
3.2.2. Kết quả mơ phỏng ...................................................................................... 16
CHƯƠNG 4: THI CƠNG MƠ HÌNH ......................................................................... 20
4.1. PHẦN CỨNG ......................................................................................................... 20
4.1.1 Linh kiện cần dùng ........................................................................................ 20
4.1.2 Chi tiết từng phần .......................................................................................... 21
4.2. KẾT QUẢ RÁP MƠ HÌNH ....................................................................................... 30
CHƯƠNG 5: KẾT QUẢ ĐẠT ĐƯỢC VÀ.................................................................. 31
HƯỚNG PHÁT TRIỂN ................................................................................................ 31
5.1. KẾT QUẢ ĐẠT ĐƯỢC............................................................................................ 31
5.2. HẠN CHẾ ............................................................................................................. 31
5.3. HƯỚNG PHÁT TRIỂN CỦA ĐỀ TÀI ........................................................................ 31
TÀI LIỆU THAM KHẢO ............................................................................................ 32
CODE FILE “PIDC.M” ............................................................................................. 34
DANH MỤC CÁC BẢNG ĐƯỢC SỬ DỤNG
Bảng 2.4.1. Tác động của việc tăng một thông số độc lập
Bảng 2.4.2. Các thông số của bộ điều khiển PID theo phương pháp Ziegler–Nichols
DANH MỤC CÁC HÌNH ẢNH ĐƯỢC SỬ DỤNG
Hình 1.1 Minh họa omni robot
Hình 2.1 Omni robot 3 wheel
Hình 2.2.1 Cấu trúc hình học của OMR
Hình 3.1.1 Sơ đồ khối của robot omni 3 bánh
Hình 3.1.2 Giao diện điều khiển omni 3 bánh trên máy tính
Hình 3.2.1 Tổng quan cả hệ thống
Hình 3.2.1a Thơng số của hệ thống
Hình 3.2.1b Bên trong khối omni robot
Hình 3.2.2a Minh họa 1
Hình 3.2.2b Minh họa 2
Hình 3.2.2c Minh họa 3
Hình 3.2.2d Minh họa 4
Hình 3.2.2e Minh họa 5
Hình 3.2.2f Minh họa 6
Hình 4.1.2a Bánh omni
Hình 4.1.2b Arduino mega2560
Hình 4.1.2c Cảm biến siêu âm
Hình 4.1.2d Động cơ planet 60W
Hình 4.1.2.e1 Mạch cầu H 30A
Hình 4.1.2.e2 Mạch cầu H 43A
Hình 4.1.2.f Module RF C1101
Hình 4.1.2g La bàn số HMC5883L
Hình 4.1.2h Nguồn pin
Hình 4.1.2.i Nguồn 5V
Hình 4.1.3 Mơ hình thực tế
ĐIỀU KHIỂN OMNI WHEEL ROBOT DÙNG GIẢI THUẬT PID
CHƯƠNG 1: MỞ ĐẦU
CHƯƠNG 1: MỞ ĐẦU
1.1.
Lý do chọn đề tài:
Trong thời gian gần đây robot đa hướng nhận được nhiều sự quan tâm nghiên cứu,
nhất là đối với các đội tham gia cuộc thi robocon của các trường đại học trong nước. Vì
tính đa hướng nên robot có thể di chuyển được trong nhiều khu vực nhỏ hẹp, phức tạp
với độ chính xác cao.
Ngồi ra, robot di chuyển bằng bánh omni cịn được ứng dụng trong nhiều lính vực
khác nhau như: Xe theo dõi dùng trong quân sự, robot máy in 3D…. Vậy nên nhóm chúng
tơi chọn nghiên cứu xe đa hướng dùng bánh omni vì tính phổ biến của nó hiện nay và có
nhiều ưu điểm hơn so với bánh xe truyền thống.
Một số hình ảnh ví dụ minh họa
Hình 1.1 Minh họa omni robot
1.2.
Mục đích nghiên cứu:
Mục đích nghiên cứu của đề tài là nghiên cứu về động học và động lực học của
mobile omni robot 3 bánh và các phương pháp, giải thuật điều khiển thích hợp trên cơ sở
các cơng trình nghiên cứu đã được công bố và xuất bản thành sách báo. Nhằm mục đích
điều khiển robot di chuyển chính xác trong khơng gian.
1.3.
Đối tượng và phạm vi nghiên cứu:
Đối tượng nghiên cứu của đề tài là các phương trình động học, động lực học của
mobile robot sử dụng 3 bánh omni, bộ điều khiển PID, phần mềm matlab, visual studio
2010, arduino IDE và mơ hình robot thực tế.
1.4.
Phạm vi nghiên cứu gồm có:
Các phương trình động học và động lực học của mobile omni robot 3 bánh.
Sử dụng bộ điều khiển PID thử sai để điều khiển.
SVTH: Thiện - Nghĩa
Page | 1
ĐIỀU KHIỂN OMNI WHEEL ROBOT DÙNG GIẢI THUẬT PID
CHƯƠNG 1: MỞ ĐẦU
Phần mềm matlab để mơ phỏng mơ hình động lực học của robot.
Phần mềm arduino IDE để lập trình.
Phần mềm visual studio 2010 để tạo giao diện giao tiếp máy tính cho robot.
Thi cơng phần cứng.
1.5
Ý nghĩa của đề tài:
Robot có thể di chuyển dễ dàng trong những không gian nhỏ, hẹp do khả năng di
chuyển một cách linh hoạt vừa quay vừa tịnh tiến một cách đồng thời và độc lập. Vì thế
việc nghiên cứu về omni robot được nhiều người quan tâm, đem đến nhiều lợi ích, ứng
dụng để làm ra các robot có thể di chuyển trong các khơng nhỏ hẹp với độ chính xác cao,
thực hiện các nhiệm vụ mà các robot với bánh xe truyền thống không làm được vì tính đa
hướng của bánh xe omni.
SVTH: Thiện - Nghĩa
Page | 2
ĐIỀU KHIỂN OMNI WHEEL ROBOT DÙNG GIẢI THUẬT PID
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
2.1
Giới thiệu về omni robot 3 bánh
Hình 2.1 Omni robot 3 wheel
Robot Omni là một loại mobile robot di chuyển bằng những bánh xe đa
Hướng đã được ứng dụng nhiều trong thực tế do quỹ đạo chuyển động của nó rất
đa dạng.
Đặc biệt là Omni có kết cấu lạ với 3 bánh xe, nhưng chính do sự phối hợp hoạt
động của 3 bánh xe lại cho ta khả năng điều khiển tốt quỹ đạo của robot.
Robot omni thuộc hệ robot di động tự hành, tự định hướng.
Robot Omni có đặc điểm là kết cấu đơn giản, có quỹ đạo di chuyển khá linh hoạt
nên được phát triển để thay thế cho các loại mobile robot truyền thống.
SVTH: Thiện - Nghĩa
Page | 3
ĐIỀU KHIỂN OMNI WHEEL ROBOT DÙNG GIẢI THUẬT PID
2.2.
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
Xây dựng mơ hình tốn
2.2.1. Cấu trúc hình học của Robot di động đa hướng (OMR)
Hình 2.2.1 Cấu trúc hình học của OMR
Gồm có 3 bánh xe đa hướng cách đều nhau 1 góc 1200.
Ba bánh xe đa hướng có cùng bán kính r và được kéo bởi các motor DC
Tâm dịch chuyển của OMR đặt tại C, ta có thể coi đây là tâm của robot.
L là khoảng cách từ tâm bánh xe đến điểm C.
OXY là hệ tọa độ tham chiếu toàn cục.
CX0 Y0 là hệ tọa độ tham chiếu cục bộ gắn liền với OMR.
Cách xác định vị trí OMR :
Vị trí OMR trong hệ tọa độ tham chiếu toàn cục được xác định bởi tọa độ X, Y và
góc lệch Φc giữa hai hệ tọa độ tồn cục và cục bộ, nghĩa là vị trí của OMR trong hệ tọa
độ tham chiếu toàn cục được xác định bởi vector q = [𝑥, 𝑦, ∅]𝑇 ∈ ℜ3𝑥1 , vector
𝑃𝑜 = [𝑥
𝑦]𝑇 ∈ ℜ2𝑥1 được xác định là vector vị trí của điểm C với gốc tọa độ.
𝑷𝐶𝑖 ∈ ℜ2𝑥1 𝑖 = (1, 2, 3) là vector vị trí tương đối của mỗi bánh xe đối với hệ tọa
độ tham chiếu cục bộ. 𝑫𝑖 ∈ ℜ2𝑥1 là vector hướng của mỗi bánh xe có hệ tọa độ tham
chiếu OXY.
2.2.2. Phương trình động học
Ma trận quay R(Φc) chuyển từ hệ tọa độ dịch chuyển gắn với robot sang hệ tọa độ
toàn cục được hiển thị như sau :
SVTH: Thiện - Nghĩa
Page | 4
ĐIỀU KHIỂN OMNI WHEEL ROBOT DÙNG GIẢI THUẬT PID
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
𝑐𝑜𝑠(𝜃𝐶 ) − sin(𝜃𝐶 )
𝐑(𝜃𝐶 ) = [
] ∈ ℜ2𝑥2
sin(𝜃𝐶 ) 𝑐𝑜𝑠(𝜃𝐶 )
(3.1)
Các vector vị trí PW1, PW2, PW3 ∈ ℜ2𝑥2 của các bánh xe trong hệ tọa độ dịch chuyển
gắn với tâm khối lượng của robot được biểu thị như sau:
2𝜋
L −1
4𝜋
L 1
1
PW1 = L[ ], PW2 = R( )x PW1 = [ ], PW3 = R( )x PW1 = − [ ] (3.2)
3
2 √3
3
2 √3
0
Các vector chỉ hướng chuyển động 𝐃Wi ∈ ℜ2𝑥1 (i = 1,2,3) của bánh xe thứ
𝑖 𝑡ℎ được tính như sau:
1
1
1
0
𝐃𝑊𝑖 = 𝐑(𝜃𝐶 ) × 𝐏Wi , 𝐃𝑊1 = [ ], 𝐃𝑊2 = − [√3], 𝐃𝑊3 = [ √3 ] (3.3)
L
2 1
2 −1
1
Từ các phương trình (3.1) và (3.3), các vector vị trí và vận tốc của các bánh xe
trong hệ tọa độ toàn cục đươc thể hiện bằng các phương trình:
𝐏𝒊 = 𝐏𝑪 + 𝐑(𝜃𝐶 ) × 𝐏𝑊𝑖 ,
(3.4)
𝐕𝒊 = 𝐏̇𝑪 + 𝐑̇(𝜃𝐶 ) × 𝐏𝑊𝑖
(3.5)
Vận tốc góc của các bánh xe được tính như sau:
1
𝜔𝑖 = 𝑽𝑇𝑖 × 𝐑(𝜃𝐶 ) × 𝐃𝑊𝑖
(3.6)
𝑟
Thay thế 𝐕𝑖 trong phương trình (3.5) vào phương trình (3.6) ta có:
1
𝑇
𝜔𝑖 = [𝐏̇𝐶𝑇 × 𝐑(𝜃𝐶 ) × 𝐃𝑊𝑖 + 𝐏𝑊𝑖
× 𝐑̇𝑇 (𝜃𝐶 ) × 𝐑𝑇 (𝜃𝐶 ) × 𝐃𝑊𝑖 ] (3.7)
𝑟
Từ phương trình (3.7), phương trình động học của robot di động đa hướng có bánh
xe được viết chi tiết như sau:
𝜔1
−𝑠𝑖𝑛(𝜃𝐶 )
𝑐𝑜𝑠(𝜃𝐶 )
𝐿 𝑋̇𝐶
1
(3.8)
[𝜔2 ] = 𝑟 [−sin(𝜋/3 − 𝜃𝐶 ) −cos(𝜋/3 − 𝜃𝐶 ) 𝐿] [ 𝑌𝐶̇ ]
𝜔3
sin(𝜋/3 + 𝜃𝐶 ) −cos(𝜋/3 + 𝜃𝐶 ) 𝐿 𝜃̇𝐶
Phương trình được viết lại dạng vector:
1
𝑧 = 𝐻−1 × 𝐪̇ 𝐶
𝑟
Theo đó 𝑧 = [𝜔1
𝜔2
(3.9)
𝜔3 ]𝑇 là vector vận tốc góc của bánh xe, và ma trận 𝐻 −1 ∈
ℜ3×3 biểu thị như sau:
𝐻
−1
−𝑠𝑖𝑛(𝜃𝐶 )
𝑐𝑜𝑠(𝜃𝐶 )
𝐿
= [−sin(𝜋/3 − 𝜃𝐶 ) −cos(𝜋/3 − 𝜃𝐶 ) 𝐿]
sin(𝜋/3 + 𝜃𝐶 ) −cos(𝜋/3 + 𝜃𝐶 ) 𝐿
(3.10)
2.2.3. Phương trình động lực học
Tuyến tính và cân bằng momen động lực cho robot có thể viết như sau:
SVTH: Thiện - Nghĩa
Page | 5
ĐIỀU KHIỂN OMNI WHEEL ROBOT DÙNG GIẢI THUẬT PID
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
3
∑ 𝑓𝑖 𝐑(θ) × 𝐃i = m𝐏̈o
𝑖=1
L ∑3i=1 𝑓𝑖 = 𝐽𝜃̈
(3.11)
Khi 𝐏̈𝑜 là vector gia tốc, 𝑓𝑖 là độ lớn của lực được cung cấp bởi các động cơ thứ I,
m là khối lượng của robot, J là momen quán tính về trung tâm của lực hấp dẫn của nó.
Giả sử khơng có điều kiện trược, lực được tạo ra bởi một động cơ DC được mơ tả bởi:
f = αU + βV
(3.12)
Khi đó, V = {Vi (t), i = 1, 2, 3} là vận tốc của mỗi bánh xe. Các hằng số α và β là
hệ số đặc trưng của động cơ, được xác định từ các thí nghiệm hoặc từ catalog của động
có đó.
Chú ý rằng, U = {Ui (t), i = 1, 2, 3} là điện áp đặt cung cấp đến các động cơ DC.
Thay phương trình (3.12) vào phương trình (3.11) ta có:
∑3𝑖=1(𝛼𝑈𝑖 − 𝛽𝑉𝑖 )𝑹(𝜃) 𝐃i = 𝑚𝐩̈ o , 𝐿 ∑3𝑖=1(𝛼𝑈𝑖 − 𝛽𝑉𝑖 ) = 𝐽(𝜃̈)
(3.13)
Phương trình vi phân của hệ thống này có thể viết dưới dạng ma trận như sau:
𝑚𝑥̈
𝑥̇
3𝛽
𝑚𝑦̈
[
] = α𝐏(θ)𝐔 − 2 [ 𝑦̇ ]
̈
𝐽(𝜃)
2𝐿2 𝜃̇
−𝑠𝑖𝑛𝜃
𝐏(θ) = ( 𝑐𝑜𝑠𝜃
𝐿
𝜋
−sin( − 𝜃)
3
𝜋
(3.14)
𝜋
sin( + 𝜃)
3
𝜋
−cos( − 𝜃) −cos( + 𝜃))
3
3
𝐿
𝐿
(3.15)
Và
𝐔 = [U1 (t) U2 (t) U3 (t)]T
SVTH: Thiện - Nghĩa
(3.16)
Page | 6
ĐIỀU KHIỂN OMNI WHEEL ROBOT DÙNG GIẢI THUẬT PID
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
Ta có thể viết lại phương trình như sau
Đây là phương trình chính để mơ phỏng trên Matlab và tính tốn điện áp cấp cho
hệ thống omni robot.
(*)(**) Tồn bộ phần xây dựng mơ hình tốn trên được trích xuất từ hai tài liệu tham
khảo chính là [1] và [2].
2.3.
Bộ điều khiển PID
2.3.1. Khâu tỷ lệ
Trong khâu tỷ lệ, tín hiệu ra x p tỷ lệ với tín hiệu vào e , nghĩa là:
x p K pe t
Trong đó K p là hệ số tỷ lệ và là hằng số. Khi phân tích hệ thơng thường viết biểu
thức dưới dạng hàm truyền:
X p s
E s
Kp
2.3.2. Khâu tích phân
Khâu tích phân có tín hiệu ra tỷ lệ với tích phân theo thời gian của tín hiệu vào,
nghĩa là:
x p Ki edt
Trong đó K i là tỷ số truyền của khâu điều khiển tích phân. Hàm truyền của khâu
tích phân có dạng:
X p s
E s
SVTH: Thiện - Nghĩa
Ki
s
Page | 7
ĐIỀU KHIỂN OMNI WHEEL ROBOT DÙNG GIẢI THUẬT PID
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
Nếu sai lệch e 0 thì tín hiệu ra x p tăng, nếu e 0 thì x p là hằng số, cịn nếu e 0
thì x p giảm. Điều đó dẫn đến sự dao động của tín hiệu ra.
SVTH: Thiện - Nghĩa
Page | 8
ĐIỀU KHIỂN OMNI WHEEL ROBOT DÙNG GIẢI THUẬT PID
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
2.3.3. Khâu vi phân
Trong khâu vi phân, tín hiệu ra tỷ lệ với tốc độ biến thiên của tín hiệu vào, nghĩa
là:
xp Kd
de
dt
Trong đó K là tỷ số truyền của khâu điều khiển vi phân. Hàm truyền của khâu vi
phân có dạng:
X p s
E s
Kd s
Có thể thấy kể cả khi tồn tại sai lệch e 0 thì tín hiệu ra, nghĩa là khơng có phản
ứng của hệ thống, đó là nhược điểm của khâu vi phân. Ưu điểm của khâu vi phân là làm
giảm sai số tĩnh của hệ thống, nghĩa là mỗi khi có sự biến thiên của tín hiệu vào thị hệ
thống lập tức phản ứng để duy trì sự ổn định. Thường khâu điều khiển vi phân được dùng
kết hợp với hai khâu điều khiển trên.
2.3.4. Khâu vi phân tích phân tỉ lệ
Mỗi khâu điều khiển ở trên đều có những ưu nhược điểm riêng. Khâu tích phân có
khả năng khắc phục nhanh sai lệch nhưng khó khắc phục sai số tĩnh, cịn điều khiển vi
phân có sai số tĩnh nhỏ nhưng thời gian đạt tới trạng thái ổn định rất chậm. Để đạt được
tác động điều khiển như ý muốn thì phải kết hợp các khâu điều khiển trên lại với nhau.
Khâu điều khiển tích phân – tỷ lệ( PI ) gồm nhánh tỷ lệ và nhánh tích phân song
song với nhau. Hàm truyền của nó có dạng:
X p s
E s
Kp
Ki
s
Khâu điều khiển vi phân – tỷ lệ( PD ) gồm nhánh tỷ lệ và nhanh vi phân song song
với nhau. Hàm truyền của nó có dạng:
X p s
E s
K p Kd s
Khâu điều khiển vi – tích phân – tỷ lệ(PID) có hàm truyền dạng:
X p s
E s
SVTH: Thiện - Nghĩa
Kp
Ki
Kd s
s
Page | 9
ĐIỀU KHIỂN OMNI WHEEL ROBOT DÙNG GIẢI THUẬT PID
2.4.
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
Phương pháp thiết kế bộ điều khiển PID
Thiết kế bộ điều khiển PID là điều chỉnh các thơng số điều khiển của nó (hệ số tỉ
lệ, hệ số tích phân, hệ số vi phân) tới giá trị đáp ứng điều khiển tối ưu. Thiết kế một bộ
điều khiển PID tốt là một bài tốn khó vì nó phải thỏa mãn các tiêu chuẩn phức tạp nằm
trong những hạn chế của điều khiển PID. Vì vậy có nhiều phương pháp khác nhau để điều
chỉnh cấc thông số PID, và các kỹ thuật phức tạp hơn là đề tài cho nhiều phát minh sáng
chế, mục này nếu ra vài phương pháp thủ công truyền thống để điều chỉnh ba thơng số
đó.
2.4.1. Phương pháp thử sai
Phương pháp thử sai là một phương pháp điều chỉnh các thông số K p , Ki , Kd sao
cho ban đầu Ki , K d bằng không. Tăng dần K p cho đến khi đầu ra của hệ thống dao
động, sau đó K p có thể được đặt tới xấp xỉ một nữa giá trị đó. Khi đã có giá trị K p , tăng
K i đến giá trị phù hợp sao cho đủ thời gian xử lý. Tuy nhiên, K i quá lớn sẽ gây mất ổn
định hệ thống. Cuối cùng, tăng K d nếu cần thiết cho đến khi thời gian xác lập của hệ
thống nhỏ nhất.
Thông số
Thời gian
khởi động
Độ vọt lố
Thời gian
xác lập
Sai số xác lập
Kp
Giảm
Tăng
Giảm
Giảm
Ki
Giảm
Tăng
Tăng
Giảm
Kd
Giảm
Giảm ít
Giảm ít
Khơng tác động
Bảng 2.4.1. Tác động của việc tăng một thông số độc lập
2.4.2. Phương pháp Ziegler-Nichols
Phương pháp Ziegler–Nichols là một phương pháp điều chỉnh bộ điều khiển
PID được phát triển bởi John G. Ziegler và Nathaniel B. Nichols. Phương pháp này được
SVTH: Thiện - Nghĩa
Page | 10
ĐIỀU KHIỂN OMNI WHEEL ROBOT DÙNG GIẢI THUẬT PID
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
thực hiện bằng cách thiết lập hệ số khâu tích phân K i và hệ số khâu vi phân K d về không.
Hệ số khâu tỷ lệ K p được tăng lên từ không cho đến khi nó đạt đến độ lợi K u tối đa, mà
đầu ra của vòng điều khiển dao động với biên độ không đổi. K u và chu kỳ dao
động Tu được sử dụng để thiết lập các hệ số K p , Ki , Kd tùy thuộc vào loại điều khiển được
sử dụng.
Dạng điều khiển
Kp
Ki
Kd
P
0.5Ku
-
-
PI
0.45Ku
1.2K p / Pu
-
PID
0.6 Ku
2 K p / Pu
K p Pu / 8
Bảng 1.4.2. Các thông số của bộ điều khiển PID theo phương pháp Ziegler–Nichols
SVTH: Thiện - Nghĩa
Page | 11
ĐIỀU KHIỂN OMNI WHEEL ROBOT DÙNG GIẢI THUẬT PID
CHƯƠNG 3: THIẾT KẾ VÀ MÔ PHỎNG
CHƯƠNG 3: THIẾT KẾ VÀ MÔ PHỎNG
3.1. Thiết kế
3.1.1. Sơ đồ khối tồn bộ robot
Hình 3.1.1 Sơ đồ khối của robot omni 3 bánh
Chi tiết từng khối
1. Máy tính
Dùng ngơn ngữ lập trình Visual Studio 2010 làm phương tiện giao tiếp. Nhiệm vụ
của Visual Studio 2010 là:
- Tạo giao diện cho người dùng để giao tiếp với người sử dụng. Trên đó cho phép
hiện thị trạng thái đang làm việc của robot.
- Thiết lập giao diện thông qua giao tiếp UART.
- Lấy giá trị vị trí hiện tại và tín hiệu xuất xung từ vi điều khiển truyền đến để
theo dõi.
- Gửi lệnh xuống vi điều khiển, điều khiển robot với nhưng chế độ: tiến, lùi, sang
phải, sang trái, quay thuận, quay nghịch, và tự di chuyển đến điểm đặt.
2. Vi điều khiển
SVTH: Thiện - Nghĩa
Page | 11
ĐIỀU KHIỂN OMNI WHEEL ROBOT DÙNG GIẢI THUẬT PID
CHƯƠNG 3: THIẾT KẾ VÀ MƠ PHỎNG
Dùng phần mềm lập trình của Arduino, khối này có nhiệm vụ:
- Thiết lập giao tiếp với máy tính thơng qua giao tiếp uart.
- Thực hiện việc lấy tín hiệu từ các cảm biến, xử lý dữ liệu để đưa là kết quả như
mong muốn.
- Thực hiện thuật toán điều chế độ rộng xung, xuất xung (PWM) điều khiển mạch
công suất.
3. Mạch giao tiếp
- Dùng để giao tiếp giữa vi điều khiển và máy tính, giao tiếp khơng dây UART.
4. Màn hình LCD
- Hiện thị tọa độ hiện tại của robot lên màn hình, để người dùng dễ quan sát.
5. Nguồn 5v
- Cung cấp nguồn cho vi điều khiển, các cảm biến, màn hình LCD.
6. Nguồn 24V
- Cung cấp nguồn cho khối công suất điều khiển động cơ 24v.
7. Cảm biến
- Thu thập dữ liệu vật lý từ bên ngồi.
8. Mạch cầu H (Mạch cơng suất)
- Nhận tín hiệu điều khiển từ khối vi điều khiển, để điều khiển động cơ một cách
chính xác: điều khiển tốc độ động cơ theo số xung và điều khiển đảo chiều động cơ.
9. Động cơ
- Được điều khiển bởi khối công suất.
3.1.2. Thiết kế bộ điều khiển PID
Để thực hiện bộ điều khiển vị trí, sai số vị trí của các vector được xác định như sau:
𝑥
𝑥′
𝑒 =[ ]−[ ]
𝑦
𝑦′
[x 𝑦]T là vị trí đặt và [x′ 𝑦′]T là vị trí thực tế đo được.
e là sai số giữ vị trí đặt và vị trí thực tế.
Như vậy, ngõ ra điều khiển vị trí có thể được viết như sau:
SVTH: Thiện - Nghĩa
Page | 12
ĐIỀU KHIỂN OMNI WHEEL ROBOT DÙNG GIẢI THUẬT PID
𝐕 = KPe + Ki ∫
CHƯƠNG 3: THIẾT KẾ VÀ MÔ PHỎNG
de
de
+ KD
dt
dt
V là biểu hiện ngõ ra của bộ điều khiển vị trí cho các bánh xe mà thành phần của
mỗi bánh xe được trích ra như sau:
Vi = 𝐕 T × 𝐃i
Trong phương trình này, vector 𝐃i là vector chỉ hướng của motor thứ i. Ngõ ra
của bộ điều khiển vị trí trên mỗi motor là Vi .
3.1.3. Thiết kế giao diện máy tính
Giao diện được thiết kế trên phần mềm Microsoft Visual Studio 2010.
Lập trình bằng ngơn ngữ VB.
Hình 3.1.2 Giao diện điều khiển omni 3 bánh trên máy tính
Cách sử dụng
- Bước 1: chọn cổng COM
SVTH: Thiện - Nghĩa
Page | 13
ĐIỀU KHIỂN OMNI WHEEL ROBOT DÙNG GIẢI THUẬT PID
CHƯƠNG 3: THIẾT KẾ VÀ MÔ PHỎNG
- Bước 2: Click vào chữ “Kết nối”, khi đó các Button “Tiến”, “Lùi”, “Sang phải”,
“Sang trái”, “Quay thuận”, “Quay nghịch”, mới hiện lên, dấu tay kết nối sẽ sáng
lên, bảng trạng thái hiện thị “đã kết nối”.
- Bước 3: Click vào các button “Tiến”, “Lùi”, “Sang phải”, “Sang trái”, “Quay
thuận”, “Quay nghịch” thì xe sẽ chạy theo chế độ đó (ngón tay chỉ hướng xe di
chuyển tương ứng với từng button), trạng thái của xe sẽ được hiển thị lên “ô trạng
thái”.
- Bước 4: Ngắt kết nối (xe dừng chạy), các button sẽ ẩn xuống, thanh trạng thái hiển
thị “đã ngắt kết nối”, đèn kết nối tắt. Sau đó có thể bấm lại nút “kết nối”, hệ thống
sẽ bắt đầu chạy lại.
- Bước 4: Thoát (tắt giao diện).
3.2.
Mơ phỏng Matlap Simulink
3.2.1. Tổng quan hệ thống
Hình 3.2.1 Tổng quan cả hệ thống
SVTH: Thiện - Nghĩa
Page | 14
ĐIỀU KHIỂN OMNI WHEEL ROBOT DÙNG GIẢI THUẬT PID
CHƯƠNG 3: THIẾT KẾ VÀ MƠ PHỎNG
Các thơng số
Hình 3.2.1.a Thơng số của hệ thống
Hình 3.2.1.b Bên trong khối omni robot
SVTH: Thiện - Nghĩa
Page | 15
ĐIỀU KHIỂN OMNI WHEEL ROBOT DÙNG GIẢI THUẬT PID
CHƯƠNG 3: THIẾT KẾ VÀ MƠ PHỎNG
Trong đó:
x_2dot = (-3*B*u(4))/(2*m)-((a*sin(u(5))*u(1))/m)-((a*sin((pi/3)u(5))*u(2))/m)+((a*sin((pi/3)+u(5))*u(3))/m)
y_2dot = ((-3*B*u(4))/(2*m))+((a*cos(u(5))*u(1))/m)-((a*cos((pi/3)u(5))*u(2))/m)-((a*cos((pi/3)+u(5))*u(3))/m)
theta_2dot = ((-3*B*L*L*u(4))/J)+(a*L*u(1))+(a*L*u(2))+(a*L*u(3))
Lưu ý: Từ hàm x_2dot, y_2dot, theta_2dot ta tích phân lần một ra được vận tốc,
tích phân lần 2 ra được vị trí.
3.2.2. Kết quả mơ phỏng
a. Minh họa 1: x_d = 0.3; y_d = 0.3, theta_d = 0.
Hình 3.2.2a Minh họa 1
SVTH: Thiện - Nghĩa
Page | 16
ĐIỀU KHIỂN OMNI WHEEL ROBOT DÙNG GIẢI THUẬT PID
CHƯƠNG 3: THIẾT KẾ VÀ MÔ PHỎNG
b. Minh họa 2: x_d = 0, y_d = 0.3, theta_d = pi/6.
Hình 3.2.2b Minh họa 2
c. Minh họa 3: x_d = -0.3, y_d = -0.7, theta_d = pi/3.
Hình 3.2.2c Minh họa 3
SVTH: Thiện - Nghĩa
Page | 17
ĐIỀU KHIỂN OMNI WHEEL ROBOT DÙNG GIẢI THUẬT PID
CHƯƠNG 3: THIẾT KẾ VÀ MÔ PHỎNG
d. Minh họa 4: x_d = 0.5, y_d = -0.2, theta_d = pi/12.
Hình 3.2.2d Minh họa 4
e. x_d = 0.3, y_d = 0, theta_d = pi/3.
Hình 3.2.2e Minh họa 5
SVTH: Thiện - Nghĩa
Page | 18
ĐIỀU KHIỂN OMNI WHEEL ROBOT DÙNG GIẢI THUẬT PID
CHƯƠNG 3: THIẾT KẾ VÀ MƠ PHỎNG
f. Bán kính: 0.4
Hình 3.2.2f Minh họa 6
Kết luận: Từ các ví dụ minh họa ta thấy robot nhanh chóng di chuyển đến điểm đặt.
SVTH: Thiện - Nghĩa
Page | 19
ĐIỀU KHIỂN OMNI WHEEL ROBOT DÙNG GIẢI THUẬT PID
CHƯƠNG 4: THI CƠNG MƠ HÌNH
CHƯƠNG 4: THI CƠNG MƠ HÌNH
4.1. Phần cứng
4.1.1 Linh kiện cần dùng
Bánh xe:
- Sử dụng bánh omni
- Số lượng : 6 cái
Cảm biến
- Cảm biến siêu âm SRF05:
+ Xác định tọa độ cho robot theo 2 trục x, y.
+ Số lượng: 2 con
- Cảm biến la bàn HMC5883L: định hướng góc cho robot.
Động cơ
- Động cơ DC planet 60W.
- Số lượng: 3 cái.
Vi điều khiển
- Sử dụng board arduino mega 2560
- Số lượng: 1 cái.
Màn hình LCD 16x2
- Số lượng: 1 cái.
Giao tiếp máy tính
- Module C1101
- Số lượng: 2 cái.
Nguồn 24VDC
- Pin lipo 24VDC
- Số lượng: 1 pin.
Mạch nguồn 5 VDC: IC 7805.
Khung làm bằng mica
Các dây bus, dây điện, công tắc, test board…
SVTH: Thiện - Nghĩa
Page | 20
ĐIỀU KHIỂN OMNI WHEEL ROBOT DÙNG GIẢI THUẬT PID
CHƯƠNG 4: THI CƠNG MƠ HÌNH
4.1.2 Chi tiết từng phần
a. Bánh omni
Hình 4.1.2a Bánh omni
Bánh omni là loại bánh có các vệ tinh nhỏ đặt xung quanh chu vi bánh và vng
góc với trục bánh. Nhờ đó bánh xe có thể di chuyển dọc (do động co truyền động) và
trượt theo chiều ngang (phụ thuộc và chuyển động của bánh còn lại). Kết hợp 2 chuyển
động này (cơng vector) thì bánh omni có thể di chuyển theo mọi hướng.
Mỗi lớp có 12 bánh vệ tinh , tất cả các bánh vệ tinh và bánh lớn đều dùng bạc đạn
loại tốt nên độ bền cao và giảm ma sát tối đa.
Thông số kỹ thuật
Đường kính: 136mm.
Độ rộng: 19mm.
Vật liệu sườn bánh: Cao su mềm.
Vật liệu bánh vệ tinh: nhựa cứng trong lõi nhựa dẽo ở phía ngồi lớp vỏ tăng độ
ma sát và bền hơn.
Bánh vệ tinh: sử dụng 2 bạc đ.ạn 3x9x5mm cho mỗi bánh.
Khối lượng: 250g.
Tải trọng: 15kg.
SVTH: Thiện - Nghĩa
Page | 21