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

Thiết kế và chế tạo robot phục vụ trong khách sạn

121 10 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 đề Thiết Kế Và Chế Tạo Robot Phục Vụ Trong Khách Sạn
Tác giả Nguyễn Đức Hào, Nguyễn Viết Đức, Nguyễn Trung Tín
Người hướng dẫn Ths. Dương Thế Phong
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ông Nghệ Kỹ Thuật Cơ Điện Tử
Thể loại Đồ Án Tốt Nghiệp
Năm xuất bản 2023
Thành phố Thành Phố Hồ Chí Minh
Định dạng
Số trang 121
Dung lượng 8,34 MB

Cấu trúc

  • CHƯƠNG 1 TỔNG QUAN ĐỀ TÀI (18)
    • 1.1 Giới thiệu chung (18)
    • 1.2 Lý do chọn đề tài (18)
    • 1.3 Tính cấp thiết của đề tài (19)
    • 1.4 Ý nghĩa thực tiễn (19)
    • 1.5 Mục tiêu và giới hạn đề tài (19)
    • 1.6 Phương pháp nghiên cứu (20)
  • CHƯƠNG 2 TỔNG QUAN VỀ ROBOT AGV (21)
    • 2.1 Tổng quan về robot agv (21)
      • 2.1.1 AGV là gì? (21)
      • 2.1.2 Lịch sử hình thành và phát triển (21)
      • 2.1.3 Phân loại (21)
    • 2.2 Tình hình nghiên cứu trong và ngoài nước (24)
      • 2.2.1 Nước ngoài (24)
      • 2.2.2 Trong nước (25)
      • 2.2.3 Giới hạn của đề tài (26)
  • CHƯƠNG 3 CƠ SỞ LÝ THUYẾT (27)
    • 3.1 Phân tích động học (27)
    • 3.2 Thuật toán PID (29)
    • 3.3 Máy tính nhúng Raspberry Pi (32)
    • 3.4 Công nghệ Lidar (35)
    • 3.5 Tổng quan về ROS (36)
      • 3.5.1. Cấu trúc của ROS (36)
    • 3.6. Thuật toán DWA (40)
    • 3.7. Web server (42)
      • 3.7.1. Giới thiệu về Website (42)
  • CHƯƠNG 4 PHƯƠNG HƯỚNG VÀ GIẢI PHÁP (46)
    • 4.1 Cơ cấu di chuyển (46)
    • 4.2 Cơ cấu truyền động (47)
    • 4.3 Các loại động cơ (48)
    • 4.4 Phương pháp định vị robot (49)
    • 4.5 Thuật toán di chuyển (50)
    • 4.6 Tối ưu chu trình di chuyển (52)
  • CHƯƠNG 5 TÍNH TOÁN, THIẾT KẾ (54)
    • 5.1 Tính toán thiết kế cơ khí (54)
      • 5.1.1 Yêu cầu thiết kế (54)
      • 5.1.2 Tính toán hệ thống truyền động (54)
      • 5.1.3 Kiểm nghiệm bền (69)
    • 5.2 Tính toán thiết kế hệ thống điện (76)
      • 5.2.1 Lựa chọn linh kiện điện (76)
      • 5.2.2 Hệ thống điện robot (81)
      • 5.2.3 Sơ đồ nguyên lý mạch điều khiển cho đế robot (82)
    • 5.3 Hệ thống điều khiển robot (83)
      • 5.3.1 Điều khiển động cơ (84)
      • 5.3.2 Giao tiếp giữa mạch điều khiển và máy tính (85)
    • 5.4 Thiết kế trạm sạc Robot (85)
      • 5.4.1 Giới thiệu (85)
      • 5.4.2 Các thiết bị và linh kiện (86)
      • 5.4.3 Xây dựng hệ thống sạc tự động (90)
  • CHƯƠNG 6 XÂY DỰNG GIẢI THUẬT ĐIỀU KHIỂN (94)
    • 6.1 Tổng quan sơ đồ điều khiển (94)
    • 6.2 Giải thuật tối ưu chu trình đi (95)
    • 6.3 Lưu đồ thuật toán giao tiếp với người dùng (97)
  • CHƯƠNG 7 KẾT QUẢ VÀ THỰC NGHIỆM (98)
    • 7.1 Kết quả thi công mô hình (98)
    • 7.2 Đánh giá thông số bộ điều khiển PID (99)
    • 7.3 Kết quả di chuyển giữa 2 điểm A – B (102)
    • 7.4 Kết quả thuật toán tối ưu chu trình di chuyển (103)
    • 7.5 Kết quả di chuyển đến phòng chỉ định (106)
      • 7.5.1 Độ sai lệch khi đến phòng (106)
      • 7.5.2 Đồ thị di chuyển (107)
      • 7.5.3 Đánh giá vận tốc bánh xe (110)
    • 7.6 Giao diện giám sát điều khiển (112)
      • 7.6.2 Đánh giá khả năng điều khiển thông qua website (114)
    • 7.7 Kết quả thi công trạm sạc Robot (115)
  • TÀI LIỆU THAM KHẢO (118)

Nội dung

TỔNG QUAN VỀ ROBOT AGV

Tổng quan về robot agv

AGV (Automated Guided Vehicle) hay xe tự hành vận chuyển là sản phẩm thông minh giúp vận chuyển hàng hóa mà không cần sự can thiệp của con người, còn được gọi là robot di động tự động (AMR) AGV di chuyển theo các lộ trình đã được định sẵn, sử dụng các công nghệ như sóng vô tuyến, camera quan sát và laser để dẫn đường Vai trò của AGV rất quan trọng trong lĩnh vực vận chuyển vật liệu, đặc biệt là trong các nhà máy sản xuất linh kiện điện tử, chi tiết lắp ráp, sản phẩm khuôn đúc, thực phẩm và đồ uống.

2.1.2 Lịch sử hình thành và phát triển

Vào năm 1953, Arthur “MAC” Barrett đã chế tạo xe tự hành đầu tiên mang tên “Guide - O – Matic”, sau này được đổi tên thành AGV, và ông được công nhận là cha đẻ của công nghệ này Mục tiêu chính của việc phát triển xe tự hành AGV là giảm tải công việc cho nhân viên trong việc di chuyển hàng hóa giữa các khu vực, một mục tiêu vẫn giữ nguyên cho đến ngày nay.

Giai đoạn từ năm 1990 đến 2010, sự phát triển của công nghệ khoa học đã dẫn đến việc ra đời các loại cảm biến mới, bao gồm cảm biến không tiếp xúc, công nghệ nhận dạng hình ảnh và các bộ vi xử lý, tạo nên những chiếc xe tự hành AGV với độ "thông minh" vượt trội Những chiếc xe này có tốc độ di chuyển cao hơn, cảm biến tốt hơn, khả năng ghi nhớ nhanh hơn, tự động trở về điểm nạp năng lượng và chi phí đầu tư thấp.

Từ năm 2010 đến 2020, xe tự hành AGV đã trải qua nhiều cải tiến hiện đại và giảm chi phí sản xuất Sự đa dạng về mẫu mã, thiết kế và chức năng đã giúp AGV được ứng dụng rộng rãi trong nhiều lĩnh vực khác nhau.

❖ Phân loại theo chức năng

Xe tự hành AGV dạng kéo (Towing Vehicle)

Xe kéo là loại phương tiện vận tải phổ biến nhất, có khả năng kéo một hoặc nhiều toa hàng nối tiếp nhau Xe có thể kết nối với các toa hàng bằng tay hoặc tự động thông qua hệ thống móc kéo, với khối lượng tải linh hoạt từ vài trăm kg đến hàng tấn tùy thuộc vào cấu hình của xe.

- Vận chuyển được tải trọng lớn

- Phù hợp với thiết bị có bánh xe

Hình 2.1 Xe tự hành AGV dạng kéo

Xe tự hành AGV dạng chở (Unit Load Vehicle)

Xe được trang bị các khay chứa riêng biệt, được thiết kế với đáy cách mặt đất phù hợp với chiều cao của xe chở, giúp việc nâng hạ hàng hóa trở nên dễ dàng Hàng hóa sẽ được chuyển lên băng tải hoặc được đặt vào khay chứa bằng tay hoặc tự động.

- Nhanh chóng, linh hoạt và có độ bền cao

- Phù hợp để vận chuyển hàng hóa gọn, nhẹ, ít cồng kềnh

Hình 2.2 Xe tự hành AGV dạng chở

Xe tự hành AGV dạng nâng (Fork Vehicle)

Xe dạng nâng có khả năng nâng hàng hóa đặt trên sàn, được thiết kế với chức năng di chuyển hàng hóa lên cao Đặc điểm:

- Phù hợp cho hàng hóa đặt trên bục hoặc pallet

- Có khả năng đưa hàng hóa lên cao

- Chi phí cao hơn so với các dòng AGV khác

Hình 2.3 Xe tự hành dạng nâng

Xe tự hành AGV dạng đẩy (Cart Vehicle)

Xe dạng đẩy thì ngược lại với dạng kéo, được chế tạo để vận chuyển các hàng hóa đặt phía trước của xe Đặc điểm:

- Tính linh hoạt cao, giá thành thấp

- Nhanh chóng, độ bền cao

- Sử dụng để chở thiết bị, linh kiện

Hình 2.4 Xe tự hành dạng đẩy

❖ Phân loại theo dạng đường đi

AGV không theo đường dẫn (Free Path Navigation)

AGV loại này có khả năng di chuyển linh hoạt trong không gian hoạt động nhờ vào các cảm biến xác định di chuyển và cảm biến laser để nhận diện vị trí các vật thể xung quanh Hệ thống định vị cục bộ giúp xác định tọa độ tức thời, từ đó xác định vị trí của AGV trên bản đồ một cách chính xác.

AGV chạy theo đường dẫn (Fixed Path Navigation)

Loại này được thiết kế để chạy theo các đường dẫn được thiết kế sẵn, gồm các loại đường dẫn:

Đường dẫn từ là loại đường dẫn được tạo thành từ các dây từ chôn ngầm dưới nền sàn, giúp AGV di chuyển nhờ vào các cảm biến cảm ứng Với thiết kế không nằm trên bề mặt sàn, loại đường dẫn này mang lại tính thẩm mỹ cao và không gây ảnh hưởng đến các hoạt động khác trong cùng không gian.

Đường ray dẫn là loại được lắp đặt cố định trên các bề mặt sàn, phù hợp cho những hệ thống chuyên dụng Hệ thống này có thiết kế đơn giản, cho phép xe di chuyển với tốc độ cao, tuy nhiên lại thiếu tính linh hoạt.

Đường băng kẻ trên sàn là hệ thống vạch kẻ được dán sẵn, giúp xe AGV di chuyển theo các vạch này nhờ vào cảm biến Hệ thống này có tính linh hoạt cao, cho phép dễ dàng thay đổi lộ trình bằng cách vẽ lại các vạch kẻ Tuy nhiên, một nhược điểm là các vạch kẻ có thể bị bẩn hoặc hư hại trong quá trình hoạt động.

Tình hình nghiên cứu trong và ngoài nước

Nhiều khách sạn trên thế giới đã bắt đầu sử dụng robot phục vụ tận phòng, cho thấy khả năng hoạt động độc lập và ổn định của chúng Trong 25 năm qua, nghiên cứu về robot tại Việt Nam đã có những bước tiến đáng kể, với nhiều trường đại học như Đại học Bách khoa Tp.HCM, Đại học Sư phạm Kỹ thuật Tp.HCM và Đại học Tôn Đức Thắng thực hiện các nghiên cứu cơ bản và ứng dụng Tuy nhiên, hiện tại chưa có khách sạn nào ở Việt Nam áp dụng mô hình robot phục vụ thực tiễn Dưới đây là một số robot phục vụ khách sạn tiêu biểu.

❖ Robot của công ty Savioke - “Relay”

Relay là robot phục vụ khách sạn được sản xuất bởi Savioke, một công ty ở San Jose, California Vào tháng 8/2014, Savioke giới thiệu SaviOne, robot giao hàng tự động có khả năng điều hướng qua hành lang, thang máy và vượt chướng ngại vật để chuyển đồ ăn nhẹ đến phòng khách Sau khi thử nghiệm thành công SaviOne tại một khách sạn ở Cupertino, California, vào tháng 3/2015, Savioke đã ra mắt robot giao hàng mới mang tên Relay Đến năm 2018, đã có 70 robot Relay được triển khai tại nhiều khách sạn trên toàn cầu.

Hình 2.5 Robot "Relay" của Savioke

❖ Robot của công ty Yunji Technology - “RUN”

Robot “RUN” là sản phẩm của công ty khởi nghiệp Yunji Technology tại Bắc Kinh, phát triển vào năm 2016 Đây là một robot dịch vụ thương mại thông minh, có khả năng giao hàng đến tận phòng trong khách sạn, chỉ đường và cung cấp thông tin cho khách hàng Việc triển khai RUN giúp giảm đáng kể khối lượng công việc cho bộ phận dọn phòng và lễ tân, cho phép nhân viên tập trung vào việc cung cấp dịch vụ giá trị hơn, từ đó nâng cao sự hài lòng của khách hàng.

Bảng 2.1 Thông số kỹ thuật robot RUN

Storage Space L27xW22xH30 cm

Hình 2.6 Robot "Run" của Junji Technology 2.2.2 Trong nước

- Hiện tại thị trường trong nước chưa có khách sạn ở bất kỳ quy mô lớn, nhỏ sử dụng Robot thay cho nhân viên phục vụ

- Các robot phục vụ mới chỉ xuất hiện ở mảng dịch vụ ăn uống, nhà hàng

2.2.3 Giới hạn của đề tài

- Nghiên cứu, thiết kế cơ khí cho robot AGV di chuyển với vận tốc di chuyển: 0,2m/s – 0,4m/s

- Không gian làm việc: hành lang 3m*15m với 4 phòng

- Robot AGV vận chuyển các mặt hàng thiết yếu, có kích thước tối đa: 0.5m*0.38m

*0.35m, trọng lượng tối đa 15 kg

- Thời gian hoạt động của robot: 6 - 8 giờ

- Sai số khi robot di chuyển đến phòng: ±20 cm

- Xây dựng trang web quan sát với sai số bản đồ: ±10 pixel

CƠ SỞ LÝ THUYẾT

Phân tích động học

❖ Mô hình toán học của Robot

Nhiệm vụ chính ở đây, là điều khiển vị trí của robot trong mặt phẳng Oxy, ta có thể định nghĩa bằng vector

Hình 3.1 Biểu diễn hướng, vị trí và kích thước của bệ robot

Mô hình động học của robot với 2 bánh xe vi sai chủ động cho phép chúng ta đưa ra các giả thuyết về chuyển động của bánh xe trên mặt phẳng Oxy.

Thứ nhất, Robot có thể di chuyển trong mặt phẳng trong khi trục Z luôn luôn vuông góc với mặt phẳng Oxy

Thứ hai, bánh xe có thể lăn về phía trước không trượt mà không phải đưa ra những ràng buộc, hạn chế cho robot

Trong một khoảng thời gian ngắn, ngay cả khi robot di chuyển thẳng, nó vẫn thực sự di chuyển trên một cung tròn với bán kính R0 và tâm I.

Thứ tư, khung, liên kết cơ khí của robot chắc chắn, khối lượng không đổi và bánh xe chỉ tải các thành phần cấu tạo của robot

Hình 3.2 Mô tả động học di chuyển của bánh xe

Mô hình động học của robot được mô tả như hình 3.2 trên, từ đây ta định nghĩa rằng vận tốc góc của tâm C robot gần như quay quanh điểm I

Từ đó, ta có được phương trình (1) và (2) như sau:

Từ (1) và (2), ta suy ra được vận tốc góc của tâm C robot:

2𝑏 (3) Với b là khoảng cách giữa bánh xe và tâm C của robot

Bán kính R0 của cung tròn mà robot di chuyển được thể hiện bằng:

2∗𝜔(𝑡) (4) Vận tốc thẳng của robot di chuyển tại cung tròn là:

Trên mặt phẳng Oxy, phương trình động học của robot được mô tả thông qua vận tốc thẳng 𝑣(𝑡) và vận tốc góc 𝜔(𝑡), được thể hiện dưới dạng hệ phương trình (6).

Với mục đích là điều khiển robot, thì vị trí x(t) và y(t) là góc quan trọng nhất, góc định hướng có thể dùng để làm mục tiêu điều khiển robot

