Tối ưu hóa dữ liệu đầu vào và cải tiến tính ổn định cho xe tự hành đồ án tốt nghiệp ngành công nghệ kỹ thuật ô tô

132 37 0
Tối ưu hóa dữ liệu đầu vào và cải tiến tính ổn định cho xe tự hành   đồ án tốt nghiệp ngành công nghệ kỹ thuật ô tô

Đ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

MỤC LỤC LỜI CẢM ƠN i TÓM TẮT ii MỤC LỤC iii DANH MỤC CÁC HÌNH vii DANH MỤC CÁC BẢNG xi CHƯƠNG 1: TỔNG QUÁT 1.1 LÝ DO CHỌN ĐỀ TÀI 1.2 CÁC NGHIÊN CỨU TRONG VÀ NGOÀI NƯỚC 1.2.1 Nghiên cứu nước 1.2.2 Nghiên cứu nước 1.3 MỤC ĐÍCH CỦA ĐỀ TÀI 1.4 NHIỆM VỤ VÀ GIỚI HẠN CỦA ĐỀ TÀI 1.5 PHƯƠNG PHÁP NGHIÊN CỨU CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 2.1 XE TỰ HÀNH 2.1.1 Giới thiệu xe tự hành 2.1.2 Cấp độ xe tự hành 2.2 PHƯƠNG PHÁP NHẬN DIỆN LANE 2.3 THUẬT TOÁN PID 12 2.3.1 Giới thiệu 12 2.3.2 Nguyên lý thuật toán 12 2.3.3 Công thức PID 13 2.4 GIỚI THIỆU VỀ PYTHON ANACONDA3 14 2.4.1 Giới thiệu 14 2.4.2 Chức 14 iii 2.5 GIỚI THIỆU VỀ NUMPY- MATPLOTLIB 15 2.5.1 Numpy 15 2.5.2 Matplotlib 16 2.6 LÝ THUYẾT VỀ MẠNG NEURAL TÍCH CHẬP 16 2.6.1 Giới thiệu: 16 2.6.2 Phân loại ảnh (Image Classification) 17 2.6.3 Cấu trúc mạng neural tích chập 17 2.6.3.1 Convolution layer 18 2.6.3.2 Nonline layer 19 2.6.3.3 Pooling layer 19 2.6.3.4 Fully connected layer .20 2.7 GIỚI THIỆU VỀ MỘT SỐ PHẦN MỀM HỖ TRỢ KHÁC 21 2.7.1 Giới thiệu Proteus 21 2.7.2 Giới thiệu Inventor 22 2.7.3 Giới thiệu Arduino IDE 22 CHƯƠNG 3: XÂY DỰNG VÀ LẬP TRÌNH HỆ THỐNG 24 3.1 GIỚI THIỆU 24 3.2 XÂY DỰNG PHẦN CỨNG 26 3.2.1 Xây dựng khối điều khiển lái 26 3.2.1.1 Bộ Bánh vít – Trục vít 27 3.2.1.2 Động bước 57HS7630A4 29 3.2.1.3 Module TB6600 30 3.2.2 Khối điều khiển xử lý trung tâm 32 3.2.2.1 Laptop HP Pavalion 15 32 3.2.2.2 Arduino Uno R3 34 iv 3.2.3 Khối thu thập hình ảnh 37 3.2.3.1 Camera 37 3.2.3.2 Thiết kế kệ chống rung cho Camera .38 3.2.4 Xây dựng khối động 43 3.2.4.1 Động 44 3.2.4.2 Module BTS7960 45 3.2.4.3 Module Encoder xoay .46 3.2.5 Nguồn ắc quy 47 3.3 THIẾT BỊ, LINH KIỆN, MÔ-ĐUN VÀ SƠ ĐỒ NGUYÊN LÝ TOÀN MẠCH CỦA HỆ THỐNG 49 3.4 LẬP TRÌNH HỆ THỐNG 54 3.4.1 Lập trình PID cho động 54 3.4.2 Cài đặt Anaconda3 NvidiaCuda 57 3.4.3 Sửa đổi thuật toán training 60 3.4.4 Xây dựng lưu đồ giải thuật 66 3.4.4.1 Lưu đồ nhận diện lane .66 3.4.4.2 Lưu đồ nhận diện biển báo Stop .66 3.4.4.3 Cải tiến thuật toán training cho ảnh màu thiết kế CNN 68 CHƯƠNG 4: THỰC NGHIỆM VÀ ĐÁNH GIÁ 73 4.1 KẾT QUẢ 73 4.2 THỰC NGHIỆM 76 4.2.1 Thực nghiệm xe nhận diện biển báo lane 76 4.2.2 Thực nghiệm PID khối động xe 77 4.3 THỐNG KÊ 78 4.3.1 Thống kê cho xe nhận diện biến báo lane 78 4.3.1.1 Lập bảng thống kê 78 v 4.3.1.2 Lập bảng thống kê đoạn đường xung quanh khuôn viên khoa 82 4.3.1.2.1 Đoạn đường cong thứ 82 4.3.1.2.2 Đoạn đường cong thứ 84 4.3.1.2.3 Đoạn đường cong thứ 85 4.3.1.2.4 Đoạn đường cong thứ 87 4.3.1.3 Lập bảng thống kê PID động .88 4.3.1.4 Lập bảng so sánh liệu đầu vào 90 4.3.2 Các lỗi thường gặp 90 CHƯƠNG 5: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 94 5.1 KẾT LUẬN 94 5.2 HƯỚNG PHÁT TRIỂN 94 TÀI LIỆU THAM KHẢO 96 PHỤ LỤC 97 vi DANH MỤC CÁC HÌNH Trang Hình 2.1 Các cấp độ xe tự hành Hình 2.2 Khởi tạo mơi trường .8 Hình 2.3 Cài đặt kiểm tra thư viện Hình 2.4 Thuật toán chụp ảnh python .9 Hình 2.5.Chuẩn bị file ảnh training Hình 2.6 Tạo liên kết từ thuật toán traning đến thư mục chứa liệu 10 Hình 2.7 Quá trình traning .10 Hình 2.8 Kết sau hồn tất q trình traning 10 Hình 2.9 Thử nghiệm file traning thuật toán .11 Hình 2.10 Cơng thức PID (Wikipedia.com) 13 Hình 2.11 Anaconda3 .14 Hình 2.12 Chức Anaconda- Python 15 Hình 2.13 Cấu trúc CNN 18 Hình 2.14 So sánh Filter 18 Hình 2.15 Cơng thức hàm kích hoạt 19 Hình 2.16 Các dạng tổng hợp 20 Hình 2.17 Giao diện Proteus 21 Hình 2.18 Giao diện Inventor 22 Hình 2.19 Giao diện IDE 23 Hình 3.1 Mơ hình xe 24 Hình 3.2 Bánh xe 25 Hình 3.3 Sơ đồ khối hệ thống 26 Hình 3.4 Cơ cấu hệ thống lái 26 Hình 3.5 Hệ thống lái mơ hình 27 Hình 3.6 Mơ nối trục Inventor .28 Hình 3.7 Bánh trục vít mơ hình 29 Hình 3.8 Động bước size 57 29 Hình 3.9 Phương pháp điều khiển động bước .30 Hình 3.10 Module TB6600 31 vii Hình 3.11 Mô hệ thống lái Proteus 32 Hình 3.12 Laptop HP Pavalion 15 32 Hình 3.13 Arduino Uno R3 34 Hình 3.14 Sơ đồ chân Arduino mạch mơ 36 Hình 3.15 Các thông số Arduino Uno R3 36 Hình 3.16 Camera logitech C270 .37 Hình 3.17 Trục Pitch, Yaw, Roll biểu diễn không gian 38 Hình 3.18 Cảm biến MPU6050 mơ .39 Hình 3.19 Cảm biến MPU6050 39 Hình 3.20 Servo SG90 .40 Hình 3.21 Arduino Nano V3.0 Atmega328P 40 Hình 3.22 Sơ đồ dây thiết bị 42 Hình 3.23 Các phận hệ thống mô để chế tạo 42 Hình 3.24 Cơ cấu hệ thống truyền động thực tế .43 Hình 3.25 Mơ thực CNC khớp nối 43 Hình 3.26 Động RS550 .44 Hình 3.27 Module BTS7690 43A 45 Hình 3.28 Sơ đồ chân Module BTS7690 43A 46 Hình 3.29 Module BTS7690 43A mơ hình .46 Hình 3.30 Mơ khối động Proteus 46 Hình 3.31 Module encoder xoay 47 Hình 3.32 Ắc quy .48 Hình 3.33 Cầu chì 48 Hình 3.34 Sơ đồ mạch hệ thống proteus 53 Hình 3.35 Mạch đo điện áp từ động size 55 Hình 3.36 Mơ 3D bánh dẫn động module encoder .55 Hình 3.37 Mô 2D bánh dẫn động encoder 56 Hình 3.38 Bánh hồn chỉnh lắp đặt xe 56 Hình 3.39 Bảng phương pháp dị số 56 Hình 3.40 =>3.47 Các bước thực cài đặt 59 Hình 3.48 Giao diện Anaconda3 60 viii Hình 3.49 Mơi trường chạy thuật toán .61 Hình 3.50 Mơi trường training 62 Hình 3.51 => 3.53 Các bước cài đặt cuDNN 63 Hình 3.54 Lưu đồ nhận diện chạy theo lane 66 Hình 3.55 Lưu đồ nhận diện biển báo 67 Hình 3.56 Nhận diện biến báo Stop xưởng 70 Hình 3.57 Chỉ số Accuracy file traning biểu đồ trình train 70 Hình 4.1 Mơ hình xe 73 Hình 4.2 Mơ hình xe sau thi cơng 73 Hình 4.3 Sơ đồ mạch điện cũ 74 Hình 4.4 Mạch điện 74 Hình 4.5 Khi xe nhận diện thẳng 74 Hình 4.6 Khi xe thẳng 75 Hình 4.7 Khi xe nhận diện cong 75 Hình 4.8 Khi xe vào cua 76 Hình 4.9 Khi xe nhận diện biển báo 76 Hình 4.10 Thực nghiệm cho xe chạy PID 77 Hình 4.11 Thực nghiệm đoạn thẳng cũ 79 Hình 4.12 Thực nghiệm biển báo 79 Hình 4.13 Thực nghiệm đường cong cũ 80 Hình 4.14 Biểu đồ so sánh bảng thống kê 81 Hình 4.15 Cụm ảnh thực nghiệm đường cong số 82 Hình 4.16 Biểu đồ so sánh cung đường thược nghiệm cong số 83 Hình 4.17 Cụm ảnh thực nghiệm đường cong số 84 Hình 4.18 Biểu đồ so sánh cung đường thược nghiệm đường cong 85 Hình 4.19 Cụm ảnh thực nghiệm đường cong số 85 Hình 4.20 Biểu đồ so sánh cung đường thược nghiệm đường cong số 86 Hình 4.21 Cụm ảnh thực nghiệm đường cong số 87 Hình 4.22 Biểu đồ so sánh cung đường thực nghiệm P4 88 Hình 5.23 Biểu đồ thể liệu đầu vào 90 ix DANH MỤC CÁC BẢNG Trang Bảng 3.1 Bảng thông số trục vít – bánh vít 28 Bảng 3.2 Bảng thống kê linh kiện, thiết bị nhóm sử dụng 49 Bảng 3.3 Phân tích số lượng tích chập 69 Bảng 4.1 Bảng thống kê thực nghiệm 78 Bảng 4.2 Bảng thực nghiệm cũ cập nhật phần 80 Bảng 4.3 Bảng thực nghiệm cũ cập nhật phần 81 Bảng 4.4 Bảng thống kê đường cong số 83 Bảng 4.5 Bảng thống kê đường cong số 84 Bảng 4.6 Bảng thống kê đường cong số 86 Bảng 4.7 Bảng thống kê đường cong số 87 x CHƯƠNG 1: TỔNG QUÁT 1.1 LÝ DO CHỌN ĐỀ TÀI Công nghệ AI (Artificial Intelligence hay cịn gọi Trí tuệ nhân tạo) xuất từ năm 60 kỉ XX nhà khoa học máy tính người Mỹ, John McCarthy Và theo phát triển khoa học công nghệ, thời đại cơng nghệ 4.0 cơng nghệ AI thật bùng nổ Nó ví cơng nghệ tuyệt vời giúp người tối ưu hóa thời gian sức lực Ngày nay, AI định nghĩa mô trình suy nghĩ học tập người cho máy móc, đặc biệt hệ thống máy tính Các trình bao gồm việc học tập (thu thập thông tin quy tắc sử dụng thông tin), lập luận (sử dụng quy tắc để đạt kết luận gần xác định), tự sửa lỗi Trí tuệ nhân tạo ứng dụng vào hầu hết cách lĩnh vực y tế, giáo dục, sản xuất, kinh doanh,…nhằm giảm bớt sức lao động cho người tăng cường lợi nhuận kinh tế cho doanh nghiệp Ngành công nghiệp ô tô ngành đầu áp dụng khoa học công nghệ Và công nghệ AI sử dụng não xe: từ hỗ trợ người lái, giám sát lái xe, bảo hiểm ô tô, dự đốn bảo trì,… hẳn nghĩ đến mẫu xe thông minh khơng người lái hay cịn gọi xe tự hành Tiên phong việc ứng dụng trí tuệ nhân tạo vào phương tiện giao thông không nhắc đến công ty dẫn đầu việc phát triển xe tự hành Tesla Cịn Việt Nam, cơng ty FPT tổ chức thi thường niên “Cuộc Thi Số” nhằm tạo sân chơi dành cho bạn có đam mê mảng xe tự hành Đứng vai trò đồng tác giả đề tài xe tự hành với công nghệ AI viết Python Nguyễn Trung Trực Lê Minh Hùng nên em nắm bắt hiểu rõ khuyết điểm, hạn chế đề tài hạng mục từ khí, điện tử, lập trình Vì nhóm em chọn đề tài nhằm mục đích tối ưu hóa hệ thống nhóm trước dang dở để kiến tạo sở phần mềm lẫn phần cứng nhằm mục đích thực đề tài lớn tích hợp tồn hệ thống, thuật toán cho ROS(Robot operating system) 1.2 CÁC NGHIÊN CỨU TRONG VÀ NGOÀI NƯỚC 1.2.1 Nghiên cứu nước Về PID chúng em tham khảo đề tài P.I.D positon and speed control arduino.vn thực tuenhi.20 hệ thống phát triển lập trình IDE nhúng vào vi điều khiển Arduino UNO R3, thuật toán xây dựng phát triển từ thư viện có sẵn PID_v1.h tạo Brett Beauregard, thuật toán đơn giản bước đệm để tiếp cận PID hiểu cách Ngồi chúng em cịn tham khảo thuật toán TS Trần Đức Thiện đề tài sử dụng Arduino với Matlab Simulink điều khiển PID Fuzzy cho động DC giảng thầy Nguyễn Văn Đông Hải điều khiển lý thuyết điều khiển động Dc với thuật toán PID Luận văn :”Nghiên cứu noron tích chập ứng dụng cho tốn nhận dạng biển báo giao thơng” Lê Thị Thu Hằng trường ĐH công nghệ Hà Nội Đồ án tốt nghiệp ứng dụng xử lý ảnh chạy theo đường, nhận diện biển báo áp dụng lên xe tự hành Nguyễn Trung Trực Lê Minh Hùng xây dựng ngôn ngữ Python kết hợp thư viện Opencv, tensorflow, keras, numpy,… với nguyên lý xây dựng thuật toán deep learning Đề tài nghiên cứu “cách xây dựng mạng neuron đơn giản Python” TonyPham đăng diễn đàn IT python đưa các hàm code đơn giản, cơng thức tính tốn giải thuyết mạng neuron máy nguyên lý tích chập cơng thức ví dụ trực quan Một viết diễn đàn Viblo learning Trần Đức Trung có tên:” Tìm hiểu CNN làm vài ví dụ đơn giản phân loại ảnh” đề tài đề cập tới mạng kiến trúc CNN thành phần kiến trúc đồng thời đưa ví dụ đơn giản minh họa trực tiếp khả phương pháp nghiên cứu CNN 1.2.2 Nghiên cứu nước Bài nghiên cứu “Traffic Sign Classification with Keras and Deep Learning” Adrian Rosebrock đề cập phương pháp sử dụng Keras Deep learning nhận diện phân loại biển báo giao thông lập trình python đồng thời phát triển phương pháp tranning cho model, sử dụng matplotlib để vẽ biểu đồ biểu thị trình traning model #include "Wire.h" #endif #include // class default I2C address is 0x68 // specific I2C addresses may be passed as a parameter here // AD0 low = 0x68 (default for SparkFun breakout and InvenSense evaluation board) // AD0 high = 0x69 MPU6050 mpu; //MPU6050 mpu(0x69); // < use for AD0 high // Define the servo motors Servo servo0; Servo servo1; Servo servo2; float correct; int j = 0; #define OUTPUT_READABLE_YAWPITCHROLL #define INTERRUPT_PIN // use pin on Arduino Uno & most boards bool blinkState = false; // MPU control/status vars bool dmpReady = false; // set true if DMP init was successful uint8_t mpuIntStatus; // holds actual interrupt status byte from MPU uint8_t devStatus; // return status after each device operation (0 = success, !0 = error) uint16_t packetSize; // expected DMP packet size (default is 42 bytes) uint16_t fifoCount; // count of all bytes currently in FIFO uint8_t fifoBuffer[64]; // FIFO storage buffer // orientation/motion vars Quaternion q; // [w, x, y, z] quaternion container VectorInt16 aa; // [x, y, z] accel sensor measurements VectorInt16 aaReal; // [x, y, z] VectorInt16 aaWorld; // [x, y, z] VectorFloat gravity; // [x, y, z] gravity-free accel sensor measurements world-frame accel sensor measurements gravity vector float euler[3]; // [psi, theta, phi] Euler angle container float ypr[3]; // [yaw, pitch, roll] yaw/pitch/roll container and gravity vector // packet structure for InvenSense teapot demo uint8_t teapotPacket[14] = { '$', 0x02, 0, 0, 0, 0, 0, 0, 0, 0, 0x00, 0x00, '\r', '\n' }; // ================================================================ 110 // === INTERRUPT DETECTION ROUTINE === // ================================================================ volatile bool mpuInterrupt = false; // indicates whether MPU interrupt pin has gone high void dmpDataReady() { mpuInterrupt = true; } // ================================================================ // === INITIAL SETUP === // ================================================================ void setup() { // join I2C bus (I2Cdev library doesn't this automatically) #if I2CDEV_IMPLEMENTATION == I2CDEV_ARDUINO_WIRE Wire.begin(); Wire.setClock(400000); // 400kHz I2C clock Comment this line if having compilation difficulties #elif I2CDEV_IMPLEMENTATION == I2CDEV_BUILTIN_FASTWIRE Fastwire::setup(400, true); #endif // initialize serial communication // (115200 chosen because it is required for Teapot Demo output, but it's // really up to you depending on your project) Serial.begin(38400); while (!Serial); // wait for Leonardo enumeration, others continue immediately // initialize device //Serial.println(F("Initializing I2C devices ")); mpu.initialize(); pinMode(INTERRUPT_PIN, INPUT); devStatus = mpu.dmpInitialize(); // supply your own gyro offsets here, scaled for sensitivity mpu.setXGyroOffset(17); mpu.setYGyroOffset(-69); mpu.setZGyroOffset(27); mpu.setZAccelOffset(1551); // 1688 factory default for my test chip // make sure it worked (returns if so) if (devStatus == 0) { // turn on the DMP, now that it's ready // Serial.println(F("Enabling DMP ")); mpu.setDMPEnabled(true); 111 attachInterrupt(digitalPinToInterrupt(INTERRUPT_PIN), dmpDataReady, RISING); mpuIntStatus = mpu.getIntStatus(); // set our DMP Ready flag so the main loop() function knows it's okay to use it //Serial.println(F("DMP ready! Waiting for first interrupt ")); dmpReady = true; // get expected DMP packet size for later comparison packetSize = mpu.dmpGetFIFOPacketSize(); } else { // ERROR! // = initial memory load failed // = DMP configuration updates failed // (if it's going to break, usually the code will be 1) // Serial.print(F("DMP Initialization failed (code ")); //Serial.print(devStatus); //Serial.println(F(")")); } // Define the pins to which the servo motors are connected servo0.attach(10); servo1.attach(9); servo2.attach(8); } // ================================================================ // === MAIN PROGRAM LOOP === // ================================================================ void loop() { // Nếu chương trình hỏng khơng nên thử, khơng nạp đủ lib if (!dmpReady) return; // wait for MPU interrupt or extra packet(s) available while (!mpuInterrupt && fifoCount < packetSize) { if (mpuInterrupt && fifoCount < packetSize) { // try to get out of the infinite loop fifoCount = mpu.getFIFOCount(); } } // reset interrupt flag and get INT_STATUS byte mpuInterrupt = false; 112 mpuIntStatus = mpu.getIntStatus(); // get current FIFO count fifoCount = mpu.getFIFOCount(); // check for overflow (this should never happen unless our code is too inefficient) if ((mpuIntStatus & _BV(MPU6050_INTERRUPT_FIFO_OFLOW_BIT)) || fifoCount >= 1024) { // reset so we can continue cleanly mpu.resetFIFO(); fifoCount = mpu.getFIFOCount(); Serial.println(F("FIFO overflow!")); // otherwise, check for DMP data ready interrupt (this should happen frequently) } else if (mpuIntStatus & _BV(MPU6050_INTERRUPT_DMP_INT_BIT)) { // wait for correct available data length, should be a VERY short wait while (fifoCount < packetSize) fifoCount = mpu.getFIFOCount(); // read a packet from FIFO mpu.getFIFOBytes(fifoBuffer, packetSize); // track FIFO count here in case there is > packet available // (this lets us immediately read more without waiting for an interrupt) fifoCount -= packetSize; // Get Yaw, Pitch and Roll values #ifdef OUTPUT_READABLE_YAWPITCHROLL mpu.dmpGetQuaternion(&q, fifoBuffer); mpu.dmpGetGravity(&gravity, &q); mpu.dmpGetYawPitchRoll(ypr, &q, &gravity); // Yaw, Pitch, Roll values - Radians to degrees ypr[0] = ypr[0] * 180 / M_PI; ypr[1] = ypr[1] * 180 / M_PI; ypr[2] = ypr[2] * 180 / M_PI; // Skip 300 readings (self-calibration process) if (j 3.5 tons prohibited', 18:'No entry', 19:'General caution', 20:'Dangerous curve left', 21:'Dangerous curve right', 22:'Double curve', 23:'Bumpy road', 24:'Slippery road', 25:'Road narrows on the right', 26:'Road work', 27:'Traffic signals', 28:'Pedestrians', 29:'Children crossing', 122 30:'Bicycles crossing', 31:'Beware of ice/snow', 32:'Wild animals crossing', 33:'End speed + passing limits', 34:'Turn right ahead', 35:'Turn left ahead', 36:'Ahead only', 37:'Go straight or right', 38:'Go straight or left', 39:'Keep right', 40:'Keep left', 41:'Roundabout mandatory', 42:'End of no passing', 43:'End no passing veh > 3.5 tons' } #initialise GUI top=tk.Tk() top.geometry('800x600') top.title('Traffic sign classification') top.configure(background='#CDCDCD') label=Label(top,background='#CDCDCD', font=('arial',15,'bold')) sign_image = Label(top) def classify(file_path): global label_packed image = Image.open(file_path) image = image.resize((30,30)) image = numpy.expand_dims(image, axis=0) image = numpy.array(image) pred = model.predict_classes(image)[0] sign = classes[pred+1] print(sign) label.configure(foreground='#011638', text=sign) def show_classify_button(file_path): classify_b=Button(top,text="Classify Image",command=lambda: classify(file_path),padx=10,pady=5) classify_b.configure(background='#364156', foreground='white',font=('arial',10,'bold')) classify_b.place(relx=0.79,rely=0.46) def upload_image(): 123 try: file_path=filedialog.askopenfilename() uploaded=Image.open(file_path) uploaded.thumbnail(((top.winfo_width()/2.25),(top.winfo_height()/2.25))) im=ImageTk.PhotoImage(uploaded) sign_image.configure(image=im) sign_image.image=im label.configure(text='') show_classify_button(file_path) except: pass upload=Button(top,text="Upload an image",command=upload_image,padx=10,pady=5) upload.configure(background='#364156', foreground='white',font=('arial',10,'bold')) upload.pack(side=BOTTOM,pady=50) sign_image.pack(side=BOTTOM,expand=True) label.pack(side=BOTTOM,expand=True) heading = Label(top, text="Know Your Traffic Sign",pady=20, font=('arial',20,'bold')) heading.configure(background='#CDCDCD',foreground='#364156') heading.pack() top.mainloop() 124 ... động cho người tăng cường lợi nhuận kinh tế cho doanh nghiệp Ngành công nghiệp ô tô ngành đầu áp dụng khoa học công nghệ Và công nghệ AI sử dụng não xe: từ hỗ trợ người lái, giám sát lái xe, bảo... phạm vi tự hành (khn viên khoa khí động lực) - Giảm số lượng ảnh training đầu vào cho xe - Lập trình Pid cho hai động để xe ổn định - Thiết kế thuật toán phù hợp cho hệ thống lái Để hoàn thành yêu... đến mẫu xe thơng minh khơng người lái hay cịn gọi xe tự hành Tiên phong việc ứng dụng trí tuệ nhân tạo vào phương tiện giao thông không nhắc đến công ty dẫn đầu việc phát triển xe tự hành Tesla

