1. Trang chủ
  2. » Giáo Dục - Đào Tạo

nâng cao khả năng ước tính vị trí của robot di động bằng hệ thống băng tần siêu rộng

146 0 0
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 đề Nâng Cao Khả Năng Ước Tính Vị Trí Của Robot Di Động Bằng Hệ Thống Băng Tần Siêu Rộng
Tác giả Trần Trung Kiên, Nguyễn Huy Hoàng
Người hướng dẫn TS. Trần Đức Thiện
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 Điều khiển và Tự động hoá
Thể loại Đồ án tốt nghiệp
Năm xuất bản 2024
Thành phố Thành phố Hồ Chí Minh
Định dạng
Số trang 146
Dung lượng 9,78 MB

Cấu trúc

  • CHƯƠNG 1 TỔNG QUAN (23)
    • 1.1 Đặt vấn đề (23)
      • 1.1.1 Tình hình nghiên cứu ngoài nước (24)
      • 1.1.2 Tình hình nghiên cứu trong nước (25)
    • 1.2 Mục tiêu đề tài (26)
    • 1.3 Giới hạn đề tài (26)
    • 1.4 Phương pháp nghiên cứu (27)
    • 1.5 Nội dung nghiên cứu (27)
  • CHƯƠNG 2 CƠ SỞ LÝ THUYẾT (27)
    • 2.1 Tổng quan về robot di động (29)
      • 2.1.1 Khái niệm robot di động (29)
      • 2.1.2 Phân loại robot di động (30)
      • 2.3.1 Lý thuyết động học robot di động (34)
      • 2.3.2 Động học robot di động vi sai (35)
    • 2.4 Hệ thống định vị và công nghệ (37)
      • 2.4.1 Hệ thống định vị trong nhà (IPS) (39)
      • 2.4.2 Hệ thống định vị sử dụng công nghệ UWB (43)
      • 2.4.3 Các phương pháp đo khoảng cách tới vật thể (45)
      • 2.4.4 Các giải thuật xác định vị trí vật thể trong không gian 3D (47)
    • 2.5 Tổng quan về nền tảng ROS (50)
      • 2.5.1 Giới thiệu sơ lược về ROS (50)
      • 2.5.2 Các khái niệm về ROS (51)
      • 2.5.3 Ưu và nhược điểm của ROS (55)
    • 2.6 Tổng quan về điều hướng cho robot (56)
      • 2.6.1 Khái niệm về điều hướng robot (56)
      • 2.6.2 Định vị cho robot (58)
      • 2.6.3 Nhận thức của robot (63)
      • 2.6.4 Tổng quan về Navigation Stack (66)
      • 2.6.5 Tổng quan về SLAM (68)
    • 2.7 Lý thuyết thuật toán EKF (77)
    • 2.8 Lý thuyết bộ điều khiển PID (79)
    • 2.9 Lý thuyết cảm biến Lidar (79)
      • 2.9.1 Giới thiệu sơ lược cảm biến Lidar (79)
      • 2.9.2 Cấu tạo cảm biến Lidar (79)
      • 2.9.3 Nguyên lý hoạt động của cảm biến Lidar (80)
    • 2.10 Lý thuyết cảm biến Encoder (80)
      • 2.10.1 Giới thiệu sơ lược cảm biến Encoder (80)
      • 2.10.2 Cấu tạo cảm biến Encoder (80)
    • 2.11 Lý thuyết cảm biến IMU (81)
      • 2.11.1 Giới thiệu cảm biến IMU (81)
      • 2.11.2 Cấu tạo cảm biến IMU (81)
    • 2.12 Lý thuyết các giao thức truyền thông (82)
      • 2.12.1 Giao thức UART (82)
      • 2.12.2 Giao thức I2C (85)
      • 2.12.3 Giao thức SPI (89)
      • 2.12.4 Giao thức SSH (0)
    • 2.13 Các phần mềm hỗ trợ (92)
      • 2.13.1 Phần mềm mô phỏng Gazebo (92)
      • 2.13.2 Phần mềm Rviz (93)
  • CHƯƠNG 3 THIẾT KẾ VÀ THI CÔNG HỆ THỐNG (27)
    • 3.1 Tổng quan về hệ thống thi công (95)
    • 3.2 Thiết kế và thi công mô hình robot (96)
      • 3.2.1 Lựa chọn thiết bị (96)
      • 3.2.2 Thiết kế mô hình robot di động hai bánh vi sai (103)
      • 3.2.3 Xây dựng mô hình robot trong môi trường mô phỏng (107)
      • 3.2.4 Thi công mô hình robot di động hai bánh vi sai (112)
      • 3.2.5 Sơ đồ kết nối (116)
    • 3.3 Thiết kế và thi công hệ thống định vị UWB (116)
      • 3.3.1 Lựa chọn thiết bị (116)
      • 3.3.2 Thiết kế module UWB (119)
      • 3.3.3 Hệ thống định vị 3D (121)
    • 3.4 Giao tiếp dữ liệu trong hệ thống ........................................................................... 99 CHƯƠNG 4 THIẾT KẾ GIẢI THUẬT NÂNG CAO KHẢ NĂNG ƯỚC TÍNH VỊ TRÍ (121)
    • 4.2 Thiết kế giải thuật kết hợp dữ liệu Encoder và IMU (127)
    • 4.3 Thiết kế giải thuật kết hợp dữ liệu Encoder, IMU và Lidar (127)
    • 4.4 Thiết kế giải thuật kết hợp dữ liệu Encoder, IMU, Lidar và UWB (128)
  • CHƯƠNG 5 ĐÁNH GIÁ MÔ PHỎNG VÀ THỰC NGHIỆM (28)
    • 5.1 Mô phỏng (129)
      • 5.1.1 Xây dựng môi trường mô phỏng cho robot (129)
      • 5.1.2 Xây dựng bản đồ làm việc trên Gazebo (131)
      • 5.1.3 Khảo sát định vị cho robot theo tín hiệu điều khiển từ xa (131)
    • 5.2 Thực nghiệm (135)
      • 5.2.1 Khảo sát định vị cho robot theo tín hiệu điều khiển từ xa (135)
  • CHƯƠNG 6 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN (28)
    • 6.1 Kết luận (142)
    • 6.2 Hướng phát triển (142)
  • TÀI LIỆU THAM KHẢO (143)
    • Bàng 5. 1: Thông số bánh xe mô phỏng (0)
    • Bàng 5. 2: Thông số cảm biến lidar mô phỏng (0)
    • Bàng 5. 3: thông số IMU mô phỏng (0)

Nội dung

Tuy nhiên, việc sử dụng thuật toán xử lý hình ảnh yêu cầu các cấu hình tính toán cao, có thể gặp khó khăn nếu có giới hạn về nguồn tính toán, thuật toán dead – reckoning để lại tích tụ s

TỔNG QUAN

Đặt vấn đề

Xã hội ngày càng phát triển dẫn đến nhu cầu của con người về đời sống vật chất, môi trường sống cũng như an ninh, an toàn và sức khỏe ngày càng cao Từ đó, robot ra đời đóng một vai trò vô cùng quan trọng khi giúp đỡ con người trong các công việc hằng ngày, phục vụ mọi mặt của đời sống xã hội nhằm mục đích nâng cao năng suất, hiệu quả khi tiết kiệm thời gian, chi phí, thay thế con người làm việc trong các môi trường độc hại, nguy hiểm, bảo vệ an toàn cho người lao động Do đó robot được ứng dụng trong hầu hết những lĩnh vực quan trọng như y tế, quân sự, công nghiệp, nông nghiệp, dịch vụ,… [1] Trong lĩnh vực quân sự, robot cực kì hiệu quả khi có thể tiến vào lãnh thổ của địch để do thám, theo dõi và giám sát thu thập thông tin hỗ trợ cho việc đưa ra các chiến lược quân sự hoặc có thể giảm bớt nguy hiểm khi có thể thay thế con người trong việc dò bom mìn, bên cạnh đó hỗ trợ giải cứu cho những nạn nhân bị mắc kẹt trong chiến tranh [2] Trong lĩnh vực công nghiệp, robot cũng được đưa vào vận hành để giúp con người tránh khỏi các nguy hiểm như phun thuốc trừ sâu, các chất bảo vệ thực vật giúp con người tránh phải tiếp xúc với các hóa chất độc hại, bên cạnh đó cũng thực hiện các nhiệm vụ như cắt tỉa, thu hoạch, thực hiện các nhiệm vụ nặng nhọc như vận chuyển phân bón, trái cây… [3] Để robot có thể thực hiện các công việc trên, có một số cách để vận hành robot như giám sát, điều khiển robot từ xa, hoặc nếu robot làm một công việc lặp đi lặp lại và trong một môi trường không có sự thay đổi lớn, robot có thể hoạt động hoàn toàn tự động hoặc trong một vài trường hợp đặc biệt, một số robot trong điều kiện làm việc bình thường sẽ hoạt động ở chế độ tự động và trong trường hợp cần thiết có thể thay đổi thành chế độ điều khiển từ xa, hay còn gọi là bán tự động Đối với robot di động điều khiển từ xa thường được đưa vào sử dụng trong các môi trường khó tiếp cận hoặc những nơi có thể gây tổn hại sức khỏe cho con người khi tiếp xúc, do đó robot được thiết kế để thay thế con người làm các nhiệm vụ trên [4] Bên cạnh đó, robot di động bán tự động cũng được đưa vào ứng dụng cứu hộ trong các tai nạn, hỏa hoạn, thảm họa tự nhiên và khủng bố, chiến tranh,… robot có thể tìm kiếm nạn nhân, phát tín hiệu trực tiếp tại hiện trường để đưa ra các phương án giải cứu nạn nhân [5] Đối với robot di động hoàn toàn tự động, ta cần phải điều hướng cho robot di chuyển và [6] Cho đến thời điểm hiện tại đã có rất nhiều phương pháp để thu thập dữ liệu và cùng với những thuật toán để đo lường và tính toán vị trí của robot, [7] đề xuất sử dụng camera với phương pháp xử lý ảnh để xác định vị trí hiện tại của robot để có thể tránh né các vật cản, lập kế hoạch đường đi đến đích cho robot di động Ngoài phương pháp trên, [8] đã đề xuất sử dụng cảm biến laser thông qua bộ lọc hạt và thuật toán Monte Carlo để cập nhật bản đồ đồng thời xác định vị trí của robot Bên cạnh đó [9], [10], [11] đã đưa ra phương pháp dead – reckoning tính toán vị trí hiện tại của robot thông qua vị trí trước đó cùng với vận tốc và hướng quay hiện tại của robot, có thể thu được từ các cảm biến IMU và encoder Tuy nhiên, việc sử dụng thuật toán xử lý hình ảnh yêu cầu các cấu hình tính toán cao, có thể gặp khó khăn nếu có giới hạn về nguồn tính toán, thuật toán dead – reckoning để lại tích tụ sai số trong quá trình vận hành do trượt bánh và các dữ liệu Odometry chỉ có thể tính toán nếu ta thiết lập giá trị ban đầu của robot một cách thủ công, ta có thể sử dụng cảm biến lidar cùng với thuật toán scanmatching để tìm kiếm vị trí ban đầu của robot [12] tuy nhiên trong các trường hợp môi trường không có đặc điểm nổi bật như trong một nhà kho rộng, thuật toán này sẽ không có tác dụng Để khắc phục điểu này ta cần một hệ thống định vị cho robot GPS là một hệ thống định vị mạnh mẽ nhưng chỉ có thể hoạt động tốt khi ở ngoài trời, ở môi trường kín trong nhà tín hiệu vệ tinh bị lỗi dẫn đến định vị không chính xác Ta cần một công nghệ định vị thay thế

Ngày nay có rất nhiều công nghệ định vị trong nhà như RFID, Wifi, Bluetooth, Zigbee, UWB, VLC trong đó UWB là một hệ thống định vị vô cùng mạnh mẽ với dãy tần số hoạt động vô cùng lớn, tốc độ truyền dữ liệu nhanh với khả năng đâm xuyên cao vẫn mang lại hiệu quả tốt trong các trường hợp NLOS [13], [14] Hệ thống UWB chỉ cung cấp thông tin về vị trí, bên cạnh đó các cảm biến có những ưu điểm và nhược điểm khi hoạt động ở những môi trường điều kiện khác nhau, do đó ta cần phải kết hợp dữ liệu từ nhiều loại cảm biến để mang lại hiệu suất cao trong việc định vị điều hướng cho robot di động [15], [16]

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

Trên thế giới, có nhiều công trình nghiên cứu đang tập trung vào việc nâng cao phát triển khả năng định vị của robot di động Các nghiên cứu này nhằm giúp robot di động có thể hoạt động một cách chính xác nhất với sai số cực nhỏ để thực hiện tốt các nhiệm vụ Dưới đây là một số nghiên cứu về việc định vị và điều hướng cho robot di động

Bài báo [17] “Accurate UWB and IMU based Indoor Localization for Autonomous” của tác giả Alvin Marquez cùng với các cộng sự vào năm 2017 cũng đã chỉ ra tầm quan trọng của việc giám sát và theo dõi robot di động theo thời gian thực trong một môi trường kín Tác giả đã đưa ra những thiếu sót khi chỉ sử dụng hệ thế INS hoặc IPS, INS sẽ tích tụ sai số gây mất ổn định hệ thống khi hoạt động lâu dài, INS sẽ bị ảnh hưởng bởi hiện tượng đường đa ngã giảm độ chính xác của hệ thống, do đó đề xuất kết hợp dữ liệu từ các cảm biến được đưa ra

