1. Trang chủ
  2. » Luận Văn - Báo Cáo

Đồ án tốt nghiệp nghiên cứu, thiết kế và chế tạo xe agv ứng dụng xử lí ảnh

103 7 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Nghiên Cứu, Thiết Kế Và Chế Tạo Xe Agv Ứng Dụng Xử Lí Ảnh
Tác giả Bùi Chí Kiên, Bùi Gia Bảo, Trịnh Tuấn Vũ
Người hướng dẫn ThS. Lê Thanh Tùng
Trường học Trường Đại Học Sư Phạm Kỹ Thuật Thành Phố Hồ Chí Minh
Chuyên ngành Cơ Điện Tử
Thể loại Đồ Án Tốt Nghiệp
Năm xuất bản 2019-2023
Thành phố TP. Hồ Chí Minh
Định dạng
Số trang 103
Dung lượng 3,04 MB

Cấu trúc

  • CHƯƠNG 1: GIỚI THIỆU (14)
    • 1.1. Tính cấp thiết của đề tài (14)
    • 1.2. Ý nghĩa khoa học và thực tiễn của đề tài (14)
    • 1.3. Mục tiêu nghiên cứu của đề tài (15)
    • 1.4. Đối tượng và phạm vi nghiên cứu (15)
      • 1.4.1. Đối tượng nghiên cứu (15)
      • 1.4.2. Phạm vi nghiên cứu (15)
    • 1.5. Phương pháp nghiên cứu (16)
      • 1.5.1. Cơ sở phương pháp luận (16)
      • 1.5.2. Các phương pháp nghiên cứu cụ thể (16)
    • 1.6. Kết cấu của ĐATN (16)
  • CHƯƠNG 2: TỔNG QUAN NGHIÊN CỨU ĐỀ TÀI (18)
    • 2.1. Giới thiệu (18)
      • 2.1.1. Xu thế phát triển robot hiện nay (18)
      • 2.1.2. Giới thiệu về robot dịch vụ (18)
      • 2.1.3. Xe đẩy siêu thị thông minh (21)
    • 2.2. Các nghiên cứu liên quan đến đề tài (21)
      • 2.2.1. Các nghiên cứu ngoài nước (21)
      • 2.2.2. Các nghiên cứu trong nước (23)
  • CHƯƠNG 3: CƠ SỞ LÝ THUYẾT (24)
    • 3.1. Các cơ cấu hoạt động phổ biến trong robot AGV (24)
    • 3.2. Xử lí dữ liệu – Xử lí ảnh (2D, 3D) (25)
      • 3.2.1. Giới thiệu về thị giác máy, ảnh 2D (25)
      • 3.2.2. Thuật toán nhận diện đối tượng – bài toán Object detection (26)
      • 3.2.3. Model SSD (Single Shot Detector) trong Object Detection (28)
    • 3.3. Thị giác máy 3D (32)
      • 3.3.1. Camera số (32)
      • 3.3.2. Ảnh 3D (33)
    • 3.4. Bộ điều khiển PID (34)
    • 3.5. ROS (Robot Operation System) (35)
      • 3.5.1. ROS là gì (35)
      • 3.5.2. Lợi ích của ros cho robot (36)
      • 3.5.3. Các khái niệm cơ bản trong ROS (36)
  • CHƯƠNG 4: CÁC GIẢI PHÁP THỰC HIỆN ĐỀ TÀI VÀ TÍNH TOÁN THIẾT KẾ HỆ THỐNG CƠ KHÍ (38)
    • 4.1. Thông số thiết kế (38)
    • 4.2. Phương hướng và giải pháp thực hiện (39)
      • 4.2.1. Phương án 1 (39)
      • 4.2.2. Phương án 2 (40)
    • 4.3. Lựa chọn phương án (41)
    • 4.4. Trình tự công việc tiến hành (42)
    • 4.5. Tính toán lựa chọn động cơ (43)
    • 4.6. Tính toán thiết kế bộ truyền đai (46)
    • 4.7. Thiết kế hình dạng robot (50)
      • 4.7.1. Thiết kế mặt đế, nắp đế, đế kê giỏ hàng và tấm đặt thiết bị cho robot (50)
      • 4.7.2. Thiết kế khung robot (52)
      • 4.7.3. Lựa chọn bánh xe cho robot (52)
      • 4.7.4. Lựa chọn vật liệu cho trục bánh xe (54)
      • 4.7.5. Thiết kế 3D hệ thống cơ khí (54)
    • 4.8. Tính toán ứng suất, đường kính và dung sai cho trục bánh xe (55)
      • 4.8.1. Tính toán ứng suất (55)
      • 4.8.2. Tính toán dung sai cho trục bánh xe và ổ lăn (58)
    • 4.9. Tính toán động học (58)
    • 5.1. Xây dựng hệ thống điện điều khiển (63)
      • 5.1.1. Sơ đồ khối hệ thống điều khiển (63)
      • 5.1.2. Khối Nguồn (64)
      • 5.1.3. Khối cảm biến (camera Kinect v2) (66)
      • 5.1.4. Khối điều khiển (67)
      • 5.1.5. Cơ cấu chấp hành (Động cơ DC Servo) (70)
      • 5.1.6. Khối xử lý dữ liệu chính (73)
    • 5.2. Thiết lập bộ điều khiển PI cho động cơ (75)
  • CHƯƠNG 6: XÂY DỰNG THUẬT TOÁN XỬ LÝ ẢNH (81)
    • 6.1. Nhiệm vụ thuật toán (81)
    • 6.2. Thuật toán phát hiện người (82)
    • 6.3. Thiết lập node xử lý nhận diện người (82)
      • 6.3.1. Xử lý dữ liệu từ camera và tìm distance giữa người và robot (84)
      • 6.3.2. Xử lý dữ liệu để nhận dạng người và phân loại (86)
      • 6.3.3. Dùng dữ liệu đã được xác định để tìm alpha giữa robot và người (88)
    • 6.4. Thiết lập node “data_processing” (89)
    • 6.5. Giải thuật dẫn hướng cho robot (89)
  • CHƯƠNG 7: THỰC NGHIỆM VÀ ĐÁNH GIÁ (92)
    • 7.1. Kết quả gia công cơ khí (92)
    • 7.2. Kết quả thực nghiệm bộ điều khiển PI điều khiển tốc độ động cơ (94)
    • 7.3. Kết quả việc thực nghiệm xử lý ảnh (95)

Nội dung

GIỚI THIỆU

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

Xe AGV (Automated Guided Vehicle) đang ngày càng phát triển và được ứng dụng rộng rãi trong nhiều lĩnh vực, đặc biệt là trong siêu thị với các xe AGV bám theo người Sự gia tăng dân số lớn tuổi, đặc biệt ở các nền kinh tế phát triển, đã tạo ra nhu cầu cấp thiết về hỗ trợ cho người cao tuổi trong các hoạt động hàng ngày, bao gồm mua sắm Xe chở hàng đi theo người trong siêu thị là giải pháp hiệu quả, giúp đáp ứng nhu cầu di chuyển hàng hóa cho người lớn tuổi và những người gặp khó khăn trong việc vận chuyển hàng hóa.

Người lớn tuổi thường gặp khó khăn trong việc di chuyển và mang hàng hóa khi mua sắm Xe chở hàng đi theo người giúp giảm bớt gánh nặng vật lý và mệt mỏi, từ đó tạo điều kiện thuận lợi hơn cho họ trong quá trình mua sắm.

Tiềm năng thị trường cho xe chở hàng đi theo người đang gia tăng do số lượng người lớn tuổi ngày càng tăng Nghiên cứu và phát triển sản phẩm này sẽ đáp ứng nhu cầu của nhóm khách hàng này, mở ra cơ hội lớn cho các siêu thị và doanh nghiệp bán lẻ Việc tận dụng cơ hội này không chỉ giúp thu hút mà còn duy trì sự trung thành của khách hàng lớn tuổi.

Đề tài này rất cần thiết và đáng chú ý vì nó không chỉ giải quyết hiệu quả vấn đề vận chuyển hàng hóa cho người lớn tuổi và khách hàng nói chung, mà còn mang lại trải nghiệm mới mẻ và thú vị, điều này rất quan trọng trong xã hội hiện đại.

Ý nghĩa khoa học và thực tiễn của đề tài

Nghiên cứu này yêu cầu một cách tiếp cận đa ngành, bao gồm cơ khí, điện tử, lập trình và xử lý ảnh, nhằm thúc đẩy sự đổi mới trong thiết kế và chế tạo xe chở hàng đi theo người Mục tiêu là đáp ứng nhu cầu đặc biệt của người lớn tuổi và trải nghiệm của mọi người Để đưa ra giải pháp tối ưu cho việc vận chuyển hàng hóa, cần hiểu rõ yêu cầu và hạn chế của người lớn tuổi trong việc mua sắm Điều này đòi hỏi phân tích sâu về tư duy thiết kế, tính toán trọng lượng, cân bằng và an toàn, đảm bảo sự thuận tiện và an toàn cho người sử dụng.

Đề tài này mang lại giá trị thực tiễn bằng cách đáp ứng nhu cầu của người lớn tuổi, đồng thời tạo ra trải nghiệm mới lạ cho khách hàng trong việc mua sắm Xe chở hàng đi theo người giúp giảm bớt khó khăn và trở ngại cho người lớn tuổi, tăng cường sự độc lập và tự chủ cho họ, đồng thời đem lại nhiều trải nghiệm thú vị cho mọi người.

Xe chở hàng đi theo người mang lại sự tiện lợi và linh hoạt, giúp tăng doanh số bán hàng và góp phần vào lợi ích kinh tế của doanh nghiệp.

Sản phẩm và công nghệ phát triển từ đề tài này có thể được ứng dụng rộng rãi trong các siêu thị và khu mua sắm, với điều kiện ánh sáng tốt, nhằm tạo ra môi trường thuận lợi cho việc mua sắm Điều này không chỉ nâng cao trải nghiệm của khách hàng mà còn đặc biệt hữu ích cho người lớn tuổi.

Mục tiêu nghiên cứu của đề tài

Nghiên cứu nhu cầu và yêu cầu đặc biệt của những người gặp khó khăn trong việc di chuyển hàng hóa tại siêu thị là rất quan trọng Điều này không chỉ giúp cải thiện trải nghiệm mua sắm cho họ mà còn đáp ứng nhu cầu về sự tiện lợi của tất cả người tiêu dùng.

Xây dựng hệ thống cơ khí và hệ thống điện điều khiển cho robot, cùng với việc xử lý dữ liệu từ camera, giúp robot nhận diện con người Giải pháp này mang lại sự thông minh, an toàn và tiện lợi cho việc vận chuyển hàng hóa trong siêu thị.

Thực nghiệm và đưa ra kết quả, định hướng phát triển cho đề tài.

Đối tượng và phạm vi nghiên cứu