Ngày đăng: 06/06/2022, 02:27

Hình ảnh liên quan

Hình 2.1. Các cấp độ xe tự hành - Tối ưu hóa dữ liệu đầu vào và cải tiến tính ổn định cho xe tự hành   đồ án tốt nghiệp ngành công nghệ kỹ thuật ô tô

Hình 2.1..

Các cấp độ xe tự hành Xem tại trang 15 của tài liệu.
Hình 2.2 Khởi tạo môi trường - Tối ưu hóa dữ liệu đầu vào và cải tiến tính ổn định cho xe tự hành   đồ án tốt nghiệp ngành công nghệ kỹ thuật ô tô

Hình 2.2.

Khởi tạo môi trường Xem tại trang 16 của tài liệu.
Bước 3: Tiến hành đào tạo mô hình trí tuệ nhân tạo, thời gian phụ thuộc vào dung lượng dữ liệu đào tạo và thiết bị đào tạo - Tối ưu hóa dữ liệu đầu vào và cải tiến tính ổn định cho xe tự hành   đồ án tốt nghiệp ngành công nghệ kỹ thuật ô tô

c.

3: Tiến hành đào tạo mô hình trí tuệ nhân tạo, thời gian phụ thuộc vào dung lượng dữ liệu đào tạo và thiết bị đào tạo Xem tại trang 18 của tài liệu.
Hình 2.6. Tạo liên kết từ thuật toán traning đến thư mục chứa dữ liệu - Tối ưu hóa dữ liệu đầu vào và cải tiến tính ổn định cho xe tự hành   đồ án tốt nghiệp ngành công nghệ kỹ thuật ô tô