Bài báo [18] “Multi-Sensor Fusion Localization and Mapping of Indoor Mobile Robot” của tác giả Zhongwei Hua và cộng sự đưa ra giải thuật SLAM, kết hợp các cảm biến 2D lidar, depth camera, IMU, và encoder Các dữ liệu từ encoder và IMU được lọc thông qua bộ lọc Kalman Filter Bài báo cũng đưa ra thuật toán Region Proximity, kết hợp dữ liệu từ camera chiều sâu và cảm biến LiDAR Cuối cùng dữ liệu từ các cảm biến được kết hợp để ước lượng vị trí cho robot Bài báo thực hiện mô phỏng trên phần mềm Gazebo của ROS, kết quả so sánh cho thấy khi được tích hợp thêm cảm biến IMU và camera chiều sâu thì độ chính xác của việc định vị, xác nhận vật cản và xét đường đi được tăng đáng kể

Bài báo [19] “Localization of mobile robot based on multi-sensor fusion” của tác giá

Yu Gao cùng với các cộng sự đã chỉ ra vấn đề trong đo lường về việc các cảm biến có tốc độ đo và độ trễ khác nhau dẫn đến việc kết hợp dữ liệu gặp khó khăn, từ đó đề xuất phương pháp khả thi sử dụng EKF để kết hơp dữ liệu từ các cảm biến UWB, IMU và Lidar để xử lý thông tin cảm biến giảm tối thiểu nhiễu đo lường Kết quả khảo sát cho thấy robot di động được ước tính ra vị trí với sai số cực nhỏ

Một nghiên cứu quan trọng về việc sử dụng cảm biển Laser Odometry kết hợp với IMU cùng hệ thống UWB để xác định hướng, vị trí của robot với sai số cực nhỏ được đề cập trong bài báo [15] “Mobile Robot Indoor Localization Based on the Fusion of UWB with Laser Odometry and IMU Sensor” của tác giả Phuwanat Phueakthonga cùng với các cộng sự vào năm 2023 Bài báo đã đưa ra thuật toán Trilateration và TDOA để xác định vị trí của robot bên cạnh đó áp dụng bộ lọc Kalman để giảm thiểu sai số Tác giả cũng đã đưa ra thuật toán RF2O để tính toán về góc quay và vận tốc của robot để có thể điều hướng và điều khiển robot đi đến điểm mục tiêu Quan trọng, tác giả cũng đã đưa ra phương pháp sử dụng bộ lọc Extended Kanmal Filter để kết hợp dữ liệu của các cảm biến nâng cao độ chính xác trong việc ước lượng vị trí của robot

1.1.2 Tình hình nghiên cứu trong nước

Vấn đề về việc định vị điều hướng cho robot di động không những được cộng đồng và các nhà nghiên cứu quan tâm, mà còn nhận được sự chú ý từ các trường đại học với các sinh viên nghiên cứu khoa học

Bài báo [20] “Định Vị Robot Di Động Trong Nhà Dựa Trên Tín Hiệu WiFi” của ông với cơ sở dữ liệu ban đầu (Finger Printing) Bài báo cũng đưa ra các thuật toán định vị robot di động bao gồm sự kết hợp của phương pháp cực tiểu hóa khoảng cách Euclide và thuật toán học máy nhiều lớp Multi-Class SVM (Support Vector Machine) Bài báo cũng xây dựng mô hình thực nghiệm để thu thập dữ liệu cho phương pháp cực tiểu hóa khoảng cách Euclide xây dựng bản đồ vô tuyến cùng với sử dụng dữ liệu cho phương pháp học máy Kết quả cho thấy việc định vị vị trí của robot có sai số còn tương đối lớn và đôi lúc có một số địa điểm không xác định được vị trí

Bài báo [21] “Nghiên cứu phát triển robot xây dựng bản đồ và định vị đồng thời trên nền tảng ROS” của tác giả Phan Hoàng Anh cùng với các cộng sự đã thực hiện thiết kế robot trên nền tàng ROS cùng với việc sử dụng giải thuật SLAM và phương pháp RTAB – Map , thực hiện định vị robot đồng thời xây dựng bản đồ tại môi trường không biết trước, bài báo cũng tiến hành thực nghiệm xét tính hiệu quả của phương pháp

Tại các trường đại học cũng có nhiều sinh viên nghiên cứu các đề tài về robot tự hành Tại trường ĐH Bách Khoa, nhóm sinh viên Nguyễn Hồng Đức nghiên cứu về đề tài [22] “ Robot tự hành tránh vật cản sử dụng thiết bị kinect” đã sử dụng cảm biến camera với phương pháp xử lý ảnh cho việc tránh vật cản, tuy nhiên không có hệ thống định vị xác định chính xác vị trí của robot và đo lường bằng camera nên trong một môi trường tối sẽ khó hoạt động tốt Bên cạnh đó, tại ĐH Sư Phạm Kỹ Thuật TPHCM cũng thực hiện một số đề tài nghiên cứu điều hướng cho mobile robot Điển hình cụ thể như nghiên cứu [23] “Thiết kế và thi công robot phục vụ nhà hàng” của nhóm sinh viên Trần Minh Sang với việc định vị robot thông qua các thẻ RFID, tuy nhiên gặp phải nhiều hạn chế khi chạy với tốc độ nhanh có thể dẫn đến không đọc được thẻ hoặc lỗi thẻ và không thể xác định được vị trí của robot Nhìn chung có nhiều nghiên cứu về robot di động nhưng các đề tài ít quan tâm đến xác định vị trí cho robot, một yếu tốt quan trọng để robot tự hành có thể hoạt động ổn định và chính xác Nhận thấy điều đó, nhóm đã quyết định thực hiện nghiên cứu “Nâng cao khả năng ước tính vị trí cho robot di động bằng hệ thống băng tần siêu rộng”.

Mục tiêu đề tài

- Thiết kế và thi công mô hình robot di động vi sai hai bánh

- Thiết kế và thi công hệ thống định vị Ultra Wide Band

- Thiết kế giải thuật nâng cao khả năng ước lượng vị trí cho robot di động.

Giới hạn đề tài

- Đề tài tập trung nghiên cứu mô hình robot di động hai bánh vi sai

- Các vật cản trong môi trường hoạt động nằm cố định, không thay đổi

- Giới hạn tốc độ tối đa của robot là 0.15 m/s

- Giới hạn khối lượng tối đa là 5 kg

- Đề tài không tập trung thiết kế bộ điều khiển cho robot di động, thông số bộ điều khiển được thử sai sao cho tối đa.

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

- Phân tích dữ liệu: Sử dụng Plot Juggler hỗ trợ quan sát và thu thập dữ liệu để giám sát quỹ đạo mong muốn và thực tế của robot

- Phân tích mô phỏng: Dựa vào Gazebo và ROS mô phỏng hoạt động của robot bao gồm việc định vị, kiểm soát và tương tác với môi trường

- Phân tích thí nghiệm: Dựa vào các kết quả đã thu được từ mô phỏng, kết quả chạy được từ thực nghiệm và so với mục tiêu đặt ra để đưa ra kết luận và hướng phát triển

- Tiêu chí đánh giá hiệu quả của hệ thống: Kiểm tra sai số bám của robot so với quỹ đạo đặt

Nội dung nghiên cứu

Nội dung của đề tài bao gồm 6 chương, nội dung các chương như sau:

Chương 1: Tổng quan đề tài

Chương 1 trình bày tổng quan về đề tài bao gồm đặt ra vấn đề, mục tiêu, giới hạn đề tài và phương pháp nghiên cứu.

CƠ SỞ LÝ THUYẾT

Tổng quan về robot di động

2.1.1 Khái niệm robot di động

Robotics đã đạt được những thành công đáng kể cho đến nay Cánh tay robot (hay còn gọi là Manipulator) chiếm một ngành công nghiệp lớn, cánh tay được gắn cố định vào một vị trí cụ thể trong một dây chuyền lắp ráp, di chuyển với tốc độ và độ chính xác cao để thực nghiệm các nhiệm vụ lặp đi lặp lại như phân loại, hàn điểm, sơn, v.v như Hình 2 1

Tuy nhiên cánh tay robot cũng gặp phải hạn chế, nhược điểm cơ bản: thiếu cơ động và thiếu linh hoạt do không thể di chuyển Do đó robot di động được thể hiện ở Hình 2 2 đồng thời cũng được xây dựng và phát triển, có thể di chuyển linh hoạt trong môi trường làm việc để đáp ứng các yêu cầu

Hình 2 2: Robot di động Omron

2.1.2 Phân loại robot di động

Robot di động có thể được phân loại theo nhiều cách: Môi trường hoạt động, phương thức di chuyển, ứng dụng,… được trình bày trong Hình 2 3 được thể hiện dưới đây:

Robot di động Phương thức di chuyển

Phương thức điều khiển Ứng dụng

Môi trường hoạt động UAVs

Dịch vụ Ứng dụng Quân sự

Hình 2 3: Phân loại robot di động

Dựa vào môi trường hoạt động, robot được chia thành các nhóm sau: Robot di động di chuyển trên không (Unmanned Aerial Vehicles – UAVs), robot di động di chuyển dưới nước (Unmanned Underware Vehicles – UUVs), robot di động di chuyển trên mặt đất (Unmanned Ground Vehicles – UGVs) Trong đó robot di chuyển trên mặt đất là phổ biến và đa dạng cũng được phân thành các nhóm nhỏ hơn dựa vào phương thức di chuyển: Robot di chuyển bằng bánh, robot di chuyển bằng chân, robot lai kết hợp cả bánh và chân

Trong các nhóm robot di động, robot di chuyển trên mặt đất được ứng dụng đa dạng và phổ biến trong trong nhiều lĩnh vực, cụ thể trong môi trường công nghiệp dùng để phân loại, di chuyển, sắp xếp hàng hóa trong các nhà máy và nhà kho giúp tăng năng suất và giảm thiểu lỗi do con người gây ra, giảm nhân công, cải thiện độ chính xác, tăng hiệu quả phân phối hàng hóa cho chuỗi cung ứng logistics, bên cạnh đó cũng giảm thiểu các tai nạn trong lao động tránh việc bê vác và vận chuyển vật nặng cho công nhân Một trong những công ty hàng đầu Amazon cũng tối ưu hóa ứng dụng robot di động vào nhà kho, với mẫu Titan Robot sử dụng bánh được thể hiện ở Hình 2 4 với khả năng nâng vật lên tới 2500 pounds Robot có thể giao tiếp làm việc cùng nhau trong nhà kho lớn, cùng với đó robot được trang bị các cảm biến bảo đảm an toàn cho cả robot và con người

Hình 2 4: Mobile robot Titan của công ty Amazon

Ngoài sắp xếp, vận chuyển phân phối hàng hóa trong môi trường nhà kho kín, robot di động ở Hình 2 5 còn hoạt động ở môi trường không gian ngoài trời cho ứng dụng giao hàng

Một nhóm khác của mobile robot di chuyển trên mặt đất là robot sử dụng chân với các hình dạng tương tự như con người hoặc động vật, tiêu biểu như các nghiên cứu và chế tạo từ Boston Dynamics được thể hiện trong Hình 2 6 Robot có thể di chuyển, nhún nhảy thông qua sự linh hoạt của các khớp chân, nhờ đó có thể đi trên địa hình gồ ghề, đi lên các bậc thang,… di chuyển trên các loại địa hình khác nhau a) Robot Atlat của Boston Dynamic b) Robot Spot của Boston Dynamic

Hình 2 6: Robot sử dụng chân

Handle robot trong Hình 2 7 là một robot di động hai bánh cân bằng kết hợp sử dụng cả bánh và chân, ngoài ra còn gắn thêm cả cánh tay máy là bốc xếp hàng hóa Robot sử dụng hai động cơ độc lập để giữ cho robot thăng bằng Robot có thể đi trên đường gồ ghề và có thể thay đổi chiều cao Đây là một mô hình robot có thể đưa vào nghiên cứu và có tiềm năng phát triển lớn trong tương lai

Hình 2 7: Robot hai bánh cân bằng thay đổi chiều cao của Boston Dynamics

Robot di chuyển trên không trung hay còn gọi là máy bay không người lái (UAVs) UAV được áp dụng vào nhiều lĩnh vực như quân sự (do thám, giám sát,…), nghệ thuật, báo chí (quay phim, chụp hình…) hay trong cả lĩnh vực logistics (giao hàng)… Do đó UAV cũng được nghiên cứu phát triển

Hình 2 8: Máy bay không người lái RC-138

Robot RC – 138 trong Hình 2 8 là một Quadcopter thuộc một loại UUVs với bốn động cơ nằm trên bốn trục lệch nhau 90 độ được gắn các cánh quạt Việc di chuyển và bay được điều khiển bởi bốn động cơ này Robot trên có các ứng dụng như chụp ảnh, quay video, theo dõi người, kiểm tra và giám sát…

Dựa vào phân loại được thể hiện trong Hình 2 3 phân loại theo môi trường còn có AUV cũng được ứng dụng trong nhiều lĩnh vực Robot có thể tự động di chuyển dưới nước hoặc được điều khiển dưới sự giám sát của con người Thông qua robot có thể thu thập dữ liệu, giám sát và điều khiển robot từ các cảm biến được trang bị,…

Robot Phantom AUV trong Hình 2 9 được thiết kế có tính module có thể mở rộng, có thể điều chỉnh để mang theo hàng hóa thực hiện các yêu cầu cụ thể dưới nước, có thể sửa đổi đến độ dài, tốc độ và độ sâu yêu cầu để đáp ứng nhu cầu của người dùng Phantom AUV lý tưởng cho một loạt các ứng dụng dưới biển như địa chất học biển, phòng chống mìn, nghiên cứu khoa học…