Mô hình động học được xác định là phương trình (6) là mô hình toán học robot lý tưởng và có thể ứng dụng được

Để điều khiển vị trí chuyển động của robot, cần điều chỉnh vận tốc thẳng của hai bánh xe vR(t) và vL(t) Cuối cùng, việc điều khiển vận tốc góc của hai bánh xe là yếu tố quyết định.

𝜔 𝑅 và 𝜔 𝐿 kết hợp bán kính bánh xe r

Bảng 3.1 Bảng ma trận di chuyển của robot

Chuyển động robot Đi thẳng Đi lùi Quay Trái Quay Phải

Di chuyển bán kính cong về phải

Di chuyển bán kính cong về trái

❖ Bài toán động học nghịch cho robot

Từ phương trình động học thuận trên ta suy được phương trình động học nghịch theo thời gian như sau

Từ mô hình động học đã xây dựng trong bài toán thuận, chúng ta sẽ giải quyết bài toán động học nghịch cho chuyển động của robot Các kết quả thu được từ việc giải bài toán động học nghịch sẽ được áp dụng trong việc lập quỹ đạo di chuyển theo thời gian của robot.

Thuật toán PID

Hình 3.3 Bộ điều khiển PID

Bộ điều khiển vi tích phân tỉ lệ (PID) là một hệ thống điều khiển phản hồi liên tục, thực hiện việc so sánh giữa đầu ra thực tế và đầu ra mong muốn để xác định tín hiệu sai số Tín hiệu sai số này được sử dụng để điều chỉnh đầu vào của hệ thống, giúp đưa đầu ra gần hơn với giá trị mong muốn Bộ điều khiển PID điều chỉnh đầu vào thông qua ba thành phần chính: tỷ lệ (P) dựa trên sai số hiện tại, tích phân (I) dựa trên sai số tích lũy trong quá khứ, và đạo hàm (D) dự đoán sai số trong tương lai.

Hình 3.4 Sơ đồ điều khiển động cơ áp dụng PID

Bộ điều khiển PID được ứng dụng rộng rãi trong ngành công nghiệp nhờ vào độ chính xác và độ tin cậy cao Khả năng điều chỉnh đầu ra của hệ thống thông qua việc điều chỉnh đầu vào, đồng thời xem xét lỗi, tốc độ thay đổi và lỗi tích lũy, khiến nó trở thành công cụ quan trọng cho các ứng dụng như điều khiển quá trình, điều khiển nhiệt độ, điều khiển chuyển động và điều khiển công suất.

Luật điều khiển PID được định nghĩa:

Trong đó u là tín hiệu điều khiển và e là sai lệch điều khiển

Tín hiệu điều khiển là tổng của 3 thành phần: tỉ lệ, tích phân và vi phân

Hàm truyền của bộ điều khiển PID:

𝑇 1 𝑠 + TDs) (5.2) Các tham số của bộ điều khiển: KP, KI, KD

❖ Thành phần Tỉ lệ (P) u(t) = Kpe(t)

Thành phần tỉ lệ trong hệ thống điều khiển ảnh hưởng đến tín hiệu điều khiển tuyến tính, với biên độ sai số và thời gian diễn ra sai số Khi sai lệch e(t) = 0, tín hiệu điều khiển u(t) cũng bằng 0 Sự thay đổi của sai lệch dẫn đến sự thay đổi tương ứng của tín hiệu điều khiển Ưu điểm của phương pháp tỉ lệ (P) là tính đơn giản và tốc độ phản ứng nhanh Hệ số KP càng lớn, tốc độ đáp ứng càng nhanh, cho thấy vai trò quan trọng của P trong giai đoạn đầu của quá trình quá độ.

Khi hệ số tỉ lệ KP tăng, tín hiệu điều khiển sẽ thay đổi mạnh mẽ, gây ra dao động lớn và làm cho hệ thống nhạy cảm hơn với nhiễu Đối với những đối tượng không có đặc tính tích phân, việc sử dụng bộ điều khiển P sẽ dẫn đến sự tồn tại của sai lệch tĩnh.

❖ Thành phần Tích phân (I) u(t) = KI∫ 𝑒(𝜏)𝑑𝜏 0 𝑡

Tín hiệu điều khiển sẽ thay đổi tăng giảm tùy thuộc vào mức độ sai lệch điều khiển, cho dù sai lệch đó nhỏ hay lớn Khi hệ thống đạt trạng thái ổn định, sai lệch sẽ được triệt tiêu, tức là e(t) = 0 Đây chính là lợi ích nổi bật của thành phần tích phân trong điều khiển.

Tuy nhiên, thành phần này có thể khiến giá trị hiện tại vượt quá giá trị đặt, do thành phần tích phân phản ánh đáp ứng của sai số trong quá khứ.

Trong quá trình hoạt động, có một khoảng thời gian trễ giữa đầu ra của bộ điều khiển và sự thay đổi của sai lệch Thành phần vi phân được thiết kế để cải thiện sự ổn định của hệ kín bằng cách tăng tốc độ đáp ứng Nó dự đoán đầu ra của quá trình dựa trên hướng và tốc độ thay đổi của sai lệch, từ đó đưa ra phản ứng phù hợp.

Ngoài ra, thành phần vi phân còn làm ổn định một số quá trình mà các bộ P hay Pi không ổn định được

Thành phần vi phân eaast rất nhạy cảm với nhiễu, và sự khuếch đại tín hiệu nhiễu có thể dẫn đến quá trình không ổn định nếu nhiễu đạt đến mức đáng kể.

Trong thuật toán điều khiển, mô hình AGV thường sử dụng các bộ điều khiển như PD và PID đọc được từ encoder

❖ Các phương pháp xác định thông số bộ điều khiển

Phương pháp đọc xung encoder

Phương pháp đọc xung encoder hồi tiếp từ kênh A và kênh B của encoder gắn với động cơ thông qua bộ truyền được thực hiện ở chế độ 4x Điều này có nghĩa là trong một chu kỳ xung, hệ thống sẽ đọc 4 lần, sử dụng đồng thời 2 chân ngắt để tính toán giá trị đếm Qua đó, phương pháp này giúp xác định chiều quay của động cơ, từ đó tính toán vị trí và vận tốc một cách chính xác.

Hình 3.5 Đọc xung encoder ở chế dộ 4x

Sơ đồ chia cắt số lần đọc cho thấy bốn thời điểm quan trọng trong một chu kỳ Khi kênh A đạt mức cao, sẽ thực hiện ngắt lần 1 để kiểm tra trạng thái kênh B Tiếp theo, khi kênh B đạt mức cao, ngắt lần 2 sẽ được thực hiện để xem trạng thái kênh A Sau đó, khi kênh A giảm xuống mức thấp, ngắt lần 3 sẽ kiểm tra trạng thái kênh B, và cuối cùng, khi kênh B cũng xuống mức thấp, ngắt lần 4 sẽ xem trạng thái kênh A Quá trình này sẽ lặp lại trong nhiều chu kỳ.

Bảng 3.2 Bảng trạng thái đọc xung Trạng thái

Chuyển động cùng chiều kim đồng hồ Chuyển động ngược chiều kim đồng hồ

Hình 3.6 Sơ đồ chuyển logic

Công thức tính vận tốc

V = 60 × CountValue Tsample × MaxCount(RPM) Công thức tính vị trí

❖ Phương pháp tìm giá trị P, I, D Điều chỉnh thủ công: đây là phương pháp hoàn toàn dựa vào thực nghiệm và kinh nghiệm của người điều khiển

Ziegler – Nichols: phương pháp dựa vào thực nghiệm để chứng thực và có thể làm rối loạn quá trình cũng như lỗi thử nghiệm phải điều chỉnh nhiều lần

Sử dụng công cụ phần mềm là phương pháp kết hợp giữa thực nghiệm và tính toán, cho phép mô phỏng kết quả một cách hiệu quả Phương pháp này đòi hỏi chi phí mô phỏng và kỹ năng sử dụng phần mềm, giúp tối ưu hóa quy trình nghiên cứu và phát triển.

Cohen – Coon: phương pháp đòi hỏi tính toán và nắm chắc kiến thức toán học và thường chỉ hoạt động tốt với quá trình bậc nhất

Nhóm đã xem xét các phương pháp và giới hạn của đề tài, từ đó quyết định chọn phương pháp điều chỉnh thủ công để củng cố lý thuyết về bộ điều khiển PID.

Máy tính nhúng Raspberry Pi

Raspberry Pi là một máy tính nhỏ gọn và giá cả phải chăng, có khả năng kết nối với màn hình máy tính và tivi, cùng với việc sử dụng bàn phím và chuột tiêu chuẩn Thiết bị này rất phù hợp cho mọi lứa tuổi, giúp người dùng khám phá công nghệ máy tính và học lập trình một cách dễ dàng.

Raspberry Pi là một máy tính nhỏ gọn có khả năng thực hiện nhiều tác vụ cơ bản như duyệt internet, phát video độ phân giải cao, tạo bảng tính và xử lý văn bản Với khả năng xử lý và đa nhiệm vượt trội, Raspberry Pi nhanh chóng được cộng đồng yêu thích và trở nên phổ biến trong việc sử dụng cho các dự án lập trình như Scratch và Python.

Raspberry Pi 4 - 8 GB là sản phẩm mới nhất trong dòng máy tính Raspberry Pi, với tốc độ vi xử lý, hiệu suất đa phương tiện, bộ nhớ và kết nối được nâng cấp so với Raspberry Pi 3 Phiên bản này vẫn giữ khả năng tương thích ngược và mức tiêu thụ điện năng tương tự, mang lại hiệu suất máy tính tương đương với các hệ thống PC x86 phân khúc thấp Phiên bản 8GB RAM chỉ khác biệt ở dung lượng RAM, trong khi các thông số kỹ thuật khác không thay đổi.

Hình 3.7 Máy tính nhúng Raspberry Pi 4

Raspberry Pi 4 là phiên bản mới nhất được phát triển bởi Raspberry Pi Foundation, cung cấp khả năng kết nối cả có dây và không dây, đáp ứng tốt nhu cầu cho các dự án và nghiên cứu trong lĩnh vực điều khiển thông minh.

Cấu hình chân Raspberry Pi:

Hình 3.8 Sơ đồ chân Raspberry Pi 4

Raspberry Pi 4 hỗ trợ cấp nguồn qua hai phương pháp: một là từ cổng nguồn Type-C và hai là từ các chân 5V Thiết bị này có hai chân nguồn ra với điện áp 3,3V (chân 1, 17) và 5V (chân 2, 6) Ngoài ra, Raspberry Pi 4 còn cung cấp nhiều chân ground, bao gồm chân 6, 9, 12, 20 và các chân khác.

- Chân I/O digital: Raspberry Pi 4 có 28 chân GPIO để giao tiếp Các chân từ 0-9 sẽ ở trạng thái logic cao và từ 10 trở lên sẽ ở trạng thái logic thấp

- Chân giao tiếp GPIO PWM

Hình 3.9 Sơ đồ chân của Raspberry Pi 4

Raspberry Pi 4 cung cấp nhiều phương thức liên lạc hiện đại như Wifi, Bluetooth và mạng LAN

Ngoài các hệ thống kết nối trên, Raspberry Pi 4 còn trang bị cổng kết nối với các thiết bị ngoại vi:

- USB: bao gồm 4 cổng USB (2 cổng hỗ trợ 2.0 và 2 cổng hỗ trợ 3.0)

- PoE Header: là bo mạch cho phép cấp điện thông qua Ethernet Wire

- Máy ảnh, màn hình: cổng MIPI CSI 2-lane có thể giúp người dùng kết nối trực tiếp với máy ảnh, màn hình LCD

- Âm thanh: Raspberry Pi 4 có một cổng âm thanh, ngoài ra âm thanh có thể truyền bằng cổng HDMI

- Thẻ SD: hệ điều hành Raspberry được lưu trữ trong thẻ SD, đây là phần cần thiết nhất của Raspberry.

Công nghệ Lidar

❖ Giới thiệu về công nghệ Lidar

Lidar (Light Detection and Ranging) là công nghệ đo khoảng cách giữa máy phát và vật thể bằng cách phát một chùm tia laser và thu nhận tín hiệu phản hồi Bằng cách phân tích sự khác biệt về thời gian và bước sóng của tia laser, Lidar có khả năng tạo ra bản đồ 3D mô phỏng không gian, đồ vật và con người.

Khoảng cỏch (D) được tớnh bằng ẵ tớch giỏ trị tốc độ ỏnh sỏng (c) và thời gian (t):

❖ Ứng dụng công nghệ Lidar

Lidar, giống như Radar và Sonar, là công nghệ phát hiện và đo đạc trong không gian 3 chiều Nhờ vào khả năng này, Lidar được ứng dụng rộng rãi trong nhiều lĩnh vực như nông nghiệp, khảo cổ học, thiên văn học, thăm dò dầu khí và khí tượng học Hiện nay, Lidar cũng đã được tích hợp vào các sản phẩm công nghệ, chẳng hạn như điện thoại, để hỗ trợ chức năng lấy nét.

Công nghệ Lidar, mặc dù ban đầu tốn kém và chỉ phù hợp với các mô hình lớn, đã chính thức gia nhập ngành công nghiệp ô tô vào năm 2018 Sự kiện này đã thúc đẩy sự phát triển của các hệ thống Lidar nhỏ gọn hơn, giúp đáp ứng nhu cầu cho các dự án quy mô nhỏ.

Hình 3.10 Cấu tạo của Lidar

Hệ thống Lidar được cấu thành từ nhiều thành phần:

- Đầu gửi: là một thiết bị laser bắn các xung ánh sáng laser, thiết bị có thể điều hướng để tăng phạm vi quét

- Đầu nhận: là thiết bị ghi lại thời gian các tia laser trở lại

- Bộ xử lý: là phần cứng hoặc phần mềm để tính toán khoảng cách D giữa thiết bị và mục tiêu

- Ngoài ra còn có thiết bị lưu trữ, phần mềm xử lý tạo bản đồ 3D, thiết bị điều khiển.

Tổng quan về ROS

ROS (Robot Operating System) là nền tảng mã nguồn mở cung cấp thư viện và công cụ cho việc phát triển ứng dụng robot Nó được coi là hệ điều hành dành riêng cho robot, tương tự như Windows hay Ubuntu cho máy tính Mục tiêu của ROS là tạo ra một khuôn khổ plug and play, giúp dễ dàng giao tiếp với robot và các thiết bị liên quan.

Hệ điều hành ROS được thiết kế nhằm mục đích phát triển và đóng gói, tạo ra một nền tảng chung cho các ứng dụng robot Nó bao gồm nhiều thư viện, thuật toán và công cụ hữu ích, giúp các nhà phát triển robot nhanh chóng xây dựng sản phẩm, rút ngắn thời gian thử nghiệm và đánh giá, từ đó nâng cao hiệu quả nghiên cứu và lợi ích thương mại.

Về cơ bản, ROS được chia thành 3 cấp định nghĩa

- Thứ nhất là hệ thống tệp dữ liệu

- Thứ hai là hệ thông mạng kết nối

- Thứ ba là hệ thống tài nguyên

❖ Hệ thống tệp dữ liệu

Hệ thống quản lý tệp và thư mục của ROS được thiết kế tương tự như các hệ điều hành máy tính, với các thư mục và ổ đĩa được tạo ra và sắp xếp theo trình tự rõ ràng ROS bao gồm các phần tử cơ bản như gói cơ bản, gói dữ liệu lớn, vùng nhớ ngăn xếp, kiểu thông tin và kiểu yêu cầu, giúp tối ưu hóa việc quản lý dữ liệu và thư mục.

❖ Hệ thống mạng kết nối

Hệ thống mạng kết nối là một mạng truyền thông trong đó các điểm được gọi là Node, cho phép nhiều Node giao tiếp qua các kiểu dữ liệu như Service, Topic và Bags ROS hoạt động theo mô hình chủ-tớ tương tự như các chuẩn truyền thông CAN và Flexray trong ngành điện tử, cho phép các Node thay phiên vai trò trong giao tiếp Phương thức giao tiếp này mang lại sự đơn giản, nhanh chóng và dễ quản lý, đồng thời có tính kế thừa và phát triển cao.

ROS Community Level là các nguồn tài nguyên của ROS được chia sẻ qua lại giữa các người dùng Nguồn tài nguyên đó là:

- Distributions là tổng hợp các phina bản của stack có thể cài đặt có vai trò tương tự như Linux Distribution

- Respositories là những mô hình được phát triển dựa trên nguồn tài nguyên của mạng lưới cộng đồng người dùng

ROS Wiki là nguồn tài liệu phong phú về Robot Operating System (ROS), nơi mà bất kỳ ai có tài khoản đều có thể đóng góp bằng cách chia sẻ tài liệu, cập nhật thông tin và cung cấp hướng dẫn sử dụng.

Hình 3.11 Gói điều khiển ROS control

Gói điều khiển “ros_control” cho phép giao tiếp giữa ROS và vi điều khiển, giúp điều khiển vận tốc, vị trí và quỹ đạo của robot Mô hình điều khiển vòng kín sử dụng tín hiệu ngõ vào từ xung encoder phản hồi của hai bánh xe cùng với giá trị đặt mục tiêu Thông qua bộ điều khiển, thường là PID, hệ thống sẽ xuất ra giá trị vận tốc mục tiêu cho vi điều khiển, điều khiển từng bánh xe của robot.

Gói ROS cho phép nhận thông tin từ encoder của hai bánh xe robot, giúp cập nhật và tính toán giá trị đặt mới Đồng thời, nếu robot áp dụng phương pháp định vị bằng xung hồi tiếp encoder, ROS sẽ thực hiện cập nhật để cộng dồn và xác định vị trí hiện tại.

Gói tin 2D Navigation Stack là công cụ quan trọng trong việc điều khiển robot, được sử dụng phổ biến trong các nghiên cứu liên quan đến ROS Gói này bao gồm nhiều thuật toán con như tạo bản đồ, định vị, tạo quỹ đạo toàn cục và quỹ đạo cục bộ Nhờ vào cấu trúc mô hình chung, ROS đã đơn giản hóa quá trình xử lý dữ liệu đầu vào và đầu ra, trong đó đầu vào lấy từ các cảm biến như Lidar, Encoder và Gia tốc, còn đầu ra là giá trị vận tốc tịnh tiến và xoay cho robot.

Trong việc ứng dụng gói dữ liệu cho các loại robot khác nhau, ngoài các dầu vào bắt buộc, cần chú ý đến đặc tính động học riêng biệt của từng robot.

Để tối ưu hóa hiệu suất của robot, việc cấu hình các khớp xoay hiện có như khớp xoay bánh xe, khớp đặt Lidar và khớp tịnh tiến là rất cần thiết Thông tin này đóng vai trò quan trọng trong việc đảm bảo robot hoạt động hiệu quả và chính xác.

ROS sẽ dựa vòa thông tin các khớp và khâu để tính chuyển vị thích hợp từ đó ROS sẽ tiến hành giải bài toàn động học Robot

Để đảm bảo thuật toán của ROS hoạt động hiệu quả trong việc tránh vật cản và va chạm, cần cấu hình đầy đủ các thông tin kích thước, bao gồm cả kích thước bao.

❖ Tổng quan về Navigation Stack

Hình 3.12 Tổng quan về Navigation Stack

Cấu trúc của Navigation Stack bao gồm ba loại phần tử: phần tử cốt lõi, phần tử đặc thù và phần tử tùy chọn Phần tử cốt lõi, như các thuật toán tìm đường và tránh va chạm, là xương sống của hệ thống điều khiển robot và không thể thiếu Phần tử đặc thù được cấu hình theo loại cơ cấu chấp hành và cảm biến của từng robot, với các gói giải thuật hỗ trợ khác nhau trong ROS Cuối cùng, phần tử tùy chọn giúp cải thiện khả năng điều khiển, và việc lựa chọn gói giải thuật hỗ trợ phụ thuộc vào tình trạng của robot; nếu robot đã đáp ứng đủ yêu cầu, có thể không cần sử dụng gói nào.

Trong gói Navigation Stack, có bốn khối chức năng chính cho việc điều khiển tự động của robot: Tạo bản đồ (mapping), Định vị (Localization), Điều hướng (Navigation) và Điều khiển (Controller) Đây là những khối chức năng thiết yếu để robot hoạt động hiệu quả trong môi trường ROS Gói điều hướng (Navigation) đóng vai trò quan trọng trong việc xác định quỹ đạo di chuyển và tránh vật cản dựa trên bản đồ đã được tạo sẵn Các thông số liên quan sẽ ảnh hưởng trực tiếp đến hiệu suất của khối này.

Costmap 2D là gói dữ liệu quan trọng giúp thu thập và tính toán thông tin từ các cảm biến môi trường như Lidar, camera và beacon Gói dữ liệu này tạo ra một mạng lưới điểm, cho phép xác định mật độ bố trí vật cản, khoảng trống và khu vực bị chiếm dụng, từ đó lập kế hoạch quỹ đạo di chuyển hợp lý.

Costmap 2D là công cụ lưu trữ thông tin về vị trí di chuyển của robot và các vật cản trên bản đồ Nó sử dụng cảm biến để thu thập dữ liệu và liên tục cập nhật vị trí của các vật cản, đảm bảo robot có thể di chuyển an toàn và hiệu quả.

Thuật toán DWA

Thuật toán tránh vật cản DWA (Dynamic Window Approach) sử dụng dữ liệu từ costmap thực tế để xác định chướng ngại vật và mô phỏng tất cả các lộ trình khả thi cho robot Mục tiêu chính của thuật toán này là lựa chọn lộ trình tối ưu nhất, đồng thời duy trì sự bám sát theo đường đi lý tưởng đã được thiết lập ban đầu cho robot.

Thuật toán DWA cơ bản bao gồm các bước như lấy mẫu vận tốc, mô phỏng chuyển động với vận tốc đó, đánh giá và loại bỏ các đường đi tiếp theo không khả thi, sau đó chọn đường đi tối ưu nhất và xuất giá trị vận tốc cho robot.

❖ Cắt giảm không gian tìm kiếm Để cắt giảm được không gian tìm kiếm, chúng ta sẽ có các điều kiện ràng buộc như sau:

Thuật toán DWA chỉ xem xét các quỹ đạo dạng đường cong, tức là các quỹ đạo được hình thành từ sự kết hợp giữa vận tốc tịnh tiến và vận tốc xoáy của robot.

Vận tốc cho phép là vận tốc được tính toán để đảm bảo robot di chuyển an toàn trên quỹ đạo, dừng lại trước vật cản gần nhất mà không gây ra va chạm Công thức xác định vận tốc cho phép là yếu tố quan trọng trong việc thiết kế hệ thống robot.

Va là chuỗi các vận tốc (𝑣,𝜔) giúp cho robot dừng trước khi đụng phải vật cản

Dist(𝑣,𝜔) là khoảng cách nhỏ nhất robot dừng trước vật cản để tránh sự va chạm

𝑣̇ 𝑏 , 𝜔̇ 𝑏 là gia tốc của vận tốc thẳng và vận tốc xoay tối đa nếu robot di chuyển sẽ gây va chạm với vật cản

Hình 3.15 Vận tốc cho phép Va trong DWA

Cửa sổ động là phương pháp hạn chế các giá trị vận tốc cho phép trong một chu kỳ nhất định, dựa trên gia tốc tối đa của robot Điều này đảm bảo rằng khoảng thời gian Δt là thời gian thực hiện gia tốc 𝑣̇ và 𝜔̇, từ đó xác định vận tốc thực 𝑣 𝑎 và 𝜔 𝑎 được gửi xuống robot.

Vd sẽ được xác định:

Hình 3.16 Vận tốc trong cửa sổ động Vd trong DWA

 Sau khi thực hiện 3 bước thì sẽ tìm ra được không gian cần tìm

Hàm mục tiêu được định nghĩa bởi công thức:

G(𝑣,𝜔) = 𝛼.heading(𝑣,𝜔) + 𝛽.dist(𝑣,𝜔) + 𝛾.𝑣𝑒𝑙(𝑣,𝜔) Để có thể tối ưu hóa vận tốc ngõ ra thì hàm mục tiêu phải có giá trị tối đa, thực hiện các bước sau:

Giá trị Target heading thể hiện tiến độ di chuyển của robot đến vị trí chỉ định Giá trị tối đa của Target heading đạt được khi robot di chuyển thẳng về phía đích, được tính theo một công thức cụ thể.

(với 𝜃 là góc giữa hướng của robot và điểm đích)

Hình 3.17 Healing của Robot trong DWA

Khoảng cách trống được xác định bởi hàm dist(𝑣,𝜔), thể hiện khoảng cách từ robot đến vật cản gần nhất trên quỹ đạo cong của nó Giá trị này sẽ cao khi không có vật cản, cho phép robot di chuyển xung quanh một cách linh hoạt.

- Vận tốc di chuyển thẳng được xác định bởi hàm 𝑣𝑒𝑙(𝑣,𝜔) được xác định dựa trên đặc tính và môi trường hoạt động của robot

Khi hàm mục tiêu đạt giá trị tối đa, quỹ đạo tối ưu hóa sẽ được xác định với vận tốc (𝑣,𝜔) tốt nhất, và đây chính là kết quả của thuật toán.

Web server

Một website là một tập hợp các trang web và phương tiện trực tuyến, được xuất bản trên ít nhất một máy chủ web Mỗi website có thể được nhận diện thông qua một tên miền duy nhất, như javatpoint.com, google.com hay youtube.com.

Có nhiều cách để phân loại website:

- Phân loại theo cấu trúc và cách hoạt động: website tĩnh, website động

- Phân loại theo quyền sở hữu: website chính phủ, website doanh nghiệp

- Phân loại theo chức năng: website bán hàng, website tin tức,…

3.7.2 Ngôn ngữ lập trình web

❖ Ngôn ngữ lập trình web phía máy chủ

Có nhiều ngôn ngữ lập trình web phía máy chủ như NET, PHP, Python Django, HTML và JavaScript Trong số đó, PHP và JavaScript là hai ngôn ngữ phổ biến nhất.

PHP (Hypertext PreProcessor) là một ngôn ngữ lập trình mã nguồn mở phía máy chủ, phổ biến trong việc phát triển web Nó cho phép các nhà phát triển nhúng mã PHP vào HTML để tạo ra các trang web động và tương tác.

Javascript là ngôn ngữ lập trình mạnh mẽ, cho phép phát triển các tính năng phức tạp trên trang web Ngoài ra, Javascript còn được sử dụng để lập trình các ứng dụng di động, mở rộng khả năng và ứng dụng của nó trong nhiều lĩnh vực khác nhau.

❖ Ngôn ngữ lập trình web phía giao diện người dùng

26 Để có thể lập trình web phía giao diện người dùng, thông thường sẽ sử dụng ba ngôn ngữ chính đó là: HTML, CSS, Javascript

HTML (Hyper Text Markup Language): là ngôn ngữ đánh dấu siêu văn bản, được sử dụng để tạo nên giao diện tĩnh cho trang web

CSS (Cascading Style Sheets) is a coding language similar to HTML that enhances the formatting of web pages, making them more dynamic and visually appealing.

JavaScript là một ngôn ngữ lập trình chạy trên trình duyệt web, cho phép tự động truyền nhận dữ liệu và truy cập các thẻ HTML để hiển thị thông tin.

3.7.3 Ngôn ngữ máy tính SQL

SQL (Structured Query Language) là ngôn ngữ lập trình chính để giao tiếp và thao tác với cơ sở dữ liệu Đây là ngôn ngữ truy vấn có cấu trúc, được sử dụng rộng rãi trong các hệ quản trị cơ sở dữ liệu quan hệ như Sybase, Microsoft SQL Server, Access và Ingres.

SQL là ngôn ngữ máy tính hữu dụng Vì vậy, người ta thường sử dụng SQL cho các mục đích:

- Sửa đổi bảng cơ sở dữ liệu và cấu trúc chỉ mục

- Thêm, cập nhật và xóa các hàng, cột dữ liệu

- Truy xuất các tập hợp con thông tin từ bên trong các hệ thống quản lý cơ sở dữ liệu

SQL được sử dụng phổ biến vì nó đã cho phép người dùng thực hiện đa dạng các chức năng sau:

- Thực hiện các truy vấn đối với cơ sở dữ liệu

- Truy xuất dữ liệu từ cơ sở dữ liệu

- Chèn bản ghi vào cơ sở dữ liệu

- Cập nhật các bản ghi trong cơ sở dữ liệu

- Xóa bản ghi khỏi cơ sở dữ liệu

- Tạo cơ sở dữ liệu mới

- Đặt quyền trên bảng, thủ tục và dạng

❖ Ưu điểm và nhược điểm của ngôn ngữ máy tính SQL Ưu điểm :

- Xử lý truy vấn hiệu quả và tốc độ cao

- Ngôn ngữ được chuẩn hóa tốt

- Tính di động tuyệt vời

- Ngôn ngữ tương tác cao

- Chế độ xem nhiều dữ liệu

- Cộng đồng người dùng lớn

- Phân tích hiệu suất cơ sở dữ liệu mạnh mẽ

- Giao diện khó sử dụng

- Không toàn quyền kiểm soát cơ sở dữ liệu

- Một số phiên bản SQL có chi phí vận hành ngày càng đắt

- Nhiều kẻ xấu luôn tìm cách đánh cắp dữ liệu

3.7.4 Giới thiệu về công nghệ AJAX

AJAX (Asynchronous JavaScript and XML) là công nghệ quan trọng cho các nhà phát triển web, thường được ứng dụng trong các nền tảng nổi tiếng như Google Maps, Gmail, Facebook và Twitter Công nghệ này cho phép các trang web cập nhật nội dung một cách linh hoạt mà không cần phải tải lại toàn bộ trang.

❖ Cách thức hoạt động của AJAX

AJAX (Asynchronous JavaScript and XML) là công nghệ quan trọng cho các nhà phát triển web, thường được áp dụng trong các ứng dụng phổ biến như Google Maps, Gmail, Facebook và Twitter Công nghệ này cho phép trang web cập nhật nội dung một cách linh hoạt mà không cần phải tải lại trang, nâng cao trải nghiệm người dùng.

❖ Cách thức hoạt động của AJAX

AJAX sử dụng kết hợp các công nghệ sau:

- HTML hoặc XHTML làm ngôn ngữ chính và CSS để trình bày, tạo nên phần giao diện người dùng

- Mô hình đối tượng tài liệu (DOM) được truy cập bằng JavaScript để hiển thị động và tương tác với thông tin được trình bày

XML được sử dụng để thiết lập trao đổi dữ liệu, trong khi XSLT được áp dụng để thao tác dữ liệu Tuy nhiên, ngày nay, các nhà phát triển ngày càng ưa chuộng sử dụng JSON cho những mục đích tương tự.

- Đối tượng XMLHttpRequest được sử dụng cho giao tiếp không đồng bộ

- JavaScript được sử dụng để tập hợp tất cả các công nghệ này lại với nhau

Hình 3.18 Cách thức hoạt động của AJAX

- Một sự kiện xảy ra trong trang web (trang được tải, nút được nhấp)

- Một đối tượng XMLHttpRequest được tạo bởi JavaScript

- Đối tượng XMLHttpRequest gửi yêu cầu đến máy chủ web

- Máy chủ xử lý yêu cầu

- Máy chủ gửi phản hồi trở lại trang web

- Phản hồi được đọc bởi JavaScript

- Hành động thích hợp (như cập nhật trang) được thực hiện bởi JavaScript

❖ Ưu điểm và nhược điểm của AJAX Ưu điểm :

- Nâng cao hiệu suất và tăng tốc độ trang web

- Giảm mức sử dụng băng thông

- Hỗ trợ trên nhiều trình duyệt

- Nâng cao trải nghiệm người dùng

- AJAX là mã nguồn mở dẫn đến rủi ro về tính bảo mật

- Quá trình sửa lỗi có thể khá phức tạp

- Không thể sử dụng nút Back vì yêu cầu AJAX có thể không được đăng ký trong lịch sử duyệt web

- Phụ thuộc vào JavaScript, vì vậy các trình duyệt cần phải hỗ trợ JavaScript mới có thể sử dụng AJAX

PHƯƠNG HƯỚNG VÀ GIẢI PHÁP

Cơ cấu di chuyển

Bảng 4.1 Ưu và nhược điểm của các loại cơ cấu di chuyển

Cơ cấu vi sai (Differential Drive)

Cơ cấu vi sai (Differential Drive)