1.4.1 Đối tượng nghiên cứu Đối tượng nghiên cứu của đề tài là nhóm người có nhu cầu mua sắm, đặc biệt là những người lớn tuổi và hạn chế trong khả năng vận chuyển khi mua sắm trong siêu thị Nhóm tập trung vào việc hiểu và đáp ứng tốt nhất các nhu cầu của đối tượng này để phát triển robot tự động di chuyển trong siêu thị, giúp họ trải nghiệm mua sắm một cách thuận tiện và dễ dàng hơn

Nhóm nghiên cứu đang phát triển một hệ thống xe chở hàng linh hoạt, hoạt động hiệu quả trên nền gạch phẳng và trong môi trường có ánh sáng tốt Robot được thiết kế để theo dõi người mặc áo chuyên dụng của nhóm, có khả năng vận chuyển hàng hóa trong các siêu thị lớn.

Nhóm nghiên cứu tập trung vào việc phát hiện các vật cản và phát ra cảnh báo hoặc dừng lại để tránh va chạm Robot không có khả năng tự động né tránh vật cản.

Không tích hợp tính năng quay về vị trí cũ và sạc pin tự động Nhóm tập trung vào các tính năng cơ bản

Nghiên cứu và thử nghiệm sẽ tập trung vào việc tạo ra môi trường mô phỏng giống như một phần của siêu thị, với các điều kiện và địa hình đơn giản nhằm đảm bảo tính thực tế và khả thi cho dự án.

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

1.5.1 Cơ sở phương pháp luận

- Thiết kế và mô phỏng

- Thử nghiệm và đánh giá

1.5.2 Các phương pháp nghiên cứu cụ thể

Nghiên cứu và phân tích tài liệu liên quan, bao gồm các nghiên cứu trước đây, sách, bài báo, báo cáo và thông tin trực tuyến, giúp hiểu rõ hơn về lĩnh vực nghiên cứu, các vấn đề liên quan và các giải pháp đã được đề xuất.

Tiến hành khảo sát để thu thập dữ liệu về các tiêu chuẩn kỹ thuật và yêu cầu của người lớn tuổi trong việc mua sắm và vận chuyển hàng hóa.

Sử dụng công cụ thiết kế và mô phỏng để phát triển mô hình ảo cho các giải pháp xe chở hàng theo người Các phần mềm thiết kế 2D và 3D đóng vai trò quan trọng trong việc tính toán và mô phỏng các thiết kế này.

Tiến hành thử nghiệm thực tế hoặc mô phỏng các giải pháp đã thiết kế, sau đó đánh giá hiệu quả, tính khả thi và sự thích hợp của chúng dựa trên các tiêu chí đã được xác định trước.

Kết cấu của ĐATN

Nội dung nghiên cứu ĐATN của nhóm bao gồm 7 chương, trong đó:

- Chương 2: Tổng quan nghiên cứu đề tài

- Chương 3: Cơ sở lý thuyết

- Chương 4: Phương hướng các giải pháp thực hiện đề tài và tính toán thiết kế hệ thống cơ khí

- Chương 5: Tính toán thiết kế hệ thống điện và bộ điều khiển PI cho động cơ

- Chương 6: Xây dựng thuật toán xử lí ảnh

- Chương 7: Thực nghiệm và đánh giá

TỔNG QUAN NGHIÊN CỨU ĐỀ TÀI

Giới thiệu

2.1.1 Xu thế phát triển robot hiện nay

Xu hướng phát triển robot hiện nay đang tập trung vào sự đa dạng hóa và tiến bộ, với các robot ngày càng thông minh hơn và có khả năng học hỏi, tương tác tự nhiên với con người Việc tích hợp trí tuệ nhân tạo giúp robot nhận biết, phân tích thông tin và ra quyết định hiệu quả Đồng thời, robot cũng được thiết kế để làm việc cùng con người, tạo ra sự hợp tác và tương tác an toàn trong môi trường làm việc.

Robot ngày càng trở nên gần gũi với con người, không chỉ trong sản xuất mà còn trong các dịch vụ như robot hút bụi, phục vụ nhà hàng và khách sạn, cũng như tư vấn tại bệnh viện Sự hiện diện của chúng tạo ra môi trường sống và làm việc tiện nghi, hiệu quả, mang lại trải nghiệm mới cho con người Với khả năng di chuyển linh hoạt và tương tác xã hội, robot đã trở thành phần không thể thiếu trong cuộc sống hiện đại, mở ra nhiều triển vọng cho tương lai.

Các loại robot đang là xu thế phát triển hiện nay:

 Trí tuệ nhân tạo (Artificial Intelligence - AI)

 Robot hợp tác với con người (Human-Robot Collaboration)

 Robot dịch vụ (Service Robotics)

 Robot di động và đa năng (Mobile and Versatile Robots)

 Robot trong công nghiệp (Industrial Robotics)

2.1.2 Giới thiệu về robot dịch vụ

Sự gia tăng của robot dịch vụ đang tạo ra nhiều cơ hội ứng dụng trong các lĩnh vực như y tế, giáo dục, du lịch và khách sạn Những robot này có khả năng đáp ứng nhu cầu của con người thông qua các tác vụ hỗ trợ, chăm sóc, giao tiếp, hướng dẫn, vận chuyển và phục vụ, từ đó mang lại sự tiện lợi và nâng cao trải nghiệm người dùng.

Hình 2.1 WiiGo Retail – Robot dịch vụ trong siêu thị của công ty Follow

wiiGo là một giỏ hàng tự điều khiển được thiết kế bởi Follow Inspiration, một công ty khởi nghiệp Bồ Đào Nha thành lập năm 2012, nhằm hỗ trợ khách hàng có khả năng di chuyển hạn chế trong việc mua sắm tại siêu thị Vào cuối năm 2016, wiiGo đã được giới thiệu lần đầu tại Pháp, hợp tác với chuỗi siêu thị Les Mousquetaires, bao gồm các cửa hàng Intermarket và Bricomarket ở Auxonnes gần Dijon, cũng như tại các siêu thị lớn Auchan.

Hình 2.2 Hình ảnh minh họa Robot phục vụ thức ăn mèo Bella [19]

Robot mèo BellaBot không phải là sản phẩm duy nhất của PuduTech Năm ngoái, các kỹ sư Trung Quốc đã phát triển robot phục vụ PuduBot, với thiết kế ít biểu cảm hơn Thiết bị này có trọng lượng đáng kể, mang đến sự tiện lợi trong việc phục vụ.

Robot nặng 30kg, thiết kế tương tự BellaBot, có khả năng chứa từ 3 đến 5 khay, mỗi khay chở được 10kg Với pin hoạt động liên tục lên tới 24 giờ, robot chỉ cần 4 giờ để sạc đầy Thời gian lập bản đồ căn phòng của robot là 120 phút.

Hình 2.3 Robot giao hàng starship [13]

Robot giao hàng Starship, do công ty Starship Technologies phát triển, là một hệ thống giao hàng tự động nhỏ gọn với khả năng tự điều hướng Nó có thể di chuyển an toàn trên đường phố và vỉa hè, phục vụ chủ yếu trong các khu vực đô thị và trường đại học, mang lại sự tiện lợi và tốc độ cho quá trình giao hàng.

 Lợi ích của robot dịch vụ:

Robot dịch vụ hoạt động liên tục mà không mệt mỏi, giúp nâng cao hiệu suất và năng suất làm việc Nhờ vào khả năng này, thời gian hoàn thành công việc được rút ngắn đáng kể.

Sử dụng robot dịch vụ giúp giảm chi phí nhân công, giảm sự phụ thuộc vào lao động con người và nâng cao tính cạnh tranh trong kinh doanh.

Robot dịch vụ thực hiện các tác vụ một cách chính xác và nhất quán, từ đó nâng cao chất lượng dịch vụ và đáp ứng tốt hơn nhu cầu của khách hàng.

Robot dịch vụ nâng cao tính an toàn bằng cách thực hiện các nhiệm vụ nguy hiểm hoặc căng thẳng mà không làm tăng rủi ro cho con người Việc này không chỉ giúp bảo vệ sức khỏe người lao động mà còn giảm thiểu nguy cơ tai nạn trong môi trường làm việc.

Robot dịch vụ nâng cao trải nghiệm khách hàng bằng cách cung cấp sự tiện lợi và linh hoạt Chúng hoạt động 24/7, không bị giới hạn bởi thời gian, giúp khách hàng dễ dàng tiếp cận dịch vụ mọi lúc mọi nơi.

Robot dịch vụ hiện nay vẫn gặp hạn chế trong việc tương tác và giao tiếp tự nhiên như con người, điều này gây khó khăn trong việc hiểu và đáp ứng chính xác các yêu cầu của người dùng.

Một số robot dịch vụ có hạn chế về đa nhiệm, chỉ có khả năng thực hiện một nhiệm vụ cụ thể mà không linh hoạt trong việc thay đổi hoặc thích ứng với các tình huống mới.

Một số robot dịch vụ gặp khó khăn trong việc di chuyển trên các mặt địa hình phức tạp và vượt qua chướng ngại vật, điều này hạn chế khả năng ứng dụng của chúng trong những môi trường đa dạ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

Trên toàn cầu, nhiều nghiên cứu và phát triển về xe đẩy hàng trong siêu thị đã được thực hiện nhằm nâng cao hiệu suất và tiện ích trong quá trình mua sắm Dưới đây là một số nghiên cứu nổi bật trong lĩnh vực này.

Xe đẩy tự động "Robotic Shopping Cart" của Five Elements Robotics được thiết kế để di chuyển theo người dùng và chứa hàng hóa trong siêu thị Sản phẩm này không chỉ hỗ trợ việc mua sắm mà còn có khả năng tương tác giọng nói và thực hiện các tác vụ đơn giản, mang lại trải nghiệm tiện lợi cho khách hàng.

Hình 2.5 Robot di động ELI [22]

Robot di động ELI là một giỏ mua hàng thông minh, có khả năng di chuyển theo Khách hàng trong cửa hàng trong quá trình chọn lựa sản phẩm Nó không chỉ hỗ trợ việc mua sắm mà còn cung cấp hướng dẫn cho người dùng.

Khách hàng vị trí của sản phẩm và cũng cho phép thanh toán tự động, trong số các chức năng khác

ELI tích hợp cảm biến nhận dạng giọng nói và cảm biến tránh chướng ngại vật, cho phép tự động theo dõi người tiêu dùng Với màn hình tích hợp, người tiêu dùng có thể chọn sản phẩm quan tâm, và robot sẽ hướng dẫn họ đến những sản phẩm đó một cách hiệu quả.

Các tính năng nổi bật bao gồm khả năng tìm vị trí ô tô trong bãi đậu xe và xác minh thông tin mua hàng, bao gồm phiếu giảm giá và thời hạn mua hàng.

2.2.2 Các nghiên cứu trong nước

Hiện nay, việc nghiên cứu và chế tạo robot dịch vụ trong siêu thị tại Việt Nam vẫn còn hạn chế Tuy nhiên, nhóm sinh viên Khoa Cơ khí Chế tạo Máy, Trường Đại học Sư Phạm đã phát triển một sản phẩm đáng chú ý trong lĩnh vực này.