2.2 Cấu trúc robot di động vi sai

Cấu trúc mô hình robot di động vi sai hai bánh được trình bày trong Hình 2 10 Với

( x Q , y Q ) lần lượt là vị trí của robot theo trục x và trục y, 2a là khoảng cách giữa hai bánh xe,

 là hướng của robot so với trục ngang song song với trục Ox, v Q là vận tốc tuyến tính của robot, v l và v r lần lượt là vận tốc tuyến tính của bánh trái và bánh phải,  l và  r lần lượt là vận tốc góc của bánh trái và bánh phải

Robot bao gồm hai bánh xe được cố định vào hai bên thân robot, hai bánh có nhiệm vụ truyền động độc lập cho robot Robot cũng có thêm một bánh đa hướng phía trước nhằm giữ thăng bằng

2.3 Động học robot di động hai bánh vi sai

2.3.1 Lý thuyết động học robot di động Động học robot di động liên quan đến cấu hình robot trong không gian làm việc, mối liên hệ giữa không gian hình học, các ràng buộc trong quỹ đạo của nó Công thức động học dựa trên cấu trúc hình học của robot Nghiên cứu về động học của robot là cơ sở để nghiên cứu về phần động lực học, tính ổn định và điều khiển robot Bài toán động học thuận và động học nghịch tính toán sự biến đổi giữa các biến ở không gian khớp và các biến trong không gian làm việc và ngược lại

Xét một hệ robot di động, trong không gian khớp có các biến tổng quát q q 1 , 2 , ,q n

, và các biến tổng quát trong không gian làm việc x x 1 , 2 , ,x m Ta định nghĩa các vector theo công thức:

Hệ thống định vị và công nghệ

Việc xác định vị trí cho Mobile robot tự hành là một trong những thử thách mà những người nghiên cứu và phát triển cần giải quyết Chính vì vậy, hệ thống định vị là một trong những chìa khóa để việc điều hướng, dẫn đường cho các Mobile robot tự hành thành công Đối với hệ thống dẫn đường ngoài trời, công nghệ GNSS (Global Navigation Satellite System) là một trong những hệ thống tốt nhất trong việc xác định vị trí, đây là một hệ thống công nghệ sử dụng mạng các vệ tinh trên quỹ đạo trái đất để cung cấp dịch vụ định vị, định hướng và đồng bộ thời gian cho người dùng trên khắp thế giới

Hình 2 11: Hệ thống định vị toàn cầu GNSS

GNSS có các ưu điểm và nhược điểm như sau:

- Định vị toàn cầu: GNSS cung cấp khả năng định vị toàn cầu, cho phép người dùng xác định vị trí của họ ở bất kì nơi nào trên trái đất

- Độ chính xác cao: Các hệ thống GNSS ngày càng phát triển hiện đại, đặc biệt là khả năng lấy tín hiệu từ nhiều vệ tinh khác nhau và nhiều hệ thống GNSS khác nhau

- Khả năng đồng bộ thời gian: GNSS có thể được sử dụng để đồng bộ thời gian trên toàn cầu, làm cho nó ứng dụng trong lĩnh vực viễn thông và ngành công nghiệp

- Độ phủ rộng: Khả năng phủ sóng, cung cấp định vị trên toàn cầu

- Đa hệ thống: Khả năng kết hợp dữ liệu từ nhiều hệ thống GNSS khác nhau giúp cải thiện độ chỉnh xác

- Ảnh hưởng bởi môi trường: Khu vực có nhiều tòa nhà cao, rừng cây dày hoặc thời tiết xấu ảnh hưởng đến độ chính xác

- Mất tín hiệu trong khu vực đóng: Trong khu vực có các tòa nhà cao hoặc trong các điều kiện môi trường đóng, có thể mất tín hiệu ảnh hưởng khả năng định vị Tuy có nhiều ưu điểm, nhưng với việc định vị, hệ thống dẫn đường trong nhà( indoor navigation), công nghệ trên không được sử dụng vì không gian đóng có thể ảnh hưởng đến khả năng hoạt động xác định vị trí của GNSS Vì thế cần sử dụng các giải pháp khác để giải quyết vấn đề trên, một trong những giải pháp phổ biến hiện nay là sử dụng Simultaneous Localization and Mapping (SLAM), một hệ thống xác định vị trí và xây dựng bản đồ hoạt động trong một môi trường không biết trước Tuy nhiên một nhược điểm lớn của SLAM gặp phải là sự trượt của bánh xe dẫn đến tín hiệu trả về từ encoder không chính xác dẫn đến việc xác định vị trí của Robot không chính xác

Hình 2 12: Hệ thống định vị sử dụng SLAM Để giải quyết vấn đề trên, hệ thống định vị bằng công nghệ UWB( Ultra Wide band) được thay thế cho SLAM Hệ thống định vị UWB sử dụng tín hiệu vô tuyến trên nhiều tần số, mỗi tín hiệu có bước sóng rất ngắn, cho phép định vị chính xác Hệ thống định vị UWB có cách thức hoạt động tương tự như GPS, được trình bày cụ thể hơn ở mục sau

2.4.1 Hệ thống định vị trong nhà (IPS)

2.4.1.1 Khái niệm và ứng dụng IPS:

Indoor Positioning System (IPS) là hệ thống định vị trong nhà hỗ trợ nhiều ứng dụng điều hướng khác nhau yêu cầu cao về vị trí tức thời của một người và bất kỳ vật thể nào trong thời gian thực, đồng bộ định vị thiết bị di động hoặc các vật thể trong môi trường trong nhà IPS mở ra nhiều khả năng mới trong các lĩnh vực:

❖ Trong môi trường công nghiệp: o Đảm bảo điều hướng chính xác cho robot tự động trong logistic và sản xuất o Theo dõi các công cụ và thiết bị cá nhân trong các nhà kho và nhà máy lớn o Theo dõi liên tục những người khai thác than trong các mỏ dưới lòng đất do số lượng thảm họa ngày càng tăng với nhiều trường hợp tử vong,

❖ Trong thị trường tiêu dùng: o Tiếp thị dựa trên vị trí nhận biết bối cảnh nhằm nâng cao trải nghiệm mua sắm trong thời gian thực bằng cách xem xét hồ sơ xã hội, lịch sử mua sắm, yêu cầu phản hồi, mô hình chi tiêu, lịch sử điều hướng, hành vi trực tuyến của người mua, v.v

❖ Trong lĩnh vực sức khỏe: o Giám sát vị trí thiết bị y sinh hoặc hướng dẫn bệnh nhân trong các bệnh viện đông đúc,

2.4.1.2 Công nghệ giao tiếp cho IPS

Cho đến hiện nay, có một số công nghệ giao tiếp không dây được áp dụng rộng rãi cho IPS như là: RFID, Wi-Fi, Bluetooth, ZigBee, and UWB

• Radio Frequency Identification, (RFID): thực hiện việc truyền và lưu trữ dữ liệu, đồng thời hoạt động dựa trên giao tiếp tán xạ ngược, bao gồm đầu đọc RFID, thẻ RFID và hệ thống xử lý dữ liệu Đầu đọc RFID phát ra các xung tần số mà thẻ RFID nhận được và dữ liệu được xử lý với sự trợ giúp của một con chip được nhúng trong thẻ Thẻ RFID có ba loại khác nhau là chủ động, thụ động và bán chủ động.Thông tin RSSI giữa thẻ RFID và đầu đọc được sử dụng để ước tính phạm vi và vị trí địa phương, nhưng thông tin này dễ bị ảnh hưởng bởi nhiều đường dẫn, nhiễu và các điều kiện kênh thay đổi trong môi trường trong nhà Các yếu tố như mật độ nút, loại ăng-ten và tần số được sử dụng cũng có thể ảnh hưởng đến độ chính xác của hệ thống

Do đó, công nghệ RFID chủ động có thể không cung cấp độ chính xác ở mức dưới mét cho hệ thống định vị, nhưng nó vẫn phổ biến do chi phí thấp, dễ thực hiện, kích thước thu nhỏ và tiêu thụ điện năng thấp

• Wireless Fidelity, (Wi-Fi): là một công nghệ mạng không dây được sử dụng rộng rãi, hoạt động theo chuẩn IEEE 802.11(định nghĩa các chuẩn truyền thông không dây) và sử dụng dải tần số vô tuyến 2,5 GHz cho IEEE 802.11b và 5 GHz cho IEEE 802.11a Được hỗ trợ trong nhiều thiết bị thông minh giúp IPS dựa trên Wi-Fi trở nên thiết thực hơn và tiết kiệm chi phí hơn

Các hệ thống định vị dựa trên Wi-Fi thường dựa trên fingerprinting của chỉ báo cường độ tín hiệu vô tuyến (RSSI) và có phạm vi chính xác từ 1–10 m Wi-Fi cung cấp phạm vi thu sóng khoảng 100 m và chi phí cơ sở hạ tầng thấp khiến Wi-Fi trở thành một lựa chọn thiết thực cho IPS Độ chính xác hợp lý, tính khả dụng, vùng phủ sóng lớn, tốc độ dữ liệu cao và hỗ trợ rộng rãi trên nhiều thiết bị khiến Wi-Fi trở thành lựa chọn phù hợp cho IPS

• Bluetooth Low Energy, (BLE): Công nghệ truyền thông Bluetooth hoạt động ở dải tần số vô tuyến từ 2,402 GHz đến 2,480 GHz Nó được thiết kế để liên lạc trong phạm vi ngắn giữa các thiết bị và đã trở thành một công nghệ cạnh tranh trong IPS do đặc điểm hiệu quả về chi phí, tiêu thụ điện năng rất thấp, tuổi thọ pin dài, bảo mật cao và hiệu quả liên lạc

Các giải pháp định vị dựa trên Bluetooth thường sử dụng kỹ thuật ước tính phạm vi dựa trên RSSI BLE có tốc độ dữ liệu 24 Mbps và phạm vi phủ sóng tín hiệu có thể đạt tới 70–100 m với hiệu suất năng lượng cao, lý tưởng để sử dụng trong các khu vực không gian công cộng như sân bay hoặc trung tâm mua sắm

Tổng quan về nền tảng ROS

2.5.1 Giới thiệu sơ lược về ROS

ROS (Robot Operation System) là một khung phần mềm cho việc tạo ra những ứng dụng về Robot Mục đích chính của khung phần mềm ROS là cung cấp những khả năng hay tính năng mà bạn có thể sử dụng để tạo ra các ứng dụng robot mạnh mẽ có thể tái sử dụng cho các robot khác ROS có một tập hợp các công cụ phần mềm, thư viện và tập hợp các gói phần mềm giúp phát triển phần mềm robot trở nên dễ dàng

ROS là một dự án mã nguồn mở hoàn chỉnh được cấp phép theo giấy phép BSD Chúng ta có thể sử dụng nó cho các ứng dụng nghiên cứu và thương mại Mặc dù ROS là viết tắt của Robot Operation System tuy nhiên nó không phải thực sự là một hệ điều hành Thay vào đó nó là một hệ điều hành meta, cung cấp các tính năng của một hệ điều hành thực sự Dưới đây là một số tính năng mà ROS cung cấp:

• Giao diện truyền thống điệp: Một tính năng cốt lõi của ROS, cho phép nó giao tiếp giữa các tiến trình Sử dụng khả năng truyền thông điệp này, chương trình ROS có thể giao tiếp với hệ thống liên kết của nó và trao đổi dữ liệu

• Trừu tượng hóa phần cứng: ROS có một mức độ trừu tượng cho phép các nhà phát triển tạo ra các ứng dụng không phụ thuộc vào robot Những loại ứng dụng này có thể được sử dụng với bất kỳ robot nào; các nhà phát triển chỉ cần quan tâm đến phần cứng robot cơ bản

• Quản lý gói: Các nút ROS được tổ chức trong các gói gọi là gói ROS Các gói ROS bao gồm mã nguồn, tệp cấu hình, tệp build, v.v Chúng ta tạo gói, build gói và cài đặt gói Có một hệ thống build trong ROS giúp xây dựng các gói này Quản lý gói trong ROS làm cho việc phát triển ROS trở nên có hệ thống và tổ chức hơn

• Tích hợp thư viện bên thứ ba: Khung ROS được tích hợp với nhiều thư viện bên thứ ba, chẳng hạn như Open-CV, PCL, OpenNI, v.v Điều này giúp các nhà phát triển tạo ra mọi loại ứng dụng trong ROS

• Điều khiển thiết bị cấp thấp: Khi chúng ta làm việc với robot, chúng ta có thể cần làm việc với các thiết bị cấp thấp, chẳng hạn như những thiết bị điều khiển chân I/O, gửi dữ liệu qua cổng nối tiếp, v.v Điều này cũng có thể được thực hiện bằng cách sử dụng ROS

• Tính toán được phân phối: Lượng tính toán cần thiết để xử lý dữ liệu từ các cảm biến của robot là rất lớn Sử dụng ROS, chúng ta có thể dễ dàng phân phối việc tính toán tới một cụm các nút tính toán Điều này phân phối sức mạnh tính toán và cho phép bạn xử lý dữ liệu nhanh hơn so với việc sử dụng một máy tính đơn lẻ

