Tài liệu: Project ii wheeled mobile robot design

Khám phá thiết kế robot di động bánh xe trong dự án kỹ thuật. Tìm hiểu cấu trúc, nguyên lý hoạt động và ứng dụng thực tế của hệ thống robot tự động.

Chuyên ngành

Instrumentation And Industrial Informatics

Người đăng

Ẩn danh

Thể loại

Project

2022

55
2
0

Phí lưu trữ

30 Point

Tóm tắt

I. Giới thiệu về Robot Di Động Bánh Xe

Robot di động bánh xe là loại robot tự động có khả năng di chuyển trong môi trường không cố định. Đây là một nhánh quan trọng của công nghệ robotics hiện đại, kết hợp các yếu tố cơ khí, điện tử và lập trình. Robot tự động phải đáp ứng những yêu cầu cơ bản như: có nguồn năng lượng riêng, khả năng đưa ra quyết định và thực hiện các hành động phù hợp. Các ứng dụng của robot di động ngày càng đa dạng, từ dịch vụ y tế, hỗ trợ vận hành, vệ sinh môi trường cho đến phục vụ nhà hàng. Dự án thiết kế robot phục vụ tự động này tập trung vào việc xây dựng một giải pháp thực tế cho các nhà hàng và sân bay, giúp giao đồ ăn và đồ uống một cách hiệu quả và nhanh chóng.

1.1. Định nghĩa và Đặc tính Robot Di Động

Robot di động tự động là những máy móc có thể tự điều hướng trong môi trường chưa kiểm soát mà không cần hỗ trợ cơ học hay điện. Chúng được trang bị cảm biến, bộ xử lý trung tâm, động cơ điệnpin năng lượng. Robot có thể nhận các lệnh khác nhau từ người điều hành: vận tốc bánh xe mong muốn, quỹ đạo di chuyển, hoặc hoàn thành nhiệm vụ trong môi trường đã biết với các chướng ngại vật.

1.2. Các Thành Phần Cơ Bản của Robot Phục Vụ

Cơ cấu robot phục vụ bao gồm: phần cơ khí (khung, bánh xe), bộ truyền động (động cơ DC), hệ thống cảm biến (LiDAR, ultrasonic), máy tính nhúng (Raspberry Pi), pin LiPođiều khiển điện. Những thành phần này hoạt động phối hợp để đảm bảo robot có thể di chuyển an toàn, tránh vật cản và hoàn thành nhiệm vụ phục vụ.

II. Mô Hình Kinematics và Dynamics của Robot

Kinematics vi sai là mô hình toán học mô tả chuyển động của robot bánh xe dựa trên vận tốc của từng bánh xe. Dự án này sử dụng cấu trúc differential drive với hai bánh xe chính được điều khiển độc lập và một bánh xe hỗ trợ. Mô hình động lực học xem xét các lực tác dụng lên robot, bao gồm lực từ động cơ, lực ma sát và tính quán tính. Việc hiểu rõ các mô hình này là nền tảng để thiết kế hệ thống điều khiển tốc độ động cơ hiệu quả. Bộ lọc Kalman được ứng dụng để lọc nhiễu từ cảm biến encoder, giúp cải thiện độ chính xác của dữ liệu vận tốc. Điều này là bước quan trọng trong việc xây dựng một robot phục vụ hoạt động ổn định và đáng tin cậy.

2.1. Mô Hình Kinematics Differential Drive

Differential drive kinematics mô tả mối quan hệ giữa vận tốc bánh xe và vận tốc tổng thể của robot. Khi hai bánh xe quay với vận tốc khác nhau, robot sẽ di chuyển theo đường cong và quay. Mô hình toán học này giúp dự báo vị tríhướng đi của robot, từ đó điều khiển nó theo đúng quỹ đạo mong muốn trong hệ thống SLAM.

2.2. Mô Hình Động Lực Học Robot

Dynamic model xem xét các lực tác dụng: mô men từ động cơ, lực ma sát, và tính quán tính của robot. Bộ điều khiển PID được sử dụng để ổn định tốc độ motor. Dữ liệu từ encoder cảm biến được xử lý qua bộ lọc Kalman để lọc nhiễu và cung cấp ước lượng vận tốc chính xác cho hệ thống điều khiển.

III. Thiết Kế Phần Cứng Robot Phục Vụ