Hình 2.6..

Tạo liên kết từ thuật toán traning đến thư mục chứa dữ liệu Xem tại trang 18 của tài liệu.
Hình 2.8. Kết quả sau khi hoàn tất quá trình traning - Tối ưu hóa dữ liệu đầu vào và cải tiến tính ổn định cho xe tự hành   đồ án tốt nghiệp ngành công nghệ kỹ thuật ô tô

Hình 2.8..

Kết quả sau khi hoàn tất quá trình traning Xem tại trang 19 của tài liệu.
Hình 2.13. Cấu trúc của CNN - Tối ưu hóa dữ liệu đầu vào và cải tiến tính ổn định cho xe tự hành   đồ án tốt nghiệp ngành công nghệ kỹ thuật ô tô

Hình 2.13..

Cấu trúc của CNN Xem tại trang 26 của tài liệu.
Hình 2.14. So sánh Filter - Tối ưu hóa dữ liệu đầu vào và cải tiến tính ổn định cho xe tự hành   đồ án tốt nghiệp ngành công nghệ kỹ thuật ô tô

Hình 2.14..

So sánh Filter Xem tại trang 26 của tài liệu.
Hình 2.16. Các dạng tổng hợp - Tối ưu hóa dữ liệu đầu vào và cải tiến tính ổn định cho xe tự hành   đồ án tốt nghiệp ngành công nghệ kỹ thuật ô tô

