1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

THIẾT KẾ CHẾ TẠO RÔBỐT TỰ HÀNH ĐA HƯỚNG KIỂU BÁNH XE MECANUM

113 24 4
Tài liệu đã được kiểm tra trùng lặp

Đ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ế Chế Tạo Rôbốt Tự Hành Đa Hướng Kiểu Bánh Xe Mecanum
Tác giả Nguyễn Thành Long
Người hướng dẫn TS. Nguyễn Hồng Thái
Trường học Trường Đại học Bách khoa Hà Nội
Chuyên ngành Cơ điện tử
Thể loại Đồ án tốt nghiệp
Năm xuất bản 2022
Thành phố Hà Nội
Định dạng
Số trang 113
Dung lượng 6,33 MB

Cấu trúc

  • Chương 1 (18)
    • 1.1 GIỚI THIỆU CHUNG (18)
    • 1.2 PHƯƠNG TRÌNH ĐỘNG HỌC CỦA AVG ĐIỀU HƯỚNG LINH HOẠT KIỂU BÁNH XE ĐA HƯỚNG MECANUM (21)
      • 1.2.1 Bài toán động học thuận (24)
      • 1.2.2 Bài toán động học ngược (24)
    • 1.3 THIẾT KẾ QUỸ ĐẠO CHUYỂN ĐỘNG BẰNG ĐƯỜNG CONG NURBS (25)
      • 1.3.1 Đường cong NURBS (25)
      • 1.3.2 Đường con g và hàm NURBS (27)
      • 1.3.3 Đạo hàm đường cong NURBS (29)
      • 1.3.4 Thiết kế đường cong (30)
    • 1.4 KHẢO SÁT QUỸ ĐẠO CHUYỂN ĐỘNG CỦA ĐƯỜNG CONG BẤT KỲ (33)
      • 1.4.1 Thiết kế quỹ đạo (33)
      • 1.4.2 Khảo sát các chuyển động của xe (34)
  • Chương 2 (44)
    • 2.1 THIẾT LẬP M Ô HÌNH SAI SỐ ĐỘNG HỌC (44)
    • 2.2 THIẾT KẾ HỆ THỐNG ĐIỀU KHIỂN PHẢN HỒI TRẠNG THÁI TUYẾN TÍNH (45)
    • 2.3 THIẾT KẾ QUỸ ĐẠO ĐƯỜNG CONG NURBS (47)
    • 2.4 KẾT QUẢ MÔ PHỎNG SIMULINK MATLAB (48)
  • Chương 3 (55)
    • 3.1 MÔ TẢ CẤU TRÚC CỦA RÔBỐT (55)
      • 3.1.1 Cấu trúc thân xe (55)
      • 3.1.2 Phần mềm chương trình (57)
      • 3.1.3 Bộ điều khiển (57)
    • 3.2 CẤU TRÚC BỘ DẪN ĐỘNG (57)
    • 3.3 CẤU TRÚC PHẦN CỨNG CỦA BỘ ĐIỀU KHIỂN (59)
    • 3.4 THÔNG SỐ KỸ THUẬT CỦA CÁC THIẾT BỊ PHẦN CỨNG (60)
    • 3.5 CHẾ TẠO THỰC NGHIỆM (64)
    • 3.6 THỰC NGHIỆM THỬ NGHIỆM (65)
      • 3.6.1 Chế độ bằng tay (65)
      • 3.6.2 Chế độ điều khiển tự động bám theo quỹ đạo (70)
      • 3.6.3 Thực nghiệm quét bản đồ (72)
    • 4.1 HỆ ĐIỀU HÀNH ROS (75)
    • 4.2 THIẾT KẾ PHẦN MỀM ĐIỀU KHIỂN ĐỘNG CƠ VÀ GIAO TIẾP IMU (76)
      • 4.2.1 Sơ đồ kết nối động cơ và IMU với máy tính nhúng (76)
      • 4.2.2 Thiết kế phần mềm điều khiển động cơ (77)
      • 4.2.3 Thiết kế phần mềm giao tiếp với IMU (79)
      • 4.2.4 Chương trình của bo mạch nhúng Arduino Mega 2560 (80)
    • 4.3 THUẬT TOÁN ĐIỀU KHIỂN (85)
    • 4.4 THU THẬP DỮ LIỆU LIDAR VÀ QUÉT BẢN ĐỒ (88)
    • 4.5 THỬ NGHIỆM (95)
    • I) Các kết quả đạt được (100)
    • II) Kiến nghị các nội dung cần hoàn thiện (100)
    • I) Tài liệu tham khảo (101)
    • II) Chi tiết bài báo đã công bố (102)

Nội dung

Nhiều thiết kế xe đa hướng hoặc gần đa hướng đã được đề xuất. Nhìn chung, chúng có thể được chia thành hai cách tiếp cận: thiết kế bánh xe thông thường và thiết kế bánh xe đặc biệt. Bánh xe thông thường về mặt cơ học đơn giản, có khả năng chịu tải cao và khả năng chịu đựng các bề mặt làm việc không đều cao. Tuy nhiên, loại hệ thống này không thực sự đa hướng. Các thiết kế đã được đề xuất để đạt được khả năng di chuyển gần như đa hướng bằng cách sử dụng bánh xe thông thường, thiết kế phổ biến nhất là những thiết kế sử dụng bánh lái. Các xe dựa trên thiết kế này có ít nhất hai bánh chủ động, mỗi bánh có cả cơ cấu dẫn động và dẫn động lái. Chúng có thể di chuyển theo bất kỳ hướng nào từ bất kỳ cấu hình nào. Tuy nhiên, loại hệ thống này không thực sự đa hướng vì nó cần dừng lại và định hướng lại bánh xe theo hướng mong muốn. Hầu hết các thiết kế bánh xe đặc biệt đều dựa trên khái niệm đạt được lực kéo theo một hướng và cho phép chuyển động thụ động theo hướng khác, do đó cho phép linh hoạt hơn trong môi trường tắc nghẽn. Cấu trúc ba bánh xe sử dụng 'Omni-wheel' và cấu trúc bốn bánh sử dụng ‘bánh xe Mecanum’ là những ví dụ tiêu biểu của nền tảng rôbốt đa hướng. Đặc biệt, rôbốt tự hành đa hướng với Bánh xe Mecanum được sử dụng trong trường hợp yêu cầu sự ổn định, loại bánh xe này được sử dụng trong các ứng dụng rôbốt đòi hỏi mức độ cơ động cao. Bánh xe đa hướng có 3 bậc tự do: chuyển động quay của bánh xe, chuyển động quay của con lăn, và trượt chuyển động về trục thẳng đứng đi qua tiếp điểm [1], [2]. Trong hầu hết các trường hợp, các bánh xe đa hướng được kết nối với thân rôbốt và chúng không xoay để đánh lái, việc lái xe có thể được thực hiện bằng cách kết hợp các tốc độ quay của các bánh xe. Bánh xe Mecanum có những ưu điểm sau: thiết kế nhỏ gọn, khả năng chịu tải cao, điều khiển đơn giản, tốc độ thấp và lực đẩy thấp khi di chuyển theo đường chéo. Nhược điểm có thể kể đến: tiếp xúc không liên tục, độ nhạy cao với các bất thường bề mặt chuyển động, thiết kế phức tạp [3]. Các rôbốt tự hành đa hướng đã được quan tâm nghiên cứu [4], [5], [6]. Trong danh mục các rôbốt tự hành này, rôbốt tự hành đa hướng sử dụng bánh xe Mecanum có thể thực hiện các nhiệm vụ quan trọng trong môi trường đông đúc có chướng ngại vật tĩnh và động, các lối đi trong nhà, chẳng hạn như văn phòng, xưởng, nhà máy, nhà kho hoặc được sử dụng để tạo điều kiện chăm sóc người già hoặc bệnh nhân nhập viện, v.v ... [5], [7]. Chính vì vậy, nội dung đồ án sẽ thiết kế chế tạo rôbốt tự hành bánh xe Mecanum cùng với một bộ điều khiển phản hồi trạng thái tuyến tính áp dụng vào rôbốt.

GIỚI THIỆU CHUNG

Xe tự hành AGV, robot AGV, tiếng anh là

Xe tự hành AGV (Automation Guided Vehicle) là loại phương tiện sử dụng công nghệ dẫn đường để tự động vận chuyển hàng hóa và nguyên vật liệu đến các địa điểm đã được chỉ định mà không cần sự can thiệp của con người AGV thường được gọi là robot kéo hàng hoặc robot vận chuyển hàng tự động.

1.1) Xe tự hành AGV là một phần của quá trình phát triển nhà máy thông minh (Smart Factory) cũng như Tự động hóa trong công nghiệp

Với sự phát triển của ngành sản xuất, nhu cầu vận chuyển, bốc dỡ và lưu trữ hàng hóa ngày càng gia tăng Xu hướng tự động hóa đang thay thế lao động trong sản xuất, khiến cho các hệ thống vận chuyển nội bộ như băng tải và AGV trở nên thiết yếu trong lĩnh vực vận chuyển vật liệu Điều này đặc biệt quan trọng trong các nhà máy sản xuất linh kiện điện tử, sản phẩm khuôn đúc, chi tiết lắp ráp, dược mỹ phẩm, và thực phẩm – đồ uống.

Xe tự hành AGV hiện đang được áp dụng rộng rãi trong việc vận chuyển nguyên vật liệu cho nhiều lĩnh vực, bao gồm công nghiệp ô tô, điện tử, logistics, dược phẩm, y tế và hàng tiêu dùng.

Xe tự hành AGV và robot AGV mang lại nhiều lợi ích cho các doanh nghiệp trong nhà máy sản xuất và kho thông minh, vượt trội hơn so với các phương pháp vận chuyển hàng truyền thống Một số ưu điểm nổi bật của AGV bao gồm khả năng tự động hóa quy trình vận chuyển, giảm thiểu chi phí lao động, nâng cao hiệu quả sản xuất và đảm bảo an toàn trong quá trình vận chuyển hàng hóa.

1 Giảm chi phí nhân công

