Đồ Án Tốt Nghiệp: Robot Tự Động Gọi Món và Phục Vụ Trong Quán Cà Phê

Đồ án nghiên cứu tốt nghiệp chuyên ngành robot tự động gọi món và phục vụ trong quán cà phê, thiết kế chi tiết, tính toán kỹ thuật theo tiêu chuẩn, đánh giá tính khả thi dự án.

Người đăng

Ẩn danh
91
1
0

Phí lưu trữ

35 Point

Tóm tắt

I. Robot Phục Vụ Quán Cà Phê Xu Hướng Tự Động Hóa Mới

Cuộc cách mạng công nghệ đang định hình lại ngành dịch vụ, đặc biệt là trong lĩnh vực F&B. Robot tự động gọi món và phục vụ trong quán cà phê không còn là viễn cảnh xa vời mà đã trở thành một giải pháp công nghệ khả thi. Việc ứng dụng robot tự hành giúp tối ưu hóa quy trình vận hành, nâng cao trải nghiệm khách hàng và giải quyết bài toán thiếu hụt nhân sự. Nghiên cứu này tập trung vào việc xây dựng một mô hình robot phục vụ hoàn chỉnh, có khả năng hoạt động hiệu quả trong môi trường thực tế.

1.1. Tổng quan về robot di động tự hành trong ngành F B

Một robot tự hành (autonomous robot) thông minh là một hệ thống phức tạp, kết hợp giữa phần cứng và phần mềm. Năng lực cốt lõi của nó bao gồm hai phần chính: khả năng nhận thức môi trường (Perception) và khả năng lập kế hoạch chuyển động (Motion Planning). Nhận thức môi trường được thực hiện thông qua các cảm biến như laser, camera để thu thập dữ liệu. Từ đó, robot sử dụng các thuật toán để xây dựng bản đồ không gian (Mapping) và xác định vị trí của chính nó trên bản đồ đó (Localization). Quá trình kết hợp hai tác vụ này được gọi là SLAM (Simultaneous Localization and Mapping). Sau khi có nhận thức về môi trường, các thuật toán lập kế hoạch chuyển động sẽ tính toán quỹ đạo tối ưu để robot di chuyển từ điểm xuất phát đến đích, đồng thời tránh các vật cản tĩnh và động. Đây là nền tảng để robot tự động gọi món và phục vụ có thể vận hành một cách trơn tru và an toàn trong không gian quán cà phê đông đúc.

1.2. Mục tiêu và phạm vi ứng dụng robot phục vụ tự động

Mục tiêu chính của đề tài là xây dựng thành công một mô hình robot phục vụ trong quán cà phê có khả năng hoạt động hiệu quả. Robot phải có khả năng tự xây dựng bản đồ môi trường, hoạch định đường đi ngắn nhất, di chuyển theo quỹ đạo đã định và chủ động tránh vật cản. Để đạt được mục tiêu này, phạm vi nghiên cứu tập trung vào việc ứng dụng các công nghệ tiên tiến. Nền tảng Robot Operating System (ROS) được sử dụng làm hệ điều hành trung tâm, cung cấp một bộ khung phần mềm mạnh mẽ cho việc phát triển. Các thuật toán cốt lõi như Gmapping cho việc tạo bản đồ và AMCL cho việc định vị được triển khai. Về mặt cơ khí, mô hình robot sử dụng bánh xe omni để tăng tính linh hoạt. Toàn bộ hệ thống được thiết kế và mô phỏng bằng các phần mềm chuyên dụng như Solidworks và Matlab trước khi đưa vào triển khai trên phần cứng thực tế.

II. Các Thách Thức Khi Vận Hành Robot Phục Vụ Tự Động

