Luận văn Nghiên cứu, thiết kế robot dò đường đi bằng sóng siêu âm

Chương 1: TỔNG QUAN.1

1.1. Giới thiệu chung .1

1.2. Phân loại robot tự hành.2

1.2.1. Robot tự hành di chuyển bằng chân (Legged Robot).2

1.2.2. Robot tự hành di chuyển bằng bánh (Wheel Robot) .4

1.3. Phương pháp điều hướng cho robot tự hành.8

1.3.1. Phương pháp điều hướng có tính toán.8

1.3.2. Phương pháp điều hướng robot theo phản ứng .9

1.3.3. Phương pháp điều hướng lai ghép .11

1.4. Tính cấp thiết của đề tài.11

1.5. Mục tiêu và nội dung nghiên cứu .11

1.5.1. Mục tiêu của đề tài.11

1.5.2. Nội dung nghiên cứu.12

1.6. Tổng quan về lĩnh vực nghiên cứu .12

1.6.1. Giới thiệu tổng quan chung về lĩnh vực nghiên cứu.12

1.6.2. Tình hình nghiên cứu trên thế giới .13

1.6.3. Tình hình nghiên cứu trong nước .17

1.7. Lựa chọn và cách bố trí bánh xe.18

Chương 2: MÊ CUNG VÀ GIẢI THUẬT TÌM ĐƯỜNG TRONG MÊ CUNG.21

2.1. Robot vẽ bản đồ .21

2.1.1. Vấn đề định vị của Robot tự hành .21

2.1.2. Sóng siêu âm.22

2.1.3. Camera xử lí hình ảnh.23