Thiết kế phần cứng của robot phục vụ tự động bao gồm lựa chọn và tích hợp các thành phần điện tử. Raspberry Pi 4B+ được sử dụng làm bộ xử lý trung tâm để chạy ROS (Robot Operating System). Cảm biến LiDAR Scanse Sweep cung cấp dữ liệu 2D cho SLAM (Simultaneous Localization and Mapping), giúp robot xây dựng bản đồ và định vị chính xác. Cảm biến siêu âm HC-SR04 phát hiện chướng ngại vật gần. Driver motor TB6612FNG điều khiển hai động cơ DC với độ tách rời điện áp cao. Pin LiPo 12V 14Ah cung cấp năng lượng cho toàn bộ hệ thống. Tất cả các thành phần được tích hợp trên khung robot được thiết kế chi tiết với các thông số kích thước phù hợp. Kiến trúc phần cứng này cho phép robot hoạt động độc lập và ổn định trong môi trường phục vụ thực tế.

3.1. Các Thành Phần Cảm Biến và Bộ Xử Lý

Robot phục vụ trang bị LiDAR Scanse Sweep quét 360° để ánh xạ môi trường, ultrasonic sensor cho phát hiện vật cản gần, motor encoder đo vận tốc bánh xe. Raspberry Pi 4B+ với bộ xử lý ARM Cortex-A72 chạy ROS middleware, cho phép xử lý dữ liệu cảm biến và điều khiển chuyển động theo thời gian thực.

3.2. Hệ Thống Truyền Động và Nguồn Năng Lượng

Hai động cơ DC được điều khiển bởi TB6612FNG driver, hỗ trợ PWM điều khiển tốc độ. Pin LiPo 12V 14Ah cung cấp điện áp ổn định, với tổng công suất đủ cho hoạt động liên tục của robot. Hệ thống này được thiết kế để duy trì tốc độ ổn định và tối ưu hiệu suất năng lượng.

IV. Hệ Thống Phần Mềm và Điều Khiển Robot

Kiến trúc phần mềm của robot phục vụ được xây dựng trên ROS (Robot Operating System), cung cấp các công cụ mạnh mẽ cho phát triển ứng dụng robot. SLAM (Simultaneous Localization and Mapping) được thực hiện sử dụng Hector_SlamGmapping, cho phép robot tự động xây dựng bản đồ 2D của môi trường. Thuật toán lọc hạt (Particle Filter) được sử dụng cho định vị robot trong không gian. Bộ điều khiển PID ổn định tốc độ motor, sử dụng bộ lọc Kalman để xử lý dữ liệu từ encoder. Lập kế hoạch đường đi cục bộ (Local Path Planner) cho phép robot tránh vật cản khi di chuyển tới đích. Hệ thống tọa độ TF trong ROS quản lý mối quan hệ giữa các khung tham chiếu khác nhau. Kết quả thực nghiệm cho thấy robot có thể hoạt động ổn định, điều hướng hiệu quả và giao thực phẩm an toàn.

4.1. Kiến Trúc Phần Mềm và SLAM

ROS architecture gồm các node cho điều khiển motor, xử lý cảm biến, SLAM, và lập kế hoạch đường đi. Hector_Slam tạo bản đồ 2D từ dữ liệu LiDAR, Gmapping sử dụng phép biến đổi Rao-Blackwellized particle filter. Hệ thống tọa độ TF duy trì quan hệ giữa base_link, odom, map frame, cho phép robot định vị chính xác trong không gian.

4.2. Hệ Thống Điều Khiển và Đánh Giá Hiệu Suất

Bộ điều khiển PID nhận tín hiệu lỗi từ setpoint vận tốc, điều chỉnh PWM cho motor. Bộ lọc Kalman xử lý dữ liệu encoder, lọc nhiễu hiệu quả. Kết quả kiểm tra cho thấy robot ổn định ở các setpoint 70 RPM và 90 RPM, tránh vật cản thành công, hoàn thành nhiệm vụ phục vụ một cách đáng tin cậy.

21/12/2025

Trích đoạn nội dung tài liệu

