Đồ án tốt nghiệp công nghệ kỹ thuật điều khiển và tự động hóa thiết kế và lập trình robot tự hành kết hợp mang cánh tay robot 6 bậc tự do ứng dụng robot operating system và depth camera

Đồ án tốt nghiệp thiết kế và lập trình robot tự hành kết hợp cánh tay robot 6 bậc tự do, ứng dụng ROS và depth camera, đột phá trong tự động hóa.

2024

167
22
0

Phí lưu trữ

45 Point

Mục lục chi tiết

LỜI CẢM ƠN

LỜI CAM ĐOAN

1. CHƯƠNG 1: TỔNG QUAN

1.1. Lý do chọn đề tài

1.2. Mục tiêu nghiên cứu

1.3. Cách tiếp cận và phương pháp nghiên cứu

1.3.1. Cách tiếp cận

1.3.2. Phương pháp nghiên cứu

1.4. Giới hạn đề tài

1.5. Nội dung nghiên cứu

1.6. Lý thuyết về Robot tự hành

1.6.1. Các loại Robot tự hành phổ biến trong công nghiệp

1.6.2. Các cơ cấu dẫn động của Robot tự hành

1.6.3. Lý thuyết động học của Robot truyền động vi sai

1.7. Lý thuyết về cánh tay Robot

1.7.1. Các loại cánh tay Robot phổ biến trong công nghiệp

1.7.2. Lý thuyết động học của cánh tay Robot

1.8. Giới thiệu về hệ thống Robot Operating System – ROS

1.8.1. Khái niệm về ROS Framework

1.8.2. Cấu trúc của ROS

1.8.3. ROS File System

1.8.4. ROS Computation Graph Level

1.8.5. Thuật toán SLAM/AMCL

1.9. Các giao thức, chuẩn truyền thông được sử dụng

1.9.1. Giao thức UART

1.9.2. Giao thức SPI

1.9.3. Chuẩn truyền thông TCP/IP

1.9.4. Chuẩn truyền thông RS – 485

1.9.5. Chuẩn truyền thông RS – 232

1.10. Lý thuyết bộ điều khiển PID

1.11. Sơ lược về dòng Fastech Ezi – Servo

1.12. Sơ lược về dòng vi điều khiển Espressif ESP32

1.13. Các loại mã marker phổ biến

2. THIẾT KẾ HỆ THỐNG

2.1. Cánh tay Robot 6 bậc tự do

2.1.1. Thiết kế cơ khí cánh tay Robot

2.1.2. Thiết kế mạch điều khiển cánh tay Robot

2.1.3. Tính toán động học cánh tay Robot

2.1.3.1. Động học thuận
2.1.3.2. Động học nghịch

2.1.4. Lập trình cánh tay Robot

2.1.4.1. Lưu đồ giải thuật chương trình

2.1.5. Thiết kế giao diện Teach Pendant

2.1.5.1. Lập trình giao diện Teach Pendant

2.1.6. Lập trình điều khiển cánh tay Robot

2.2. Robot tự hành

2.2.1. Thiết kế cơ khí Robot tự hành

2.2.2. Thiết kế phần điện Robot tự hành

2.2.3. Các thành phần trong hệ thống

2.2.4. Sơ đồ hệ thống điện Robot

2.2.5. Lập trình điều khiển Robot tự hành

2.2.5.1. Lưu đồ điều khiển Robot tự hành

2.2.6. Tích hợp hệ thống Robot Operating System – ROS

2.3. Kết hợp cánh tay Robot 6 bậc tự do lên Robot tự hành

2.3.1. Thiết kế cơ khí phần tủ liên kết giữa 2 Robot

2.3.2. Thiết kế phần điện Robot kết hợp

2.3.3. Sơ đồ phân phối nguồn toàn hệ thống

2.3.4. Sơ đồ truyền thông toàn hệ thống

2.3.5. Lập trình kết hợp cánh tay Robot 6 bậc tự do và Robot tự hành