Kỹ Thuật Tp.HCM nghiên cứu và chế tạo

Followbot là một robot ứng dụng AI với khả năng xử lý ảnh và 3D, giúp nhận diện người và vùng nền Với kích thước nhỏ gọn 506 x 466 x 680mm và trọng lượng 18.5Kg, robot này có tốc độ tối đa 0.7 m/s và tải trọng tối đa 15Kg Đặc biệt, Followbot rất dễ sử dụng chỉ với một nút nhấn Robot này có khả năng bám theo người để vận chuyển hàng hóa, mặc dù hiện tại chưa phân biệt được nhiều người.

CƠ SỞ LÝ THUYẾT

Các cơ cấu hoạt động phổ biến trong robot AGV

Robot dịch vụ di động thường được thiết kế với cấu trúc bánh xe hai bánh vi sai, giúp dễ dàng điều khiển và di chuyển Nhờ vào cấu trúc này, robot có khả năng hoạt động linh hoạt trên các bề mặt phẳng như gạch trong nhà hàng, khách sạn và siêu thị.

Hình 3.1 Nguyên lý hoạt động của cơ cấu vi sai [20]

Kiểm soát tốc độ vi sai là phương pháp lái AGV phổ biến nhất, cho phép hai bánh dẫn động độc lập hoạt động với tốc độ giống nhau để di chuyển thẳng hoặc với tốc độ khác nhau để thực hiện các thao tác rẽ.

Điều khiển vô lăng là phương pháp phổ biến trong các phương tiện ba bánh như xe nâng hàng, trong đó bánh xe truyền động cũng là bánh xe quay Hệ thống này sử dụng tổ hợp động cơ và bộ mã hóa gia tăng cho chuyển động tiến và lùi, cùng với một tổ hợp động cơ khác để điều khiển lái Phương pháp này không chỉ cung cấp đường dẫn tốt hơn mà còn mang lại khả năng chuyển hướng mượt mà Đặc biệt, khác với AGV điều khiển vi sai, phương tiện điều khiển vô lăng còn có khả năng kéo.

Hình 3.3 Cơ cấu điều khiển kết hợp [20]

Loại AGV thứ ba sử dụng phương pháp điều khiển vi sai và lái, với hai động cơ độc lập được trang bị bộ mã hóa gia tăng ở các góc chéo Bánh xe xoay được đặt ở các góc đối diện, cho phép xe rẽ theo hình vòng cung và di chuyển ngang hoặc theo bất kỳ hướng nào AGV này có khả năng lái ở chế độ vi sai theo mọi hướng, mang lại tính linh hoạt cao trong quá trình vận chuyển.

Sau khi phân tích các cơ cấu hoạt động, nhóm đã quyết định chọn cơ cấu vi sai với 2 bánh chủ động và 2 bánh bị động, giúp điều khiển dễ dàng với góc xoay đa dạng và khả năng chịu tải tốt Hai bánh được điều khiển bởi 2 động cơ, cho phép chúng quay không đồng tốc mà không cần thiết kế cơ cấu lái Hiện nay, nhiều nhà hàng cũng đang áp dụng cơ cấu này, vì vậy việc sử dụng cơ cấu này là hoàn toàn hợp lý.

Xử lí dữ liệu – Xử lí ảnh (2D, 3D)

3.2.1 Giới thiệu về thị giác máy, ảnh 2D

Thị giác máy tính, một nhánh của trí tuệ nhân tạo, cho phép máy tính nhận diện, phân tích và hiểu hình ảnh cùng video như con người Lĩnh vực này tích hợp các phương pháp và thuật toán trong xử lý hình ảnh, phân loại, nhận dạng đối tượng, theo dõi chuyển động và trích xuất thông tin từ hình ảnh và video.

Không gian màu RGB là một hệ thống màu phổ biến trong đồ họa máy tính và các thiết bị kỹ thuật số Hệ thống này dựa trên việc kết hợp ba màu cơ bản: đỏ (R), xanh lục (G) và xanh lam (B).

Trong không gian màu RGB, mỗi màu được biểu diễn bằng giá trị từ 0 đến 255 cho ba kênh màu R, G, B Bằng cách kết hợp các giá trị này, chúng ta có thể tạo ra hàng triệu màu sắc khác nhau thông qua việc điều chỉnh độ sáng và tỷ lệ của các kênh màu Hệ thống RGB thường được sử dụng rộng rãi trong thiết kế đồ họa và công nghệ hiển thị.

Màu sắc được hiển thị trên các màn hình, in ấn và thiết bị kỹ thuật số khác, cung cấp khả năng tái tạo màu sắc rộng và chính xác, giúp tạo ra hình ảnh sống động và chân thực.

Ngoài không gian màu RGB, còn tồn tại nhiều hệ thống màu khác như CMYK, HSV và HSL Mỗi hệ thống màu này có ứng dụng và đặc điểm riêng, phục vụ cho các mục đích khác nhau trong từng ngữ cảnh cụ thể.

Hình 3.4 Hình Thêm đỏ vào xanh lá cây tạo ra vàng; thêm vàng vào xanh lam tạo ra trắng [27]

Khi lựa chọn một màu cụ thể, chúng ta sử dụng bộ ba số (R, G, B) để biểu thị mức độ của màu đỏ, màu xanh lục và màu xanh lam, với mỗi số nằm trong khoảng từ 0 đến 255 Sự kết hợp của các giá trị này cho phép tạo ra hàng triệu màu sắc đa dạng.

Trong ảnh màu, mỗi pixel là đơn vị cơ bản cấu thành bức ảnh kỹ thuật số 2D, được biểu diễn bởi một khối màu nhỏ Mỗi pixel được xác định bởi một bộ ba số (R, G, B), tương ứng với mức độ của ba màu chính Để dễ dàng lưu trữ và xử lý, các giá trị màu trong pixel thường được lưu trong các ma trận riêng biệt, gọi là kênh màu.

Ảnh màu được hình thành từ ba kênh màu cơ bản: kênh màu đỏ, kênh màu xanh lục và kênh màu xanh lam.

Bằng cách điều chỉnh các giá trị trong ba kênh màu RGB, chúng ta có thể tạo ra nhiều màu sắc phong phú và thể hiện rõ ràng các chi tiết trong ảnh màu Mô hình không gian màu RGB là một trong những mô hình quan trọng nhất trong việc biểu diễn và xử lý ảnh màu.

3.2.2 Thuật toán nhận diện đối tượng – bài toán Object detection

Nhận dạng đối tượng là thuật ngữ chỉ các nhiệm vụ thị giác máy tính liên quan đến việc xác định và phân loại các đối tượng trong ảnh kỹ thuật số.

Hình 3.5 Phân loại chó mèo [7]

Phân loại hình ảnh liên quan đến việc dự đoán lớp của đối tượng trong hình ảnh Định vị vật thể xác định vị trí và vẽ bounding box quanh một hoặc nhiều đối tượng Phát hiện đối tượng kết hợp cả hai nhiệm vụ trên cho một hoặc nhiều đối tượng trong hình ảnh Ba nhiệm vụ thị giác máy tính cơ bản có thể phân biệt qua input và output của chúng.

Phân loại hình ảnh là quá trình dự đoán lớp của đối tượng trong hình ảnh, liên quan đến việc xác định và gán nhãn cho các đối tượng dựa trên đặc trưng và thông tin trích xuất từ hình ảnh Mục tiêu chính là nhận diện và phân loại đối tượng vào các lớp khác nhau Bên cạnh đó, định vị đối tượng (object localization) là quá trình xác định vị trí của một hoặc nhiều đối tượng trong hình ảnh, bao gồm việc xác định tọa độ và kích thước của các bounding box xung quanh chúng Điều này giúp chúng ta biết chính xác vị trí của đối tượng trong hình ảnh.

Phát hiện đối tượng kết hợp giữa phân loại và định vị, giúp nhận diện và phân loại các đối tượng trong hình ảnh Quá trình này không chỉ xác định các đối tượng mà còn cung cấp thông tin về vị trí của chúng thông qua việc vẽ bounding box Điều này tạo ra thông tin hữu ích về cả lớp và vị trí của các đối tượng trong hình ảnh.

Nhiệm vụ phân loại hình ảnh, định vị vật thể và phát hiện đối tượng rất quan trọng trong lĩnh vực thị giác máy tính và các ứng dụng như nhận dạng khuôn mặt, xử lý ảnh y tế, và xe tự hành Những công nghệ này giúp chúng ta khai thác thông tin từ hình ảnh, từ đó đưa ra quyết định và hành động hiệu quả trong các tình huống thực tế.

Trong lĩnh vực computer vision, hai khái niệm quan trọng là phân đoạn đối tượng (object segmentation) và mô tả hình ảnh (image captioning) Phân đoạn đối tượng nhận diện các đối tượng bằng cách làm nổi bật các pixel cụ thể thay vì sử dụng bounding box Trong khi đó, mô tả hình ảnh kết hợp các kiến trúc mạng CNN và LSTM để đưa ra lý giải về hành động hoặc nội dung của bức ảnh.

Sơ đồ 3.1 Sơ đồ các mối liên hệ giữa các tác vụ trong computer vision [17]

3.2.3 Model SSD (Single Shot Detector) trong Object Detection

Thị giác máy 3D

Camera 3D là thiết bị sử dụng hai hoặc nhiều cảm biến hình ảnh để ghi lại các góc ảnh khác nhau, từ đó tính toán chiều sâu của hình ảnh dựa trên sự sai lệch giữa các camera Mặc dù là mô hình camera 3D đầu tiên và có độ chính xác không cao so với các camera cùng chức năng, nhưng giá thành lại tương đối rẻ Hiện nay, với sự cải thiện trong chất lượng cảm biến hình ảnh và thuật toán xử lý, đã xuất hiện nhiều loại camera stereo với chất lượng hình ảnh xuất sắc, mặc dù giá thành có phần cao hơn.

 Time-of-Flight camera(TOF camera)

Camera TOF sử dụng ánh sáng hồng ngoại để chiếu vào vật thể và cảm biến đo thời gian phản hồi của tia hồng ngoại nhằm xác định độ sâu Độ sai số của camera này khoảng 1cm, trong đó Microsoft Kinect v2 là một trong những ví dụ tiêu biểu.

Hoạt động của thiết bị này dựa trên việc chiếu một dải ánh sáng lên bề mặt cần xác định Nhờ vào hiện tượng cong của ảnh phản hồi, nó có thể tính toán chiều sâu của bề mặt một cách nhanh chóng Tốc độ xử lý của phương pháp này được đánh giá là khá nhanh so với các phương pháp truyền thống.

19 pháp ToF, sai số 1 cm vấn đề của phương pháp này là vật thể phải đủ lớn để gây ra hiện tượng cong ảnh.[1]