Hình 2.16..

Các dạng tổng hợp Xem tại trang 28 của tài liệu.
Hình 2.19. Giao diện IDE - Tối ưu hóa dữ liệu đầu vào và cải tiến tính ổn định cho xe tự hành   đồ án tốt nghiệp ngành công nghệ kỹ thuật ô tô

Hình 2.19..

Giao diện IDE Xem tại trang 31 của tài liệu.
Hình 3.5. Hệ thống lái trên mô hình - Tối ưu hóa dữ liệu đầu vào và cải tiến tính ổn định cho xe tự hành   đồ án tốt nghiệp ngành công nghệ kỹ thuật ô tô

Hình 3.5..

Hệ thống lái trên mô hình Xem tại trang 35 của tài liệu.
Bảng 3.1. Bảng thông số của bộ trục vít – bánh vít - Tối ưu hóa dữ liệu đầu vào và cải tiến tính ổn định cho xe tự hành   đồ án tốt nghiệp ngành công nghệ kỹ thuật ô tô

Bảng 3.1..

Bảng thông số của bộ trục vít – bánh vít Xem tại trang 36 của tài liệu.
Hình 3.8. Động cơ bước size 57 - Tối ưu hóa dữ liệu đầu vào và cải tiến tính ổn định cho xe tự hành   đồ án tốt nghiệp ngành công nghệ kỹ thuật ô tô