pdf85 trang | Chia sẻ: honganh20 | Ngày: 25/02/2022 | Lượt xem: 838 | Lượt tải: 3download
Bạn đang xem trước 20 trang tài liệu Luận văn Nghiên cứu, thiết kế robot dò đường đi bằng sóng siêu âm, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Nếu phương pháp điều hướng theo phản ứng không kết hợp với bất cứ quá trình lập kế hoạch chuyển động nào thì có thể sẽ không đưa robot theo quỹ đạo tối ưu. Phương pháp điều khiển lai ra đời nhằm kết hợp các hoạt động có tính toán bậc cao với các hoạt động phản ứng bậc thấp. Các hoạt động phản ứng giúp robot an toàn và xử lý các tình trạng khẩn cấp trong khi phần điều khiển có tính toán sẽ giúp robot đạt được mục đích cuối cùng. Phương pháp điều khiển lai ghép có thể cho ta kết quả khả quan hơn khi chỉ sử dụng phương pháp điều hướng theo phản ứng hoặc điều hướng theo tính toán. Tính cấp thiết của đề tài 1.4. Vấn đề được quan tâm khi nghiên cứu về robot tự hành là làm thế nào để robot biết được vị trí nó đang đứng và có thể di chuyển tới một vị trí xác định, đồng thời truyền thông tin của các bức tường trong mê cung mà nó đi qua. Để giải quyết vấn đề này tác giả đề xuất sử dụng mobile robot di chuyển bằng bánh dò dường trong một mê cung đơn giản, có các bức tường là vật liệu có thể phản hồi tốt sóng siêu âm ta có thể sử dụng cảm biến siêu âm thông qua module thu phát không dây truyền nhận dữ liệu với máy tính từ đó tìm ra được đường đi ngắn nhất thoát khỏi mê cung. Đó là lý do tác giả chọn đề tài “Nghiên cứu, thiết kế robot dò đƣờng đi bằng sóng siêu âm”. Việc nghiên cứu thành công đề tài này sẽ mở ra một hướng tiếp cận mới và góp phần thúc đẩy việc ứng dụng của robot ngày càng nhiều vào trong đời sống hằng ngày và trong nghiên cứu chế tạo. Ngoài ra, mô hình cũng sẽ là sự bổ sung cần thiết về các giải pháp công nghệ di chuyển của các mobile robot làm phong phú những lựa chọn giải pháp về chuyển động trong không gian cho các robot. Mục tiêu và nội dung nghiên cứu 1.5. 1.5.1. Mục tiêu của đề tài - Xây dựng mô hình toán cho Mobile Robot có hai bánh chủ động. 12 - Xây dựng thuật giải tìm đường đi và truyền dữ liệu mê cung cho Mobile Robot. - Thi công mô hình thực nghiệm cho Mobile Robot dò đường bằng sóng siêu âm. - Viết giao diện dò đường cho Mobile Robot theo thời gian thực qua phần mềm Matlab GUI. - Từ dữ liệu mê cung do Mobile Robot tìm được, áp dụng thuật toán tìm đường đi ngắn nhất trong mê cung cho Mobile Robot. 1.5.2. Nội dung nghiên cứu 1.5.2.1 Đối tƣợng nghiên cứu - Giải thuật tìm đường đi cho Mobile Robot. - Giải thuật tìm đường đi ngắn nhất. - Module RF UART, module cảm biến siêu âm. - Vi điều khiển ARM. 1.5.2.2 Phạm vi nghiên cứu - Đề tài chỉ nghiên cứu về Mobile Robot có hai bánh chủ động. - Do Robot di chuyển bên trong nhà xưởng, bỏ qua các lực tác động bên ngoài ảnh hưởng đến hoạt động của Robot. Vì vậy luận văn chỉ xây dựng mô hình động học cho Robot. - Thiết kế giải thuật tìm đường đi cho Mobile Robot. - Lựa chọn giải thuật tìm đường đi ngắn nhất cho Mobile Robot. - Hiển thị kết quả lên phần mềm Matlab và thi công mô hình thực nghiệm. Tổng quan về lĩnh vực nghiên cứu 1.6. 1.6.1. Giới thiệu tổng quan chung về lĩnh vực nghiên cứu Vấn đề dùng robot vẽ bản đồ là một lĩnh vực nghiên cứu rất được quan tâm trong ngành robotics và trí tuệ nhân tạo trong hai thập niên gần đây. Quá trình hình thành bản đồ của môi trường xung quanh robot liên quan đến hai việc: mô hình hóa các yêu tố vật lý của môi trường và xây dựng được một robot tự hành hoàn hảo. Hiện tại, con người đã nghiên cứu và tạo ra nhiều phương pháp vẽ bản đồ cho các môi trường tĩnh, có cấu trúc nhất định và có kích thước giới hạn. Tuy nhiên, đối 13 với môi trường không có cấu trúc nhất định, động và có kích thước lớn, các nhiên cứu vẫn còn hạn chế và cần nghiên cứu thêm. Hầu hết các robot tự hành phải thực hiện hai qua trình song song : định vị bản thân và nhận diện vật cản của môi trường xung quanh. Tiếp theo là di chuyển, Robot tự hành nên di chuyển như thế nào và cơ cấu di chuyển nào là sự lựa chọn tốt nhất. Bài toán dẫn đường là vấn đề cơ bản trong nghiên cứu và chế tạo Robot tự hành. Bài toán dẫn đường cho robot tự hành được chia làm 2 loại: bài toán toàn cục (global) và bài toán cục bộ (local). Ở bài toàn cục, môi trường làm việc của robot hoàn toàn xác định,đường đi và vật cản là hoàn toàn biết trước. Ở bài toán cục bộ, môi trường hoạt động của robot là chưa biết trước hoặc chỉ biết một phần. Các cảm biến và thiết bị định vị cho phép robot xác định được vật cản, vị trí của nó trong môi trường giúp nó đi tới được mục tiêu. Các nghiên cứu trong và ngoài nước cũng đang hướng theo hai bài toán này. 1.6.2. Tình hình nghiên cứu trên thế giới A New shortes path finding algorithm a maze sloving robot with simulator Trong bài báo này tác giả không sử dụng các thuật toán tìm đường kinh điển như Wall-Follow, Pledge, Tremaux, Flood Fill mà dựa trên giải thuật mới. Trong thuật toán này Robot sẽ đi qua hoặc truy cập hầu hết các khối mê cung và tìm tất cả các con đường có sẵn dẫn đến đích, mỗi con đường sẽ được so sánh với con đường tìm thất trước đó và chọn con đường ngắn nhất. Phương pháp này có thể không phải là nhanh nhất trong một số trường hợp nhưng nó đảm bảo tìm được đường đi ngắn nhất, ít phức tạp nhất và sẽ tốn ít bộ nhớ vi điều khiển hơn so với thuật toán kinh điển. Thuật toán này chỉ tìm được đường đi với mê cung đã biết trước. 14 Hình 1.9. Sơ đồ tìm đường đi của giải thuật Hình 1.10. Giao diện mô phỏng mê cung A Mobile Robot sloving a virtual Maze Environment Bài báo giới thiệu một khái niệm mới trong việc tìm đường cho Robot trong mê cung đó là sử dụng các mê cung ảo trong kiểm tra tối ưu với các thuật toán khác nhau. Mô phỏng Robot di động trong môi trường ảo, tính toán sau đó điều khiển Robot qua truyền thông không dây. Tác giả đã thiết kế giao diện (GUI) của mê cung ảo và hệ thống tọa độ ảo của mê cung. Robot sử dụng thuật toán bám tường cải tiến để tìm đường đi thông qua các mê cung ảo được thiết kế sẵn. Trong bài báo này, hai thuật toán tìm đường đã được sử dụng để tìm đường và một thuật toán để tối ưu hóa đường đi. Để điều khiển và giao tiếp giữa Robot và máy 15 tính tác giả sử dụng các chuẩn giao tiếp không dây. Tuy nhiên bài báo chỉ dừng lại ở mê cung đã biết trước, còn các mê cung chưa xác định thì bài báo chưa đề cập đến. Hình 1.11. Giao diện (GUI) mô phỏng mê cung Hình 1.12. Tọa độ ảo của mê cung Design and Implementation of a Robot for Maze-Solving using Flood-Fill Algorithm. Bài báo mô tả các bước thực hiện một robot dùng để tìm đường trong mê cung dựa trên thuật toán Floodfill. Phát hiện các bức tường trong mê cung bằng cách sử dụng cảm biến siêu âm. Hiệu chỉnh đường thẳng bằng bộ điều khiển PI (D). Các robot có thể học được mê cung, tìm tất cả các tuyến đường và tìm đường đi ngắn nhất. 16 Tác giả sử dụng mô hình robot cỡ nhỏ để tìm hiểu làm thế nào điều hướng robot trong môi trường chưa biết dựa trên các thông tin đã biết trước và thông tin thu thập được từ cảm biến, từ đó đưa ra các quyết định của mình. Hình 1.13. Robot cỡ nhỏ sử dụng trong bài báo Tác giả đã chứng minh được thuật toán floodfill là công cụ hiệu quả để giải quyết bài toán tìm đường trong một mê cung đơn giản. Để đưa ra các quyết định điều hướng cho robot tác giả dựa trên đầu vào từ nhiều cảm biến, cụ thể là cảm biến siêu âm và đọc encoder trên động cơ. Robot có thể định vị chính xác vị trí của nó trong mê cung khi bị sai lệch do lỗi thiết kế cơ khí bằng cách sử dụng một bộ điều khiển PI. Robot có thể dò hết mê cung trong lần đầu tiên và thứ hai. Trong lần chay thứ ba robot có thể chạy đến vị trí đích nhanh nhất bằng thuật toán flloofill với thông tin của mê cung đã tìm được trong hai phần trước. Hình 1.14. Mê cung thiết kế và mê cung thực tế 17 Hướng phát triển của bài báo trong tương lai bao gồm việc mở rộng mê cung lớn hơn và phức tạp hơn. Như vậy khi cung được thiết kê và xây dựng lại các robot sẽ phải giải quyết các vấn đề phức tạp hơn. Để đạt độ chính xác cao trong việc phát hiện các bức tường, robot cần được trang bị các cảm biến tốt hơn như cảm biến laser. Kinh phí trang bị cảm biến laser nhiều hơn cảm biến siêu âm tuy nhiên khả năng quét các bức tường trong mê cung với một góc rộng hơn so với góc quét của cảm biến siêu âm. Tuy nhiên bài báo không thực hiện việc trao đổi dữ liệu, vẽ mê cung với máy tính theo thời gian thực. 1.6.3. Tình hình nghiên cứu trong nƣớc Bài báo “Study on Control of Wall-Following Mobile Robot Using Sonar Sensor ” Tác giả sử dụng phương pháp dò đường Wall-Following vì tác giả cho rằng đây là một phương pháp đơn giản, hữu ích trong cả hai môi trường mê cung đã biết và chưa biết. Phương pháp này được sử dụng nhiều trong các bài toán tìm đường mê cung. Robot dò đường theo kiểu “Wall-Following” thường được trang bị cảm biến có khả năng đo hướng và khoảng cách, chẳng hạn như cảm biến laser, cảm biến hồng ngoại nhưng ở đây tác giả chọn cảm biến siêu âm vì giá thành thấp và sử dụng phổ biến. Bộ quan sát của Busawon được sử dụng để ước lượng khoảng cách giữa Robot và một bức tường với khoảng cách cho trước. Hình 1.15. Robot thí nghiệm Hình 1.16. Kết quả thí nghiệm 18 Bài báo “Thiết kế Robot Mini tự hành dò đƣờng trong mê cung” Bài báo đã chỉ ra được vấn đề rất được quan tâm khi nghiên cứu về robot tự hành là làm thế nào để robot biết được vị trí nó đang đứng và có thể di chuyển tới một vị trí xác định, đồng thời có thể tự động tránh được các chướng ngại vật trên đường đi, cụ thể bài báo sử dụng thuật toán tìm đường flooding. Đồng thời thiết kế được mạch cảm biến, chọn được khung máy, động cơ, vi điều khiển, mạch điều khiển động cơ, mạch nguồn. Hình 1.17. Sơ đồ khối Mobile Robot Bài báo cơ bản đã giải quyết được vấn đề tìm đường, Robot chạy được với các mê cung khác nhau nhưng về phần cơ khí chưa đạt độ chính xác như yêu cầu, cảm biến không hiệu quả ở các môi trường khác nhau, phải sử dụng nguồn bên ngoài. Hình 1.18. Robot chạy trong mê cung Lựa chọn và cách bố trí bánh xe 1.7. Phân tích, chọn bánh xe và cách bố trí bánh xe: 19 Dựa vào yêu cầu luận văn là dò đường trong một mê cung có bề mặt đường đi phẳng, không lồi lõm. Do đó ta sẽ chọn bánh xe thường kết hợp bánh xe tự lựa làm bộ phận chuyển động cho robot. Bánh xe yêu cầu có độ linh hoạt cao, dễ dàng xoay trở trong mê cung tác giả nêu ra một số phương án bố trí bánh xe:  Hai bánh chuyển động vi sai và thêm 2 điểm tiếp xúc. Hình 1.19. Hai bánh chuyển động vi sai Phương án này sử dụng hai động cơ dẫn động và hai bánh xe tự lựa làm cho robot di chuyển rất linh hoạt trong mê cung. Nhưng nếu cả bốn bánh tiếp xúc đất không hoàn hảo sẽ khiến robot không bám được đường đi, các tín hiệu đưa về bộ xử lí bị sai lệch dẫn đến robot không đi đúng đường.  Hai bánh truyền động được nối với trục ở phía sau, một bánh lái ở phía trước. Hình 1.20. Hai bánh truyền động phía sau Phương án này chỉ sử dụng một động cơ dẫn động cho hai bánh sau và một bánh trước điều khiển do vậy khi di chuyển bánh điều khiển phải điều chỉnh liên tục hai bánh sau để cho robot đi đúng đường. Nếu phối hợp không tốt sẽ làm cho robot vượt quá vị trí yêu cầu. Điều này làm giảm khả năng linh hoạt của robot, robot sẽ xoay trở rất kém trong không gian nhỏ. - Hai bánh truyền động ở giữa và có điểm thứ 3 tiếp xúc 20 Hình 1.21. Hai bánh truyền động ở giữa có điểm thứ ba tiếp xúc Phương án này làm tăng tính linh hoạt của robot trong không gian nhỏ, đây là điều mà luận văn yêu cầu. Do vậy tác giả sử dụng phương án này. 21 Chƣơng 2: MÊ CUNG VÀ GIẢI THUẬT TÌM ĐƢỜNG TRONG MÊ CUNG Robot vẽ bản đồ 2.1. 2.1.1. Vấn đề định vị của Robot tự hành Vấn đề của robot tự hành là làm thế nào để robot có thể nhận biết môi trường và thực thi các nhiệm vụ đề ra. Robot tự hành nên di chuyển như thế nào và cơ cấu di chuyển nào là hợp lý nhất cho một môi trường hoặc một số môi trường xác định. Do vậy, điều hướng là vấn đề cơ bản trong nghiên cứu và chế tạo Robot tự hành. Có thể nói, muốn điều hướng thành công, nhất thiết robot phải được trang bị hoàn thiện 4 khâu sau: Mapping: là công việc lập bản đồ môi trường hoạt động của robot. Nếu robot chưa được cung cấp dữ liệu trước thì robot phải có khả năng lập bản đồ. Path planning: là việc hoạch định đường đi sắp tới của robot, sau khi nó biết được bản đồ và biết được nó đang ở vị trí nào. Motion control: là việc điều khiển cho robot di động, tức là điều khiển các cơ cấu để robot đi theo con đường thu được từ bài toán “path planning”. Trong các ứng dụng robot, có hai phương pháp định vị thường được sử dụng là phương pháp định vị tuyệt đối (APM) và phương pháp định vị tương đối (Relative Positioning Methods - RPM). Phương pháp định vị tương đối chủ yếu dựa trên bài toán dead-reckoning, đây là phương pháp định vị được sử dụng rộng rãi và “truyền thống” nhất là đối với robot tự hành. Robot sẽ được trang bị cảm biến (thường là encoder) để xác định số vòng quay của bánh xe, từ đó suy ra khoảng cách đã di chuyển, cùng với một la bàn số để suy ra góc quay so với hướng ban đầu. Từ hai thông tin trên ta xác định được tọa độ (x, y) và hướng hiện tại (θ) của robot tại mỗi thời điểm t. Tuy nhiên, nguyên tắc cơ bản của phương pháp dead-reckoning là tích lũy thông tin về chuyển động theo thời gian, điều này dẫn tới sự tích lũ sai số. Sự tích lũy này làm cho sai số vị trí tăng tỉ lệ theo khoảng cách chuyển động của Robot. Ưu điểm của phương pháp này là nguyên lý toán học đơn giản, các bước đọc và xử lí thông tin cảm biến đơn giản, dễ sử dụng. Muốn giảm sai số cho phương pháp dead-reckoning, cần phải tang độ chính xác động học, nghĩa là tăng độ chính xác cho các chi tiết cơ khí như độ đồng trục của 2 motor, khoảng cách giữa 2 bánh xe, đường kính bánh xe. 22 Phương pháp định vị tuyệt đối thì lại dùng thêm các cảm biến khác ngoài encoder như dùng beacon, cột mốc, so sánh các bản đồ cục bộ và bản đồ toàn cục, định vị bằng vệ tinh (GPS) Trong mỗi phương pháp định vị tuyệt đối, người ta sử dụng các thuật toán và cảm biến khác nhau, nhưng đều là những phương pháp chủ yếu dùng cho mobile robot ngày nay. Theo kinh nghiệm, người ta thường dùng phương pháp định vị tương đối để giới hạn phạm vi xử lý trước khi dùng phương pháp định vị tuyệt đối để xác định vị trí robot. Như vậy, cho dù sử dụng bất kỳ phương pháp định vị nào đi nữa thì phương pháp dead- reckoning dường như luôn là sự lựa chọn đầu tiên. Tại một thời điểm, khi xác định được vị trí của mình robot cần lấy thông tin về môi trường xung quanh, thông thường robot sẽ sử dụng cảm biến siêu âm hoặc camera xử lí hình ảnh. 2.1.2. Sóng siêu âm Sóng siêu âm là sóng âm thanh có tần số lớn hơn tần số âm nghe thấy (trên 20KHz). Chỉ có một số loài vật như dơi, ong có thể cảm nhận được sóng siêu âm. Sóng siêu âm có thể phát hiện ra hầu hết các đối tượng là kim loại hoặc không phải kim lọa, chất lỏng hoặc chất rắn, vật trong hoặc mờ đục (vật có hệ số phản xạ sóng âm thanh đủ lớn). Dựa vào đặc điểm vận tốc âm thanh là hằng số, thời gian sóng âm thanh đi từ bộ phận phát đến đối tượng và quay trở lại bộ phận thu liên hệ trực tiếp đến độ dài quãng đường người ta chế tạo ra cảm biến siêu âm để xác định vị trí của các vật. Robot sử dụng cảm biến siêu âm bằng cách phát ra sóng siêu âm khi gặp vật cản thì phản xạ lại, dựa vào thời gian di chuyển của sóng đi và về sẽ xác định được khoảng cách tới vật cản. Ưu điểm của cảm biến siêu âm: Khoảng cách cảm biến phát hiện của cảm biến có thể lên tới 15m. Sóng phản hồi của cảm biến không phụ thuộc vào màu sắc của bề mặt đối tượng hay tính chất phản xạ ánh sáng của đối tượng. 23 Tín hiệu ngõ ra có thể là digital hoặc analog. Tín hiệu từ cảm biến là digital báo có hay không sự xuất hiện của đối tượng trong vùng cảm nhận của cảm biến, tín hiệu từ cảm biến là analog chứa đựng thông tin khoảng cách của đối tượng đến cảm biến. Tín hiệu đáp ứng của cảm biến tiệm cận analog tỉ lệ tuyến tính với khoảng cách. Điều này đặc biệt lí tưởng cho các ứng dụng ngư theo dõi các mức vật chất, mức độ chuyển động của đối tượng. Phương pháp sử dụng hiện tượng sóng phản xạ có các bước tính toán khá đơn giản, dễ sử dụng, được áp dụng trong nhiều lĩnh vực tuy nhiên cần lưu ý một số khuyết điểm. Nhược điểm của cảm biến siêu âm: Cảm biến siêu âm yêu câu đối tượng phải có diện tích bề mặt đủ lớn. Sóng phản hồi cảm biến nhận được cò thể chịu ảnh hưởng của sóng âm thanh tạp âm. Cảm biến siêu âm yêu cầu một khoảng thời gian sau mỗi lần sóng phát đi để sẵn sàng nhận sóng phản hồi. Kết quả cảm biến tiệm cận siêu âm nhìn chung chậm hơn các cảm biến khác. Với các dối tượng có mật độ vật chất thấp như bọt hay vải quần áo rất khó để phát hiện với khoảng cách lớn. Cảm biến siêu âm bị giới hạn bởi khoảng cách phát hiện nhỏ nhất. Bề mặt phẳng phản hồi năng lượng của sóng siêu âm tốt hơn bề mặt ghề ghề, tuy nhiên góc tạo thành giữa cảm biến và mặt phẳng phải vuông góc với nhau. Tuy nhiên với yêu cầu luận văn trong môi trường xác định như nhà xưởng, bề mặt phản xạ là các bức tường, không cần tín hiệu đáp ứng quá nhanh, thì cảm biến siêu âm hoàn toàn phù hợp với yêu cầu của bài toán tìm đường trong mê cung. 2.1.3. Camera xử lí hình ảnh Robot sẽ đượng trang bị trước những “kiến thức” về môi trường (các hình ảnh của môi trường được chụp, mã hóa thành các đường, điểm và hình khối). Camera quay lại hình ảnh của môi trường, truyền dữ liệu của môi trường cho hệ thống xử lí 24 hình ảnh để xác định khoảng cách tới các hình khối của môi trường. Phương pháp này tuy nhận được các hình ảnh cụ thể của môi trường nhưng việc tính toán, xử lí hình ảnh, lọc nhiễu rất tốn thời gian và phức tạp. 2.1.4. Lựa chọn phƣơng án định vị và nhận diện vật cản Để đạt được mục đích định vị và nhận diện vật cản một cách hiệu quả cần áp dụng nhiều phương pháp như sau: Sử dụng phương pháp dead-reckoning để xác định quãng đường và góc quay của robot sau các quãng thời gian nhất định. Sử dụng cảm biến siêu âm gắn trên robot để xác định khoảng cách từ robot đến các vật cản quanh nó. Sau một thời gian nhất định, các vật cản sẽ đóng vai trò như các cột mốc để robot điều chỉnh lại tọa độ tuyệt đối của mình so với gốc. Mê cung và các thuật toán tìm đƣờng trong mê cung 2.2. Hiện nay, từ một số loại mê cung cơ bản, người ta đã phát triển nhiều loại mê cung với độ phức tạp khác nhau như block maze, logic maze, planair maze, weave maze Trong luận văn này chỉ tập trung vào hai loại mê cung cơ bản là mê cung đơn kết nối (simply connected maze) và mê cung đa kết nối (multiply connected maze). Mê cung đơn kết nối (simply connected maze): tất cả các bức tường kết nối với nhau hoặc kết nối với đường bao mê cung. Do cấu tạo của mê cung khá đơn giản nên ta có thể dùng giải thuật “ bám tường”, người đi sẽ tìm được lối ra trên tường bao, nếu mê cung là mê cung kín thì sẽ trở về điểm xuất phát, người đi sẽ không bỏ sót bất cứ đường nào trong mê cung. Hình 2.1. Mê cung đơn kết nối 25 Mê cung đa kết nối (multiply connected maze): mê cung loại này bao gồm nhiều mảng, mỗi mảng là các tường kết nối nhau nhưng hoàn toàn không kết nối với đường bao hoặc với các tường khác. Với loại mê cung này nếu áp dụng giải thuật “bám tường” sẽ khiến cho robot lặp đi lặp lại các bước di chuyển trước mà không thể thoát ra khỏi mê cung. Hình 2.2. Mê cung đa kết nối Do vậy các thuật toán tìm đường trong mê cung được phát triển để giải quyết bài toán này. Các thuật toán tìm đường đi trong mê cung là những phương pháp được tự động hóa để giải một mê cung. Các thuật toán chọn đường ngẫu nhiên, bám theo tường, Pledge, và Trémaux được xây dựng để cung cấp cho robot hướng đi trong mê cung mà hoàn toàn không biết trước về mê cung, còn các thuật toán lấp kín đường cụt và đường đi ngắn nhất được thiết kế để sử dụng khi đã biết trước toàn bộ mê cung. Thuật toán tìm đƣờng ngẫu nhiên 2.3. Đây là giải thuật đơn giản nhất, giải thuật này chỉ đơn giản là chạy theo một đường thẳng cho đến khi gặp một đường giao nhau thì đưa ra quyết định ngẫu nhiên về hướng tiếp theo để chạy. Mặc dù phương pháp này cuối cùng cũng thoát ra dược khỏi mê cung, nhưng thuật toán này có thể phải thực hiện trong khoảng thời gian rất lâu, thời gian thực thi không thể biết trước, robot thường xuyên lặp lại những ô đã đi trước đó. Sau khi kết thúc quá trình, robot không thu về được thông tin của mê cung đã đi qua. Thuật toán bám theo tƣờng 2.4. Thuật toán bám theo tường (wall follower) là một quy tắc nổi tiếng nhất để vượt qua mê cung, còn được gọi là quy tắc tay trái hoặc quy tắc tay phải. Nếu là mê cung đơn kết nối nghĩa là tất cả các bức tường của nó được kết nối với nhau hoặc kết nối với 26 đường bao quanh mê cung, thì bằng cách dò một tay lên một bức tường của mê cung người đi đảm bảo không bị lạc và tìm được lối ra nếu có một lối ra trên đường bao; hoặc nếu không có lối ra thì sẽ quay trở lại lối vào và sẽ đi qua tất cả các đường của mê cung ít nhất 1 lần. Hình 2.3. Thuật toán bám theo tường Robot thực hiện giải thuật bám tường như sau: luôn có một bên ( trái hoặc phải) của robot bám vào tường của mê cung trong suốt quá trình di chuyển. Nếu mê cung có điểm ra nằm ở giữa thì sẽ có trường hợp robot lặp lại lộ trình quanh mê cung liên tục mà không đến được điểm ra. Thuật toán Pledge 2.5. Nếu mê cung có các tường rời nhau, đồng thời lối ra của mê cung nằm trên tường bao của mê cung, thì thuật toán bám tường vẫn có thể tìm được đường ra. Tuy nhiên, nếu điểm vào nằm trong mê cung và tách rời khỏi lối ra, thì bám theo tường sẽ chỉ có thể đi thành một vòng cục bộ và không tìm được lối ra. Giải thuật Pledge được thiết kế để vượt qua vật cản, bằng cách chọn một hướng đi bất kì. Khi gặp vật cản thì chuyển sang di chuyển bám theo tường dọc theo vật cản, kết hợp với đếm góc quay. Sau khi bám tường và quay mà trở về lại đúng hướng đi ban đầu đồng thời tổng tổng góc quay bằng zero thì tức là đã vượt qua khỏi vật cản, thì không cần bám tường nữa và tiếp tục di chuyển theo hướng ban đầu đã chọn. Chỉ thoát khỏi bám tường khi thỏa mãn hai điều kiện: “ hướng hiện tại trùng với hướng ban đầu” và “tổng số góc đã quay bằng 0”. Thuật toán giúp cho robot từ bất cứ điểm nào trong mê cung cũng có thể tìm được lối ra nằm rìa ngoài mê cung. 27 Hình 2.4. Thuật toán Pledge Thuật toán Trémaux 2.6. Thuật toán Trémaux sử dụng phương pháp ghi nhớ đường đi trong mê cung, một đường trong mê cung sẽ được ghi nhớ bằng cách đánh dấu bởi một trong ba trọng thái: chưa qua, đã qua một lần hoặc hai lần. Một ô trong mê cung đã đi qua sẽ được đánh dấu. Tại điểm bắt đầu có thể chọn một hướng bất kì ( nếu có nhiều hơn một hướng ). Khi đến một ngã giao, nếu các đường rẽ đều chưa đi qua, thì chọn ngẫu nhiên một ô để đi và đánh dấu ô ấy đã đi qua một lần. Khi gặp một ngã giao mà đường trước mặt theo hướng đi hiện tại đã có một dấu, và đường đang đi hiện tại mới chỉ đánh dấu một lần, thì quay trở lại và đánh dấu đường ấy lần hai. Nếu đến một ngã giao mà không rơi và hai trường hợp trên thì chọn đường đi có số lần ít đánh dấu nhất, và nhớ đánh dấu đường ấy luôn. Khi đến đích thì những con đường chỉ đánh dấu một lần là đường dẫn trở về điểm xuất phát. Nếu không có điểm đích robot sẽ di chuyển về điểm ban đầu và đường đi sẽ là các ô được đánh dấu hai lần. Giải thuật này có ưu điểm ở bước chọn ngã rẽ cho robot, bước này không còn ngẫu nhiên mà được quyết định từ các hướng đi cũ và các ô lân cận. Theo các thuật toán ở trên và yêu cầu về mê cung cũng như thiết kế robot, ta sẽ chọn lựa giải thuật chọn đường, bám tường và Trémaux để tiến hành mô phỏng ở phần sau. 28 Hình 2.5. Thuật toán Tremaux Sau khi có được thông tin về mê cung, các tường đã được xác định, ta sẽ dùng giải thuật khác để tìm đường đi ngắn nhất cho robot từ một điểm bất kì đến điểm đích. Có hai thuật toán cơ bản giúp tìm đường đi ngắn nhất. Thuật toán lấp kín đƣờng cụt 2.7. Lấp kín đường cụt (dead – end filling) là một thuật toán để giải mê cung bằng cách lấp kín tất cả các ngã cụt, chỉ để lại một đường chính xác không bị lấp. Nó có thể được sử dụng để giải các mê cung trên giấy hoặc với một phần mềm máy tính, nhưng nó không giải quyết được những mê cung chưa biết bởi vì phương pháp này phải biết trước toàn bộ mê cung. Giải thuật được thực hiện lặp đi lặp lại theo quy trình như sau:  Bước 1: xét các ô là đường cụt (các ô có 3 mặt là tường, trừ ô đích) 29 Hình 2.6. Bước 1 giải thuật lấp đường cụt  Bước 2: lấp đường đi từ các ô này đến ngã rẽ gần nhất Hình 2.7. Bước 2 giải thuật lấp đường cụt  Bước 3: lặp lại bước 1 đến khi không còn đường cụt, sẽ thu được 1 số đường đi đến đích. Thuật toán tìm đƣờng đi ngắn nhất (floodfill) 2.8. Giải thuật floodfill thực tế thường được dùng để tìm đường đi từ ngoài vào trung tâm mê cung khi chưa biết thông tin về mê cung. Tuy nhiên tác giả sẽ ứng dụng logic của giải thuật này để tìm đường đi ngắn nhất từ vị trí vào đến vị

Các file đính kèm theo tài liệu này:

  • pdfluan_van_nghien_cuu_thiet_ke_robot_do_duong_di_bang_song_sie.pdf
Tài liệu liên quan