
SCIENCE - TECHNOLOGY Số 13.2023 ● Tập san SINH VIÊN NGHIÊN CỨU KHOA HỌC 65
THIẾT KẾ ROBOT DI ĐỘNG SỬ DỤNG CẢM BIẾN RPLIDAR
DESIGN MOBILE ROBOT USING RPLIDAR SENSOR Đào Văn Hiếu1,*, Nguyễn Văn Đức2, Nguyễn Bá Tùng3, Nguyễn Khánh Huyền4 , Phạm Văn Chiến5 TÓM TẮT Trong những năm gần đây, robot nói chung và robot di độ
ng nói riêng ngày
càng được phát triển mạnh mẽ để phục vụ trong mọi lĩnh vực từ chuyên biệt đế
n
dân dụng. Chính điều này là động lực thúc đẩy cho việc nghiên cứu, ứng dụ
ng các
kĩ thuật, công nghệ khác nhau cho robot di động. Trong báo cáo này sẽ
trình bày
giải pháp thiết kế robot di động sử dụng cảm biế
n RPLiDAR theo phương pháp
bám vật thể. Từ khóa: Robot di động, RPLiDAR, bám vật thể. ABSTRACT
In recent years, there has been a significant development in the field of
robots, especially mobile robots, which are now being utilized in a variety of
specialized and civil applications. This has led to a surge in research and the
adoption of various tec
hniques and technologies for mobile robots. This report will
focus on designing a mobile robot using RPLiDAR by object tracking method. Keywords: Mobile robot, RPLiDAR sensor, object tracking. 1Lớp Điện tử Truyền thông 04 - K14, Khoa Điện tử, trường Đại học Công nghiệp Hà Nội 2Lớp Điện tử Truyền thông 06 - K14, Khoa Điện tử, Trường Đại học Công nghiệp Hà Nội 3Lớp Kỹ thuật Máy tính 01 - K15, Khoa Điện tử, Trường Đại học Công nghiệp Hà Nộ
i
4Lớp Kỹ thuật Máy tính - K16, khoa Điện tử, trường Đại học Công nghiệp Hà Nội 5Khoa Điện tử, Trường Đại học Công nghiệp Hà Nội *Email: pistachio21299@gmail.com 1. GIỚI THIỆU Robot là một trong những lĩnh vực khoa học kỹ thuật phát triển mạnh mẽ trong những năm gần đây. Trong đó, việc phát triển robot di động được coi là thiết yếu vì một khi được trang bị thêm khả năng di chuyển linh hoạt và chính xác, robot có thể hỗ trợ con người trong nhiều lĩnh vực khác nhau: vận chuyển hàng hoá, thu hoạch sản phẩm nông nghiệp, tưới tiêu,… từ đó giúp tăng tốc độ sản xuất và giảm tác động đến con người. Ngoài ra, robot di động còn được dùng để nghiên cứu và khám phá các môi trường nguy hiểm, khó tiếp cận; hoặc trong dịch vụ như robot dẫn đường, robot giao hàng, robot hút bụi,… Để có thể di chuyển, robot cần xác định được đường đi. Đường đi của robot có thể được định sẵn và đánh dấu trong môi trường bằng vạch kẻ. Phương pháp này tuy đơn giản song hạn chế về bề mặt di chuyển của robot (chỉ di chuyển được trên mặt sàn có vạch kẻ), đồng thời không đảm bảo được sự chính xác khi vạch kẻ bị mờ, sai lệch. Một phương pháp đánh dấu đường đi khác là dùng thẻ RFID với chi phí đắt hơn cho việc lắp đặt cơ sở hạ tầng (trang bị thẻ, tag, phần mềm hỗ trợ) và điện năng tiêu thụ, song công nghệ này có thể giúp robot di chuyển chính xác, linh hoạt hơn vì không còn phụ thuộc vào vạch kẻ (thẻ RFID có thể được đặt ở cả trên tường, trần nhà). Tuy nhiên, nhìn vào cả hai phương pháp trên ta thấy robot chỉ có thể di chuyển với lộ trình đã được biết trước, định sẵn. Điều này là một hạn chế cho những ứng dụng linh hoạt hơn của robot như để dò đường, khám phá môi trường, giao hàng,... Vậy bài toán đặt ra là làm thế nào để robot có thể tự xác định được đường đi của nó trong môi trường? Câu trả lời chính là dùng cảm biến khoảng cách. Cảm biến LiDAR (Light Detection and Ranging) sử dụng công nghệ đo khoảng cách nhờ vào việc phát ra tia laze và đo thời gian phản xạ. Với mức giá tầm trung, nó khắc phục được những nhược điểm của cảm biến khoảng cách hồng ngoại, siêu âm về tính chính xác, khả năng làm việc đáng tin cậy trong nhiều điều kiện ánh sáng và thời tiết khác nhau. RPLIDAR là dòng sản phẩm LiDAR do SLAMTEC phát triển, tuy có hạn chế so với một sản phẩm LiDAR cao cấp hơn nhưng được thiết kế nhỏ gọn, giá cả phải chăng, độ nhanh và chính xác đủ để đáp ứng nhu cầu thông thường. RPLidar sử dụng nguyên lý quét laser 360º để thu thập dữ liệu và tạo ra một bản đồ không gian 2D (trong khi cảm biến hồng ngoại và siêu âm chỉ có thể đo khoảng cách theo một hường nhất định). Điều này mở ra những tiềm năng khác cho robot di động sử dụng cảm biến RPLIDAR, ngoài khả năng tự hành, nó còn có thể xây dựng bản đồ, phát hiện và theo dõi vật thể trong môi trường xung quanh. Bài báo này trình bày về việc thiết kế robot di động sử dụng cảm biến RPLiDAR. 2. RPLIDAR A1 RPLIDAR A1 gồm hai bộ phận chính: hệ thống quét (Range Scanner System) và hệ thống động cơ (Motor System). Sau khi cấp nguồn cho cả hai, RPLIDAR A1 sẽ bắt đầu quay và quét theo chiều kim đồng hồ. Người dùng có thể lấy dữ liệu thu về thông qua giao diện truyền thông (UART/USB). RPLIDAR A1 sử dụng công nghệ tam giác laze (laser triangulation): phát tín hiệu laser hồng ngoại đã điều chế ra