Hình 3.8..

Động cơ bước size 57 Xem tại trang 37 của tài liệu.
Hình 3.10. Module TB6600 - Tối ưu hóa dữ liệu đầu vào và cải tiến tính ổn định cho xe tự hành   đồ án tốt nghiệp ngành công nghệ kỹ thuật ô tô

Hình 3.10..

Module TB6600 Xem tại trang 39 của tài liệu.
Hình 3.13. Arduino Uno R3 - Tối ưu hóa dữ liệu đầu vào và cải tiến tính ổn định cho xe tự hành   đồ án tốt nghiệp ngành công nghệ kỹ thuật ô tô

Hình 3.13..

Arduino Uno R3 Xem tại trang 42 của tài liệu.
Hình 3.15. Các thông số của Arduino Uno R3 - Tối ưu hóa dữ liệu đầu vào và cải tiến tính ổn định cho xe tự hành   đồ án tốt nghiệp ngành công nghệ kỹ thuật ô tô

Hình 3.15..

Các thông số của Arduino Uno R3 Xem tại trang 44 của tài liệu.
Hình 3.18. Cảm biến MPU6050 - Tối ưu hóa dữ liệu đầu vào và cải tiến tính ổn định cho xe tự hành   đồ án tốt nghiệp ngành công nghệ kỹ thuật ô tô