2.3.5.1. Nguyên lý hệ thống
2.3.5.2. Hiệu chỉnh máy ảnh – Camera Calibration bằng Chessboard
2.3.5.3. Ước tính tư thế – 6DoF Pose Estimation bằng ArUco Marker
2.3.5.4. Căn chỉnh ảnh Depth và Color – Depth Alignment
2.3.5.5. Sơ đồ quy trình đến lấy hàng tại trạm
2.3.5.6. Lập trình tác vụ điều chỉnh tư thế và lấy hàng tại trạm

2.4. Kết quả phần cứng

2.4.1. Phần cơ khí Robot

2.4.2. Phần điện Robot

2.5. Kết quả phần mềm

2.5.1. Giao diện Teach Pendant điều khiển cánh tay Robot

2.5.2. Giao diện phần mềm Rviz điều khiển Robot tự hành

2.5.3. Kết quả các chương trình xử lý ảnh và ước tính tư thế

2.5.3.1. Tự động di chuyển đến đích khi không có vật cản
2.5.3.2. Tự động di chuyển đến đích khi có vật cản
2.5.3.3. Kết quả điều chỉnh tư thế Robot tự hành khi đến trạm
2.5.3.4. Kết quả lấy hàng tại trạm bằng cánh tay Robot

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN

DANH MỤC HÌNH ẢNH

DANH MỤC BẢNG BIỂU

DANH MỤC CÁC TỪ VIẾT TẮT

Tóm tắt

I. Thiết kế robot tự hành

Phần này tập trung vào thiết kế robot tự hành, bao gồm các yếu tố cơ bản như khung cơ khí, hệ thống truyền động và cảm biến. Robot tự hành được thiết kế để di chuyển độc lập trong môi trường công nghiệp, sử dụng các cảm biến như LiDAR và depth camera để nhận diện vật cản. Hệ thống truyền động bao gồm động cơ và driver, được điều khiển thông qua ROS (Robot Operating System). Thiết kế này đảm bảo tính linh hoạt và độ chính xác cao trong các tác vụ di chuyển.

1.1. Khung cơ khí và hệ thống truyền động

Khung cơ khí của robot tự hành được thiết kế để chịu tải và đảm bảo độ ổn định. Hệ thống truyền động sử dụng động cơ ORIENTAL MOTOR và driver AZD-KD, cho phép robot di chuyển mượt mà và chính xác. Các bánh xe được thiết kế để phù hợp với địa hình công nghiệp, đảm bảo khả năng vượt chướng ngại vật.

1.2. Cảm biến và nhận diện môi trường

Hệ thống cảm biến bao gồm LiDAR SICK TIM551 và depth camera Microsoft Azure Kinect. Các cảm biến này giúp robot nhận diện môi trường xung quanh, xây dựng bản đồ và tránh vật cản. Depth camera cung cấp dữ liệu về độ sâu, hỗ trợ xử lý hình ảnhnhận diện vật thể.

II. Lập trình robot tự hành

Phần này đề cập đến lập trình robot tự hành sử dụng ROS (Robot Operating System). ROS được chọn làm framework chính để điều khiển robot, bao gồm các module như navigation, SLAM và AMCL. Thuật toán điều khiển robot được phát triển để tối ưu hóa chuyển động và đảm bảo an toàn. Các thư viện như OpenCV và Open3D được sử dụng để xử lý hình ảnhước tính tư thế.

2.1. Navigation và SLAM

Hệ thống navigation của robot được xây dựng dựa trên thuật toán SLAM (Simultaneous Localization and Mapping). Robot có khả năng tự động xây dựng bản đồ và định vị trong môi trường không xác định. ROS cung cấp các công cụ như Rviz để hiển thị bản đồ và điều khiển robot.

2.2. Xử lý hình ảnh và ước tính tư thế

Depth camera được sử dụng để thu thập dữ liệu hình ảnh và độ sâu. Các thuật toán xử lý hình ảnh như ArUco Marker được áp dụng để ước tính tư thế (pose estimation). Điều này giúp robot xác định vị trí và hướng của các vật thể trong không gian.

III. Cánh tay robot 6 bậc tự do

Phần này tập trung vào cánh tay robot 6 bậc tự do, bao gồm thiết kế cơ khí, mạch điều khiển và lập trình. Cánh tay robot được tích hợp với robot tự hành để thực hiện các tác vụ phức tạp như gắp và di chuyển vật thể. Hệ thống điều khiển sử dụng ESP32 và các driver servo, đảm bảo độ chính xác và linh hoạt.

