708 Ngô Mạnh Tiến, Phan Xuân Minh, Phạm Ngọc Minh, Hà Thị Kim Duyên VCM2012 Một số kết quả nghiên cứu mới trong phát triển hệ Robot tự hành có gắn camera tự động tìm kiếm và bám mục tiêu di động Some of new research results in the Deverlopment of Mobile Robot mounted Camera automatically Seaching and Tracking Moving Target Ngô Mạnh Tiến Viện Vật Lý, Viện KH&CN Việt Nam, Email: nmtien@iop.vast.ac.vn Phan Xuân Minh Đại Học Bách Khoa Hà Nội, Email : minhxp-ac@mail.hut.edu.vn Phạm Ngọc Minh Viện Công nghệ thông tin, Viện KH&CN Việt Nam, Email: pnminh@ioit.ac.vn Hà Thị Kim Duyên Khoa Điện tử, ĐH Công Nghiệp Hà Nộim Email: hkduyen@haui.edu.vn Tóm tắt: Bài báo này trình bày một số kết quả mới (phiên bản hai) trong việc xây dựng và phát triển một hệ robot tự hành có gắn camera tự động bám mục tiêu di động, bao gồm các bước: mô hình hóa, mô phỏng, thiết kế thuật toán điều khiển bám ảnh tự động, thiết kế và chế tạo phần cứng, lập trình phần mềm điều khiển và chạy thử nghiệm. Các kết quả cho thấy hệ robot tự hành đã hoạt động đạt được các chỉ tiêu chất lượng tốt hơn so với phiên bản trước [1], Robot đã bám và gắp được vật trên sàn phẳng, bên cạnh đó về phần cứng phiên bản mới đã đạt được đầy đủ các chỉ tiêu cho các ứng dụng thực tế. Những kết quả nghiên cứu này là cơ sở đưa Robot gần hơn đến các ứng dụng thực tế. Abstract: This paper presents some new results (version two) in the construction and development of of a self propelled robot mounted camera as follows: modeling, simulation, automatic image alignment control algorithms, design and manufacture hardware, control software programming and testing. The results show that the Mobile Robot has been in operation to achieve quality targets better than the previous version [1], Robot track and pick up objects on the floor flat. besides, hardware of the new version has achieved full specifications for the actual application . These researching resuls are bases for actual applications Keywords: Camshift, OpenCV, Robot mobile, ARM Cortex M3, LM3S8971, Computer Vision. Ký hiệu Ký hi ệu Đơn v ị Ý ngh ĩa 0 l , 1 l , 2 l cm chiều dài các khớp D cm chi ều ngang của xe Robot 1 2 , , m m m g kh ối l ư ợng tổng xe Robot, khối lượng các khớp Pal/Till 1 , 2 rad góc quay các kh ớp Pal/Till R , P , Y rad góc quay Roll , Pitch, Yaw 1. Tổng quan hệ thống Ngày nay việc xây dựng một hệ thống robot di động thông minh và có khả năng thay thế con người làm việc trong các điều kiện khắc nghiệt và nguy hiểm là rất cần thiết. Các Robot này thường hoạt động bằng các cảm biến như cảm biến màu sắc, hồng ngoại, cảm biến dò đường, siêu âm. Gần đây các robot loại này được phát triển và tích hợp thêm “thị giác”, việc tích hợp trên Robot hệ thống camera và ứng dụng xử lý ảnh sẽ tăng khả năng tự động, giúp robot thông minh hơn [1,6,7]. Tuyển tập công trình Hội nghị Cơ điện tử toàn quốc lần thứ 6 709 Mã bài: 153 H. 1 Sơ đồ hệ thống Robot và camera di chuyển Trong bài báo này hệ thống được thiết kế dựa trên cấu trúc như trong H.1: hệ có camera gắn trên Robot và cả hệ Robot và camera sẽ di chuyển. Mục đích của cấu trúc này là điều khiển Robot sao cho ảnh của mục tiêu di động hoặc cố định được duy trì ở vị trí mong muốn trên mặt phẳng ảnh thu được. Mục đích của hệ thống bám tự động là để duy trì một “đường ngắm” viết tắt là LOS (Line Of Sight) cảm biến - mục tiêu một cách ổn định và hoàn toàn tự động trong khi tồn tại cả chuyển động tương đối của mục tiêu và chuyển động của đế gắn cảm biến làm nhiễu loạn tới dữ liệu cảm biến hình ảnh. Mục tiêu thường được định vị ban đầu, bởi hoặc là người điều khiển hoặc là hệ thống nhận dạng mục tiêu tự động. Sau đó, hệ thống bám sẽ khoá chặt mục tiêu và duy trì LOS tự động. Hệ thống tổng quan bao gồm có 3 bộ phận chính H. 2: (1) bộ cảm biến hình ảnh (camera), (2) bộ chấp hành là các trục khớp quay (gimbal) và bánh xe có gắn động cơ điện 1 chiều, và (3) máy tính PC và vi điều khiển (bộ vi xử lý). Một vòng điều khiển phản hồi, được gọi là vòng bám, liên tục hiệu chỉnh bộ chấp hành để giữ trọng tâm của mục tiêu vào tâm của trường nhìn viết tắt là FOV (Field Of View) của bộ cảm biến. Bộ vi xử lý sẽ khép kín vòng này bằng cách tính toán độ lệch để điều khiển cơ cấu chấp hành. Các thành phần hoạt động theo thứ tự: (1) bộ vi xử lý định vị tín hiệu mục tiêu trong các dòng hình ảnh từ bộ cảm biến, (2) bộ vi xử lý ước lượng trạng thái mục tiêu và tạo ra các lệnh điều khiển cơ cấu chấp hành trên cơ sở các thông tin trạng thái, (3) lệnh điều khiển được áp dụng vào LOS cảm biến, (4) bộ cảm biến tạo ra một vòng video mới, và (5) quá trình được lặp lại. H. 2 Sơ đồ tổng quan của hệ thống Robot tự hành bám mục tiêu di động 2. Mối quan hệ giữa camera và tọa độ thực H. 3 Mô hình Robot tự hành có gắn đế xoay Pal/Tilt Gọi Cc ( , , ccd ccd ccd x y z ) là điểm cuối cho một vector từ vị trí trung tâm của robot di động đến tâm của ống kính camera. khi đó vị trí này có thể được tính theo hai góc quay 1 2 , của đế xoay Pal/Tilt như sau: 2 1 2 2 1 2 0 1 2 2 l cos( )cos( ), l sin( )cos( ), l l l sin( ), ccd ccd ccd x y z q q q q q (1) Ở đây 0 l là chiều cao của xe tính đến vị trí đặt đế xoay Pal/Tilt. Tương tự, véc tơ Trạng thái của ma trận đồng nhất đã đại diện là các góc: Roll ( R ), Pitch ( P ) và góc độ Yaw ( Y ) được tính như sau: 1 1 2 2 2 2 1 2 2 1 1 2 2 2 2 1 2 2 2 sin( )sin( ) tan , cos ( )sin ( ) cos ( ) sin( )cos( ) tan , cos ( )cos ( ) sin ( ) . R P Y q q q q q q q q q q q q q q (2) Để thực hiện bám đối tượng theo thời gian thực ta cần có thông số khoảng cách từ camera đến đối tượng cũng như kích thước thật của đối tượng trong không gian 3D. Việc này cần thiết phải có hai camera, tuy nhiên nếu dùng phương pháp này khối lượng tính toán sẽ rất lớn và ảnh hưởng đến tốc độ bám, do đó ở đây chúng tôi chỉ dùng một camera và khoảng cách đến đối tượng chúng tôi xác định bằng sensor siêu âm và giả thiết kích thước của đối tượng là cố định. Vị trí của tâm đối tượng trong tọa độ ảnh là (j, k), khi chuyển về hệ tọa độ (j′, k′) là tâm của khung ảnh sẽ được tính theo góc quay Roll R q và kích thước khung hình ảnh P x và P y . Động cơ xe Robot mobile camera V ật thể cần giám sát 710 Ngô Mạnh Tiến, Phan Xuân Minh, Phạm Ngọc Minh, Hà Thị Kim Duyên VCM2012 ' ' cos( ) sin( ) 2 sin( ) cos( ) 2 x R R y R R P j j P k k (3) Để tính vị trí thực tế 0 0 ( , ) x y , 0 và 0 r được ước tính bằng cách sử dụng mối quan hệ tuyến tính giữa đối tượng thực sự trong góc nhìn và khung hình ảnh. Khi một điểm ảnh được chụp tại (j′, k′) trên trung tâm của khung hình ảnh, vị trí đối tượng thực sự, 0 và 0 r có thể được tính toán như sau (H.4): H. 4 Tính toán vị trí đối tượng theo tọa độ robot H. 5 Tính toán động học ngược cho vị trí thực camera 0 ' cos( ) 2 ccd P ry y z r k P (4) ' 0 rx x j P (5) Với rx và ry là các góc hướng nhìn x- và y- của camera CCD, tương ứng. Khi đó vị trí của đối tượng trong hệ tọa độ của robot (x,y), là: 0 0 0 .cos( ) .cos( ), ccd Y Y x r r (6) 0 0 0 .sin( ) .sin( ), ccd Y Y y r r (7) Với Y là góc quay giữa robot và camera, và 2 2 ( ) ccd ccd ccd r x y là khoảng cách từ tâm robot tới tâm ống kính camera. 3. Tính toán thiết kế bộ điều khiển 2.1 Xe Robot tự hành [4,5] Xây dựng mô hình động lực học xe Robot: H. 6 Mô hình hóa hệ đế xoay Pal/Tilt Biến điều khiển là vận tốc 2 bánh xe ( t V , p V ), biến được điều khiển chính là tọa độ của xe ( 0 x , 0 y ). Phương trình động học của xe: os( ) 0 sin( ) 0 w 0 1 x c v y (8) Trong đó: v là vận tốc thẳng của xe, w là vận tốc quay của xe. Và có: 2 2 w 2 2 t p r r V v V r r D D (9) Trong đó, r là bán kính bánh xe, D là khoảng cách giữa 2 bánh xe. Kết hợp (8) và (9), ta được: os( ) os( ) 2 2 r r sin( ) sin( ) 2 2 2r 2r D D t p r r c c x V y V q q q q q (10) Xe Robot thuộc lớp đối tượng non- holonomic, theo Euler-Lagrange có phương trình dạng [4,5]: ( ). ( , ). ( ) ( ). ( ). T M q q C q q q G q B q J q t l (11) Thực tế với đối tượng Robot di động: ( , ) 0 C q q , ( ) 0 G q , ( ). 0 J q q Từ đó, hệ phương trình động lực học của đối tượng Robot di động được viết lại như sau, với ( , , ) T q x y q : 1 2 0 0 os( ) os( ) sin( ) 1 0 0 sin( ) sin( ) os( ) 0 0 D 0 m x c c m y c r I D q q q t q q q l t q (12) Đặt: 1 2 1 ( ) l R t t t ; 1 2 1 ( ) a R t t t Tuyển tập công trình Hội nghị Cơ điện tử toàn quốc lần thứ 6 711 Mã bài: 153 Trong đó: m là khối lượng của xe, I là momen quán tính của xe Hệ phương trình (11) trở thành (12): os( )+ sin( ) m os( )- sin( ) m l l a x c m y c m I t l q q t l q q t q (13) Trong đó l t và a t là mô men tịnh tiến và mô men quay tương ứng. Đạo hàm 2 vế của các phương trình hệ động học (8), ta được: .sin( ) . os( ) . os( ) .sin( ) w x v vc y v c v q q q q q q q (14) So sánh các vế của các phương trình (13), (14): a ;w = l v m I t t (15) Các phương trình động học của xe Robot được viết lại: cos sin w x v y v (16) Điều khiển bám Robot di động đơn giản thành vấn để điều khiển các biến sai lệch trong mô hình động học. Một phần định hướng bài toán là định nghĩa quỹ đạo bám như là các biến thời gian được xác định bởi vectơ ( ) T r r r r q x y q . Quỹ đạo này cần thỏa mãn không chỉ các phương trình động học mà còn cả các điều kiện ràng buộc non-holonomic: cos , sin , w sin os r r r r r r r r r r r r x v y v x y c (17) Sai số động lực học thì được viết độc lập so với hệ quy chiếu quán tính bởi phép chuyển đổi Kanayama [8]: os sin 0 sin os 0 0 0 1 e r e r e r x c x x y c y y (18) ( , , ) e e e x y q là các biến sai số trong hệ quy chiếu di động gắn trên robot. Đạo hàm vế trái của (18) và sử dụng công thức (16) (17) và (8) thì sai số động lực học được viết trong hệ tọa độ mới: os 1 sin 0 w 0 1 e r e e e r e e e r x v c y v y v x w (19) ( ) T v w là vec tơ điều khiển của mô hình động học. Để gán luật điều khiển, các biến v và w sẽ được viết lại là d v và d w để phân biệt chúng với các vận tốc tịnh tiến và vận tốc góc thực tế đo được. Chú ý rằng d v và d w là các vận tốc mong muốn làm ổn định động học. Bộ điều khiển động lực học được thiết kế dựa trên công thức (15) và (19) trong đó e x , e y và e là các biến trạng thái, l và a là các tín hiệu điều khiển. Theo [8] thì bộ điều khiển động học phi tuyến sẽ được chọn là: cos sin d r e x e d r r y e e v v k x w w v k y k (20) Các trọng số của bộ điều khiển sẽ là ( , , ) x y k k k 2.2 Hệ đế xoay Pal/Tilt [4,5] H. 7 Mô hình hóa hệ đế xoay Pal/Tilt - Phương trình động lực học của hệ Pan-Tilt: - Dạng phương trình : ( ) ( ). ( ) ( , ) ( ) M F t D t h C (21) 1 11 12 1 1 1 2 21 22 2 2 2 M M F D D h C F D D h C (22) 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 1 2 2 1 2 1 0 3 1 0 3 1 1 3 2 1 1 3 2 M M m l C F F m l m l C S gm l C C m l C S gm l S S (23) - Điều khiển đế xoay Pal/Tilt [4] ở đây ta dùng bộ điều khiển PD: ( ) ( ) P d D u g q K q q K q 712 Ngô Mạnh Tiến, Phan Xuân Minh, Phạm Ngọc Minh, Hà Thị Kim Duyên VCM2012 Tay m¸y g(.) P K + + q q d q u D K - - + + q ~ H. 8 Sơ đồ điều khiển PD có bù trọng lực H. 9 Kết quả mô phỏng điều khiển hệ đế xoay Pal/Tilt bằng bộ điều khiển PD: khớp 1 H. 10 Kết quả mô phỏng điều khiển hệ đế xoay Pal/Tilt bằng bộ điều khiển PD: khớp 2 4. Thuật toán xử lý ảnh bám mục tiêu tự động Thuật toán Camshift [3,6,7] được phát triển trên cơ sở thuật toán Meanshift. Camshift viết tắt của “Continuously Adaptive Meanshift”. Nó bao gồm thuật toán cơ sở Meanshift với thích ứng các bước thay đổi kích cỡ của vùng. Các bước thực thi thuật toán: - Các bước tiến hành thuật toán Camshift: 1/. Kích chọn kích thước khung bám: khung bám W có kích thước là s 2/. Chọn vị trí khởi tạo của khung bám (cửa sổ bám): Tâm của khung bám ở điểm P k 3/. Tính giá trị trung bình bên trong khung bám: giá trị trung bình bên trong khung bám 1 ˆ ( ) . k j W p W p j W (24) sự thay đổi là gradien của ( ) k f p ( ) ˆ ( ) ( ) k k k k f p p W p f p (25) 4/. Đặt tâm khung bám ở vị trí trung bình đã tính trong bước 3: ˆ ( ) k p W (26) 5/. Lặp lại bước 3 và bước 4 cho đến khi hội tụ hoặc ( ) 0 f p : Đối với ảnh 2D rời rạc thì vị trí tâm của khung bám được tính như sau: tìm Moment bậc không 00 ( , ) x y M I x y (27) sau đó tính moment bậc 1 cho x và y: 00 01 ( , ); ( , ) x y x y M xI x y M yI x y (28) và vị trí tâm của khung bám là: 10 01 00 00 ; c c M M x y M M (29) ở đây ( , ) I x y là giá trị điểm ảnh (xác suất phân bố) tại vị trí (x,y) và x, y nằm trong khung bám. - Lưu đồ thuật toán Camshift: Đầu tiên là một Histogram được tạo ra, Histogram này chứa các thuộc tinh liên quan đến màu sắc và tiếp theo tâm và kích cỡ của mục tiêu được tinh toán để theo dõi mục tiêu khi hình dạng và kích cỡ của nó thay đổi. Tính xác suất phân bố mục tiêu căn cứ và Histogram nhận được. Dịch chuyển đến vị trí mới với mỗi khung hình vừa nhận được từ video. Camshift sẽ dịch chuyển đến vị trí mà nó ước lượng trên đối tượng nó mà nó tập trung nhiều điểm sáng nhất trong bức ảnh xác suất. nó tìm vị trí mới bắt đầu từ vị trí trước đó và tính toán giá trị trọng tâm vừa tìm được. H. 11 Lưu đồ thuật toán Camshift ảnh HSV Tính Histogram của vùng tính toán Xác xuất phân bố mầu Tính trọng tâm đ ối t ư ợng Đặt tâm khung bám vào tâm đối tượng và tính diện tích l ại Hội tụ kích chọn khởi tạo vị trí và kích thước khung bám thiết lập vùng tính tại tâm khung bám nhưng kích thước lớn hơn khung bám Sử dụng (X,Y) là tâm của khung bám, diện tích khung là kích thước của khung bám Kết quả X, Y, Z và Roll Tuyển tập công trình Hội nghị Cơ điện tử toàn quốc lần thứ 6 713 Mã bài: 153 - Kết hợp bộ lọc Kalman với thuật toán bám ảnh Camshift Trong thuật toán bám đối tượng trong ảnh Camshift được giới thiệu ở trên có thể thấy đối tượng được bám tốt khi nền ảnh không ảnh hưởng đến đối tượng, như lẫn màu hay che khuất đối tượng. Khi đối tượng bám bị che khuất hay lẫn màu với nền ảnh, sẽ gây ra hiện tượng mất bám. Để khắc phục nhược điểm này và nâng cao chất lượng bám, bộ lọc Kalman được sử dụng [3,6,7]. Sau khi tiến hành thuật toán Camshift ta sẽ có đượng trạng thái hệ thống x k, , y k , vị trí x và y của đối tượng tại thời điểm k. Sự đánh giá được đề cập phía trên ta có thể sử dụng bộ lọc Kalman để tạo ra phương pháp giới hạn vị trí của đối tượng hiệu quả hơn, điều đó là để nói thay vì tìm kiếm đối tượng trong toàn bộ mặt phẳng ảnh ta sẽ định nghĩa một cửa sổ tìm kiếm (hay cửa sổ mục tiêu được dề cập trong phần 1) tập trung vào giá trị dự đoán x k của bộ lọc. H. 12 Sơ đồ kết hợp bộ lọc Kalman và Camshift Các bước sử dụng bộ lọc Kalman cho việc bám đối tượng là: Bước 1: Khởi tạo (k=0). Trong bước này nó sẽ tìm kiếm đối tượng trong toàn bộ bức ảnh do chúng ta không biết vị trí trước của bức ảnh. Theo cách này ta nhận được x 0 . Tương tự ta có thể đánh giá một lượng dung sai lớn ban đầu (P 0 ). Bước 2: Dự đoán (k>0). Trong giai đoạn này sử dụng bộ lọc Kalman ta dự đoán vị trí tương đối của đối tượng, như vậy vị trí x k được coi như trung tâm tìm kiếm để tìm kiếm đối tượng. Bước 3: Hiệu chỉnh (k>0). Trong phần này ta đặt đối tượng (là một chuỗi điểm được dự đoán trong trạng thái tiên nghiệm x k ) và ta sử dụng vị trí thực của nó (đo đạc) để thực hiện việc hiệu chỉnh trạng thái bằng cách sử dụng bộ lọc kalman tìm kiếm x k Bước 2 và 3 được thực hiện trong khi việc bám đối tượng vẫn đang tiến hành. Cả hai thuật toán trên đều có thư viện các hàm tính toán trong OpenCV và nhóm tác giả đã chọn lập trình phần bám ảnh trên Visual C 6.0 có sử dụng thư viện mã nguồn mở OpenCV của Intel. 5. Thiết kế phần cứng và phần mềm cho hệ thống Cấu trúc của hệ bám gồm hai phần chính: - Phần 1: 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. - Phần 2: là phần điều khiển, dựa vào thông số vị trí đối tượng nhận được trong mặt phẳng ảnh, tính toán tín hiệu điều khiển robot 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. Trong hệ thống này ngoài bộ vi xử lý chung là máy tính laptop còn có một khối giao tiếp để thực hiện bắt tay giữa camera, cơ cấu chấp hành và máy tính. Để đáp ứng đủ yêu cầu về khả năng điều khiển cơ cấu chấp hành và vừa có khả năng xử lý, chống nhiễu tốt nhóm tác giả sử dụng vi điều khiển ARM Cortext M3 LM3S8971của hãng Texas Instruments vì nó có đầy đủ tính năng, tốc độ tính toán và có khả năng chống nhiễu tốt. Cấu trúc thiết kế phần cứng có hai lựa chọn tùy loại ứng dụng: có thể tích hợp bộ xử lý trung tâm (ở đây dùng máy tính PC Laptop) ngay trên xe Robot, và cấu trúc thứ hai là để bộ xử lý trung tâm này tại trạm điều khiển, lúc đó bộ điều khiển trung tâm sẽ giao tiếp với camera và bộ vi điều khiển cơ cấp chấp hành qua mạng không dây RF. H. 13 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 Camsifht Kalman D ữ liệu ảnh mô hình chuyển động Vector đo lư ờng v à tín hi ệu không chắc chắn ư ớc l ư ợng trạng thái và phương sai 714 Ngô Mạnh Tiến, Phan Xuân Minh, Phạm Ngọc Minh, Hà Thị Kim Duyên VCM2012 H. 14 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 Để sử dụng điều khiển các cơ cấu chấp hành (ở đây là các động cơ DC Servo có Encorder 100ppr) và kiểm soát tốc độ và góc quay một cách chính xác, nhóm tác giả đã sử dụng một số linh kiện chuyên dụng điều khiển cầu động cơ đó là dòng MC của Freescale và DVR của Texas Intrument. Bộ điều khiển sử dụng LM3S8971 được xây dựng như một kit vi điều khiển đa năng có thể vừa thực hiện nhiệm vụ điều khiển cơ cấu chấp hành vừa có khả năng thực hiện nhiệm vụ xử lý tín hiệu từ các cảm biến trong công nghiệp như PIR, IR của Sharp, cảm biến gia tốc và độ nghiêng Gyro sensor, ADXL203 và MMA7455… và có thể giao tiếp RS232, RS 485, giao tiếp không dây RF CC2500 của TI tần số 2,4GHz để phục vụ quá trình truyền và xử lý tín hiệu. Lưu đồ thuật toán điều khiển tổng thể hệ thống: H. 15 Lưu đồ thuật toán\ 6. Kết quả chạy thử nghiệm H. 16 Ảnh chụp Robot sản phẩm H. 17 Ảnh chụp Robot tự hành sản phẩm Chúng tôi đã xây dựng hoàn chỉnh một hệ thống robot bám mục tiêu di động, cả về phần cứng lẫn chương trình phần mềm và giao diện điều khiển. Hệ thống bao gồm phần mềm trên máy tính điều khiển tại trung tâm có thể sử dụng Joystic để điều khiển Robot qua mạng không dây RF bằng tay, và phần mềm cho hệ vi điều khiển trên robot. Hệ thống được chạy thử nghiệm bám theo mục tiêu là đối tượng màu sẫm. H. 18 Giao diện phần mềm trên trung tâm xử lý Một số hình ảnh thực nghiệm (xem bên dưới). Ngoài việc tự động bám mục tiêu di động, hệ thống còn cho phép người điều khiển bằng tay bằng Joystik từ xa qua sóng RF với khoảng cách là <500m, và có thể quan sát cũng như lưu trữ hình Start Ch ụp ảnh Lấy mẫu Histogram Lọc nhiễu Camshift Tính toán đ ộng học ngược=>Quỹ đạo đặt Giao ti ếp RS232,RF Đi ều kiện dừng Khởi tạo Dừng đi ều khiển bám (điều khiển các động cơ) Tính t ọa độ tâm, hướng Tuyển tập công trình Hội nghị Cơ điện tử toàn quốc lần thứ 6 715 Mã bài: 153 ảnh và video thu được trên máy tính tại trung tâm điều khiển. 7. Kết Luận Bài báo trình bày một số kết quả mới từ nghiên cứu lý thuyết, xây dựng các sơ đồ cấu trúc, thiết kế phần cứng và lập trình phần mềm cho một robot tự hành bám mục tiêu di động. Có thể kể ra những cải tiến đáng kể mới: mô hình hóa và đồng nhất hệ trục tọa độ về tâm xe Robot làm cơ sở cho các bài toán điều khiển Robot, đưa thêm bộ lọc kalman vào vòng dự đoán vị trí mục tiêu bám tăng độ bền vững và chất lượng bám, thiết kế phần cứng cơ khí và kiểu dáng Robot theo hướng ứng dụng thực tế, trang bị truyền động bằng các động cơ Servo DC và trang bị thêm cảm biến nhằm tăng độ chính xác và cơ động cho Robot, thiết kế chế tạo mới và lập trình nhúng mạch điện tử điều khiển sử dụng lõi ARM Cortex M3 để để điều khiển xe robot, đưa thêm giao tiếp không dây vào Robot nhằm đa dạng cho các ứng dụng của Robot. Trong quá trình thực nghiệm, tốc độ và chất lượng bám đã được cải thiện (xem hình chụp chạy thực nghiệm ở dưới), nhưng vì nhiều lý do (đặc biệt là hạn chế vì sự chưa đồng bộ các tác vụ trong khi xử lý tín hiệu thời gian thực) tốc độ bám vẫn còn chậm (khoảng 10 frame/s). Một số hạn chế khác mang tính khách quan như hệ thống bám chưa được trang bị các đo lường quan trọng khác như: đo xác định vị trí trong không gian qua Gyro sensor, đo xa xác định chiều sâu thông tin. Việc đo lường này trước hết phục vụ tính toán LOS và động học ngược cũng như điều khiển các động cơ. Tuy còn một số vấn đề cần được nâng cấp, nhưng hệ thống của chúng tôi đã thu được kết quả chấp nhận được và ổn định, cho thấy sự tiếp cận đến các ứng dụng thực tế là không còn xa. Các vần đề tồn tại sẽ được khắc phục và nâng cấp trong hướng phát triển tiếp theo, khi đã có những ứng dụng cụ thể được gắn với sản phẩm. Tài liệu tham khảo [1]. N.M.Tiến, P.X.Minh: ‘Nghiên cứu phát triển hệ Robot tự hành có gắn camera tự động tìm kiếm và bám mục tiêu di động’, VCCA 2011. [2]. Carlo Tomasi, Takeo Kanade: Detection and Tracking of Point Features; Technical Report CMU-CS-91-132; April 1991 [3]. Gary Bradski and Adrian Kaehler: Learning OpenCV Computer Vision with the OpenCV Library; O’Reilly; 2008 [4]. Mark W. Spong, Seth Hutchinson, and M. Vidyasagar; Robot Dynamics and Control; Addison – Wesley Publishing Company; 2004 [5]. Frank L.Lewis, Darren M.Dawson, Chaouki T.Abdallah: Robot Manipulator Control Theory and Practice; MARCEL DEKKER, INC, 2004 [6]. Gary R. Bradski: Computer Vision Face Tracking For Use in a Perceptual User Interface, Microcomputer Research Lab, Santa Clara, CA, Intel Corporation, 2005 [7]. Sang-joo Kim, Jin-woo Park, and Jang-Myung Lee: Implementation of Tracking and Capturing a Moving Object using a Mobile Robot, International Journal of Control, Automation, and Systems, vol. 3, 2005 [8]. Ali Gholipour, M.J.Yazdanpanah, “Dynamic tracking control of nonholonomic mobile robot with model reference adaption for uncertain parameters”, 2005. Phan Xuân Minh: Nhận bằng Thạc sĩ kỹ thuật (1976) và Tiến sĩ kỹ thuật (1989) - chuyên nghành: Điều khiển học tại trường Ilmenau University of Technology – Ilmenau, Đức. Hiện là Phó Giáo sư, công tác và giảng dạy tại Bộ môn Điều khiển tự động – Viện Điện - Trường Đại học Bách Khoa Hà Nội. Hướng nghiên cứu chính: Điều khiển tối ưu và bền vững, diều khiển thích nghi, hệ mờ và mạng Nơron, điều khiển quá trình. Ngô Mạnh Tiến: Học Đại học Bách Khoa Hà Nội, chuyên ngành Điều khiển tự động từ năm 1996-2001. Bảo vệ Thạc sỹ năm 2004 và hiện nay đang theo học Tiến sỹ tại Đại Học Bách Khoa Hà Nội. Hiện tại công tác tại phòng Quang điện tử - Viện Vật Lý-Viện Khoa Học và Công Nghệ Việt Nam. Hướng nghiên cứu chính: Điều khiển quá trình, điều khiển thông minh và thích nghi, hệ Mờ và mạng Neuron, điều khiển Robot, Robot tự hành, hệ thống quang điện tử nhìn đêm, xử lý ảnh. Hà Thị Kim Duyên: Học Đại Học Bách khoa Hà Nội, chuyên ngành điều khiển tự động từ năm 1996-2001, Bảo vệ Thạc sỹ tại Học Viện kỹ Thuật quân sự 2007. Hiện công tác và giảng dạy tại Khoa Điện tử - trường Đại Học Công Nghiệp Hà Nội. Chuyên môn nghiên cứu chính: Điều khiển quá trình, Các bộ điều khiển khả trình PLC và mạng 716 Ngô Mạnh Tiến, Phan Xuân Minh, Phạm Ngọc Minh, Hà Thị Kim Duyên VCM2012 truyền thông công nghiệp, Bộ điều khiển thông minh và thích nghi, Mờ và mạng Neuron, Xử lý ảnh. Phạm Ngọc Minh: Tốt nghiệp chuyên ngành Điều khiển Tự động (1994-1999) tại Trường Đại học Bách khoa Hà Nội. Bảo vệ thành công Luận án Thạc sỹ khoa học ngành Kỹ thuật Đo lường và Điều khiển Tự động (2004) và hiện nay đang theo học Tiến sỹ tại Viện Công nghệ thông tin (Viện CNNT) – Viện KHCNVN. Hiện tại đang công tác tại Phòng Công nghệ Tự động hóa – Viện CNTT. Hướng nghiên cứu chính : Hệ thống nhúng, Điều khiển quá trình, Mạng truyền thông công nghiệp, Mạng không dây băng thông rộng, Điều khiển robot và Xử lý ảnh. H. 19 Một số hình ảnh chạy thực nghiệm Robot di động bám và gắp đối tượng là quả bóng màu đỏ R=5cm. Kết quả Robot bám và gắp vật tốt, tuy nhiên mới chỉ thử nghiệm trong phạm vi <1m 2 , bối cảnh (nền và nhiễu) ảnh hưởng rất lớn đến kết quả. H. 20 Một số hình ảnh chạy thực nghiệm Robot di động bám đối tượng là quả bóng màu vàng R=5cm. Tốc độ bám chậm (<10 hình/giây) và phụ thuộc nhiều vào nền và nhiễu xung quanh. . VCM2 012 Một số kết quả nghiên cứu mới trong phát triển hệ Robot tự hành có gắn camera tự động tìm kiếm và bám mục tiêu di động Some of new research results in the Deverlopment of Mobile Robot. điều khiển. 7. Kết Luận Bài báo trình bày một số kết quả mới từ nghiên cứu lý thuyết, xây dựng các sơ đồ cấu trúc, thiết kế phần cứng và lập trình phần mềm cho một robot tự hành bám mục tiêu. hướng phát triển tiếp theo, khi đã có những ứng dụng cụ thể được gắn với sản phẩm. Tài liệu tham khảo [1]. N.M.Tiến, P.X.Minh: Nghiên cứu phát triển hệ Robot tự hành có gắn camera tự động