Hình 3.18..

Cảm biến MPU6050 Xem tại trang 47 của tài liệu.
Bảng 3.2. Bảng thống kê các linh kiện, thiết bị nhóm đã sử dụng - Tối ưu hóa dữ liệu đầu vào và cải tiến tính ổn định cho xe tự hành   đồ án tốt nghiệp ngành công nghệ kỹ thuật ô tô

Bảng 3.2..

Bảng thống kê các linh kiện, thiết bị nhóm đã sử dụng Xem tại trang 57 của tài liệu.
Thu thập hình ảnh về cho thuật  toán  - Tối ưu hóa dữ liệu đầu vào và cải tiến tính ổn định cho xe tự hành   đồ án tốt nghiệp ngành công nghệ kỹ thuật ô tô

hu.

thập hình ảnh về cho thuật toán Xem tại trang 58 của tài liệu.
Hình 3.48. Giao diện Anaconda3 - Tối ưu hóa dữ liệu đầu vào và cải tiến tính ổn định cho xe tự hành   đồ án tốt nghiệp ngành công nghệ kỹ thuật ô tô

Hình 3.48..

Giao diện Anaconda3 Xem tại trang 68 của tài liệu.
Hình 3.49. Môi trường chạy thuật toán - Tối ưu hóa dữ liệu đầu vào và cải tiến tính ổn định cho xe tự hành   đồ án tốt nghiệp ngành công nghệ kỹ thuật ô tô