• Tái sử dụng mã: Mục tiêu chính của ROS là tái sử dụng mã Tái sử dụng mã giúp phát triển một cộng đồng nghiên cứu và phát triển tốt trên toàn thế giới Các chương trình thực thi trong ROS được gọi là nút Các chương trình thực thi này có thể được nhóm lại thành một thực thể duy nhất được gọi là gói ROS Một nhóm các gói được gọi là một gói siêu và cả hai gói và gói siêu đều có thể được chia sẻ và phân phối

• Độc lập ngôn ngữ: Khung ROS có thể được lập trình bằng các ngôn ngữ phổ biến

(như Python, C++, và Lisp) Các nút có thể được viết bằng bất kỳ ngôn ngữ nào và có thể giao tiếp thông qua ROS mà không gặp bất kỳ vấn đề nào

• Kiểm thử dễ dàng: ROS có một khung kiểm thử đơn vị/integration tích hợp sẵn gọi là rostest để kiểm thử các gói ROS

• Khả năng mở rộng: ROS có thể mở rộng để thực hiện tính toán phức tạp trong các robot

• Miễn phí và mã nguồn mở: Mã nguồn của ROS là mã nguồn mở và hoàn toàn miễn phí để sử dụng Phần cốt lõi của ROS được cấp phép theo giấy phép BSD, và nó có thể tái sử dụng trong các sản phẩm thương mại và mã nguồn đóng

ROS là sự kết hợp của hệ thống ống nước (truyền thông thông điệp), các công cụ, khả năng, và hệ sinh thái Trong ROS có các công cụ mạnh mẽ để gỡ lỗi và trực quan hóa dữ liệu robot Trong ROS cũng có các khả năng robot tích hợp sẵn như điều hướng robot, định vị, khảo sát bản đồ, điều khiển, và nhiều hơn nữa Chúng giúp tạo ra các ứng dụng robot mạnh mẽ

2.5.2 Các khái niệm về ROS

Có ba cấp tổ chức chính trong ROS

• Đồ thị tính toán ROS

❖ Hệ thống tệp ROS chủ yếu liên quan đến cách các tệp ROS được tổ chức trên đĩa

Manifest Messages Service Code Repository

Hình 2 21: Hệ thống tệp ROS

Dưới đây là các thuật ngữ chính mà chúng ta cần hiểu khi làm việc với hệ thống tệp ROS:

• Packages: ROS Packages là đơn vị cá nhân của khung phần mềm ROS Một gói

ROS có thể chứa mã nguồn, thư viện bên thứ ba, tệp cấu hình, và nhiều hơn nữa Các gói ROS có thể được tái sử dụng và chia sẻ

• Package Manifest: Tệp tài liệu (package.xml) sẽ chứa tất cả các chi tiết về các gói, bao gồm tên, mô tả, giấy phép, và, quan trọng hơn, các phụ thuộc của gói

• Meta packages: Sử dụng cho một nhóm các gói cho một mục đích đặc biệt Trong các phiên bản cũ còn được gọi cách khác là “Stacks” (Ví dụ như Navigation Stack)

• Meta packages manifest: Tương tự như Package manifest, khác biệt là có thể bao gồm các gói bên trong nó như là phụ thuộc

Tổng quan về điều hướng cho robot

2.6.1 Khái niệm về điều hướng robot Điều hướng cho robot là quá trình lập kế hoạch và điều khiển chuyển động của robot từ một vị trí hiện tại đến vị trí đích một cách an toàn và hiệu quả Điều này bao gồm việc xác định đường đi tối ưu, tránh các chướng ngại vật và đảm bảo robot duy trì quỹ đạo đã định Điều hướng robot là một lĩnh vực quan trọng trong robot học, đặc biệt là trong các ứng dụng như robot di động, xe tự hành và robot trong nhà thông minh Để thực hiện điều hướng cho một robot di động, robot phải có các thành phần chính được thể hiện như trong hình

Hình 2 25: Sơ đồ cấu trúc điều hướng cho robot di động

• Nhận thức về môi trường (Perception): Robot cần phải thu thập và hiểu môi trường xung quanh thông qua các cảm biến như Lidar, camera, IMU, Encoder, cảm biến siêu âm,… Dữ liệu cảm biến này giúp robot xây dựng bản đồ môi trường và nhận diện các chướng ngại vật, cũng như xác định vị trí của robot trên

• Định vị (Localization): Xác định vị trí hiện tại của robot trong bản đồ đã tạo thông qua các thuật toán như Dead – rekconing, bộ lọc hạt, bộ lọc Kalman và sử dụng các cột mốc (Landmarks) để cải thiện độ chính xác của việc xác định vị trí Trong quá trình robot di chuyển, ngoài xác định vị trí trong một bản đồ đã biết, robot còn có thể tiến hành ước lượng vị trí và xây dựng bản đồ một cách đồng thời bằng giải thuật SLAM (Simultaneous Localization and Mapping)

• Nhận thức của robot (Cognition) : Sau sẽ đã biết được vị trí hiện tại của robot trên bản đồ, nhận biết vị trí của các vật cản, robot lập ra một quỹ đạo đường đi mang tính tối ưu di chuyển từ vị trí hiện tại tới vị trí đích với các tiêu chí tiết kiệm chi phí, năng lượng, khoảng thời gian hay khoảng cách ngắn nhất nhưng vẫn phải đảm bảo an toàn cho robot và những vật xung quanh như các thuật toán A*, thuật toán Dijkstra, thuật toán RRT,… được gọi là lập kế hoạch đường đi toàn cục, ngoài ra robot cũng cần lập kế hoạch đường đi cục bộ để di chuyển giữa vị trí hiện tại đến điểm tiếp theo nằm trên đường đi toàn cục đã được tạo hoặc tạo ra một đường mới khi có vấn đề phát sinh như gặp vật di chuyển (vật cản động) để đảm bảo tính an toàn và ổn định cho hệ

(Model Predictive Control)… từ các thuật toán trên robot tính toán đưa ra các lệnh điều khiển robot (Actuators – Các động cơ)

Từ mô hình robot hai bánh vi sai được thể hiện trong hình Hình 2 10 Giả sử ta có bánh kính của bánh xe là R Từ đó ta tính được chu vi của bánh xe

Giả sử xe đi thẳng, phương trình (2.45) tương ứng với khoảng cách đi được của bánh xe khi bánh lăn một vòng Ta đổi đơn vị của bánh xe sang mét Đặt d là số vòng lăn để đi được 1 mét, từ (2.45) ta có: d 1

Ta đặt số xung thu được khi động cơ quay một vòng trục chính là p xung Từ (2.46), ta tính được số xung cần thiết để đi được một mét pm= p d (2.47)

Sau mỗi khoảng thời gian di chuyển ta có biến thiên số xung bánh trái p l và biến thiên xung bánh phải p r Từ đó ta thu được khoảng cách di chuyển của từng bánh s l và s r : l l s p pm

Từ (2.48) và (2.49) và vị trí trước đó của robot, ta tính được vị trí mới của robot:

Từ Hình 2 10, với 2a là khoảng cách giữa hai bánh xe, ta thu được góc xoay của robot:

Từ góc xoay của robot ta tính được vị trí của robot trên mặt phẳng Oxy cos( ) x=  s (2.52) sin( ) y=  s (2.53)

AMCL là một phương pháp để ước tính vị trí trong một bản đồ được xác định trước về bản chất chủ là thuật toán MCL (Monte Carlo Localization)

Monte Carlo Localization hay còn gọi là bộ lọc hạt, được sử dụng để xác định vị trí của robot trên bản đồ xác định trước Bộ lọc nhận thông tin bản đồ, ước tính vị trí và hướng của robot từ thuật toán khi di chuyển, và cảm nhận môi trường xung quanh Sử dụng thuật toán bộ lọc hạt để biểu thị sự phân bố của các trạng thái có khả năng xảy ra, mỗi hạt biểu thị sự phân bố của các trạng có thể xảy ra, hay còn gọi là giả thuyết đưa ra cho mỗi vị trí của robot

AMCL có những tính chất sau:

• Bộ lọc hạt là một cách triển khai của bộ lọc Bayesian đệ quy

• MCL biểu diễn phân phối hậu nghiệm bằng một tập các mẫu có trọng số

• Trong việc xác định vị trí, các bộ lọc hạt được lan truyền theo quan sát

• Trong bước tái lấu mẫu, các hạt mới được vẽ với xác xuất tỉ lệ với xác suất của bộ quan sát

Mô tả toán học của bộ lọc hạt o Tập hợp mẫu có trong số được ký hiệu như sau:

Trong đó: s [ ] i trạng thái giả định của hạt, w [ ] i trọng số tương ứng của mỗi hạt o Các mẫu đại diện cho hậu nghiệm:

Trong đó:  s [ ] i : gọi là delta function, nó không phải là một hàm thông thường mà là một phân phối Thường được sử dụng để biểu diễn một ước lượng rời rạc của phân phối xác xuất

Trong bộ lọc hạt, các mẫu phân phối nghiệm được gọi là các hạt (particle), được ký hiệu như sau:

Trong đó X t là tập hợp các hạt tại thời điểm t, m là số lượng các hạt trong tập hợp

X t , mỗi hạt x t   m với ( 1   m M ) thể hiện trạng thái cụ thể tại mỗi điểm

Thuật toán Particle filter được mô tả như sau:

Quá trình hoạt động của MCL diễn ra như sau:

1 Khởi tạo: ban đầu các hạt (Particle) được khởi tạo giá trị ngẫu nhiên trong không gian vị trí có thể của robot, tập hợp các particle được biểu diễn như (2.56) với mỗi phần tử x [ ] m là một ước lượng vị trí ban đầu của robot Phân phối xác xuất ban đầu p x ( ) 0 , số lượng Particle

M Tập hợp các particle với trạng thái ban đầu, mỗi hạt (Particle) được biễu diễn vị trí và hướng của robot trong không gian được lấy mẫu từ p x ( ) 0

2 Dự đoán: các hạt (Particle) được di chuyển dự vào dữ liệu từ cảm biến của robot, dữ liệu về vận tốc tiến và vận tốc xoay được đưa vào mô hình chuyển động kinematic và Dynamic của robot sử dụng để tính toán dự đoán di chuyển

Vị trí dự đoán di chuyển có thể được tính như sau:

Trong đó: ˆ t m x là vị trí dự đoán của particle thứ m tại thời điểm t

( t m 1, t ) f x − u là hàm mô hình di chuyển hoặc mô hình dự đoán tốc độ hướng của robot

3 Cập nhật trọng số: các particles được cập nhật dựa trên dữ liệu cảm biến như lidar, camera, hoặc IMU Cụ thể, mỗi particle được đánh giá thông qua việc tính toán xác suất của dữ liệu cảm biến được quan sát so với dự đoán của particle đó Các particle có xác suất cao tương ứng với dữ liệu cảm biến thực tế sẽ được tăng trọng số, trong khi các particle có xác suất thấp sẽ bị loại bỏ hoặc có trọng số giảm đi

Công thức tính toán trọng số trong ACML khi dữ liệu cảm biến được thu thập là cảm biến lidar:

Trong đó: ˆ t m w : là trọng số cập nhật của particle thứ i

( ) t [ ] m f x : thường được gọi là hàm mục tiêu

4 Lấy mẫu lại (Resampling): Sau khi cập nhật, một phần hoặc toàn bộ các particles được lấy mẫu lại dựa trên trọng số của chúng Các particle có trọng số cao sẽ được lựa chọn với xác suất cao hơn để tái tạo lại, trong khi các particle có trọng số thấp sẽ bị loại bỏ Quá trình

Tính tổng trọng số của tất cả các particles:

Tính trọng số tích lũy của mỗi particle bằng cách tính tổng các trọng số từ particle đầu tiên đến particle thứ m:

Trong đó, W m là trọng số tích lũy của particle thứ m

Quá trình này tạo ra một mảng trọng số tích lũy   W ( ) m M m = 1 ; W M = W , với W là tổng trong số của tất cả các particles

Sau đó chọn ngẫu nhiên giá trị  từ phân phối đều trong khoảng  0 ; 1 

Chọn lọc qua tập hợp các particles cũ như sau:

• Với mỗi x t m thứ m nếu có w t m  thì chọn lại particle này và thêm vào tập hợp particle mới

• Lặp lại quá trình này cho đến khi có đủ số lượng particle mới

5 Lặp lại: Quá trình dự đoán, cập nhật và lấy mẫu được lặp lại theo chu kỳ, với mỗi lần lặp cải thiện ước lượng vị trí của robot dựa trên dữ liệu cảm biến mới

Về điều kiện dừng của vòng lặp AMCL được sử dụng trong hệ ros là sử dụng:

Lý thuyết thuật toán EKF

Trước tiên cần biết đển bộ lọc Kalman (kalman filter - KF) là một tập hợp các phương trình toán học cung cấp một giải pháp tính toán hiệu quả (đệ quy) cho phương pháp bình phương tối thiểu Bộ lọc này rất mạnh mẽ ở một số mặt như: hỗ trợ ước lượng các trạng thái quá khứ, hiện tại và thậm chí là tương lai, và có thể làm điều đó ngay cả khi tính chính xác của hệ thống mô hình không được biết đến Bộ lọc Kalman dựa trên giả định về hệ thống tuyến tính và tín hiệu đo lường, áp dụng nhiều trong hệ thống tuyến tính ít bị nhiễu