Việc triển khai robot phục vụ trong một môi trường thực tế như quán cà phê đặt ra nhiều thách thức kỹ thuật đáng kể. Không gian hoạt động thường xuyên thay đổi với sự di chuyển của con người và đồ vật. Điều này đòi hỏi robot phải có khả năng thích ứng cao, xử lý thông tin nhanh chóng và đưa ra quyết định di chuyển chính xác để đảm bảo an toàn và hiệu quả. Các vấn đề về định vị và lập kế hoạch di chuyển là những rào cản lớn nhất cần được giải quyết.

2.1. Vấn đề định vị và nhận thức môi trường phức tạp

Thách thức cơ bản nhất đối với một robot tự hành là trả lời câu hỏi "Tôi đang ở đâu?". Vấn đề này được gọi là định vị (Localization). Để định vị được, robot cần có một bản đồ của môi trường. Tuy nhiên, để xây dựng được bản đồ, robot lại cần biết chính xác vị trí của nó tại mỗi thời điểm thu thập dữ liệu. Đây là một bài toán "con gà và quả trứng" kinh điển trong ngành robot học, được giải quyết bằng các thuật toán SLAM. Trong môi trường quán cà phê, sự phức tạp tăng lên do các yếu tố động như khách hàng đi lại, nhân viên di chuyển, bàn ghế bị xê dịch. Các cảm biến của robot phải đủ nhạy và thuật toán phải đủ thông minh để phân biệt được đâu là vật cản cố định (tường, cột) và đâu là vật cản tạm thời, từ đó cập nhật bản đồ và vị trí một cách liên tục và chính xác.

2.2. Yêu cầu về lập kế hoạch di chuyển an toàn và hiệu quả

Sau khi đã xác định được vị trí và có bản đồ, robot cần lập kế hoạch di chuyển. Quá trình này được chia thành hai cấp độ. Lập kế hoạch đường đi toàn cục (Global Path Planning) là việc tìm ra một lộ trình tổng thể từ điểm A đến điểm B, thường là con đường ngắn nhất và tránh các vật cản tĩnh đã biết trên bản đồ. Các thuật toán như A* hay Dijkstra thường được sử dụng cho nhiệm vụ này. Tuy nhiên, thách thức thực sự nằm ở Lập kế hoạch chuyển động cục bộ (Local Motion Planning). Tại đây, robot phải liên tục điều chỉnh quỹ đạo để bám theo đường đi toàn cục, đồng thời phản ứng tức thì với các vật cản bất ngờ chưa có trên bản đồ, ví dụ như một người khách đột ngột bước ra. Robot phải tính toán để giảm tốc, đi vòng qua hoặc dừng lại một cách mượt mà, đảm bảo an toàn cho cả người và tài sản trong quán.

III. Giải Pháp ROS Nền Tảng Điều Hành Robot Phục Vụ Tối Ưu

Để giải quyết các thách thức phức tạp trong việc phát triển robot tự động gọi món và phục vụ, việc lựa chọn một nền tảng phần mềm mạnh mẽ và linh hoạt là yếu tố quyết định. Hệ điều hành Robot (Robot Operating System - ROS) đã được lựa chọn làm giải pháp trung tâm. ROS không phải là một hệ điều hành truyền thống, mà là một bộ khung phần mềm trung gian (middleware) cung cấp các công cụ và thư viện tiêu chuẩn, giúp đơn giản hóa và tăng tốc quá trình phát triển robot.

3.1. Giới thiệu hệ điều hành Robot Operating System ROS

Robot Operating System (ROS) là một hệ điều hành mã nguồn mở được thiết kế đặc biệt cho việc nghiên cứu và phát triển robot. Ưu điểm lớn nhất của ROS là kiến trúc mô-đun hóa. Mọi tác vụ tính toán được thực hiện trong các tiến trình độc lập gọi là "nodes". Các nodes này giao tiếp với nhau thông qua một hệ thống truyền tin publish/subscribe gọi là "topics". Ví dụ, một node có thể chịu trách nhiệm đọc dữ liệu từ cảm biến laser Rplidar A1 và publish dữ liệu đó lên topic tên là /scan. Một node khác, chịu trách nhiệm xây dựng bản đồ, sẽ subscribe vào topic /scan để nhận dữ liệu và xử lý. Kiến trúc này cho phép các nhà phát triển xây dựng hệ thống một cách linh hoạt, dễ dàng thay thế, nâng cấp từng thành phần mà không ảnh hưởng đến toàn bộ hệ thống. Hơn nữa, cộng đồng ROS khổng lồ cung cấp sẵn rất nhiều gói phần mềm (packages) đã được kiểm chứng cho các tác vụ phổ biến.