HA NOI UNIVERSITY OF SCIENCE AND TECHNOLOGY PROJECT II Wheeled Mobile Robot Design STUDENT GROUP Tran Tuan Minh - 20181906 Tran Minh Duc - 20181875 Ly Duc Trung - 20181930 Mentor: Ph. D Le Minh Thuy Department: Instrumentation and industrial informatics School: Electrical Engineering HA NOI, 01/2022 TABLE OF CONTENTS CHAPTER 1.1 About mobile robot .2 Serving mobile robot .3 Serving mobile robot design planning .4 Mathematical motion modeling .1 Differential drive kinematics.2 Dynamic model of differential drive robot. SERVING MOBILE ROBOT ANALYSIS AND DESIGN .1 SERVING MOBILE ROBOT HARDWARE DESIGN .1 Mobile robot function blocks .2 SERVING ROBOT FIRMWARE DESIGN .1 ROS and important concepts .2 Servebot Software Architecture .3 Fundamentals of robot’s operation: .3 SERVING ROBOT WORKING EVALUATION.1 Motor speed controller .55 2 LISTS OF FIGURE Figure 1.1 Softbank Robotics automated serving robot “Servi” panoramic view .2 Matradee Robot from Richtech robotics.3 DSR02-A Open Type from YZ Robot.2 Hardware components placement .1 Differential drive kinematics .1 Serving Robot Function Block Diagram .2 Raspberry Pi 4B+ model .3 LiDAR Scanse Sweep .4 HC-SR04 Ultrasonic sensor .6 PCF 8591 AD/DA converter module .7 Forces act on the robot .8 DC motor characteristic curve for speed, current, torque and efficiency .9 TB6612FNG motor driver (Source: DroneBotWorkshop.10 12V 14Ah LiPo battery .11 Hardware system design .12 2D detailed design parameter .13 Robot frame design parameters .1 Servebot’s software architecture .2 Multiple coordinate frames of a typical robot .3Hector_Slam Map Result .4Gmapping Map Result .5Particle Filter Localization algorithm .7Local path planner of robot .8 Coordinate frames of Servebot .9 Complete TF graph of Servebot .10 Reading motor encoder flow chart .11 External Interrupt for checking motor speed and direction .12 Measured speed value without filter .13A detailed description of Kalman Filter’s block diagram .14PID speed controller example .15 PID motor speed controller .1 Raw speed vs filtered speed at 70% PWM .2 Raw speed vs filtered speed at 50% PWM .3 Measured velocity at setpoint 70 RPM .4 Measured velocity at setpoint 90RPM .5 Distance measured by ultrasonic sensor .6 Map generated by Hector_slam .7 Metadata of the map .8 Wrong pose placement.9 Right pose placement .10 Robot’s initial position.11 The information of set goal .12 Published velocity information .1 About mobile robot Mobile robot is a robot that have the capability to move around in their environment and are not fixed to one physical location. A mobile robot is called “autonomous” when it can navigate an uncontrolled environment without the need for physical or electro-mechanical guidance devices.

Autonomy has to be guaranteed by the following: + The robot should carry some source of energy. + The robot should be capable of taking certain decisions and performing appropriate actions. Based on the level of the robot’s autonomy, the following typical commands can be taken from the operator: + Desired wheel velocity + Desired robot longitudinal and angular velocities + Desired robot path or robot trajectory + Desired operation inside of the known environment with potential obstacles + Desired missions The main mechanical and electronic parts of an autonomous mobile robot are the following: + Mechanical parts: body, wheel, etc. + Actuators: Electrical motors + Sensors: Rotation encoders, Lidar, + Computers: Micro-controller, Embedded system, etc.

+ Power unit: Batteries + Electronics: actuator drive, telecommunication electronics. Nowadays, there are various applications of wheeled mobile robots. They are expected become an integral part of our daily lives such as: medical services, operation support, cleaning applications, forest maintenance and logging, consumer goods store, etc. Besides, using robot as a servant is becoming more and more popular in the world.

The purpose of the Serving Robot is to deliver meals and drinks to guests and customers at hotels and airport lounges quickly and efficiently. Once the delivery is confirmed, the Serving Robot makes its way back on its own. To understand more about robotic techniques and apply our theoretical knowledge into reality, our project’s purpose is to design an autonomous mobile robot for serving at the restaurant.2 Serving mobile robot Below are some design models of serving robot in the market: 5 "Servi" is a robot that autonomously travels and carries food when you select a table to serve and tap it. It can move while detecting and avoiding obstacles such as people and objects.1 Softbank Robotics automated serving robot “Servi” panoramic view Table 1.1 “Servi” Robot specification Main specs Value Maximum Load Weight 35kg Navigation Method SLAM Sensor LiDAR, 3D Camera Communication Wi-Fi 2.4/5 GHz Maximum speed 0.6 m/s Beside “Servi” robot, there are many other robotics company introduced their invention of serving robot.

These robot designs share the same techniques such as: motion obstacle 6 avoidance, map construction, autonomous navigation, and communication. With the modern technology applied inside, serving robot can totally replace human in performing simple tasks.2 Matradee Robot from Richtech robotics Figure 1.3 DSR02-A Open Type from YZ Robot 7 1.3 Serving mobile robot design planning Our project’s purpose is to design a service mobile robot, which can be used for delivering at restaurants or even in hospitals. The robot is designed with three trays to place food and the base to hold drink. The driving mechanism we selected is differential drive with one castor wheel to support the vehicle and prevent tilting.

Both main wheels are placed on a common axis. The velocity of each wheel is controlled by a separated motor.1 2D design view Almost all the hardware components include embedded computer, motor driver, sensor, etc are put inside the robot base. A lidar is placed on the top for localization. Screen and speaker to help user to interface with the robot.2 Hardware components placement 8 Detailed specification: + Sensor: LiDAR, Ultrasonic sensor, IMU + Navigation method: SLAM + Body weight: 7 kg + Maximum load weight: 15 kg + Maximum speed: 0.4 Mathematical motion modeling 1.1 Differential drive kinematics Kinematic model describes geometric relationships that are presented in the system.

It describes the relationship between input (control) parameters and behavior of a system given by state-space representation.1 Differential drive kinematics For differential drive mechanism, the input (control) variables are the velocity of the right wheel 𝑣𝑅 (𝑡) and the velocity of the left wheel 𝑣𝐿 (𝑡). The meanings of other variables: + 𝑟: wheel radius + 𝐿: the distance between the wheels + 𝑅 (𝑡 ): the instantaneous radius of the vehicle driving trajectory (the distance between the vehicle center (middle point between the wheels) and ICR point) In each instance of time both wheels have the same angular velocity ω(t) around the ICR: 9 𝑣𝐿 𝑣𝑅 Equation 1 𝜔= = 𝐿 𝑅(𝑡 ) + 𝐿/2 𝑅 (𝑡 ) − 2 From where 𝜔(𝑡) and 𝑅(𝑡) are computed: 𝑣𝑅 (𝑡 ) − 𝑣𝐿 (𝑡) Equation 2 𝜔 (𝑡 ) = 𝐿 𝐿 𝑣𝑅 (𝑡 ) + 𝑣𝐿 (𝑡 ) Equation 3 𝑅 (𝑡 ) = 2 𝑣𝑅 (𝑡 ) − 𝑣𝐿 (𝑡 ) And tangential velocity is calculated as: 𝑣𝑅 (𝑡 ) + 𝑣𝐿 (𝑡) Equation 4 𝑣 (𝑡 ) = 𝜔 (𝑡 )𝑅 (𝑡 ) = 𝐿 Considering the above relations, the internal kinematics (in local coordinates) can be expressed as: 𝑟 𝑟 Equation 5 𝑥̇ 𝑚 (𝑡 ) 𝑣𝑋𝑚 (𝑡) 2 2 𝜔 (𝑡 ) [𝑦̇𝑚 (𝑡 )] = [𝑣𝑌𝑚 (𝑡 )] = 0 0 [ 𝐿 ] 𝜑̇ (𝑡 ) 𝜔 (𝑡 ) 𝑟 𝑟 𝜔𝑅 (𝑡) − [ 𝐿 𝐿] And robot external kinematics (in global coordinates) is given by 𝑥̇ (𝑡 ) cos (𝜑(𝑡 )) 0 𝑣(𝑡) Equation 6 [ 𝑦̇ (𝑡 ) ] = [ sin (𝜑(𝑡 )) 0] [ ] 𝜔(𝑡) 𝜑̇ 𝑡( ) 0 1 In discrete form, by using Euler integration and evaluated at discrete time instants 𝑡 = 𝑘𝑇𝑠 , 𝑘 = 0, 1, 2, … where 𝑇𝑠 is the following sampling interval, equation 6 can become: 𝑥 (𝑘 + 1) = 𝑥 (𝑘 ) + 𝑣 (𝑘 )𝑇𝑠 cos(𝜑(𝑘 )) Equation 7 𝑦(𝑘 + 1) = 𝑦(𝑘 ) + 𝑣 (𝑘 )𝑇𝑠 sin(𝜑(𝑘 )) 𝜑(𝑘 + 1) = 𝜑(𝑘 ) + 𝜔(𝑘 )𝑇𝑠 1.2 Dynamic model of differential drive robot For the equation 6, we get the kinematic model of the vehicle is: 𝑥̇ (𝑡 ) cos (𝜑(𝑡 )) 0 𝑣(𝑡) [ 𝑦̇ (𝑡 ) ] = [ sin (𝜑(𝑡 )) 0] [𝜔(𝑡)] 𝜑̇ (𝑡 ) 0 1 The nonholonomic motion constraint is: −𝑥̇ sin(𝜑) + 𝛾̇ cos(φ) = 0 Equation 8 Dynamic Model: 10 The obtained dynamic model written in matrix form is: M(q)q̈ + V(q, q̇ ) + F(q̇ ) = E(q)u − AT (q)λ Equation 9 Table 1.1 Meaning of matrices in the dynamic model 𝒒 Vector of generalized coordinates (dimension n × 1) 𝑴(𝒒) Positive-definite matrix of masses and inertia (dimension n × n) V(q, q̇ ) Vector of Coriolis and centrifugal forces (dimension n × 1) F(q̇ ) Vector of Coriolis and centrifugal forces (dimension n × 1) E(q) Transformation matrix from actuator space to generalized coordinate space (dimension n × r) u Input vector (dimension r × 1) AT (q) Matrix of kinematic constraint coefficients (dimension m × n) λ Vector of constraint forces (Lagrange multipliers) (Dimension m × 1) Where matrices are: 𝑚 0 0 𝑴 = [ 0 𝑚 0] 0 0 𝐽 𝑐𝑜𝑠𝜑 𝑐𝑜𝑠𝜑 1 𝑠𝑖𝑛𝜑 𝑠𝑖𝑛𝜑 𝑬= [ 𝐿 𝐿] 𝑟 − 2 2 𝑨 = [−𝑠𝑖𝑛𝜑 cos 𝜑 0] 𝜏𝑟 𝒖 = [𝜏 ] 𝑙 And the remaining matrices are zero. With 𝑚 is the mass, 𝐽 is the inertia, 𝜏𝑟 and 𝜏𝑙 is the torque on the left and the right wheel. The common state-space model that include the kinematic and dynamic model is determined by matrices: ̃ = [ 𝑚 0] 𝑴 0 𝐽 ̃ = [ 0] 𝑽 0 1 1 1 ̃ = [𝐿 𝑬 𝐿] 𝑟 − 2 2 Then the system can be written in the state-space form 𝒙̇ = 𝒇(𝒙) + 𝒈(𝒙).

𝒖, where the state vector is 𝒙 = [𝒒𝑻 , 𝒗𝑻 ]𝑻 11 The resulting model is 0 0 Equation 10 𝑥̇ 𝑣𝑐𝑜𝑠𝜑 0 0 𝛾̇ 𝑣𝑠𝑖𝑛𝜑 0 0 1 1 𝜏𝑟 𝜑̇ = 𝜔 + [𝜏 ] 𝑙 𝑣̇ 0 𝑚𝑟 𝑚𝑟 [𝜔̇ ] [ 0 ] 𝐿 𝐿 − [2𝐽𝑟 2𝐽𝑟] CHAPTER 2. SERVING MOBILE ROBOT ANALYSIS AND DESIGN Table 2. Working task and Contribution Name Main Tasks Contribution Tran Minh Duc ROS system setup; Navigation Stack implementation, 10/10 Robot model design; Writing report Ly Duc Trung Setup Ubuntu Operating system and ROS system. Programming Kalman Filter, PID controller, 10/10 differential driving, ultrasonic sensor publisher.

Tran Tuan Minh Hardware design; Motor speed controller research; 10/10 Writing report & slide design 2.1 SERVING MOBILE ROBOT HARDWARE DESIGN 2.1 Mobile robot function blocks Figure 2.1 Serving Robot Function Block Diagram 12 2.2 Blocks selection a) Controller In this project, the controller plays a vital part of controlling system and communication. The chosen controller must be able to read data from sensors, control motors and do the navigation tasks, then communicate with the computer. An embedded computer is suitable for managing all above-mentioned problems. In this project, we choose embedded computer Raspberry Pi 4B+: Hardware: - Quad core 64-bit ARM-Cortex A72 running at 1.5GHz - 1, 2 and 4 Gigabyte LPDDR4 RAM options - Video Core VI 3D Graphics - Supports dual HDMI display output up to 4Kp60 Software: - 802.11 b/g/n/ac Wireless LAN - Bluetooth 5.0 with BLE - 2x USB2 ports & 2x USB3 ports - 28x user GPIO supporting various interface options: + Up to 6x UART + Up to 6x I2C.

+ Up to 5x SPI + 1x SDIO interface. + 1x PCM–Up to 2x PWM channels. + Up to 3x GPCLK outputs.2 Raspberry Pi 4B+ model b) Sensor block For localizing and mapping the surrounding, a scanning LiDAR sensor is applied. 13 LiDAR follows a simple principle — throw laser light at an object on the earth surface and calculate the time it takes to return to the LiDAR source.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