Bộ lọc Kalman mở rộng (Extended Kalman Filter) là một biến thể của bộ lọc Kalman cơ bản (Kalman filter - KF) được sử dụng để ước tính trạng thái của hệ thống phi tuyến Khác với KF, EKF cho phép ước lượng trong mô hình phi tuyến tính bằng cách tạo ra một giá trị ước lượng xấp xỉ tại mỗi thời điểm lấy mẫu EKF được áp dụng nhiều trong các công trình nghiên cứu và thực tế trong lĩnh vực robot, cụ thể phổ biến trong các hệ thống điều khiển, dẫn đường và xử lí tín hiệu ước lượng trạng thái của một hệ thống phi tuyến

Quá trình thực hiện của thuật toán của bộ lọc EKF bao gồm 2 giai đoạn: dự đoán và cập nhật được mô tả theo Hình 2 42

Hình 2 42: Quy trình diễn ra lọc Kalman rời rạc

Các phương trình trong giai đoạn dự đoán được trình bày như sau: ˆ k − + 1 = ˆ k + k x Ax Bu (2.79)

Trong đó: x ˆ k + 1 là ma trận trạng thái được ước tính của robot tại thời điểm k+1, u k là ma trận tín hiệu điều khiển tại thời điểm k, P là ma trận hiệp phương sai lỗi ước tính đại diện cho độ tin cậy của dư đoán trạng thái trước khi cập nhật với đo lường mới, Q k là ma trận hiệp phương sai nhiễu quá trình tại thời điểm k, W k là ma trận Jacobian của nhiễu quá trình tại thời điểm k,

Các phương trình trong giai đoạn cập nhật được trình bày như sau:

Trong đó: K k là ma trận Kalman gain tại thời điểm k, là ma trận hiệp phương sai của nhiễu đo lường tại thời điểm k, H k là ma trận Jacobian của hàm đo lường tại thời điểm k mô tả cách đo lường liên đến trạng thái hệ thống, V k là ma trận Jacobian của nhiễu đo lường tại thời điểm k Hình 2 43 có thể mô tả đơn giản quá trình hoạt động của bộ lọc Kalman mở rộng

(2) Project the error convariance ahead

(3) Update the error convariance Time update Predict Measurment Update Update z k

Hình 2 43: Mô tả hoàn chỉnh về quá trình của thuật toán EKF

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

Bộ điều khiển vi tích phân tỉ lệ (Proportional Integral Derivative – PID) bao gồm 3 khâu: khâu tỉ lệ (Proportional), khâu tích phân (Integrated) và khâu vi phân (Derivative) PID là một bộ điều khiển đơn giản, được sử dụng nhiều trong thực tế để điều khiển các hệ thống Bộ điều khiển PID có khả năng điều chỉnh sai số thấp nhất có thể, tăng tốc độ đáp ứng, giảm độ vọt lố, hạn chế sự dao động Cấu trúc bộ điều khiển PID được trình bày trong Hình 2 44 Có 3 thông số để điều chỉnh tín hiệu điều khiển: K P , K I , K D.

Hình 2 44: Cấu trúc bộ điều khiển PID

Trong đó, r(t) là giá trị đặt, y(t) là giá trị ngõ ra, giá trị ngõ ra được hồi tiếp về để so sánh với giá trị đặt r(t) Sự sai lệch giữa tín hiệu đặt và ngõ ra gọi là sai số e(t) Sai số được đưa vào bộ điều khiển PID sau đó xuất ra tín hiệu điều khiển u(t) điều khiển hệ thống Process

Các thông số K P , K I , K D là các thông số của bộ điều khiển PID cần phải lựa chọn Nếu thông số này được lựa chọn phù hợp thì hệ thống sẽ hoạt động tốt và chính xác, có nghĩa là độ vọt lố thấp, thời gian xác lập nhanh và sai số xác lập thấp.

Lý thuyết cảm biến Lidar

2.9.1 Giới thiệu sơ lược cảm biến Lidar

Cảm biến Lidar (Light Detection and Ranging) là một công nghệ cảm biến từ xa sử dụng ánh sáng dưới dạng tia Laser để đo khoảng cách đến vật thể hoặc bề mặt Công nghệ này được sử dụng để tạo ra các bản đồ 2D cũng như 3D chính xác của môi trường xung quanh

2.9.2 Cấu tạo cảm biến Lidar

• Nguồn phát Laser: Phát ra các tia sáng laser

• Máy thu: Nhận lại các tia Laser phản xạ

• Đồng hồ thời gian: Đo thời gian từ khi phát ra tới khi nhận lại tín hiệu

• Bộ xử lý: Tính toán khoảng cách

2.9.3 Nguyên lý hoạt động của cảm biến Lidar Đầu tiên cảm biến phát ra hàng nghìn tia Laser về phía mục tiêu mỗi giây, tia laser sẽ phản xạ lại khi chạm vào vật thể hoặc bề mặt, hệ thống sẽ đo thời gian từ khi tia laser được phát ra đến khi nó quay lại bộ thu, từ đó bộ xử lý sẽ tính toán đo lường khoảng cách

Hình 2 45: Nguyên lý hoạt động của cảm biến Lidar

Lý thuyết cảm biến Encoder

2.10.1 Giới thiệu sơ lược cảm biến Encoder

Encoder là một loại cảm biến được sử dụng để đo lường vị trí, vận tốc hoặc hướng di chuyển của đối tượng Encoder chuyển đổi chuyển động cơ học thành tín hiệu điện tử, cung cấp thông tin phản hồi về vị trí hoặc tốc độ cho các hệ thống điều khiển

2.10.2 Cấu tạo cảm biến Encoder

• Đĩa mã hóa: Một đĩa quay có các vạch chia hoặc lỗ

Hình 2 46: Đĩa quay Encoder tương đối

• Bộ phát tín hiệu: Phát ra ánh sáng

• Cảm biến quang: Phát hiện ánh sáng từ bộ phát tín hiệu khi đi qua vạch hoặc lỗ trên đĩa mã hóa

• Bộ xử lý tín hiệu: Chuyển đổi tín hiệu từ cảm biến quang thành tín hiệu điện tử mà hệ thống điều khiển có thể sử dụng

2.10.3 Nguyên lý hoạt động cảm biến Encoder

Bộ phát tín hiệu Đĩa mã hóa

Hình 2 47: Nguyên lý hoạt động cảm biến Encoder

Khi trục quay khiến đĩa quay dẫn đến việc ánh sáng từ bộ phát tín hiệu chiếu đến cảm biến quang khác nhau, khi ánh sáng chiếu qua lỗ, thông qua bộ xử lý tín hiệu, dữ liệu cảm biến thay đổi lên mức cao và ngược lại dữ liệu cảm biến ở mức thấp Từ đó ta có tín hiệu xung đươc đưa ra để ước tính vị trí hay vận tốc.

Lý thuyết cảm biến IMU

2.11.1 Giới thiệu cảm biến IMU

Cảm biến IMU (Inertial Measurement Unit) là thiết bị đo lường quán tính, sử dụng để đo các lực gia tốc và tốc độ góc của một đối tượng trong không gian IMU thường được sử dụng trong các ứng dụng như định vị, dẫn đường, ổn định của phương tiện, các hệ thống điều khiển tự động

2.11.2 Cấu tạo cảm biến IMU

IMU thường bao gồm hai loại cảm biến chính:

• Gia tốc kế (Accelerameter): Đo gia tốc tuyến tính do các trục x, y và z

• Con quay hồi chuyển (Gyroscope): Đo tốc độ góc theo các trục x, z và z