3.2. Vai trò của Navigation Stack trong điều hướng tự động

Một trong những gói phần mềm mạnh mẽ và quan trọng nhất trong ROSNavigation Stack. Đây là một tập hợp các thuật toán và công cụ cho phép robot di chuyển tự động từ điểm này đến điểm khác. Theo sơ đồ tổng quan trong nghiên cứu, Navigation Stack nhận đầu vào là thông tin từ cảm biến (ví dụ: laser scans), thông tin odometry (ước tính quãng đường di chuyển), và một tọa độ đích. Đầu ra của nó là các lệnh vận tốc (tốc độ tịnh tiến và tốc độ xoay) gửi đến bộ điều khiển động cơ của robot. Cấu trúc của nó bao gồm các thành phần chính: một global planner để vạch ra đường đi tổng thể trên bản đồ tĩnh, một local planner để tạo ra quỹ đạo di chuyển cục bộ và tránh vật cản tức thời, và một hệ thống bản đồ chi phí (cost map) để biểu diễn các khu vực nguy hiểm cần tránh. Toàn bộ quá trình này giúp robot điều hướng một cách thông minh và an toàn.

IV. Bí Quyết Xây Dựng Bản Đồ và Định Vị Robot Chính Xác

Khả năng tự xây dựng bản đồ và định vị chính xác là nền tảng cho mọi hoạt động của robot phục vụ tự hành. Nếu không biết mình đang ở đâu và không gian xung quanh như thế nào, robot không thể di chuyển đến bất kỳ vị trí nào một cách tin cậy. Nghiên cứu đã áp dụng một bộ các thuật toán chuyên dụng trong ROS để giải quyết triệt để bài toán này, tạo ra một hệ thống nhận thức không gian mạnh mẽ và ổn định.

4.1. Phương pháp SLAM Lập bản đồ và định vị đồng thời

SLAM (Simultaneous Localization and Mapping) là thuật toán cốt lõi cho phép robot hoạt động trong một môi trường hoàn toàn mới mà không cần bản đồ cho trước. Ý tưởng chính của SLAM là robot sẽ vừa di chuyển, vừa sử dụng cảm biến để quét môi trường xung quanh và xây dựng bản đồ. Đồng thời, nó sử dụng chính các đặc điểm trên bản đồ vừa tạo ra (như góc tường, cột nhà) để xác định lại vị trí của mình. Quá trình này diễn ra liên tục, vị trí ước tính được dùng để cập nhật bản đồ, và bản đồ được cập nhật lại được dùng để tinh chỉnh lại vị trí. Mặc dù phức tạp, các thuật toán SLAM hiện đại như Gmapping đã giải quyết vấn đề này một cách hiệu quả, cho phép robot tạo ra các bản đồ 2D chính xác chỉ bằng cách di chuyển bằng tay trong lần đầu tiên thiết lập.

4.2. Ứng dụng thuật toán Gmapping để tạo bản đồ lưới

Trong khuôn khổ của dự án, thuật toán Gmapping được lựa chọn để thực hiện nhiệm vụ SLAM. Gmapping là một thuật toán dựa trên bộ lọc hạt Rao-Blackwellized, rất hiệu quả cho việc tạo bản đồ 2D. Nó nhận đầu vào là dữ liệu từ cảm biến laser và thông tin odometry. Kết quả đầu ra là một bản đồ lưới chiếm đóng (occupancy grid map). Trên bản đồ này, không gian được chia thành các ô vuông nhỏ. Mỗi ô được gán một giá trị xác suất thể hiện nó là không gian trống, không gian bị chiếm đóng (có vật cản), hay không gian chưa được khám phá. Hình 5.3 và 5.4 trong báo cáo cho thấy kết quả bản đồ được dựng bởi Gmapping rất rõ ràng và chi tiết, phản ánh chính xác không gian thực tế, tạo tiền đề vững chắc cho các bước điều hướng tiếp theo.