Cơ cấu lái đồng bộ (Swerve Drive)

Sử dụng bánh trước chủ động vừa đóng vai trò dẫn động vừa đóng vai trò điều hướng

Sử dụng 2 bánh bị động đóng vai trò dẫn động

Sử dụng 2 bánh bị động đóng vai trò dẫn động

Sử dụng 4 bánh đều có động cơ để dẫn động và đều có cơ cấu để bẻ lái Ưu điểm:

- Giảm sai số trong quá trình di chuyển vì chỉ sử dụng 1 động cơ cho quá trình dẫn động

- Di chuyển ổn định ở những khúc cua Ưu điểm:

- Hệ thống cơ khí đơn giản

- Bán kính quay bằng không

- Dễ dàng thi lắp đặt Ưu điểm:

- Hệ thống cơ khí đơn giản

- Dễ dàng thi lắp đặt

- Cơ cấu gồm 4 bánh nên sẽ khó lật khi vào khúc cua Ưu điểm:

- Di chuyển tốt trên địa hình hơi gồ ghề

- Di chuyển được đa hướng mà không cần quay xe

- Thiết kế cơ khí phức tạp

- Chi phí gia công cao

- Phải sử dụng vi sai cho 2 bánh sau để tránh trường hợp trượt bánh khi vào khúc cua

- Dễ có sai số trong quá trình di chuyển khi sử dụng 2 động cơ cho 2 bánh dẫn động

- Dễ có sai số trong quá trình di chuyển khi sử dụng 2 động cơ cho 2 bánh dẫn động

- Yêu cầu phải có hệ thống nhún đàn hồi cho 2 bánh tự lựa để đảm bảo luôn tiếp

- Sử dụng nhiều động cơ

- Điều khiển phức tạp vì có nhiều động cơ

- Hệ thống cơ khí phức tạp

- Dễ bị lật xúc với mặt di chuyển

Mô hình robot hoạt động trong môi trường khách sạn cần có cơ cấu lái đơn giản và linh hoạt, đặc biệt là khả năng quay với bán kính bằng 0 để dễ dàng thay đổi trạng thái trong thang máy Do robot có trọng tâm cao, nên dễ bị lật Vì vậy, nhóm quyết định chọn cơ cấu lái vi sai đơn giản với hai bánh dẫn động và hai bánh tự lựa.

Cơ cấu truyền động

Bảng 4.2 Ưu và nhược điểm các loại cơ cấu truyền động

Bộ truyền động đai Bộ truyền động xích Bộ truyền bánh răng

Bộ truyền động đai gồm: 1 bánh chủ động, 1 bánh bị động được nối với nhau bởi dây đai

Bộ truyền hoạt động dựa trên ma sát giữa dây đai và bánh đai, tạo lực căng ban đầu để tạo lực pháp tuyến

Bộ truyền xích gồm: trục chủ động, trục bị động và dây xích

Xích truyền chuyển động và tải trọng từ trục dẫn, sang trục bị dẫn nhờ sự ăn khớp của các mắt xích với các răng đĩa xích

Bộ truyền bánh răng thực hiện truyền chuyển động giữa 2 trục với tỷ số truyền được xác định bởi sự ăn khớp của các răng

Có thể truyền chuyển động giữa các trục song song hay cắt nhau

Bộ truyền đai răng tương tự như đai dẹt nhưng bề mặt trong giờ có các gờ hình thang hoặc tròn

Bánh đai được thay bằng bánh răng tương ứng Ưu điểm:

- Truyền động khoảng cách xa với vận tốc lớn

- Không tạo ra tiếng ồn khi làm việc Ưu điểm:

- Có thể truyền động giữa các trục cách xa nhau

- Kích thước nhỏ gọn hơn truyền động đai

- Không có tình trạng trượt răng

- Hiệu suất cao Ưu điểm:

- Kích thước nhỏ, khả năng chịu tải lớn

- Không có tình trạng trượt

- Hiệu suất cao Ưu điểm:

- Giảm được nhược điểm của bộ truyền đai thông thường

- Kích thước bộ truyền nhỏ

- Lực tác dụng lên ổ trục nhỏ hơn bộ truyền đai thường

- Xảy ra hiện tượng trượt khi bị quá tải

- Tạo tiếng ồn khi làm việc

- Chế tạo phức tạp, đòi hỏi độ chính xác cao

- Phải có cơ cấu căng đai

- Vận tốc tức thời không ổn định

- Yêu cầu chăm sóc thường xuyên

- Tạo tiếng ồn khi làm việc

Robot có kích thước và khối lượng nhỏ, hoạt động trong lĩnh vực dịch vụ, nên nhóm đã loại bỏ các phương pháp truyền động như bộ truyền đai, bộ truyền xích và bộ truyền bánh răng Bộ truyền đai răng có kích thước nhỏ hơn so với bộ truyền đai thông thường, và với những ưu điểm nổi bật, nó đáp ứng tốt các yêu cầu của đề tài, do đó nhóm đã quyết định chọn phương án này.

Các loại động cơ

AGV, hay robot tự hành di động, thường sử dụng động cơ điện DC như động cơ bước, động cơ DC và động cơ DC servo Nhóm nghiên cứu lựa chọn bộ điều khiển PID do yêu cầu hồi tiếp vận tốc của động cơ DC Bài viết này sẽ phân tích ưu và nhược điểm của động cơ bước và động cơ DC servo, từ đó giúp xác định động cơ phù hợp cho dự án.

Động cơ bước (Step Motor) là loại động cơ DC hoạt động bằng cách di chuyển theo các bước rời rạc Nó bao gồm nhiều cuộn dây được sắp xếp thành các nhóm gọi là "pha" Khi cung cấp năng lượng cho từng pha theo thứ tự, động cơ sẽ quay từng bước một Có ba loại động cơ bước chính.

- Động cơ từ trở biến thiên (Variable reluctance motors – VR)

- Động cơ nam châm vĩnh cửu (Permanent magnet motors – PM)

- Động cơ Hybrid (Hybrid motors) Ưu điểm:

- Tạo momen xoắn khi dừng quay giúp duy trì vị trí hiện tại

- Điều khiển chính xác, không có vọt lố và có momen giữ tại một vị trí

- Tốc độ khởi động, dừng, đào chiều nhanh

- Độ tin cậy cao vì không cần sử dụng chổi than hay tương tác vật lý để chuyển mạch

- Tạo tiếng ồn khi hoạt động

- Dễ bị trượt bước khi mang tải lớn

- Tốc độ của động cơ không cao, tối đa từ 1000 ÷ 2000 (RPM)

Động cơ DC Servo (DC Servo Motor) là loại động cơ DC được trang bị bộ phận đo lường thông số đầu ra như góc quay và vận tốc quay Bộ điều khiển sẽ điều chỉnh dòng điện cung cấp cho động cơ dựa trên các thông số này để đạt được hiệu suất tối ưu Ưu điểm của động cơ DC Servo bao gồm khả năng điều khiển chính xác và linh hoạt trong các ứng dụng công nghiệp.

- Không cần tín hiệu hồi tiếp

- Điều khiển chính xác, khó có vọt lố và có momen giữ tại một vị trí

- Quay mượt mà ở tốc độ thấp và ứng dụng tốt ở tốc độ cao

- Không sử dụng điện khi ngừng hoạt động; không có tải tĩnh trên động cơ; không cần dòng điện để giữ vị trí

- Đa dạng về chủng loại: được sản xuất theo nhiều kiểu trong đó có kiểu quán tính rất thấp cho các ứng dụng động lực học cao

- Điều khiển vòng kín: độ chính xác cao trong điều khiển quỹ đạo

- Bảo dưỡng bàn chải than: hạn chế sử dụng chúng trong phòng sạch và các môi trường khác không chấp nhận được bụi của bàn chải than

- Hiệu suất nhiệt kém: tất cả nhiệt được tạo ra trong roto

- Tăng chi phí lắp đặt: chi phí lắp đặt của hệ thống DC cao hơn so với hệ thống bước do yêu cầu các thành phần hồi tiếp

Bảng 4.3 So sánh động cơ bước và động cơ DC Servo Đặc điểm

Loại động cơ Điều khiển góc quay, vận tốc Tốc độ tối đa Hồi tiếp Động cơ bước Có Thấp Không Động cơ DC Servo Có Cao Có

Dựa trên bảng so sánh giữa động cơ bước và động cơ DC Servo, nhóm quyết định lựa chọn động cơ DC Servo cho đồ án này do những ưu điểm nổi bật của nó phù hợp với yêu cầu của sản phẩm.

Phương pháp định vị robot

Định vị robot là một nhiệm vụ quan trọng trong nghiên cứu robot, với nhiều cộng đồng đang phát triển phần cứng và thuật toán hỗ trợ cho quá trình này Nhóm nghiên cứu đã tìm hiểu và rút ra ba phương pháp chính để cải thiện khả năng định vị của robot.

• Phương pháp đầu tiên là phương pháp sử dụng bộ mã hóa số vòng quay bánh xe (encoder)

Phương pháp điều khiển robot này rất phổ biến nhờ vào tính dễ thực hiện và khả năng kết hợp tín hiệu hồi tiếp từ encoder, cho phép điều chỉnh vận tốc và xác định vị trí của robot Tuy nhiên, nhược điểm lớn nhất của phương pháp này là hiện tượng trượt bánh xe do địa hình hoặc đặc tính của bánh xe, dẫn đến sai lệch trong định vị và gây khó khăn cho robot trong việc phục hồi vị trí hiện tại.

Phương pháp thứ hai để tăng cường độ chính xác cho robot là gắn các cảm biến như GPS và cảm biến gia tốc GPS hoạt động tốt nhất trong môi trường ngoài trời, trong khi cảm biến gia tốc cung cấp độ chính xác cao nhờ khả năng đo gia tốc theo nhiều phương, từ đó xác định các thông số như góc xoay và vận tốc Tuy nhiên, độ chính xác của các cảm biến này có thể giảm theo thời gian do các phép tính tích phân và cộng dồn từ dữ liệu đo được.

Phương pháp thứ ba sử dụng công nghệ Laser (RP lidar) và camera, mang lại hiệu quả cao trong việc ứng dụng cho robot trong nhà Cảm biến Lidar sẽ đóng vai trò quan trọng, giúp cải thiện khả năng nhận diện và tương tác của robot trong môi trường sống.

Robot 33 sử dụng công nghệ phát tín hiệu Laser và thu hồi tín hiệu phản hồi để xác định vị trí chính xác Phương pháp này mang lại độ chính xác cao, nhưng đi kèm với sự phức tạp trong các thuật toán và chi phí đầu tư tương đối lớn.

Sau khi đánh giá các phương pháp định vị robot, nhóm nghiên cứu đã quyết định chọn cảm biến Lidar Cảm biến này không chỉ hỗ trợ định vị chính xác cho robot mà còn có khả năng tạo bản đồ và giúp robot di chuyển một cách hiệu quả, tránh được các vật cản trong quá trình hoạt động.

Thuật toán di chuyển

Robot có nhiệm vụ di chuyển giao hàng giữa các địa điểm trong khách sạn, do đó, nhóm đã nghiên cứu và áp dụng các thuật toán tìm đường cho robot nhằm tối ưu hóa hành trình Hai giải pháp được đề xuất để tối ưu đường đi là thuật toán Dijkstra và thuật toán A*.

Thuật toán Dijkstra là một thuật toán rất phổ biến với bài toán tìm đường đi tối ưu

Yêu cầu cơ bản để triển khai thuật toán Dijkstra:

Thuật toán Dijkstra có thể được áp dụng cho mọi loại đồ thị, nhưng hoạt động hiệu quả nhất trên đồ thị có hướng và có trọng số, với các trọng số cạnh không âm Để sử dụng thuật toán này, đồ thị cần được biểu diễn dưới dạng tập hợp các đỉnh và cạnh.

- Nút nguồn: thuật toán Dijkstra yêu cầu một nút nguồn là điểm bắt đầu cho quá trình tìm kiếm

- Nút đích: thuật toán Dijkstra có thể được sửa đổi để kết thúc quá trình tìm kiếm khi đạt đến một nút đích cụ thể

Thuật toán Dijkstra chỉ hoạt động trên các đồ thị có trọng số dương, vì các trọng số của cạnh cần được cộng vào để xác định đường đi ngắn nhất Nếu có trọng số âm trong đồ thị, thuật toán sẽ không hoạt động chính xác Khi một nút được đánh dấu là đã truy cập, đường dẫn hiện tại đến nút đó được coi là đường dẫn ngắn nhất.

Hình 4.1 Đồ thị các điểm trong thuật toán Dijkstra Quy trình thuật toán Dijkstra:

- Bước 1: Đánh dấu nút nguồn với khoảng cách hiện tại là 0 và phần còn lại là vô cực

- Bước 2: Đặt nút không được truy cập với khoảng cách hiện tại nhỏ nhất làm nút hiện tại

Đối với mỗi nút lân cận, khoảng cách hiện tại của nút liền kề sẽ được cộng với trọng số của cạnh kết nối 0→1 Nếu giá trị tổng hợp này nhỏ hơn khoảng cách hiện tại của nút, thì giá trị mới sẽ được cập nhật làm khoảng cách hiện tại của nút lân cận.

- Bước 4: Đánh dấu nút hiện tại 1 là đã truy cập

- Bước 5: Chuyển sang bước 2 nếu có bất kỳ nút nào chưa được truy cập

Thuật toán A* là một trong những phương pháp tìm đường phổ biến nhất nhờ vào tính linh hoạt và khả năng áp dụng trong nhiều ngữ cảnh khác nhau Nó tương tự như thuật toán Dijkstra trong việc tìm đường đi ngắn nhất, đồng thời cũng giống như thuật toán Greedy Best-First Search ở điểm sử dụng phương pháp phỏng đoán để tự định hướng.

Thuật toán sẽ xem xét thông qua giá trị f(n) = g(n) + h(n), f(n) thấp nhất sẽ được chọn để xử lý tiếp Trong đó:

- g(n): là khoảng cách di chuyển từ ô bắt đầu đến ô hiện tại;

- h(n): là khoảng cách ước tính để di chuyển từ ô hiện tại đến ô cuối cùng, h(n) thường được gọi là heuristic - một kiểu phỏng đoán thông minh

Một số phỏng đoán thông minh

Hình 4.2 Đường đi tối ưu Thuật toán:

- Bước 1: Khởi tạo danh sách mở lưu trữ các nút hàng xóm với nút hiện tại

- Bước 2: Khởi tạo danh sách đóng với nút bắt đầu

Trong bước 3, nếu danh sách mở không rỗng, hãy tính giá trị f cho các nút trong danh sách Sau đó, xác định nút có giá trị f nhỏ nhất và loại bỏ nút đó khỏi danh sách mở.

Nếu nút vừa tìm ra không phải là nút kết thúc, hãy khởi tạo danh sách mở cho nút đó Tiếp tục quay lại bước 3 cho đến khi tìm ra nút kết thúc.

❖ So sánh và lựa chọn

Tính năng Thuật toán Dijkstra Thuật toán A*

Kỹ thuật tìm kiếm tối ưu hóa nhằm xác định đường đi ngắn nhất từ một nút nguồn đến tất cả các nút khác trong biểu đồ có trọng số cạnh không âm.

Thuật toán A* là thuật toán tìm kiếm được thông báo sử dụng hàm heuristic để hướng dẫn tìm kiếm tới nút mục tiêu

Thuật toán Dijkstra, không sử dụng bất kỳ hàm heuristic nào và xem xét tất cả các nút trong biểu đồ

Thuật toán A* sử dụng hàm heuristic để ước tính khoảng cách từ nút hiện tại đến nút mục tiêu Hàm heuristic này được thiết kế sao cho không bao giờ đánh giá quá cao khoảng cách thực tế đến nút mục tiêu, đảm bảo tính chính xác trong quá trình tìm kiếm.

Thuật toán Dijkstra có độ phức tạp thời gian O(V^2) cho đồ thị dày đặc và O(E log V) cho đồ thị thưa thớt, với V là số đỉnh và E là số cạnh Độ phức tạp thời gian của thuật toán A* phụ thuộc vào chất lượng của hàm heuristic.

Thuật toán Dijkstra được sử dụng trong nhiều ứng dụng như thuật toán định tuyến, hệ thống định vị GPS, phân tích mạng