CÔNG NGHỆ Tập san SINH VIÊN NGHIÊN CỨU KHOA HỌC ● Số 13.2023
66
KHOA H
ỌC
ngoài môi trường, nếu gặp vật cản thì tín hiệu sẽ được phản xạ trở lại. Tín hiệu phản xạ đó được lấy mẫu thông qua hệ thống thu nhận khung cảnh và sau đó DSP sẽ bắt đầu xử lý tín hiệu lấy mẫu, trả về hai giá trị là khoảng cách và góc giữa vật với RPLIDAR A1. Hình 1. Nguyên lý hoạt động của RPLiDAR A1 RPLIDAR A1 có tần số quét là 5,5Hz khi lấy mẫu 360 điểm/vòng quét và có thể được thiết lập để đạt tới tối đa là 10Hz. Nó hoạt động tốt trong các môi trường không chịu tác động từ ánh nắng mặt trời. Hình 2. Cấu trúc dữ liệu đầu ra của RPLiDAR A1 d mm Khoảng cách giữa tâm quay của RPLIDAR A1 và điểm lấy mẫu θ Độ Góc Start flag [Boolean] Cờ đánh dấu sự bắt đầu của một vòng quét mới 3. XÂY DỰNG PHẦN CỨNG CHO ROBOT DI ĐỘNG Hình 3. Sơ đồ mô hình phần cứng của robot Các linh kiện được sử dụng là: pin 18650, Cảm biến laser RPLiDAR A1, kit phát triển STM32F103C8T6, nút nhấn 4 chân, LCD10602, động cơ DC giảm tốc V1 và bánh xe, module điều khiển động cơ L298N, module hạ áp LM2596, module cảm biến tốc độ encoder V2, IC ổn áp LM1117. Hình 4. Sơ đồ nguyên lý mạch điều khiển robot Chức năng của từng khối: Khối nguồn: Sử dụng 3 viên 18650 mắc nối tiếp để tạo nguồn 12V. LM2596 được sử dụng để chuyển đổi điện áp từ 12V xuống 5V cho các linh kiện khác trên mạch và LM1117 được sử dụng để hạ áp từ 5V xuống 3,3V cho vi xử lý STM32. Khối button + display (đóng vai trò giao diện người dùng): Sử dụng 4 nút nhấn kết hợp với LCD1602 để người dùng thao tác và quan sát được các tuỳ chọn, thông qua đó thiết lập trạng thái hoạt động ban đầu của robot. Khối vi điều khiển: Dùng STM32F103C8T6 Blue Pill để điều khiển toàn bộ hoạt động của robot. Nó sẽ nhận dữ liệu từ cảm biến RPLiDAR A1 và module encoder, xử lý thông tin và xuất lệnh ra module điều khiển động cơ theo thuật toán đã được nạp qua các chân A1, A2, A6, A7 (tương ứng với 2 chân IN, 2 chân xuất xung PWM điều chỉnh tốc độ 2 bên trái, phải của động cơ). Ngoài ra, vi xử lý còn điều khiển hiển thị trên màn hình LCD1602. Khối động cơ: Khối động cơ bao gồm hệ thống quét và hệ thống động cơ của RPLIDAR A1, module điều khiển động cơ L298. Hệ thống động cơ của cảm biến có 3 chân nguồn, đất và một chân điều khiển tốc độ quay của động cơ (dùng để thay đổi tần số quét của cảm biến). Hệ thống quét của cảm biến (dùng để phát tia laser và thu tia phản xạ để đo khoảng cách, góc) gồm 4 chân: nguồn, đất và 2 chân để giao tiếp UART được nối với chân A9, A10 của vi điều khiển để đưa dữ liệu khoảng cách và góc đo được về cho vi điều khiển xử lý. Module điều khiển động cơ L298 được sử dụng để điều khiển tốc độ và hướng di chuyển của động cơ giảm tốc theo