Khi được kết hợp thêm từ kế (Magnetometer), cảm biến IMU có thể được gọi là IMMU ((Inertial Measurement and Magnetometer Unit)

• Từ kế (Magnetometer): Đo từ trường xung quanh để cung cấp thông tin về hướng tương đối theo từ trường trái đất.

Lý thuyết các giao thức truyền thông

Giao thức UART (Universal Asynchronous Receiver – Transmit) là giao thức truyền dữ liệu không đồng bộ hai dây Dữ liệu được truyền từ Tx sang Rx Để thiết lập giao thức UART, hai UART được tương tác trực tiếp với nhau, được thể hiện như Hình 2 49

Hình 2 49: Thiết lập kết nối giao thức UART

UART truyền chuyển đổi dữ liệu song song từ một thiết bị điều khiển như CPU thành dạng nối tiếp, truyền dữ liệu nối tiếp đó đến UART nhận, sau đó chuyển đổi dữ liệu nối tiếp thành dữ liệu song song cho thiết bị nhận

Hình 2 50: Sơ đồ nguyên lý giao thức truyền dữ liệu UART

UART truyền dữ liệu không đồng bộ, không có tín hiệu xung clock để đồng bộ hóa đầu ra các bit từ UART truyền với việc lấy mẫu các bit bởi UART nhận Thay vào đó, UART truyền thêm các bit bắt đầu và kết thúc vào gói dữ liệu đang được truyền Những bit này xác định đầu và cuối của gói dữ liệu để UART nhận biết khi nào bắt đầu đọc các bit

Khi UART nhận phát hiện một bit bắt đầu, nó bắt đầu đọc các bit đến từ bên ngoài ở tần số cụ thể được gọi là tốc độ baud Tốc độ baud là một đơn vị đo của tốc độ truyền dữ liệu, được biểu diễn bằng số bit trên mỗi giây (bps) Cả hai UART phải hoạt động ở tốc độ baud tương tự nhau Tốc độ baud giữa UART truyền và UART nhận chỉ có thể khác nhau khoảng 10% trước khi thời gian của các bit bị sai lệch quá nhiều

Cả hai UART cũng phải được cấu hình để truyền và nhận cùng một cấu trúc gói dữ liệu

Bảng 2 2: Bảng thông số giao thức UART

Phương thức truyền thông Không đồng bộ

Phương pháp kết nối Nối tiếp

Số lượng tối đa của Master 1

Số lượng tối đa của Slave 1

Bên cạnh đó UART có 3 chế độ truyền dữ liệu:

❖ Full-Duplex: Giao tiếp đồng thời đến và đi từ mỗi MCU truyền/nhận

❖ Haft-Duplex: Dữ liệu đi theo một chiều tại một thời điểm

❖ Simplex: Chỉ giao tiếp một chiều

UART sẽ truyền dữ liệu khi nhận được dữ liệu từ một bus dữ liệu Bus dữ liệu được sử dụng để gửi dữ liệu đến UART từ một thiết bị khác như CPU, bộ nhớ hoặc vi điều khiển

Dữ liệu được chuyển từ bus dữ liệu sang UART truyền dưới dạng song song Sau khi nhận dữ liệu song song từ bus dữ liệu, UART truyền thêm một bit bắt đầu, một bit kiểm tra chẵn lẻ và một bit dừng, tạo thành gói dữ liệu Tiếp theo, gói dữ liệu được đưa ra theo dạng nối tiếp, từng bit một tại chân Tx UART nhận sẽ đọc gói dữ liệu từng bit một tại chân Rx của nó UART nhận sau đó chuyển đổi dữ liệu trở lại dạng song song và loại bỏ bit bắt đầu, bit kiểm tra chẵn lẻ và các bit dừng Cuối cùng, UART nhận sẽ chuyển gói dữ liệu theo dạng song song đến bus dữ liệu ở đầu nhận

Nhận dữ liệu song song từ bus dữ liệu

Thêm bit bắt đầu, bit chẵn lẻ và các bit dừng UART truyền

Loại bỏ bit bắt đầu, bit chẵn lẻ và bit dừng

Chuyển đổi dữ liệu song song UART nhận

Hình 2 51: Sơ đồ quá trình truyền dữ liệu giao thức UART

Dữ liệu được truyền qua UART được tổ chức thành các gói tin Mỗi gói tin chứa 1

1 to 2 STOP BITS DATA FRAME

PACKET Hình 2 52: Cấu trúc gói tin trong giao thức UART

• Bit bắt đầu (Start bit): Đường truyền dữ liệu UART thường được giữ ở mức điện áp cao khi không truyền dữ liệu Để bắt đầu quá trình truyền dữ liệu, UART truyền kéo đường truyền từ mức cao xuống thấp trong một chu kỳ xung đồng hồ Khi UART nhận phát hiện được chuyển đổi điện áp từ cao xuống thấp, nó bắt đầu đọc các bit trong khung dữ liệu ở tần số của tốc độ baud

• Khung dữ liệu (Data Frame): Khung dữ liệu chứa dữ liệu thực sự được truyền Nó có thể từ 5 bit đến 8 bit nếu sử dụng một bit chẵn lẻ Nếu không sử dụng bit chẵn lẻ, khung dữ liệu có thể dài 9 bit Trong hầu hết các trường hợp, dữ liệu được gửi với bit ít quan trọng nhất đầu tiên

• Bit chẵn lẻ (Parity Bit): Bit chẵn lẻ (parity bit) mô tả tính chẵn lẻ của một số Bit này được sử dụng để giúp bộ nhận UART xác định xem dữ liệu có thay đổi trong quá trình truyền không Các bit có thể bị thay đổi do bức xạ điện từ, tỷ lệ baud không phù hợp, hoặc truyền dữ liệu ở khoảng cách xa Sau khi bộ nhận UART đọc khung dữ liệu, nó đếm số lượng bit có giá trị là 1 và kiểm tra xem tổng số đó là số chẵn hay lẻ Nếu bit chẵn lẻ là 0 (chẵn), tổng số bit 1 trong khung dữ liệu nên là số chẵn Nếu bit chẵn lẻ là 1 (lẻ), tổng số bit 1 trong khung dữ liệu nên là số lẻ Khi bit chẵn lẻ khớp với dữ liệu, UART biết rằng truyền dữ liệu đã không gặp lỗi Nhưng nếu bit chẵn lẻ là 0 và tổng số lẻ, hoặc bit chẵn lẻ là 1 và tổng số chẵn, UART biết rằng có sự thay đổi trong khung dữ liệu

• Bit dừng (Stop Bit): Để báo hiệu kết thúc của gói tin dữ liệu, UART gửi chuyển động của đường truyền dữ liệu từ mức điện áp thấp lên mức cao trong ít nhất hai khoảng thời gian của bit

• Chỉ sử dụng hai dây: UART chỉ cần hai dây để truyền dữ liệu, giúp tối ưu hóa việc kết nối và sử dụng tài nguyên

• Không cần tín hiệu clock: UART hoạt động không đồng bộ, không đòi hỏi tín hiệu clock chung giữa các thiết bị, tạo sự linh hoạt trong thiết kế hệ thống

• Có bit chẵn để kiểm tra lỗi: UART có bit chẵn để phát hiện lỗi, tuy nhiên cơ chế này không đảm bảo khả năng xử lý lỗi mạnh mẽ như các giao thức khác

• Cấu trúc gói dữ liệu có thể thay đổi: Cấu trúc của gói dữ liệu có thể được thay đổi miễn là cả hai bên được thiết lập cho nó, tạo sự linh hoạt trong việc truyền dữ liệu

• Tài liệu và phổ biến: UART có tài liệu rõ ràng và được sử dụng rộng rãi, giúp dễ dàng triển khai và sửa chữa

• Kích thước của khung dữ liệu bị giới hạn tối đa là 9 bit

• Không hỗ trợ hệ thống nhiều slave hoặc nhiều master

• Tốc độ baud của mỗi UART phải nằm trong khoảng 10% so với nhau

I2C (Inter – Intergated Cỉcuit) Với I2C có thể kết nối nhiều thiết bị Slave với một thiết bị Master (giống như SPI) hoặc có nhiều thiết bị Master điều khiển một hoặc nhiều thiết bị Slave Hữu ích khi có nhiều vi điều khiển ghi dữ liệu vào một thẻ nhớ duy nhất hoặc hiển thị văn bản lên một màn hình LCD duy nhất

Giao tiếp I2C chỉ sử dụng hai dây để truyền dữ liệu giữa các thiết bị Sơ đồ kết nối được thể hiện trong hình

Hình 2 53: Sơ đồ truyền dữ liệu giao thức I2C

Hình 2 54: Thiết lập kết nối giao thức I2C

• SDA (Serial Data) – Dây dùng để máy chủ và thiết bị con gửi và nhận dữ liệu

• SCL (Serial Clock) – Dây dùng để truyền tín hiệu xung Clock

I2C là một giao thức truyền thông tuần tự, vì vậy dữ liệu được truyền bit từng bit dọc theo một dây duy nhất (dây SDA)

I2C truyền dữ liệu đồng bộ, việc xuất các bit được đồng bộ với việc lấy mẫu các bit bởi một tín hiệu xung clock được chia sẻ giữa Master và Slave Tín hiệu xung Clock luôn được điều khiển bởi master

Bảng 2 3: Bảng thông số giao thức I2C

Standard Mode (1000 kbps) Fast Mode (400 kbps) High Speed Mode (3.4 Mbps) Ultra Fast Mode (5 Mbps)

Phương pháp truyền thông Đồng bộ

Phương pháp kết nối Nối tiếp

Số lượng Master tối đa không giới hạn

Số lượng Slave tối đa 1008

THIẾT KẾ VÀ THI CÔNG HỆ THỐNG

Tổng quan về hệ thống thi công

Hệ thống được thiết kế bao gồm một robot được điều khiển và giám sát với một máy tính thông qua một giao diện, ngoài ra hệ thống robot cũng được kết hợp với một hệ thống định vị (UWB – Ultra Wide Band) được thể hiện như Hình 3 1

Mobile Robot System – Tag Wifi Anchor

Hình 3 1: Tổng quan về hệ thống

Thiết kế và thi công mô hình robot

Dựa vào nguyên lý hoạt động với sơ đồ tổng quan của hệ thống được thể hiện như Hình 3 1, nhóm đặt ra các yêu cầu thiết kế về hiệu suất, khả năng hoạt động ổn định hay mức độ đáp ứng chính xác của hệ thống Từ đó lựa chọn các thiết bị phù hợp cho hệ thống

Từ sơ đồ tổng quát của hệ thống trên, hệ thống cụ thể có các chức năng như sau:

• Robot có thể điều khiển từ xa và xây dựng bản đồ

• Robot có thể thiết lập đường đi an toàn từ vị trí hiện tại tới vị trí đích mà không gặp phải va chạm trong quá trình di chuyển (Khả năng tránh vật cản tĩnh)

• Robot có thể nhận tín hiệu điều khiển từ giao diện người dùng và trạng thái hoạt động của robot được truyền về nhằm mục đích theo dõi giám sát

• Robot có thể được định vị với sai số nhỏ

Dựa vào các chức năng trên nhóm đặt ra các yêu cầu thiết kế hệ thống robot như sau:

Bảng 3 1: Bảng thông số của robot

Kiểu lái Vi sai hai bánh

Kích thước 351 x 301 x 195.5 (dài x rộng x cao)

Tổng khối lượng 3.5 kg Đường kính bánh xe 67

Hình 3 2: Động cơ Servo JGB37 – 520 Bảng 3 2: Thông số động cơ JGB37 – 520

Thông số Giá trị Đơn vị Điện áp định mức 12 V

Tốc độ tối đa không tải 35 Vòng/phút

Tốc độ tối đa có tải 28 Vòng/phút

Lực kéo moment định mức 2.5 Kg.cm

Lực kéo moment tối đa 10 Kg.cm

3.2.1.3 Driver điều khiển động cơ

Dựa vào thông số động cơ đã chọn, nhóm tiến hành chọn driver TB6612 phù hợp để điều khiển động cơ Mạch cầu TT6612 được thể hiện trong Hình 3 3 với các thông số được thể hiện trong Bảng 3 3

Hình 3 3: Driver điều khiển động cơ TB 6612 Bảng 3 3: Thông số của mạch cầu điều khiển động cơ TB6612

Thông số Giá trị Đơn vị

Tần số hoạt động 100 kHz

• Chế độ chờ để tiết kiệm năng lượng

• Chế độ điều khiển động cơ CW / CCW / short brake / dừng

• Bảo vệ quá nhiệt và quá áp

• Bảo vệ chống ngược nguồn cấp cho motor

Hệ thống robot hoạt động dựa trên ROS, do đó cần một có máy tính chạy hệ điều hành để giao tiếp trong mạng ROS Nhóm lựa chọn sử dụng máy tính nhúng Jetson Nano được mô tả trong Hình 3 4 với các thông số được trình bày trong Bảng 3 4

Hình 3 4: Máy tính nhúng Jetson Nano Bảng 3 4: Thông số của máy tính nhúng Jetson nano

Thông số Giá trị Điện áp định mức 5VDC

CPU Quad-core ARM A57 @ 1.43 GHz

Memory 4 GB 64-bit LPDDR4 25.6 GB/s

Hệ thống robot cần thực hiện các chức năng như đo lường, thu thập dữ liệu từ cảm biến, áp dụng các bộ lọc xử lý dữ liệu thô, giao tiếp truyền dữ liệu và điều khiển động cơ

Từ các chức năng trên nhóm lựa chọn vi điều khiển Arduino Mega được thể hiện trong Hình

3 5 với các thông số kỹ thuật được trình bày trong Bảng 3 5

Hình 3 5: Board Arduino Mega Bảng 3 5: Thông số của vi điều khiển Arduino Mega

Thông số kỹ thuật Giá trị Đơn vị Điện áp hoạt động 5 VDC Điện áp vào 7-12 VDC

Arduino Mega cung cấp các chân chức năng:

Cảm biến Lidar được sử dụng trong việc xác định vị trí của robot, phát hiện vật cản cũng như xây dựng bản đồ Trong hệ thống mô hình robot, nhóm lựa chọn sử dụng cảm biến RPLidar A1M8 được thể hiện trong Hình 3 6 với các thông số kỹ thuật được thể hiện trong Bảng 3 6

Hình 3 6: Cảm biến RPLidar A1M8 Bảng 3 6: Thông số của cảm biến RPLidar A1M8

Thông số Giá trị Đơn vị

Nguồn cấp cho động cơ 5 – 9 VDC

Nguồn cấp cho Scanner 5 VDC

Phạm vi góc quét 0 – 360 độ

Hệ thống robot hai bánh vi sai cần đo lường góc xoay của robot để tính toán vị trí, cảm biến góc nghiêng GY – 521 MPU – 6050 được lựa chọn sử dụng nhằm đáp ứng yêu cầu trên, MPU – 6050 được minh họa trong

Hình 3 7 với các thông số được thể hiện trong

Hình 3 7: Cảm biến góc nghiêng GY – 521 MPU – 6050

Bảng 3 7: Thông số của cảm biến góc nghiêng GY – 521 MPU - 6050

Thông số kỹ thuật Giá trị Đơn vị

3.2.1.8 Nguồn năng lượng Để bảo đảm cho việc hệ thống hoạt động ổn định, tránh hiện tượng sụt áp khi khởi động động cơ có nguy cơ làm hư hỏng máy tính nhúng hay các vi điều khiển, nhóm sử dụng hai nguồn riêng biệt để cấp cho các vi điều khiển cũng như động cơ

❖ Nguồn cung cấp vi điều khiển

Máy tính nhúng và vi điều khiển cần nguồn cấp ổn định với dòng điện đủ lớn, nhóm lựa chọn sử dụng pin Lipo Ovonic AIR được mô tả trong Hình 3 8 Với các thông số được trình bày trong Bảng 3 8

Hình 3 8: Pin Lipo Ovonic AIR Bảng 3 8: Thông số pin Lipo Ovonic AIR

Thông số Giá trị Đơn vị

Dung lượng 2200 mAh Điện áp 11.1 V

Máy tính nhúng Jetson Nano sử dụng nguồn năng lượng là 5V/4A, cần có một mạch giảm áp để chuyển đổi điện áp từ 11.1VDC xuống 5VDC Mạch giảm áp được lựa chọn sử dụng là Buck DC – DC A9H4 được thể hiện trong Hình 3 9 với các thông số kỹ thuật được trình bày trong Bảng 3 9

Hình 3 9: Mạch Buck giảm áp DC – DC A9H4 Bảng 3 9: Thông số của mạch Buck giảm áp DC – DC XY - 3606

Thông số kỹ thuật Giá trị Đơn vị Điện áp đầu vào 6 – 40 VDC Điện áp ra 1.2 – 36 VDC

Dòng điện ra (tối đa) 20 A

Tần số hoạt động 150 kHz

❖ Nguồn cung cấp động cơ Động cơ cần nguồn cấp 12V, pin 18650 được lựa chọn sử dụng với phương pháp mắc nối tiếp, pin 18650 được minh họa trong Hình 3 10 với các thông số kỹ thuật được thể hiện trong Bảng 3 10

Bảng 3 10: Thông số của pin 18650

Thông số kỹ thuật Giá trị Đơn vị Điện áp tối đa 4.2 VDC

3.2.1.9 Công tắc Để bảo vệ an toàn cũng như kiểm soát nguồn cung cấp cho máy tính nhúng, vi điều khiển và động cơ nhóm lựa chọn sử dụng công tắc KCD1 – 105 để đóng ngắt nguồn cung cấp được minh họa trong Hình 3 11

Máy tính nhúng sau khi được cấp nguồn cũng cần nút nhấn để khởi động hoặc reset Nhóm sử dụng nút nhấn 304 có đèn led báo được minh họa trong Hình 3 12

3.2.2 Thiết kế mô hình robot di động hai bánh vi sai

Sau khi đặt ra các yêu cầu và lựa chọn thiết bị, nhóm sử dụng phần mềm thiết kế 3D a) b)

Hình 3 13: Mô hình 3D tổng quan robot a) Ráp hoàn chỉnh b) khái quát cấu tạo bên trong

Tầng một là tầng đáy, cơ sở để cố định chắc chắn tất cả các cơ cấu, thiết bị của robot

Vì vậy yêu cầu thiết kế tầng đáy cần phải bền và chắc chắn để robot có thể chịu được lực tốt không bị rung lắc gây ảnh hưởng đến các quá trình đo lường, hoạt động của robot Từ đó nhóm thiết kế tầng đáy chất lượng Mica với kích thước 340 x 290 x 5 vì có khối lượng nhẹ nhưng vẫn đảm bảo sự chắc chắn cho robot Tầng một được thiết kế và được thể hiện trong Hình 3 14

Hình 3 14: Thiết kế 3D tầng một của robot

Thiết kế và thi công hệ thống định vị UWB

Chương này đề cập đến việc thiết kế board mạch tích hợp MCU và modules UWB, thiết kế và xây dựng các trạm phát UWB và thử nghiệm thực tế hệ thống UWB Hệ thống được thiết kế để định vị vật thể trong không gian 3D sử dụng phương pháp trilateration được đề cập trong 2.4.4 Hệ thống 3D tính toán bao gồm cả phương pháp hình học và đại số Trong thiết lập hệ thống 3D, 3 trạm (Anchor) được cấu hình và tạo thành một hình tam giác vuông góc, trong khi tag đi qua hệ tọa độ Phần trình diễn trên hai hệ thống được trình bày dưới đây

Từ các yêu cầu thiết kế được đề cập tại mục Error! Reference source not found., nhóm lựa chọn các thiết bị:

3.3.1.1 Lựa chọn thiết bị Ultra -Wide Band

Thiết bị thu phát sóng UWB DWM1000 được mô tả như và có thông số được thể hiện như