4.3. Tối ưu định vị với thuật toán AMCL và bản đồ chi phí

Sau khi bản đồ đã được tạo và lưu lại, robot không cần chạy SLAM nữa. Thay vào đó, nó sử dụng thuật toán AMCL (Adaptive Monte Carlo Localization) để định vị trên bản đồ có sẵn. AMCL cũng là một thuật toán dựa trên bộ lọc hạt. Nó khởi tạo một "đám mây" các hạt (giả thuyết về vị trí của robot) ngẫu nhiên trên khắp bản đồ. Khi robot di chuyển và nhận dữ liệu từ cảm biến, AMCL sẽ so sánh dữ liệu này với bản đồ. Những hạt nào có vị trí "nhìn thấy" môi trường giống với cảm biến thực tế sẽ có trọng số cao hơn và được nhân bản. Những hạt sai sẽ bị loại bỏ. Qua vài bước di chuyển, đám mây hạt sẽ hội tụ về một khu vực nhỏ, đó chính là vị trí chính xác của robot. Để tăng cường an toàn, hệ thống sử dụng bản đồ chi phí (cost map). Bản đồ này "thổi phồng" các vật cản, tạo ra một vùng đệm an toàn xung quanh chúng, đảm bảo robot luôn giữ một khoảng cách cần thiết khi di chuyển.

V. Hướng Dẫn Thiết Kế Robot Phục Vụ Cà Phê Thực Tiễn

Từ nền tảng lý thuyết và thuật toán, việc xây dựng một robot vật lý đòi hỏi sự lựa chọn kỹ lưỡng về phần cứng và quy trình thiết kế cơ khí chính xác. Dự án đã tiến hành thiết kế và chế tạo một mô hình robot hoàn chỉnh, tích hợp các thành phần điện tử và cơ khí để biến các thuật toán phức tạp thành chuyển động thực tế. Quá trình này bao gồm lựa chọn linh kiện, thiết kế 3D và lắp ráp hệ thống.

5.1. Lựa chọn phần cứng Cảm biến và bộ điều khiển trung tâm

Trái tim của robot là bộ điều khiển trung tâm. Nghiên cứu đã lựa chọn PC mini Lenovo Thinkcentre m93 vì hiệu năng xử lý đủ mạnh để chạy hệ điều hành Ubuntu và ROS, đồng thời có kích thước nhỏ gọn phù hợp để đặt trên robot. Để nhận thức môi trường, cảm biến laser Rplidar A1 được sử dụng. Đây là một cảm biến 2D có khả năng quét 360 độ, cung cấp dữ liệu khoảng cách chính xác đến các vật cản, là đầu vào quan trọng cho các thuật toán SLAM và tránh vật cản. Ở tầng điều khiển cấp thấp, một board Arduino Mega 2560 được dùng để giao tiếp với các module điều khiển động cơ (motor driver). Arduino nhận lệnh vận tốc từ PC mini qua cổng serial và chuyển thành tín hiệu PWM để điều khiển chính xác tốc độ của từng động cơ, tạo thành một hệ thống phân cấp xử lý hiệu quả.

5.2. Thiết kế cơ khí với bánh xe omni và phần mềm Solidworks