SCIENCE - TECHNOLOGY Số 13.2023 ● Tập san SINH VIÊN NGHIÊN CỨU KHOA HỌC 67
lệnh của vi điều khiển, qua đó giúp robot có thể di chuyển theo hướng mong muốn. Encoder: Module cảm biến tốc độ encoder V2 được sử dụng để đo tốc độ quay của động cơ, quãng đường xe chạy, từ đó gửi thông tin về vi điều khiển (có tác dụng khi thiết lập cho robot chạy với quãng đường có độ dài nhất định) qua chân OUT được nối với chân B15 của STM32. Hình 5. Robot hoàn thiện 4. THIẾT KẾ PHẦN MỀM Hình 6. Nguyên lý để robot bám tường + Để robot di chuyển bám tường một khoảng b, ta cần giữ cạnh cho cạnh a và c bằng nhau để song song với tường. + Vậy đầu tiên ta lấy độ lớn của a và c trong dãy giá trị trả về từ cảm biến RPLIDAR, so sánh a và c, nếu a lớn hơn c (tức là robot đang có xu hướng rẽ trái) thì ta cần điều khiển để robot rẽ phải, tức là điều khiển để bánh trái tăng tốc, bánh phải giảm tốc. Điều này thực hiện được nhờ bằng cách băm xung đầu vào cho module điều khiển động cơ L298. Và ngược lại cho trường hợp c lớn hơn a. Cấu hình các chân của vi điều khiển trước hết sẽ được thiết lập trên ứng dụng STM32 CubeMX sau đó được đẩy sang phần mềm Keil uVision5 để tiếp tục lập trình theo lưu đồ thuật toán trên Hình 7. Lưu đồ thuật toán cho phần mềm của robot 5. KẾT LUẬN Bài báo trình bày thiết kế robot di chuyển theo toạ độ sử dụng cảm biến RPLiDAR bằng cách bám tường. Sản phẩm được thử nghiệm trong môi trường trong nhà, có độ sai số thấp, đủ đáp ứng các yêu cầu cho robot làm việc trong nhà. Hướng phát triển tiếp theo của nghiên cứu là tối ưu phần mềm của robot để dễ thao tác hơn, phát triển các tính năng tạo lập bản đồ, mô hình hoá vật thể, tránh vật cản để khai thác tối đa tiềm năng của cảm biến RPLiDAR. TÀI LIỆU THAM KHẢO [1]. N. A. Tú, V. C. Thành, N. T. Hải, N. T. Duy, H. V. Hoàng, M. D. Quang, 2021. Nghiên cứu, thiết kế hệ thống định vị cho robot di động trên hệ điều hành ROS. Tạp chí Khoa học và Công nghệ, 57, 4. [2]. Phan Long, 2021. Bo mạch vi điều khiển STM32F103C8T6 blue-pill. blog.mecsu.vn [3]. Jayesh Upadhyay, 2022. What is a PWM signal?. www.circuitbread.com [4]. Scott Campbell, 2016. Basic of UART communication. circuitbasics.com [5]. RPLiDAR A1 User Manual [6]. RM0008 Reference manual, www.st.com [7]. Warren Gay, 2018. Beginning STM32: Developing with FreeRTOS. libopencm3 and GCC, Packt Publishing, United Kingdom.