Hình 3.49..

Môi trường chạy thuật toán Xem tại trang 69 của tài liệu.
Hình 3.55. Lưu đồ nhận diện biển báo - Tối ưu hóa dữ liệu đầu vào và cải tiến tính ổn định cho xe tự hành   đồ án tốt nghiệp ngành công nghệ kỹ thuật ô tô

Hình 3.55..

Lưu đồ nhận diện biển báo Xem tại trang 75 của tài liệu.
Hình 3.56. Nhận diện biến báo Stop ở trong xưởng - Tối ưu hóa dữ liệu đầu vào và cải tiến tính ổn định cho xe tự hành   đồ án tốt nghiệp ngành công nghệ kỹ thuật ô tô

Hình 3.56..

Nhận diện biến báo Stop ở trong xưởng Xem tại trang 75 của tài liệu.
Hình 4.2. Mô hình xe sau khi thi công - Tối ưu hóa dữ liệu đầu vào và cải tiến tính ổn định cho xe tự hành   đồ án tốt nghiệp ngành công nghệ kỹ thuật ô tô

Hình 4.2..

Mô hình xe sau khi thi công Xem tại trang 81 của tài liệu.
Hình 4.3. Mạch điện mới - Tối ưu hóa dữ liệu đầu vào và cải tiến tính ổn định cho xe tự hành   đồ án tốt nghiệp ngành công nghệ kỹ thuật ô tô