Để robot có thể di chuyển linh hoạt trong không gian hẹp của quán cà phê, hệ thống truyền động sử dụng bánh xe omni. Loại bánh này có cấu tạo đặc biệt với các con lăn nhỏ đặt vuông góc với trục bánh, cho phép robot di chuyển theo mọi hướng (tiến, lùi, trái, phải, đi chéo) mà không cần xoay trở. Điều này giúp robot dễ dàng luồn lách qua các lối đi hẹp và tiếp cận bàn khách một cách chính xác. Toàn bộ phần khung và vỏ của robot được thiết kế bằng phần mềm Solidworks 2019. Theo các hình ảnh trong báo cáo, thiết kế có dạng hình trụ với hai tầng, tối ưu hóa không gian để chứa pin, bộ điều khiển và khay đựng đồ uống. Việc thiết kế trên Solidworks cho phép mô phỏng, kiểm tra và tối ưu hóa kết cấu trước khi gia công, đảm bảo độ bền và tính thẩm mỹ cho sản phẩm cuối cùng.

VI. Kết Quả và Tương Lai Của Robot Phục Vụ Trong Quán Cà Phê

Sau quá trình nghiên cứu, thiết kế và triển khai, mô hình robot phục vụ đã đạt được những kết quả đáng khích lệ, chứng minh tính khả thi của giải pháp. Các thử nghiệm trong môi trường thực tế đã xác nhận khả năng hoạt động ổn định của hệ thống. Tuy nhiên, công nghệ luôn phát triển và luôn có những hướng đi mới để cải tiến, đưa robot phục vụ trở nên thông minh và hữu ích hơn trong tương lai.

6.1. Đánh giá kết quả thực nghiệm điều hướng và tránh vật cản

Các kết quả thực nghiệm được trình bày trong Chương 5 của đồ án đã cho thấy sự thành công của dự án. Robot đã có thể tự động xây dựng bản đồ 2D của không gian thử nghiệm một cách chính xác bằng thuật toán Gmapping. Sau khi có bản đồ, robot định vị thành công vị trí của mình bằng AMCL (Hình 5.5). Khi nhận được lệnh di chuyển đến một vị trí đích, gói global_planner đã vạch ra một đường đi tối ưu (đường màu xanh lá trong Hình 5.6). Quan trọng hơn, trong quá trình di chuyển, robot đã thể hiện khả năng tránh vật cản động một cách hiệu quả. Hình 5.8 cho thấy khi phát hiện vật cản mới, local_planner đã ngay lập tức hoạch định lại một quỹ đạo cục bộ (đường màu đỏ) để đi vòng qua vật cản một cách an toàn và tiếp tục hành trình. Những kết quả này khẳng định hệ thống navigation stack đã được cấu hình và hoạt động đúng như mong đợi.

6.2. Hướng phát triển cho thế hệ robot phục vụ thông minh hơn

Mô hình hiện tại là một nền tảng vững chắc, mở ra nhiều hướng phát triển tiềm năng trong tương lai. Để tăng cường khả năng nhận thức, có thể tích hợp thêm các cảm biến 3D như camera chiều sâu (depth camera) để robot không chỉ nhận diện vật cản mà còn có thể phân loại đối tượng (người, bàn, ghế). Giao diện người-máy (HMI) có thể được nâng cấp, cho phép khách hàng gọi món trực tiếp trên màn hình cảm ứng gắn trên robot hoặc thông qua nhận dạng giọng nói. Một hướng đi khác là tích hợp hệ thống quản lý robot với phần mềm quản lý bán hàng (POS) của quán, tự động hóa hoàn toàn quy trình từ khi khách đặt món đến khi món ăn được phục vụ tận bàn. Về lâu dài, việc phát triển các thuật toán cho phép một đội robot (robot fleet) hoạt động phối hợp nhịp nhàng trong cùng một không gian sẽ là một bước tiến quan trọng, đáp ứng nhu cầu của các nhà hàng và quán cà phê quy mô lớn.

10/07/2025
Đồ án tốt nghiệp chuyên ngành robot tự động gọi món và phục vụ trong quán cà phê

Trích đoạn nội dung tài liệu

