GIỚI THIỆU
Tính cấp thiết của đề tài
Trong thời đại hiện đại, sự phát triển mạnh mẽ của khoa học kỹ thuật và công nghệ đã giúp nâng cao chất lượng cuộc sống và cải thiện sức khỏe con người Việc ứng dụng các thiết bị công nghệ vào nhiều lĩnh vực như công nghiệp, nông nghiệp, giáo dục và y tế đã đáp ứng nhu cầu thiết yếu của xã hội Nhóm chúng tôi đã thực hiện nghiên cứu và thiết kế robot tự hành để vận chuyển thiết bị trong nhà xưởng, nhằm áp dụng lý thuyết đã học vào thực tiễn và tìm kiếm hướng cải tiến, nâng cấp chức năng của robot, từ đó mang lại nhiều lợi ích cho khoa học và xã hội.
Trong bối cảnh cuộc cách mạng công nghệ 4.0, máy móc và thiết bị công nghệ đang ngày càng trở nên quan trọng trong đời sống hàng ngày, mang lại sự tiện ích và thoải mái cho con người Các thiết bị tự hành đang dần thay thế sức lao động con người trong nhiều lĩnh vực như sản xuất, lao động và giải trí.
Robot tự hành AMRs (Autonomous Mobile Robot) là phiên bản nâng cấp của xe AGV (Automation Guided Vehicle), mang đến giải pháp tối ưu cho việc vận chuyển hàng hóa mà không cần sức người Với khả năng tối ưu hóa lộ trình linh hoạt, AMRs có năng suất làm việc cao hơn và tải trọng lớn hơn nhiều so với con người Đây là thiết bị tự hành thông minh, hiện đại nhất trên thị trường, được thiết kế và lập trình để thực hiện tự động các công việc vận chuyển hàng hóa trong không gian nhất định mà không cần sự can thiệp của con người.
Ý nghĩa khoa học và thực tiễn của đề tài
1.2.1 Ý nghĩa khoa học của đề tài Đề tài về robot AMR này khi hoàn thiện sẽ đưa các thiết bị robot tự hành tiếp cận gần hơn đến tay con người, biến các thuật toán điều khiển trở nên dễ hiểu và dễ vận hành Đưa vào ngành công nghiệp hàng hóa, chuỗi cung ứng logistics nói riêng và khoa học, kỹ thuật, công nghiệp hiện đại nói chung những bước phát triển tiên tiến của công nghệ hiện đại và tham gia vào các quy trình của sản xuất cũng như vận hành các hệ thống, là nền tảng cơ sở để tạo ra các quy trình tự động hóa với những thiết bị hiện đại và tối ưu hóa cho tương lai
Việc phát triển thành công robot AMRs không chỉ phản ánh sự nghiên cứu và sáng tạo của sinh viên mà còn cho thấy khả năng nắm bắt kiến thức khoa học kỹ thuật và công nghệ của họ Sinh viên có thể vận dụng linh hoạt và hiệu quả những kiến thức này vào thực tiễn, từ đó đưa ra các giải pháp phù hợp để giải quyết những vấn đề trong cuộc sống.
1.2.2 Ý nghĩa thực tiễn của đề tài
Robot AMRs tự động hóa quy trình sản xuất và vận chuyển hàng hóa, giúp nâng cao sản lượng và năng suất, đồng thời tiết kiệm chi phí nhân công Điều này mang lại lợi ích đáng kể cho các kho hàng và nhà xưởng.
Robot AMRs sẽ đảm nhận việc vận chuyển hàng hóa và dụng cụ có độ rủi ro cao, từ đó nâng cao tính an toàn lao động trong quá trình làm việc Việc áp dụng công nghệ này không chỉ giảm thiểu rủi ro cho con người mà còn cải thiện hiệu suất làm việc.
Mục tiêu nghiên cứu của đề tài
Đưa tự động hóa vào khâu vận chuyển hàng hóa trong các kho hàng và nhà xưởng
Robot được thiết kế để vận chuyển hàng hóa và tự động tránh các vật cản trên đường đến mục tiêu đã định Nhờ vào các cảm biến tích hợp, robot có khả năng di chuyển linh hoạt và tối ưu hóa lộ trình bằng bộ bánh xe đa hướng, sử dụng các thuật toán di chuyển tiên tiến.
Dựa vào kiến thức đã học, việc tính toán và thiết kế cơ khí cần đảm bảo độ bền và khả năng chịu lực với tải trọng mong muốn Đồng thời, cần điều khiển robot di chuyển đến vị trí đã định một cách chính xác.
Đối tượng và phạm vi nghiên cứu
+ Robot AMRs và các thuật toán cho việc điều khiển quá trình hoạt động của robot dưới sự liên kết của các cảm biến như Lidar, IMU,…
+ Các linh kiện điện tử sử dụng để tạo ra robot AMRs
+ Bánh xe đa hướng (Mecanum wheels)
Sau quá trình nghiên cứu tài liệu và phân tích các yếu tố ảnh hưởng cũng như yêu cầu thực tiễn, nhóm đã tiến hành thảo luận và đưa ra những nhiệm vụ cần thực hiện cùng với giới hạn nghiên cứu cụ thể.
Trong khóa luận tốt nghiệp này, nhóm chúng tôi sẽ thiết kế mô phỏng robot AMRs dưới dạng xe có bánh đa hướng, nhằm mục đích vận chuyển hàng hóa trong môi trường nhà xưởng Robot sẽ di chuyển hiệu quả nhờ vào công nghệ quét bản đồ.
Sử dụng ROS kết hợp với các cảm biến LiDAR và IMU giúp lập trình các thuật toán theo dõi, cho phép robot di chuyển linh hoạt và tránh được các vật cản.
• Tiến hành thực hiện thiết kế, vẽ mô hình hóa cho robot bởi phần mềm hỗ trợ
• Gia công chi tiết robot và tiến hành lắp ghép
• Tiến hành chạy thực nghiệm và hiệu chỉnh
• Đánh giá từ thực tế hoạt động của robot từ đó đưa ra đề xuất về hướng phát triển cho đề tài.
Phương pháp nghiên cứu
Sử dụng phần mềm thiết kế cơ khí như Solidworks và Inventor là rất quan trọng trong quá trình thiết kế và chế tạo mô hình thực tiễn Những công cụ này giúp tạo ra các sản phẩm chính xác và hiệu quả, từ đó ứng dụng vào thực tế một cách tối ưu.
• Tìm hiểu về ROS từ đó sử dụng các thư viện cho đa ứng dụng robot di động
• Tìm hiểu về các cảm biến như LiDAR, IMU,…dựa trên các công thông tin trực tuyến, thông qua sách báo viết về các cảm biến
Nghiên cứu robot tự hành (AMR) bao gồm việc tham khảo nhiều tài liệu từ các bài báo, nghiên cứu khoa học và tài liệu trực tuyến Các nguồn tài liệu này cung cấp thông tin quan trọng về các thuật toán điều khiển liên quan đến robot tự hành, giúp nâng cao hiểu biết và ứng dụng trong lĩnh vực này.
Sử dụng kiến thức từ trường học và nghiên cứu bên ngoài để áp dụng vào việc nghiên cứu, thiết kế và mô phỏng thử nghiệm trên phần mềm.
• Dùng các máy cơ khí để gia công, lắp ghép các chi tiết mô hình và tiến hành chạy thực nghiệm từ đó hiệu chỉnh.
Kết cấu của đồ án tốt nghiệp
Chương 2: Tổng quan nghiên cứu đề tài
Chương 3: Cơ sở lý thuyết
Chương 4: Tiến hành tính toán, lựa chọn phương án thiết kế
Chương 5: Thiết kế, chế tạo robot
Chương 6: Kết quả thực nghiệm – đánh giá Chương 7: Kết luận và hướng phát triển
TỔNG QUAN NGHIÊN CỨU ĐỀ TÀI
Robot AMRs
2.1.1 Giới thiệu chung về robot AMRs
Robot AMR (Autonomous Mobile Robot) là thế hệ robot tự hành tiên tiến, chuyên dùng để vận chuyển hàng hóa trong kho và nhà xưởng So với xe AGV, robot AMR được nâng cấp với công nghệ hiện đại, giúp chúng hoạt động nhanh chóng, thông minh và hiệu quả hơn.
Robot AMR đang cách mạng hóa quy trình sản xuất và hoạt động kho bãi, đóng vai trò quan trọng trong các ngành công nghiệp cần vận chuyển hiệu quả và hoạt động liên tục 24/7 Chúng giúp các nhà sản xuất và kho bãi tối ưu hóa việc giao hàng đến tay khách hàng.
Hình 2.1: Xe tự hành AMR-KIVA sử dụng trong kho Amazon
Các sàn thương mại điện tử như Amazon sẽ gặp khó khăn trong việc đáp ứng nhu cầu của khách hàng nếu không áp dụng công nghệ robot Những thiết bị này giúp giảm bớt công việc lặp đi lặp lại của công nhân, cho phép họ làm việc trong môi trường thuận lợi hơn cho sức khỏe, từ đó nâng cao năng suất lao động Trong khi robot sản xuất truyền thống bị giới hạn bởi vị trí cố định và không thể tự quyết định cách thực hiện nhiệm vụ, robot tự trị có khả năng đưa ra quyết định dựa trên các tham số từ môi trường xung quanh Khi kết hợp công nghệ tự trị với robot di động, khả năng hoàn thành nhiệm vụ của robot được nâng cao đáng kể, nhờ vào học máy và nhận thức môi trường, cho phép thực hiện những yêu cầu mà robot thông thường không thể đáp ứng.
Robot di động tự trị (AMR) đã trở thành yếu tố quan trọng trong hoạt động hàng ngày và nâng cao hiệu suất trong ngành sản xuất So với xe tự hành AGV, AMR mang lại nhiều khả năng vượt trội, cho phép di chuyển tự do và lập kế hoạch đường đi theo thời gian thực, từ đó hỗ trợ con người trong các nhiệm vụ xử lý vật liệu Một trong những điểm nổi bật của AMR là khả năng tránh chướng ngại vật, nhờ vào công nghệ tiên tiến với camera 3D và cảm biến Lidar, giúp nó tự động phát hiện và di chuyển xung quanh các vật thể Những cảm biến này phối hợp chặt chẽ để đảm bảo an toàn và nhận diện thông minh cả đối tượng tĩnh và động, tạo ra một môi trường làm việc hiệu quả và an toàn hơn.
AMR được xem là an toàn hơn AGV vì chúng có khả năng tự huấn luyện để tránh con người và nhận diện các trở ngại trong khu vực hoạt động Hơn nữa, chi phí duy trì AMR thấp hơn so với AGV, do AGV cần dây hoặc băng từ gắn trên mặt đất để xác định hướng di chuyển, dẫn đến tốn thời gian và chi phí bảo trì Trong khi đó, AMR không yêu cầu bảo trì các phần liên quan trên mặt đất, giúp tiết kiệm chi phí và thời gian cho doanh nghiệp.
2.1.2 Lịch sử hình thành và phát triển của robot AMRs
Robot di động tự trị (AMR) đã có mặt từ lâu dưới dạng nguyên mẫu và công cụ nghiên cứu Gần đây, chúng ta thấy sự gia tăng phổ biến của AMR nhờ vào sự giảm chi phí sản xuất và tiến bộ công nghệ William Gray Walter là người phát triển AMR đầu tiên vào cuối những năm 1940.
Năm 1950, ông đã phát triển hai nguyên mẫu robot thành công mang tên Elmer và Elsie, với cảm biến ánh sáng và cảm biến va chạm sử dụng ống chân không để mô phỏng hai tế bào thần kinh kết nối Các phiên bản sau này của robot còn được trang bị thêm cảm biến âm thanh, cho phép chúng di chuyển trong môi trường và tìm kiếm trạm sạc sau khi khám phá Mặc dù những robot tự trị đầu tiên này có phần thô sơ so với công nghệ AI hiện đại, nhưng chúng đã mở ra hướng đi mới cho ngành công nghiệp, nơi mà các hệ thống tự trị, đặc biệt là các phương tiện có hướng dẫn tự trị (AGV), đã đạt được nhiều tiến bộ đáng kể.
Bảy loại xe tự động hiện vẫn được sử dụng phổ biến, bao gồm một mẫu xe có hệ thống điều khiển cho phép vận hành không người lái Những phiên bản đầu tiên của các xe này đã được phát minh và áp dụng từ những năm 1950, chủ yếu là xe đẩy phục vụ vận chuyển trong kho và ứng dụng sản xuất mà không cần người lái Hệ thống điều khiển ban đầu rất đơn giản, sử dụng dây dẫn điện nhúng trong sàn để tạo ra từ trường, và xe tự động (AGV) được trang bị cảm biến theo dõi từ trường này Các loại xe tự động này vẫn còn được sử dụng trong những môi trường không yêu cầu hệ thống phức tạp hơn Sau khi William Gray Walter giới thiệu AMR, hầu hết các tiến bộ trong lĩnh vực robot tự trị chỉ diễn ra trong các thí nghiệm và phòng thí nghiệm Đến đầu những năm 1990, một AMR có khả năng thương mại mới được ra mắt, được gọi là người trợ giúp.
Robot tự hành AMR đại diện cho thế hệ tiên tiến của xe AGV, sở hữu tính năng di chuyển thông minh không cần vạch từ Kết hợp với phần mềm quản lý, AMR tối ưu hóa lộ trình, giúp vận chuyển vật liệu trong sản xuất một cách hiệu quả và nhanh chóng.
Các nghiên cứu liên quan đến đề tài
2.2.1 Các nghiên cứu ngoài nước
Hình 2.3: Robot AMRs ứng dụng trong kho hàng
Mặc dù khả năng của AMR tiếp tục tiến lên, thông dụng, ứng dụng cơ bản là việc vận chuyển vật chất
AMR vận chuyển các đơn hàng trong nhà kho,xưởng hoặc thông qua một cơ sở vận chuyển vô số lần trong một ngày
Vận chuyển là lĩnh vực cần nhiều lao động, vì vậy việc ứng dụng robot AMR vào quy trình này mang lại giải pháp hiệu quả nhất để tiết kiệm chi phí vận hành và nhân công.
Ứng dụng AMR trong thương mại điện tử mang lại nhiều hình thức khác nhau, nhờ vào khả năng tích hợp linh hoạt các linh kiện Điều này làm cho AMR trở thành giải pháp lý tưởng cho các ứng dụng cụ thể như vận chuyển và sắp xếp hàng hóa.
Một số nhiệm vụ cơ bản:
▪ Thực hiện đặt đơn hàng
▪ Xử lý việc trả lại hàng hóa
▪ Di chuyển và lọc nguyên liệu
▪ Phân loại các bưu kiện
▪ Quản lí sản phẩm tồn kho
Kho và trung tâm phân phối hiện nay đang ngày càng mở rộng, và việc áp dụng AMR (Robot di động tự động) vào tự động hóa trong kho bãi mang lại hiệu quả cao trong việc nâng hạ và vận chuyển hàng hóa AMR giúp giảm thời gian và chi phí vận hành, đồng thời thực hiện các nhiệm vụ có giá trị gia tăng Một trong những đặc điểm quan trọng của AMR là khả năng "nhìn" trong không gian mở thông qua việc sử dụng laser để quét môi trường xung quanh Hệ thống nhúng của AMR phân tích dữ liệu từ các cảm biến, cho phép nó nhận diện chướng ngại vật và điều hướng an toàn Tuy nhiên, các kho lớn thường thiếu các bức tường và cấu trúc khác mà nhiều AMR cần để di chuyển hiệu quả.
Palletizing là một nhiệm vụ quan trọng trong kho và phân phối, phù hợp để tự động hóa nhờ vào tính chất đơn điệu và lặp đi lặp lại của nó Việc tự động hóa palletizing không chỉ tăng tốc độ thực hiện mà còn giúp người lao động có thể tập trung vào các công việc khác Sử dụng các nền tảng AMR, tấm nâng và cánh tay robot, quy trình pallet hóa có thể được thực hiện gần như hoàn toàn tự động Các robot palletizing có khả năng tự chủ, hoàn thành hiệu quả và chính xác từng bước của quy trình, bao gồm tải, vận chuyển và dỡ hàng.
• AMR và bộ điều khiển di động để sản xuất:
Di chuyển linh hoạt của AMR làm cho nó trở thành giải pháp lý tưởng cho sản xuất thay đổi AMR được thiết kế trực quan, dễ dàng cài đặt và vận hành, giúp tối ưu hóa quy trình làm việc cho công nhân trong các nhà máy.
AMRs không chỉ vận chuyển các bộ phận và hàng hóa thành phẩm mà còn tích hợp với phụ kiện như băng tải và vũ khí Robot, hỗ trợ quá trình sản xuất Chẳng hạn, AMRs với cánh tay Robot có khả năng sắp xếp, chọn và đóng gói sản phẩm, đồng thời di chuyển linh hoạt đến nhiều vị trí Băng tải tĩnh đã được sử dụng lâu dài để tăng tốc độ sản xuất và sắp xếp, và AMR tích hợp băng tải có thể kết nối với băng tải tĩnh, giúp di chuyển sản phẩm hiệu quả hơn trong cơ sở Ngoài ra, AMR với các tệp đính kèm có thể nâng tải và kết nối với xe đẩy, cho phép robot tự động tải và dỡ hàng mà không cần sự can thiệp của con người Sự kết hợp giữa vận chuyển xe đẩy và tải/dỡ hàng trong AMR là một khả năng mới, mở ra nhiều ứng dụng tiềm năng cho robot tự trị.
• Ứng dụng cho trung tâm dữ liệu:
Di chuyển tự thành an toàn là thành phần quan trọng trong AMR robot và cơ sở nghiên cứu AMR
Robot tự hành trang bị hộp khóa và tủ chuyên dụng giúp vận chuyển các vật liệu có giá trị cao một cách an toàn, đồng thời đảm bảo tuân thủ các chuỗi giao thức giám sát cần thiết Điều này không chỉ nâng cao tính bảo mật mà còn cho phép truy cập tức thời, chính xác và dễ dàng vào tài liệu của quy trình.
• Ứng dụng cho chăm sóc sức khỏe:
Các tổ chức chăm sóc sức khỏe hiện nay chủ yếu sử dụng AMR vì hiệu quả vượt trội trong việc giải quyết nhiều vấn đề tại bệnh viện, bao gồm khử trùng, thăm khám từ xa và giao hàng thuốc cũng như vật tư y tế Ngoài ra, AMR còn hỗ trợ các chuyên gia y tế trong quá trình tư vấn trước khi bệnh nhân đăng ký điều trị.
Hình 2.4: Robot AMRs làm sạch giảm nhiễm trùng trong bệnh viện và không gian công cộng
Mexico đã phát triển hệ thống AMR thông qua công ty khởi nghiệp Roomie, giúp xác định bệnh nhân COVID-19 bằng cách thu thập dữ liệu sinh lý học, bao gồm đo nhiệt độ, nồng độ oxy trong máu và tiền sử bệnh khi họ đến bệnh viện.
Có các loại AMR khác được sử dụng vào các mặt của chăm sóc sức khỏe bao gồm:
▪ Loại robot này có thể giảm bớt gánh nặng hàng ngày cho nhân viên y tế bằng cách xử lý các nhiệm vụ hậu cần thông thường
▪ Ngoài ra, nó còn có thể giúp làm sạch và khử trùng giúp bệnh viện vệ sinh phòng và thiết bị hỗ trợ trong cuộc chiến chống lại COVID-19
Robot này có khả năng tương tác trực tiếp với con người, khuyến khích bệnh nhân tuân thủ chế độ điều trị và từ đó cải thiện cảm xúc của họ.
▪ Chúng được ứng dụng để hướng dẫn khách và bệnh nhân bên trong môi trường bệnh viện
AMR trong công nghệ sinh học đang đối mặt với sự phát triển nhanh chóng của thị trường dược phẩm sinh học Để cạnh tranh hiệu quả, các doanh nghiệp trong lĩnh vực công nghệ sinh học cần đảm bảo quy trình sản xuất được điều chỉnh mạnh mẽ, điều này có thể đồng nghĩa với việc thực hiện các nhiệm vụ tốn nhiều công sức.
Hình 2.5: Robot AMRs theo dõi sự phát triển của cây trồng
Việc lấy mẫu và duy trì quá trình nuôi cấy tế bào đòi hỏi công sức lớn và cần theo dõi liên tục 24/7 Để tối ưu hóa quy trình, các robot tự hành và cánh tay robot được ứng dụng nhằm kiểm soát đầu vào quy trình giá trị Điều này giúp theo dõi cập nhật liên tục và khử chất thải một cách an toàn trong quá trình sản xuất.
AMR giúp loại bỏ các yêu cầu trùng lặp, cho phép công nhân tập trung vào những khía cạnh quan trọng hơn trong quá trình chế tác dược phẩm sinh học Nhờ đó, họ có thể theo dõi các chỉ số tăng trưởng, thực hiện các thí nghiệm liên tục và điều chỉnh cần thiết để thúc đẩy tiến trình phát triển.
• AMR ứng dụng vào nông nghiệp, nuôi trồng:
Nhờ sự hỗ trợ của AMR, nông dân có thể thu hoạch mùa màng nhanh hơn và hiệu quả hơn trước
Các AMR được tích hợp các khả năng tình báo cho phép nó thực hiện một số công việc nông nghiệp như:
▪ Di chuyển bất kì cành cây hay lá cây nào đó ra khỏi lối đi
▪ Thu hoạch chính xác, không ảnh hưởng đến cây trồng và sản phẩm
• AMR trong thành phố thông minh:
Các quốc gia tiên tiến trên thế giới đang nỗ lực tận dụng tối đa lợi ích của AMR để chuyển đổi các thành phố thành khu vực thông minh Họ tập trung vào việc nâng cấp các dịch vụ công cộng như thu gom rác, giao thông công cộng và các cơ quan hành chính, nhằm cải thiện chất lượng cuộc sống cho cư dân.
Hình 2.7: Robot AMR di chuyển trên thành phố ở Nhật Bản
Hình 2.6: Robot AMRs ứng dụng vào việc thu hoạch nông sản
2.2.2 Tình hình nghiên cứu trong nước
Hình 2.8: Tiki Now Smart Logistics ứng dụng Robot AMR vào quy trình vận hành
Tiki NOW Smart Logistics đã triển khai robot tự hành trong quy trình vận chuyển, đánh dấu bước tiến quan trọng trong chiến lược dài hạn của Tiki Điều này không chỉ giúp hiện đại hóa quy trình vận hành mà còn nâng cao chất lượng quản lý và cải thiện hiệu suất hoạt động.
CƠ SỞ LÝ THUYẾT
Hệ thống ROS
3.1.1 Định nghĩa hệ thống ROS
ROS là nền tảng đa năng cho việc phát triển phần mềm cho hệ thống robot, bao gồm thư viện và công cụ giúp đơn giản hóa quá trình tạo ra các hệ thống robot phức tạp.
Hơn thế nữa, ROS được dựng lên nhằm làm cơ sở tiền đề cho việc phát triển và kết hợp các phần mềm robot với nhau thuận tiện
ROS là một hệ điều hành mã nguồn mở, hỗ trợ lập trình hiệu quả cho các hệ thống robot Nó cho phép người dùng thiết lập môi trường hợp tác để phát triển phần mềm cho robot trên toàn cầu Với API đã được nghiên cứu và phát triển, ROS giúp tiết kiệm thời gian trong quá trình nghiên cứu và ứng dụng, đáp ứng mục tiêu cuối cùng của nó.
3.1.2 Nền tảng phần mềm Robot
Khi nghiên cứu về robot, cần hiểu rõ về các nền tảng cơ bản, bao gồm nền tảng phần mềm và phần cứng Nền tảng phần mềm robot bao gồm các công cụ và chương trình hỗ trợ như khái quát phần cứng, điều khiển thiết bị cấp thấp, cảm biến, nhận dạng, SLAM, điều hướng, thao tác và quản lý gói Sự kết hợp giữa hai nền tảng này cho phép phát triển các ứng dụng robot mà không cần quan tâm đến phần cứng.
3.1.3 Sự cần thiết của nền tảng phần mềm Robot
Lý do chính tại sao chúng ta nên xem xét điều cốt lõi này?
Giảm thời gian phát triển là việc cung cấp cho người dùng tất cả các phần cần thiết có sẵn trên máy, hỗ trợ lập trình và xây dựng một robot hoàn chỉnh Điều này giúp tiết kiệm thời gian cho quá trình học lại các khái niệm mới mà không làm thay đổi hệ thống đã được thiết lập trước đó.
Công nghệ SLAM
3.2.1 giới thiệu về công nghệ SLAM
Lịch sử hình thành của SLAM:
Năm 1995: SLAM được ra mắt, giới thiệu trình làn lần đầu tiên tại hội nghị chuyên đề
Vào năm 1985, tại hội nghị về Robot và tự động hóa, khái niệm toán học đã được giới thiệu, dẫn đến việc áp dụng các nghiên cứu sử dụng thiết bị định vị và lý thuyết thống kê trong lĩnh vực Robotics.
Vào năm 1998, tại hội nghị về thị giác máy tính ở Châu Âu, Division và các thành viên đã trình bày một phương pháp sử dụng máy ảnh mà không cần cảm biến, mở ra hướng đi mới cho công nghệ SLAM dựa trên thị giác Phương pháp này cho phép xác định vị trí ba chiều, đánh dấu bước tiến quan trọng trong lĩnh vực công nghệ nhận diện không gian.
SLAM (Định vị và Lập bản đồ đồng thời) là công nghệ tiên tiến cho phép xác định vị trí và xây dựng bản đồ một cách hiệu quả Việc áp dụng SLAM giúp thay đổi cấu trúc hạ tầng một cách linh hoạt và nhanh chóng, đồng thời quá trình lắp đặt công nghệ này diễn ra tiết kiệm thời gian.
Hình 3.1: Bản đồ thực tế ảo đường đi được tạo nên từ công nghệ SLAM
SLAM sử dụng cảm biến để quét toàn bộ khu vực xung quanh, từ đó tạo ra bản đồ ảo Dựa trên dữ liệu thu thập được, hệ thống tự động lập kế hoạch di chuyển, giúp Robot AMRs tránh va chạm với các vật thể, đảm bảo di chuyển hiệu quả và an toàn.
Hình 3.2: Lợi ích khi có SLAM của Robot hút bụi
Máy hút bụi tại nhà không trang bị công nghệ SLAM thường di chuyển ngẫu nhiên, dẫn đến việc không dọn sạch toàn bộ bề mặt sàn trong phòng và tiêu tốn nhiều năng lượng, làm pin nhanh hết Ngược lại, robot sử dụng công nghệ SLAM có khả năng thu thập dữ liệu từ camera, vòng quay bánh xe và các cảm biến hình ảnh để xác định chuyển động cần thiết Nhờ vào các cảm biến và camera, robot có thể tạo ra bản đồ môi trường xung quanh, nhận diện vật cản và tránh trùng lặp khu vực đã dọn dẹp.
3.2.2 Cách thức hoạt động của SLAM
SLAM bao gồm hai thành phần cấu tạo nên:
• Loại thứ nhất: xử lý tín hiệu cảm biến, xử lý dữ liệu front-end
(yếu tố chính dựa trên các cảm biến được sử dụng)
• Loại thứ hai: tối ưu hóa việc chụp ảnh, xử lý dữ liệu back-end
Hình 3.3: Quy trình xử lý của SLAM
3.2.3 Ưu điểm của điều hướng SLAM
• Dễ dàng lập bản đồ
• Có thể sữa chữa đường đi dễ dàng, linh hoạt
• Tiêu tốn ít chi phí vào việc bảo trì, chi phí thấp
• Đảm bảo tính thẩm mĩ, không tốn diện tích
Điều hướng SLAM trong môi trường hỗn loạn và biến động có thể rất phức tạp Để xác định vị trí chính xác, robot cần có khả năng "nhìn thấy" mọi góc của môi trường xung quanh Nếu không, nó sẽ không thể nhận biết được vị trí của mình.
Công nghệ LiDAR
LiDAR (Light Detection And Ranging) là công nghệ cho phép thu thập tín hiệu phản hồi từ chùm tia laser phát ra Bằng cách này, khoảng cách giữa vật thể và máy phát có thể được tính toán tương đối chính xác, dựa trên tốc độ ánh sáng đã biết và độ trễ của tín hiệu phản hồi.
Sự khác biệt giữa bước sóng laser sau đó và mặt thời gian và có thể được sử dụng cho việc tạo mô hình số 3 chiều của đối tượng
Các cộc mốc phát triển và hình thành của công nghệ Lidar:
• 1930: Các nhà khoa học đo thành phần của khí quyển nhờ sử dụng chùm ánh sáng
• 1958: Arthur Schawlow và Charles Townes cùng với sinh viên của họ chế tạo, phát minh ra maser
• 1960: Chế tạo thành công ra máy bắn tia laser bởi Theodore Maiman chế tạo
• 1962: Sử dụng một chùm tia laser phản xạ đo khoảng cách từ trái đất đến mặt trăng do các nhà khoa học của MIT thực hiện đo
Vào năm 1965, Ronald Collins, thuộc Viện Nghiên cứu Stanford, đã nộp bằng sáng chế cho hệ thống LiDAR sử dụng công nghệ laser-radar, phục vụ cho việc nghiên cứu khí quyển và thời tiết của Trái Đất.
• 1969: John Hogg và Daniel Hickman xuất bản bài báo khoa học trình bày cách dùng tia laser cho các phép đo độ sâu đại dương
• 1971: Ứng dụng LiDAR cho việc lập bản đồ bề mặt Mặt trăng, được thực hiện bởi các phi hành đoàn tàu vũ trụ Apollo 15 tiến hành đo
Năm 1974, Công ty Optech đã mua lại phát minh từ Alan Carswell, nhà sáng chế công cụ tìm kiếm bằng laser đến từ Đại học York Toronto, và đã hoàn thiện phát minh này trong những năm tiếp theo.
• 1976: Lần đầu tiên ra mắt cuốn sách về Lidar
• 1985: Một trong những hệ thống LiDAR thương mại đầu tiên, Larsen-500 được công ty Optech bán ra thị trường
• 1990s: Vẽ bản đồ địa lý nhờ vào LiDAR
Vào năm 1994, NASA đã thực hiện một cuộc thử nghiệm trong không gian sử dụng công nghệ Lidar để nghiên cứu bầu khí quyển từ không gian Thiết bị Lidar được đưa vào vũ trụ thông qua tàu con thoi Space Shuttle Discovery LITE.
• 2005: Mục tiêu hệ thống LiDAR áp dụng cho xe tự láy trong quân đội cảu Hoa Kỳ
Hình 3.4: Mô hình hóa không gian 3 chiều
Phương pháp này hứa hẹn sẽ được triển khai rộng rãi trong lĩnh vực robot tự hành nhờ vào tính linh hoạt của nó, sử dụng nắp làm cảm biến khoảng cách thông qua công nghệ cảm biến laser.
LiDAR xác định vị trí vật thể dựa trên trục tọa độ số xyz, từ đó tạo ra mô hình không gian 3 chiều từ đám mây điểm này Công nghệ này được ứng dụng để tái tạo bản sao vật lý qua in 3D, cung cấp chỉ dẫn hướng và hỗ trợ trong việc vẽ bản đồ.
Các ứng dụng từ công nghệ LiDAR:
+ Ngành Công nghiệp Ô tô, Robot
Hình 3.5: Các vật thể quanh ô tô tự láy do hệ thống LiDAR quét
+ Nghiên cứu địa hình, vẽ bản đồ
+ Lidar trên các thiết bị cầm tay
Hình 3.7: LiDAR trên điện thoại di động
Hình 3.6: LiDAR quét địa hình đáy biển (trái), LiDAR quét bề mặt Mặt trăng năm 1971 (phải)
Điều hướng Robot (Navigation)
Điều hướng robot cho phép nó di chuyển giữa các vị trí trong một không gian nhất định, đồng thời xác định vị trí của chính nó và tạo ra bản đồ môi trường xung quanh.
Hình 3.8: Sự điều hướng của Mobile Robot
Robot hoạt động hiệu quả mà không phát ra âm thanh, nhờ vào khả năng tìm kiếm lộ trình tối ưu trong các tùy chọn đã được tính toán Điều này cho phép robot di chuyển an toàn trong mọi môi trường, đồng thời tránh chướng ngại vật như tường và các vật thể, bao gồm cả con người, trên hành trình của nó.
Khả năng di chuyển từ vị trí hiện tại đến mục tiêu cuối cùng được thực hiện thông qua việc sử dụng bản đồ và các thành phần như bộ mã hóa của robot, cảm biến quán tính và cảm biến khoảng cách.
Quá trình xử lý của điều hướng:
+ Cảm biến (Cảm biến quán tính (IMU), Bộ mã hóa (Encoder)): Đo khoảng cách giữa cảm biến và các vật cản
Localization và Pose Estimation là quá trình ước tính vị trí hiện tại trên bản đồ đã được tạo trước đó, sử dụng dữ liệu từ nhiều nguồn như vòng quay bánh xe từ Encoder, thông tin quán tính từ IMU, và thông tin khoảng cách từ thiết bị cảm biến đến chướng ngại vật.
Lập kế hoạch chuyển động bao gồm việc dự đoán kế hoạch đường dẫn tổng quát trên toàn bộ bản đồ và lập kế hoạch đường dẫn cục bộ trong khu vực nhỏ hơn xung quanh Robot Mục tiêu là tạo ra một quỹ đạo hoặc đường di chuyển ngắn nhất từ vị trí hiện tại đến điểm đích mong muốn trên bản đồ.
Bộ điều khiển PID
3.5.1 Giới thiệu về bộ điều khiển PID Định nghĩa PID:
Bộ điều khiển PID là sự kết hợp của ba thành phần chính: điều khiển tỉ lệ, điều khiển vi phân và điều khiển tích phân Mục tiêu của bộ điều khiển PID là giảm thiểu sai số, hạn chế dao động, giảm hiện tượng vọt lố và cải thiện tốc độ đáp ứng của hệ thống.
Bộ điều khiển PID (Proportional-Integral-Derivative) là một phương pháp điều khiển quá trình, hoạt động dựa trên ba yếu tố chính: tỉ lệ, vi phân và tích phân Kỹ thuật này giúp giảm thiểu tín hiệu sai số bằng cách điều chỉnh tác động theo tỉ lệ, tích phân và vi phân, từ đó cải thiện hiệu suất điều khiển và đạt được độ chính xác cao trong quá trình điều chỉnh.
Hình 3.9: Sơ đồ khối của bộ điều khiển PID
Localization là quá trình dịch các đoạn văn bản trong phần mềm sang ngôn ngữ mục tiêu, đồng thời bổ sung các yếu tố văn hóa đặc trưng của ngôn ngữ đó Quá trình này nhằm đáp ứng nhu cầu của người dùng tại một vùng hoặc ngôn ngữ cụ thể, giúp phần mềm đã được quốc tế hóa trở nên phù hợp và thân thiện hơn với người sử dụng.
Ước tính tư thế (Pose estimation) là một lĩnh vực quan trọng trong tầm nhìn máy tính, nhằm xác định vị trí và hướng của con người hoặc đối tượng Công việc này thường được thực hiện bằng cách dự đoán vị trí của các khớp cơ thể như tay, đầu và khuỷu tay, đặc biệt trong việc ước tính tư thế của con người.
22 Điều khiển PID là dạng điều khiển có hồi tiếp vòng kín được sử dụng rộng khắp, phổ biến trong tự động hóa, hệ thống điện, điện tử,…
3.5.2 Lý thuyết về thuật toán
Khi điều khiển lò nung, việc thiết lập nhiệt độ 38ºC và ngắt nhiệt khi đạt giới hạn này có thể dẫn đến độ chính xác thấp do sai số lớn Sử dụng bộ điều khiển PID giúp điều chỉnh giá trị đầu ra sao cho sai lệch giữa giá trị đo được và giá trị cài đặt nhỏ nhất có thể, từ đó tạo ra sự đáp ứng nhanh và ổn định hơn.
P-Proportional (Tỉ lệ): Phương pháp điều chỉnh tỉ lệ, giúp tạo ra tín hiệu điều chỉnh tỉ lệ với sai lệch đầu vào theo thời gian lấy mẫu
Khâu tỉ lệ được cho bởi: Pout = Kp e(t) (3.1) trong đó:
Pout : Thừa số tỉ lệ của đầu ra
Kp: Hệ số tỉ lệ, thông số điều chỉnh e: Sai số = SP(setpoint)- PV(process variable) t: Thời gian hay thời gian tức thời (hiện tại)
Hình 3.10: Đồ thị PV theo thời gian Kp, Ki, Kd trong đó Ki, Kd là hằng số
Hệ số khâu tỉ lệ lớn xảy ra khi có sự thay đổi lớn ở đầu ra nhưng sai số đầu vào chỉ thay đổi nhỏ, dẫn đến sự không ổn định của hệ thống nếu hệ số quá cao Ngược lại, khi hệ số nhỏ do đáp ứng đầu ra thấp trong khi sai số đầu vào lớn, bộ điều khiển sẽ phản ứng chậm hoặc không hiệu quả.
23 nhạy Nếu Hệ số khâu tỉ lệ quá thấp, tác động điều khiển có thể sẽ quá bé khi đáp ứng với các nhiễu của hệ thống
I-Integral (Tích phân): Là tích phân của sai lệch theo thời gian lấy mẫu Điều khiển tích phân là phương pháp điều chỉnh để tạo ra các tín hiệu điều chỉnh sao cho độ sai lệch giảm về 0 Từ đó cho ta biết sai số tích lũy trong quá khứ hay tổng sai số tức thời theo thời gian Khi thời gian càng nhỏ thể hiện tác động điều chỉnh tích phân càng mạnh, ứng với độ lệch càng nhỏ
Thừa số tích phân được cho bởi: Iout = Ki ∫ 𝑒(𝜏) 0 𝑡 dτ (3.2)
Iout : Thừa số tích phân của đầu ra
Ki là độ lợi tích phân, đóng vai trò là một thông số điều chỉnh quan trọng trong hệ thống điều khiển E, hay sai số, được tính bằng cách lấy SP (setpoint) trừ đi PV (process variable) Thời gian, ký hiệu là t, có thể là thời gian thực hoặc thời gian tức thời Cuối cùng, τ là một biến tích phân trung gian, giúp tối ưu hóa quá trình điều chỉnh.
Hình 3.11: Đồ thị PV theo thời gian Kp, Ki, Kd trong đó Kp, Kd không đổi
D- Derivative (Vi phân): Là vi phân của sai lệch Điều khiển vi phân tạo ra tín hiệu điều chỉnh sao cho tỉ lệ với tốc độ thay đổi sai lệch đầu vào Thời gian càng lớn thì phạm vi điều chỉnh vi phân càng mạnh, tương ứng với bộ điều chỉnh đáp ứng với thay đổi đầu vào càng nhanh
Thừa số vi phân được cho bởi: Dout = Kd 𝑑
Dout : Thừa số vi phân của đầu ra
Kd: Độ lợi vi phân, một thông số điều chỉnh e: Sai số = SP(setpoint)- PV(process variable) t: Thời gian hoặc thời gian tức thời (hiện tại)
Hình 3.12: Đồ thị PV theo thời gian Kp, Ki, Kd trong đó Kp, Ki không đổi
Khâu vi phân là yếu tố quan trọng giúp điều chỉnh tốc độ thay đổi của đầu ra bộ điều khiển, từ đó nâng cao độ ổn định cho các bộ điều khiển nhiều thành phần và giảm biên độ vọt lố do tích phân gây ra Tuy nhiên, việc vi phân tín hiệu có thể khuếch đại nhiễu, khiến khâu này trở nên nhạy cảm với nhiễu trong sai số Nếu độ lợi vi phân quá cao và có nhiễu, quá trình điều khiển có thể trở nên không ổn định.
3.5.3 Phương pháp điều chỉnh PID Điều chỉnh điều khiển vòng lặp: là quá trình điều chỉnh tham số của nó thành các giá trị tối ưu cho đáp ứng điều khiển mong muốn tốt nhất Yếu tố quan trọng nhất cần lưu ý là sự ổn định của một hệ thống Thực tế, các hành vi khác nhau do các hệ thống khác nhau mặc dù có chỉ có ba tham số để hiệu chỉnh, nhưng điều chỉnh các thành phần PID là một nhiệm vụ khó khăn vì phải thỏa mãn các yếu tố phức tạp trong giới hạn của bộ điều khiển PID Hơn nữa, có vô số phương pháp để hiệu chỉnh điều khiển vòng lặp Tuy vậy, trong dự án này, chúng tôi quyết định ứng dụng phương pháp hiệu chỉnh thủ công vì nó không yêu cầu bất kỳ tính toán phức tạp hoặc mô hình toán học nào Kinh nghiệm điều chỉnh là yếu tố quan trọng nhất
Tóm tắt về điều chỉnh thủ công:
Đầu tiên, thiết lập các giá trị Kd và Ki bằng 0, sau đó tăng Kp cho đến khi ngõ ra của vòng lặp xuất hiện dao động Tiếp theo, điều chỉnh Kp xuống khoảng một nửa giá trị đó trong phần tư đáp ứng kiểu phân rã biên độ Sau đó, tăng Ki cho đến khi phần bù được sửa trong thời gian đủ cho quá trình mà không làm cho giá trị trở nên lớn gây ra sự không ổn định Cuối cùng, tăng Kd để đẩy nhanh quá trình đáp ứng, giúp nhanh chóng đạt đến điểm đặt.
Giao thức truyền thông
Giao thức truyền thông, hay còn gọi là protocol, là tập hợp các quy tắc chuẩn cho phép hai hoặc nhiều thực thể trong hệ thống thông tin liên lạc và trao đổi dữ liệu qua các kênh truyền thông.
Giao thức truyền thông định nghĩa ngữ nghĩa, cú pháp và quy tắc, đồng thời đảm bảo sự đồng bộ trong quá trình truyền thông Nó cũng có thể tích hợp các phương pháp khắc phục lỗi trong quá trình truyền Giao thức này có thể được triển khai trên cả phần mềm và phần cứng.
Máy tính, bộ vi điều khiển và hệ thống nhúng thường sử dụng UART như một giao thức giao tiếp phần cứng giữa các thiết bị UART được coi là giải pháp kết nối đơn giản nhất, chỉ cần hai dây để thực hiện việc truyền và nhận dữ liệu, giúp hoàn thành nhiệm vụ một cách hiệu quả.
Hình 3.13: Các loại giao thức truyền thông
Tóm tắt về UART
UART (“Universal Asynchronous Receiver / Transmitter”) là bộ nhận/truyền dữ liệu giao thức không đồng bộ
Hình 3.14: Hai UART giao tiếp trực tiếp qua lại với nhau
Giao tiếp trong thiết bị UART diễn ra qua hai tín hiệu chính: Máy thu (Rx) và Máy phát (Tx) Mỗi thiết bị sẽ đảm nhận vai trò nhận và truyền dữ liệu nối tiếp, đảm bảo quá trình truyền thông nối tiếp diễn ra hiệu quả.
UART là một vi mạch tích hợp trong vi điều khiển, khác với các giao thức truyền thông như I2C và SPI Chức năng chính của UART là truyền dữ liệu theo phương thức nối tiếp Giao tiếp giữa hai thiết bị thông qua UART có thể diễn ra theo hai hình thức: truyền/nhận dữ liệu song song và truyền/nhận dữ liệu nối tiếp.
UART là một trong số các giao thức truyền thông giữa các thiết bị, được ứng dụng nhiều nhất
❖ UART với trạm dữ liệu:
UART kết nối với trạm dữ liệu điều khiển để gửi dữ liệu theo dạng song song Dữ liệu sau đó được truyền nối tiếp qua dây dẫn, từng bit một đến UART nhận Quá trình này chuyển đổi dữ liệu từ dạng nối tiếp sang dạng song song cho thiết bị nhận.
Hình 3.15: UART with Data Bus
Các đường UART đóng vai trò quan trọng trong việc truyền nhận dữ liệu giữa các thiết bị Lưu ý rằng UART được thiết kế với chân nhận và truyền riêng biệt, phục vụ cho mục đích nhận hoặc truyền dữ liệu.
Để đảm bảo giao tiếp hiệu quả qua UART và các giao tiếp nối tiếp khác, tốc độ baud cần phải được thiết lập giống nhau trên cả thiết bị nhận và truyền Tốc độ baud xác định tốc độ truyền thông tin qua kênh liên lạc, và trong cổng nối tiếp, nó biểu thị số bit tối đa có thể truyền trong một giây.
Không có đồng hồ nào có thể điều chỉnh tốc độ truyền dữ liệu; người sử dụng cần thiết lập cùng một tốc độ cho cả hai thiết bị để đảm bảo giao tiếp hiệu quả Tốc độ truyền, được đo bằng bps (bit/giây), có thể dao động từ 9600 baud đến 115200 baud hoặc cao hơn Tuy nhiên, tốc độ truyền giữa UART nhận và truyền chỉ có thể sai lệch khoảng 10% trước khi thời gian của các bit trở nên không đồng bộ.
❖ Ưu điểm/Nhược điểm của bộ truyền UART:
• Chỉ sử dụng 2 dây cho việc truyền dữ liệu
• Không cần thiết đối với tín hiệu CLK
• Cho phép kiểm tra lỗi từ một bit chẵn lẻ
• Sắp xếp gói dữ liệu có thể được sửa đổi vì cả hai mặt được sắp xếp
• Khung dữ liệu có kích thước lớn nhất là 9 bit
• UART không bao gồm một số hệ thống phụ (hoặc)
• Tốc độ truyền của UART phải nằm ở mức chênh lệch không quá 10%
Rosserial là một giao thức gói dùng để truyền tải thông báo, chủ đề và dịch vụ của ROS dưới dạng dữ liệu cho giao tiếp nối tiếp Nó hoạt động như một cầu nối, giúp các phần cứng điện tử mới có thể giao tiếp trực tiếp với hệ thống ROS.
Nhu cầu chuyển đổi thông báo xuất phát từ việc sử dụng giao tiếp nối tiếp với vi điều khiển qua UART thay vì TCP/IP, giao thức mặc định trong ROS Do đó, rosserial đóng vai trò quan trọng trong việc giải thích dữ liệu gửi từ vi điều khiển (rosserial-client) tới máy tính (rosserial-server) để đảm bảo sự tương tác hiệu quả trong hệ thống ROS.
Hình 3.16: Máy chủ Rosserial (dành cho PC) và máy khách (dành cho hệ thống nhúng)
Hình 3.17: Tích hợp ROS cho Robot di động thu nhỏ
Một hệ thống ROS hoàn chỉnh được tạo thành bởi hai thành phần:
• Gói khách hàng Rosserial: Đây là danh sách các loại bộ vi xử lý đã có sẵn tương ứng với giao tiếp ROS chẳng hạn như Arduino, STM32, Embeddedlinux,
• Gói máy chủ Rosserial: Có nhiệm vụ là thành phần quan trọng như một thông dịch viên là một nhóm ngôn ngữ lập trình như C ++ và Python
TIẾN HÀNH TÍNH TOÁN, LỰA CHỌN PHƯƠNG ÁN THIẾT KẾ
Yêu cầu thiết kế
Dựa vào các điều kiện cho phép nhóm chúng tôi quyết định thiết kế robot theo các tiêu chí sau:
• Là mô hình thu nhỏ hơn so với robot thực tế vận hành trong nhà xưởng với kích thước 50x40x25cm , cân nặng khoảng 20kg
• Hoạt động trong môi trường bình thường với thời gian làm việc 2h
Triển khai thuật toán SLAM và các phương pháp điều hướng cho robot cho phép chúng tự động tạo bản đồ làm việc, xác định điểm đến và tự động tránh các chướng ngại vật trên bản đồ.
• Tính toán động học cho robot AMRs để điều khiển động cơ bằng bộ điều khiển thông số PID giúp robot di chuyển chính xác và ổn định
• Điều khiển robot thông qua ROS và giám sát trạng thái làm việc của robot thông qua RVIZ.
Tính toán và lựa chọn
Phương án 1: Di chuyển bằng cách sử dụng 3 bánh (1 bánh phụ tải, 2 bánh dẩn động) Ưu điểm:
+ Chi phí đầu tư thấp hơn
Hình 4.1: Cơ cấu di chuyển 3 bánh
Robot có thể gặp khó khăn trong việc duy trì sự cân bằng khi phải mang tải nặng hoặc các vật thể có kích thước lớn và không đồng nhất Điều này dẫn đến tình trạng không đảm bảo sự cân xứng, làm cho robot dễ bị sai lệch hướng di chuyển.
Phương án 2: Di chuyển sử dụng cơ cấu 4 bánh (4 bánh dẩn động) Ưu điểm:
+ Đảm bảo độ cân bằng, chống lật khi có tải
+ Di chuyển linh hoạt so với loại 3 bánh
+ Tải trọng lớn hơn cơ cấu 3 bánh xe
+ Chi phí đầu tư cao hơn
+ Thuật toán dùng cho việc điều khiển khó hơn
+ 4 bánh có thể không được đồng phẳng
Kết luận: Sau quá trình nghiên cứu và tìm hiểu về các phương thức di chuyển, nhóm đã quyết định lựa chọn cơ cấu 4 bánh Mặc dù còn một số hạn chế, nhưng với những ưu điểm như tính linh hoạt trong di chuyển, độ cân bằng tốt và khả năng chịu tải cao, cơ cấu 4 bánh được xem là phương án phù hợp nhất với yêu cầu thiết kế của nhóm.
4.2.2 Động học của robot Động học giúp ta xác định phạm vi các tư thế mà Robot có thể di chuyển trong môi trường thực
Hình 4.2: Cơ cấu di chuyển 4 bánh
Mô hình động học của robot được thể hiện qua hệ phương trình, giúp dự đoán vị trí của robot trên quỹ đạo di chuyển Nó cho phép xác định vị trí và hướng của robot, đồng thời hỗ trợ quá trình điều khiển Chuyển động của robot di động có thể được phân loại thành hai dạng chính: chuyển động xoay và chuyển động tịnh tiến.
• Chuyển động tịnh tiến là sự dịch chuyển của gốc tọa độ đặt trên robot so với gốc tọa độ của bản đồ theo trục x và trục y
Chuyển động xoay của robot diễn ra quanh gốc tọa độ trên đế, liên quan đến trục z của bản đồ Bánh xe là phần tử cơ bản để điều khiển robot, và các tham số động học quan trọng bao gồm khoảng cách từ tâm bánh xe đến gốc tọa độ khung gầm, bán kính bánh xe, và vị trí gốc tọa độ trên khung gầm.
Mô hình robot dùng 4 bánh xe Mecanum được điều khiển độc lập bằng 4 động cơ riêng biệt
Hình 4.3: Mô hình robot dùng bánh xe đa hướng (Mecanum)
• XOY là khung hệ trục tọa độ cơ sở
• GMN là khung hệ trục tọa độ trên robot, hệ tọa Descartes gắn liền với chuyển động của trọng tâm cơ thể
• PSE(i) là hệ trục tọa độ của bánh xe đặt ở tâm bánh xe
• x,y là vị trí của robot (x,y), 𝜃 là góc hợp bởi trục X và N
• l1, l2 là khoảng cách từ trục GM và GN đến bánh xe
• v 𝜔𝑖 là vận tốc của bánh xe (m/s)
• v ri là vận tốc con lăn bị động (m/s)
• r là bán kính bánh xe (m)
• 𝛾 𝑖 là góc giữa v𝜔𝑖và v ri là 𝜋
• 𝛼 𝑖 là góc tạo bởi trục GN và OY
• 𝛽 𝑖 là góc tạo bởi trục GN và PS
• 𝜔z là góc của robot (rad/s)
• rr bán kính của các con lăn trên bánh xe
• li là khoảng cách giữa các bánh xe và đế (tâm của robot)
• [wSi wEi𝜔 𝑖 ] T vận tốc tổng quát của điểm Pi trong khung SiPiEi
• [𝑣 𝑆𝑖 𝑣 𝐸𝑖 ωi ] T vận tốc tổng quát của điểm Pi trong khung GMN.
Dựa vào hình 4.5, có thể tính vận tốc của bánh xe i và vận tốc tiếp tuyến của con lăn tự do được gắn để bánh xe chạm sàn
Hình 4.5: Nguyên lí chuyển động của bánh xe
Hình 4.4: Bánh xe trong tọa độ của robot l2 l1
Dựa vào hình 4.5, ta có thể xét các phương trình (4.1) ,vận tốc của bánh xe i trong khung
SiPiEi có thể được xác định bằng:
Ma trận biến đổi từ vận tốc thứ i sang trung tâm:
𝑟 𝑖 cos 𝛾 𝑖 ] (4.3) Theo hình 4.3 và 4.4 vận tốc ở giữa bánh xe được di chuyển đến hệ tọa độ MGN:
𝑣 𝑟𝑖 ] (4.4) Khi đó, ma trận biến đổi từ tâm bánh xe thứ i sang hệ tọa độ của robot được xác định bởi công thức:
Vì chuyển động của robot là phẳng nên ta còn có:
Từ phương trình (4.3) và (4.5), mô hình động học nghịch có thể được xác định:
Bằng cách hợp nhất các phương trình (4.4) và (4.6), cơ sở của robot vận tốc (tại điểm G) liên quan đến vận tốc quay của vật thứ i ta được:
Theo phương trình (4.3) và (4.4), có mối liên hệ giữa các biến trong khung bánh xe của robot Động học nghịch cho phép tính toán vận tốc của hệ thống thông qua vận tốc tuyến tính 𝑣 𝑟𝑖 và các tốc độ quay của bánh thứ i, như được mô tả trong (4.10) và ngược lại trong (4.11).
Xét thực tế 𝑙 1 =𝑙 𝑖 cos𝑎 𝑖 và 𝑙 2 =𝑙 𝑖 sin𝑎 𝑖 , giả sử các bánh xe có cùng kích thước, khi đó ma trận chuyển đổi là:
𝑙𝑖 sin(−𝛼 𝑖 +𝛽 𝑖 −𝑦 𝑖 ) sin(𝑦 𝑖 ) 𝑟𝑐𝑜𝑠 ( 𝛽 𝑖 ) sin(𝑦 𝑖 ) − 𝑟𝑠𝑖𝑛 ( 𝛽 𝑖 ) sin(𝑦 𝑖 ) − 𝑙𝑖 sin(−𝛼 𝑖 +𝛽 𝑖 )𝑟 sin(𝑦 𝑖 )
− 1 2 (𝑙𝑖 2 sin(𝛽 𝑖 ) − 𝑙𝑖 2 sin(−𝛽 𝑖 + 2𝛼 𝑖 ) + 2 sin(𝛽 𝑖 ))𝑟 1 2 𝑙𝑖 2 sin(𝛾 𝑖 − 𝛽 𝑖 + 2𝛼 𝑖 ) − 1 2 𝑙𝑖 2 sin(𝛾 𝑖 + 𝛽 𝑖 )𝑙𝑖 2 − sin(−𝛾 𝑖 + 𝛽 𝑖 )
Có một mối liên hệ giữa các biến độc lập 𝑣 𝑟𝑖 và 𝜔 𝑖 trong từng khớp của robot, cũng như trong các hệ thống góc và tuyến tính vận tốc Giả sử rằng không có hiện tượng trượt bánh xe trên mặt đất, động học nghịch của robot có thể được xác định thông qua công thức (4.14).
𝑙 1 sin(𝛽 1 −𝛾 1 −𝛼 1 ) sin(𝛾 1 ) cos(𝛽 2 −𝛾 2 ) sin(𝛾 2 ) sin(𝛽 2 −𝛾 2 ) sin(𝛾 2 )
𝑙 2 sin(𝛽 2 −𝛾 2 −𝛼 2 ) sin(𝛾 2 ) cos(𝛽 3 −𝛾 3 ) sin(𝛾 3 ) cos(𝛽 4 −𝛾 4 ) sin(𝛾 4 ) sin(𝛽 3 −𝛾 3 ) sin(𝛾 3 ) sin(𝛽 4 −𝑦 4 ) sin(𝛾 4 )
Ma trận Jacobian cho hệ thống động học nghịch:
𝑙 1 sin(𝛽 1 −𝛾 1 −𝛼 1 ) sin(𝛾 1 ) cos(𝛽 2 −𝛾 2 ) sin(𝛾 2 ) sin(𝛽 2 −𝛾 2 ) sin(𝛾 2 )
𝑙 2 sin(𝛽 2 −𝛾 2 −𝛼 2 ) sin(𝛾 2 ) cos(𝛽 3 −𝛾 3 ) sin(𝛾 3 ) cos(𝛽 4 −𝛾 4 ) sin(𝛾 4 ) sin(𝛽 3 −𝛾 3 ) sin(𝛾 3 ) sin(𝛽 4 −𝑦 4 ) sin(𝛾 4 )
𝜔 𝑍 ] (4.15) Đối với động học thuận theo phương trình (4.10) chúng ta có:
+ Giải pháp 4 bánh xe đa hướng:
Bảng 4.1: Thông số của robot i Bánh xe 𝛼 𝑖 𝛽 𝑖 𝛾 𝑖 𝑙 𝑖 𝑙 1 𝑙 2
Bằng cách thay thế các tham số của bảng trong ma trận phương trình (4.15) và xem xét phương trình (4.14), chúng tôi đã đưa ra:
Theo các phương trình (4.10) and (4.11) cho động học thuận và động học nghịch là:
4.2.2.2 Sự kết hợp quay khác nhau của bốn bánh xe tạo ra các hướng di chuyển của xe
Hình 4.4: Hướng di chuyển của robot dựa trên sự kết hợp quay giữa bốn bánh xe
Bánh xe Mecanum tạo ra hướng di chuyển đa hướng cho robot AMR:
• Đi tiến: Bánh 1, 2, 3, 4 quay đồng thời về phía trước (quay cùng chiều kim đồng hồ)
• Đi lùi: Bánh 1, 2, 3, 4 quay đồng lời về phía sau (ngược chiều kim đồng hồ)
• Đi ngang sang phải: Bánh 1, 4 quay thuận (cùng chiều kim đồng hồ), bánh 2,3 quay nghịch (ngược chiều kim đồng hồ)
• Đi ngang sang trái: Bánh 1, 4 quay nghịch (ngược chiều kim đồng hồ), bánh 2, 3 quay thuận (cùng chiều kim đồng hồ)
• Xoay tại chỗ (hướng quay sang phải): bánh 1, 3 quay thuận (cùng chiều kim đồng hồ), bánh 2, 4 quay nghịch (ngược chiều kim đồng hồ)
• Xoay tại chỗ (hướng quay sang trái): bánh 1, 3 quay nghịch (ngược chiều kim đồng hồ), bánh 2, 4 quay thuận (cùng chiều kim đồng hồ)
• Đi xiên sang phải, hướng tiến: Bánh 1, 4 quay thuận (cùng chiều kim đồng hồ), bánh 2, 3 đứng yên
• Đi xiên sang trái, hướng tiến: Bánh 2, 3 quay thuận (cùng chiều kim đồng hồ), bánh 1, 4 đứng yên
• Đi xiên sang phải, hướng lùi: Bánh 1, 4 quay nghịch (ngược chiều kim đồng hồ), bánh 2,
• Đi xiên sang trái, hướng lùi: Bánh 2, 3 quay nghịch (ngược chiều kim đồng hồ), bánh 1,
Hệ thống truyền động được áp dụng rộng rãi trong các dây truyền sản xuất, bao gồm các loại truyền động chính:
• Truyền động thủy lực khí nén
Bộ truyền cơ khí là loại truyền động phổ biến nhất trong các ngành công nghiệp, có chức năng truyền động cơ năng từ động cơ đến các bộ phận làm việc của máy móc Quá trình truyền động cơ khí thường dẫn đến sự thay đổi về vận tốc, lực và mô men, đồng thời có thể thay đổi quy luật và đặc tính chuyển động.
Trong lĩnh vực truyền động cơ khí, có hai loại chính: truyền động ăn khớp, bao gồm truyền động bánh răng, truyền động xích và truyền động trục vít; và truyền động ma sát, trong đó truyền động đai là một ví dụ điển hình.
- Phương án 1: Lựa chọn bộ truyền đai
• Có cấu tạo không phức tạp
• Hoạt động êm và không tạo ra tiếng ồn
• Có khả năng hiệu chỉnh vô cấp tốc độ
• Có khả năng truyền chuyển động giữa các trục nằm ở xa nhau
• Ổ và trục chịu lực tác động lớn
• Có xảy ra trượt giữa các bánh với nhau khi hoạt động dẩn đến sự bất ổn định tỷ số truyền
• Về khả năng tải sẽ bị hạn chế
- Phương án 2: Lựa chọn truyền động xích, bánh răng
• Không xảy ra trượt trong khi hoạt động
• Công suất truyền động lớn
• Tần suất làm việc cao
• Tải được nhiều khối lượng
• Khi lắp ghép vào hệ thống cần độ chính xác cao và tác động lực lớn
• Gây tiếng ồn khi hoạt động
- Phương án 3: Truyền động trục vít-bánh vít
• Khả năng làm việc êm ái, không bị ồn
• Hiệu suất thấp, sinh nhiều nhiệt
• Chi phí đầu tư lớn
- Phương án 4: Truyền động đồng trục liên kết với nhau thông qua khớp nối cứng
+ Với phương án này sẽ có ưu điểm:
• Không bị chênh lệch tốc độ quay động cơ và các bánh xe
• Không bị chiếm nhiều không gian
• Chi phí đầu tư thấp
• Dễ bị ma sát dẩn đến hao mòn trục
• Cần board driver tốt để điều khiển
• Dể bị lỏng trục nếu không cố định ốc chắc chắn
Kết luận: Dựa trên việc đánh giá các ưu điểm và nhược điểm của các bộ truyền, cùng với các yêu cầu chế tạo robot ban đầu, chúng tôi quyết định lựa chọn phương pháp truyền động trực tiếp thông qua trục nối.
39 liên kết bằng khớp nối cứng vì loại truyền động này đáp ứng tương đối hơn đối với yêu cầu đặt ra so với các bộ truyền khác:
+ Tải trọng khi truyền động trực tiếp đáp ứng được khối lượng đặt ra(10kg)
+ không gian đặt động cơ và bộ truyền phù hợp với yêu cầu thiết kế
+ chi phí rẻ, dễ tiếp cận phù hợp với khả năng kinh tế của nhóm
+ Ít tạo ra tiếng ồn phù hợp với không gian hoạt động
4.2.4 Tính toán thuật toán PID Để tìm ra hệ số PID phù hợp để điều khiển động cơ, nhóm lựa chọn phương pháp đo thực nghiệm Tiến hành đo thực nghiệm tốc độ của động cơ
Kết quả đo được khi đo thực nghiệm vận tốc động cơ đạt được với chu kì lấy mẫu 10ms với điện áp vào là 4.9V
Hình 4.5: Đọc giá trị điện áp đầu vào 4.9V trong 100 lần (ĐC1)
Hình 4.7: Biểu đồ đáp ứng ngõ vào(ĐC1)
Hình 4.6: Đọc giá trị vận tốc đạt được trong 100 lần với điện áp đầu vào 4.9V(ĐC1)
+ Sau khi thực hiện chạy trên phần mềm ta thu được hàm truyền: G(s) = 48.5402
Hình 4.8: Biểu đồ đáp ứng với thông số Kp, Ki, Kd (ĐC1)
Hình 4.9: Biểu đồ đáp ứng ngõ ra tốc độ (ĐC1)
+ Sau khi có được thông số hàm truyền ta tiến hành tìm thông số PID cho hàm truyền vừa tìm.
Hình 4.10: Hệ thống hàm truyền với đầu vào tốc độ 240 vòng/phút
Sau khi thực hiện tính toán với thời gian mô phỏng 1000s ta được thông số PID lần lượt là: Kp=0.0275562487390833
Hình 4.11: Biểu đồ đáp ứng với thông số Kp, Ki, Kd tìm được từ phương pháp PID Tune
Nhận xét : Ta thấy thời gian đáp ứng nhanh tuy nhiên vẫn có vọt lố
Kết quả đo được khi đo thực nghiệm vận tốc động cơ đạt được với chu kì lấy mẫu 10ms với điện áp vào là 4.9V
Hình 4.12: Đọc giá trị điện áp đầu vào 4.9V trong 100 lần (ĐC2)
Hình 4.13: Đọc giá trị vận tốc đạt được trong 100 lần với điện áp đầu vào 4.9V (ĐC2)
Hình 4.14: Biểu đồ đáp ứng ngõ vào (ĐC2)
+ Sau khi thực hiện chạy trên phần mềm ta thu được hàm truyền: G(s) = 56.5013
Hình 4.15: Thông số hàm truyền (ĐC2)
Hình 4.16: Biểu đồ đáp ứng ngõ ra tốc độ(ĐC2)
+ Sau khi có được thông số hàm truyền ta tiến hành tìm thông số PID cho hàm truyền vừa tìm
Hình 4.17: Hệ thống hàm truyền với đầu vào tốc độ 264 vòng/phút (ĐC2)
Sau khi thực hiện tính toán với thời gian mô phỏng 1000s ta được thông số PID lần lượt là:
Hình 4.18: Biểu đồ đáp ứng với thông số Kp, Ki, Kd (ĐC2) tìm được từ phương pháp PID
Nhận xét : Ta thấy thời gian đáp ứng nhanh tuy nhiên vẫn có vọt lố
Kết quả đo được khi đo thực nghiệm vận tốc động cơ đạt được với chu kì lấy mẫu 10ms với điện áp vào là 4.9V
Hình 4.19: Đọc giá trị điện áp đầu vào 4.9V trong 100 lần (ĐC3)
Hình 4.21: Biểu đồ đáp ứng ngõ vào (ĐC3)
Hình 4.20: Đọc giá trị vận tốc đạt được trong 100 lần với điện áp đầu vào 4.9V(ĐC3)
+ Sau khi thực hiện chạy trên phần mềm ta thu được hàm truyền: G(s) = 53.9714
Hình 4.22: Thông số hàm truyền (ĐC3)
Hình 4.23: Biểu đồ đáp ứng ngõ ra tốc độ(ĐC3)
+ Sau khi có được thông số hàm truyền ta tiến hành tìm thông số PID cho hàm truyền vừa tìm
Hình 4.24: Hệ thống hàm truyền với đầu vào tốc độ 264 vòng/phút (ĐC3)
Sau khi thực hiện tính toán với thời gian mô phỏng 1000s ta được thông số PID lần lượt là:
Hình 4.25: Biểu đồ đáp ứng với thông số Kp, Ki, Kd tìm được từ phương pháp PID
Nhận xét : Ta thấy thời gian đáp ứng nhanh tuy nhiên vẫn có vọt lố
Kết quả đo được khi đo thực nghiệm vận tốc động cơ đạt được với chu kì lấy mẫu 10ms Với điện áp vào là 4.9V
Hình 4.26: Đọc giá trị điện áp đầu vào 4.9V trong 100 lần (ĐC4)
Hình 4.27: Đọc giá trị vận tốc đạt được trong 100 lần với điện áp đầu vào 4.9V(ĐC4)
Hình 4.28: Biểu đồ đáp ứng ngõ vào (ĐC4)
+ Sau khi thực hiện chạy trên phần mềm ta thu được hàm truyền: G(s) = 51.5741
Hình 4.29: Thông số hàm truyền (ĐC4)
Hình 4.30: Biểu đồ đáp ứng ngõ ra tốc độ(ĐC4)
+ Sau khi có được thông số hàm truyền ta tiến hành tìm thông số PID cho hàm truyền vừa tìm
Hình 4.31: Hệ thống hàm truyền với đầu vào tốc độ 288 vòng/phút (ĐC4)
Sau khi thực hiện tính toán với thời gian mô phỏng 1000s ta được thông số PID lần lượt là:
Hình 4.32: Biểu đồ đáp ứng với thông số Kp, Ki, Kd tìm được từ phương pháp PID Tune
Nhận xét : Ta thấy thời gian đáp ứng nhanh nhưng vẫn có vọt lố
Kết luận: Sau quá trình tính toán tìm hàm truyền của từng động cơ ta có được các chỉ số Kp,
Ki, Kd gần giống nhau, và những thông số Kp, Ki, Kd này chưa tối ưu, chưa đáp ứng được yêu cầu điều khiển động cơ như mong muốn
Để đáp ứng yêu cầu nhanh chóng mà không vượt quá giới hạn, cần đảm bảo hệ thống hoạt động ổn định Việc hiệu chỉnh thủ công và lựa chọn bộ điều khiển PID là cần thiết cho việc điều khiển động cơ hiệu quả.
Để điều chỉnh hệ thống, đầu tiên đặt Ki, Kd = 0 Tiếp theo, điều chỉnh thông số Kp cho đến khi đáp ứng yêu cầu điều khiển Khi hệ thống có dấu hiệu mất ổn định, cần hiệu chỉnh Ki để giảm sai số xác lập và điều chỉnh Kd nhằm giảm độ vọt lố.
Với cách hiệu chỉnh phương pháp hiệu chỉnh thủ công ta tìm được các hệ số trong bộ điều khiển PID lần lượt là: Kp = 20, Ki = 0.001, Kd = 0.01
Kết quả cho ra khi gán thông số Kp = 20, Ki = 0.001, Kd = 0.01 vào hệ thống hàm truyền của
4 động cơ ta được: Động cơ 1 (Right):
Hình 4.33: Hệ thống hàm truyền điều khiển động cơ với bộ điều khiển PID sau hiệu chỉnh
Hình 4.34: Biểu đồ đáp ứng hệ thống với bộ điều khiển PID sau hiệu chỉnh (ĐC1)
Kết quả: Cho ra biểu đồ đáp ứng nhanh với thời gian xác lập là 0.02s và không bị vọt lố hay xảy ra dao động Động cơ 2 (Right back):
Hình 4.35: Hệ thống hàm truyền điều khiển động cơ với bộ điều khiển PID sau hiệu chỉnh
Hình 4.36: Biểu đồ đáp ứng hệ thống với bộ điều khiển PID sau hiệu chỉnh (ĐC2)
Kết quả: Cho ra biểu đồ đáp ứng nhanh với thời gian xác lập là 0.02s và không bị vọt lố hay xảy ra dao động Động cơ 3 (Left):
Hình 4.37: Hệ thống hàm truyền điều khiển động cơ với PID sau hiệu chỉnh (ĐC3)
Hình 4.38: Biểu đồ đáp ứng hệ thống với bộ điều khiển PID sau hiệu chỉnh (ĐC3)
Kết quả: Cho ra biểu đồ đáp ứng nhanh với thời gian xác lập là 0.019s và không bị vọt lố hay xảy ra dao động Động cơ 4 (Left back):
Hình 4.39: Hệ thống hàm truyền điều khiển động cơ với PID sau hiệu chỉnh (ĐC4)
Hình 4.40: Biểu đồ đáp ứng hệ thống với bộ điều khiển PID sau hiệu chỉnh (ĐC4)
Kết quả: Cho ra biểu đồ đáp ứng nhanh với thời gian xác lập là 0.02s và không bị vọt lố hay xảy ra dao động
Dựa vào PID tìm được sau quá trình hiệu chỉnh ta được kết quả thực tế khi áp dụng bộ PID vừa tìm được vào điều khiển động cơ:
Hình 4.41: Biểu đồ đáp ứng hệ thống thực tế với bộ điều khiển PID sau hiệu chỉnh (ĐC1)
Hình 4.42: Biểu đồ đáp ứng hệ thống thực tế với bộ điều khiển PID sau hiệu chỉnh (ĐC2)
Hình 4.43: Biểu đồ đáp ứng hệ thống thực tế với bộ điều khiển PID sau hiệu chỉnh (ĐC3)
Hình 4.44: Biểu đồ đáp ứng hệ thống thực tế với bộ điều khiển PID sau hiệu chỉnh (ĐC4)
Bài viết nhận xét rằng bốn biểu đồ đáp ứng tương ứng với bốn động cơ cho thấy bộ điều khiển PID mang lại phản hồi nhanh chóng Sự dao động trong các đường tín hiệu chủ yếu xuất phát từ tác động của bánh răng trong hộp giảm tốc, nhưng điều này không ảnh hưởng đến hiệu quả điều khiển động cơ.
Sau khi hiệu chỉnh các tham số Kp, Ki, Kd trong bộ điều khiển PID, dựa trên kết quả từ biểu đồ đáp ứng thu được qua quá trình mô phỏng và thực tế, chúng tôi đã rút ra kết luận rằng bộ điều khiển PID với các thông số đã điều chỉnh hoạt động hiệu quả trong việc điều khiển hệ thống.
Kp = 20, Ki = 0.001, Kd=0.01 thỏa yêu cầu điều khiển
Bánh xe đóng vai trò thiết yếu trong robot AMRs, vì chúng chịu toàn bộ tải trọng của xe, bao gồm cả khối lượng xe và tải trọng được đặt lên trên.
Bánh xe đa hướng được phân loại thành 3 dạng chính:
THIẾT KẾ, CHẾ TẠO ROBOT
Thiết kế robot AMR
Robot AMR được phát triển dựa trên thiết kế của xe bán tải và xe tải chở hàng, mang hình dáng xe chở hàng với phần đầu xe là trung tâm xử lý, nơi tích hợp Raspberry và các thiết bị điện Khung gầm được bố trí các động cơ một cách cân đối, trong khi khung xe độc lập với khung gầm giúp tăng tính linh hoạt trong việc tháo lắp và vận chuyển.
Khung gầm được làm bằng vật liệu thép tấm cán nguội SPCC 3mm
Cơ tính của Thép cán nguội:
Mác thép Nga: CT3 có giới hạn bền là 380-490N/mm 2 , độ giãn dài tương đối 𝛿 = 23%
Hình 5.1: Khung gầm của robot AMR thiết kế trên phần mềm Inventor
Hình 5.2: Khung gầm thực tế
Tiến hành kiểm nghiệm bền trên phần mềm Inventor với lực đặt tác dụng lên tấm thép là 400N (hay 40kg)
Hình 5.3: Mô phỏng ứng suất khung gầm trên phần mềm Inventor với lực đặt 400N
Sau khi kiểm nghiệm độ bền bằng phần mềm Inventor, kết quả cho thấy ứng suất lớn nhất khi áp dụng lực 400N (tương đương 40kg) lên khung xe là 𝜎 = 162.9 N/mm² (MPa).
Ta có 𝜎 = 162.9 N/mm 2 (MPa) < 𝜎 𝑚𝑎𝑥 = 380 – 490 N/mm 2 (MPa) Kết luận: Do đó khung robot thỏa yêu cầu về độ bền để có thể chịu tải trọng 40kg
5.1.1.2 Kiểm nghiệm độ chuyển vị:
Chuyển vị chịu tác dụng lớn nhất theo phương từ trên xuống (theo phương Y)
Sau khi kiểm nghiệm trên phần mềm Inventor ta thấy độ chuyển vị 𝛿 = 0.1959mm rất nhỏ so với chiều dài khung 500mm
Kết luận: Do đó khung robot thỏa yêu cầu về độ biến dạng
Khung robot được ghép từ nhôm định hình 20x20mm
Tổng khối lượng nhôm định hình: 2.16kg
• 4 thanh nhôm định hình 20x20 dài 130mm
• 4 thanh nhôm định hình 20x20 dài 100mm
• 4 thanh nhôm định hình 20x20 dài 280mm
• 2 thanh nhôm định hình 20x20 dài 300mm
• 10 thanh nhôm định hình 20x20 dài 330mm
Hình 5.4: Mô phỏng chuyển vị trên phần mềm Inventor
Hình 5.5: Thiết kế phần khung trên phần mềm Inventor
Hình 5.6: Khung robot từ nhôm định hình 20x20mm
5.1.2.1 Kiểm nghiệm bền cho khung nhôm
Tiến hành kiểm nghiệm bền trên phần mềm Inventor với lực đặt tác dụng lên tấm thép là 100N (hay 10kg)
Hình 5.7: Mô phỏng ứng suất của khung với lực đặt 100N
Sau khi kiểm nghiệm độ bền bằng phần mềm Inventor, kết quả cho thấy ứng suất lớn nhất khi áp lực 100N (tương đương 10kg) tác động lên khung xe là 𝜎 = 1.294 N/mm² (MPa).
Ta có 𝜎 = 1.294 N/mm 2 (MPa) < 𝜎 𝑚𝑎𝑥 = 150 N/mm 2 (MPa)
Do đó khung robot thỏa yêu cầu về độ bền khi chịu tải trọng 10kg
5.1.2.2 Kiểm nghiệm độ chuyển vị:
Chuyển vị chịu tác dụng lớn nhất theo phương từ trên xuống (theo phương Y)
Hình 5.8: Mô phỏng chuyển vị khung xe với lực đặt 100N
Sau khi kiểm nghiệm trên phần mềm Inventor, độ chuyển vị tổng thể 𝛿 được ghi nhận là 0.006007mm, trong khi độ chuyển vị theo phương Y là 𝛿 = 0.005825mm, cả hai giá trị này đều rất nhỏ so với chiều dài khung 500mm Kết luận, khung robot đáp ứng yêu cầu về độ biến dạng.
5.1.3 Vị trí đặt các thiết bị điện
Vị trí các thiết bị, linh kiện điện tử được sắp xếp cân đối và dễ dàng lắp đặt
Hình 5.9: Sắp xếp đặt các linh kiện/ thiết bị điện tử, thiết kế trên phần mềm Inventor
Hình 5.10: Sắp xếp đặt thiết bị điện đặt trên lớp mica
Hình 5.11: Vị trí đặt ắc quy, động cơ, la bàn IMU (Thiết kế)
Hình 5.12: Bố trí ắc quy, động cơ, la bàn IMU lên khung gầm (thực tế)
Thiết kế sơ đồ khối
5.2.1.1 Xây dựng map bằng thuật toán SLAM
Sơ đồ 5.1: Lưu đồ giải thuật xây dựng map bằng thuật toán SLAM
5.2.1.2 Thực hiện Navigation của Robot
Sơ đồ 5.2: Lưu đồ giải thuật thực hiện Navigation của robot
Sơ đồ 5.3: Lưu đồ giải thuật của Arduino mega 2560
5.2.2 Giải thích lưu đồ giải thuật
5.2.2.1 Xây dựng map bằng thuật toán Slam
• Cấp nguồn cho hệ thống của Robot (Nguồn 12V cho driver động cơ, đèn Led, nguồn 5V Raspberry pi4, Arduino, Camera, LiDAR, và các thiết bị khác)
• Khởi chạy RPLiDAR A1 được kết nối Raspberry pi4 nhầm thu thập thông tin Laserscan của LiDAR
Khởi chạy Rosserial trên Arduino Mega 2560 để kết nối với Raspberry Pi 4 thông qua giao thức UART với tốc độ truyền 57600 bit/s, nhằm trao đổi dữ liệu hiệu quả cho việc vận hành robot.
• Khỏi chạy tệp điều khiển của Joystick nếu kết nối ps4 Joystick với Raspberry pi4 thông qua kết nối bằng Bluetooth
• Bắt đầu khởi chạy thuật toán Gmapping Slam để xây dựng map
• Nhận được các thông tin vật cản được xác định thông qua việc quét của lidar trả về cho Raspberry pi4 để xây dựng map
• Bắt đầu di chuyển xe với thuật toán PID toàn bộ khu vực mà ta cần robot thực hiện Navigation để xây dựng map
• Lưu map nếu ta đã hoàn thành việc xây dựng map để thực hiện Navigation
• Xây dựng map bằng thuật toán Slam hoàn thành
5.2.2.2 Thực hiện navigation của robot
• Khởi chạy RPLiDAR A1 được kết nối Raspberry pi4 nhầm thu thập thông tin Laserscan của Lidar
Khởi chạy Rosserial trên Arduino Mega 2560 để kết nối với Raspberry Pi 4 thông qua giao thức UART với tốc độ truyền 57600 bit/s, nhằm trao đổi dữ liệu hiệu quả cho việc điều khiển robot.
Để tránh lỗi trong thuật toán điều hướng, hãy ngắt chạy tệp điều khiển của Joystick khi kết nối tay cầm PS4 với Raspberry Pi 4 qua Bluetooth, nhằm đảm bảo việc điều khiển robot bằng joystick được thực hiện một cách chính xác.
• Khởi chạy thuật toán navigation mà ta đã xây dựng với các thông số phù hợp của robot
Để cải thiện khả năng điều hướng trong một khu vực cụ thể, chúng ta cần thêm bản đồ đã được xây dựng Bên cạnh đó, việc tích hợp các thông tin khác như LidarScan, Odometry và Camera của robot cũng rất quan trọng để nâng cao hiệu quả hoạt động.
Đặt vị trí ban đầu của robot sao cho vị trí thực tế và vị trí mô phỏng trùng khớp là rất quan trọng, nhằm đảm bảo việc di chuyển chính xác của robot trong quá trình điều hướng.
• Chọn điểm mà ta cần robot di chuyển đến trong map đã được xây dựng
• Thuật toán navigation sẽ tính toán và đưa ra đường di chuyển để robot có thể di chuyển đến vị trí mà ta đã chọn
• Robot bắt đầu di chuyển đến điểm đến khi đường đi đã được xác định với thuật toán PID
Khi robot gặp vật cản, thuật toán sẽ tự động tính toán lộ trình mới, cho phép robot di chuyển đến điểm đến theo hướng đã được điều chỉnh.
• Khi robot đã đến điểm mà ta yêu cầu thì việc thực hiện navigation hoàn thành
• Arduino mega 2560 sẽ được kết nối với Raspberry pi4 thông qua giao thức kết nối UART và dữ liệu của 2 thiết bị sẽ được trao đổ qua Rosserial Arduino
Khi điều khiển robot bằng thủ công hoặc thuật toán Navigation của ROS, giá trị tốc độ cho robot được cung cấp qua chủ đề /cmd_vel, bao gồm các thành phần x, y, z Mỗi 10ms, chúng ta thu thập giá trị này thông qua động học robot để điều chỉnh tốc độ các động cơ, đảm bảo hướng di chuyển của robot phù hợp với yêu cầu đã đặt ra Sau đó, bộ điều khiển PID sẽ cung cấp thông số xung PWM thích hợp nhằm kiểm soát tốc độ và vị trí của robot một cách chính xác hơn.
Để tính toán vị trí chính xác của robot, dữ liệu IMU và giá trị encoder từ 4 động cơ sẽ được publish mỗi 10ms Khi khởi động thuật toán SLAM và điều hướng, cần phải reset tất cả giá trị IMU và encoder về 0 tại vị trí ban đầu của robot, nhằm đảm bảo độ chính xác trong việc so sánh vị trí thực tế với mô phỏng.
Thiết kế hệ thống điện
5.3.1 Sơ đồ khối của Robot
Sơ đồ 5.4: Sơ đồ khối của robot
Giải thích sơ đồ khối của robot:
Nguồn điện cho robot chủ yếu sử dụng hai loại điện áp là 12V và 5V; nguồn 5V được tạo ra bằng cách giảm áp từ nguồn 12V thông qua mạch LM2596 Theo sơ đồ, nguồn 12V cung cấp cho driver điều khiển động cơ BTS 7960, trong khi nguồn 5V được cấp cho CPU Raspberry Pi 4, MCU Arduino Mega 2560 và các thiết bị ngoại vi liên kết với MCU và CPU.
Arduino Mega 2560 được kết nối với đèn LED và IMU để thu thập thông tin gốc quay của robot theo đơn vị rad Driver động cơ BTS 7960 được sử dụng để điều khiển động cơ, trong khi encoder của động cơ giúp đọc giá trị xung encoder trả về.
Raspberry Pi 4 được kết nối với camera để theo dõi địa hình di chuyển và xác định vị trí thực tế của robot, cùng với RPLiDAR A18 để quét vật cản trong quá trình thực hiện thuật toán SLAM và Navigation.
Rosserial Arduino là giao thức kết nối giữa Raspberry Pi4 và Arduino Mega 2560, sử dụng cổng giao tiếp UART Giao thức này giúp CPU và MCU có khả năng nhận, truyền và hiểu dữ liệu lẫn nhau, đồng thời được biết đến như một giao thức TCP/IP.
Thông tin từ encoder động cơ và IMU sẽ được Arduino Mega 2560 gửi đến Raspberry Pi 4 để tính toán vị trí thực tế và mô phỏng của robot Khi điều khiển robot bằng tay hoặc thông qua thuật toán điều hướng, Raspberry Pi 4 sẽ truyền giá trị tốc độ về Arduino Mega 2560 để điều chỉnh chuyển động của robot.
5.3.2 Sơ đồ điện của Robot
Sơ đồ 5 5: Sơ đồ điện của robot
Giải thích sơ đồ điện của Robot
• Ắc quy I: Cấp nguồn 5V (thông qua mạch giảm áp LM7960) cho Raspberry pi4 kết nối với Arduino Mega 2560 và RPLiDAR A1, Camera, và nguồn 12V cho 2 Driver điều khiển động cơ
• Ắc quy II: Cấp nguồn 12V cho 2 Driver điều khiển động cơ, đèn led, và được đóng ngắt thông qua relay 5V
• Nút nguồn: Dùng để cho phép lựa chọn chế độ hoạt động cho Robot
• Nút chế độ: Có hiệu lực khi nút nguồn đã được bật:
Chế độ I kết nối ắc quy I với các thiết bị điện trong hệ thống, bao gồm Arduino Mega 2650 Arduino Mega 2650 cung cấp tín hiệu mức cao 5V để kích hoạt relay 5V, cho phép ắc quy II cung cấp nguồn cho các thiết bị điện còn lại của robot.
Khi lựa chọn chế độ II, ắc quy I sẽ bị ngắt kết nối với ắc quy II thông qua relay 5V, dẫn đến việc toàn bộ hệ thống robot sẽ tạm ngừng hoạt động Chế độ này cho phép kết nối đường sạc của cổng sạc với ắc quy, nhằm thực hiện việc nạp điện cho robot.
Nút emergency là công tắc 2NC, kết nối với hai nguồn cấp cho driver điều khiển động cơ Khi robot gặp sự cố và cần dừng khẩn cấp, người dùng chỉ cần nhấn nút này để ngừng hoạt động của robot ngay lập tức.
Khi 87 động cơ ngưng hoạt động, các thiết bị điều khiển khác của robot vẫn tiếp tục hoạt động để giảm thiểu thời gian khởi động và thiết lập lại robot.
5.3.3 Các linh kiện điện tử cho mô hình robot tự hành AMRs
Bảng 5.1: Các linh kiện/thiết bị điện tử sử dụng trong robot AMR
STT Linh kiện điện tử Công dụng
1 Arduino mega 2560 Truyền nhận, xử lý dữ liệu từ đó điều khiển các thiết bị
Mạch giảm áp DC LM2596
Biến đổi điện áp từ ắc quy 12V thành 5V dùng để cung cấp điện cho các thiết bị (Arduino, Raspberry, …)
3 La bàn IMU Xác định góc quay robot
Encoder Đọc tín hiệu xung, tính toán vị trí, khoảng cách di chuyển của robot
4 Mạch điều khiển động cơ BTS7690 Điều khiển và bảo vệ động cơ
5 Raspberry 4 model B Bộ điều khiển trung tâm
6 Ắc quy Nguồn hoạt động
7 Module Relay 4 cổng Điều khiển bật/ tắt nguồn các thiết bị điện
8 Công tắc Điều khiển bật/tắt nguồn
9 Joystick Điều khiển cho robot di chuyển
10 Màn hình Waveshare 7 inch Hiển thị đường đi phía trước của robot
Arduino Mega 2560 R3 là một board vi điều khiển ATmega2560 với 54 chân I/O, trong đó có 14 chân PWM và 16 chân analog đầu vào Board này hỗ trợ 4 UARTs (cổng tuần tự phần cứng), sử dụng thạch anh 16 MHz, và có kết nối cổng USB, jack cắm điện, chân ICSP, cùng với nút reset Tất cả các tính năng này giúp hỗ trợ hiệu quả cho vi điều khiển.
Arduino Mega 2560 R3 là bo mạch vi điều khiển ATmega2560 với 54 chân đầu vào/đầu ra digital, trong đó 15 chân hỗ trợ đầu ra PWM và 16 chân analog Nó có 4 cổng giao tiếp UART, bộ tạo dao động tinh thể 16 MHz, cổng USB, jack cắm nguồn, chân ICSP và 1 nút reset Bo mạch này cung cấp mọi thứ cần thiết để hỗ trợ vi điều khiển, chỉ cần kết nối với máy tính qua cáp USB hoặc cấp nguồn bằng bộ chuyển đổi AC sang DC hoặc pin Mega 2560 tương thích với hầu hết các chương trình cho Uno và các bảng cũ như Duemilanove hoặc Diecimila.
Bo Arduino Mega2560 R3, với chip chuyển đổi tín hiệu Atmega16U2, là phiên bản nâng cấp của Arduino Uno3 Nó cung cấp nhiều chân giao tiếp hơn cho các thiết bị ngoại vi, bộ nhớ lớn hơn và nhiều tính năng tích hợp khác.
Bảng 5.2: Thông số kỹ thuật Arduino mega 2560 Điện áp hoạt động 5V Điện áp đầu vào (tiêu chuẩn) 7-12V Điện áp đầu vào (giới hạn) 6-20V
Số lượng chân Digital I/O 54 (trong đó có 15 PWM)
Dòng điện mỗi chân Analog I/O 20mA
Dòng điện chân nguồn 3.3V 50mV
Bộ nhớ Flash 256KB trong đó 8KB sử dụng bộ nạp khởi động
Tốc độ đồng hồ 16 MHz
5.3.3.2 Mạch giảm áp DC LM 2596: Điện áp để raspberry và Arduino mega có thể hoạt động là 5V, nguồn để nuôi các thiết bị điện có điện áp là 12V do đó cần mạch hạ áp để hiệu chỉnh nguồn 12V thành 5V cung cấp cho các thiết bị điện, nhóm quyết định lựa chọn mạch giảm áp DC LM2596
Hình 5.14: Mạch giảm áp DC LM2596
Mạch giảm áp DC LM2596 là thiết bị giúp điều chỉnh điện áp, được trang bị đồng hồ hiển thị điện áp đầu vào và đầu ra với độ sai số chỉ 0.1V Ngoài ra, mạch còn có nút tích hợp cho phép chuyển đổi giữa hiển thị điện áp đầu vào và đầu ra một cách dễ dàng.
Bảng 5.3: Thông số kỹ thuật mạch giảm áp DC LM2596
Hiệu suất chuyển đổi 92%(cao nhất)
Tần số 150Khz Điện áp đầu vào 4-30V Điện áp đầu ra Có thể điều chỉnh được tỏng khoảng 1.5-
Dòng ngõ ra tối đa 3V
Tải quy định ± 0.5% Điện áp điều chỉnh ± 0.5%
Hình 5.15: Sơ đồ kết nối Mạch giảm áp DC LM2596 có hiển thị
5.3.3.3 Mạch điều khiển động cơ DC BTS 7690 43A:
Hình 5.16: Mạch điều khiển động cơ DC BTS7690 43A
BTS7960 là mô đun cầu H tích hợp đầy đủ cho dòng điện cao, với IC điều khiển tích hợp cung cấp đầu vào mức logic và chẩn đoán cảm biến dòng điện Mô đun này cho phép thay đổi tốc độ quay, tạo thời gian chết và bảo vệ chống quá nhiệt, quá điện áp, sụt giảm áp, quá dòng và ngắn mạch, giúp kết nối với vi điều khiển dễ dàng BTS7960 là giải pháp tiết kiệm chi phí và chiếm ít không gian cho trình điều khiển động cơ PWM dòng điện cao được bảo vệ.
Bảng 5.4: Mạch điều khiển động cơ DC BTS7960 43A Điện áp đầu vào 6-27V
Tín hiệu logic điều khiển 3.3-5V
Tần số điều khiển tối đa 25Khz
Dưới áp Ngắt nguồn vào
Quá nhiệt Ngắt nguồn ra
Thuật toán SLAM và Navigation
5.4.1.1 Xây dựng map trong ROS
Robot không thể hoạt động hiệu quả trong môi trường không quen thuộc Do đó, việc xây dựng bản đồ 2D hoặc 3D được mã hóa là cần thiết, giúp robot hiểu và tương tác với thông tin trong môi trường cụ thể.
Thuật toán Slam được dùng bằng một số phương pháp để giúp chúng ta có thể lập được bản đồ theo từng yêu cầu một cách thuận tiện:
• A particle filter-based mapping: là một công cụ hỗ trợ lập bản đồ của Ros OpenSlam’s Gmapping
Cartographer là hệ thống do Google phát triển, hỗ trợ công nghệ SLAM, cho phép lập bản đồ 2D và 3D trên nhiều bề mặt phẳng khác nhau Hệ thống này tích hợp đa dạng loại cảm biến, mang lại khả năng lập bản đồ chính xác và hiệu quả.
Hector_slam cho phép lập bản đồ mà không cần Odomdetry Để xây dựng bản đồ bằng ROS, công cụ Gmapping thường được sử dụng với phương pháp lọc hạt (particle filter) để tạo ra bản đồ lưới chiếm dụng (Occupancy grid map).
Gmapping là một gói phần mềm cung cấp thuật toán SLAM dựa trên cảm biến laser dưới dạng ROS NODE, được gọi là Slam_gmapping Thuật toán này cho phép chúng ta tạo ra bản đồ 2D, hay còn gọi là occupancy grid map, từ dữ liệu laser thu thập được khi robot di chuyển, giúp xác định vị trí và môi trường xung quanh.
Bản đồ lưới chiếm dụng (occupancy grid map) là một tập hợp các thuật toán máy tính giúp robot tính toán xác suất để giải quyết vấn đề tạo bản đồ từ dữ liệu cảm biến có nhiễu và không chắc chắn Bản đồ này biểu thị môi trường hoạt động của robot dưới dạng các biến ngẫu nhiên nhị phân, trong đó mỗi ô lưới đại diện cho sự hiện diện của chướng ngại vật tại vị trí cụ thể Các thuật toán lưới chiếm dụng sẽ ước lượng vị trí gần đúng cho các ô ngẫu nhiên, hỗ trợ robot trong việc điều hướng hiệu quả hơn.
Hình 5.25: Bản đồ dạng lưới biểu thị vật cản được mã hóa thông qua dữ liệu cảm biến Laser
Giá trị occupancy của ô thứ nhất trong occupancy grid-map tại thời điểm t được biểu diễn bởi xác xuất p
▪ 𝑧1:𝑡 : đặt phép đo tại điểm thời gian từ 1 đến t
Tại thời điểm t, vị trí của robot được xác định bởi biến 𝑥1:𝑡, trong đó giá trị p nằm trong khoảng từ 0 đến 1 Cụ thể, p = 1 cho biết ô đó đã bị lấp kín, p = 0 biểu thị ô đó hoàn toàn trống, và p = 0.5 thể hiện tình trạng không xác định hoặc khu vực chưa được khám phá.
Để triển khai thuật toán SLAM bằng công cụ Gmapping, robot cần có một số phần cứng thiết yếu và phải xem xét các yếu tố ngoại vi ảnh hưởng đến hoạt động của robot.
Để đảm bảo robot di chuyển đúng theo yêu cầu, cần xác định các tham số như vận tốc thẳng theo trục x, y và vận tốc gốc z Điều này áp dụng cho nhiều loại robot khác nhau, trong khi robot hoạt động trong môi trường mặt phẳng x, y.
Odometry là quá trình xử lý thông tin từ IMU, bao gồm gốc tốc độ và số vòng quay của encoder, kết hợp với động học của robot để xác định tư thế, hướng, khoảng cách di chuyển và vị trí của robot trên bản đồ hoạt động.
Hình 5.26: Sơ đồ xử lý dữ liệu từ các cảm biến IMU và Encoder thông qua Odometer đưa ra vị trí của robot
Cảm biến Laser, như LiDAR, LDS và LRF, là thiết bị cần thiết cho việc áp dụng thuật toán SLAM và Navigation Chúng giúp phát hiện và đo khoảng cách từ robot đến các vật cản trên mặt phẳng XY Đặc biệt, vị trí gắn cảm biến và phạm vi quét phải được điều chỉnh phù hợp với môi trường hoạt động cũng như hình dáng của robot.
Hình dạng của robot cần phải tương thích với môi trường làm việc để không gây cản trở cho khả năng hoạt động của nó, tránh việc quá lớn hoặc quá nhỏ Đặc biệt, khi thực hiện thuật toán SLAM, cần chú ý đến cấu trúc của robot; việc thay đổi khoảng cách giữa LiDAR và mặt đất hoặc làm khuất tầm quét của cảm biến có thể ảnh hưởng tiêu cực đến hiệu quả của thuật toán này.
• Qui trình hoạt động thuật toán Slam của STA robot
Sơ đồ 5.6: Sơ đồ khối quy trình hoạt động thuật toán Slam của STA robot
Navigation là thuật toán cho phép robot tự di chuyển từ vị trí ban đầu đến vị trí mục tiêu mà không gặp phải va chạm hay tác động vật lý với chướng ngại vật.
Hình 5.27: Mô phỏng thuật toán Navigation cho robot di chuyển
Để thực hiện thuật toán Navigation cho robot tự động điều hướng, robot cần có các quy trình xử lý và các thành phần thiết yếu.
Sơ đồ 5.7: Sơ đồ các thành phần trong quy trình xử lý của thuật toán Navigation
Sơ đồ 5.8: Các thành phần trong Navigation Stack
Ngoài các thành phần bắt buộc của ROS, việc chú ý đến các thành phần của Navigation stack là rất quan trọng Sự kết hợp của tất cả các thành phần này sẽ cung cấp khả năng điều hướng hiệu quả cho robot.
AMCL (Adaptive Monte Carlo Localization) nâng cao hiệu suất thời gian thực bằng cách giảm thời gian thực hiện với số lượng mẫu ít hơn trong thuật toán ước tính hướng MCL (Monte Carlo) Mục tiêu của MCL là xác định vị trí của robot trong một môi trường cụ thể, do đó cần lấy các thông số x, y và θ của robot trên bản đồ.
Hình 5.28: Cách thức tính toán của AMCL
Move_base là package chịu trách nhiệm đưa robot di chuyển đến điểm chỉ định trong bản đồ gồm 5 thành phần sau:
KẾT QUẢ THỰC NGHIỆM - ĐÁNH GIÁ
Kết quả thực nghiệm
Hình 6.2: Robot AMR (SAT), góc nhìn từ sau lên trước
Hình 6.3: Robot AMR (STA) góc nhìn bên phải(1), bên trái(2)
Sau khi sử dụng Joystick để điều khiển Robot di chuyển trên bản đồ, chúng tôi đã thu được bản đồ 2D thông qua công nghệ LiDAR Bản đồ 2D này không chỉ trực quan mà còn có độ chính xác cao so với môi trường thực tế.
Hình 6.4: Không gian hoạt động của robot ngoài thực tế
Hình 6.5: Quá trình Slam (giai đoạn 1)
Hình 6.6: Quá trình Slam (giai đoạn 2)
Hình 6.7: Quá trình Slam (giai đoạn hoàn thành)
+ Giai đoạn 1: Robot bắt đầu di chuyển, các vật thể trong bản đồ đang trong quá trình hình thành, một số điểm vẫn chưa được xác định
Trong giai đoạn 2, robot di chuyển đến các vị trí mới trên bản đồ và liên tục cập nhật thông tin cho bản đồ 2D Sau khi hoàn tất quá trình di chuyển và quét bản đồ, dữ liệu được cập nhật liên tục, dẫn đến việc tạo ra bản đồ 2D hoàn chỉnh.
Hình 6.8: Bản đồ trong môi trường mô phỏng
Sau khi nhận được bản đồ 2D từ công nghệ SLAM, chúng ta tiến hành điều khiển robot di chuyển đến vị trí mong muốn trên bản đồ Việc này được thực hiện thông qua các thao tác trực tiếp trên phần mềm mô phỏng.
Xác định vị trí đầu của robot là bước quan trọng để đảm bảo sự tương thích giữa mô phỏng và môi trường thực tế Cần thực hiện việc chọn điểm và hướng cho robot trên bản đồ 2D để tối ưu hóa khả năng di chuyển và hoạt động của nó.
Hình 6.9: Chọn điểm và hướng di chuyển cho vị trí robot trên bản đồ
Thông qua các thuận toán điều khiển, phân tích và xử lý tín hiệu, dự đoán và đưa ra đường di chuyển phù hợp và nhanh nhất cho robot
Hình 6.10: Dự đoán và đưa ra đường di chuyển cho robot
Khi gặp vật cản, robot sử dụng các thuật toán điều khiển để tìm kiếm lộ trình thay thế nhằm né tránh Khoảng cách an toàn giữa robot và vật cản được duy trì trong khoảng 10-20mm, tùy thuộc vào loại bản đồ và yêu cầu điều khiển cụ thể.
Hình 6.11: Robot di chuyển gặp vật cản
Robot có thể di chuyển linh hoạt và tránh vật cản nhờ vào việc sử dụng đường đi thay thế, giúp nó dễ dàng đến vị trí mong muốn trên bản đồ.
Hình 6.12: Robot sử dụng đường đi thay thế né vật cản đến vị trí đặt mong muốn ban đầu
Trường hợp chọn vị trí di chuyển khác của robot đưa ra đường đi thay thế né vật cản:
Hình 6.13: Đường đi của robot dựa vào dự đoán đưa ra bởi các thuật toán trên vị trí đặt di chuyển ban đầu.
Hình 6.14: Trước và sau khi robot né vật cản đáp ứng vị trí đặt mong muốn
Bảng 6.1: Thời gian tính toán và khoảng cách di chuyển
Lần Kiểm Tra (n) Thuật Toán Khoảng cách Thời gian thức tế
Bảng 6.2: Yêu cầu đặt ra cho robot
STT Yêu cầu của robot Mức độ quan trọng
1 Khả năng di chuyển tự động điếm điểm mục tiêu chính xác
2 Bản đồ được quét có độ chính xác so với thực tế
3 Khả năng chịu tải, tốc độ yêu cầu 15%
4 Thời gian robot có thể hoạt động 10%
5 Mức động ồn trong mức cho phép khi hoạt động
6 Chi phí chế tạo hợp lí 5%
Bảng 6.3: Chỉ định giá trị cận biên và lý tưởng cho từng thông số kỹ thuật
STT Thông số kỹ thuật Đơn
1 Thời gian hoạt động Phút 3h 1 99
2 Góc quay(tín hiệu IMU) Độ 360 1.94 98.06
3 Mức độ ồn Db < 80db 8.4 91.6
4 Công suất hoạt động Watt 30W 26 74
5 Mức độ chính xác của bản đồ quét được so với thực tế % 99% 3 97
6 Phạm vi quét tối đa của
9 Khoản cách lệnh chính xác cho phép cm ± 3cm 2 98
10 Góc quay lệch chính xác cho phép mm 5 0 1.946 98.054
11 Khoảng cách an toàn nhỏ nhất Cm 5cm 0 100
12 Chi phí chế tạo robot Vnđ 10.000.000đ 23.08 76.92
Bảng 6.4: Phương pháp thử nghiệm
STT Thông Số Đơn vị Số lần
3 Lượng điện tiêu thụ Watt 5 X
6 Chi phí chế tạo robot Vnđ 1 X
7 Khối tải lớn nhất Kg 5
Khoản cách an toàn của robot và vật cản cm 5 X
Mức độ chính xác của bản đồ quét được so với thực tế
Thông số Số lần thử(n) Giá trị đo lý tưởng Sai số
Giá trị đo thực tế
Mức độ chính xác của bản đồ quét được so với thực tế
Chi phí chế tạo robot 1 10.000.000đ 23,07% 13.000.000đ
Bảng 6.5: Tốc độ của robot khi có tải
Lần thử (n) Khối lượng tải (Kg)
Giá trị đo thực tế
Kết quả giá trị tốc độ (m/s)
Dựa trên bảng số liệu thu thập từ 5 lần đo, chúng tôi đã xây dựng biểu đồ thể hiện mối quan hệ giữa khối lượng và tốc độ khi giảm tải từ 1kg đến 9kg, với khoảng cách đo là 4m.
Hình 6.15: Biểu đồ thể hiện mối tương quan giữa trải trọng và tốc độ
Nhận xét từ biểu đồ cho thấy, khi khối lượng vật được đặt lên robot tăng từ 1kg đến mức tối đa, tốc độ di chuyển của robot giảm từ 0.25m/s xuống 0.19m/s Điều này chứng tỏ rằng tốc độ của robot tỉ lệ nghịch với tải trọng: càng nặng, tốc độ càng chậm Robot chỉ có thể hoạt động hiệu quả trong một khoảng thời gian nhất định khi di chuyển với các tải trọng khác nhau.
Khi tải trọng đạt đến mức 127, việc vượt quá giới hạn tải trọng có thể dẫn đến sự mất ổn định về tốc độ và không đáp ứng được yêu cầu điều khiển.
Bảng 6.6: Tốc độ nhanh nhất của robot khi không có tải
Giá trị đo thực tế Kết quả giá trị tốc độ (m/s)
Dựa trên dữ liệu thu thập từ 5 lần đo, chúng tôi đã tiến hành đo tốc độ di chuyển của robot ở khoảng cách 4m với các khoảng thời gian khác nhau Kết quả cho thấy tốc độ lớn nhất của robot đạt được khi không chịu tải trọng, và chúng tôi đã lập biểu đồ để thể hiện rõ ràng thông tin này.
Hình 6.16: Biểu đồ thể hiện tốc độ lớn nhất khi không có tải trọng
Dựa vào biểu đồ, lần đo thứ ba ghi nhận tốc độ cao nhất của robot là 0.274 m/s, trong khi lần đo thứ tư cho thấy giá trị tốc độ thấp nhất.
5 lần đo là 0.258m/s, nhìn chung qua các lần đo ta thấy được tốc độ dao động liên tục, có lúc
128 tăng có lúc giảm nhưng dao động tốc độ quanh giá trị 0.266m/s và có tốc độ tương đối so với tốc độ lý tưởng là 0.4m/s
Bảng 6.7: Tốc độ nhỏ nhất của robot khi không có tải
Giá trị đo thực tế Kết quả giá trị tốc độ (m/s)
Dựa trên bảng số liệu thu thập từ 5 lần đo, chúng tôi tiến hành đo tốc độ di chuyển của robot ở khoảng cách 4m với các thời gian khác nhau Kết quả cho thấy biểu đồ thể hiện tốc độ nhỏ nhất của robot khi không chịu tải trọng.
Hình 6.17: Biểu đồ thể hiện tốc độ nhỏ nhất khi không có tải trọng
Nhận xét: Dựa vào biểu đồ ta có thể thấy ở lần đo số 3 ta ghi nhận được giá trị cao nhất trong
Trong quá trình đo tốc độ, chúng tôi ghi nhận 5 lần đo với giá trị trung bình là 0.183 m/s Lần đo thứ hai cho thấy giá trị tốc độ thấp nhất là 0.169 m/s Nhìn chung, tốc độ dao động liên tục, có lúc tăng và có lúc giảm, nhưng chủ yếu quanh giá trị 0.177 m/s, so với tốc độ lý tưởng là 0.2 m/s.
Bảng 6.8: Mức độ ồn của robot khi hoạt động trong môi trường phòng thí nghiệm
Mức độ ồn lý tưởng Sai số Lần thử (n) Giá trị đo thực tế (db)
Dựa trên bảng số liệu thu thập từ 5 lần đo, chúng tôi đã tiến hành đo mức độ ồn phát ra khi robot di chuyển trên bề mặt cao su Kết quả được thể hiện qua biểu đồ mức độ ồn của robot trong môi trường phòng thí nghiệm.
Hình 6.18: Biểu đồ thể hiện mức độ ồn đo được của robot trong môi trường phòng thí nghiệm(mặt sàn cao su)
Nhận xét: Dựa vào biểu đồ ta có thể thấy ở lần đo số 4 ta ghi nhận được giá trị cao nhất trong
Trong 5 lần đo, tổng giá trị ghi nhận là 75.4db, với lần đo đầu tiên cho giá trị tốc độ thấp nhất là 71.5db Qua các lần đo, độ ồn dao động liên tục, có lúc tăng và lúc giảm, nhưng trung bình quanh giá trị 73.28db Kết luận cho thấy robot hoạt động với độ ồn cho phép và nhỏ hơn mức lý tưởng (