Hình 4.3..

Mạch điện mới Xem tại trang 82 của tài liệu.
Hình 4.6. Khi xe đi thẳng - Tối ưu hóa dữ liệu đầu vào và cải tiến tính ổn định cho xe tự hành   đồ án tốt nghiệp ngành công nghệ kỹ thuật ô tô

Hình 4.6..

Khi xe đi thẳng Xem tại trang 83 của tài liệu.
Hình 4.9. Khi xe nhận diện biển báo - Tối ưu hóa dữ liệu đầu vào và cải tiến tính ổn định cho xe tự hành   đồ án tốt nghiệp ngành công nghệ kỹ thuật ô tô

Hình 4.9..

Khi xe nhận diện biển báo Xem tại trang 84 của tài liệu.
Hình 4.10. Thực nghiệm cho xe chạy PID - Tối ưu hóa dữ liệu đầu vào và cải tiến tính ổn định cho xe tự hành   đồ án tốt nghiệp ngành công nghệ kỹ thuật ô tô

Hình 4.10..

Thực nghiệm cho xe chạy PID Xem tại trang 85 của tài liệu.
Hình 4.11. Thực nghiệm đoạn thẳng cũ - Tối ưu hóa dữ liệu đầu vào và cải tiến tính ổn định cho xe tự hành   đồ án tốt nghiệp ngành công nghệ kỹ thuật ô tô

Hình 4.11..

Thực nghiệm đoạn thẳng cũ Xem tại trang 87 của tài liệu.
Hình 5.13 Thực nghiệm khi gặp biển stop - Tối ưu hóa dữ liệu đầu vào và cải tiến tính ổn định cho xe tự hành   đồ án tốt nghiệp ngành công nghệ kỹ thuật ô tô

Hình 5.13.

Thực nghiệm khi gặp biển stop Xem tại trang 88 của tài liệu.
Bảng 4.13. Bảng thống kê đường cong số 3 - Tối ưu hóa dữ liệu đầu vào và cải tiến tính ổn định cho xe tự hành   đồ án tốt nghiệp ngành công nghệ kỹ thuật ô tô

Bảng 4.13..

Bảng thống kê đường cong số 3 Xem tại trang 94 của tài liệu.

Tài liệu cùng người dùng

Tài liệu liên quan