CHƯƠNG 1.1 Giới thiệu về Robot di chuyển tự hành (autonomous driving) Hình 1. 1 Tổng quan hệ thống robot tự động di chuyển Một robot thông minh hiện nay có thể tự động di chuyển trong một môi trường nhất định là một hệ thống phức tạp bao gồm cả phần cứng và phần mềm bao gồm hai phần: Khả năng nhận thức được môi trường xung quanh (Perception) thông qua các thiết bị nhận diện và các thuật toán xử lý tín hiệu thu được, và thứ hai là từ các dữ liệu thu thập được nó có thể tự di chuyển một cách khéo léo đến vị trí mong muốn đồng thời tránh các vật cản thông qua các thuật toán lập trình chuyển động (Motion planing) sẵn cho robot mà không cần đến bất kì tác động nào của con người. Mỗi vấn đề được nêu trên đều đã được nghiên cứu và phát triển từ lâu và có rất nhiều cách thức tiếp cận mỗi vấn đề khác nhau để tạo nên một robot tự hành. Khả năng nhận thức (Perception) Robot tự hành thông qua các thiết bị cảm biến môi trường (sensing) mà nó đang hoạt động như: Cảm biến âm thanh, ánh sáng, laser, … Hoặc các loại camera.

Thông qua các thiết bị cảm biến, các dữ liệu về môi trường được gửi về bộ não trung tâm để tính toán và dùng trong các tác vụ khác nhau. Tùy thuộc vào robot và ứng dụng của nó, các dữ liệu về môi trường sẽ được thu về đơn giản hay phức tạp theo mỗi loại cảm biến khác nhau. Đối với các loại robot đơn giản như di chuyển theo đường màu sắc hoặc di 1 Luận Văn Tốt Nghiệp Nguyễn Ngọc Lĩnh chuyển ngẫu nhiên khi bị chặn chuyển động, chúng chỉ cần các cảm biến về màu sắc hoặc cảm biến khi gặp vật cản. Tuy nhiên đa số các robot thông minh hiện nay việc nhận thức môi trường rất rõ ràng thông qua nhiều thuật toán xử lí tín hiệu và các cảm biến thường là các loại cảm biến laser khoảng cách, hoặc ngay cả camera.

Lập bản đồ (Mapping)[2] và định vị robot (Localizication) Đối với các loại robot tự hành thông qua bản đồ, sau khi Robot thu thập thông tin thông qua các thiết bị cảm biến, nhận diện. Từ các dữ liệu thu thập được thông qua các thuật toán tạo lập bản đồ chúng ta có thể thu được bản đồ toàn cục của môi trường mà các thiết bị cảm biến thu được. Vấn đề trong việc xây dựng bản đồ với dữ liệu thu thập được là làm thế nào để lưu trữ dữ liệu và dùng nó để thể hiện một bản đồ hữu ích về không gian bị chiếm dụng và không gian có thể sử dụng cũng như về độ chính xác đại diện cho môi trường hoạt động. Tùy thuộc vào mỗi ứng dụng khác nhau, robot cần phải nắm bắt rõ hay đơn giản những thông tin môi trường xung quanh nó.

Dựa vào đó, nhiều thuật toán ra đời giúp việc tạo lập bản đồ từ đơn giản cho tới chi tiết ra đời ( 2D, 3D). Dạng bản đồ thường được sử dụng nhiều là dạng lưới (ví dụ hình 2) vì khả năng tính toán ứng dụng rộng rãi và linh hoạt, ít tốn không gian bộ nhớ máy tính, giúp các thuật toán hoạt động trơn tru hơn. Việc định vị robot là việc xác định xem robot đang ở đâu trên bản đồ, vị trí và hình dáng của nó so với môi trường xung quanh. Mỗi môi trường mà robot hoạt động thường sẽ được đặt hệ tọa độ gốc để lấy làm mốc trong việc tính toán vị trí robot dễ dàng hơn.