3.1. Thiết kế cơ khí và mạch điều khiển

Cánh tay robot được thiết kế với 6 khớp, cho phép linh hoạt trong các chuyển động. Mạch điều khiển sử dụng ESP32 để giao tiếp với các driver servo. Các chuẩn giao tiếp như RS-485 và UART được sử dụng để truyền dữ liệu giữa các thành phần.

3.2. Lập trình và điều khiển

Lập trình cánh tay robot bao gồm tính toán động học thuận và nghịch. Các thuật toán điều khiển được phát triển để đảm bảo chuyển động mượt mà và chính xác. Giao diện HMI (Human-Machine Interface) được thiết kế để người dùng dễ dàng điều khiển robot.

IV. Tích hợp hệ thống

Phần này mô tả quá trình tích hợp cánh tay robot với robot tự hành. Hệ thống được thiết kế để phối hợp hoạt động giữa hai thành phần, sử dụng depth camera để điều chỉnh tư thế và thực hiện tác vụ gắp hàng. ROS đóng vai trò trung tâm trong việc điều phối các hoạt động.

4.1. Thiết kế phần cứng tích hợp

Phần cứng tích hợp bao gồm khung liên kết giữa robot tự hànhcánh tay robot. Hệ thống điện và truyền thông được thiết kế để đảm bảo sự đồng bộ giữa các thành phần.

4.2. Lập trình phối hợp hoạt động

Lập trình phối hợp hoạt động bao gồm các tác vụ như điều chỉnh tư thế, gắp hàng và di chuyển. Depth camera được sử dụng để cung cấp dữ liệu về vị trí và hướng của vật thể, đảm bảo độ chính xác trong các tác vụ.

V. Đánh giá và ứng dụng

Phần này đánh giá hiệu quả của hệ thống và các ứng dụng thực tế. Robot tự hành kết hợp cánh tay robot 6 bậc tự do có thể được sử dụng trong các nhà máy, kho bãi và môi trường công nghiệp khác. Hệ thống mang lại hiệu quả cao trong việc tự động hóa các quy trình sản xuất và vận chuyển.

5.1. Hiệu quả và độ chính xác

Hệ thống đạt được độ chính xác cao trong các tác vụ di chuyển và gắp hàng. Depth camera và các thuật toán xử lý hình ảnh giúp robot hoạt động ổn định trong các điều kiện ánh sáng khác nhau.

5.2. Ứng dụng thực tế

Hệ thống có thể được ứng dụng trong các nhà máy để tự động hóa quy trình sản xuất, giảm thiểu lao động thủ công và tăng năng suất. Robot tự hành cũng có thể được sử dụng trong các kho bãi để vận chuyển hàng hóa một cách hiệu quả.

21/02/2025
Đồ án tốt nghiệp công nghệ kỹ thuật điều khiển và tự động hóa thiết kế và lập trình robot tự hành kết hợp mang cánh tay robot 6 bậc tự do ứng dụng robot operating system và depth camera

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

CHƯƠNG 1. TỔNG QUAN nhiệm vụ phức tạp khác. Nhờ vào khả năng lập trình linh hoạt, chúng có thể được tùy chỉnh để thực hiện các chu trình công việc một cách hiệu quả. Điều này bao gồm việc chuyển linh kiện quan trọng từ bước sản xuất này đến bước tiếp theo một cách nhanh chóng và chính xác, tối ưu hóa quy trình sản xuất để đảm bảo sự liên tục và giảm thiểu thời gian hoàn thành sản phẩm.

Thay vì tiềm ẩn nguy cơ tai nạn lao động, robot tự hành giúp tăng cường cả hiệu suất và chất lượng sản phẩm [2]. Logistics và giao hàng: Trong lĩnh vực logistics và giao hàng, robot tự hành đóng vai trò quan trọng trong việc tối ưu hóa toàn bộ chuỗi cung ứng. Chúng có khả năng di chuyển tự động và vận chuyển hàng hóa từ điểm này đến điểm khác trong kho hoặc nhà máy sản xuất. Điều này giúp tăng cường đáng kể sự chính xác và tốc độ của quá trình giao hàng, đồng thời giảm bớt nhược điểm liên quan đến sự can thiệp con người.