AGV hoạt động độc lập mà không cần sự can thiệp của công nhân, có khả năng xử lý khối lượng hàng hóa lớn Máy có thể hoạt động liên tục 24/7 mà không cần nghỉ, giúp nhanh chóng thu hồi vốn đầu tư ban đầu.

- AGV hoạt động một cách có kiểm soát, với khả năng tăng/ giảm tốc mượt, ổn định được giám sát

AGV được lập trình với sự an toàn là ưu tiên hàng đầu, được trang bị cảm biến và laser, giúp chúng hoạt động một cách an toàn xung quanh công nhân và máy móc trong nhà máy.

AGV (Xe tự hành) hoạt động hiệu quả trong những môi trường nguy hiểm mà con người không thể tiếp cận, như xử lý chất độc hại, làm việc trong điều kiện nhiệt độ khắc nghiệt và di chuyển các vật liệu nặng.

3 Nâng cao năng suất lao động

- AGV có thể hoạt động 24/7 và trong điều kiện con người không thể làm việc, điều này làm tăng năng suất và hiệu quả công việc

4 Dễ dàng thay đổi và mở rộng modul

Hầu hết các xe AGV có khả năng thay đổi mô-đun để đáp ứng nhu cầu của người sử dụng, bao gồm các tính năng như nâng cấp, giảm tải trọng và điều chỉnh quãng đường di chuyển.

Bánh xe đa năng Mecanum

Bánh xe đa năng Mecanum, được phát minh bởi kỹ sư Thụy Điển Ilon vào năm 1973 tại Công ty Mecanum, đã lần đầu tiên được ứng dụng trong thiết kế Robot tự hành vào năm 1997 Khi truyền momen vào trục bánh xe, các con lăn tiếp xúc với sàn tạo ra hai thành phần vận tốc: V1 theo hướng di chuyển và VL1 vuông góc với trục con lăn Việc phối hợp điều khiển các động cơ dẫn động bánh xe giúp tạo thành véc tơ vận tốc tổng hợp, cho phép robot tự hành di chuyển linh hoạt theo nhiều hướng khác nhau, từ đó nâng cao tính linh hoạt của AGV.

Hình 1.3 Các phương án điều khiển Robot tự hành đa hướng kiểu bánh xe Mecanum

Hiện nay, để nâng cao tính linh hoạt trong việc vận chuyển vật liệu và logistics cho sản xuất, kiểu bánh xe này được ứng dụng trong thiết kế các AGV Điều này đặc biệt quan trọng trong những trường hợp không có đủ không gian cho đường đi của AGV, đặc biệt là trong việc tạo ra các khu vực quay vòng.

Hình 1.4 AGV sử dụng bánh xe Mecanum

Bài toán động học Robot tự hành

Bài toán động học của Robot tự hành AGV tập trung vào mô hình toán học mô tả chuyển động của robot mà không xem xét nguyên nhân gây ra chuyển động, như lực hoặc mô men Mô hình này thể hiện mối quan hệ giữa các thông số điều khiển và quy luật chuyển động của robot, bao gồm vị trí và hướng trong hệ quy chiếu gắn liền với sàn di chuyển Do đó, bài toán động học này là cơ sở để thiết kế hướng điều khiển cho robot Bài toán động học được chia thành hai dạng khác nhau.

 Bài toán động học thuận biết trước các thông số điều khiển xác định quỹ đạo chuyển động

 Bài toán động học ngược biết trước quỹ đạo chuyển động xác định các thông số điều khiển robot

Như vậy, nếu gọi:  f  O f ,x f ,y f  là hệ quy chiếu cố định gắn liền với sàn di chuyển;

Hệ quy chiếu  gắn trên robot được xác định bởi các tham số định vị q f = [x f(t) y f(t) φ(t)]^T trong hệ quy chiếu  f, trong khi các tham số trong hệ quy chiếu  R được ký hiệu là q R = [x R(t) y R(t) φ(t)]^T.

Q là ma trận cô sin chỉ hướng của hệ quy chiếu  R so với hệ quy chiếu  f

PHƯƠNG TRÌNH ĐỘNG HỌC CỦA AVG ĐIỀU HƯỚNG LINH HOẠT KIỂU BÁNH XE ĐA HƯỚNG MECANUM

Xét trong hệ quy chiếu ϑ R của AGV Ta có vận tốc của các bánh xe:

Với r là bán kính của bánh xe Mecanum

Hình 1.5 Vị trí và hướng của Rôbốt tự hành trong hệ quy chiếu cố định

Hình 1.6 Động học AGV đa hướng kiểu bánh xe Mecanum Đối với bánh xe 1 (xem Hình 1.6) ta có:

(1.3) với  là góc giữa V 1 và V L 1

Khử thành phần vận tốc của con lăn V L 1 trong phương trình (1.3) ta có vận tốc bánh xe 1 là:

Tương tự với bánh xe 2,3,4 ta có:

Nếu lấy  45  , phương trình (1.5) viết lại thành:

Kết hợp (1.2) và (1.6), sau khi biến đổi về ma trận đại số:

Khi đó (1.7) được viết lại: q R ωJ (1.8) Khi cho trước ω thì q R được xác định bởi: ω J q R  * (1.9) Trong đó J * là ma trận tựa nghịch đảo cho bởi:

1.2.1 Bài toán động học thuận

Khi cho trước ω, cần xác định q f  x f (t) y f (t) (t) T để giải quyết vấn đề này, ta đưa phương trình (1.9) về hệ quy chiếu cố định  f thông qua phương trình (1.1) ta có:

Từ (1.11) ta tìm được vị trí và hướng của AGV đa hướng kiểu bánh xe Mecanum:

1.2.2 Bài toán động học ngược

Từ quỹ đạo  x f ( t ), y f ( t )  và V G xác định được q f  x f (t) y f (t) (t) T trong hệ quy chiếu  f thay vào (1.1) sau đó kết hợp với (1.8) ta có:

Từ (1.13) ta xác định được tham số điều khiển biến các biến khớp của bánh Mecanum

Phương trình (1.14) xác định các thông số điều khiển 4 bánh Mecanum để AGV đa hướng đi theo quỹ đạo  x f ( t ), y f ( t )  và V G cho trước.

THIẾT KẾ QUỸ ĐẠO CHUYỂN ĐỘNG BẰNG ĐƯỜNG CONG NURBS

NURBS, which stands for "Non-uniform Rational B-Spline," is a mathematical model widely utilized in computer graphics for representing curves and surfaces.

Một trong những khác biệt chính giữa các đối tượng

Bézier và các đối tượng NURBS là hai loại đường cong được sử dụng trong đồ họa máy tính, trong đó đường cong Bézier chỉ là một xấp xỉ, ví dụ như vòng tròn Bézier gần giống với một vòng tròn thực tế Ngược lại, vòng tròn NURBS là một hình tròn chính xác, mang lại độ chính xác cao hơn trong thiết kế.

Một đường cong B-Spline hữu tỷ (NURBS) là hình chiếu của một đường cong B-Spline vô tỷ xác định trên không gian 4D lên không gian vật lý 3D Cụ thể :

Tại đây B h i là các đỉnh đa giác điều khiển đồng nhất 4D của đường cong B-Spline vô tỷ 4D )

N i là các hàm B-Spline vô tỷ cơ sở được xác định bằng công thức đệ qui:

Vectơ nút   X được xác định bởi

Chiếuđường cong B-Spline vô tỷ xác định trên không gian 4D lên không gian vật lý 3Dbằng cách chia phương trình đường cong B-Spline vô tỷ cho tọa độ đồngnhất:

Tại đây B i là các đỉnh của đa giác khống chế trong không gian 3D của đường cong B-Spline hữu tỷ và

R (1.19) là hàm B-Spline hữu tỷ cơ sởvới h i ≥ 0 với mọi giá trị của i.

Hàm cơ sở và đường cong B-Spline hữu tỷ là sự mở rộng của hàm cơ sở và đường cong B-Spline vô tỷ, do đó chúng sở hữu hầu hết các đặc tính của B-Spline vô tỷ.

- Tổng của các hàm cơ sở B-Spline hữu tỷ đối với giá trị tham số là:

- Mỗi hàm cơ sở sẽ dương hoặc bằng 0 tức N k,i ≥ 0

- Mỗi hàm cơ sở có một giá trị cực đại, ngoại trừ các hàm cơ sở bậc 1.

- Bậc lớn nhất của đường cong bằng số đỉnh của đa giác điều khiển

- Với h i 0 đường cong nằm trong đường bao lồi của đa giác điều khiển

- Hình dạng đường cong phụ thuộc đa giác điều khiển

- Đường cong và hàm B-Spline vô tỷ là trường hợp đặc biệt của đường cong và hàm BSpline hữu tỷ khi h i 1

Khi k = n, đường cong NURBS trở thành đường cong Bezier hữu tỷ Nếu mọi h_i = 1, đường cong Bezier hữu tỷ sẽ chuyển thành đường cong Bezier vô tỷ Vì vậy, cả hai loại đường cong Bezier hữu tỷ và vô tỷ đều là những trường hợp đặc biệt của đường cong NURBS.

Các đường cong NURBS là sự mở rộng 4 chiều của các hàm B-Spline vô tỷ Do đó, các thuật toán nâng bậc, chia nhỏ và ước lượng đường cong B-Spline vô tỷ có thể áp dụng cho đường cong NURBS thông qua các đỉnh khống chế 4 chiều.

1.3.2 Đường cong và hàm NURBS Đường cong và đương NURBS mở Ở đây, một vector nút mở   X =  0 0 0 1 2 3 3 3  ( n +1 = 5, k = 3 ) được dùng vector tọa độ thuần nhất h i  1 , i ≠ 3 Giá trị của h 3 thay đổi trong khoảng từ 0 đến 5 Hình

1.8 thể hiện đường cong NURBS Với h 3 =1 đường cong NURBS trở thành đường cong B-Spline vô tỷ tương ứng Chú ý rằng với h 3 = 0 thì R 3 , 3 = 0 Do đó đỉnh của đa giác tương ứng, B 3 , không ảnh hưởng đến hình dạng của đường cong Tác động này được thể hiện ở Hình 1.8, tại đây các đỉnh B 2 và B 4 được nối bằng một đường thẳng Khi h3 tăng, đường cong bị kéo lại gần B 3