Việc tạo lập bản đồ thường đi song song với việc định vị vị trí của robot trong bản đồ, vì đây là hai khía cạnh phụ thuộc vào nhau, vấn đề này có tên là SLAM (xem thêm các thuật toán ở OpenSlam). Để xây dựng một bản đồ của môi trường robot phải tự biết vị trí của nó, để biết được vị trí của nó tiếp theo robot cần phải có một bản đồ đã được tính toán. Ngoài ra việc định vị vị trí có thể đạt được thông qua GPS hoặc các thuật toán định vị khác (AMCL, MCL, …). 2 Luận Văn Tốt Nghiệp Nguyễn Ngọc Lĩnh Hình 1.

2 Ví dụ về tạo lập bản đồ của robot (2D, 3D) 1. Điều khiển chuyển động (Motion planning) Sau khi robot đã có được các thông tin cần biết về môi trường mà nó hoạt động, tiếp đến ta cần có các thuật toán điều khiển di chuyển để robot có thể di chuyển đến vị trí mong muốn trên bản đồ hoặc thực hiện các nhiệm vụ mong muốn giải quyết các vấn đề. Dùng các thuật toán điều khiển, ta có thể điều khiển chuyển động của robot di chuyển theo ý muốn. Thông thường trong các robot tự hành thông minh, một đường đi toàn cục sẽ được đưa ra để hướng tới vị trí cuối cùng (path planning[8]) qua các thuật toán khởi tạo đường đi như A*, Dijkstra[7],.

Và thông qua các thuật toán điều khiển chuyển động, robot sẽ được điều khiển bám theo đường đi đã được đưa ra. Lập kế hoạch chuyển động phụ thuộc nhiều vào mô hình chuyển động của robot hơn là lập kế hoạch đường đi. Mỗi dạng robot khác nhau sẽ có các mô hình toán học khác nhau từ đó thông qua các thuật toán điều khiển như PID, hoặc các thuật toán điều khiển thông minh như mờ, LQR, neuron. để điều khiển các tín hiệu như vận tốc hoặc bánh lái của xe.

3 Tạo lập đường đi cho robot tiến tới đích 3 Luận Văn Tốt Nghiệp Nguyễn Ngọc Lĩnh Một hệ thống robot lớn thường sẽ được chia ra làm hai tầng điều khiển khác nhau. Một là tầng tính toán cấp cao thường sẽ hoạt động để tính toán các thuật toán phức tạp trên (tạo lập bản đồ, data process, giao diện người máy, điều khiển thông minh) và tầng điều khiển cấp thấp thường hoạt động trên các bo mạch nhúng để điều khiển các cơ cấu máy móc, cấu trúc điện tử cơ học của robot (motor, servo). Để xây dựng một hệ thống hoàn thiện thì đây là một đề tài khá rộng và cần có những chuyên gia có kiến thức, kinh nghiệm để có thể phát triển một hệ thống ổn định, hoạt động trôi chảy trên nhiều điều kiện môi trường khác nhau. Trong luận án này chúng ta sẽ tiến hành thiết kế và xây dựng một robot hoạt động ổn định trong thực tế.

Mục tiêu đề tài • Tìm hiểu cách để tạo ra một robot tự hành và cấu trúc để thực hiện robot tự hành, có được hiểu biết về mô hình động học của robot dưới dạng xe bốn bánh với bánh omni và ROS. • Thiết lập chuyển động của robot dưới dạng xe bốn bánh trong chương trình mô phỏng trên nền tảng ROS, sử dụng các thuật toán robot tự hành và nắm bắt cơ bản các thuật toán. • Xây dựng được một robot giao coffee hoàn chỉnh từ việc xây dựng bản đồ, hoạch định đường đi ngắn nhất, đi theo quỹ đạo đã hoạch định đồng thời phát hiện và tránh các vật cản trên đường đi. Đối tượng, phạm vi nghiên cứu • Nền tảng Robot Operating system (ROS)[1].