Qua việc kết hợp với hệ thống tự động quản lý kho, robot tự hành cùng nhau tạo nên môi trường làm việc hiệu quả hơn và giảm bớt sự phụ thuộc vào sự tham gia của con người [2]. Y tế: Lĩnh vực y tế đang tận dụng tiềm năng của robot tự hành để cải thiện quá trình chăm sóc sức khỏe và quản lý tài nguyên y tế. Tại các bệnh viện và cơ sở chăm sóc sức khỏe, robot tự hành được sử dụng để vận chuyển thuốc, dụng cụ y tế và mẫu xét nghiệm. Chúng giúp giảm nguy cơ lây nhiễm trong quá trình vận chuyển và tăng tính hiệu quả của việc quản lý tài nguyên quý báu.

Hơn nữa, robot có thể được lập trình để theo dõi tình trạng của bệnh nhân, ghi nhận dấu hiệu quan trọng và cung cấp thông tin chi tiết và kịp thời cho nhà điều hành, giúp tối ưu hóa quá trình chăm sóc y tế [2]. Nông nghiệp: Trong lĩnh vực nông nghiệp, robot tự hành đã mang đến sự cách mạng thông tin về môi trường và phát triển cây trồng. Nhờ việc trang bị cảm biến hiện đại, chúng có khả năng thu thập dữ liệu về độ ẩm, nhiệt độ, độ pH của đất và môi trường xung quanh. Dữ liệu này cung cấp thông tin quý báu để tối ưu hóa quản lý cây trồng, từ việc điều chỉnh lượng nước và phân bón phù hợp đến việc kiểm soát sâu bệnh và côn trùng gây hại.

Sử dụng robot tự hành giúp nâng cao năng suất và chất lượng nông sản, đồng thời giảm bớt lãng phí tài nguyên và hóa chất trong quá trình sản xuất nông nghiệp [2]. TỔNG QUAN Trên thực tế, robot tự hành không chỉ đơn thuần thay thế con người trong các công việc cụ thể mà còn mở ra một thế giới mới về tối ưu hóa, hiệu quả và tiết kiệm tài nguyên trong nhiều khía cạnh của cuộc sống và hoạt động con người. Đặc biệt, trong lĩnh vực nghiên cứu về Robot di động, các vấn đề liên quan đến định vị và tìm đường đóng vai trò cực kỳ quan trọng và đang được nghiên cứu và phát triển các giải pháp hiệu quả. Việc xác định các con đường phù hợp để đưa Robot đến đích và đảm bảo đường đi ngắn nhất là một trong những thách thức lớn.

Phương pháp truyền thống có thể giải quyết vấn đề này thông qua lập trình thủ công hoặc hướng dẫn Robot di chuyển. Tuy nhiên, các phương pháp này có nhược điểm là đường dẫn có thể không chính xác và không phải là con đường ngắn nhất, đặc biệt là khi đối diện với các bản đồ phức tạp. Một lựa chọn thay thế là áp dụng các thuật toán tự động. Điều này cho phép Robot tự động tìm ra đường dẫn đến vị trí mục tiêu một cách chính xác, và tốc độ xử lý được quyết định bởi thuật toán được áp dụng.

Phương pháp này có ưu điểm là giúp xác định con đường ngắn nhất một cách hiệu quả. Tuy nhiên, để áp dụng thuật toán tự động, thông tin chi tiết về bản đồ là điều bắt buộc. Ngoài việc tìm đường, Robot di động cũng phải giải quyết vấn đề về bản đồ hóa để đạt được yêu cầu của bài toán trên. Từ những cơ hội và thách thức trên, đề tài “Thiết kế và lập trình Robot tự hành kết hợp mang cánh tay Robot 6 bậc tự do ứng dụng Robot Operating System và Depth Camera.” là một giải pháp nghiên cứu, thiết kế và chế tạo Robot tự hành di động có thể tự động vận chuyển hàng hóa trong môi trường nhà máy, là sự kết hợp giữa Robot AMR (Autonomous Mobile Robot) và cánh tay Robot cộng tác.