Hình 3 37: Module phát sóng UWB DWM1000 Bảng 3 11: Thông số kỹ thuật DWM1000

Tần số hoạt động 3.5 GHz – 6.5 GHz

Tốc độ dữ liệu 110 Kbps, 850 kbps, 6.8 Mbs Độ chính xác vị trí ∓ 10cm

Phạm vi Tới 300m ( phụ thuộc vào môi trường)

Loại giao tiếp SPI (Serial Peripheral Interface) Điện áp hoạt động 3.3 V

Khả năng định vị TDOA, TWR

Cấu hình chân ( pinout) 26 chân

Môi trường hoạt động -40°C đến +85°C

3.3.1.2 Lựa chọn thiết bị truyền thông không dây

Thiết bị truyền thông không dây có nhiệm vụ giao tiếp SPI với module DWM1000 và giao tiếp wifi để thực hiện truyền nhận dữ liệu đo lường nhận được

Từ đó nhóm lựa chọn thiết bị ESP32 – S2 như với thông số kỹ thuật được mô tả như

Hình 3 38: Module ESP32-S2 Bảng 3 12: Thông số kỹ thuật ESP32 – s2

MCU Tensilica LX7 single-core 32-bit

Tốc độ xung nhịp Lên đến 240 MHz

ROM: 128KB RTC Fast RAM: 8KB RTC Slow RAM: 8KB

Wi-Fi 802.11 b/g/n, hỗ trợ 2.4 GHz

Giao tiếp SPI, I2C, I2S, UART, SDIO, CAN, PWM,

Dựa vào sơ đồ nguyên lý kết nối giữa MCU và module DW1000 phát sóng UWB dưới đây:

Hình 3 39: Sơ đồ kết nối MCU và DWM1000

Nhóm thiết kế mạch tích hợp MCU ESP32-S2 và module phát sóng UWB DW1000 dựa theo sơ đồ nguyên lý như hình:

Hình 3 40: Sơ đồ nguyên lý module tích hợp

Dựa trên sơ đồ nguyên lý đã thiết kế như hình Hình 3 40: Sơ đồ nguyên lý module tích hợp , nhóm đã thiết kế mạch PCB cho module tích hợp MCU Esp32-S2 và DWM1000 như Hình 3 41

Hình 3 41: Layer PCB cho module tích hợp

Mô hình 3D hoàn thiện của module sau khi thiết kế PCB được trình bày trong Hình

Hình 3 42: Mô hình 3D của module tích hợp UWB a) Mặt trước b) Mặt sau

Mô hình hoàn thiện thực tế sau khi thiết kế và gia công :

Hình 3 43: Module tích hợp thực tế

Sau khi hoàn thành khâu thiết kế module tích hợp MCU và DWM1000, nhóm thiết kế hệ thống định vị 3D cho robot di động với cơ sở lý thuyết được trình bày tại mục 2.4

Hình 3 44: Hệ thống định vị UWB

Giao tiếp dữ liệu trong hệ thống 99 CHƯƠNG 4 THIẾT KẾ GIẢI THUẬT NÂNG CAO KHẢ NĂNG ƯỚC TÍNH VỊ TRÍ

Sơ đồ giao tiếp truyền gửi dữ liệu được thể hiện trong Hình 3 45

Hình 3 45: Sơ đồ truyền nhận dữ liệu của hệ thống robot

CHƯƠNG 4 THIẾT KẾ GIẢI THUẬT NÂNG CAO

KHẢ NĂNG ƯỚC TÍNH VỊ TRÍ Để robot có thể đưa vào ứng dụng, để có thể điều hướng cho robot, các yếu tố trọng tâm và cốt lõi đã được nêu ra ở chương tổng quan và chương lý thuyết cho thấy tầm quan trọng của việc xác định vị trí cho robot di động Do đó trong chương 4 này, nhóm trình bày các lưu đồ giải thuật được nhóm thiết kế nhằm tăng khả năng ước tính vị trí chính xác cho robot di động bằng phương pháp EKF, với việc kết hợp dữ liệu từ nhiều nguồn cảm biến khác nhau Để cho dễ hình dung, nhóm đã đặt ra các quy ước ký hiệu như bảng :

Bảng 4 1: Quy ước các kí hiệu sử dụng trong sơ đồ khối các giải thuật

Ký hiệu Ý nghĩa Ký hiệu Ý nghĩa

 I Góc xoay tính từ cảm biến IMU

 I Tốc độ góc xoay tính từ cảm biến

IMU x E Vị trí theo trục x tính từ

Encoder x E Tốc độ theo trục x tính từ Encoder y E Vị trí theo trục y tính từ

Encoder y E Tốc độ theo trục y tính từ Encoder

 E Góc xoay tính từ Encoder

 E Tốc độ góc xoay tính từ Encoder

1 x K Vị trí theo trục x từ EKF Local x K 2 Vị trí theo trục x từ EKF Global

1 y K Vị trí theo trục y từ EKF Local

2 y K Vị trí theo trục y từ EKF Global

 K Góc xoay từ EKF Local

 K Góc xoay từ EKF Global x A Vị trí theo trục x từ AMCL

Local x U Vị trí theo trục x từ UWB Local y A Vị trí theo trục y từ AMCL

Local y U Vị trí theo trục y từ UWB Local

 A Góc xoay từ AMCL Local v Vận tốc tuyến tính điều khiển robot từ Move_base

 Vận tốc góc điều khiển robot từ

4.1 Thiết kế giải thuật kết hợp dữ liệu

Như đã trình bày cơ sở lý thuyết tại mục 2.7, thuật toán bộ lọc Kalman mở rộng được sử dụng để kết hợp dữ liều từ nhiều nguồn cảm biến khác nhau, và cho hệ thống không tuyến tính Trước khi đi tiếp tới phần thiết kế hệ thống, nhóm đưa ra một số quy ước và định nghĩa toán học, mô hình toán cho hệ robot di động hai bánh vi sai

• Véc-tơ trạng thái của robot theo thời gian X t = x y t , t , t 

Trong đó: t , t x y là vị trí của robot so với hệ trục tọa độ gốc

 t là hướng của robot, hay góc xoay theo trục z

• Véc-tơ tín hiệu điều khiển theo thời gian u 1: t ={ ,u u t t − 1 , , }u 1

Trong mô hình robot di động hai bánh vi sai u t = v t , t 

Trong đó: v t là vận tốc tịnh tiến của robot

 t là vận tốc xoay theo trục z của robot

• z 1: t ={ ,z z t t − 1 , , }z 1 là dữ liệu của phép đo từ các cảm biến

Mô hình chuyển động và mô hình quan sát của robot được định nghĩa như sau:

Trong đó nhiễu chuyển động và nhiễu đo lường được biểu thị lần lượt là  v t , w t

Dưới đây là giải thuật Kalman mở rộng ( EKF) được thiết kế cho khâu định vị của robot, gồm có 2 giai đoạn

❖ Giai đoạn ước tính (Prediction): ( dòng 1 đến dòng 6)

Phương trình chuyển động: cos( ) sin( ) x x v t y y v t t

X t − = x y  và X t = ( x  y    ) T , vvà  lần lượt là vận tốc tịnh tiến và vận tốc xoay theo trục z của robot bao gồm nhiễu

Từ (3.1) và (3.3), kết hợp khai triển Taylor ta có phương trình xấp xỉ g:

Hàm g u ( t , t − 1 ) là sự thay thế trạng thái X t − 1 là biến chưa xác định thành giá trị kì vọng  t − 1 là biến xác định

 − =  −  −  − là giá trị trung bình ước tính có 3 thành phần riêng lẻ như X t − 1

Từ (3.5) , tính được ma trận Jacobian như sau:

Ma trận hiệp phương sai R t của mô hình chuyển động được

Trong đó  i (i = 1,2,3, ) là các hệ số phân phối chuẩn với sai số trung bình bằng 0 (zero-mean) và phương sai v t 2 hoặc  t 2

Mô hình chuyển động trong (3.3) yêu cầu nhiễu chuyển động ( motion noise) được ánh xạ vào không gian trạng thái Việc chuyển đổi từ không gian tín hiệu điều khiển sang không gian trạng thái được thực hiện bằng một phép tính xấp xỉ tuyến tính, được thể hiện bằng ma trận Jacobian được kí hiệu là B t được thể hiện dưới đây:

❖ Bước cập nhật (correction) (dòng 8 đến dòng 20) :

8: for all observed features = do

 =  Đặt j=c t i tương ứng với mỗi điểm mốc( landmark) thứ i trong hệ trục tọa độ gốc, mô hình quan sát của robot (3.2) được viết lại như sau:

T j x j y m m là tọa độ của điểm mốc ( landmark ) thứ i theo thời gian t trong hệ trục tọa độ gốc

Khai triển xấp xỉ Taylor cho mô hình quan sát (3.9) như sau:

Với ma trận Jacobian H t i đối với vị trí của robot được tính theo giá trị trung bình dự đoán  t :

Với q =( m j x , − t x , ) ( 2 + m j y , − t y , ) 2 là giá trị khoảng cách kỳ vọng từ điểm mốc thứ i tới trạm theo thời gian t

Thiết kế giải thuật kết hợp dữ liệu Encoder và IMU

Giải thuật đầu tiên nhóm đề xuất được thể hiện trong Hình 4 1 sử dụng hai cảm biến IMU và Encoder, do hiện tượng trượt bánh của xe khi quay dẫn đến tính toán góc xoay của robot bị sai lệch, nếu sử dụng thuật toán Dead_reckoning với sự tích lũy sai số dần sẽ dẫn đén định vị robot bị sai Do đó nhóm đưa ra hệ thống có sử dụng EKF cho việc kết hợp dữ liệu từ hai cảm biến giúp tăng độ chính xác

Start robot Get sensor data

Encoder Odom Node EKF Local Node

Hình 4 1: Sơ đồ khối của hệ thống đầu tiên được thiết kế

Thiết kế giải thuật kết hợp dữ liệu Encoder, IMU và Lidar

Tuy đã áp dụng EKF cho việc kết hợp dữ liệu giữa hai cảm biến Encoder và IMU, nhưng điều này chỉ làm giảm nhỏ sai số của việc định vị, không thể loại bỏ được hoàn toàn vấn đề nhiễu Do đó khi hoạt động với thời gian lâu, việc tích lũy sai số vẫn sẽ diễn ra Do đó nhóm đề xuất kết hợp thêm cảm biến Lidar cùng với thuật toán AMCL cùng với các thuật toán đã được trình bày trước đó Sơ đồ hoạt động của hệ thống đề xuất được trình bày trong hình

Start robot Get sensor data

Encoder Odom Node EKF Local Node

Hình 4 2: Sơ đồ khối của hệ thống thứ hai được thiết kế

ĐÁNH GIÁ MÔ PHỎNG VÀ THỰC NGHIỆM

Mô phỏng

5.1.1 Xây dựng môi trường mô phỏng cho robot

❖ Xây dựng không gian hoạt động cho robot

Không gian mô phỏng trong Gazebo được xây dựng dựa trên không gian hoạt động thực tế nhằm ước lượng, tính toán và mô phỏng dữ liệu một cách chính xác và hiệu quả hơn

Hình 5 1: không gian hoạt động trong Gazebo

Thông số robot gồm có khối lượng từng phần như các bánh xe và thân lấy từ mô hình thực tế các thông số về quán tính, khoảng cách các liên kết nhóm lấy từ giá trị trong solidworks

Hình 5 2: Mô tả các liên kết chính của robot Để mô phỏng gần đúng với thực tế như hiện tưởng trượt bánh, tác động ngoại lực và nhiễu môi trường nhóm thiết lập các thông số tiếp xúc của bánh xe và mặt đất như sau

Bàng 5 1: Thông số bánh xe mô phỏng

Ma sát phụ mu2 0.9 Độ cứng tiếp xúc kp 5000000 N/m

Hệ số giảm chấn tiếp xúc kd 10 Ns/m

❖ Thông số cảm biến odometry

Cảm biến odmetry là cảm biến dùng để ước tính sự thay đổi vị trí và vận tốc theo thời gian của robot dựa vào chuyển động quay của bánh xe Do trong quá trình vận hành sẽ sảy ra hiện tượng trượt bánh hay nhiễu mô trường nên ta tiến hành lấy mẫu sau đó tính ma trận hiệp phương sai theo thứ tự x y z , , , , , , , , ,    v v v v v v x y z  ,  , 

❖ Thông số cảm biến lidar

Cảm biến lidar lấy thông số theo RPLidar A1M8 tuỳ thuộc vào điều kiện ánh sáng trời tối hay ban ngày ,có nguồn sáng trực tiếp chiếu vào hay không, bề mặt vật thể có phản xạ hay không nên ta giả sử mô phỏng nhiễu gaussian và các giá trị như sau:

Bàng 5 2: Thông số cảm biến lidar mô phỏng

Góc quét 360 độ Độ phân giải 1 độ

Giá trị trung bình nhiễu 0 m Độ lệch chuẩn nhiễu 0.01 m

❖ Thông số cảm biến IMU

Bàng 5 3: thông số IMU mô phỏng

Tần số cập nhập 10 hz Độ lệch chuẩn nhiễu gaussian 0.01 độ

5.1.2 Xây dựng bản đồ làm việc trên Gazebo Để thuận tiện cho việc mô phỏng và kiểm chứng giải thuật EKF kết hợp nhiều dữ liệu từ các nguồn được trình bày trong phần thiết kế hệ thống tại mục 4.2, 4.3, 4.4 nhóm sử dụng chương trình Hector SLAM dùng để quét bản đồ, Hình 5 3 dưới đây là bản đồ được robot quét trong môi trường mô phỏng:

Hình 5 3: Bản đồ quét được từ robot

5.1.3 Khảo sát định vị cho robot theo tín hiệu điều khiển từ xa

Việc khảo sát từ điểm tới điểm được thực hiện bằng 3 hệ thống khác nhau được trình bày mục 4.2, 4.3, 4.4 cho thấy rõ sự khác biệt giữa các hệ thống sử dụng EKF kết hợp nhiều nguồn cảm biến khác nhau

❖ Trường hợp 1 và 2 dưới đây sử dụng các chú thích trong hình như sau: o : là dữ liệu chính xác của Robot từ Gazebo o : là dữ liệu ước tính từ Encoder bằng phương pháp Dead-reckoning o : là dữ liệu ước tính từ UWB bằng phương pháp trilateration o : là dữ liệu ước tính từ bộ lọc EKF kết hợp dữ liệu Encoder và IMU

❖ Đồ thị được vẽ trong hệ trục tọa độ Oxyvà vị trí ban đầu của robot là [0;0]

❖ Trường hợp 1: Khảo sát theo đường cung tròn hệ thống kết hợp dữ liệu Encoder và

IMU được trình bày tại Hình 4 1

Hình 5 4: Khảo sát mô phỏng hệ thống 1 theo đường cong

➢ Nhận xét: Khi điều hướng cho robot theo 1 quỹ đạo cung tròn, giải thuật Dead- Reckoning đã ước tính vị trí và hướng của robot sai lệch rất nhiều

Giải thuật EKF kết hợp dữ liệu Encoder và IMU và giải thuật ước tính vị trí bằng UWB khá bám với dữ liệu chính xác của robot từ Gazebo

❖ Trường hợp 2: Khảo sát theo hình chữ nhật, hệ thống kết hợp dữ liệu Encoder và

IMU được trình bày tại Hình 4 1

Hình 5 5: Khảo sát mô phỏng hệ thống 1 theo hình chữ nhật diff odom pos pos position y ground truth stat pos pos position y pos u b topic pos pos position y odom try filt r d local pos pos position y amcl pos pos pos position y

XY Plot diff odom pos pos position y ground truth stat pos pos position y pos u b topic pos pos position y odom try filt r d local pos pos position y amcl pos pos pos position y

Từ Hình 5 4 và Hình 5 5, có thể dễ dàng thấy khi chạy trên 1 đường cong hay 1 hình chữ nhật thì vị trí ước tính từ Encoder là không đáng tin cậy, còn sai số nhiều do các tác động nhiễu, cản, lực masat từ môi trường Vị trí ước tính từ UWB và EKF kết hợp tín hiệu Encoder và IMU đáng tin cậy hơn, tuy nhiên EKF vẫn cho ra kết quả còn nhiều sai số trên đường đi

❖ Trường hợp 3 và 4 dưới đây sử dụng các chú thích trong hình như sau:

▪ : là dữ liệu chính xác của Robot từ Gazebo

▪ : là dữ liệu ước tính từ Lidar sử dụng thuật toán AMCL

▪ : là dữ liệu ước tính từ UWB bằng phương pháp trilateration

▪ : là dữ liệu ước tính từ bộ lọc EKF kết hợp dữ liệu Encoder và IMU

▪ : là dữ liệu ước tính bộ lọc EKF kết hợp dữ liệu Encoder, IMU, Lidar và UWB

❖ Trường hợp 3: Khảo sát theo quỹ đạo điều khiển, hệ thống kết hợp dữ liệu Encoder và IMU và Lidar được trình bày tại Hình 4 2

Hình 5 6: Khảo sát mô phỏng hệ thống 2 theo hình chữ nhật

K ncod r mu UWB Anchor Anchor Anchor

Hình 5 7: Khảo sát mô phỏng góc xoay hệ thống 2

❖ Trường hợp 4: Khảo sát theo quỹ đạo điều khiển, hệ thống kết hợp dữ liệu Encoder và IMU, Lidar và UWB được trình bày tại Hình 4 3

Hình 5 8: Khảo sát mô phỏng hệ thống 3 theo hình chữ nhật

K ncod r mu UWB Anchor Anchor Anchor

Hình 5 9: Khảo sát góc xoay hệ thồng 3

➢ Nhận xét: từ Hình 5 6 trong trường hợp 3 và Hình 5 8: Khảo sát mô phỏng hệ thống

3 theo hình chữ nhật trong trường hợp 4 có thể thấy hệ thống 3 được thiết kế trong mục 4.4 có khả năng ước tính vị trí chính xác và đáng tin cậy hơn hệ thống 2 được thiết kế trong mục 4.3.

Ngày đăng: 26/09/2024, 14:42

HÌNH ẢNH LIÊN QUAN

Hình 2. 11: Hệ thống định vị toàn cầu GNSS - nâng cao khả năng ước tính vị trí của robot di động bằng hệ thống băng tần siêu rộng
Hình 2. 11: Hệ thống định vị toàn cầu GNSS (Trang 38)
Hình 2. 13: So sánh các giao thúc không dây trong IPS( nguồn: tham khảo) - nâng cao khả năng ước tính vị trí của robot di động bằng hệ thống băng tần siêu rộng
Hình 2. 13: So sánh các giao thúc không dây trong IPS( nguồn: tham khảo) (Trang 41)
Hình 2. 14: So sánh phổ giữa UWB và các công nghệ khác - nâng cao khả năng ước tính vị trí của robot di động bằng hệ thống băng tần siêu rộng
Hình 2. 14: So sánh phổ giữa UWB và các công nghệ khác (Trang 44)
Hình 2. 15: Cấu trúc của hệ thống UWB IPS - nâng cao khả năng ước tính vị trí của robot di động bằng hệ thống băng tần siêu rộng
Hình 2. 15: Cấu trúc của hệ thống UWB IPS (Trang 44)
Hình 2. 24: Cách thức giao tiếp giữa các node ROS - nâng cao khả năng ước tính vị trí của robot di động bằng hệ thống băng tần siêu rộng
Hình 2. 24: Cách thức giao tiếp giữa các node ROS (Trang 55)
Hình 2. 25: Sơ đồ cấu trúc điều hướng cho robot di động - nâng cao khả năng ước tính vị trí của robot di động bằng hệ thống băng tần siêu rộng
Hình 2. 25: Sơ đồ cấu trúc điều hướng cho robot di động (Trang 57)
Hình 2. 27: Lưu đồ thuật toán tìm đường đi tối ưu A* - nâng cao khả năng ước tính vị trí của robot di động bằng hệ thống băng tần siêu rộng
Hình 2. 27: Lưu đồ thuật toán tìm đường đi tối ưu A* (Trang 64)
Hình 2. 32: Ứng dụng của SLAM a) Trong nhà b) Dưới nước c) Dưới lòng đất d) Trong không gian - nâng cao khả năng ước tính vị trí của robot di động bằng hệ thống băng tần siêu rộng
Hình 2. 32: Ứng dụng của SLAM a) Trong nhà b) Dưới nước c) Dưới lòng đất d) Trong không gian (Trang 68)
Hình 2. 33: Quá trình SLAM - nâng cao khả năng ước tính vị trí của robot di động bằng hệ thống băng tần siêu rộng
Hình 2. 33: Quá trình SLAM (Trang 69)
Hình 2. 34: Bản đồ lưới chiếm dụng - nâng cao khả năng ước tính vị trí của robot di động bằng hệ thống băng tần siêu rộng
Hình 2. 34: Bản đồ lưới chiếm dụng (Trang 71)
Hình 2. 47: Nguyên lý hoạt động cảm biến Encoder - nâng cao khả năng ước tính vị trí của robot di động bằng hệ thống băng tần siêu rộng
Hình 2. 47: Nguyên lý hoạt động cảm biến Encoder (Trang 81)
Hình 2. 54: Thiết lập kết nối giao thức I2C - nâng cao khả năng ước tính vị trí của robot di động bằng hệ thống băng tần siêu rộng
Hình 2. 54: Thiết lập kết nối giao thức I2C (Trang 86)
Hình 2. 57: Sơ đồ kết nối giao thức SPI cho nhiều Slave a) Song song b) Nối tiếp - nâng cao khả năng ước tính vị trí của robot di động bằng hệ thống băng tần siêu rộng
Hình 2. 57: Sơ đồ kết nối giao thức SPI cho nhiều Slave a) Song song b) Nối tiếp (Trang 90)
Hình 3. 13: Mô hình 3D tổng quan robot a) Ráp hoàn chỉnh b) khái quát cấu tạo bên trong - nâng cao khả năng ước tính vị trí của robot di động bằng hệ thống băng tần siêu rộng
Hình 3. 13: Mô hình 3D tổng quan robot a) Ráp hoàn chỉnh b) khái quát cấu tạo bên trong (Trang 104)
Hình 3. 15: Sắp xếp linh kiện tầng một a) Mặt trước b) Mặt sau - nâng cao khả năng ước tính vị trí của robot di động bằng hệ thống băng tần siêu rộng
Hình 3. 15: Sắp xếp linh kiện tầng một a) Mặt trước b) Mặt sau (Trang 105)
Hình 3. 19: Nắp bảo vệ cho robot - nâng cao khả năng ước tính vị trí của robot di động bằng hệ thống băng tần siêu rộng
Hình 3. 19: Nắp bảo vệ cho robot (Trang 107)
Hình 3. 27: Hoạt động của cảm biến Lidar trên môi trường mô phỏng - nâng cao khả năng ước tính vị trí của robot di động bằng hệ thống băng tần siêu rộng
Hình 3. 27: Hoạt động của cảm biến Lidar trên môi trường mô phỏng (Trang 111)
Hình 3. 29: Bản vẽ 2D tầng một - nâng cao khả năng ước tính vị trí của robot di động bằng hệ thống băng tần siêu rộng
Hình 3. 29: Bản vẽ 2D tầng một (Trang 113)
Hình 3. 31: Bản vẽ 2D nắp - nâng cao khả năng ước tính vị trí của robot di động bằng hệ thống băng tần siêu rộng
Hình 3. 31: Bản vẽ 2D nắp (Trang 114)
3.2.5  Sơ đồ kết nối - nâng cao khả năng ước tính vị trí của robot di động bằng hệ thống băng tần siêu rộng
3.2.5 Sơ đồ kết nối (Trang 116)
Hình 3. 37: Module phát sóng UWB DWM1000  Bảng 3. 11: Thông số kỹ thuật DWM1000 - nâng cao khả năng ước tính vị trí của robot di động bằng hệ thống băng tần siêu rộng
Hình 3. 37: Module phát sóng UWB DWM1000 Bảng 3. 11: Thông số kỹ thuật DWM1000 (Trang 117)
Hình 3. 40: Sơ đồ nguyên lý module  tích hợp - nâng cao khả năng ước tính vị trí của robot di động bằng hệ thống băng tần siêu rộng
Hình 3. 40: Sơ đồ nguyên lý module tích hợp (Trang 119)
Hình 3. 39: Sơ đồ kết nối MCU và DWM1000 - nâng cao khả năng ước tính vị trí của robot di động bằng hệ thống băng tần siêu rộng
Hình 3. 39: Sơ đồ kết nối MCU và DWM1000 (Trang 119)
Hình 4. 1: Sơ đồ khối của hệ thống đầu tiên được thiết kế - nâng cao khả năng ước tính vị trí của robot di động bằng hệ thống băng tần siêu rộng
Hình 4. 1: Sơ đồ khối của hệ thống đầu tiên được thiết kế (Trang 127)
Hình 4. 2: Sơ đồ khối của hệ thống thứ hai được thiết kế - nâng cao khả năng ước tính vị trí của robot di động bằng hệ thống băng tần siêu rộng
Hình 4. 2: Sơ đồ khối của hệ thống thứ hai được thiết kế (Trang 128)
Hình 5. 7: Khảo sát mô phỏng góc xoay hệ thống 2 - nâng cao khả năng ước tính vị trí của robot di động bằng hệ thống băng tần siêu rộng
Hình 5. 7: Khảo sát mô phỏng góc xoay hệ thống 2 (Trang 134)
Hình 5. 9: Khảo sát góc xoay hệ thồng 3 - nâng cao khả năng ước tính vị trí của robot di động bằng hệ thống băng tần siêu rộng
Hình 5. 9: Khảo sát góc xoay hệ thồng 3 (Trang 135)
Hình 5. 10: Khảo sát định vị của robot theo hình chữ nhật cố định. - nâng cao khả năng ước tính vị trí của robot di động bằng hệ thống băng tần siêu rộng
Hình 5. 10: Khảo sát định vị của robot theo hình chữ nhật cố định (Trang 136)
Hình 5. 11: Vị trí robot theo hình chữ nhật trong hệ trục Oxy với vị trí ban đầu (0,0) - nâng cao khả năng ước tính vị trí của robot di động bằng hệ thống băng tần siêu rộng
Hình 5. 11: Vị trí robot theo hình chữ nhật trong hệ trục Oxy với vị trí ban đầu (0,0) (Trang 137)
Hình 5. 13: Tư thế robot theo hình chữ nhật mặt phẳng Oxy với vị trí ban đầu (1.5, –0.6) - nâng cao khả năng ước tính vị trí của robot di động bằng hệ thống băng tần siêu rộng
Hình 5. 13: Tư thế robot theo hình chữ nhật mặt phẳng Oxy với vị trí ban đầu (1.5, –0.6) (Trang 138)

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

TÀI LIỆU LIÊN QUAN

w