• Các phần mềm và các nội dung thuộc về ROS. • Mô hình động học của robot xe bốn bánh với bánh lái omni. • Các thuật toán tạo lập bản đồ và định vị song song (SLAM), thuật toán điều khiển chuyển động (TEB[11]). • Phần mềm matlab.

• Phần mềm solidword. Các bước thực thiện đề tài • Tìm hiểu về ROS và cơ cấu động học của xe bốn bánh omni. • Thiết kế hình mẫu xe omni và động học trong phần mềm thiết kế và tạo robot thực tế. 4 Luận Văn Tốt Nghiệp Nguyễn Ngọc Lĩnh • Tìm hiểu các thuật toán để tạo nên một robot xe tự hành trong một môi trường chưa biết trước và triển khai các gói phần mềm trong mô hình.

• Viết giao diện robot kết nối với hệ thống máy tính trung tâm. • Điều chỉnh hiệu số các thông số tối ưu để đạt được quỹ đạo di chuyển tối ưu. Giới thiệu về Robot Operating System (ROS) Các thuật toán robot tự trị đa số là các thuật toán phức tạp và yêu cầu mức độ xử lý tính toán cao và cần một hệ thống phần mềm và phần cứng mạnh mẽ để xử lý chúng. Vì thế các robot tự trị thường có phần lõi xử lý cấp cao thường là một máy tính có hệ điều hành và ROS[1] là một nền tảng phần mềm mạnh mẽ giúp kết nối các cơ cấu hoạt động vật lý và các thuật toán.

Nó hoạt động trên hệ điều hành linux, mã nguồn mở và là một bộ khung phần mềm trung gian sử dụng cho việc nghiên cứu và phát triển robot. ROS được tạo ra để kết hợp các phần mềm robot với nhau, là một môi trường chung cho các nhà nghiên cứu phát triển một phần mềm, chức năng cho robot và xuất hành trên ROS. Các phần mềm, chức năng này sẽ có thể được sử dụng trên các ứng dụng robot nếu các robot ấy có cài đặt ROS. Nó được thiết kế để các nhóm phát triển robot cộng tác và xây dựng dựa trên công việc của nhau.

Bên cạnh tất cả các công cụ và gói mà ROS cung cấp, một trong những tính năng quan trọng nhất của ROS là khả năng trừu tượng hóa một số khía cạnh cơ bản và cấp thấp của phát triển phần mềm. ROS cung cấp một hệ thống giao tiếp giữa các quy trình có thể dễ dàng sử dụng để thực hiện một hệ thống phân tán với nhiều quy trình. Sử dụng khung giao tiếp đã triển khai, hệ thống dựa trên một biểu đồ giống như kiến trúc. Bao gồm các node chịu trách nhiệm xử lý và các node này có thể nhận, gửi và ghép kênh thông tin cảm biến và các cơ cấu chấp hành, lập kế hoạch, trạng thái và các thông báo khác.

ROS cho phép nhiều ngôn ngữ lập trình được sử dụng trong sự phát triển của hệ thống. Python, C++ hiện đang là các ngôn ngữ phổ biến nhất. Một hệ thống dựa trên ROS được chia làm ba cấp độ khái niệm : the filesystem level, the computation graph level, và the comunity level. Cấp đầu tiên là cấp Hệ thống tệp tin (Filesystem).

Trong cấp độ này, một nhóm các khái niệm được sử dụng để giải thích cách một hệ thống trong ROS hoạt động, cấu trúc thư mục và số lượng tệp tối thiểu mà nó cần để hoạt động. 5 Luận Văn Tốt Nghiệp Nguyễn Ngọc Lĩnh Cấp thứ hai là mức Đồ thị tính toán (Computer Graph) nơi xảy ra giao tiếp giữa các quy trình và hệ thống. Trong phần này, chúng ta sẽ thấy tất cả các khái niệm và cơ chế mà ROS có để thiết lập hệ thống, xử lý tất cả các quy trình tính toán và giao tiếp với nhiều hơn một máy tính, v.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