Loại Robot nhằm cải thiện hiệu suất và hiệu quả trong quá trình sản xuất, giúp tiết kiệm thời gian và tăng năng suất làm việc. Bằng cách sử dụng robot AMR, người dùng có thể loại bỏ những công việc vận chuyển hàng hóa tay, giảm nguy cơ sai sót và tăng tính an toàn trong môi trường làm việc. Ngoài ra, việc ứng dụng AMR Robot kết hợp cánh tay Robot vào sản xuất còn có những lợi ích khác như: - Có thể thay thế con người trong việc di chuyển các loại hàng hóa nặng nề, cồng kềnh và lặp đi lặp lại. - Giúp cắt giảm chi phí vận hành, đặc biệt là chi phí liên quan đến đào tạo và sử dụng lao động.

TỔNG QUAN - Độ chính xác và ổn định cao giúp duy trì sự liên tục trong quá trình sản xuất. - Giảm thiểu thời gian cần thiết để vận chuyển hàng hóa. Mục tiêu nghiên cứu Đề tài “Thiết kế và lập trình Robot tự hành kết hợp mang cánh tay Robot 6 bậc tự do ứng dụng Robot Operating System và Depth Camera.” được nghiên cứu nhằm tích hợp các ưu điểm của dòng Robot tự hành và sự linh hoạt của cánh tay Robot, sản phẩm cuối cùng là một Robot có tích hợp cánh tay Robot 6 bậc tự do (6DoF Arm Robot) lên trên Robot tự hành (AMR) để thực hiện các tác vụ lấy hàng bằng cánh tay Robot từ trạm lấy hàng để đặt lên Robot tự hành và di chuyển đến vị trí đích. Cách tiếp cận và phương pháp nghiên cứu 1.

Cách tiếp cận - Nghiên cứu các phần mềm và công cụ mã nguồn mở: Sử dụng các công cụ tính toán và mô phỏng như Matlab,… đồng thời sử dụng các phần mềm mã nguồn mở như ROS, Gazebo (mô phỏng robot) và các thư viện liên quan. - Nghiên cứu các bài báo khoa học uy tín về các đề tài liên quan đến Robot tự hành, Robot AGV, Robot AMR và các loại Robot di động khác. - Kết hợp việc mô phỏng và việc xây dựng hệ thống phần cứng để thử nghiệm các chức năng của Robot. Phương pháp nghiên cứu Đề tài sử dụng tổng hợp các phương pháp nghiên cứu sau: - Phương pháp nghiên cứu lý thuyết - Phương pháp thực nghiệm 1.

Giới hạn đề tài - Chỉ thiết kế và thi công cho 1 Robot (1 Robot là bao gồm Robot tự hành AMR kết hợp 1 cánh tay Robot 6 bậc tự do) nên đề tài không đề cập đến việc phối hợp hoạt động giữa nhiều Robot hoặc lập trình vận hành “bầy đàn” cho các Robot. - Không có GUI hoàn thiện cho toàn bộ hệ thống (tức hiện tại đề tài có GUI điều khiển cho Robot tự hành riêng – dùng để set goal cho Robot tự hành và GUI cho cánh tay Robot riêng – GUI này đóng vai trò là Teach Pendant học lệnh cho cánh tay Robot). TỔNG QUAN - Giới hạn về phần động lực học cho cánh tay Robot: đề tài có thiết kế cơ khí và thi công hoàn thiện cánh tay Robot 6 bậc tự do, có trải qua bước ước tính tải và chịu lực của các khâu, khớp. Có nghiên cứu động học nhưng không nghiên cứu chi tiết về động lực học, tĩnh học cho cánh tay Robot.