Hình 1.8 Đường cong NURBS với n+1=5, k =3, vector nút mở

Tương tự với đương cong NURBS bậc 4 trong Hình 1.8

Với n+1=5, k=4 vector nút mở là   X = 0 0 0 1 2 2 2 2

Tuy nhiên với đường cong NURBS cấp cao như ta thấy trong Hình 1.9 với h 3=0 , đường cong không biến đổi thành một đường thẳng giữa B 2 và B 4

Tương tự đường cong B-Spline mở, điểm đầu và điểm cuối của đường cong NURBS mở trùng với đỉnh đầu và cuối của đa giác điều khiển

Hình 1.9 Đường cong NURBS với n+1=5, k =4, vector nút mở

  X = 0 0 0 1 2 2 2 2 và   h = 1 1 h 3 1 1 Đường cong và hàm NURBS có chu kì

Hình 1.10 Đường cong NURBS với n+1=5, k =3, vector nút mở

Hình 1.10 thể hiện đường cong NURBS với n+1=5, k=3, vector nút có chu kì

  X =  0 1 2 3 4 5 6 7  và   h =  1 1 h 3 1 1 với giá trị của h 3 thay đổi trong khoảng từ 0 đến 5 Ở đây, với đường cong có chu kỳ, giới hạn sử dụng của tham số là 2 ≤ t ≤ 5

Với h 3=1 đường cong NURBS lại xác định đường cong B-Spline vô tỷ tương ứng Tuy nhiên với h 3≠ 1 các hàm cơ sở không còn có chu kì.

Các đường cong NURBS có đặc điểm là điểm đầu và điểm cuối trùng nhau, nhưng không trùng với đỉnh đầu và cuối của đa giác điều khiển.

Tương tự với đường cong NURBS bậc 4 trong hình 1.11

Với n+1=5, k=4, vector nút chu kỳ là   X = 0 1 2 3 4 5 6 7 8

Hình 1.11 Đường cong NURBS với n+1=5, k =4, vector nút mở

  X =  0 1 2 3 4 5 6 7 8  và   h =  1 1 h 3 1 1  Ở đây, các điểm đầu và các điểm cuối của một đường cong cùng nằm trên một đường thẳng

1.3.3 Đạo hàm đường cong NURBS

Từ định nghĩa tính đạo hàm 

Cho đa giác điều khiển bởi Bảng 1.1 :

Bảng 1.1 Đa giác điều khiển đường cong NURBS

 3 t thuộc đường cong NURBS mở bậc 3 ( k = 3) với hệ số tọa độ thuần nhất cho bởi h = 1 1 h 3 1 1, h 3 =0,

Với n+1=5 , k=3, áp dụng công thức (1.17) ta có vector nút là:

Trong khoảng 0 ≤ t < 3, đường cong được xây dựng từ ba phương trình hữu tỷ bậc hai, với mỗi phương trình tương ứng với một khoảng tham số trong vector nút Áp dụng công thức (1.16) cho khoảng tham số 1 ≤ t < 2, các hàm B-Spline cơ sở được xác định như sau:

Các hàm NURBS cơ sở :

Tính toán những kết quả trên tại t 2

Tọa độ các điểm tương ứng trên đường cong NURBS:

KHẢO SÁT QUỸ ĐẠO CHUYỂN ĐỘNG CỦA ĐƯỜNG CONG BẤT KỲ

Ví dụ 1.2Xét lộ trình của xe như Hình 1.12

Hình 1.12 Lộ trình của xe

Ta có đa giác điều khiểnquỹ đạo của xe theo Bảng 1.2:

Bảng 1 2 Điểm điều khiển đường cong NURBS

Sau khi sử dụng phương pháp thiết kế quỹ đạo bằng đường cong NURBS tacó quỹ đạo cảu xe như Hình 1.13

Hình 1.13 Quỹ đạo của xe theo đường cong NURBS

1.4.2 Khảo sát các chuyển động của xe

Tại mỗi vị trí ta có hướng chuyển động của xe là (t)

(1.24) Khi xe chuyển động, vận tốc góc của xe là:

 (1.25) Dựa vào công thức (1.14) suy ra vận tốc góc của mỗi bánh Mecanum:

Quãng đường di chuyển tính được bằng tổng mỗi quãng đường nhỏ P i P i  1

S (m) (1.28) Thời gian chuyển động bẳng tổng độ dài quãng đường chia cho vận tốc V

Ví dụ 1.3Lấy quỹ đạo chuyển động như trên ví dụ 1.2, các thông số bổ sung thêm:

Bán kính bánh xe Mecanum r = 0,05(m)

Dựa vào công thức (1.27) và (1.28) ta tính được:

Quãng đường di chuyển là S = 54,8232 (m)

Thời gian di chuyển là τ = 54,8232 (s) Đồ thị các giá trị ,R,,1,2,3,4 được biểu diễn từ Hình 1.14 - 1.20

Hình 1.14 Đồ thị góc quay của xe khi V = 1 m/s

Hình 1.15 Đồ thị biểu diễn bán kính cong khi V = 1 m/s

Hình 1.16 Đồ thị vận tốc góc Ω của xe khi V = 1 m/s

Hình 1.17 Đồ thị vận tốc góc ω 1 khi V = 1 m/s

Hình 1.18 Đồ thị vận tốc góc ω 2 khi V = 1 m/s

Hình 1.19 Đồ thị vận tốc góc ω 3 khi V = 1 m/s

Hình 1.20 Đồ thị vận tốc góc ω 4 khi V = 1 m/s

Vận tốc góc của các bánh xe trên rô bốt thay đổi một cách đối xứng; khi ω1 và ω4 tăng, thì ω2 và ω3 sẽ giảm Điều này giúp duy trì vận tốc của rô bốt theo phương x không đổi, trong khi vận tốc theo phương y luôn bằng 0.

- Tại các vị trí bánh xe có vận tốc góc lớn nhất hoặc nhỏ nhất, là các vị trí rôbốt có biên độ vận tốc góc là lớn nhất.

Ví dụ 1.4: Xét chuyển động và các thông số của rôbốt như ví dụ 1.3 nhưng thay vận tốc chuyển động V = 0,3(m/s) ta tính được:

Quãng đường di chuyển là ST,8232 (m)

Thời gian di chuyển là τ = 182,7441 (s)

Khi đó đồ thị các giá trị ,R,,1,2,3,4 tươngtự như ví dụ 1.3 nhưng thời gian thực hiện quá trình thay đổi Cụ thể ,R,,1,2,3,4 được biểu diễn từ Hình 1.21-1.27

Hình 1.21 Đồ thị góc quay của xe khi V=0 ,3 m/s

Hình 1.22 Đồ thị biểu diễn bán kính cong khi V=0 , 3 m/s

Hình 1.23 Đồ thị vận tốc góc Ω của xe khi V=0 ,3 m/s

Hình 1.24 Đồ thị vận tốc góc 1 khi V=0,3 m/s

Hình 1.25 Đồ thị vận tốc góc 2 khi V = 0,3 m/s

Hình 1.26 Đồ thị vận tốc góc 3 khi V = 0,3 m/s

Hình 1.27 Đồ thị vận tốc góc 4 khi V = 0,3 m/s

Khi so sánh các Hình 1.21-1.27 (với V = 1 m/s) và các Hình 1.14-1.20 (với V = 0,3 m/s), ta nhận thấy rằng việc thay đổi giá trị vận tốc dẫn đến sự thay đổi trong các giá trị vận tốc góc của các bánh xe Tuy nhiên, dạng đồ thị vận tốc góc theo thời gian t vẫn không thay đổi Nguyên nhân là do khi vận tốc thay đổi, thời gian và vận tốc góc của từng bánh xe cũng thay đổi để phù hợp với quỹ đạo chuyển động của rôbốt.

Chương này đã thu được kết quả như sau:

(1) Thiết lập được phương trình động học của rôbốt tự hành điều hướng kiểu bánh xe Mecanum

(2) Đã thực hiện mô phỏng điều khiển động học trên Matlab

THIẾT LẬP M Ô HÌNH SAI SỐ ĐỘNG HỌC

Véctơ sai số dịch chuyển e (t) cho bởi:

T y x q q e     (2.1) Đạo hàm phương trình (1.7) ta có phương trình sai số tốcđộ:

Trong hệ quy chiếu gắn với Robot  R { O R x R y R z R }, phương trình sai số được biểu diễn bởi: e Q e R = T() Trong đó, Q là ma trận quay dùng để chuyển đổi từ hệ quy chiếu  R {O R x R y R z R } sang hệ quy chiếu quán tính.

Q (2.4) Đạo hàm phương trình (2.3) ta có: e Q e Q e R  T ()  T () (2.5) Kết hợp phương trình (2.5) và (2.2, 2.3 , 2.1):

Rx y x d yd d xd y x d yd d xd

Ry y x d yd d xd y x d yd d xd

 cos cos sin cos sin sin sin cos sin cos sin cos sin cos sin cos sin cos sin cos

(2.9) Phương trình (2.8) viết dưới dạng ma trận:

THIẾT KẾ HỆ THỐNG ĐIỀU KHIỂN PHẢN HỒI TRẠNG THÁI TUYẾN TÍNH

Mô hình (2.10) là mô hình sai số phi tuyến của Rôbốt Theo [8] ta có thể xấp xỉ mô hình

(2.10) về mô hình tuyết tính cho phạm vi lân cận giá trị của điểm tham chiếu x d , y d , φ d kết hợp với (2.3) ta được:

  u (2.13) là các biến điều khiển.

Phương trình (2.12) được viết lại thành: e R Ae R Bu (2.14)

Bộ điều khiển được thiết kế với ba trạng thái x(t), y(t), φ(t) và hai đầu vào u1, u2, u3 Sử dụng bộ điều khiển không gian trạng thái tuyến tính, phương trình tổng quát được biểu diễn là u=Ke R(t).

Do đó luật điều khiển kiểm soát phản hồi như sau:

Trong mô hình này, k1, k2, k3 là các hệ số của bộ điều khiển, cho thấy sự kết hợp giữa điều khiển truyền thẳng và điều khiển phản hồi tuyến tính dựa trên cách tiếp cận vị trí, từ đó tạo ra đầu vào điều khiển mới.

V trong đó ρ là bán kính cong được xác định từ quỹ đạo đường cong NURBS

Từ (2.12) và (2.14) suy ra đa thức đặc trưng của hệ vòng kín:

So với phương trình đặc trưng mong muốn:

Trong đó 0 < ξ < 1,  n   2 d gV d 2 và V d  V xd 2 V yd 2

1 1 d d d d d d d d d d gV k gV gV k gV gV k

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

THIẾT KẾ QUỸ ĐẠO ĐƯỜNG CONG NURBS

Từ phương pháp thiết kế đường cong NURBS với cácđiểm điều khiển được cho dưới Bảng

2.1 có được quỹđạo NURBS được thể hiện trong Hình 2.2

B ảng 2.1 Các nút điều khiển quỹ đạo đường cong NURBS

Hình 2.2 Kết quả mô phỏng quỹ đạ o chuyển động của robot theo đường cong NURBS

KẾT QUẢ MÔ PHỎNG SIMULINK MATLAB

Với các thông số của robot đa hướng và bánh xe như sau: L = 316(mm), d = 270(mm), bán kính bánh xe r = 30(mm) Cài đặt các thông số như sau:

Bước 1:Quỹ đạo chuyển động của robot đa hướng là đường cong NURBS trên Hình 2.2 với cơ sở dữ liệu trong Bảng 2.1

Bước 2: Các thông số chuyển động bao gồm vận tốc góc mong muốn V d = 0,3 (m/s) và vận tốc góc của robot đa hướng Ω, được tính theo công thức Ω d = V d / ρ, trong đó ρ là bán kính cong của quỹ đạo NURBS.

Bước 3: Lựa chọn tham số bộ điều khiển

Lần lượt thay đổi các giá trị của g và ζ, chọn g và ζsao cho các giá trị sai số trung bình trên toàn quỹ đạolà nhỏ nhất.

Tiến hành cho g = 1 và ζ chạy từ 0,1 đến 0,9, ta thu được đồ thị thể hiện sai số trung bình trong các Hình 2.3, 2.4:

Hình 2.3 Sai số tư thế (vị trí và hướng) trung bình khi thay đổi ζ , g = 1; K 1 > K 2

Hình 2.4 Sai số tư thế (vị trí và hướng) trung bình khi thay đổi ζ , g = 1; K 1 < K 2

Từ Hình 2.3 và Hinh 2.4 ta thấy các giá trị sai số giảm dần khi ζtăngtừ 0,1 đến 0,9, từ đó chọn chọn ζ = 0,9 Với ζ = 0,9 và ρ max = 4 (m) thay vào (2.23) xác định 0 ≤ g ≤ 0,266

Hình 2.5 Sai số tư thế (vị trí và hướng) trung bình khi thay đổi g, ζ = 0,9; K 1 > K 2

Hình 2.6 Sai số tư thế (vị trí và hướng) trung bình khi thay đổi g, ζ = 0,9; K 1 < K 2

Từ Hình 2.5 và Hình 2.6 ta thấy sai số quỹ đạo của rôbốt giảm dần khi g tăng từ 0 dến 0,226 chọn chọn g = 0,266

Sau khi đánh giá sai số trung bình với ξ=0,9 và g=0,266, các tham số k1, k2, k3 của bộ điều khiển được xác định theo phương trình (2.22) Hình 2.7 minh họa quỹ đạo chuyển động của robot, cho thấy việc theo dõi quỹ đạo NURBS mong muốn Robot đa hướng vận chuyển NURBS được mô tả với các thông số đã nêu Hình 2.10 trình bày tốc độ di chuyển của robot, bao gồm vận tốc V và vận tốc góc Ω, khi bán kính cong ρc của quỹ đạo ξ thay đổi từ 0.358 (m) đến 4 (m) như thể hiện trong Hình 2.7b.

Dựa vào Hình 2.7 và Hình 2.10, từ vận tốc góc mong muốn Ω, ta có thể xác định được V và ρ Sai số chuyển vị trí góc của robot tại mỗi thời điểm ΔΩ‒Ω‒Ω d dao động từ 0 rad/s đến 0,8 rad/s như thể hiện trong Hình 2.8b.

Tại các vị trí  , ,, , , , robot thay đổi hướng di chuyển từ cùng chiều kim đồng hồ sang ngược chiều kim đồng hồ để theo quỹ đạo mong muốn, như mô tả trong Hình 2.7a Sai số theo dõi giữa quỹ đạo chuyển động thực tế và quỹ đạo mong muốn được thể hiện rõ trong Hình 2.10.

Khi robot di chuyển từ điểm bắt đầu đến điểm , hướng di chuyển sẽ thay đổi từ cùng chiều kim đồng hồ sang ngược chiều kim đồng hồ, đồng thời theo dõi từ trong ra ngoài quỹ đạo mong muốn với một sai số vị trí nhất định.

Robot theo dõi quỹ đạo từ vị trí  đến vị trí  với sai số khoảng 1mm và sai số phương hướng khoảng 1˚ Trong quá trình này, robot giảm sai số từ 1.2mm xuống 2.8mm và sai số phương hướng đạt khoảng 4,6˚ khi bắt đầu từ vị trí  Tiếp theo, từ vị trí  đến vị trí , robot đảo ngược hướng theo dõi, với sai số theo phương x tại vị trí  là 1,8mm.

(15) là hướng ngược lại với sai số góc là 4,59˚ tạo ra sai số phương y là 2,2 mm; (4) Từ vị trí

 sang vị trí  robot sẽ theo dõi từ ngoài vào trong quỹ đạo mong muốn với sai số tối đa là

Robot theo dõi quỹ đạo mong muốn từ vị trí  đến vị trí  với sai số tối đa 1,5 mm theo phương x, 0,8 mm theo hướng y và 8,6˚ theo hướng ngược lại.

Robot sẽ di chuyển từ vị trí  đến vị trí  với sai số 1,9 mm theo phương x và 2,4 mm theo phương y, cùng với độ lệch góc 1,1˚ trong các tư thế đảo ngược Trong quá trình này, robot sẽ theo dõi quỹ đạo mong muốn từ ngoài vào trong thông qua các điểm  và (18) Điểm  có sai số góc 5,16˚, dẫn đến sai số theo phương x là 1,8 mm Cuối cùng, robot sẽ di chuyển từ điểm  trở về điểm xuất phát, theo dõi quỹ đạo mong muốn từ trong ra ngoài.

Hình 2.7 Quỹ đạo chuyển động của robot đa hướng với (a) Quỹ đạo thực tế và quỹ đạo mong muốn, (b) Bán kính cong của quỹ đạo chuyển động mong muốn

Hình 2.8 Sự di chuyển của robot đa hướng với ( a) Tốc độ ban đầu của robot

(b) Vận tốc góc thực tế và mong muốn của robot

Hình 2.9 Vận tốc góc của bánh xe 1,bánh 2, bánh 3, bánh 4

Hình 2.10 Sai số vị trí và hình dáng củ a robot trong quá trình di chuy ển

Đồ thị Hình 2.9 thể hiện thông số điều khiển tốc độ cho bốn bánh xe, cho phép robot đa hướng di chuyển theo quỹ đạo NURBS mong muốn.

Chương này đã thu được kết quả như sau:

(1) Tính toán thiết kế được bộ điều khiển phản hồi trạng thái tuyến tính đồi với rôbốt đa hướng kiểu bánh xe Mecanum

(2) Thực hiện mô phỏng bộ điều khiển phản hồi trạng thái tuyến tính trên Matlab Simulink.

MÔ TẢ CẤU TRÚC CỦA RÔBỐT

Cấu trúc Rôbốt tự hành điều hướng kiểu bánh xe mecanum như được mô tả trên Hình 3.1 dưới đây

Cấu trúc của Rôbốt bao gồm nhiều thành phần quan trọng: cụm dẫn động với bánh xe mecanum và động cơ hộp giảm tốc hành tinh, công tắc, báo dung lượng pin, nguồn điện pin Lithium, mạch công suất điều khiển động cơ, bộ xử lý trung tâm máy tính nhúng, cảm biến IMU, mạch trung gian Arduino Mega và máy quét Lidar.

Thân Rôbốt được làm bằng vật liệu Mica nhằm đảm bảo nhẹ có thông số kích thước như sau

Tấm đế: có kích thước 260mm × 380mm, dày 10 mm và được mô tả trên Hình 3.2

Hình 3.2 Tầm Mica đế dày 10 mm Chức năng của tầm Mica đế:

 Đảm bảo độ cứng vững

Hệ thống hỗ trợ bao gồm các thiết bị như: bốn bánh xe dẫn động, động cơ, pin Lithium, mạch công suất, công tắc và báo dung lượng pin, giúp đảm bảo hoạt động hiệu quả và ổn định cho toàn bộ hệ thống.

Bên cạnh đó, có 6 trụ đứng cọc đồng ϕ6 được lắp ghép bằng bulông M4, kết nối giữa đế và phần kết cấu phía trên, nhằm hỗ trợ mạch điều khiển cùng các thiết bị ngoại vi khác.

Tấm đỡ mạch có kích thước 260 mm × 480 mm và độ dày 5 mm, được thiết kế theo mô tả trong Hình 3.3 Tấm đỡ này có chức năng chứa các bộ phận quan trọng như mạch điều khiển động cơ, máy tính nhúng và Lidar.

Sử dụng hệ thống ROS để kết nối và điều khiển rôbốt từ xa thông qua kết nối không dây

Wifi giữa máy tính (người dùng) và máy tính nhúng Raspbery Pi 4B (trên rôbốt)

Trên các máy tính cài đặt hệ điều hành ROS Noetic, máy tính nhúng trên robot đóng vai trò là master (bộ quản lý trung tâm), trong khi các máy tính người điều khiển kết nối với master Cả máy tính nhúng và máy tính người điều khiển đều chứa các Nodes, là các nút chương trình phục vụ cho tính toán Các nodes này thực hiện việc gửi và nhận tin nhắn, tạo ra giao tiếp hiệu quả giữa máy tính người điều khiển, máy tính nhúng và các thiết bị ngoại vi trên robot.