Một hướng tiếp cận mới trong robot đi theo người là sử dụng thị giác máy 3D để khắc phục những hạn chế của thị giác máy 2D Thị giác máy 3D cho phép thu thập thông tin chiều sâu, khoảng cách và vị trí tương đối của đối tượng so với robot, từ đó giúp robot xác định khoảng cách và độ lệch so với vị trí mong muốn Nhờ vào khả năng này, robot có thể điều chỉnh hướng di chuyển một cách chính xác hơn Bên cạnh đó, thông tin chiều sâu cũng cung cấp cái nhìn rõ ràng hơn về môi trường xung quanh, hỗ trợ robot trong việc đưa ra quyết định và phản ứng phù hợp.

Áp dụng thị giác máy 3D trong robot đi theo người có thể nâng cao khả năng điều hướng và tương tác của robot Điều này không chỉ giúp robot hoạt động hiệu quả và an toàn hơn trong môi trường thực tế mà còn cải thiện trải nghiệm và sự tin tưởng của người sử dụng.

Trong thị giác máy 3D, ảnh RGB-D là một định dạng phổ biến, kết hợp thông tin màu sắc (RGB) và thông tin độ sâu (Depth) Độ sâu cung cấp dữ liệu về khoảng cách từ camera đến các điểm trong hình ảnh, hỗ trợ việc tái tạo không gian ba chiều Nhờ vào ảnh RGB-D, người dùng có thể xác định vị trí và hình dạng của các đối tượng trong không gian 3D một cách chính xác.

Point cloud (đám mây điểm) là một phương pháp phổ biến trong thị giác máy 3D, cho phép biểu diễn không gian bằng cách lưu trữ tập hợp các điểm 3D Các điểm này được tạo ra từ ảnh RGB-D và thông số của camera, giúp tái tạo chi tiết và chính xác đối tượng trong không gian 3D.

Thị giác máy 3D mang lại tiềm năng lớn cho phát triển ứng dụng thông minh và tương tác trong thế giới thực Với khả năng xử lý thông tin không gian ba chiều và độ sâu, công nghệ này cải thiện hiệu quả trong việc điều khiển robot, xây dựng môi trường thực tế ảo, và nâng cao an ninh, an toàn, cùng nhiều lĩnh vực ứng dụng khác.

Bộ điều khiển PID

Bộ điều khiển PID (Proportional Integral Derivative) lý tưởng bao gồm ba thành phần chính: P, I và D, hoạt động song song Thuật toán PID giám sát đầu ra của hệ thống và so sánh với giá trị mong muốn Nếu sai số e khác không, bộ PID sẽ tính toán giá trị tác động mới để điều chỉnh hệ thống Quá trình điều chỉnh này diễn ra liên tục cho đến khi sai số e = 0, khi đó hệ thống đạt trạng thái ổn định Hệ thống này được gọi là hệ thống điều khiển vòng kín (Closed Loop Control) nhờ vào khả năng hồi tiếp trạng thái về bộ điều khiển.

Sơ đồ 3.3 Sơ đồ khối của một hệ kín có bộ PID

Hàm truyền của bộ PID được viết như sau:

Hình 3.10 Ví dụ về ảnh point cloud [8]

Hệ số khuếch đại của bộ PID bao gồm hệ số tích phân và hệ số vi phân, cùng với hằng số thời gian tích phân và hằng số thời gian vi phân Điều chỉnh tỉ lệ (P) tạo ra tín hiệu điều chỉnh dựa trên sai lệch đầu vào, trong khi điều chỉnh tích phân (I) giúp giảm độ lệch (offset) sau điều chỉnh Để khắc phục độ lệch lớn, cần kết hợp điều chỉnh tỉ lệ với điều chỉnh tích phân, giúp độ lệch giảm tới 0 Thời gian nhỏ cho thấy tác động của điều chỉnh tích phân mạnh mẽ hơn, tương ứng với độ lệch nhỏ Điều chỉnh vi phân (D) được sử dụng khi hằng số thời gian hoặc thời gian chết của hệ thống lớn, nhằm cải thiện tốc độ đáp ứng của hệ thống kết hợp với điều chỉnh theo P hoặc PI Điều chỉnh vi phân tạo ra tín hiệu điều chỉnh tỷ lệ với tốc độ thay đổi của sai lệch đầu vào.

Các bộ điều khiển PID rất phổ biến trong ngành công nghiệp, đặc biệt trong lĩnh vực điều khiển quá trình Nhiều nhà sản xuất thiết bị tự động cung cấp các bộ điều khiển PID thương mại được chế tạo bằng mạch khuếch đại thuật toán Những bộ điều khiển PID được thiết kế sẵn này mang lại sự tiện lợi cho người sử dụng, cho phép họ lựa chọn chế độ điều khiển P.

I, PI, PD, PID tuỳ theo yêu cầu bằng cách tắt mở các thành phần chức năng tương ứng.

ROS (Robot Operation System)

ROS là hệ điều hành mã nguồn mở chuyên dụng cho rô-bốt, cung cấp các dịch vụ như trừu tượng hóa phần cứng, kiểm soát thiết bị, và quản lý gói Nó hỗ trợ triển khai các chức năng phổ biến, chuyển thông báo giữa các quy trình, cùng với các công cụ và thư viện giúp lập trình, xây dựng và chạy mã trên nhiều máy tính.

Trước năm 2007, khi ROS được phát hành, không có kiến trúc phần mềm nhúng tiêu chuẩn cho các kỹ sư robot ROS, một bước tiến lớn trong lĩnh vực này, được phát triển và duy trì bởi Willow Garage, một công ty ở California, do Scott Hassan, một trong những nhân viên đầu tiên của Google, thành lập vào năm 2006.

3.5.2 Lợi ích của ros cho robot:

Tiêu chuẩn hóa và tái sử dụng trong ROS cung cấp các giao thức, giao diện và thư viện giúp phát triển robot hiệu quả hơn, tiết kiệm thời gian và công sức Hệ thống quản lý gói phần mềm mạnh mẽ của ROS cho phép người dùng dễ dàng cài đặt, cập nhật và quản lý các phần mềm liên quan đến robot, từ đó nâng cao hiệu quả trong việc duy trì và quản lý các thành phần phần mềm.

ROS cung cấp cơ chế giao tiếp linh hoạt cho các thành phần của robot, giúp chúng dễ dàng tương tác và trao đổi dữ liệu Điều này hỗ trợ phát triển các hệ thống phức tạp và tích hợp công nghệ đa dạng vào robot.

ROS hỗ trợ đa nền tảng phần cứng và hệ điều hành, cho phép phát triển và triển khai ứng dụng trên nhiều loại robot khác nhau Điều này mang lại tính linh hoạt và khả năng mở rộng cao trong việc ứng dụng robot ở nhiều môi trường và nền tảng khác nhau.

Sử dụng ROS (Robot Operating System) giúp nâng cao năng suất, tiết kiệm thời gian và công sức, đồng thời tạo điều kiện thuận lợi cho việc phát triển và triển khai robot ROS cung cấp các công cụ, giao thức và một cộng đồng mạnh mẽ, hỗ trợ việc phát triển các ứng dụng robot phức tạp và tích hợp linh hoạt các công nghệ khác nhau.

3.5.3 Các khái niệm cơ bản trong ROS

Node là một tiến trình độc lập trong ROS, thực hiện các chức năng cụ thể và có khả năng giao tiếp với các node khác thông qua thông điệp.

Trong ROS, cơ chế giao tiếp không đồng bộ cho phép các node xuất bản dữ liệu vào một topic và đọc dữ liệu từ topic đó Các topic đóng vai trò quan trọng trong việc giúp các node truyền thông tin và tương tác hiệu quả với nhau.

Message là loại dữ liệu dùng để truyền thông tin giữa các node trong ROS, định nghĩa cấu trúc dữ liệu và các trường thông tin mà node gửi và nhận qua các topic.

Service trong ROS là cơ chế giao tiếp đồng bộ, cho phép node gửi yêu cầu và nhận phản hồi từ service Nó thường được sử dụng khi cần trao đổi dữ liệu theo yêu cầu, khác với topic, nơi dữ liệu được truyền liên tục.

Package là đơn vị cơ bản trong ROS, giúp tổ chức và chia sẻ mã nguồn Nó bao gồm các file cấu hình, mã nguồn, thư viện và tài nguyên khác liên quan đến một chức năng cụ thể.

File launch là tệp cấu hình XML được sử dụng để khởi động và cấu hình một tập hợp các node và thông điệp trong ROS Nó giúp tự động hóa quá trình khởi động và thiết lập môi trường làm việc, mang lại sự tiện lợi và hiệu quả cho người dùng.

Roscore là thành phần thiết yếu trong hệ thống ROS, đóng vai trò là máy chủ trung tâm quản lý giao tiếp giữa các node và tài nguyên Nó cung cấp các dịch vụ quan trọng như quản lý namespace, thông điệp, topic, service và tài nguyên mạng Roscore đảm bảo tính nhất quán và đồng bộ trong giao tiếp giữa các node, là phần không thể thiếu trong môi trường ROS.

CÁC GIẢI PHÁP THỰC HIỆN ĐỀ TÀI VÀ TÍNH TOÁN THIẾT KẾ HỆ THỐNG CƠ KHÍ

Thông số thiết kế

Trong các trung tâm và siêu thị lớn, lối đi giữa các kệ hàng thường rộng từ 1m đến 1,5m Do đó, việc thiết kế robot cần phải đảm bảo kích thước phù hợp, với chiều dài và chiều rộng không vượt quá 0,5m.

Hình 4.1 Hình ảnh lối đi trong siêu thị [25]

Chiều cao của robot được thiết kế hợp lý để người sử dụng dễ dàng bỏ hàng hóa vào giỏ Nhóm đã tiến hành đo đạc và tham khảo kích thước các mẫu xe đẩy hàng trên thị trường, với chiều cao từ mặt sàn đến đáy giỏ đựng hàng dao động từ 0,4 m đến 0,5 m, tùy thuộc vào dung tích chứa hàng Đây là các thiết kế tiêu chuẩn, vì vậy nhóm đã xác định giới hạn chiều cao cho robot nằm trong khoảng 0,4-0,5 m.

 Tải trọng và vận tốc của robot:

Tổng khối lượng xe và tải trọng tối đa ước lượng là 50kg, với tốc độ đi bộ trung bình của con người từ 0,7 đến 1 m/s Do đó, tốc độ lớn nhất của xe có thể đạt được là 3.6 km/h, tương đương 1 m/s.

Cơ cấu chuyển động của robot được thiết kế để hoạt động hiệu quả trên bề mặt sàn gạch phẳng với độ ma sát thấp Để tăng cường độ bám, robot có thể sử dụng bánh xe cao su Hệ thống truyền động vi sai với hai bánh dẫn động và hai bánh lái cho phép điều chỉnh linh hoạt hướng di chuyển của robot.

Một hệ thống camera 3D có khả năng nhận dạng và theo dõi người, đồng thời đo khoảng cách giữa người và robot Hệ thống này bao gồm các thành phần xử lý và điều khiển tiên tiến.