Nội dung nghiên cứu Đề tài nghiên cứu “Thiết kế và lập trình Robot tự hành kết hợp mang cánh tay Robot 6 bậc tự do ứng dụng Robot Operating System và Depth Camera” có thể được chia làm 3 phần nội dung lớn như sau: Nội dung 1: Về cánh tay Robot 6 bậc tự do - Thiết kế phần cứng cánh tay Robot 6 bậc tự do - Thiết kế mạch điều khiển cho cánh tay Robot - Tìm hiểu các chuẩn giao tiếp, truyền thông như RS-485, UART, SPI, I2C,… - Nghiên cứu truyền thông giữa ESP32 và các Driver trong hệ thống cánh tay Robot 6 bậc tự do - Tính toán phần động học cánh tay Robot 6 bậc tự do - Lập trình điều khiển cánh tay Robot 6 bậc tự do - Thiết kế và lập trình giao diện HMI – Teach Pendant cho cánh tay Robot Nội dung 2: Về Robot tự hành – AMR - Thiết kế phần cứng Robot tự hành - Tìm hiểu về hệ điều hành dành cho Robot (Framework: ROS) - Tìm hiểu về rospy và roscpp - Lập trình phần điều khiển Robot tự hành, lập trình phần navigation, xây dựng bản đồ cho Robot Nội dung 3: Về phần kết hợp giữa cánh tay Robot 6 bậc tự do và Robot tự hành - Thiết kế phần cứng – phần thân trung gian của cánh tay Robot 6 bậc tự do và Robot tự hành AMR. - Tìm hiểu về ảnh Depth và các Depth Camera được sử dụng. - Nghiên cứu xử lý ảnh và tác vụ pose estimation bằng ArUco Marker. - Tìm hiểu các chuẩn giao tiếp, truyền thông như RS-232, TCP/IP,… 5 CHƯƠNG 1.

TỔNG QUAN - Lập trình tác vụ gắp hàng bằng cánh tay Robot sử dụng Depth Camera Microsoft Azure Kinect. Tác vụ điều chỉnh tư thế Robot tự hành sử dụng Depth Camera Microsoft Kinect V2 – Xbox One. - Lập trình phối hợp hoạt động giữa Robot tự hành và cánh tay Robot 6 bậc tự do. - Chạy thử nghiệm và hiệu chỉnh phần cứng, phần mềm cho Robot.

Bố cục báo cáo Chương 1. Tổng quan: Chương này giới thiệu tổng quan về đề tài sẽ nghiên cứu, bao gồm trình bày những vấn đề đang tồn đọng trong việc kết hợp Robot tự hành và cánh tay Robot 6 bậc tự do, những phương pháp nghiên cứu, mục tiêu nghiên cứu, nội dung nghiên cứu và những giới hạn trong phạm vi của đề tài được thực hiện. Cơ sở lý thuyết: Phần cơ sở lý thuyết đề cập đến các nội dung lý thuyết, kiến thức, phần cứng quan trọng và các chuẩn giao tiếp chính mà đề tài được sử dụng. Đặc biệt là lý thuyết về hệ thống Robot Operating System và các thuật toán SLAM/AMCL và tổng quan về mã ArUco Marker được sử dụng để Pose Estimation, lý do chọn ArUco thay vì những phương pháp khác để ước tính tư thế vật thể.

Thiết kế hệ thống: Chương này sẽ trình bày toàn bộ quá trình thiết kế và lập trình Robot.

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

Tài liệu "Thiết kế và lập trình robot tự hành kết hợp cánh tay robot 6 bậc tự do sử dụng ROS và depth camera" tập trung vào việc tích hợp hệ thống điều khiển robot tự hành với cánh tay robot 6 bậc tự do, sử dụng nền tảng ROS (Robot Operating System) và camera độ sâu. Điểm nổi bật của tài liệu là cách thức kết hợp các công nghệ tiên tiến để tạo ra một hệ thống robot linh hoạt, có khả năng thực hiện các nhiệm vụ phức tạp trong môi trường thực tế. Độc giả sẽ được hưởng lợi từ việc hiểu rõ quy trình thiết kế, lập trình và ứng dụng thực tế của robot tự hành, đặc biệt trong các lĩnh vực như tự động hóa và nghiên cứu robot.

Để mở rộng kiến thức về lập trình robot tự hành, bạn có thể tham khảo Đồ án hcmute lập trình robot 3 bánh di chuyển theo người sử dụng camera kinect, nơi cung cấp chi tiết về cách robot di chuyển theo người dùng. Ngoài ra, tài liệu Chế tạo và điều khiển robot tự hành sẽ giúp bạn hiểu sâu hơn về quy trình chế tạo và điều khiển robot tự hành, bổ sung kiến thức toàn diện cho chủ đề này.