Thuật toán A* là một công cụ quan trọng trong việc tìm đường và duyệt đồ thị, được ứng dụng rộng rãi trong các lĩnh vực như trò chơi điện tử, robot và lập kế hoạch thuật toán.

Thuật toán Dijkstra là thuật toán cực kỳ phổ biến với ROS với nhiều hỗ trợ giúp tối ưu

Thuật toán A* là một phương pháp thông minh trong tìm kiếm đường đi, nhưng nó có nhược điểm là có thể tạo ra đường đi không tối ưu do hàm heuristic không đảm bảo chất lượng.

 KẾT LUẬN: Sau khi xem xét về 2 thuật toán trên kết hợp với tìm hiểu về cách sử dụng

2 thuật toán này trong hệ thống ROS, nhóm lựa chọn thuật toán Dijkstra.

Tối ưu chu trình di chuyển

❖ Bài toán tối ưu tổ hợp

- Cho hàm f(X) xác định trên một tập hữu hạn các phần tử D Hàm f(X) được gọi là hàm mục tiêu

- Mỗi phần tử X thuộc D có dạng X = (x1, x2,…, xn) được gọi là một phương án

- Cần tìm một phương án X* thuộc D sao cho f(X*) đạt min(max) Phương án như thế gọi là phương án tối ưu

❖ Bài toán cụ thể Đầu vào:

- Robot giao hàng cần đi giao hàng tại n phòng thuộc khách sạn

- Robot xuất phát từ điểm Home (phòng số 0) bắt đầu giao đến các phòng khác (phòng số 1, 2, 3, …) và quay lại về điểm Home

- Khoảng cách giữa các phòng, giữa các phòng và điểm Home đều đã được biết trước và không đổi dù đi theo chiều nào

- Mỗi phòng robot chỉ đến một lần

- Quãng đường robot phải đi là nhỏ nhất

❖ Nghiên cứu và lựa chọn phương án

Phương pháp vét cạn là một kỹ thuật phổ biến để giải quyết các vấn đề thuật toán, với nguyên tắc tạo ra tất cả các lời giải khả thi và sau đó chọn lựa phương án tối ưu nhất Mặc dù kỹ thuật này đảm bảo tìm ra giải pháp tốt nhất, nhưng nhược điểm lớn của nó là thời gian thực thi kéo dài do phải xem xét toàn bộ các lời giải có thể.

Phương pháp tham ăn là một kỹ thuật phổ biến trong giải bài toán tối ưu tổ hợp Mặc dù không đảm bảo tìm ra phương án tối ưu, phương pháp này mang lại giải pháp "tốt" với lợi thế về thời gian Kỹ thuật này xây dựng phương án bằng cách lựa chọn từng thành phần Xi trong tập hợp X, với mỗi Xi được chọn là tối ưu nhất tại thời điểm đó Tuy nhiên, ở bước cuối cùng, có thể sẽ không còn lựa chọn nào khác và phải chấp nhận giá trị cuối cùng còn lại.

Phương pháp nhánh cận là kỹ thuật xây dựng cây tìm kiếm phương án tối ưu mà không cần tạo toàn bộ cây, sử dụng giá trị cận để loại bỏ các nhánh không phù hợp Cây tìm kiếm có nút gốc đại diện cho tất cả các phương án khả thi, trong khi các nút lá biểu thị cho từng phương án cụ thể Mỗi nút n có các nút con tương ứng với các lựa chọn phương án từ n, và kỹ thuật này được gọi là phân nhánh Đối với mỗi nút, ta xác định giá trị cận: giá trị cận dưới cho bài toán tìm min và giá trị cận trên cho bài toán tìm max Cận dưới là giá trị nhỏ hơn hoặc bằng giá của phương án, trong khi cận trên là giá trị lớn hơn hoặc bằng giá của phương án.

Sau khi phân tích và tìm hiểu các phương án, nhóm đã chọn kỹ thuật nhánh cận để giải quyết bài toán tối ưu đường đi Phương pháp này đảm bảo kết quả tối ưu với thời gian thực hiện hiệu quả.

TÍNH TOÁN, THIẾT KẾ

Tính toán thiết kế cơ khí

Trong bài viết này, chúng tôi sẽ trình bày quy trình tính toán và thiết kế hệ thống truyền động cũng như kết cấu phần cứng của robot, nhằm đảm bảo robot hoạt động hiệu quả trong môi trường khách sạn.

5.1.1 Yêu cầu thiết kế Để hoàn thành một mô hình hoàn chỉnh dựa trên ứng dụng của robot chúng ta cần thỏa mãn những yêu cầu thiết kế sau:

- Môi trường hoạt động trong khách sạn nên cơ cấu di chuyển phải linh hoạt

- Kích thước của robot vừa phù hợp với không gian di chuyển nhưng phải đủ không gian lắp đặt

- Tính toán, lựa chọn các cơ cấu phù hợp từ đó xác định vị trí lắp đặt

- Thiết kế bản vẽ, mô hình 3D để cảm nhận trực quan sản phẩm

5.1.2 Tính toán hệ thống truyền động

Sau khi phân tích các hệ thống dẫn động, nhóm đã quyết định chọn hệ thống dẫn động với hai bánh chủ động có tâm quay là tâm của robot, kết hợp với hai bánh vô hướng Lựa chọn này nhằm đảm bảo tính linh hoạt cao trong quá trình hoạt động của robot.

Các hoạt động của robot được điều khiển bởi board mạch chủ thông qua giao tiếp với các bộ driver Các bộ driver này điều chỉnh động cơ, thay đổi chiều quay và tốc độ Động cơ còn được trang bị bộ encoder để phản hồi về tốc độ và số vòng quay cho board mạch chủ Nhờ đó, board mạch chủ có thể thực hiện nhiệm vụ của mình, đảm bảo tốc độ vận hành đã được cài đặt.

Hình 5.1 Sơ đồ động học chuyển động Robot

4 Bộ truyền đai bánh phải;

5 Bộ truyền đai bánh trái;

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

Mô hình vật lý được áp dụng để mô hình hóa tính toán chọn động cơ cho Robot Các thông số đầu vào của robot:

- M = 45 (kg): tổng tải trọng lên robot;

- R = 0.0725 (m): bán kính bánh xe nhôm;

- v = 0.41 (m/s): vận tốc dài tối đa mong muốn

Hình 5.2 Sơ đồ phân bố lực

Tổng trọng lực tác dụng lên đế Robot như sau:

Robot được thiết kế với hai bánh chủ động và hai bánh tự lựa, được bố trí cân đối Cấu trúc này giúp tối ưu hóa phản lực mặt đất phẳng tác động lên mỗi bánh, đảm bảo sự ổn định và hiệu suất hoạt động của robot.

Để đảm bảo hai bánh chủ động tạo ra lực kéo ban đầu lớn hơn lực ma sát tĩnh tối đa của robot trên mặt đường, cần tính toán lực ma sát tĩnh với hệ số ma sát 𝜇 = 0.8 Lực ma sát tĩnh được xác định dựa trên hệ số này để đảm bảo robot có thể di chuyển hiệu quả.

𝐹 𝑚𝑠 = 𝜇 ∙ 𝑁 = 0.8 ∗ 110.3625 = 88.29 (𝑁) (5.3) Qua đó ta xác định được lực kéo của động cơ:

Từ đó tính ra momen cần thiết của động cơ như sau:

𝑇 𝑘 ≥ 𝐹 𝑘 ∙ 𝑅 ≥ 88.29 ∗ 0.0725 = 6.4 (𝑁 𝑚) (5.5) Với tốc độ tối đa đầu vào là v = 0.41c (m/s), ta tính được tốc độ góc của bánh xe cần thiết như sau:

Và tốc độ vòng quay của của bánh xe (tốc độ vòng quay trục làm việc) như sau:

Ta tính dược công suất làm việc trên trục bánh xe như sau:

𝑃 𝑙𝑣 = 𝑇 𝑘 ∙ 𝜔 = 6.4 ∗ 5.65 ≈ 36.16 (𝑊) (5.8) Hiệu suất hệ thống của mỗi bánh được tính toán dựa trên bộ truyền như sau

𝜂 = 𝜂 đ ∙ 𝜂 𝑜𝑙 = 0.95 ∗ 0.99 = 0.94 (5.9) Với: 𝜂 đ = 0.95: hiệu suất bộ truyền đai

𝜂 𝑜𝑙 = 0.99: hiệu suất cặp ổ lăn Qua đó ta tính được công suất cần thiết của động cơ:

Theo tài liệu cơ khí của Trịnh Chất, tỉ số truyền phù hợp cho bộ truyền đai dẹt không có bánh căng nằm trong khoảng 2 ≤ 𝑢 đ ≤ 4 Để đáp ứng yêu cầu thiết kế nhỏ gọn và tránh tình trạng trùng đai khi không có bánh căng, tỉ số truyền được lựa chọn cho bộ truyền đai là 𝑢 đ = 2.

Dựa vào tỉ số truyền đai đã lựa chọn, ta sẽ xác định sơ bộ các thông số cần thiết còn lại để lựa chọn động cơ phù hợp

Tốc độ vòng quay cần thiết của động cơ như sau:

Tốc độ góc cần thiết của động cơ như sau:

𝑠 ) Momen xoắn cần thiết của động cơ như sau:

11.3≈ 3.4 (𝑁 𝑚) Với các thông số đã cho, thay vào các biểu thức tính toán được các thông số yêu cầu cơ bản của như sau:

Bảng 5.1 Thông số kỹ thuật yêu cầu của truyền động đế Robot

Tỉ số truyền đai dẹt 2

Momen xoắn trên trục động cơ (𝑁 𝑚) 3.4 Momen xoắn trên trục làm việc (𝑁 𝑚) 6.4 Tốc độ vòng quay trên trục động cơ (RPM) 107.9

Tốc độ vòng quay trên trục làm việc (RPM) 53.95

Công suất trục làm việc (W) 36.16

Công suất trục động cơ (W) 38.5

Qua quá trình tính toán và tìm kiếm mẫu động cơ tương ứng được lựa chọn là Động cơ giảm tốc DCM50-775 với encoder đính kèm

Hình 5.3 Động cơ DCM50-775 24VDC 110RPM Bảng 5.2 Thông số kỹ thuật của động cơ DCM50-775-24VDC-110RPM

Thông số Giá trị Điện áp (VDC) 12-24

Tốc độ trước giảm tốc (RPM) 12000

Tốc độ sau giảm tốc (RPM) 110

Tỉ số truyền hộp số 116:1

Qua đó thấy rằng thông số của động cơ thỏa mãn với các yêu cầu cơ bản có được từ quá trình mô hình hóa và tính toán

❖ Kiểm tra phân phối tỉ số truyền

Dựa vào các thông số đầu vào của động cơ và các thông số đã tính toán trên trục làm việc gắn với mỗi bánh xe, chúng ta sẽ kiểm tra lại tỷ số truyền, mô men, số vòng quay và công suất giữa hai trục.

Ta xác định tỉ số truyền thực dựa vào số vòng quay đầu vào động cơ và số vòng quay trên trục làm việc:

Chúng ta đã chọn tỉ số truyền ban đầu là 2, do đó, sẽ tiến hành kiểm nghiệm sai lệch giữa tỉ số truyền thực tế và tỉ số thiết kế.

Kết quả tính toán sai lệch đáp ứng điều kiện về tỉ số truyền, do đó được chấp nhận Dựa vào thông số kỹ thuật của động cơ đã chọn, chúng ta sẽ tiến hành tính toán lại các thông số cần thiết.

❖ Tính toán và kiểm tra bộ truyền

Công suất trên bánh dẫn (W) 𝑃 1 = 38.5 Tốc độ quay trên bánh dẫn (vòng/phút) 𝑁 1 = 107.9

Tỉ số truyền bộ truyền đai 𝑢 đ = 2 Xác định được module của bộ truyền như sau:

Dựa vào bảng 4.28 “Chiều rộng đai răng b” trang 69 tài liệu [1]: với 𝑚 = 2.5 (mm), chọn bề rộng đai 𝑏 = 16 (mm)

Dựa vào bảng 4.27 “Các thông số của đai răng” trang 68 tài liệu [1]: với m = 2.5 (mm), chọn bước đai p = 8 (mm)

Dựa vào bảng 4.29 trong tài liệu [1], với module m = 2.5 mm và số vòng quay N1 = 97.4 RPM, số răng của bánh dẫn Z1 cần chọn không nhỏ hơn 12 Do đó, lựa chọn tối ưu cho Z1 là 20 răng.

Với tỉ số truyền u = 2 nên xác định được số răng bánh bị dẫn:

𝑍 2 = 𝑢 ∙ 𝑍 1 = 40 (5.15) Đường kính các bánh đai

Qua đó xác định được đường kính vòng chia của bánh dẫn:

Và đường kính vòng chia của bánh bị dẫn:

Khoảng cách trục sơ bộ

𝑎 𝑚𝑎𝑥 = 2 ∙ 𝑚 ∙ (𝑍 1 + 𝑍 2 ) = 300 (𝑚𝑚) (5.18) Xác định được điều kiện khoảng cách trục a là:

80 ≤ 𝑎 ≤ 300 (𝑚𝑚) Chọn khoảng cách đai sơ bộ để phù hợp cho thiết kế là a = 140.5 (mm)

Ta có công thức tính chiều dài đai như sau:

Với yêu cầu bước đai p = 8 (mm), nhóm chọn được chiều dài đai tiêu chuẩn có trên thị trường là L = 536 (mm)

Khoảng cách trục chính xác

Xác định được khoảng cách trục a = 145.86 (mm)

Số răng của dây đai

Kiểm nghiệm với chiều dài dây đai tiêu chuẩn là L = 536 (mm), dây đai được chọn thỏa yêu cầu

Góc ôm bánh đai dẫn và bị dẫn

Qua đó ta thấy góc ôm của bánh dẫn 𝛼 1 = 162.89 ° > 120 ° đã thỏa điều kiện về góc ôm

Số răng đồng thời ăn khớp trên bánh đai nhỏ

Qua đó ta thấy số răng đồng thời ăn khớp trên bánh nhỏ thỏa điều kiện 𝑍 0 ≥ 6

Kiểm nghiệm đai về lực vòng riêng

- 𝐹 𝑡 là lực vòng được xác định theo công thức

- 𝐾 𝑑 là hệ số tải trọng động, theo bảng 4.7 tài liệu [3] chọn 𝐾 𝑑 = 1

- b là chiều rộng đai, b = 15 (mm)

- 𝑞 𝑚 là khối lượng 1m đai có chiều rộng 1mm, theo bảng 4.31 tài liệu [1], ta chọn

- V là vận tốc vòng, thông số này đã được tính bên trên

[𝑞 0 ] là lực vòng riêng cho phép, theo bảng 4.31 tài liệu [1] ta chọn [𝑞 0 ] = 7.5 (N/mm)

Hệ số 𝐶 𝑍 phản ánh ảnh hưởng của số răng đồng thời ăn khớp trong hệ thống, được xác định thông qua bảng dữ liệu Trong đó, 𝑍 0 đại diện cho số răng đồng thời ăn khớp trên bánh đai nhỏ đã được tính toán trước đó.

Do hệ số 𝑍 0 = 9 nên có được 𝐶 𝑍 = 1.6

Hệ số 𝐶 𝑈 phản ánh tác động của truyền động tăng tốc, với tỉ số truyền được chọn là u = 2, dẫn đến hệ số 𝐶 𝑈 = 1 Bằng cách thay thế các giá trị đã biết vào phương trình kiểm nghiệm, chúng ta có thể tính toán kết quả.

𝑏 + 𝑞 𝑚 ∙ 𝑣 2 ≈ 9.1 (𝑁/𝑚𝑚) Trong khi đó giá trị cho phép là [𝑞] = [𝑞 0 ] ∙ 𝐶 𝑍 ∙ 𝐶 𝑈 = 12 (𝑁/𝑚𝑚)

Do đó ta thấy 𝑞 < [𝑞], nên thiết kế bộ truyền đai đã đạt yêu cầu kiểm nghiệm về lực vòng riêng

Xác định lực căng ban đầu và lực tác dụng lên trục

Lực căng ban đầu trong truyền động đai răng có vai trò quan trọng trong việc khắc phục khe hở khi ăn khớp và đảm bảo đai tiếp xúc tốt với bánh đai Để đạt được hiệu quả tối ưu, lực căng này cần lớn hơn lực căng do lực ly tâm sinh ra.