Bộ điều khiển phản hồi trạng thái tuyến tính với tham số điều khiển biến đổi theo thời gian đã được thiết kế trong Chương 2.

CẤU TRÚC BỘ DẪN ĐỘNG

Hệ dẫn động được mô tả trên Hình 3.4 có chức năng dẫn động cho Rôbốt Trong đó:

Hình 3.4 Kết cấu cụm bánh xe đẫn động

1 Động cơ DC-Hộp giảm tốc có thông số như sau: Động cơ DC 12V, hộp giảm tốc bánh răng hành tinh có tỷ số truyền 1:14.

Bánh xe dẫn động mecanum cho robot được thiết kế với kết cấu như mô tả trong Hình 3.5, sử dụng vật liệu nhôm hợp kim Các con lăn được làm từ nhựa PP và PE nhằm đảm bảo độ ma sát tối ưu với mặt đường Bánh xe có góc nghiêng β = 45°, giúp cải thiện khả năng di chuyển và linh hoạt của robot.

Hình 3.5 Bánh xe đẫn động

3 Giá liên kết động cơ và thân xe có kích thước như mô tả trên Hình 3.6

4 Đế mica Đế mica cố định cụm dẫn động

Hình 3.6 Kích thước gá liên kết động cơ với thân xe

CẤU TRÚC PHẦN CỨNG CỦA BỘ ĐIỀU KHIỂN

Cấu trúc phần cứng của Rôbốt được mô tả trên Hình 3.7.

Hình 3.7 Sơ đồ cấu trúc phần cứng của bộ điều khiển

 Pin Lithium có thông số kỹ thuật: Điện áp hoạt động 2,5-3,65V, dung lượng 15Ah có chức năng nuôi hệ thống mạch đièu khiển và mạch động lực.

Máy tính nhúng hoạt động như bộ xử lý trung tâm, nhận dữ liệu từ các bộ phận chấp hành, tiến hành xử lý thông tin và gửi tín hiệu điều khiển đến các bộ phận khác.

Arduino Mega 2560 đóng vai trò quan trọng như mạch điều khiển trung gian giữa máy tính nhúng và động cơ, cùng với các đơn vị phản hồi Nó có khả năng nhận dữ liệu từ IMU và encoder, gửi về bộ xử lý trung tâm, đồng thời nhận tín hiệu điều khiển để điều chỉnh hoạt động của động cơ.

Mạch công suất điều chỉnh dòng điện và điện áp, giúp kiểm soát tốc độ động cơ dựa trên tín hiệu điều khiển từ mạch Arduino.

 Lidar có chức năng xác định khoảng cách các vật xung quanh và gửi dữliệu về bộ xử lý để xử lý và điều khiển tránh vật cản.

IMU có nhiệm vụ xác định gia tốc quán tính và vận tốc góc của robot, sau đó truyền dữ liệu này về bộ xử lý trung tâm để thực hiện các thao tác xử lý và điều khiển.

THÔNG SỐ KỸ THUẬT CỦA CÁC THIẾT BỊ PHẦN CỨNG

Bảng 3.1 dưới đây là các thông số kỹ thuật của thiết bị phần cứng của Rôbốt

Bảng 3.1 Các thông số kỹ thuật thiết bị phần cứng của Rôbốt

Tên thiết bị Thông số kỹ thuật Hình mô tả Động cơ Servo-tích hợp hộp giảm tốc hành tinh

 Điện áp sử dụng: 12VDC.

 Stalling current: 7A (dòng khi động cơ bị kẹt hoặc quá tải đứng im)

 Encoder quang 500CPR (Count Per Round), 2 kênh A-B

 Điện áp cấp cho Encoder: 5VDC, tín hiệu xuất ra 2 kênh TTL 0/5VDC

 Hộp số kim loại giảm tốc hành tinh Planetary

6.2Kg.cm (1:14 gear ratio) - 280rpm 12.2Kg.cm (1:27 gear ratio) - 145rpm

 Motor: Đen - Đỏ cấp nguồn 12VDC.

Cortex-A72 (ARM v8) 64-bit SoC @ 1.5GHz

 Wifi chuẩn 2.4 GHz và 5.0 GHz IEEE 802.11ac Bluetooth 5.0, BLE

 Cổng mạng Gigabit Ethernet 2 cổng USB 3.0 và 2 cổng USB 2.0

 Chuẩn 40 chân GPIO, tương thích với các phiên bản trước.

 Hỗ trợ 2 cổng ra màn hình chuẩn Micro HDMI với độ phân giải lên tới 4K

 Khe cắm Micro-SD cho hệ điều hành và lưu trữ

 Nguồn điện DC 5V – 3A DC chuẩn USB-C

 5V DC via GPIO header (minimum 3A*)

 Hỗ trợ Power over Ethernet (PoE) (yêu cầu có PoE HAT)

 Vi điều khiển chính CH340.

 IC nạp và giao tiếp UART:

 Nguồn nuôi mạch: 5VDC từ cổng USB hoặc nguồn ngoài cắm từ giắc tròn DC

 Số chân Digital: 54 (15 chân PWM)

 Giao tiếp UART : 4 bộ UART

 Giao tiếp SPI : 1 bộ ( chân 50 -> 53 ) dùng với thư viện SPI của Arduino

 Bộ nhớFlash: 256 KB, 8KB sử dụng cho Bootloader

