Như trong kết luận phần 1.2 về mục tiêu và nhiệm vụ của luận án, công việc đầu tiên là xây dựng một robot di động: thiết kế cấu trúc, xây dựng phần cứng, lập trình phần mềm cho lõi vi xử lý, lập trình phần mềm trên PC để giám sát hoạt động của robot.
1.2.1. Xây dựng cấu trúc của hệ robot tự hành
1.2.1.1 Cấu trúc tổng quan của hệ robot tự hành bám mục tiêu chuyển động.
Hệ thống tổng quan bao gồm có 3 bộ phận chính [18, 19, 37, 75, 84] Hình 1.7:
(1) Máy tính PC, hình ảnh thu được từ cảm biến hình ảnh (camera) và các tín hiệu phản hồi vị trí và tốc độ của robot sẽ được xử lý và tính toán tọa độ của mục tiêu. Từ đó tính toán ngược và sử dụng các phép đổi trục để xác định quỹ đạo chuyển động mẫu cho bài toán bám của robot tự hành, (2) Vi xử lý ARM là bộ tính toán các giá trị điều khiển tốc độ, vị trí và momen (dòng cấp) cho cơ cấu chấp hành của robot (là hai động cơ điện một chiều). Đầu vào của phần này là tín hiệu quỹ đạo đặt do máy tính PC gửi xuống và các tín hiệu phản hồi từ cơ cấu chấp hành. (3) robot tự hành là robot hai bánh sau chủ động, bánh trước tự lựa, thuộc dạng non-hononomic. Đặc điểm là bệ giá đỡ camera là một hệ đế xoay hai bậc tự do Pan/Tilt được gắn có trục tâm thẳng với tọa độ tâm của robot tự hành.
Hình 1.7. Sơ đồ tổng quan của hệ thống robot tự hành bám mục tiêu di động (1) Máy tính PC
(2) Vi xử lý ARM
(3) robot tự hành x q y
Cơ cấu
chấp hành (DC Motor)
1 2
robot
tự hành Thuật
toán điều khiển bám
quỹ đạo
w
v
r
r r
r
x
q y
Xác định quỹ Lập phương
án chuyển động (Path planning)
Xác định quỹ đạo (SLAM) Xử lý ảnh xác định vị trí mục tiêu
e
e e
e
x
q y
23
1.2.1.2 Cấu trúc phần cứng robot tự hành bám mục tiêu chuyển động.
Hình 1.8. Cấu trúc tổng thể phần cứng khi gắn liền bộ xử lý trung tâm trên xe robot [ 75, 84]
Hình 1.9. Cấu trúc tổng thể phần cứng khi tách bộ xử lý trung tâm đặt riêng tại trung tâm điều khiển [75, 84]
24 Cấu trúc của hệ điều khiển gồm hai phần chính:
- Phần 1: Máy tính PC với nhiệm vụ thu nhận ảnh và xử lý ảnh dựa vào chuỗi hình ảnh thu được từ camera để nhận dạng và tính toán vị trí của đối tượng mục tiêu.
Cung cấp dữ liệu vị trí này cho mạch chủ điều khiển đặt trên robot (công đoạn này mang tính chất như một cảm biến phản hồi cho mạch chủ điều khiển robot).
- Phần 2: Là mạch chủ điều khiển đặt trên robot, là phần chứa các thuật toán điều khiển cho hoạt động của robot: dựa vào thông số vị trí đối tượng nhận được từ phần một trên PC (cảm biến hình ảnh), tính toán tín hiệu điều khiển robot bám theo sao cho đối tượng di chuyển được duy trì ở một vị trí nhất định trên mặt phẳng ảnh và ở một khoảng cách nhất định, hoặc giao tiếp với đối tượng.
1.2.2. Xây dựng phần cứng cho mạch chủ điều khiển robot:
NCS đã xây dựng một board mạch chủ điều khiển trung tâm và các giao tiếp ngoại vi, cụ thể mạch chủ điều khiển có các khối đã được xây dựng như sau:
- Khối xử lý trung tâm: Chíp vi xử lý được sử dụng cho mạch chủ điều khiển trung tâm phải có tốc độ tính toán cao để có thể xử lý các thuật toán có độ phức tạp, đồng thời có khả năng mở để có thể nâng cấp sau này, có độ tin cậy cao, khả năng kháng nhiễu tốt. Với những yêu cầu đó, NCS đã lựa chọn lõi vi xử lý ARM Cortex M3 LM3S8971 của Texas Intruments (TI). Đây là dòng vi điều khiển 32 bit ARM Cortex- M3, kiến trúc Harvard, có khả năng tính toán hiệu suất cao phù hợp trong các ứng dụng vi điều khiển nhúng linh hoạt. Một số thông số của lõi LM3S8971:
- Kiến trúc được tối ưu hóa với chân linh kiện bé cho các ứng dụng nhúng.
- Tần số hoạt động: 50MHz.
- Bộ nhớ trong: 256Kb flash, và 64 Kb SRAM.
- GPIOs (General Purpose Input/Outputs, vào/ra mục đích chung): 4-38 GPIOs tùy thuộc vào việc cấu hình, lập trình điều khiển ngắt cho GPIOs.
- Bốn bộ Timer GPTM (General Purpose Timer Modules): mỗi bộ cung cấp 2 bộ Timer/Counter 16 bit, và mỗi bộ có thể được cấu hình để hoạt động độc lập như: 1 bộ Timer đơn 32 bit, 1 đồng hồ thời gian thực 32 bit để nắm bắt sự kiện, bộ điều chế độ rộng xung PWM, để kích hoạt chuyển đổi tương tự-số.
- ADC: 8 kênh đầu vào tương tự, tốc độ lấy mẫu là một triệu mẫu trong 1 giây, dễ dàng cấu hình chuyển đối tương tự-số.
25
- UART: có thể lập trình cho phép tốc độ baud-rate lên tới 3.125 Mbps; chuẩn giao tiếp không đồng bộ với các bit: bắt đầu, dừng, tính chẵn lẻ; cho phép phát hiện và sửa lỗi đường truyền.
- PWM: gồm 3 khối phát PWM, mỗi khối gồm một Counter 16 bit, 2 bộ so sánh PWM, 1 bộ phát tín hiệu PWM, một bộ phát tín hiệu băng tần chết, một bộ lựa chọn ngắt, kích hoạt ADC.
- Nguồn cấp: mạch chủ điều khiển trung tâm được nuôi bởi nguồn Acquy 24V, sử dụng các IC nguồn chuyên dụng của TI UA7812, UA7805, TLV1117-33 cho ra các điện áp một chiều +3.3V, 5V, 12V. Nguồn cấp được bảo vệ quá điện áp và quá dòng.
- Các đầu vào
Đầu vào Counter: mạch chủ điều khiển được thiết kế có 08 đầu vào đếm tốc độ cao có thể đếm được xung vuông 0÷5V tần số cực đại 65Kz. Đầu vào đếm xung này sử dụng cho các cảm biến mà tín hiệu ra là xung như encoder phản hồi. Khả năng mở rộng thêm đầu vào đếm xung tốc độ cao có thể lên tối đa là 16.
Đầu vào số: mạch chủ điều khiển được thiết kế có 32 đầu vào số với mức tín hiệu chuẩn 24V, với mục đính đọc các tín hiệu logic như công tắc hành trình, công tắc, nút bấm. Khả năng mở rộng của đầu vào số loại này tối đa là 48 đầu vào số logic.
Đầu vào tương tự: mạch chủ điều khiển được thiết kế có 08 đầu vào tương tự 0÷5V và 2 đầu vào 0÷10V, 1 đầu vào 0÷20mA, 1 đầu vào 0÷40mV.
Đầu vào giao tiếp I2C, UART: mạch chủ điều khiển được thiết kế có 08 đầu giao tiếp I2C hoặc UART. Các chuẩn kết nối này giúp giao tiếp với giữa vi xử lý với các tín hiệu từ các cảm biến ngoại vi của robot như: cảm biến siêu âm như PIR, IR của Sharp, cảm biến gia tốc và độ nghiêng Gyro sensor, ADXL203 và MMA7455…
- Các đầu ra:
Đầu ra số: bộ điều khiển có 16 đầu ra số kiểu rơle 24V, dòng tối đa 1A. Dùng cho các mục đích đóng mở các cơ cấu chấp hành kiểu logic. Đầu ra số có thể mở rộng tối lên tối đa 48.
Đầu ra xung: đầu ra số dạng xung PWM, với biên độ 0÷5V, tần số 0÷100Kz, Đầu ra xung PWM có thể mở rộng tối đa lên 08.
Đầu ra tương tự: tín hiệu ra tương tự: bộ điều khiển có 04 đầu ra tương tự 0÷5V;
2 đầu ra 0÷10V, dòng lớn nhất là 1A. Các đầu ra này nhằm mục đích điều khiển các cơ cấp chấp hành kiểu như val lưu lượng, val khí nén…
26
- Khối Driver điều khiển động cơ: lựa chọn sử dụng các IC cầu chuyên dụng của TI để điều khiển các động cơ của robot để có thể kiểm soát tốc độ và góc quay một cách chính xác. Trên mạch chủ có để 06 đầu ra điều khiển động cơ (ở đây là các động cơ DC Servo có Encorder 1000ppr). Một số đặc tính của IC cầu DRV8842, DRV8829, DRV8825, DRV8432:
Driver động cơ điều khiển dòng cầu H đơn.
Dòng điều khiển lớn nhất là 5A (tại điện áp 24V, 25 độ c).
Tuân thủ giao diện chuẩn công nghiệp PWM.
Dải điện áp làm việc rộng, từ 8.2V đến 45V.
- Bàn phím: ở đây bộ mạch chủ điều khiển được thiết kế bàn phím 16 nút 4x4, điều này sẽ giúp người sử dụng tương tác dễ dàng hơn.
- Màn hình hiển thị LCD: mạch chủ có thể giao tiếp với hai loại hiển thị thường dùng ở các bộ điều khiển là LCD và LCD Graphic.
- Cổng giao tiếp RS232-RS485: mạch chủ điều khiển trung tâm có thể được kết nối với máy tính hoặc các thiết bị khác qua cổng nối tiếp RS232 hoặc RS485. Kết nối theo chuẩn RS232 đơn giản, thuận tiện nhưng vẫn đảm bảo được tính tin cậy cần thiết.
Kết nối chuẩn RS485 một mặt cho phép kết nối khi bộ điều khiển đặt ở xa máy tính giám sát. Kèm theo các câu lệnh chuẩn cung cấp cho phần mềm giám sát trên máy tính sẽ giúp người sử dụng tương tác với robot thuận tiện hơn, đồng thời cũng dễ dàng theo dõi quá trình điều khiển.
- Cổng giao tiếp mạng không dây RF: sử dụng bộ truyền thông không dây chuyên dụng 2.4 GHz của TI là CC2500
Hình 1.10. Ảnh chụp toàn bộ hệ robot tự hành sản phẩm
27
Hình 1.11. Ảnh chụp bên trong và bên ngoài robot