Nhận xét:
Bánh phải( Bánh số 2) đạt đến vận tốc ≈ 20 Vòng/Phút trong một khoảng thời gian ngắn(Gia tốc lớn) sau đó giảm dần về 0 Vòng/Phút trong thời gian 15s khi đạt đến đích.
Bánh trái(Bánh số 1) đạt đến vận tốc ≈ 13 Vòng/Phút trong một khoảng thời gian ngắn(Gia tốc lớn) sau đó giảm dần về 0 Vòng/Phút trong thời gian 15s khi đạt đến đích.
Cả hai bánh đều quay ngược(Vận tốc âm) trong khoảng thời gian ngắn trước khi vọt lên tốc độ max do tác động của mômen cản kéo robot ngược về phía sau.
64
Hình 4.17 Kết quả mô phỏng tọa độ robot theo trục x
Hình 4.18 Kết quả mô phỏng tọa độ robot theo trục y
65 Nhận xét:
Tổng thời gian robot đạt đến vị trí đích trong khoảng 15s, trong đó 1/3 khoảng thời gian đầu tiên(Từ 0s-5s) robot di chuyển nhanh đến gần đích, 2/3 thời gian còn lại robot căn chỉnh để tiếp cận đích (Từ 5s-15s).
Nhận xét:
Robot thay đổi góc di chuyển trong khoảng thời gian ngắn(Gia tốc quay lớn) sau đó giữ ổn định trong suốt thời gian di chuyển.
Hình 4.21 Kết quả mô phỏng vị trí robot chuyển động từ gốc ban đầu tới đích Nhận xét: Nhận xét:
Robot di chuyển trên quỹ đạo cong ngắn trong khoảng 0,2m sau đó di chuyển trên quỹ đạo gần như đường thẳng tới đích.
66
4.5 THỰC NGHIỆM
4.5.1 Kết cấu mô hình robot di động.
Hình 4.22 Sơ đồ khối mô hình robot sử trụng trong luận văn
(Differential Driver Mobile Robot- DDMR)
4.5.2 Thông số kỹ thuật robot di động
Khung robot:
Là một kết cấu vững chắc dựng từ khung inox để gắn các thiết bị như motor truyền động, hai bánh xe chủ động, bánh xe bị động, các bộ điều khiển, màn hình cảm ứng, ắc quy cấp nguồn... thông số chi tiết trong bảng 4.3.
Thông số kỹ thuật chính Hình ảnh
Vật liệu khung: Inox hộp 13.5mm Vật liệu vỏ: Mica cắt Laser
Khối lượng: 2kg
Kiểu kết cấu: Hàn ghép cứng
Kích thước(LxWxH): 406x326x253mm
Bảng 4.3 Thông số kỹ thuật khung sườn robot
C A ME R A IMA GE P R OC E SS OR C ONT R O L L E R B A T T E R Y Mo to r1 Mo to r2 Wheel 1(Right) Wheel 2(Left)
67
Bánh xe robot:
- Bánh xe chủ động robot: Kết nối với hộp giảm tốc động cơ thông qua cơ cấu Puli, dây đai, tạo chuyển động chơ robot dưới tác động quay của động cơ, thông số được trình bày trong bảng 4.4.
Thông số kỹ thuật chính Hình ảnh
Loại vật liệu: Nhôm đúc, bọc lốp cao su Kiểu bánh: Fixed Wheel
Khối lượng: 210g
Tải trọng cho phép: 50Kg Đường kính ngoài: 100mm Bề rộng: 35mm
Bảng 4.4 Thông số kỹ thuật bánh xe chủ động robot
- Bánh xe bị động robot: Kết nối trực tiếp vào khung robot, có vai trò giữ thăng bằng cho robot khi chuyển động, thông số kỹ thuật được trình bày trong bảng 4.5
Thông số kỹ thuật chính Hình ảnh
Loại vật liệu: Polyurethane và thép Kiểu bánh: Castor Wheel
Khối lượng: 150g Tải trọng: 45Kg
Đường kính ngoài: 38mm Bề rộng: 23mm
Chiều cao tổng thể: 58mm
68
Động cơ robot: Gắn trực tiếp vào khung robot, tạo chuyển động chính cho robot
thông qua bánh xe chủ động, Robot sử dụng hai động cơ với thông số kỹ thuật được trình bày trong bảng 4.6. Thông số kỹ thuật chính Hình ảnh Công suất: 15W Điện áp: 24VDC Tốc độ: 3000 rpm Moment xoắn: 0.410N.m Hộp giảm tốc: i=30 Tổng trọng lượng: 1.02Kg Đường kính trục ra: 8mm
Bảng 4.6 Thông số kỹ thuật động cơ robot
Pin- Ắc quy robot: Đóng vai trò cung cấp nguồn cho toàn bộ robot DDMR, là loại
Pin có thể xác được, dòng xả ổn định, thông số kỹ thuật được trình bày trong bảng 4.7
Thông số kỹ thuật chính Hình ảnh
Loại ắc quy: Ắc quy khô, kín khí Điện áp trung bình: 12V Dung lượng: 2.2 Ah Kích thước(LxWxH): 178x35x61mm Trọng lượng: 0.95Kg/Chiếc Số lượng : 03 Pc Kiểu cấp:
- 01Pc cấp nguồn cho bộ điều khiển.
- 02 Pcs nối tiếp tạo điện áp 24V, cấp nguồn động cơ.
Bảng 4.7 Thông số kỹ thuật Pin cấp nguồn
69
Camera: Đóng vai trò như một cảm biến hình ảnh, thu nhận hình ảnh không gian
phía trước robot, tiền xử lý( cân bằng sáng...) sau đó truyền dữ liệu hình ảnh về bộ xử lý ảnh, thông số kỹ thuật camera được trình bày trong bảng 4.8
Thông số kỹ thuật chính Hình ảnh
Loại camera: Camera kỹ thuật số Điện áp hoạt động: 5VDC(USB) Độ phân giải: HD(1280x720 Pixel)
Công nghệ: Tự động điều chỉnh tiêu cự
Kết nối: Chuẩn kết nối USB Chế độ chụp ảnh : 8 megapixels
Bảng 4.8 Thông số kỹ thuật camera
Cảm biến siêu âm: Xác định vị trí tương đối của đối tượng đích so với robot, giúp
robot dừng chính xác ở một khoảng so với đối tượng đích, thông số kỹ thuật module cảm biến siêu âm được trình bày trong bảng 4.9
Thông số kỹ thuật chính Hình ảnh
Nguồn cấp: 5VDC
Dòng tiêu thụ: 30mA(Max 50mA) Tần số quét: 40Khz
Khoảng đo nhỏ nhất: 3cm Khoảng đo lớn nhất: 300cm
Kích thước(LxWxH): 43x 20 x17mm
Bảng 4.9 Thông số kỹ thuật module cảm biến siêu âm
Bộ xử lý ảnh: Xử dụng bộ vi xử lý của Samsung , chạy hệ điều hành Android. Là
khối chứa các thuật toán xử lý ảnh nhận về từ camera, có tích hợp màn hình cảm ứng điện dung 7 Inch, hiện thị giao diện điều khiển chính, hiển thị hình ảnh trước và sau khi xử lý ảnh, hiển thị thông tin về tọa độ đối tượng trong khung hình...Thông số kỹ thuật khối xử lý ảnh được trình bày trong bảng 4.10
Model: Logitech C525
70
Thông số kỹ thuật chính Hình ảnh
CPU: Samsung Exynos4412, based Quad Cortex-A9, running at 1.5GHz. Bộ nhớ Ram DDR2: 1Gb, 32 bit
Bộ nhớ Flash: 4Gb eMMC Flash up to 16/32Gb eMMC Flash
Phần mềm hỗ trợ: - Superboot-4412
- Android arm-linux-gcc 4.5.1 cross compiler
- u-boot_Tiny4412 source code package
- Android Android 4.2 source code package
- Linux-3.5.0 source code package Ngoại vi:
- 02 Port USB - 01 Port HDMI - 01 Port Micro USB - 01 Port Ethernet - 01 Port Audio Out - 01 Port Mic
- 01 SD Card Slot
- Và các ngoại vi khác( Chi tiết hình 3.1)
Bảng 4.10 Thông số kỹ thuật khối xử lý hình ảnh Core xử lý ảnh Core xử lý ảnh
Kit hoàn chỉnh
71
72
Bộ điều khiển động cơ: Xử dụng chip lõi ARM 32 bit có các đầu vào cảm biến
siêu âm, đầu vào mức logic cách ly quang, đầu vào truyền thông công nghiệp, đầu ra điều khiển motor kiểu cầu H và kiểu Mosfet+ Relay... Thông số kỹ thuật được trình bày trong bảng 4.11. Thông số kỹ thuật chính Hình ảnh Bộ xử lý: STM32F103 VET6 - 32 – bit Cortex M3 CPU. - 512Kbytes of Flash - 64 Kbytes of SRAM Ngoại vi: - 02 Port Rs485 - 02 Port Rs232 - 05 Isolator Input Logic - 03 Chanel Mosfet+Relay - 02 Chanel H Bridge - 05 SFR05 Sensor input
Bảng 4.11 Thông số kỹ thuật khối điều khiển động cơ
Sơ đồ các khối chức năng mạch điều khiển động cơ được trình bày chi tiết dưới đây:
73
Khối nguồn: Mạch điều khiển sử dụng hai khối nguồn độc lập cấp nguồn cho bộ vi
xử lý và cấp nguồn cho động cơ để tránh nhiễu phát sinh trong quá trình động cơ hoạt động.
- Khối nguồn cho vi điều khiển: Vì bộ vi xử lý lõi ARM chạy điện áp 3.3v nên từ nguồn điện 12VDC do ắc quy cung cấp sẽ qua IC ổn áp LM2596 và
AMS1117 để tạo nguồn 3.3v nuôi chip và các khối IC chức năng, sơ đồ nguyên lý chi tiết khối nguồn sử dụng trong mạch điều khiển được trình bày chi tiết như hình 4.20.
Hình 4.24 Sơ đồ mạch nguyên lý khối nguồn cho vi điều khiển và các IC chức năng - Khối nguồn cho động cơ: Như đã trình bày, động cơ sử dụng trong mô hình - Khối nguồn cho động cơ: Như đã trình bày, động cơ sử dụng trong mô hình
chạy điện áp 24VDC nên để đoan giản, nguồn sẽ cấp trực tiếp từ đầu vào ắc quy, qua diode chống ngược mà không cần qua các khối IC ổn áp như trình bày trong hình 4.21
74
Hình 4.25 Sơ đồ mạch nguyên lý khối nguồn cho động cơ
Khối vi điều khiển: Vi điều khiển sử dụng cho mô hình được tác giả lựa chọn là bộ
vi điều khiển 32 bit lõi ARM, phù hợp cho những ứng dụng yêu cầu xử lý tốc độ cao, ổn định, sơ đồ mạch khối vi điều khiển được trình bày trong hình 4.22.
Hình 4.26 Sơ đồ mạch nguyên lý khối vi điều khiển
Khối truyền thông dữ liệu: Trên bộ điều khiển tác giả thiết kế hai khối giao tiếp
75
theo chuẩn Rs232, một khối truyền thông theo chuẩn Rs485. Các khối truyền thông này sẽ chuyển đổi các tín hiệu đầu vào tọa độ (x.y) gửi từ khối xử lý ảnh đến vộ vi xử lý trung tâm tính toán và đưa ra tín hiệu điều khiển động cơ. Trong khuôn khổ mô hình tác giả chỉ sử dụng đến khối truyền thông Rs232 để giao tiếp với khối xử lý ảnh, khối truyền thông Rs485 để dự phòng, sơ đồ mạch khối Rs232 được trình bày trong hình 4.27
Hình 4.27 Sơ đồ mạch nguyên lý khối truyền thông chuẩn Rs232
Khối tín hiệu đầu vào: Bộ điều khiển tích hợp 05 tín hiệu đầu vào cách ly quang,
04 tín hiệu đầu vào dược nối với nút nhấn điều khiển robot chạy ở chế độ bằng tay bao gồm các thao tác điều khiển robot chạy tiến, chạy lùi, rẽ trái, rẽ phải, 01 tín hiệu đầu vào dự phòng. Sơ đồ khối tín hiệu đầu vào được trình bày như trong hình 4.24.
76
Hình 4.28 Sơ đồ mạch nguyên lý khối đầu vào mức logic
Khối điều khiển công suất động cơ: Như đã trình bày, Bộ điều khiển động cơ gồm
2 kênh điều khiển động cơ kiểu cầu H dùng Mosfet và 03 kênh Mosfet kết hợp với rơle để đảo chiều động cơ:
- Sơ đồ mạch điện khối điều khiển động cơ sử dụng cầu H được trình bày trong hình 4.24.
77
Hình 4.29 Sơ đồ mạch nguyên lý khối điều khiển động cơ kiểu cầu H sử dụng Mosfet(IRF 540 và IRF9540)
- Sơ đồ mạch điện khối điều khiển động cơ sử dụng Mosfet kết hợp với rơ le đảo chiều được trình bày trong hình 4.25.
Hình 4.30 Sơ đồ mạch nguyên lý khối điều khiển động cơ kiểu cầu Mosfet kết hợp với rơ le đảo chiều quay động cơ
U7 PC817 U9 PC817 Q14 IRF540 Q15 IRF540 Q13 IRF9540 Q17 IRF9540 1 2 M P6 Header 2 - M 10K R24 D25 M7 D13 M7 D14 M7 D29 M7 +24V 104 C5 U36 PC817 U12 PC817 +3.3V R72 470 8 10 9 U35D 74AC00PC +3.3V R74 470 R5 470 +3.3V 5 6 4 U35B 74AC00PC 11 13 12 U35C 74AC00PC R75 470 +3.3V R9 1k +24V R73 1k +24V 1 2 3 U35A 74AC00PC PWM1 CW/CCW1 GND_M GND_M GND_M GND_M 10K R71 10K R76 10K R77 5 6 U50C 74AC04PC 13 12 U50D 74AC04PC
78
4.5.3 Sơ đồ khối chức năng robot di động
Hình 4.32 Sơ đồ các khối chức năng trên robot Hình 4.31 Robot DDMR và đối tượng đích Hình 4.31 Robot DDMR và đối tượng đích
Thu nhận ảnh Đọc ảnh, xử Lý ảnh, xác định tọa độ đích... Tính toán, xử lý dữ liệu, thuật toán điều khiển.. Motor gắn trên robot Xác định khoảng cách từ đối tượng đích đến robot Camera
Khối xử lý ảnh Khối điều khiển
trung tâm
Cơ cấu chấp hành
Khối cảm biến siêu âm Đích Đối tượng đích C A ME R A IMA GE P R OC E SS OR C ONT R O L L E R B A T T E R Y Mo to r1 Mo to r2 Wheel 1(Right) Wheel 2(Left)
79
Sơ đồ thực nghiệm hệ thống điều khiển robot di động chuyển động tới đích sử dụng trong mô hình thực tế:
Hình 4.33 Sơ đồ hệ thống điều khiển mobile robot chạy thực nghiệm
80
Hình 4.34 Lưu đồ thuật toán điều khiển chuyển động robot Y Y N Điều khiển Robot đến đích Tới đích Xác định toạ độ đích so với tọa độ robot Kết thúc chương trình Bắt đầu chương trình chạy tự động Chọn đối tượng đích
81
Hình 4.35 Lưu đồ thuật toán chương trình xử lý ảnh và điều khiển robot di chuyển tới đích
N
Y
N Y
Kiểm tra có phải là đối tượng đã chọn
Đọc hình ảnh truyền về từ camera(2.18), (2.12) Hiển thị lên giao diện Touch Screen(2.14)
Bắt đầu chương trình (Đối tượng đích nằm trong vùng quan sát của camera)
Xử lý ảnh sơ bộ(2.19),(2.20) Chuyển đổi không gian màu RGB → HSV,(2.6)
Hiển thị ảnh HSV lên màn hình(2.14)
Tìm kiếm màu theo màu của đối tượng Xác định các đối tượng cvFindContours
Lọc đối tượng đích(2.24) Loại bỏ nền
Xác định tọa độ tương đối của của đối tượng đích Truyền thông tin tọa độ cho bộ điều khiển chuyển động
Đọc dữ liệu tọa độ tương đối của đối tượng đích truyền về từ khối xử lý ảnh và khối cảm biến siêu âm
Điều khiển robot dừng chuyển động
Điều khiển động cơ đưa robot chuyển động tới đích thông qua
các thuật toán điều khiển trong chương trình vi điều khiển(*) So sánh sai lệch tọa độ đối
tượng đích với tọa độ robot εx<=10?
Kết thúc chương trình
82
Hình 4.36 Lưu đồ thuật toán chương trình điều khiển động cơ đưa robot chuyển động đến đích N Y Y εy>=0? Bắt đầu chương trình
Xách định dấu và giá trị sai lệch εy của đối tượng đích so với robot
Điều khiển robot dừng lại εx<=10? Kết thúc chương trình PWM1 = PWM0 + uy PWM2 = PWM0 - uy
Tính toán đại lượng điều khiển uy qua giải thuật PID
N
PWM1 = PWM0 - uy
83
Trong lưu đồ thuật toán trên nhiệm vụ của bộ điều khiển là điều khiển robot DDMR (Điều khiển hai động cơ gắn với bánh 1 và bánh 2) đến đúng vị trí đích với các yêu cầu: Chính xác (Accurate), nhanh (Fast response), ổn định (Small overshot) do đó bộ điều khiển được sử dụng là bộ điều khiển PID.
.
Hình 4.37 Sai lệch tọa độ tương đối vị trí đích và robot
Do điều kiện thực nghiệm thực tế giá trị sai lệch εx camera đo được chỉ là tương đối nên tác giả chỉ dùng giá trị này để làm căn cứ xác định robot đã tiến gần tới đích chưa mà không áp dụng luật điều khiển cho sai lệch này.
Sử dụng bộ điều khiển PID cho sai lệch εy và bộ điều khiển này có dạng sau: uy = kp*e1 +kd*(de1/dt) + ki*∫ 𝒆𝟏𝒅𝒕
Trong đó:
uy - là tín hiệu đầu ra điều khiển.
kp, kd, ki tương ứng là các hằng số tỷ lệ, vi phân và tích phân của bộ điều khiển. e1 là sai số cần điều khiển tức là độ lệch của đích so với tâm robot (Sai số e1 được xác định từ bộ xử lý ảnh, chính là giá trị tọa độ tương đối giữa đích và robot εy như hình 4.38 ) . (4.1) εy εx o Hướng di chuyển của robot
84
Từ đầu ra của bộ điều khiển PID trong (4.1) ta sẽ xác định giá trị PWM điều khiển động cơ hai bánh theo hai cặp phương trình tương ứng sau tùy vào dấu của sai lệch εy:
Nếu sai lệch e1 = εy có dấu dương:
PWM1= PWM0 – uy. PWM2= PWM0 + uy. Nếu sai lệch e1 = εy có dấu âm:
PWM1= PWM0 + uy. PWM2= PWM0 - uy.
Công thức của bộ điều khiển PID trình bày trong (4.1) là dạng hàm liên tục của biến e1, trong đó có cả thành phần tuyến tính, đạo hàm và tích phân. Tuy nhiên, hệ thống vi điều khiển lại là hệ thống số do đó muốn xây dựng bộ điều khiển PID cho vi điều khiển chúng ta phải tiến hành xấp xỉ phương trình liên tục trên thành phương trình dạng rời rạc.
Vì bộ điều khiển PID xây dựng trong ARM sẽ là bộ điều khiển số, chúng ta cần