Mạch công suất điều khiển động cơ

 Dòng điện tải mach: 43A (Tải trở) hoặc 15A (Tải cảm).

 Tín hiệu logic điều khiển: 3.3 đến 5V.

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

 Tự động tắt khi điện áp thấp: Nhỏ hơn 5.5V module sẽ tự động tắt.

 Bảo vệ quá nhiệt: 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

 Phạm vi: 0,15m ~ 8m (độ phản xạ

 Công suất laser: 3mW ( công suất tốt đa).

 Giao diện truyền thong: UART (3.3V TTL)

 Công suất tiêu thụ định mức: 2.5W.

 Điện áp làm việc: DC 5V.

 Dòng điện khởi động: 600mA

 Dòng điện làm việc: 500mA.

 Âm lượng: Φ108mm*76mm*51mm

 Cường độ ánh sang xung quanh:

CHẾ TẠO THỰC NGHIỆM

Sau khi chế tạo thực nghiệm mô hình, rôbốt đa hướng kiểu bánh Mecanum được mô tả trên Hình 3.8 và Hình 3.9 dưới đây:

Hình 3.8 Ảnh chụp tấm đế của Rôbốt sau khi chế tạo

Hình 3.9 Ảnh chụp tổng thể Rôbốt sau khi chế tạo Với các thông số kỹ thuật:

2 Tốc độ di chuyểntối đa: 1 m/s (tương đương 36 km/h)

3 Chuyển động: đa hướng với 4 bánh dẫn động là bánh đa hướng

4 Chức năng: có hai chức năng đó là (1) Điều khiển bằng tay và (2) Điều khiển theo chương trình

5 Truyền thông: truyền thông không dây qua hệ thống WIFI.

6 Rôbốt có chức năng điều khiển và nhận dữ liệu quét bản đồ, chuyển động bám quỹ đạo cho trước và tránh vật cản.

THỰC NGHIỆM THỬ NGHIỆM

Thử nghiệm di chuyển và điều khiển từ máy tính theo các tình huống sau:

Bước 1: Vạch 2 đường thẳng thế hiện 2 trục x,y của rôbốt trên sàn để xác định điểm bắt đầu của rôbốt.

Bước 2: Cài đặt các thông số V Gx , V Gy , Ω, thời gian chạy t

Bước 3: Thu thập dữ liệu từ IMU để xác định vị trí của rô bốt so với vị trí ban đầu Kết quả được trình bày trong Bảng 3.2, Bảng 3.3 và Bảng 3.4 qua từng lần thử nghiệm.

Thí nghiệm 1:Khả năng chạy thẳng theo phương x

Trong thí nghiệm này, rôbốt được cho di chuyển thẳng với quãng đường 1 mét trên bề mặt sàn gỗ phẳng nhẵn, không có vật cản Các tốc độ đặt V Gx được thử nghiệm lần lượt là 0.1 m/s, 0.2 m/s, 0.25 m/s và 0.4 m/s, tương ứng với thời gian chạy 10 giây, 5 giây, 4 giây và 2.5 giây Mỗi tốc độ được thử nghiệm 5 lần, và kết quả thu được được trình bày trong Bảng 3.2, bao gồm vận tốc đặt (m/s) và vận tốc trung bình thực tế được tính theo v t.

S (m/s), khoảng cách đặt (m), quãng đường đi được S (m), góc lệch γ = φ d – φ atan2(∆y, ∆x) (với φ d = 0° là góc đặt, φ là góc của rôbốt sau khi di chuyển) và sai số ∆ 1

(%) ứng với từng vận tốc

Bảng 3.2 Thưc nghiệm khả năng di chuyển theo phương x

Trong các thử nghiệm với rôbốt tự hành di chuyển khoảng cách S = 1 m, sai số lớn nhất ghi nhận là 0,1 m (tương đương 10%) khi vận tốc là 0,1 m/s Điều này chỉ ra rằng quỹ đạo thực tế của rôbốt luôn có sự sai lệch so với lý thuyết trên máy tính Những sai lệch này phát sinh từ sai số trong quá trình điều khiển, sai số của IMU và hiện tượng trượt bánh xe Do đó, để đạt được kết quả chính xác nhất trong từng môi trường, cần thiết phải hiệu chỉnh các hệ số của bộ điều khiển và IMU.

Vận tốc của rôbốt có sai lệch lớn nhất là 0,02 m/s khi đạt 0,4 m/s, nguyên nhân chủ yếu là do đáp ứng của bộ điều khiển PID và hiện tượng trượt của bánh xe trên sàn Để giảm thiểu sai lệch này, cần thực hiện hiệu chỉnh các hệ số của bộ PID.

Thí nghiệm 2: Khả năng chạy thẳng theo phương y

Trong thí nghiệm, rôbốt được cho di chuyển ngang quãng đường 1 m trên bề mặt sàn gỗ phẳng nhẵn mà không có vật cản Các tốc độ đặt V Gy được thử nghiệm lần lượt là 0.1 m/s, 0.2 m/s, 0.25 m/s và 0.4 m/s, tương ứng với thời gian di chuyển là 10 s, 5 s, 4 s và 2.5 s Mỗi tốc độ được thử nghiệm 5 lần, và kết quả thu được được trình bày trong Bảng 3.3, bao gồm vận tốc đặt (m/s) và vận tốc trung bình thực tế được tính theo v t.

S (m/s), khoảng cách đặt (m), quãng đường đi được S (m), góc lệch γ = φ d –φ atan2(∆y, ∆x) (với φ d = 90° là góc đặt, φ là góc của rôbốt sau khi di chuyển) và sai số ∆ 1

1S (%) ứng với từng vận tốc

Bảng 3.3 Thưc nghiệm khả năng di chuyển theo phương y

- Sau các lần thử với các vận tốc khác nhau, ta nhận thấy sai số của rôbốt khi di chuyển theo

Tốc độ di chuyển của robot là 0,2 m/s, nhưng sai số lớn xảy ra do mặt phẳng sàn không đồng đều Sự chênh lệch độ cao giữa các viên đá lát khiến cho các bánh xe trượt không đều, dẫn đến việc robot di chuyển không đúng hướng theo lý thuyết.

Kết quả từ thí nghiệm cho thấy rằng việc thiết kế chuyển động cho rô-bốt cần tích hợp các bộ điều khiển phản hồi Điều này giúp giảm thiểu sai số về hướng đi và vận tốc khi rô-bốt di chuyển ngang.

Thí nghiệm 3: Khả năng điều hướng của rôbốt

Trong thí nghiệm, rôbốt được cho xoay tại chỗ một góc φ = 2π (rad) tương đương với 360(°) trên bề mặt sàn đá phẳng nhẵn, không có vật cản Các tốc độ đặt Ω d được thử nghiệm lần lượt là π/10 rad/s, π/5 rad/s, π/3 rad/s và π/2 rad/s, tương ứng với thời gian chạy là 20 giây, 10 giây, 6 giây và 4 giây Mỗi tốc độ đặt được thử nghiệm 5 lần, và kết quả thu được được trình bày trong Bảng 3.4, bao gồm vận tốc góc đặt (rad/s) và vận tốc góc trung bình thực tế được tính theo Ω t.

 (rad/s), góc quay đặt (°), góc quay thực (°) và sai số (%) ứng với từng vận tốc.

Bảng 3.4 Thực nghiệm khả năng thay đổi tư thế của Rôbốt

Vận tốc góc đặt (rad/s)

Vận tốc góc thực (rad/s)

Sau 20 lần thử nghiệm với 4 vận tốc góc khác nhau, chúng tôi nhận thấy rằng sai lệch về góc quay lớn nhất đạt 3,06% (11° ở vận tốc góc π/2 rad/s) Cụ thể, với vận tốc góc lớn hơn, góc quay thực tế thường lớn hơn so với góc đặt (11° ở π/2 rad/s), trong khi với vận tốc góc nhỏ hơn, góc quay thực tế lại nhỏ hơn so với góc đặt (3° ở π/10 rad/s) Nguyên nhân của hiện tượng này có thể do ma sát giữa sàn và bánh xe chưa được tính đến, cùng với lực quán tính Bên cạnh đó, sai số của kết cấu và bộ truyền động cũng chưa được đánh giá đầy đủ.

- Qua thí nghiệm này có thể cho thấy khi thiết kế quỹ đạo chuyển động, cần tránh việc quay nhanh một góc hay tăng tốcđộ góc đột ngột.

3.6.2 Chế độ điều khiểntự động bám theo quỹ đạo

Sử dụng dữ liệu đường cong NURBS được thiết kế trong Chương 2, điều khiển robot đi theo quỹ đạo cho trước

Thí nghiệm 4: Thực nghiệm chạy theo quỹ đạo cho trước của rôbốt

Bước 1: Xác định vị trí bắt đầu của rôbốt, đảm bảo quỹ đạo di chuyển của rôbốt phẳng, không có vật cản trên đường đi

Bước 2: Đưa tệp dữ liệu của đường cong Nurbs đã thiết kế vào trong chương trình chạy.

Bước 3: Theo dõi sự di chuyển của rôbốt bằng IMU và lưu vị trí của rôbốt vào tệp văn bản mỗi 0,1s

Từ tệp văn bản dữ liệu có ở Bước 3 kết hợp với xử lý so sánh trên phần mềm MATLAB, kết

Hình 3.10 Đồ thị quỹ đạo mong muốn và thực tế của rôbốt

Hình 3.11 Sai số vị trí của rôbốt trong thực nghiệm

Dựa vào đồ thị quỹ đạo di chuyển trong hình 3.10, có thể nhận thấy rằng quỹ đạo thực tế của robot chưa hoàn toàn bám sát như mong đợi Do đó, cần điều chỉnh các tham số của bộ điều khiển để nâng cao hiệu suất hoạt động trong các môi trường khác nhau.

Sai số thực nghiệm lớn nhất trong Hình 3.11 đạt 0.075m, cao hơn so với sai số trong mô phỏng ở chương 2 Nguyên nhân chủ yếu là do bài toán lý thuyết và bộ điều khiển ở chương 2 chưa xem xét đến các lực tác động, cũng như các sai số từ cảm biến IMU và Encoder.

3.6.3 Thực nghiệm quét bản đồ

Dữ liệu Lidar được thu thập trên máy tính nhúng và sử dụng bộ lọc điểm để so sánh dữ liệu giữa hai lần quét liên tiếp Qua đó, chúng ta có thể xác định vị trí của rôbốt trong hệ quy chiếu cố định liên quan đến sàn nhà.

Bước 1: Quét dự liệu lidar lần đầu để xác định vị trí ban đầu của rôbốt

Bước 2: Lấy dữ liệu của lidar trong lần sau đó So sánh sự trùng lặp giữa 2 lần quét, đưa ra vị trí tâm của rôbốt ở 2 lần quét liên tiếp

Bước 3: So sánh dữ liệu để xác định vị trí của lần quét hiện tại so với lần quét đầu tiên, vẽ lên bản đồ

Thí nghiệm 5: Thực nghiệm khả năng quét bản đồ của rôbốt

Trong thí nghiệm này, tiến hành điều khiển rôbốt di chuyển trong phỏng kín có các thông số kích thước và vật cản được thể hiện trong Hình 3.12

Hình 3.12 Kích thước của phòng kín và vị trí các vật cản trong phòng

Sau khi quét khu vực phòng kín, chúng ta có thể thiết lập bản đồ và đo được các kích thước Hình 3.13 so sánh các kích thước đã đo với các kích thước thực tế được liệt kê trong Bảng 3.6.

Hình 3.13 Bản đồ rôbốt thiết lập được

Bảng 3.5 Bảng so sánh các kích thước thực tế và kích thước bản đồ rôbốt thiết lập

STT Kích thước thực tế (m)

Kích thước rôbốt thiết lập (m)

Bản đồ thu được có sai lệch nhỏ (tối đa 0,83%) so với thực tế, nhưng không ảnh hưởng nhiều đến quá trình vận hành của robot Nguyên nhân của sai lệch này bao gồm sự hiện diện của một số vật cản đặc biệt trong phòng, có khả năng phản quang tốt, dẫn đến sai số của lidar, cùng với việc thuật toán xử lý dữ liệu chưa hoàn thiện, khiến khoảng cách giữa các pixel điểm lưu lại bị sai lệch.

Chương này đã thu được kết quả như sau:

(1) Đã thiết kế, chế tạo thực tế được mô hình rôbốt đa hướng kiểu bánh Mecanum

Đã tiến hành thực nghiệm các khả năng hoạt động của rôbốt, bao gồm việc xác định sai số khi rôbốt di chuyển thẳng, ngang và quay, đồng thời hiệu chỉnh PID điều khiển động cơ để giảm thiểu sai số Ngoài ra, rôbốt cũng đã được điều khiển để chạy theo quỹ đạo đã được xác định trước và thử nghiệm khả năng tạo bản đồ bằng lidar.

HỆ ĐIỀU HÀNH ROS

Hệ điều hành ROS (Robot Operating System) là một phần mềm mã nguồn mở dành cho phát triển ứng dụng robot Mặc dù không phải là một hệ điều hành hoàn chỉnh, ROS cung cấp một bộ khung phần mềm và các dịch vụ hỗ trợ cho các cụm máy tính không đồng nhất, bao gồm trừu tượng hóa phần cứng và điều khiển thiết bị cấp thấp.

Lợi ích của hệ điều hành ROS:

- Quản lý phần cứng bằng cách viết trình điều khiển

- Quản lý bộ nhớ và các quy trình

- Quản lý đồng thời, song song, hợp nhất dữ liệu

- Cung cấp các thuật toán trừu tượng, sử dụng trí tuệ nhân tạo.

Có nhiều hệ điều hành để điều khiển rôbốt như Microsoft Robotics Developer Studio,

NAOQi, URBI, ROS … Lý do đồ án chọnchọn ROS để lập trình bộ điều khiển rôbốt:

ROS là một nền tảng mã nguồn mở và miễn phí, với phần lõi được phát hành theo giấy phép BSD, cho phép sử dụng cho cả mục đích thương mại và phi thương mại Hệ thống ROS sử dụng giao tiếp giữa các mô-đun (IPC) để truyền dữ liệu, giúp người dùng có thể áp dụng các giấy phép khác nhau cho các thành phần trong hệ thống của mình.

ROS là một ngôn ngữ lập trình trung lập, hỗ trợ nhiều ngôn ngữ khác nhau thông qua lớp nhắn tin Các kết nối ngang hàng được thiết lập thông qua XML-RPC, cho phép tích hợp với nhiều ngôn ngữ lập trình Để hỗ trợ ngôn ngữ mới, các lớp C++ có thể được bọc lại, như trong trường hợp ứng dụng khách Octave, hoặc các lớp mới có thể được viết để tạo ra thông điệp Các thông điệp này được mô tả bằng IDL (Ngôn ngữ định nghĩa giao diện).

ROS sử dụng thiết kế vi hạt với nhiều công cụ nhỏ để xây dựng và chạy các thành phần khác nhau, thay vì một môi trường thời gian chạy nguyên khối Khi làm quen với ROS, bạn sẽ học cách sử dụng các lệnh để thao tác với các nút và thông báo, mỗi lệnh thực chất là một thực thi độc lập Ưu điểm của hệ thống này là việc một thực thi gặp sự cố không ảnh hưởng đến các hệ thống khác, giúp tăng cường tính mạnh mẽ và linh hoạt so với các hệ thống dựa trên môi trường thời gian chạy tập trung.

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

Hình 4.1 Sơ đồ hệ thống điều khiển của ROS Giải thích các khối trong Hình 4.1:

- Package: Các gói là các thành phần cơ bản của ROS, nó chứa các quá trình hoạt động, các thư viện, các tệp, các chương trình chỉnh sửa.

Các nút trong quy trình tính toán, được lập trình bằng C/C++ hoặc Python, đóng vai trò quan trọng trong robot Một robot có thể chứa nhiều nút để thực hiện các nhiệm vụ khác nhau, và chúng có khả năng giao tiếp, trao đổi thông tin với nhau thông qua các phương thức giao tiếp trong ROS.

ROS Master là trung tâm của ROS, chịu trách nhiệm đăng ký kết nối và quản lý các nút Các nút chỉ có thể trao đổi tin nhắn khi chúng cùng kết nối với một ROS Master Đồ án này sử dụng hệ điều hành Ubuntu Server 20.01 và cài đặt ROS Noetic theo hướng dẫn đã được cung cấp.

THIẾT KẾ PHẦN MỀM ĐIỀU KHIỂN ĐỘNG CƠ VÀ GIAO TIẾP IMU

4.2.1 Sơ đồ kết nối động cơ và IMU với máy tính nhúng Đồ án sử dụng một bo mạch nhúng Arduino Mega 2560 có chức năng trung gian trao đổi tín hiệu giữa máy tính nhúng và các thiết bị ngoại vi động cơ, mạch điều khiển động cơ, IMU Hình 4.2 là sơ đồ kết nối giữa máy tính nhúng và bo mạch nhúng

Hình 4.2 Sơ đồ kết nối máy tính nhúng và bo mạch nhúng

4.2.2 Thiết kế phần mềm điều khiển động cơ Đồ án sử dụng thuật toán PID để điều khiển động cơ, thuật toán PID là một cơ chế phản hồi vòng kín điều khiển được sử dụng rất rộng rãi trong các bộ điều khiển động cơ.Trong đó thuật toán PID sẽ kết hợp dữ liệu vận tốc góc của mỗi bánh xe được lấy từ Encoder, sau đó đưa ra tín hiệu Analog phù hợp để động cơ hoạt động đúng với vận tốc góc mong muốn Encoder trên mỗi động cơ là loại 2 kênh, 182 xung/1 vòng quay động cơ (bao gồm cả hộp số), Mỗi kênh của Encoder nối vào một chân I/O của bo mạch nhúng Trên Hình 4.3 là dạng tín hiệu 2 kênh A B của một Encoder khi đọc dữ liệu

Hình 4.3 Dạng tín hiệu của 2 kênh Encoder trong một động cơ

Sử dụng Timer củabo mạch nhúng đọc đồng thời tín hiệu của các Encoder và xác định góc quay dựa theo Bảng 4.1

Bảng 4.1 Xác định góc quay của một động cơ tại các thời điểm

Dữ liệu đầu vào bao gồm tín hiệu xung từ lần đọc hiện tại và lần đọc trước đó của từng kênh, cho phép tính toán sự biến động của số lượng xung đếm từ các động cơ Theo phương pháp này, mỗi vòng quay của động cơ (sau hộp số) sẽ tạo ra 728 xung, được tính bằng 182 x 4.

Bộ điều khiển PID trong thư viện Arduino cho phép điều chỉnh các thông số kp, ki và kd để tối ưu hóa hiệu suất Qua thực nghiệm, các giá trị hiệu chỉnh được xác định là kp = 0.5, ki = 0.4 và kd = 0.2 Với các thông số này, rôbốt hoạt động ổn định và đạt được tốc độ cài đặt mong muốn.

4.2.3 Thiết kế phần mềm giao tiếp với IMU

IMU 10 DOF được thiết kế bao gồm:

- MPU9255:3-trục con quay hồi chuyển, 3 trục gia tốc, và 3-Trục La bàn/từ kế

Nội bộ Kỹ Thuật Số Chuyển Động Chế Biến™ (DMP™) bao gồm các công nghệ tiên tiến như động cơ, giảm tải, tính toán Fusion, cảm biến đồng bộ hóa và nhận diện cử chỉ, nhằm nâng cao hiệu suất và độ chính xác trong quá trình xử lý thông tin.

 So sánh với MPU6050, Các MPU9255 là tiêu thụ điện năng thấp, và phù hợp hơn cho mặc các thiết bị

- BMP180: Áp suất không khí cảm biến

Nhúng cảm biến nhiệt độ để bồi thường nhiệt độ, giao tiếp với IMU qua giao thức I2C trên bo mạch Thư viện để đọc dữ liệu từ IMU có sẵn trong Arduino IDE.

Xét rôbốt chuyển động trên mặt phẳng, các dữ liệu IMU cần sử dụng là:

- Vận tốc quay theo trục z: ω z

Dữ liệu từ cảm biến IMU được đưa vào bộ lọc tần số cao nhằm loại bỏ nhiễu tần số cao do chuyển động đột ngột gây ra Bộ lọc này giúp loại bỏ các dữ liệu không chính xác, đặc biệt khi có sự gia tăng đột ngột về giá trị Từ dữ liệu IMU, ta có thể xác định các thông số a x, a y và ω z Tuy nhiên, để thực hiện định hướng chính xác, cần thu thập thêm dữ liệu về vị trí x, y và góc quay φ theo trục z của robot theo thời gian Để có được dữ liệu góc quay φ và vị trí x, y, bộ lọc Extended Kalman được sử dụng.

Bộ lọc EKF (Hình 4.4) sử dụng các đầu vào a x, a y và ω z liên tục theo thời gian Thuật toán thực hiện tích phân hai lần theo thời gian với a x và a y, và một lần với ω z, kết hợp với các thông số tùy chỉnh để tính toán vị trí x, y và góc quay φ của robot so với vị trí ban đầu.

Hình 4.4 Xử lý dữ liệu của IMU

4.2.4 Chương trình của bo mạch nhúng Arduino Mega 2560

Chương trình được viết bằng ngôn ngữ C/C++ và được nạp vào Arduino Mega 2560 bằng phần mềm Arduino IDE

#define ENCODER1 ((PINH>>PH0&0x01)PH1&0x01)PA0&0x01)PA1&0x01)PD2&0x01)PD3&0x01)250) pwm_pulse`; analogWrite(pinA, 0); analogWrite(pinB, abs(pwm_pulse));

} else { if (pwm_pulse= (1000 / IMU_PUBLISH_RATE))

{ imu_is_initialized = initIMU(); if(imu_is_initialized) nh.loginfo("IMU Initialized"); else nh.logfatal("IMU failed to initialize Check your IMU connection."); } else

{ if ((millis() - prev_debug_time) >= (1000 / DEBUG_RATE))

{ printDebug(); prev_debug_time = millis();

} void commandCallback(const geometry_msgs::Twist& cmd_msg)

{ g_req_linear_vel_x = cmd_msg.linear.x; g_req_linear_vel_y = cmd_msg.linear.y; g_req_angular_vel_z = cmd_msg.angular.z; g_prev_command_time = millis();

The wheel speeds for a robotic vehicle are calculated using the formula: \( w1, w2, w3, w4 \), which depend on the desired linear velocities \( g\_req\_linear\_vel\_x \) and \( g\_req\_linear\_vel\_y \), as well as the angular velocity \( g\_req\_angular\_vel\_z \) adjusted by the wheel distances Each motor receives a PID control signal based on these calculated speeds The overall linear and angular velocities of the vehicle are then derived from the individual motor speeds, taking into account the wheel diameter and the distances between the wheels This ensures precise control and movement of the robotic system.

The calculation of the robot's velocity involves determining the difference in speed between the motors, which is then converted to radians per second The raw velocity message is published, and using the elapsed time since the last position update, the linear and angular displacements are computed The robot's orientation and position are updated accordingly, with the new coordinates and angle being published in the raw position message This process ensures accurate tracking of the robot's movement in real-time.

} void stopBase(unsigned long timeout)

{ g_req_linear_vel_x = 0; g_req_linear_vel_y = 0; g_req_angular_vel_z = 0; if (timeout > 2000)

{ motor1.exit(); motor2.exit(); motor3.exit(); motor4.exit();

{ raw_imu_msg.linear_acceleration = readAccelerometer(); raw_imu_msg.angular_velocity = readGyroscope(); raw_imu_msg.magnetic_field = readMagnetometer(); raw_imu_pub.publish(&raw_imu_msg);

THUẬT TOÁN ĐIỀU KHIỂN

Đồ án áp dụng thuật toán điều khiển phản hồi trạng thái tuyến tính được phát triển trong Chương 2 Dữ liệu vị trí được thu thập từ topic /tf và được truyền đi qua topic /cmd_vel để điều khiển Rôbốt.

Chương trìnhcủa bộ điều khiểnviết bằng ngôn ngữ C++

#define _CRT_SECURE_NO_DEPRECATE

#include "Queue_adv.h" using namespace std; struct data_vel

{ float vx = 0; float vy = 0; float o = 0;

The code snippet defines a function called `docfile()` and a data processing function `data_vel` that takes multiple parameters, including time, position coordinates (x, y), orientation (phi), velocities (vx, vy), and various IMU sensor readings It initializes several boolean flags for controlling the program's state, including `start`, `run`, and `savefile`, along with integer and float variables to track the starting point and initial conditions such as `time0`, `xStart`, `yStart`, and `phiStart`.

Queue_adv full_data; data_pos Ldata, Ndata; ofstream myWriteFile1; void docfile()

To read data from a text file in C++, open the file using `std::ifstream` and check if it is successfully opened If the file is open, read the first line with `std::getline` and print it to the console Continue reading and processing the remaining lines in a loop until the end of the file is reached.

{ std::istringstream iss(line); if (!(iss >> data.t >> data.x >> data.y >> data.phi >> data.bk >> data.V>>data.x1>>data.y1>>data.x2>>data.y2)) break; full_data.Add(data);

Hàm `data_vel xu_ly` nhận nhiều tham số đầu vào, bao gồm thời gian, tọa độ (x, y), góc phi, vận tốc (vx, vy), và các giá trị từ cảm biến IMU như gia tốc (imuax, imuay, imuaz) và vận tốc góc (imugx, imugy, imugz) Hàm này xử lý các dữ liệu đầu vào để tính toán và trả về kết quả liên quan đến chuyển động và vị trí của đối tượng trong không gian.

{ data_vel curr_vel; if (startPoint < 20) { startPoint++; return curr_vel;

{ myWriteFile1.open("src/rb_chay_1m/sdk/data_save.txt", myWriteFile1

Ngày đăng: 30/12/2024, 15:13

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] P. Muir, C. Neuman “ Kinematic modeling for feedback control of an omnidirectional wheeled mobile robot ”, Proceedings, IEEE International Conference in Robotics and Automation, Vol 4. pp. 1772-1778, 1987 Sách, tạp chí
Tiêu đề: Kinematic modeling for feedback control of an omnidirectional wheeled mobile robot
[2] J.B. Song, K.S. Byun, “ Design and Control of a Four-Wheeled Omnidirectional Mobile Robot with Steerable Omnidirectional Wheels ”, Journal of Robotic Systems, Vol. 21, No.4 (2004), pp. 193-208 Sách, tạp chí
Tiêu đề: Design and Control of a Four-Wheeled Omnidirectional Mobile Robot with Steerable Omnidirectional Wheels
Tác giả: J.B. Song, K.S. Byun, “ Design and Control of a Four-Wheeled Omnidirectional Mobile Robot with Steerable Omnidirectional Wheels ”, Journal of Robotic Systems, Vol. 21, No.4
Năm: 2004
[3] I. Doroftei, V. Grosu, V. Spinu, “Omnidirectional Mobile Robot - Design and Implementation”, Book -Chapter, Bioinspiration and Robotics - Climbing and Walking Robots, Editor Maki K. Habib, Published by Advanced Robotic Systems International (Vienna) and ITech, 2007, pp. 511-529 Sách, tạp chí
Tiêu đề: Omnidirectional Mobile Robot - Design and Implementation
[4] L.C. Lin, H.Y. Shih “Modeling and Adaptive Control of an OmniMecanum-Wheeled Robot” Intelligent Control and Automation, 4 (2013), pp. 166-179 Sách, tạp chí
Tiêu đề: Modeling and Adaptive Control of an OmniMecanum-Wheeled Robot
Tác giả: L.C. Lin, H.Y. Shih “Modeling and Adaptive Control of an OmniMecanum-Wheeled Robot” Intelligent Control and Automation, 4
Năm: 2013
[5] K.-L. Han, O. K. Choi, I. Lee, I. Hwang, J. S. Lee, S. Choi “ Design and Control of Omni- Directional Mobile Robot for Mobile Haptic Interface “, International Conference on Control, Automation and Systems 2008, Oct. 14-17, 2008 in COEX, Seoul, Korea, pp.1290-1295 Sách, tạp chí
Tiêu đề: Design and Control of Omni-Directional Mobile Robot for Mobile Haptic Interface
[8] Nguyen Hong Thai, Trinh Thi Khanh Ly, Nguyen Thanh Long, and Le Quoc Dzung, (2022) “ Trajectory Tracking Using Linear State Feedback Controller for a Mecanum Wheel Omnidirectional ASIAN MMS 2021 ” , MMS 113, pp. 411 – 421 Sách, tạp chí
Tiêu đề: Trajectory Tracking Using Linear State Feedback Controller for a Mecanum Wheel Omnidirectional ASIAN MMS 2021
[10] Ubuntu install of ROS Noetic (http://wiki.ros.org/noetic/Installation/Ubuntu) [11] RPLIDAR ROS package (https://github.com/Slamtec/rplidar_ros) Link

HÌNH ẢNH LIÊN QUAN

Hình 1.3 Các phương án điều khiển Robot tự hành đa hướng kiểu bánh xe Mecanum - THIẾT KẾ CHẾ TẠO RÔBỐT TỰ HÀNH ĐA HƯỚNG KIỂU BÁNH XE MECANUM
Hình 1.3 Các phương án điều khiển Robot tự hành đa hướng kiểu bánh xe Mecanum (Trang 20)
Hình 1.6 Động học AGV đa hướng kiểu bánh xe Mecanum Đối với bánh xe  1 (xem Hình 1.6) ta có: - THIẾT KẾ CHẾ TẠO RÔBỐT TỰ HÀNH ĐA HƯỚNG KIỂU BÁNH XE MECANUM
Hình 1.6 Động học AGV đa hướng kiểu bánh xe Mecanum Đối với bánh xe 1 (xem Hình 1.6) ta có: (Trang 22)
Hình 1.20  Đồ thị vận tốc góc ω 4  khi V = 1 m/s - THIẾT KẾ CHẾ TẠO RÔBỐT TỰ HÀNH ĐA HƯỚNG KIỂU BÁNH XE MECANUM
Hình 1.20 Đồ thị vận tốc góc ω 4 khi V = 1 m/s (Trang 39)
Hình  1.27 Đồ thị vận tốc góc   4  khi V = 0,3 m/s - THIẾT KẾ CHẾ TẠO RÔBỐT TỰ HÀNH ĐA HƯỚNG KIỂU BÁNH XE MECANUM
nh 1.27 Đồ thị vận tốc góc  4 khi V = 0,3 m/s (Trang 43)
Hình 2.3  Sai  số tư thế (vị trí và hướng) trung bình khi thay đổi ζ  , g = 1; K 1  &gt; K 2 - THIẾT KẾ CHẾ TẠO RÔBỐT TỰ HÀNH ĐA HƯỚNG KIỂU BÁNH XE MECANUM
Hình 2.3 Sai số tư thế (vị trí và hướng) trung bình khi thay đổi ζ , g = 1; K 1 &gt; K 2 (Trang 49)
Hình 2.7 Quỹ đạo chuyển động của robot đa hướng với (a) Quỹ đạo thực tế và quỹ đạo - THIẾT KẾ CHẾ TẠO RÔBỐT TỰ HÀNH ĐA HƯỚNG KIỂU BÁNH XE MECANUM
Hình 2.7 Quỹ đạo chuyển động của robot đa hướng với (a) Quỹ đạo thực tế và quỹ đạo (Trang 52)
Hình 2.8  Sự di chuyển của robot đa hướng với  ( a) Tốc độ ban đầu của robot - THIẾT KẾ CHẾ TẠO RÔBỐT TỰ HÀNH ĐA HƯỚNG KIỂU BÁNH XE MECANUM
Hình 2.8 Sự di chuyển của robot đa hướng với ( a) Tốc độ ban đầu của robot (Trang 53)
Hình 3.2 Tầm Mica đế dày 10 mm Chức năng của tầm Mica đế: - THIẾT KẾ CHẾ TẠO RÔBỐT TỰ HÀNH ĐA HƯỚNG KIỂU BÁNH XE MECANUM
Hình 3.2 Tầm Mica đế dày 10 mm Chức năng của tầm Mica đế: (Trang 56)
Hình 3.3 Tầm đỡ mạch - THIẾT KẾ CHẾ TẠO RÔBỐT TỰ HÀNH ĐA HƯỚNG KIỂU BÁNH XE MECANUM
Hình 3.3 Tầm đỡ mạch (Trang 57)
Hình 3.9. Ảnh chụp tổng thể Rôbốt sau khi chế tạo Với các thông số kỹ thuật: - THIẾT KẾ CHẾ TẠO RÔBỐT TỰ HÀNH ĐA HƯỚNG KIỂU BÁNH XE MECANUM
Hình 3.9. Ảnh chụp tổng thể Rôbốt sau khi chế tạo Với các thông số kỹ thuật: (Trang 65)
Hình 4.1 Sơ đồ hệ thống điều khiển của ROS Giải thích các khối trong Hình 4.1 : - THIẾT KẾ CHẾ TẠO RÔBỐT TỰ HÀNH ĐA HƯỚNG KIỂU BÁNH XE MECANUM
Hình 4.1 Sơ đồ hệ thống điều khiển của ROS Giải thích các khối trong Hình 4.1 : (Trang 76)
Hình 4.2 Sơ đồ kết nối máy tính nhúng và bo mạch nhúng - THIẾT KẾ CHẾ TẠO RÔBỐT TỰ HÀNH ĐA HƯỚNG KIỂU BÁNH XE MECANUM
Hình 4.2 Sơ đồ kết nối máy tính nhúng và bo mạch nhúng (Trang 77)
Hình 4.3 Dạng tín hiệu của 2 kênh Encoder trong một động cơ - THIẾT KẾ CHẾ TẠO RÔBỐT TỰ HÀNH ĐA HƯỚNG KIỂU BÁNH XE MECANUM
Hình 4.3 Dạng tín hiệu của 2 kênh Encoder trong một động cơ (Trang 78)
Hình 4.8 Vận tốc góc của các bánh xe trong thực nghiệm - THIẾT KẾ CHẾ TẠO RÔBỐT TỰ HÀNH ĐA HƯỚNG KIỂU BÁNH XE MECANUM
Hình 4.8 Vận tốc góc của các bánh xe trong thực nghiệm (Trang 98)
Hình 4.10 Sai số vị trí của thực nghiệm với mong muốn - THIẾT KẾ CHẾ TẠO RÔBỐT TỰ HÀNH ĐA HƯỚNG KIỂU BÁNH XE MECANUM
Hình 4.10 Sai số vị trí của thực nghiệm với mong muốn (Trang 99)

TỪ KHÓA LIÊN QUAN

w