Vi xử lý điều khiển tốc độ động cơ, trong khi Single Board Computer thu thập dữ liệu hình ảnh và cảm biến độ sâu để nhận diện con người và đo khoảng cách từ người đến camera.

Hệ điều hành robot (Robot Operating System): Được cài đặt trên Single Board Computer để quản lý và điều phối các hoạt động của robot

Nguồn điện cho robot rất quan trọng, với công suất tối đa ước lượng khoảng 30W Thời gian hoạt động của pin có thể kéo dài khoảng 1 tiếng.

Phương hướng và giải pháp thực hiện

Robot được thiết kế với kích thước 430x480x480mm và có khả năng chịu tải tối đa 50kg, do đó phần đế và khung cần được làm từ vật liệu chắc chắn Vật liệu cho đế và trục là thép SS400, trong khi khung xe được chế tạo từ thanh nhôm định hình kích thước 20x20 Hệ thống truyền động vi sai sử dụng hai bánh dẫn động độc lập, kết hợp với động cơ hành tinh planet 12-24VDC có công suất tối đa 30W.

Robot được trang bị camera Kinect V2 giúp nhận dạng và đo khoảng cách giữa người và robot Nó sử dụng cảm biến đo khoảng cách để phát hiện vật cản phía trước Vi xử lý STM32 được dùng để điều khiển tốc độ động cơ, trong khi board Jetson Nano xử lý dữ liệu hình ảnh và cảm biến từ camera.

Xe cần có khả năng phản ứng nhanh với sự thay đổi của người di chuyển, vì vậy nhóm quyết định sử dụng mô hình retrain SSD-MobileNetV2 để xác định nhận dạng người trên tập dữ liệu COCO Mô hình này nổi bật với độ chính xác cao và tốc độ xử lý nhanh, mang lại kết quả tốt nhất trong các mô hình nhận diện hiện có.

Hình 4.2 Hiệu suất của Jetson Nano khi chạy các mạng Machine Learning [30]

Xây dựng thuật toán nhận diện màu sắc giúp người dùng mặc áo có màu tương ứng với robot, từ đó tạo sự phân biệt rõ ràng giữa người sử dụng robot và những người xung quanh.

Xây dựng thuật toán điều khiển và bộ điều khiển PID là cần thiết để đảm bảo robot di chuyển ổn định Việc tính toán và thực nghiệm sẽ giúp xác định các thông số PID phù hợp cho hệ thống, từ đó nâng cao hiệu suất hoạt động của robot.

Phần thiết kế cơ khí được giữ nguyên, nhưng camera Kinect v2 đã được thay thế bằng camera D435i RealSense để nâng cao chất lượng nhận diện hình ảnh và tiết kiệm năng lượng hơn, mặc dù giá thành tăng cao.

Robot được trang bị cảm biến chuyển động như máy quét LiDAR hoặc cảm biến hồng ngoại để phát hiện vật cản và vị trí của robot

Sử dụng thuật toán nhận diện kết hợp với bộ điều khiển PID, robot có thể tự động quét bản đồ siêu thị bằng cảm biến Lidar Qua đó, robot xác định vị trí của mình trên bản đồ và tự động quay trở về vị trí ban đầu sau khi hoàn thành nhiệm vụ mà không cần sự hỗ trợ của con người.

Xây dựng thuật toán tracking để phân biệt được người cần đi theo trong khung hình.

Lựa chọn phương án

Sau khi xem xét các phương án và yếu tố liên quan, nhóm đã quyết định chọn Phương án 1 để thực hiện đề tài Dưới đây là phân tích chi tiết cùng các lý do cho sự lựa chọn này.

Đội ngũ thiết kế đã phát triển một robot chở hàng có kích thước 430x480x480mm, chuyên phục vụ người lớn tuổi tại siêu thị Để đảm bảo độ bền và khả năng chịu tải tối đa 50kg, vật liệu chính được sử dụng là thép SS400 cho đế và khung xe, cùng với khung xe làm từ thanh nhôm định hình 20x20 để tăng tính nhẹ và linh hoạt Hệ thống truyền động vi sai với hai bánh dẫn động độc lập được áp dụng để cải thiện hiệu suất di chuyển, trong khi động cơ hành tinh planet 12-24vdc công suất tối đa 30W cung cấp sức mạnh cần thiết cho robot hoạt động hiệu quả.

Để nhận diện và đo khoảng cách giữa người và robot, chúng tôi sử dụng camera Kinect V2, một giải pháp hiệu quả cho việc nhận dạng và định vị người dùng Để phát hiện và tránh vật cản phía trước, cảm biến đo khoảng cách được triển khai Hơn nữa, vi xử lý STM32 và board Jetson Nano được sử dụng để điều khiển và xử lý dữ liệu từ các thiết bị phát hiện, đồng thời thực hiện các thuật toán và tính toán cần thiết.

Nhận dạng và xác định người là quá trình sử dụng các thuật toán tiên tiến để nhận diện người trong môi trường của robot Mô hình SSD-MobileNetV2 được retrain trên tập dữ liệu COCO nhằm xác định vị trí người trong khung hình một cách chính xác Để điều khiển robot, cần xây dựng thuật toán điều khiển và bộ điều khiển PI, đảm bảo robot di chuyển ổn định và chính xác Thông tin từ các cảm biến và camera Kinect V2 được sử dụng để tính toán và điều chỉnh tốc độ cũng như hướng di chuyển của robot, đồng thời duy trì khoảng cách an toàn giữa robot và người dùng.

Mặc dù việc sử dụng màu sắc để phân biệt người cho robot đi theo không phải là phương pháp tối ưu nhất do những hạn chế như ánh sáng và trùng lặp màu sắc, nhóm vẫn quyết định áp dụng cách này Nguyên nhân là do phần cứng hiện tại, cụ thể là Jetson Nano 4GB, không đủ tài nguyên để phát triển thuật toán theo dõi phức tạp hơn.

Phương án 1 được lựa chọn dựa trên các yếu tố kinh phí và thời gian hạn chế, đáp ứng các yêu cầu cơ bản với chi phí và thời gian thấp hơn Phương án 2 Sử dụng camera Kinect V2 cùng với các cảm biến và thuật toán phù hợp, nhóm tin rằng phương án này sẽ giúp thực hiện thành công mục tiêu của đề tài, đồng thời đảm bảo việc chở hàng an toàn và hiệu quả trong siêu thị.

Trình tự công việc tiến hành

 Nghiên cứu và thu thập thông tin:

- Tìm hiểu về các yêu cầu và mục tiêu của đề tài

- Nghiên cứu các công nghệ, phương pháp và giải pháp hiện có liên quan đến robot chở hàng và theo dõi nhận diện người trong siêu thị

Để triển khai robot trong siêu thị, cần thu thập thông tin chi tiết về cấu trúc và kích thước của siêu thị cụ thể, cũng như các quy định và ràng buộc liên quan.

- Xác định các yêu cầu phần cứng như camera Kinect, STM32 và Jetson Nano, cơ cấu vi sai, cảm biến, hệ thống di chuyển và nguồn điện

- Thiết kế mạch vi xử lý để điều khiển và tương tác với các thành phần phần cứng khác

- Xác định và tích hợp các cảm biến và hệ thống di chuyển vào robot

- Lắp ráp và kiểm tra phần cứng để đảm bảo hoạt động ổn định và tương thích

- Xác định và triển khai các thuật toán nhận dạng người, nhận dạng màu sắc và điều khiển

- Tối ưu hóa phần mềm để đảm bảo hiệu suất tính toán và thời gian phản hồi nhanh

 Kiểm tra và hiệu chỉnh:

- Thực hiện kiểm tra và hiệu chỉnh robot khi chạy thực tế

Để đảm bảo hiệu quả trong hoạt động, robot cần có khả năng nhận dạng và theo dõi con người một cách chính xác, di chuyển linh hoạt và an toàn, đồng thời tương tác hiệu quả với môi trường xung quanh.

- Điều chỉnh các thiết đặt và thông số để cải thiện hiệu suất và độ tin cậy của robot

 Triển khai và vận hành:

- Triển khai robot chở hàng đi theo người trong siêu thị

- Đảm bảo sự an toàn và tuân thủ các quy định và ràng buộc của siêu thị trong quá trình vận hành

- Theo dõi và duy trì robot, bao gồm việc kiểm tra và bảo dưỡng phần cứng, cập nhật phần mềm và xử lý sự cố (nếu có).

Tính toán lựa chọn động cơ

 Các thông số đầu vào của robot được ước lượng:

- Tổng khối lượng xe và tải trọng tối đa: m = 50kg

- Tốc độ lớn nhất của xe: v = 3.6km/h = 1m/s

- Chọn bánh xe dẫn động có đường kính dxe = 145mm = 0.145m (r = 0.0725m)

- Xe có hai động cơ dẫn động ở hai bánh sau, một bánh tự do dẫn hướng

 Tính công suất cần thiết của động cơ Pct ≥ Plv + Pmm , với:

- Plv là công suất làm việc của động cơ

- Pmm là công suất mất mát qua bộ truyền

Hình 4.3 Hình phân tích lực tác động lên robot khi di chuyển

Theo định luật 2 Newton : − = ma (4.1)

= 0.01 : hệ số ma sát lăn, chọn theo bảng tham khảo bên dưới

Bảng 4.1 Hệ số ma sát lăn tham khảo [29]

Công suất đủ để kéo xe : '() = v = 30.1 = 30(W) (4.5)

Công suất để đủ làm việc mỗi động cơ là : ' * +, & = -%

 Tính công suất mất mát ' = ( $

- 1 ).'* (4.7) Trong đó, ƞ = ƞđ ƞol là hiệu suất chung

Tra bảng 2.1 trang 31 [28] được: ƞ đ = 0.95: hiệu suất bộ truyền đai ƞ ol = 0.99: hiệu suất một cặp ổ lăn ƞ = ƞ đ ƞ ol = 0.94

 Tính tốc độ quay lớn nhất của động cơ n dc :

Theo cơ kĩ thuật : v = r (4.8) Tốc độ quay tối đa của bánh xe:

Số vòng quay trên phút của bánh xe: n 7( = 7( 1 = u n7( (v/p)

 Momen xoắn lớn nhất của động cơ :

 Momen xoắn lớn nhất trên trục bánh xe :

Bảng 4.2 Bảng thông số tính toán lựa chọn động cơ

Trục Trục động cơ Trục công tác

Từ (4.6), (4.10) và (4.11), chọn được động cơ Planet 24VDC 60W 600RPM, thỏa mãn các yêu cầu trên

Hình 4.4 Động cơ Planet 12-24VDC 30W

- Điện áp động cơ : 12 - 24V DC

- Mô men xoắn: 9500 gf.cm

- Tốc độ động cơ: 12000 vòng/phút

- Tốc độ qua giảm tốc: 600 vòng/phút

- Encoder: 12 xung, 2 kênh A B, nguồn 5v dc

- Động cơ 555 chất lượng, bền bỉ với thời gian

- Hộp số mạnh mẽ với bộ nhông hành tinh chính xác, vận hành êm ái

Hình 4.5 Kích thước động cơ [21]

Tính toán thiết kế bộ truyền đai

Để tăng mô men và giảm tốc cho động cơ, nhóm đã chọn bộ truyền đai răng với tỷ số truyền 2 Quá trình tính toán thiết kế trục bánh xe và lựa chọn bộ truyền đai răng được thực hiện song song, nhằm tìm ra bộ truyền phù hợp và tính toán trục thích hợp Sau nhiều lần tính toán và lựa chọn, nhóm đã xác định được bộ truyền đai tối ưu và kết quả tính toán để làm căn cứ chế tạo trục bánh xe.

 Thông số đầu vào như sau:

Theo thông số của bảng ta chọn số răng K $ > 10 Chọn K $ = 20 răng

 Mô đun của đai răng tính theo công thức: m = 35O P 4 N N 35O %,%$0/0 &0F, : độ dao động từ 6

 Chiều rộng bánh đai B : B = 12 + 2 = 14 (mm) Chọn B = 14mm Chọn theo tiêu chuẩn

B = 14mm Theo bảng 1 (phụ lục 1)

 Chọn theo tiêu chuẩn L = 380mm Số răng trên đai K [ = 40 Theo bảng 1 (phụ lục

V8 : hệ số tải trọng động có giá trị từ 1,3 – 2,4 ( giá trị càng lớn với thiết bị có va đập hoặc quá tải cục bộ thường xuyên )

 Kiểm nghiệm khả năng chịu tải của đai :

- ` # : tải trọng riêng cho phép (N/mm)

- Vd : hệ số xét đến ảnh hưởng tỉ số truyền

- V1 = 1 – khi không sử dụng con lăn , V1 = 0,9 – khi sử dụng 1 con lăn V1 = 0,8 – khi sử dụng 2 con lăn

- V 7 : hệ số xét đến ảnh hưởng chiều rộng đai

Thỏa điều kiện : ef ≤ [ef]

Kiểm nghiệm đồ bền mòn : g = $%%% N ^ _ h i " 7.j ≤ k']i (4.20) g = $%%%.%,%$0/0.$,-.&

Lực tác dụng lên trục : 8 = (1÷ 1,2) # = 1.22,06 = 22,06 (N)

Bảng 4.3 Bảng thông số tính toán đai sơ bộ

Chiều rộng nhỏ nhất của răng S (mm) 1,5 Đường kính bánh đai số 1 Q$ (mm) 30 Đường kính bánh đai số 2 Q& (mm) 60

Chiều rộng bánh đai B (mm) 14

Số răng trên đai K[ (răng) 40

Khoảng cách trục nhỏ nhất S T4 (mm) 46,5

Khoảng cách trục lớn nhất S ( (mm) 180

Số răng ăn khớp trục nhỏ (răng) 15

Dựa vào các thông số tính toán sơ bộ phía trên Nhóm đã quyết định chọn loại puly đai răng có thông số như sau:

Bảng 4.4 Bảng thông số đai thực tế

Số bánh răng chủ động Z1 20 răng

Số bánh răng bị động Z2 40 răng

Bề rộng bánh răng B 9 mm

Bánh răng chủ động có đường kính vòng đỉnh D1 là 33 mm và bánh răng bị động có đường kính vòng đỉnh D2 là 63 mm Đường kính vòng chia của bánh răng chủ động d1 là 30 mm, trong khi bánh răng bị động có đường kính vòng chia d2 là 60 mm Đường kính trục puly chủ động Q đạt 451 mm, còn trục puly bị động Q có đường kính 12 mm.

 Kiểm nghiệm lại khả năng chịu tải của đai :

Thỏa điều kiện : ef ≤ [ef]

Thiết kế hình dạng robot

4.7.1 Thiết kế mặt đế, nắp đế, đế kê giỏ hàng và tấm đặt thiết bị cho robot

Bảng 4.5 Thông số các chi tiết gia công

Tên chi tiết Kích thước Vật liệu Phương pháp gia công Đế robot 460x410x3 Thép SS400 CNC lazer

Tấm nắp đế 370x270x2 mica Cắt CNC

Tấm để thiết bị điều khiển 280x270x5 mica Cắt CNC

Tấm kê giỏ hàng 370x270x2 Thép SS400 CNC lazer

Hình 4.6 Đế và nắp đế

Hình 4.7 Hình tấm kê giỏ hàng và tấm để thiết bị

- Thông số nhôm định hình:

 Vật liệu: hợp kim nhôm

Sử dụng máy cắt để cắt các thanh theo kích thước thiết kế, sau đó lắp ghép chúng bằng pad chữ T và chữ L, sử dụng bulong chữ T để cố định.

Hình 4.8 Hình khung nhôm định hình 4.7.3 Lựa chọn bánh xe cho robot

Bánh xe đa hướng V1 25mm được lựa chọn để đảm bảo tính linh hoạt trong di chuyển và khả năng chịu tải lớn trong nhiều môi trường khác nhau.

- Màu sắc: vàng Mạ kềnh (Xi): Kẽm

- Chất liệu: Nhựa PP - thép

- Đường kính bánh xe: 25mm

- Độ dày bánh xe 14mm

Hình 4.9 Hình bánh xe đa hướng

Bánh xe hoạt động trong môi trường có ma sát thấp, do đó yêu cầu độ bám cao Hai bánh dẫn động phải chịu lực lớn, vì vậy cần có khả năng chịu tải trọng cao.

Thông số bánh xe như sau:

Bánh xe có kích thước đường kính ngoài 145 mm và bề rộng 40 mm, phù hợp để lắp trực tiếp với các loại động cơ giảm tốc có đường kính trục từ 8 đến 24 mm.

- Vật liệu: Bánh xe được đúc bằng nhôm có độ bền cao, vỏ được bọc cao su mềm có nhiều rảnh nên có độ bám cao

Hình 4.10 Hình bánh xe chủ động

4.7.4 Lựa chọn vật liệu cho trục bánh xe

Inox 304 tròn đặc nổi bật với khả năng chống ăn mòn và oxi hóa, chịu tải trọng cao, va đập mạnh, cùng tính đàn hồi tốt nhờ độ bền kéo và giới hạn chảy cao Chính vì vậy, nhóm đã quyết định sử dụng inox 304 tròn đặc làm trục nối giữa puly và bánh xe, với chiều dài cụ thể.

Hình 4.11: Hình trục inox 304 tròn đặc 4.7.5 Thiết kế 3D hệ thống cơ khí

Sau khi lên ý tưởng và thiết kế 3D thì đây là mô hình 3D và kích thước của robot:

Hình 4.12 Hình dáng và kích thước của robot

Robot được thiết kế với chiều cao hợp lý, giúp người dùng dễ dàng đặt đồ lên robot mà không gặp khó khăn Bên cạnh đó, kích thước chiều dài và rộng của robot cũng được tối ưu để thuận tiện di chuyển giữa các kệ hàng trong siêu thị.

 Mô hình có kết cấu chắc chắn nhờ các thanh nhôm định hình được gắn với nhau tạo thành một khối cứng cáp

 Được trang bị các nút nhấn để sử dụng robot và màn hình hiển thị dung lượng pin

 Trong đó mô hình được chia làm 2 phần:

- Phần đế robot: gồm các khung nhôm định hình, bộ truyền động và mạch điều khiển, camera cũng như nguồn cấp cho các thiết bị điện

- Phần đựng hàng hoá: sử dụng tấm thép SS400 dày 2mm được kê lên 4 trụ nhôm định hình để đựng hàng hoá.

Tính toán ứng suất, đường kính và dung sai cho trục bánh xe

Chọn vật liệu chế tạo trục là Inox304 có p7khoảng 500 Mpa và ứng suất xoắn cho phép τ = 15-30 Mpa [4]

Khối lượng chia đều 2 bánh xe: m = 25kg

Mômen xoắn trục công tác: T = 1087,5Nmm Đường kính bánh xe: dxe = 145mm

 Xác định sơ bộ đường kính trục:

Vậy đường kính sơ bộ là Q 7 O%,&.k ] q

 Xác định giá trị các lực tác dụng lên trục:

Phản lực tác dụng lên trục bánh xe: N = mg = 9,8.25 = 245 N (4.25)

Lực vòng trên bánh xe: #& = &q

> +, = 15(N) (4.26) Lực vòng trên bánh đai răng lớn: #$ = &q

> M = 36,25(N) (4.27) Lực tác dụng lên trục bánh xe đối với bộ truyền đai răng theo công thức : 8$ = (1 ÷1.2)

 Tính phản lực tại các gối đỡ:

Phương trình cân bằng moment tại D theo Oyz

 s wx = 420,28 Phương trình cân căng theo Oyz :

Hình 4.13 Biểu đồ tính toán nội lực của trục

Phương trình cần bằng moment tại D theo Oxz

Phương trình cần bằng moent tại D theo 0xz

Tính moment tương đương tại các vị trí:

Để đảm bảo tính tương thích với cấu trúc và lắp đặt bánh đai răng, chúng ta chọn đường kính tại điểm A là dA = 8mm và đường kính tại điểm B là dB = 12mm Đối với việc lắp đặt ổ lăn, đường kính tại điểm C được chọn bằng đường kính tại điểm D, tức là dC = dD = 12mm.

4.8.2 Tính toán dung sai cho trục bánh xe và ổ lăn

Vòng trong của ổ quay kết hợp với trục tạo ra tải trọng tác động lên toàn bộ đường lăn của ổ, và hiện tượng này lặp lại sau mỗi vòng quay Do đó, tải trọng của vòng trong ổ được xem là có tính chu kỳ.

- Tải trọng vòng trong là tải trọng chu kỳ

- Đường kính của ổ là: d = 10 mm < 100

→ Trang 71 [2], Đường kính trục là 12mm → d = 12k6

→Tra bảng 2 trang 183 [2], ta có trục có kích thước là: d = 12k6 = 12 Y%,%%$ Y%,%$&

Tính toán động học

Bảng 4.6 Bảng kí hiệu các thông số tính toán động học được sử dụng

Vận tốc dài của robot (m/s) ‡

Vận tốc góc của robot (rad/s) ˆ

Vận tốc góc trục bên phải (rad/s) ˆ ‰ Vận tốc góc trục bên trái (rad/s) ˆŠ

Vận tốc góc động cơ bên phải (rad/s) ˆ >1‰

Vận tốc góc động cơ bên trái (rad/s) ˆ >1Š Vận tốc dài trục bên phải (m/s) ‡‰

Vận tốc dài trục bên trái (m/s) ‡Š

Góc định hướng khi robot rẽ trái hoặc phải (rad) ‹

Bán kính mỗi bánh xe (m) R = 0.0725

Khoảng cách hai tâm trục hai bánh xe (m) L = 0.37

Bán kính chuyển động của robot khi quay một góc ‹ R T

Xét trường hợp robot chuyển động thẳng:

Hình 4.14 Robot chuyển động thẳng

Robot của nhóm được thiết kế với hai bánh dẫn động vi sai, với cấu tạo cơ bản như hình minh họa Theo nguyên lý cơ học, vận tốc của hai bánh sau ‡‰ và ‡Š có thể được tính toán một cách chính xác.

Vận tốc của robot di động được tính bằng trung bình cộng vận tốc của bánh xe chuyển động bên phải và bên trái:

Trong trường hợp robot chuyển động theo một cung tròn, chiều dài đường chuyển động của robot, ký hiệu là L‘, được tính bằng trung bình cộng của hai cung bên trái L’ và bên phải L“.

Hình 4.15 Mô tả chuyển động robot khi rẽ một cung

Góc định hướng ‹ của robot được tính như sau :

Cả L’ bên trái và L“ bên phải đều có thể thu được theo bán kính chuyển động R‘, L và góc định hướng của robot: ˜ ‰ ™sq Š

Từ đó, góc định hướng của robot theo chiều dài LL, LR và khoảng cách L của hai bánh được xác định bởi:

Vận tốc góc của robot quay có sự khác biệt giữa vận tốc bên phải (vR) và vận tốc bên trái (vL), nhằm điều chỉnh khoảng cách giữa hai trục bánh xe dẫn động (L).

Vận tốc góc của robot:

‹› ˆ, trong đó ˆ là vận tốc góc của cả robot

Giải hệ hai phương trình trên: ˆ ‰ &•Y•Š &‰ (4.44) ˆ Š 2ˆ − ˆ˜

Do sử dụng bộ truyền đai tỷ số truyền là 2 nên tốc độ hai động cơ bên phải ˆ >1‰ và bên trái ˆ >1Š : ˆ Qœs &ŒY &‰ ˆ Š 2 (4.45) ˆ Qœ˜ &Œ! &‰ ˆ Š 2 (4.46)

Từ 2 công thức 4.45 và 4.46 trên có thể thấy muốn xe cua 1 góc ‹ thì sẽ phụ thuộc vào 2 biến là vận tốc dài của xe và vận tốc góc của xe Việc lựa chọn vận tốc dài của xe và vận tốc góc của xe để cho ra góc cua phù hợp sẽ được trình bày ở chương 6.

CHƯƠNG 5: TÍNH TOÁN THIẾT KẾ HỆ THỐNG ĐIỆN VÀ THIẾT

KẾ BỘ PI CHO ĐỘNG CƠ

Xây dựng hệ thống điện điều khiển

5.1.1 Sơ đồ khối hệ thống điều khiển

Sơ đồ 5.1 Sơ đồ hệ thống điện

Robot bao gồm 5 khối trong hệ thống điện:

Khối đầu tiên của hệ thống cung cấp nguồn cho toàn bộ thiết bị, bao gồm nguồn 12VDC từ ắc quy để điều khiển hai mạch H-Bridge cho hai động cơ Đồng thời, nguồn 12VDC cũng được hạ áp xuống 5V 5A để cấp cho board Jetson Nano Ngoài ra, nguồn sạc dự phòng 5VDC được sử dụng để cung cấp điện cho vi điều khiển STM32F103C8T6 và encoder.

Bộ xử lý chính của robot, được coi là bộ não, là khối thứ hai, sử dụng board Jetson Nano để thực hiện tính toán và xử lý dữ liệu từ camera Đồng thời, nó cũng truyền các tham số điều khiển, như tốc độ động cơ, đến khối thứ tư.

Khối cảm biến, giống như cặp mắt của robot, sử dụng camera Kinect v2 để thu thập dữ liệu hình ảnh từ môi trường Dữ liệu này sau đó được xử lý trên board Jetson Nano.

 Khối thứ tư là khối điều khiển, nhận lệnh tốc độ từ khối thứ hai và điều khiển PID tốc độ của động cơ

 Cuối cùng, khối thứ năm là khối cơ cấu chấp hành, gồm 2 động cơ DC Servo

Khối nguồn trong hệ thống đóng vai trò quan trọng trong việc cung cấp năng lượng cho toàn bộ thiết bị Ắc quy 12V 10Ah là nguồn chính, cung cấp điện cho cả mạch cầu H và Board Jetson Nano Bên cạnh đó, khối nguồn phụ, hay còn gọi là sạc dự phòng, đảm nhiệm việc cung cấp năng lượng cho vi điều khiển STM và encoder trên động cơ.

 Tính toán, lựa chọn nguồn cung cấp chính 24VDC

Công suất từng linh kiện điện tử:

- Động cơ Planet 12-24VDC, công suất tối đa 30W

- Camera Kinect V2 , công suất tối đa 12W

- Jetson Nano 5V 4A, công suất tối đa 20W

- H-Bridge driver, bỏ qua do công suất tỏa nhiệt quá nhỏ

- Mạch hạ áp DC XY-3606 LM2596S 5V 5A, bỏ qua do công suất tỏa nhiệt nhỏ

- Với tổng công suất tối đa sử dụng là: 2.30 + 12 + 20 = 92W

- Công thức tính dung lượng pin cần thiết: • ž q , trong đó (5.1)

Cho T = 1 giờ là thời gian xe có thể chạy liên tục với công suất tối đa như trên, với V 12V, = 0.8 thì dung lượng cần thiết cho xe là • $&∗%,\ /&∗$ 9,58 (Ah)

Nhóm đã quyết định sử dụng 2 ắc quy Eagle Thái Lan YTS5s (GEL) 12V 5Ah mắc song song, nhằm đạt được nguồn điện 12V 10Ah cho thời gian chạy liên tục 1 giờ với dung lượng 9,58Ah.

Ngoài ra, nhóm còn dùng thêm nguồn sạc dự phòng để cấp nguồn riêng cho Stm32f103c8t6 và Encoder của động cơ

Hình 5.1 Ắc Quy Eagle Thái Lan YTS5s(GEL) 12V 5Ah

Hình 5.2 Sạc dự phòng 15000mah

 Mạch hạ áp 5V-5A cấp nguồn Board Jetson Nano

Mạch hạ áp 5V-5A được sử dụng để hạ áp từ nguồn chính 24VDC xuống 5V cấp cho Board Jetson Nano

Hình 5.3 Mô đun hạ áp DC-DC 24V/12V To 5V 5A

- Điện áp đầu vào: DC 9V - 36V

- Sức chứa đầu ra: o Đầu vào 9 ~ 24V: Đầu ra 5.2V / 6A / 30W o Đầu vào 24 ~ 32V: Đầu ra 5.2V / 5A / 25W o Đầu vào 32 ~ 36V: Đầu ra 5.2V / 3.5A / 18W

5.1.3 Khối cảm biến (camera Kinect v2)

 Nhiệm vụ khối cảm biến

Camera Kinect v2 hoạt động như đôi mắt của robot, giúp nhận diện môi trường xung quanh Đặc biệt, thiết bị này cho phép robot phát hiện và theo dõi con người, từ đó tạo điều kiện cho robot tự động tương tác và di chuyển theo người.

Camera Kinect v2 là một thiết bị cảm biến đa chức năng được phát triển bởi Microsoft

Nó được thiết kế đặc biệt để nhận dạng và theo dõi chuyển động của con người trong không gian 3D

 Những ứng dụng phổ biến của Camera Kinect V2:

- Nhận dạng và theo dõi chuyển động

Cảm biến chiều sâu (Depth Sensor) sử dụng công nghệ Time-of-Flight (ToF) để đo khoảng cách từ camera đến các điểm trong không gian Kinect v2 áp dụng ánh sáng hồng ngoại và cảm biến để đo thời gian ánh sáng di chuyển đến các đối tượng và trở lại, từ đó xác định khoảng cách chính xác.

Cảm biến hình ảnh RGB tích hợp trong Kinect v2 ghi lại hình ảnh màu sắc, cho phép nhận diện và theo dõi các đối tượng trong không gian hiệu quả.

Mảng microphone của Camera Kinect v2 cho phép thu âm và xác định hướng tiếng nói, giúp nhận dạng và xử lý âm thanh hiệu quả Điều này tạo điều kiện thuận lợi cho việc tương tác giọng nói với hệ thống.

Camera Kinect v2 được thiết kế với khả năng thu thập thông tin chiều sâu và hình ảnh màu sắc, đồng thời tích hợp chức năng thu âm và xử lý âm thanh Điều này tạo ra một hệ thống toàn diện để nhận dạng và theo dõi chuyển động trong không gian 3D.

Thông số kỹ thuật Realsense Camera D455 cần quan tâm:

- Khoảng cách hoạt động của cảm biến độ sâu: 0,5 – 5,0 m

- Tỷ lệ khung hình RGB: 30fps

- Độ phân giải khung hình ảnh màu: 1920x1080

- Độ phân giải khung hình ảnh depth: 512x424

- Tầm nhìn sâu: 70 o - 60 o (chiều ngang – chiều dọc)

 Nhiệm vụ khối điều khiển

Sơ đồ 5.2 Sơ đồ khối điều khiển từ STM32

Vi điều khiển STM32F103C8T6 kết hợp với driver cầu H được sử dụng để điều khiển hai động cơ DC Servo STM32F103C8T6 nhận lệnh vận tốc từ Jetson Nano qua giao thức UART (sử dụng UART2) và thực hiện điều khiển tốc độ cho hai động cơ bằng thuật toán PID.

STM32F103 là vi điều khiển 32-bit của STMicroelectronics, sử dụng lõi ARM Cortex-M3 với tốc độ tối đa 72MHz, mang lại hiệu suất mạnh mẽ và linh hoạt Với chi phí hợp lý và sự hỗ trợ từ nhiều mạch nạp cùng công cụ lập trình, việc phát triển và nạp chương trình trở nên dễ dàng hơn bao giờ hết.

Cấu hình các chân giao tiếp được sử dụng để điều khiển tốc độ động cơ:

- Timer 3 để tạo xung PWM cấp cho 2 động cơ

- Ngắt ngoài cho A11,A12 và B4,B6 lần lượt đọc encoder phải và trái

- 4 chân B8, B9 và B5, B7 lần lượt là chân đảo chiều động cơ phải và trái

- Sử dụng USART1 để giao tiếp với Netson Nano

Hình 5.5 Cấu hình các chân được sử dụng

Mạch cầu H là một mạch công suất quan trọng, thường được sử dụng trong điều khiển động cơ điện DC Hiện nay, trên thị trường có nhiều loại mạch cầu H khác nhau, và việc lựa chọn loại phù hợp phụ thuộc vào các yêu cầu cụ thể của ứng dụng.

55 yếu tố quan trọng như dòng điện, áp điều khiển và tần số, tùy theo ứng dụng cụ thể mà chúng được sử dụng

Hình 5.6 Cấu tạo đơn giản cầu H [11]

Thông số của driver mà nhóm sử dụng:

Hình 5.7 Các ký hiệu của mạch [14]

 Điện áp sử dụng: 7 ~ 24 VDC (Limit: 6.5 ~ 27VDC)

Công suất tối đa của động cơ là 160W, tuy nhiên khi vận hành liên tục, chỉ nên sử dụng 70% công suất tối đa, tức khoảng 115W cho mỗi động cơ Ngoài ra, cần lắp thêm cầu chì để bảo vệ khỏi tình trạng quá tải.

5.1.5 Cơ cấu chấp hành (Động cơ DC Servo) Động cơ DC Servo là một hệ thống gồm hai thành phần chính, bao gồm động cơ DC và encoder Ngoài ra, để tăng mô men quay và giảm tốc độ của động cơ có thể thêm một hộp số vào đó Động cơ Servo DC được sử dụng để điều khiển chính xác các thông số như góc quay, tốc độ và mô men Trong dự án này, nhóm đã lựa chọn cặp động cơ Planet Servo DC với công suất 30W, tốc độ tối đa 600rpm Động cơ này sử dụng nguồn DC 24V và encoder với 12 xung Ngoài ra, nó còn được trang bị hộp số với tỉ số truyền 1:19,2

Hình 5.8 Động cơ Planet DC Servo

Thiết lập bộ điều khiển PI cho động cơ

Cấu trúc bộ điều khiển PI điều khiển tốc độ động cơ được xây dựng như sơ đồ bên dưới:

Sơ đồ 5.5 Sơ đồ bộ điều khiển PI tốc độ động cơ

 SP: tốc độ đặt hay tốc độ động cơ mong muốn

 MV: điện áp cấp cho động cơ, cụ thể là giá trị PWM

 PV: tốc độ thực tế của động cơ được tính từ giá trị encoder trả về

 e = SP – PV: sai số giữa tốc độ mong muốn và tốc độ thực tế

Hàm truyền tương đối của động cơ DC Servo 30W 600 được xác định từ thực nghiệm, với tốc độ tối đa đạt khoảng 611 vòng/phút Động cơ này có hộp giảm tốc với hệ số 19,2 và sử dụng encoder 12ppr, cho phép kiểm soát chính xác tốc độ hoạt động của nó.

Công thức tính tốc độ động cơ ndc từ giá tị xung encoder:

 T = 10ms là thời gian lấy mẫu, tức thời gian mỗi lần đọc giá trị xung encoder

 ndc là tốc độ động cơ trong khoảng thời gian T

 M là là số xung encoder trong khoảng thời gian T

 ppr = 12 là số xung encoder mỗi vòng chưa qua hộp giảm tốc của động cơ

 u = 19,2 là hệ số hộp giảm tốc

 N = 4 là chế độ đọc encoder X4 (xét trạng thái cả hai kênh A,B của encoder)

Các bước tìm được hàm truyền tương đối của động cơ bằng System Identification Tool của Matlab:

Bước đầu tiên là chuẩn bị dữ liệu đầu vào, bao gồm bảng dữ liệu ghi nhận sự thay đổi tốc độ của động cơ từ 0 cho đến tốc độ tối đa tương ứng với điện áp 24.3VDC (từ nguồn tổ ong) Cung cấp điện áp 24.3 VDC và tiến hành ghi nhận tốc độ động cơ trong khoảng thời gian lấy mẫu T = 10ms Dữ liệu thu thập sẽ phản ánh sự biến đổi của tốc độ động cơ trong quá trình này.

Hình 5.12 Dữ liệu thu thập được về sự thay đổi tốc độ động cơ phải

Bước 2: Lưu dữ liệu thu thập vào file Excel và sử dụng công cụ System Identification Tool của Matlab để xác định hàm truyền tương đối Nhập dữ liệu đã đo từ file Excel vào Matlab để tiến hành phân tích.

 Nhập cột điện áp bằng lệnh: o u1 = xlsread('left_motor.xlsx',1,'B1:B80')

 Nhập cột tốc độ bằng lệnh:

 Lưu 2 file dữ liệu vừa nhập vào matlab thành một file thống nhất bằng lệnh: save ident u1 y1

 Mở giao diện System Identification Tool bằng lệnh: ident

Hình 5.13 Giao diện System Identification Tool

Nhập dữ liệu là sự thay đổi tốc độ động cơ từ lúc bằng 0 đến khi đạt tốc độ lớn nhất:

Hình 5.14 Dữ liệu đã được nhập vào System Identification Tool

Sau khi dữ liệu được nhập vào Công cụ Nhận dạng Hệ thống, đồ thị biểu diễn mối quan hệ giữa điện áp đầu vào (volt) và tốc độ động cơ theo thời gian sẽ được hiển thị dưới đây.

Hình 5.15 Đồ thì biểu diễn sự thay đổi tốc độ động cơ (RPM) ứng với điện áp 24.3VDC theo thời gian (s)

Chọn hàm truyền của động cơ phải (Right Motor) có dạng bậc nhất không trễ:

Nhóm tìm được các thông số hàm truyền của động cơ phải:

Hình 5.16 Các thông số hàm truyền tương đối động cơ phải tìm được

Hàm truyền động cơ trái có dạng: ‰• ¢Y$

Vậy hàm truyền tương đối của động cơ phải là: ‰• &0,% ¦− V¦§ = ¨¦K => ¦− V¦§ = ¨©K ¨( , ¨v là tiêu cự camera theo chiều ngang và dọc (pixel)

V ( , V v là điểm tâm của mặt phẳng image(pixel)

Từ (6.1) và (6.2) suy ra được : ô ( v ơ = -ă ( 0 V(

0 0 1ả ¯ §°K ±°K 1 ² (6.3) Áp dụng công thức khoảng cách một điểm đến góc tọa độ Oxyz, Khoảng cách từ của điểm M trên ảnh RGB tương ứng với P trong không gian:

Vì camera để xoay nên tọa độ trên ảnh gốc thay đổi theo công thức : x = © 8 V ( = V v8 y = w - ¦8 Vv= V(8 (6.5) ¦ 8 , © 8 , V (8 , V v8 là tọa độ trong ảnh đã xoay

6.3.2 Xử lý dữ liệu để nhận dạng người và phân loại

The "Detection" block utilizes standardized camera data and employs the function jetson.inference.detectNet("ssd-mobilenet-v2", threshold=0.5) to load a model supported by jetson-inference.

Khối "Classifier" sử dụng dữ liệu từ ảnh HSV đã được chuẩn hóa và áp dụng hàm cv2.findContours trong thư viện OpenCV để phân loại màu sắc của áo Mục tiêu là phân loại đối tượng robot theo dõi, giúp nhận diện và phân biệt các đối tượng khác nhau.

Sơ đồ 6.4 Sơ đồ khối của khối “Classifier”

Giai đoạn I : Dùng để giới hạn màu sắc để phân loại đối tượng

Giai đoạn II : Dùng để xóa nhiễu và lọc các thông tin liên quan đến đối tượng cần nhận dạng

Giai đoạn III : Dùng để tăng số lượng pixel chiều dọc và chiều ngang sau khi lọc nhiễu có một phần bị mất đi

Giai đoạn IV : Dùng đường viền để bao quang đối tượng cần nhận diện

6.3.3 Dùng dữ liệu đã được xác định để tìm alpha giữa robot và người

Hình 6.4 Mô tả hình học phép chiếu 3D

 Tính toán góc alpha giữa robot và người

Để tính góc từ điểm P so với robot, ta chiếu điểm P vuông góc với trục Y tạo thành điểm 'x' Góc alpha được hình thành bởi đoạn thẳng OP và O'x trong mặt phẳng 'ã'x.

Trong tam giỏc vuụng 'ã' x : α = sin ™ á x š= sin ™ x > š (6.6)

Từ công thức (6.2) và (6.3) suy ra: α = sin ạ v! ^ ê

Trong phép chiếu, ảnh tính toán được sử dụng là ảnh gốc, trong khi ảnh phát hiện người đã được xoay Bằng cách áp dụng công thức (6.5), ta có thể tính được góc alpha bằng công thức: α = sin ạ ằ ! ( _ ! ^ +_

OÊ M Y v _ !^ ê_ M Y ằ! ( _ !^ +_ M º (6.8) Với x_r , y_r ở đây tương ứng với tọa độ tâm của boudingbox (pixel)

C_xr , C_yr là tọa độ tâm của khung hình (pixel) α là góc giữa người và robot ( độ )

Thiết lập node “data_processing”

 Node này giao tiếp với các topic như sau:

- “/distance”:khoảng cách giữa người và robot

- “/is_person”: thông số cho biết có người trong khung hình hay không

- “/alpha”: góc giữa người so với robot

- “/is_clothes” : nhận diện màu sắc của áo

Thiết cho thuật toán điều khiển (0 là không có, 1 là có)

- “/is_clothes” : thông số cho biết có màu áo trong khung hình hay không

- “/is_person”: thông số cho biết có người trong khung hình hay không

- “/vel_right”: tốc độ của bánh xe phải

- “/vel_left”: tốc độ của bánh xe trái

Sơ đồ 6.5 Input và output của node “data_processing”

Nhiệm vụ chính của node này là chuyển đổi dữ liệu thành vận tốc động cơ Sau khi nhận dữ liệu từ các publisher như “/is_person”, “/is_clothes”, “/distance” và “/alpha”, các công thức trong node “data_processing” sẽ được áp dụng để tính toán vận tốc Kết quả sẽ được gửi đến động cơ xe thông qua STM32 Detect_status cũng được bao gồm trong quá trình này.

Giải thuật dẫn hướng cho robot

Robot sẽ di chuyển và duy trì khoảng cách 1m với người Khi người lệch một góc alpha so với xe, xe sẽ chuyển động theo một cung cố định để theo kịp Nếu không còn người, xe sẽ quay tại chỗ.

Khi tìm kiếm người, khoảng cách lý tưởng là 1m, giúp người dùng không phải bước quá dài để đến xe, đồng thời đảm bảo xe có đủ không gian để xử lý tình huống.

Hình 6.5 Vị trí người so với robot

Sơ đồ 6.6 Sơ đồ khối cho node “data_processing”

 Alpha: góc lệch giữa xe và người

 d: là viết tắt của distance, là khoảng cách giữa xe và người

Phương pháp di chuyển của xe hoạt động như sau: người dùng khởi động máy bằng cách nhấn nút nguồn và nhấn start để xe bắt đầu thu nhận dữ liệu Xe di chuyển theo người bằng cách sử dụng biến alpha và khoảng cách, với tốc độ tuyến tính từ 0,3-0,7m/s, thay đổi theo khoảng cách từ 1-3m Sau nhiều thử nghiệm, nhóm đã xác định góc alpha phù hợp để xe di chuyển thẳng là trong khoảng -10° đến 10° Khi góc alpha vượt quá 10° hoặc dưới -10°, xe sẽ thực hiện cua theo người, với điều kiện khoảng cách vẫn nằm trong khoảng 1-3m.

Tốc độ động cơ phải: J>1‰ ˆ>1‰ -% = (rpm) (6.9)

Tốc độ động cơ trái: J >1Š ˆ >1Š -% = (rpm) (6.10)

Xe sẽ cua 1 cung theo người khi alpha>10 o và alpha

Ngày đăng: 07/11/2023, 20:22

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w