Lực căng ban đầu được xác định như sau:

𝐹 0 = (1,1 ÷ 1,3) ∙ 𝐹 𝑉 = (1,1 ÷ 1,3) ∙ 𝑞 𝑚 ∙ 𝑏 ∙ 𝑣 2 = 0.0042(𝑁) (5.30) Lực tác dụng lên trục được xác định như sau

❖ Tính toán và kiểm tra trục bánh xe

Công thức tính trục sơ bộ:

- T là momen xoắn trên trục làm việc hay gọi là trục ra đối với bộ truyền đai, được xác định là 6400 N.mm

- [𝜏] là ứng suất xoắn cho phép với vật liệu trục là thép CT5, thép 45, 40X là 30 MPa đối với trục ra của bộ truyền đai

Do đó ta tính được đường kính trục làm việc của bánh xe phải thỏa điều kiện sơ bộ:

Dựa theo tiêu chuẩn về đường kính trục hiện có trên thị trường, ta chọn đường kính trục được làm tròn lên so với tính toán d = 12 (mm)

Từ đường kính trục được chọn theo tiêu chuẩn, ta sẽ chọn được ổ lăn có gối đỡ dạng đứng cũng theo tiêu chuẩn tương ứng

Tại A và D là gối đỡ vòng bi; tại B là bánh răng đai; tại C là bánh xe robot

Chiều dài trục bánh xe: 𝑙 Đ𝐶 = 𝐴𝐷 = 100 (𝑚𝑚), AB = 15 (mm); BC = 50 (mm)

Phản lực tác dụng lên bánh xe: 𝑁 𝑦 = 110.25 N

Lực bộ truyền đai tác dụng lên trục: 𝐹 𝑟 = 150 𝑁

Hình 5.4 Sơ đồ phân tích phản lực

Hình 5.5 Biểu đồ nội lực Qy và momen Mx

Hình 5.6 Biểu đồ nội lực Qx và momen My

Bán kính bánh đai bị dẫn: r = 100 mm

Hình 5.7 Biểu đồ lực xoắn lên trục

Kiểm nghiệm độ bền cắt của trục:

Xét tại mặt cắt nguy hiểm B:

12 ∗ 25 ∗ 16= 5.7 𝑀𝑝𝑎 Với [𝜏] là ứng suất cho phép, đối với thép không gỉ mạ crome ở điều kiện va đập nhẹ:

⇨ Kết luận: tiết diện trục tại B đủ độ bền cắt

Kiểm nghiệm độ bền tĩnh của trục:

Xét tại mặt cắt nguy hiểm C:

⇒𝛿 𝑡𝑑 = √19.07 2 + 3 ∗ 39.35 2 = 70.77 (5.37) Trong khi đó, thép không gỉ mạ crome có: 𝜎 𝑏 = 750 (𝑀𝑃𝑎); 𝜎 𝑐ℎ = 450(𝑀𝑃𝑎)

⇨ Kết luận: trục đạt yêu cầu về độ bền tĩnh

Bánh xe lăn không trượt

Giả sử khi hoạt động bình thường thì bánh xe không bị trượt

Hình 5.8 Bánh xe lăn không trượt

Trong trường hợp này, tốc độ của tâm bánh xe, tương đương với tốc độ của xe, bằng với tốc độ góc Điều này có nghĩa là tốc độ thực tế v bằng với tốc độ lý thuyết 𝑣 0.

Do vậy, tâm quay tức thời (cực P) của bánh xe nằm trên vòng bánh xe và bán kính lăn bằng bán kính tính toán:

𝑟 𝑙 = 𝑟 𝑏 = 72,5 (𝑚𝑚) Trạng thái này chỉ có được ở bánh xe khi 𝑣 = 0

Bánh xe lăn có trượt quay (trong trường hợp tải lớn)

Hình 5.9 Bánh xe lăn có trượt quay

Khi bánh xe đang có lực kéo, tốc độ thực tế của tâm bánh xe (𝑣) sẽ nhỏ hơn tốc độ lý thuyết (𝑣0) Tại vùng tiếp xúc giữa bánh xe và mặt đường, theo quy luật phân bố vận tốc, sẽ xuất hiện một vận tốc trượt (𝑣) ngược hướng với vectơ vận tốc dài của cả bánh xe (𝑣0).

- Hệ số ma sát kéo:

Bánh xe trượt quay hoàn toàn (bánh xe chủ động quay, xe đứng yên)

Bánh xe trượt quay hoàn toàn khi 𝛿 𝑘 = 1

Hình 5.10 Bánh xe trượt hoàn toàn

Bánh xe lăn có trượt lết

Hình 5.11 Bánh xe trượt lết

Ta có hệ số trượt khi phanh là:

Ta có quan hệ sau: 𝑣 = v  + 𝑣 0 = 𝜔 𝑏 𝑟 𝑏 + v  = 𝜔 𝑏 𝑟 𝑙

Bánh xe trượt lết hoàn toàn (bánh xe bị hãm cứng không quay, xe và bánh xe vẫn chuyển động tịnh tiến)

Tính toán thiết kế hệ thống điện

Để robot thực hiện các chức năng cần thiết, hệ thống điện và điều khiển đóng vai trò quan trọng trong việc thu thập tín hiệu từ môi trường và tương tác với con người Hệ thống cảm biến cung cấp thông tin đầu vào như vị trí hiện tại của robot và chướng ngại vật phía trước Giao diện tương tác cho phép người dùng gửi tín hiệu đầu vào thông qua màn hình hoặc từ xa qua internet Tất cả dữ liệu đầu vào được truyền về máy tính trung tâm để xử lý, từ đó xuất ra thông tin và tín hiệu đầu ra thông qua các cơ cấu chấp hành như động cơ và màn hình tương tác.

Hệ thống điện và điều khiển bao gồm hai phần chính: mạch điều khiển và máy tính trung tâm Mạch điều khiển thu thập tín hiệu từ cảm biến và điều khiển chuyển động của robot qua động cơ Trong khi đó, máy tính trung tâm xử lý thông tin từ người dùng thông qua màn hình Chi tiết về các phần của sơ đồ sẽ được trình bày trong chương này.

5.2.1 Lựa chọn linh kiện điện

❖ Máy tính nhúng Raspberry Pi 4

Hình 5.24 Raspberry Pi 4 Model B - 8GB RAM Bảng 5.8 Thông số kỹ thuật Raspberry PI 4 - 8 GB Đặc tính Raspberry PI 4 - 8 GB

CPU Xung nhịp 1.5GHz quad-core 64-bit ARM Cortex-A72

RAM Sử dụng DDR4, 8GB

Cổng USB 2 cổng USB 3.0, 2 cổng USB 2.0

Ethernet Gigabit Ethernet, Tốc độ trên 900 Mbit/s

- Dual Band Wifi (2.4GHz và 5GHz)

- Bluetooth 5.0, Bluetooth Low Energy (BLE) HDIM 2 cổng HDMI, với ngõ ra 4K

Nguồn USB-C - Cấp nguồn qua cổng USB-C

- Hỗ trợ dòng 3A Miscro SD Card Dùng chứa hệ điều hành, lưu trữ dữ liệu, dễ dàng tháo/lắp

Chân GPIO 40 chân GPIO, 5 x UART, 5 x I2C, 5 x SPI

❖ Vi điều khiển STM32F401CCU6

Vi điều khiển STM32F401CCU6 thuộc dòng STM32F401x8, được xây dựng trên kiến trúc vi mạch RISC Chip 401 nổi bật với mức giá hợp lý và hiệu năng vượt trội so với dòng F1.

Hình 5.25 Vi điều khiển STM32F401CCU6

Bảng 5.9 Thông số kỹ thuật của Arduino Nano được thể hiện như sau

Vi điều khiển STM32F401CCU8 Đặc tính và thiết bị ngoại vi khả dụng

Kiến trúc vi mạch RISC

Debug đường truyền dữ liệu nối tiếp 1

Tốc độ CPU 72 MHz (tối đa)

Cổng kết nối USB Micro

❖ Mạch điều khiển động cơ BTS7960

Hình 5.26 Module điều khiển động cơ Dc BTS7960 43A

Sự vượt trội của mạch cầu H này so với mạch cầu H khác là:

Thiết bị sẽ tự động ngắt nguồn khi điện áp thấp để bảo vệ động cơ khỏi hoạt động ở mức điện áp không an toàn Cụ thể, nếu điện áp giảm xuống dưới 5.5V, driver sẽ tự động ngắt điện, và mạch sẽ được khôi phục khi điện áp vượt quá 5.5V.

- BTS7960 bảo vệ chống quá nhiệt bằng cảm biến nhiệt tích hợp bên trong Đầu ra sẽ bị ngắt khi có hiện tượng quá nhiệt

Bảng 5.10 Thông số kỹ thuật của Module BTS7960 43A

Dòng điện tải mạch 43A (Tải trở) hoặc 15A (Tải cảm)

Tần số điều khiển tối đa 25KHz

Hình 5.27 Module giảm áp DC-DC Buck LM2596 3A

Mạch giảm áp DC LM2596 3A có kích thước nhỏ gọn có khả năng giảm áp từ 30V xuống 1.5V mà vẫn đạt hiệu suất cao tới 92%

Bảng 5.11 Thông số kỹ thuật của mạch giảm áp DC LM2596 3A

Module DC –DC Buck LM2596 3A Điện áp đầu vào 3V-30V Điện áp đầu ra 1.5V-30V

Dòng đáp úng tối đa 3A

LPD3606 – 600BM Encoder 600 xung có 2 pha AB, hoạt động với điện áp từ 5 – 24V và ngõ ra NPN cực thu để hở Với thiết kế nhỏ gọn và trọng lượng nhẹ, sản phẩm này dễ dàng cài đặt và có lợi thế về chi phí LPD3606 được ứng dụng rộng rãi trong nhiều lĩnh vực, bao gồm đo tốc độ quay, góc, gia tốc và chiều dài.

Bảng 5.12 Thông số kỹ thuật LPD3806-600BM Encoder 600 Xung

Hiệu suất 600 xung/vòng Điện áp hoạt động DC 5 – 24V

Tốc độ cơ khí tối đa 6000 vòng/phút

Tần số đáp ứng điện 20K/giây

- Trục nền: cao 5mm, φ 20mm

Hình 5.28 LPD3806-600BM Rotary Encoder 600 Xung NPN

Hình 5.29 Ắc quy Globe Bảng 5.13 Thông số kỹ thuật của ắc quy Globe

Thông số Globe WP20-12IE Điện áp đầu vào 12V

Loại ắc quy Ắc quy khô

Từ những thông số kỹ thuật của ắc qui đã chọn, Vì vậy trong đề tài này quyết định sử dụng bộ sạc bình ắc quy 200A tự động 12V - 24V BLM-168

❖ Tổng quan hệ thống điện

Hệ thống điều khiển bệ robot chịu trách nhiệm điều chỉnh chuyển động của robot theo quỹ đạo và vận tốc mong muốn với độ chính xác cao thông qua các thuật toán thông minh Đây là nhiệm vụ cơ bản trong việc điều khiển chuyển động của bộ phận đế, tạo nền tảng cho việc áp dụng các giải thuật nâng cao như lập bản đồ và di chuyển tự hành Ngoài việc di chuyển theo quỹ đạo đã định, robot còn phải giải quyết vấn đề tránh vật cản, bao gồm cả vật cản động và tĩnh trong quá trình di chuyển.

Hình 5.30 Sơ đồ khối hệ thống điều khiển bệ robot

Hệ thống điện của robot sử dụng nguồn Acquy 12V - 40Ah, cung cấp điện cho toàn bộ hoạt động của robot, bao gồm động cơ và mạch điều khiển Nguồn 5V được cấp cho máy tính nhúng và các vi điều khiển thông qua mạch giảm áp Máy tính nhúng hoạt động như máy chủ (Master), quản lý ba vi điều khiển (Slave) qua giao thức I2C, giúp phân chia chức năng điều khiển động cơ và đọc cảm biến một cách độc lập Mỗi vi điều khiển đảm nhận việc điều khiển mạch động cơ và liên tục đọc giá trị hồi tiếp từ encoder, đảm bảo kiểm soát vị trí và tốc độ bánh xe Các cảm biến như cảm biến gia tốc và cảm biến siêu âm giúp robot phát hiện vật cản hiệu quả.

69 trong quá trình đang di chuyển và biết góc quay và hướng của robot, các cảm biến này cũng được kiểm soát bởi một vi điều khiển riêng biệt

Để đảm bảo an toàn điện cho hệ thống và bảo vệ thiết bị điện khỏi hư hỏng, nhóm đã bố trí các mạch ổn áp ở đầu vào thiết bị Mạch ổn áp giúp duy trì điện áp đầu ra ổn định, ngăn ngừa tình trạng vọt lố hay quá tải, từ đó bảo vệ an toàn cho hệ thống robot Thông tin chi tiết được trình bày trong bản vẽ điện phần phụ lục Ngoài ra, robot được trang bị nút dừng khẩn cấp, cho phép người sử dụng tắt hệ thống ngay lập tức khi xảy ra sự cố bất ngờ.

❖ Các thiết bị điện được sử dụng trên robot

Mạch điện của robot sẽ điều khiển độc lập hai bánh xe, đảm bảo sự đồng bộ với các cảm biến ngoại vi Trên đế robot, sẽ có ba vi điều khiển hoạt động riêng biệt: hai vi điều khiển cho mỗi bánh xe và một vi điều khiển cho các cảm biến Tất cả các vi điều khiển này giao tiếp qua giao thức I2C, được đánh địa chỉ riêng biệt và quản lý bởi máy tính nhúng Raspberry Pi 4 Máy tính nhúng này cũng sẽ kết nối với máy chủ của người điều hành thông qua cơ sở dữ liệu MySQL.

5.2.3 Sơ đồ nguyên lý mạch điều khiển cho đế robot

Hình 5.31 Sơ đồ các khối chức năng cơ bản

Sơ đồ khối tổng quát cho hệ thống điều khiển động cơ 2 bánh bao gồm các khối chức năng cơ bản như sau: Vi điều khiển Arduino Nano đảm nhiệm vai trò bộ điều khiển, mạch điều khiển động cơ BTS7960 thực hiện chức năng mạch công suất, động cơ 775 được sử dụng làm nguồn lực chính, và đầu đọc LPD3806 được sử dụng để đọc xung encoder.

Nguồn năng lượng 12V từ bình ắc quy cung cấp điện trực tiếp cho động cơ, đảm bảo hoạt động hiệu quả Đồng thời, điện áp 12V này được giảm xuống còn 5V để cung cấp cho máy tính nhúng Raspberry Pi 4, các vi điều khiển, cùng với hệ thống cảm biến và đo lường.

Hình 5.32 Sơ đồ nguyên lý mạch điện cho đế robot

Nhóm đã tiến hành mua sắm thiết bị và lắp đặt các thành phần theo sơ đồ kết nối để điều khiển chuyển động của đế robot.

Hệ thống điều khiển robot

Mạch điều khiển đế robot chủ yếu có nhiệm vụ đọc tín hiệu từ cảm biến encoder để xác định tốc độ động cơ Nó cũng đảm nhận việc giao tiếp với máy tính nhúng và các cảm biến khác.

Hệ thống laser Lidar sử dụng giao tiếp I2C trong điều khiển đế robot, giúp tối ưu hóa kết nối với nhiều thiết bị và đảm bảo khả năng định danh rõ ràng.

Hình 5.34 Sơ đồ kết nối các linh kiện điện

- Vi điều khiển StM32F401CCU6

- RFID để xác định danh tính nhân viên

- Bàn phím ma trận để nhập số phòng cần di chuyển

- LCD 16x4 hiển thị trạng thái hoạt động

- HC – SR04 để phát hiện vật cản, bảo đảm an toàn cho nhân viên và hành khách

- Driver động cơ được kết nối với Arduino thông qua I2C

Mỗi động cơ được điều khiển bởi một driver, giao tiếp với vi điều khiển STM thông qua cơ chế UART Dữ liệu đầu vào từ máy tính được truyền đến mạch điều khiển để tính toán giá trị vận tốc Giá trị này sau đó được gửi đến hai driver, từ đó điều khiển hai động cơ Để đảm bảo chính xác, giá trị vận tốc thực tế được đo đạc và phản hồi lại cho mạch điều khiển thông qua encoder, cho phép tính toán lại nếu cần thiết.

Hình 5.35 Sơ đồ hệ thống điều khiển động cơ

Hình 5.36 Bộ điều khiển PID cho động cơ 5.3.2 Giao tiếp giữa mạch điều khiển và máy tính

Hệ thống điều khiển robot sử dụng Raspberry Pi 4 để giao tiếp với máy tính qua wifi Raspberry Pi kết nối với phần mềm trên máy tính, đóng vai trò trung gian trong việc truyền và nhận dữ liệu giữa hệ thống và máy tính Kết nối giữa Raspberry Pi và hệ thống điều khiển được thực hiện thông qua chuẩn UART.

Thiết kế trạm sạc Robot

5.4.1 Giới thiệu Đối với một Mobile Robot thì vấn đề năng lượng luôn là một vấn đề quan trọng Sạc năng lượng tự động là một giải pháp hiệu quả và hoàn hảo trong trường hợp Robot hoạt động di động Ắc quy sẽ tự động được sạc khi Robot gần hết năng lượng sẽ tìm về vị trí sạc và tiến hành sạc đầy năng lượng để tiếp tục hoạt động Trong nội dung này, chúng tôi sẽ mô tả trình bày quá trình sạc năng lượng tự động cho Mobile Robot Hệ thống sử dụng mạch kiểm tra điện áp để phát hiện mức năng lượng của ắc qui và tính toán thời gian làm việc còn lại cũng như tìm kiếm tới trạm sạc bằng hệ thống cảm biến hồng ngoại kết hợp với hệ thống cảm biến siêu âm

Hình 5.38 Hình ảnh mô phỏng Robot tìm về trạm sạc

5.4.2 Các thiết bị và linh kiện

Thông số kỹ thuật của ắc quy:

- Loại ắc quy: Ắc quy khô

Từ những thông số kỹ thuật của ắc quy đã chọn, Vì vậy trong đề tài này quyết định sử dụng bộ sạc bình ắc quy 200A tự động 12V - 24V BLM-168

Hình 5.39 Bộ sạc bình ắc quy 200A tự động 12V - 24V BLM-168

Loại mạch sạc ắc quy nhóm đang sử dụng là loại sạc được cho 12V/24V - 15A với các thông tin chi tiết như sau:

Thông số Gía trị Điện áp sạc 12V/24V (có thể chuyển tự động) Dòng điện sạc tối đa 15A (cho bình dung tích 6Ah - 200Ah) Điện áp vào 220V, 50Hz

Mạch sạc có 3 trạng thái hoạt động như sau:

Trạng thái sạc liên tục được xác định khi bộ so sánh điện áp ắc quy phát hiện giá trị thấp hơn ngưỡng của bộ sạc Khi đó, quá trình nạp sạc sẽ diễn ra liên tục với dòng điện không đổi.

Trong trạng thái sạc không đổi, khi điện áp đạt hoặc gần đạt ngưỡng của mạch sạc, quá trình sạc sẽ được ngắt để đảm bảo an toàn cho thiết bị.

Khi trạng thái sạc thả lỏng được kích hoạt, bộ sạc sẽ tự động giảm dòng sạc xuống mức thấp khi điện áp của bình gần đạt ngưỡng, cho phép người dùng quyết định tiếp tục sạc hoặc ngắt kết nối khi bình đã đầy.

Mạch sạc đóng vai trò quan trọng trong việc bảo vệ và duy trì tuổi thọ của ắc quy Nó không chỉ có chức năng ngắt tự động khi sạc hoàn tất, mà còn giúp giảm nguy cơ hư hỏng nhờ vào các tính năng như ngắn mạch và phân cực dự trữ Nhờ mạch sạc hiệu quả, ắc quy có thể hoạt động bền bỉ và an toàn hơn.

Hình 5.40 Mạch sạc ắc quy 200A tự động 12V - 24V BLM-168

❖ Mạch thu - phát sóng hồng ngoại

Led thu sóng hồng ngoại

Hình 5.41 Led thu sóng hồng ngoại

Led phát sóng hồng ngoại

Hình 5.42 Bảng Đèn LED Hồng Ngoại 850nm

- Điện áp làm việc: DC 12V

Hình 5.43 Phác thảo hình ảnh bộ phát-thu tín hiệu hồng ngoại

❖ Mạch thu - phát RF 433Mhz

Hình 5.44 Bộ thu - phát RF 433Mhz

- Dòng điện làm việc: 10 - 15mA

- Cách thức làm việc: AM

- Anten: 25cm đa lõi hoặc đơn

- Dòng điện làm việc: 4mA

Anten cần gắn thêm: dài 23cm đơn lõi có thể cuộn tròn

Hình 5.45 Sơ đồ khối phần thu - phát của module RF 433Mhz

Hình 5.46 Module Relay 2 Kênh 12VDC H/L

- Tải tối đa: AC 250V / 10A, DC 30V / 10A

- Kích thước module relay: 50 x 26 x 18.5mm (L x W x H)

Để xây dựng mạch đo điện áp cho ắc quy, mạch điều khiển Arduino chỉ có khả năng đọc giá trị điện áp trong khoảng từ 0 đến 5V Do đó, cần giảm điện áp trước khi đưa vào vi điều khiển Arduino để có thể đọc giá trị điện áp của ắc quy Theo định luật Thevenin Norton, có thể áp dụng công thức tương ứng để thực hiện điều này.

V 1 là điện áp của ắc quy (Volt)

V out là điện áp đưa vào arduino (Volt)

R 1 , R 2 là giá trị các điện trở (Ohm)

Vì điện áp định mức của ắc qui là 12V và điện áp tối đa của arduino là 5V nên ta chọn:

5.4.3 Xây dựng hệ thống sạc tự động

Trong hệ thống sạc tự động cho Robot, nhóm nghiên cứu đã áp dụng cảm biến hồng ngoại để xác định chính xác tiếp điểm sạc khi robot ở khu vực sạc Kết quả từ cảm biến hồng ngoại cho phép xác định vị trí tương đối giữa robot và tiếp điểm tại hộp sạc.

Robot sẽ tự động kết nối với trạm sạc, trong quá trình này, bộ phát sóng hồng ngoại trên robot sẽ tạm ngừng hoạt động để tránh gây nhiễu Nhờ vào các thông số cụ thể của cảm biến, chúng tôi có thể tính toán khoảng cách, góc quét và cách thiết lập cảm biến, từ đó sắp xếp cảm biến một cách hợp lý trên trạm sạc.

❖ Lưu đồ qui trình sạc tự động của Robot

Hình 5.47 Lưu đồ hoạt động của hệ thống sạc tự động trên Robot

Hình 5.48 Lưu đồ điều khiển động cơ của hệ thống sạc tự động trên Robot

❖ Sơ đồ nguyên lý của hệ thống sạc tự động

Hình 5.49 Sơ đồ nguyên lý của hệ thống sạc tự động ở trạm sạc

Hình 5.50 Sơ đồ nguyên lý của hệ thống sạc tự động trên Robot

❖ Nguyên lý hoạt động của hệ thống

Khi Robot đạt ngưỡng năng lượng cần sạc, nó sẽ phát tín hiệu qua bộ RF433 đến trạm sạc Trạm sạc kích hoạt relay để khởi động bộ phát tín hiệu hồng ngoại, gửi tín hiệu hướng dẫn Robot di chuyển về trạm sạc Trong trạng thái đầu tiên, Robot nhận tín hiệu "Trái" và "Phải" để điều hướng.

Robot tiến gần trạm sạc và thực hiện quay 180º để kết nối điểm sạc Khi công tắc hành trình chạm vào trạm sạc, tín hiệu "Dừng" được gửi đến Robot, tắt tín hiệu hồng ngoại và bắt đầu quá trình sạc Sau khi ắc quy được sạc đầy, Robot gửi tín hiệu đến bộ sạc, Relay trở về vị trí ban đầu và hệ thống sạc ngắt, cho phép Robot tiếp tục hoạt động.

XÂY DỰNG GIẢI THUẬT ĐIỀU KHIỂN

Tổng quan sơ đồ điều khiển

Hình 6.1 Sơ đồ điều khiển

Giá trị đầu vào là các thông số điều khiển mong muốn, phản ánh trạng thái của mô hình trong quá trình điều khiển Các giá trị này bao gồm nhiều thông số khác nhau.

- Các toạ độ x, y của các vị trí mà AGV được điều khiển để di chuyển đến

- Giá trị các góc (Yaw) là các góc trạng thái của mô hình khi di chuyển đến các toạ độ đã đặt

Bộ điều khiển nhận tín hiệu đầu vào từ yêu cầu điều khiển và tín hiệu hồi trả từ trạng thái hiện tại của mô hình trong hệ thống ROS Nó xử lý tín hiệu đặt và tín hiệu hồi tiếp để điều chỉnh hai động cơ, nhằm giảm thiểu sai số giữa trạng thái mong muốn và thực tế.

Khối cảm biến là thiết bị thiết yếu cho AGV, cung cấp thông tin về trạng thái và phương hướng Nó bao gồm ba trục cảm biến gia tốc, ba trục từ trường, ba trục vận tốc góc và cảm biến Lidar, giúp AGV hoạt động chính xác và hiệu quả.

Mô hình điều khiển sẽ thay đổi trạng thái thông qua hoạt động của hai động cơ kết hợp với cấu trúc cơ khí và các tác động từ môi trường Các trạng thái hoạt động được cập nhật liên tục và gửi về bộ phận trung tâm để theo dõi và điều chỉnh.

Lưu đồ giải thuật xây dựng cho chương trình chính

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

Sau khi robot xác định được điểm đến, thuật toán Dijkstra sẽ phân tích tỷ lệ chiếm chỗ của môi trường xung quanh để xác định khu vực có vật cản và khu vực trống Dựa trên thông tin này, Dijkstra lập ra một tập hợp các điểm lý tưởng mà robot cần đến trước khi bắt đầu di chuyển Đường thẳng nối các điểm này sẽ tạo thành lộ trình mục tiêu cho robot Trong quá trình di chuyển, nếu robot gặp phải sự cố như trượt bánh hoặc vật cản, thuật toán Dijkstra sẽ cập nhật các điểm mục tiêu mới dựa vào dữ liệu từ Lidar Quá trình này sẽ lặp lại cho đến khi robot đến được điểm đích trong khoảng sai số cho phép.

Giải thuật tối ưu chu trình đi

Lưu đồ thuật toán Đầu vào: Ma trận khoảng cách. Đầu ra: Độ dài chu trình, Chu trình di chuyển.

B1: Connect database => lấy ma trận khoảng cách.

B2: Tìm giá trị nhỏ thứ 2 trong ma trận khoảng cách.

B3: Khởi tạo các mảng, biến lưu kết quả:

- Mảng lưu các phòng đi trong quá trình test.

- Mảng lưu chu trình sau khi kết thúc tìm kiếm.

- Mảng xác định các phòng đã đến hay chưa.

- Biến lưu độ dài chu trình di chuyển sau khi kết thúc tìm kiếm.

B4: Bắt đầu ở điểm Home (nút số 0):

- Xác định đã đến điểm 0.

- Thêm 0 vào mảng các phòng đã đi trong quá trình test.

- Gọi tới hàm tìm điểm thứ 2 có level là 1.

B5: Chạy thuật toán tìm chu trình tối ưu.

Hình 6.3 Sơ đồ tối ưu đường đi

Lưu đồ thuật toán giao tiếp với người dùng

Nhóm phát triển đã thiết kế giao diện web để người dùng cuối dễ dàng tương tác với robot, thông qua ba chế độ hoạt động chính: một chế độ thủ công và hai chế độ tự động Giao diện này giúp tối ưu hóa trải nghiệm người dùng trong quá trình giao tiếp với robot.

Robot có hai chế độ hoạt động: chế độ tự động và chế độ thủ công Trong chế độ thủ công, người dùng có thể điều khiển robot di chuyển thông qua các nút nhấn trên giao diện web từ các thiết bị được phép truy cập Mặc dù robot không tự động can thiệp, nó vẫn thực hiện quá trình định vị để xác định vị trí, và thông tin này được hiển thị trên giao diện điều khiển, giúp người dùng dễ dàng quan sát.

Trong chế độ tự động đầu tiên, người sử dụng chọn các phòng trên bản đồ khu vực đã được tạo sẵn, và robot sẽ di chuyển đến đó Người dùng sắp xếp hàng hóa, chọn phòng cần đến và ấn xác nhận để robot thực hiện di chuyển Khi đến phòng đã chỉ định, người dùng có thể tiếp tục chỉ định robot đến các phòng tiếp theo Việc điều khiển trong chế độ này chỉ yêu cầu người dùng chọn phòng, sau đó vị trí muốn đến sẽ được xuất ra trong ROS Các thuật toán trong ROS sẽ thực hiện việc điều khiển di chuyển và xử lý tránh vật cản, đồng thời hiển thị thông tin trên web để người dùng theo dõi.

Chế độ tự động thứ hai cho phép robot di chuyển đến nhiều phòng đã được chỉ định trước Người dùng sẽ nhập danh sách các phòng cần đến, và robot sẽ áp dụng thuật toán tối ưu để xác định thứ tự di chuyển nhằm giảm thiểu quãng đường Mỗi khi đến một phòng, robot sẽ cần sự xác nhận từ người dùng trước khi tiếp tục đến điểm tiếp theo.

KẾT QUẢ VÀ THỰC NGHIỆM

Kết quả thi công mô hình

Hình 7.1 Ảnh thiết kế trên phần mềm Inventor

Hình 7.2 Ảnh thực tế thi công mô hình

Bảng 7.1 Kết quả thông số

Vật liệu Thép, mica, nhựa

Vi xử lý Arduino nano

Đánh giá thông số bộ điều khiển PID

❖ Sơ đồ khối bộ điều khiển PID

Sau khi nhận giá trị xung điện áp từ bộ điều khiển PID, ngõ ra sẽ được xử lý qua khâu bão hòa Khâu bão hòa xác định giới hạn trên và dưới của ngõ ra điều khiển, tùy thuộc vào đặc tính của điểm thiết lập, trong trường hợp này là liên quan đến điều khiển vị trí và vận tốc.

Hình 7.3 Khâu bão hòa cho điều khiển vị trí

Hình 7.4 Khâu bão hòa cho điều khiển vận tốc

Sau khi có được đầy đủ các công thức và giá trị giới hạn sẽ dễ dàng viết chương trình cho giải thuật điều khiển PID động cơ

❖ Thông số PID theo phương pháp bán thực nghiệm

Hình 7.5 Quan hệ giữa điện áp và tốc độ động cơ bánh phải

Dựa theo phương pháp bán thực nghiệm sẽ thực hiện vẽ đồ thị và đo đạc được các thông số sau:

Bảng 7.2 Bảng thông số bánh phải

Qua đó xác định được hàm truyền của động cơ bánh phải như sau:

Hàm truyền động cơ được xác định là hàm bậc 1 có độ trễ, điều này cho phép chúng ta tính toán các thông số PID trong bộ điều khiển PID bằng phương pháp IMC.

Hình 7.6 Quan hệ giữa điện áp và tốc độ độc cơ bánh trái

Dựa theo phương pháp bán thực nghiệm sẽ thực hiện vẽ đồ thị và đo đạc được các thông số sau:

Bảng 7.3 Bảng thông số bánh trái

Qua đó xác định được hàm truyền của động cơ bánh trái như sau:

Hàm truyền của động cơ là hàm bậc 1 có độ trễ, từ đó chúng ta có thể tính toán các thông số PID cho bộ điều khiển PI bằng phương pháp IMC.

Kết quả di chuyển giữa 2 điểm A – B

Robot trong khách sạn có nhiệm vụ di chuyển giữa các phòng, do đó, việc tối ưu hóa lộ trình và đảm bảo đến đúng điểm đích là rất quan trọng.

Nhóm tiến hành thử nghiệm cho robot di chuyển từ điểm A đến điểm B với khoảng di chuyển là 2m, tải trọng đặt lên robot là 10 kg.

Hình 7.7 Độ lệch của robot khi di chuyển thẳng từ điểm A đến B

Bảng 7.4 Giá trị sai số của robot khi di chuyển thẳng A đến B

Dựa vào bảng 7.4, robot cho thấy sai lệch trên cả hai phương X và Y, với sai lệch phương X khoảng ± 2cm và phương Y khoảng ± 8cm Nguyên nhân sai lệch theo phương X xuất phát từ sai số cơ khí giữa hai bánh chủ động, trong khi sai lệch theo phương Y là do nhóm thiết lập khoảng sai số vị trí cho robot khi đến điểm đích, cụ thể là 10cm Việc cấu hình sai số 10cm trong ROS cho phép robot thực hiện điều khiển hiệu quả hơn trong thời gian ngắn, vì nếu yêu cầu độ chính xác cao hơn sẽ cần nhiều thời gian dò tìm và thực thi, không đáp ứng được yêu cầu dịch vụ thương mại.

Kết quả thuật toán tối ưu chu trình di chuyển

Nhóm sẽ tiến hành thử nghiệm kiểm tra kết quả chu trình được đưa ra bằng phương pháp nhóm lựa chọn và kết quả từ phương pháp vét cạn

Hình 7.8 Bản đồ vị trí Home và các phòng

Số liệu thực tế được tăng lên với hệ số 1: 49.1039 (1 mét = 49.1039 pixel)

Lần 1: Robot cần di chuyển từ Home (0) đến tất cả các phòng (1,2,3,4) và quay về Home

(sẽ in ra ngay chu trình ngắn nhất và số lần thực thi để tìm ra chu trình đó)

Vét cạn (sẽ in ra tất cả các chu trình và chi phí)

Lần 2: Robot cần di chuyển từ Home (0) đến các phòng (2,4) và quay về Home (0)

(sẽ in ra ngay chu trình ngắn nhất và số lần thực thi để tìm ra chu trình đó)

Vét cạn (sẽ in ra tất cả các chu trình và chi phí)

Lần 3: Robot cần di chuyển từ Home (0) đến các phòng (1,3,4) và quay về Home (0)

(sẽ in ra ngay chu trình ngắn nhất và số lần thực thi để tìm ra chu trình đó)

(sẽ in ra tất cả các chu trình và chi phí)

Kết quả di chuyển đến phòng chỉ định

7.5.1 Độ sai lệch khi đến phòng

Nhóm đã thực hiện việc điều khiển robot di chuyển từ điểm Home đến các phòng 1, 2, 3 và 4, đồng thời thu thập dữ liệu về sai lệch so với đường trung tâm của từng phòng.

Nhóm đã thực hiện 10 lần thí nghiệm để điều khiển robot di chuyển đến từng phòng và đã lập bảng sai lệch trong quá trình di chuyển Kết quả cho thấy, sai lệch của robot nằm trong phạm vi cho phép, với kích thước cửa mỗi phòng là 1,6 m.

Hình 7.9 Đồ thị di chuyển từ Home đến phòng 1

Hình 7.10 Đồ thị di chuyển từ Home đến phòng 3

Hình 7.11 Đồ thị di chuyển từ phòng 1 đến phòng 3

Các đồ thị 7.9, 7.10, 7.11 cho thấy đường thực tế của robot bám sát đường dự kiến được xác định bởi thuật toán Dijkstra Đường thực tế được tạo ra từ thuật toán di chuyển tránh va chạm DWA và thuật toán định vị AMCL Mặc dù có một số điểm lệch so với đường dự kiến trong điều kiện thử nghiệm không có vật cản, nguyên nhân chủ yếu là do sai số cộng dồn từ cơ khí như bánh trượt, địa hình trơn và quán tính động cơ Tuy nhiên, robot vẫn có khả năng bám vào điểm đến là phòng phía trước và dần dần theo quỹ đạo đã được lập ra.

Hình 7.12 Đồ thị di chuyển từ Home đến phòng 3, có vật cản

Hình 7.13 Đồ thị di chuyển từ phòng 3 về Home, có vật cản

Hình 7.14 Đồ thị di chuyển từ phòng 3 về Home, có vật cản, có tải

Khi thử nghiệm trong môi trường có vật cản, sự chênh lệch giữa đường đi thực tế và lý thuyết rất rõ rệt, điều này nằm trong cấu trúc điều khiển của ROS Thuật toán Dijkstra tìm đường đi ngắn nhất dựa vào bản đồ đã cung cấp và các vật cản trong phạm vi 1 mét quanh robot Trong điều kiện không có vật cản, ROS sẽ xuất ra đường đi tối ưu Tuy nhiên, khi robot tiếp cận vật cản, thuật toán DWA sẽ phát hiện chúng trong một khung vuông đã cấu hình Lúc này, robot sẽ thông báo cho thuật toán Dijkstra để tính toán lại đường đi mới, cho phép robot tạo ra đường đi mới và né vật cản một cách mượt mà và liên tục.

7.5.3 Đánh giá vận tốc bánh xe

Hình 7.15 Đồ thị di chuyển và vận tốc 2 bánh xe khi di chuyển từ Home đến phòng 3

Hình 7.16 Đồ thị di chuyển và vận tốc 2 bánh xe khi di chuyển từ phòng 3 về Home

 Nhận xét: Khi so sánh đến biểu đồ tốc độ động cơ của 2 bánh xe khi robot thực hiện

Quá trình di chuyển và tránh vật cản của robot cho thấy sự chênh lệch về tốc độ giữa các bánh xe, điều này giúp robot thực hiện các quỹ đạo đường cong mượt mà và đáp ứng được yêu cầu của quỹ đạo di chuyển ROS Đồ thị cho thấy tốc độ tối đa của động cơ đạt 2.5 rad/s, tuy nhiên, do nhóm đang sử dụng nguồn 12V cho động cơ 24V, tốc độ hiện tại chỉ đạt một nửa tốc độ tối đa, và kết quả đo được phù hợp với các thông số đã tính toán.

Giao diện giám sát điều khiển

7.6.1 Đánh giá giao diện người dùng

Hình 7.17 Giao diện đăng nhập

Hình 7.18 Giao diện đăng nhập

Hình 7.19 Giao diện quan sát và điều khiển robot

Hình 7.20 Các thành phần điều khiển, giám sát thông số

Giao điện quan sát và điều khiển gồm các thành phần: bản đồ vị trí, thông số robot, các chức năng điều khiển, biểu đồ

- Có giao diện đăng nhập giúp tăng cường bảo mật cho hệ thống

- Giao diện web được xây dựng một cách trực quan, đơn giản dễ sử dụng hầu hết với mọi người

- Độ phản hồi tốt ít bị delay

- Có thể kết nối tốt với hệ thống wifi

- Thiết bị chỉ mới hoạt động trong mạng nội bộ

- Giao diện Website hiện mới chỉ hoạt động tốt trên Laptop, Pc vẫn còn lỗi trên Smartphone, Tablet

7.6.2 Đánh giá khả năng điều khiển thông qua website

Trong chế độ điều khiển Manual, người dùng có khả năng điều khiển robot di chuyển bằng các nút điều hướng Chức năng này cho phép người giám sát theo dõi và đánh giá cách di chuyển của robot một cách hiệu quả.

Trong chế độ Auto, robot hoạt động tự động và có khả năng phát hiện sự cố Nếu xảy ra vấn đề, người giám sát có thể ngay lập tức dừng toàn bộ hoạt động của robot bằng cách sử dụng nút E-STOP (dừng khẩn cấp).

Hình 7.23 Giao diện ở chức năng điều khiển chọn điểm đến Ưu điểm:

- Khả năng gửi truyền dữ liệu điều khiển nhanh chóng

- Kết hợp tốt với bản đồ hiển thị vị trí

Nhược điểm: Các thử nghiệm mới chỉ ở kết nối mạng nội bộ nên chưa đưa ra được nhiều kết luận.

Kết quả thi công trạm sạc Robot

Dựa trên những yêu cầu thiết kế và lý thuyết tìm hiểu, nhóm đã chế tạo được hệ thống sạc điện tự động dành cho Robot

Hình 7.24 Hình ảnh thực tế của trạm sạc

Sau khi tiến hành cho Robot chạy thử nghiệm và đánh giá kết quả nhóm đã rút ra được một số kết luận như sau:

Hệ thống trạm sạc tự động cho Robot đã được chế tạo thành công, giúp đảm bảo hiệu quả và liên tục trong quá trình hoạt động của Robot Robot có khả năng quay về trạm sạc khi hết năng lượng với độ chính xác cao Tuy nhiên, hệ thống vẫn gặp một số nhược điểm, đặc biệt là khi có ánh sáng mặt trời mạnh, gây nhiễu tín hiệu hồng ngoại và làm giảm độ chính xác trong việc quay về Ngoài ra, phạm vi hoạt động của Robot vẫn còn hạn chế.

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

Kết luận, nghiên cứu này tập trung vào việc áp dụng kiến thức về robot di chuyển với 2 bánh chủ động và 2 bánh tự lựa, nhằm điều khiển thành công mô hình robot di chuyển trong không gian xác định, cụ thể là các hành lang khách sạn.

Xây dựng hệ thống trạm sạc tự động là yếu tố quan trọng để nâng cao hiệu quả hoạt động của robot Robot sẽ tự động trở về trạm sạc khi dung lượng ắc quy giảm xuống mức thấp Tuy nhiên, hệ thống này vẫn còn một số nhược điểm cần được cải thiện để tối ưu hóa hiệu suất.

Thuật toán Dijkstra là một công cụ quan trọng trong việc tìm đường đi ngắn nhất cho robot giao hàng Ứng dụng của thuật toán này giúp robot xác định lộ trình tối ưu đến các phòng cần giao hàng, đồng thời tránh va chạm với các chướng ngại vật trên đường đi Việc sử dụng Dijkstra không chỉ nâng cao hiệu suất di chuyển của robot mà còn đảm bảo an toàn trong quá trình giao hàng.

Đề tài đã nghiên cứu tổng quan về mô hình web myPHPAdmin, từ đó phát triển một website điều khiển có khả năng xử lý nhiều tiến trình đồng thời với luồng dữ liệu lớn Website này cung cấp các tính năng hữu ích cho việc giám sát, theo dõi và định vị.

Đề tài đã thành công trong việc thiết kế và chế tạo robot AGV phục vụ trong khách sạn, với hệ thống cơ, điện, điều khiển và giao diện đồng bộ Sự kết hợp này giúp robot hoạt động hiệu quả trong môi trường khách sạn, hỗ trợ nhân viên giảm bớt công việc và nâng cao trải nghiệm cho khách hàng.

Cùng với những kết quả đã đạt được, nghiên cứu vẫn còn một số hạn chế chưa khắc phục được:

- Thiết kế cơ khí chưa tối ưu cho việc tháo lắp, bảo trì, bảo dưỡng.

- Thuật toán điều khiển vẫn chưa được tối ưu, tính toán quãng đường di chuyển thay thế khi gặp chướng ngại vật vẫn còn chậm.

- Robot chỉ di chuyển trên một tầng cố định, không thể di chuyển được trong thang máy.

- Tính ứng dụng cho hướng phục vụ vẫn chưa rõ ràng, cụ thể.

Trong tương lai, việc nâng cấp sản phẩm sẽ yêu cầu thiết kế linh hoạt các bộ phận để dễ dàng tháo rời và sửa chữa Cần tối ưu hóa thuật toán điều khiển nhằm cải thiện khả năng xử lý thông tin và xác định đường đi nhanh hơn Một tính năng quan trọng là cho phép robot di chuyển linh hoạt trong thang máy, giúp nó dễ dàng di chuyển giữa các tầng Đồng thời, tích hợp tính năng gọi phòng khách hàng khi robot gần đến điểm giao hàng cũng là một yếu tố cần thiết.

Ngày đăng: 14/11/2023, 10:10

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Trịnh Chất và Lê Văn Uyển, “Tính toán thiết kế hệ dẫn động cơ khí”, NXB Giáo dục, Tp.HCM Sách, tạp chí
Tiêu đề: Tính toán thiết kế hệ dẫn động cơ khí
Nhà XB: NXB Giáo dục
[2] ThS. Võ Lâm Chương, Bài giảng “Thí nghiệm điều khiển tự động 2”, Đại học Sư Phạm Kĩ Thuật Tp.HCM Sách, tạp chí
Tiêu đề: Thí nghiệm điều khiển tự động 2
[3] Trần Quốc Hùng, “Dung sai kĩ thuật đo”, Nhà xuất bản ĐHQG, Tp.HCM Sách, tạp chí
Tiêu đề: Dung sai kĩ thuật đo
Nhà XB: Nhà xuất bản ĐHQG
[4] Nguyễn Thế Hùng, “Bài giảng môn học điều khiển tự động”, Nhà xuất bản Giáo dục, 2000 Sách, tạp chí
Tiêu đề: Bài giảng môn học điều khiển tự động
Nhà XB: Nhà xuất bản Giáo dục
[5] Nguyễn Quang Hải, “Nhập môn HTML và CSS”, NXB Giáo dục Việt Nam, Hà Nội Sách, tạp chí
Tiêu đề: Nhập môn HTML và CSS
Nhà XB: NXB Giáo dục Việt Nam
[6] Nguyễn Hữu Lộc, “Cơ sở thiết kế máy”, Nhà xuất bản ĐHQG, Tp.HCM Sách, tạp chí
Tiêu đề: Cơ sở thiết kế máy
Nhà XB: Nhà xuất bản ĐHQG
[7] Phạm Thị Nhung, “Lập trình Web với HTML và Javascript”, Nhà xuất bản ĐHQG, Tp.HCM Sách, tạp chí
Tiêu đề: Lập trình Web với HTML và Javascript
Nhà XB: Nhà xuất bản ĐHQG
[8] Trần Hữu Quế (chủ biên), “Vẽ kỹ thuật cơ khí (tập 1, tập 2)”, Nhà xuất bản Giáo dục, 2007 Sách, tạp chí
Tiêu đề: Vẽ kỹ thuật cơ khí (tập 1, tập 2)
Nhà XB: Nhà xuất bản Giáo dục
[9] Thuận Thành, “Tự học PHP trong 24h”, Nhà xuất bản Thanh niên, Tp.HCM. Tiếng Anh Sách, tạp chí
Tiêu đề: Tự học PHP trong 24h”, Nhà xuất bản Thanh niên, Tp.HCM
Nhà XB: Nhà xuất bản Thanh niên
[10] Adeel Javaid, “Understanding Dijkstra Algorithm”, Article in SSRN Electronic Journal, page 1-26, 10/2013 Sách, tạp chí
Tiêu đề: Understanding Dijkstra Algorithm
[11] Dudek and Jenkin, “Differential Drive Robots”, Page 1-5, bài báo khoa học đại học Columbia, 6/19/2013 Sách, tạp chí
Tiêu đề: Differential Drive Robots
[13] InvenSense, “MPU-6000 and MPU-6050 Register Map and Descriptions Revision 3.4”, 2013 Sách, tạp chí
Tiêu đề: MPU-6000 and MPU-6050 Register Map and Descriptions Revision 3.4
[14] Kaiyu Zheng, Chapter "ROS Navigation Tuning Guide" in Robot Operating System (ROS), page 10-12,7/18/2021 Sách, tạp chí
Tiêu đề: ROS Navigation Tuning Guide
[15] Rafal Cupek, Marek Drewniak, Marcin Fojcik, Erik Kyrkjebứ, Jerry ChunWei Lin, Dariusz Mrozek, Knut ỉvsthus and Adam Ziebinski, “Computational Science – ICCS 2020”, page 330-343, 6/3/2020 Sách, tạp chí
Tiêu đề: Computational Science – ICCS 2020
[16] World Economic Forum, “The future of job 2018”, 2018. Nguồn khác Sách, tạp chí
Tiêu đề: The future of job 2018”, 2018
[17] Thu Thảo, “Robot bồi bàn sẵn sàng phục vụ tại hàng ngàn nhà hàng ở Trung Quốc”, link Robot bồi bàn sẵn sàng phục vụ tại hàng ngàn nhà hàng Trung Quốc (thanhnien.vn), 6/2023 Sách, tạp chí
Tiêu đề: Robot bồi bàn sẵn sàng phục vụ tại hàng ngàn nhà hàng ở Trung Quốc
[18] Anurag Rai, Traveling Salesman Problem using Branch And Bound, link https://www.geeksforgeeks.org/traveling-salesman-problem-using-branch-and-bound-2, 7/2023 Link
[12] Grey Welch &amp; Gary Bishop, “An Introduction to The Kalman Filter, 2001 Khác

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

  • Đang cập nhật ...

TÀI LIỆU LIÊN QUAN

w