Nghiên cứu, thiết kế, chế tạo robot di động điều khiển bằng công nghệ TET

86 922 1
Nghiên cứu, thiết kế, chế tạo robot di động điều khiển bằng công nghệ TET

Đ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

Nghiên cứu, thiết kế, chế tạo robot di động điều khiển bằng công nghệ TET

CHƯƠNG GIỚI THIỆU CHUNG 1.1 Giới thiệu chung Chúng ta phủ nhận mắt quan có cấu tạo tinh vi người Nó lưu giữ hình ảnh gửi não để xử lý thông tin Mắt gồm có nhãn cầu, dây thần kinh phận phụ thuộc mí mắt, lông mi, mắt, gân mạc, tuyến lệ màng tiếp hợp Nhãn cầu phần yếu nhất, thường so sánh với máy ảnh đặc tính xác quang học Nhãn cầu gồm lớp màng tên gọi là: - Màng gồm củng mạc phía trước biến đổi thành giác mạc - Màng màng bồ đào, thân bè mạch mạc, chứa nhiều mạch máu, phía trước dày lên thành thể mi mống mắt - Màng võng mạc, chứa tế bào nhậy cảm ánh sáng tế bào gậy tế bào nón Công nghệ “TET” (Tracking eye technology) công nghệ theo dõi chuyển động mắt, sử dụng máy tính để xác định vị trí mống mắt ( iris) Từ giúp điều khiển thiết bị máy tính Công nghệ điều khiển mắt mẻ Việt Nam biết công nghệ qua điện thoại smatphone với tiện ích cuộn trang, dừng video Dựa công nghệ nhóm phát triển đề tài: “Nghiên cứu, thiết kế, chế tạo robot di động điều khiển công nghệ TET” Nhiệm vụ cụ thể nhóm thiết kế chế tạo mô hình robot điều khiển trực tiếp mắt người Robot có khả di chuyển linh hoạt 1.2 Các vấn đề đặt Với đề tài : “Nghiên cứu, thiết kế, chế tạo robot di động điều khiển công nghệ TET “ việc thiết kế chế tạo nhóm có số vấn đề cần giải quyết: - Trong việc thiết kế chế tạo hệ thống khí cho robot phải xác đảm bảo tính thẩm mỹ, chắn hoạt động ổn định robot - Vấn đề giám sát xử lý ảnh: thị trường có nhiều loại webcam ( hay camera) với giá cả, độ tin cậy, độ phân giải, tốc độ xử lý… khác Việc chọn lựa vấn đề khó khăn Việc thiết kế webcam vấn đề khó khăn việc xử lý: webcam thiết kế phải nhỏ gọn, linh động, phù hợp với điều kiện đề tài - Việc xây dựng thuật toán phương pháp điều khiển gặp nhiều khó khăn: Thuật toán xử lý ảnh vừa phải dò tìm xác, giảm nhiễu trình xử lý tính toán xác xuất tín hiệu điều khiển, giảm độ trễ đảm bảo tốc độ đáp ứng phải dự phòng lỗi xảy trình hoạt động - Lập trình điều khiển thu phát liệu: Xây dựng thuật toán điều khiển động DC sử dụng vi điều khiển PIC 16F877A Xây dựng thuật toán thực việc thu phát tín hiệu không dây sử dụng module NRF24L01 2.4Ghz với vi điều khiển PIC 16F877A 1.3 Phương pháp nghiên cứu Điều khiển phương pháp truyền tín hiệu không dây phương pháp điều khiển tiên tiến ngày ứng dụng nhiều thị trường có nhiều sản phẩm thông minh áp dụng phương pháp truyền tin Điều khiển robot tự động có giới lạ việt nam Với việc nghiên cứu đồ án mở nhiều điều lạ lĩnh vực điều khiển robot xử lý ảnh Từ áp dụng thiết kế giới hạn đề tài - Kết hợp việc thiết kế đồng thời: Cụ thể bước xây dựng mô hình chứa đầy đủ thành phần dự định có thiết kế (xây dựng khối điều khiển, khối nguồn, hệ thống khí, khối xử lí ảnh, thuật toán điều khiển chung toàn hệ thống) qua có nhìn tổng quan hệ thống chung xác định thông số Tiếp theo dựa vào bước nhóm tiến tới xây dựng chi tiết khối khối lại tiến hành xây dựng thuật toán trước vào phần lập trình dựa nguyên tắc phải phù hợp với khả phần cứng xây dựng Sau hoàn chỉnh khối tiến hành ghép nối khối với để tới bước - Quá trình thử nghiệm: Nhóm dựa kết thực tế để đánh giá, so sánh đưa kết hiệu chỉnh tìm phương pháp tối ưu 1.4 Phạm vi giới hạn đề tài Do thời gian, tài tầm hiểu biết nhóm chế tạo mô hình robot với đặc điểm sau: - Robot sử dụng đề tài mô hình xe đơn giản với vật liệu inox - Sử dụng module thu phát sóng 2.4GHz có khả truyền phát sóng không dây bán kính SetWindowTextW(_T("Unload &IP")); anhthu1 = cvCreateImage(cvSize(300, 200), 8, 3); cvResize(anhip, anhthu1, 1); cvSaveImage("anh1.bmp", anhthu1); anht1 = (HBITMAP)LoadImage(0, IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE); L"anh1.bmp", m_pic1.SetBitmap(anht1); cvReleaseImage(&anhthu1); } } dem_1s++; if(dem_1s >=10){ if(d_nhan == || d_nhan == 6) if(e_nhan == true){ CopyDoThi= cvCloneImage(LoadDoThi); if(j=1){ for(int m=1; m 30 &&re.width>30){ a[n] = re.height; n++; bl=true; } } max=a[0]; for(int i=0; imax) max=a[i]; for(; seq !=0; seq = seq->h_next){ 75 re = cvBoundingRect(seq); if(max == re.height) RE = cvRect(20, re.y, 460, re.height); } cvReleaseMemStorage(&luutru); returnbl; } float CROBOT_TET_V2Dlg::kt_vtri(IplImage *src_vt, CvRectr_vt){ intvalue_vt= 0; CvMatbuffer_vt; CvMat *mat_vt; mat_vt = cvGetMat(src_vt, &buffer_vt); for (int row = r_vt.y; row SetWindowTextW(_T("&AUTO")); anht2 = (HBITMAP)LoadImage(0, L"gvhd.bmp", IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE); anht3 = (HBITMAP)LoadImage(0, L"svth.bmp", IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE); m_pic2.SetBitmap(anht2); m_pic3.SetBitmap(anht3); cvReleaseCapture(&anhchup); cvDestroyAllWindows(); 76 an = false; } else{ Setting(); anhchup= cvCaptureFromCAM(0); cvNamedWindow("DieuChinh "); cvCreateTrackbar("Nguong", "DieuChinh ", &nguong1, 255, 0); GetDlgItem(IDC_Auto)->SetWindowTextW(_T("&STOP")); an = true; } UpdateData(false); } void CROBOT_TET_V2Dlg::OnBnClickedTien(){ UpdateData(true); data_send_RS232= "f"; Setting(); m_mscomm1.put_Output(COleVariant(data_send_RS232)); UpdateData(false); } void CROBOT_TET_V2Dlg::OnBnClickedLui(){ UpdateData(true); data_send_RS232= "b"; Setting(); m_mscomm1.put_Output(COleVariant(data_send_RS232)); UpdateData(false); } void CROBOT_TET_V2Dlg::OnBnClickedTrai(){ UpdateData(true); data_send_RS232= "l"; 77 Setting(); m_mscomm1.put_Output(COleVariant(data_send_RS232)); UpdateData(false); } void CROBOT_TET_V2Dlg::OnBnClickedPhai(){ UpdateData(true); data_send_RS232= "r"; Setting(); m_mscomm1.put_Output(COleVariant(data_send_RS232)); UpdateData(false); } void CROBOT_TET_V2Dlg::OnBnClickedDung(){ UpdateData(true); data_send_RS232= "t"; Setting(); m_mscomm1.put_Output(COleVariant(data_send_RS232)); UpdateData(false); } void CROBOT_TET_V2Dlg::OnBnClickedLoadIp(){ UpdateData(); if(an_ip == true) { GetDlgItem(IDC_LOAD_IP)->SetWindowTextW(_T("Load Camera &IP")); anht1 = (HBITMAP)LoadImage(0, L"detai.bmp", IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE); m_pic1.SetBitmap(anht1); cvReleaseCapture(&LoadIp); an_ip = false; } else{ 78 LoadIp= cvCaptureFromFile("http://ductuan:160892@192.168.16.102:80/videostream.asf? usr=ductuanpwd=160892"); GetDlgItem(IDC_LOAD_IP)->SetWindowTextW(_T("Unload &IP")); an_ip = true; } UpdateData(false); } void CROBOT_TET_V2Dlg::write_text(IplImage* &img, CvPoint pt1, char text[]){ CvFont font1; cvInitFont(&font1, CV_FONT_HERSHEY_DUPLEX, 0.5, 0.5, 0.2, 1, 8); cvPutText(img, text, pt1, &font1, CV_RGB(250,0,0)); } 79 Phụ lục Chương trình điều khiển cho vi điều khiển /*============================================= Chu de: truyen phat du lieu tren may tinh Version: 5.0 Chip: 16f877a Trinh bien dich: CCS C v4.114 */============================================== #include "main.h" #include "var.h" #include "lcd16x2/lcd_16x2.c" #include "nRF24L01/nRF14L01.c" #use rs232(baud=19200,Parity=N,xmit=PIN_C6,rcv=PIN_C7) char RxBuf[32], ch; uint8_t str[16]; bit en=0; #INT_RDA void ngat_serial() { ch = getc(); //nhan ki tu en = 1; } void main() { CE_DDR = DDROUT; // Chan CE la Output SCK_DDR = DDROUT; // Chan SCK la Output MISO_DDR = DDRIN; // Chan MISO la Input CSN_DDR = DDROUT; // Chan CSN la Output MOSI_DDR = DDROUT; // Chan MOSI la Output 80 BT_DDR = DDRIN; // Chan BT la Input LED_DDR = DDROUT; // Chan LED la Output enable_interrupts(INT_RDA); // Cho phep ngat rs232 enable_interrupts(GLOBAL); // Cho phep ngat toan cuc LCD_Init(); LCD_Gotoxy(0,0); sprintf(str,"ROBOT TET "); LCD_Puts(str); init_NRF24L01(); // Khoi tao NRF SetRX_Mode(); // Cau hinh la MODE NHAN LED = 1; for(;;) { if(en == 1) { disable_interrupts(INT_RDA); LED = 0; SetTX_Mode(); // Cau hinh la MODE PHAT delay_ms(10); sprintf(TxBuf,"%1c",ch); nRF24L01_TxPacket(TxBuf); // Transmit Tx buffer data SPI_RW_Reg(WRITE_REG+STATUS,0XFF); // Clear Bit Send init_NRF24L01(); // Khoi tao NRF SetRX_Mode(); // Tro ve trang thai MODE NHAN LCD_Gotoxy(0,1); LCD_Puts(TxBuf); // Hien thi len LCD1602 LED = 1; en = 0; 81 enable_interrupts(INT_RDA); } if(nRF24L01_RxPacket(RxBuf)==1) // Neu nhan duoc du lieu { LED = 0; LCD_Gotoxy(0,1);; LCD_Puts(RxBuf); // Hien thi len LCD1602 printf(RxBuf); SetRX_Mode(); LED = 1; } } } // -END OF FILE - 82 // -/*============================================= Chu de: truyen phat du lieu tren Robot Version: 5.0 Chip: 16f877a Trinh bien dich: CCS C v4.114 */============================================== #include "main.h" #include "var.h" #include "nRF24L01/nRF14L01.c" #include "1_day.c" #include "DS18B20.c" float temperature; uint8_t dem; #INT_TIMER1 void tao_tre_1s() // Trinh phuc vu ngat tran TIMER1 { dem++; set_timer1(0x0000); } void main() { char RxBuf[32]; bit kt1 = 0, kt2; CE_DDR = DDROUT; // Chan CE la Output SCK_DDR = DDROUT; // Chan SCK la Output MISO_DDR = DDRIN; // Chan MISO la Input CSN_DDR = DDROUT; // Chan CSN la Output 83 MOSI_DDR = DDROUT; // Chan MOSI la Output BT_DDR = DDRIN; // Chan BT la Input LED_DDR = DDROUT; // Chan LED la Output enable_interrupts(GLOBAL); // Cho phep ngat toan cuc setup_timer_1(T1_INTERNAL|T1_DIV_BY_2); // Cau hinh bo chia cho TIMER1 set_timer1(0x0000); init_NRF24L01(); // Khoi tao NRF SetRX_Mode(); // Cau hinh la MODE NHAN LED = 1; output_d(0x00); //dung for(;;) { kt2= kt1; if(nRF24L01_RxPacket(RxBuf)==1) // Neu nhan duoc du lieu { LED = 0; init_NRF24L01(); SetRX_Mode(); LED = 1; } switch(RxBuf[0]) { case 'f': kt1= 0; output_d(0x0A); //tien break; case 'b': kt1= 0; 84 output_d(0x05); //lui break; case 'r': kt1= 0; output_d(0x09); //phai break; case 'l': kt1= 0; output_d(0x06); //trai break; case 't': kt1= 1; output_d(0x00); //dung break; } if(kt2 != kt1 && kt1 == 1) enable_interrupts(INT_TIMER1); if(kt2 != kt1 && kt1 == 0) disable_interrupts(INT_TIMER1); if(dem > 100) // neu du 5s { disable_interrupts(INT_TIMER1); LED = 0; SetTX_Mode(); temperature = ds18b20_read(); sprintf(TxBuf,"@%5.2f",temperature); nRF24L01_TxPacket(TxBuf); // Transmit Tx buffer data SPI_RW_Reg(WRITE_REG+STATUS,0XFF); // Clear Bit Send SetRX_Mode(); 85 LED = 1; dem = 0; enable_interrupts(INT_TIMER1); } } } // -END OF FILE // 86 [...]... studio 2010 Webcam Khung USB to hình COM Vi điều khiển PIC 16F877A USB to Module COM NRF24L01 Module Module L298 NRF24L01 Động cơ DC Vi điều khiển PIC 16F877A Khối điều khiển trung tâm Khối chấp hành Cảm biến nhiệt độ DS18B20 Khối thiết bị ngoại vi Hình 3.2 Mô hình hóa hệ thống điện điều khiển 3.3 Mô hình hóa các thuật toán xử lý ảnh Mục tiêu của đồ án là điều khiển robot bám theo những chuyển động. .. Faraday Cấu tạo của động cơ DC gồm phần ứng, phần kích từ, chổi than và cổ góp Có 5 loại động cơ DC là : động cơ kích từ nối tiếp, động cơ kích từ song song, động cơ kích từ hỗn hợp, động cơ kích từ độc lập và động cơ nam châm vĩnh cửu Hình 2.15 Cấu tạo động cơ DC 21 Các trạng hoạt động của động cơ DC khá đơn giản, phân tích dựa trên đường đặc tính cơ của động cơ Gồm các trạng thái khởi động và trạng... hiệu là dừng (t) xuống máy tính Rẽ Trái Tiến Rẽ Phải Dừng Lùi Hình 3.4 Các vị trí tương ứng với các chế độ điều khiển 3.4 Mô hình hóa hệ điều khiển USB to COM Nguồn 5V Module IC phát sóng điều Module thu sóng khiển trung Mạch tâm điều khiển Động cơ động cơ Nguồn >12V Hình 3.5: Mô hình hóa hệ thống điều khiển - Khối USB to COM: Sử dụng IC chuyển đổi CH340 Cho phép cấp nguồn ra 5V và 3,3V Chuyển đổi từ... bằng mô hình và các lưu đồ Nhằm thể hiện rõ cơ sở từ thiết kế thực tế, cũng như tính liên kết toàn hệ thống Mô hình của hệ thống và thiết bị đươc lựa chọn là cơ sở để thiết kế các phần cơ khí của robot 3.1 Mô hình hóa, thiết kế hệ thống cơ khí Robot Hình 3.1 Mô hình cơ khí 30 1 Bánh sau truyền chuyển động từ động cơ chịu tải và giúp xe di chuyển 2 Bánh trước bánh omni giúp dẫn hướng cho robot khi di. .. đường thẳng, nên việc phân tích sự phụ thuộc của momen và vận tốc của động cơ ở các trạng thái đơn giản w w0 wdm M Mdm Mnm Hình 2.16 Đường đặc tính cơ động cơ DC 2.6 Mạch công suất điều khiển động cơ Với đề tài này nhóm đã chọn 2 động cơ DC 24v với công suất nhỏ, để thuận lợi cho việc điều khiển nhóm chọn module L298 để điểu khiển động cơ 2.6.1 Module L298 Dual H-Bridge Module sử dụng IC ST L298N tích... đồng tử di chuyển robot phải di chuyển theo dựa vào hình ảnh thu được từ webcam để xác định được đối tượng di thẳng, rẽ phải ,rẽ trái Nghĩa là chúng ta phải điều chỉnh cả tốc độ tuy nhiên trong đề tài này chúng em chỉ điều khiển hướng và tốc độ không thay đổi Để thực hiện được việc này, điều đầu tiên chúng ta cần là nhận di n chính xác được chuyển động của đồng tử và nhận di n được hướng chuyển động của... từ trang chủ Phù hợp với các giao di n nối tiếp chuẩn có trong hệ điều hành Window 2.9 Camera IP Việc điều khiển Robot trong nội dung đồ án là điều khiển vòng hở không có phản hồi Tuy nhiên việc nhận biết được hướng di chuyển và độ chính xác trong điều khiển là rất quan trọng Camera IP đã được nhóm sử dụng để thực hiện chức năng phản hồi lại trạng thái di chuyển của Robot Camera IP nhóm sử dụng là loại... di chuyển 3 Bao trục trước giữ trục và bi tạo lên sự đồng trục bánh trước dẫn hướng 4 Tải nhiệt của mạch L298 5 Chắn động cơ giúp cố định động cơ với vỏ xe và tạo độ đồng trục 6 Động cơ tạo ra chuyển động cho xe 7 Hộp pin được gắn với vỏ xe bằng bulong và đai ốc 8 Khung xe để lắp đặt mạch hệ thống động cơ, trục lên 9 Nắp hộp pin 10 Ổ bi đỡ trục và tạo chuyển động quay giữa trục và khung xe 11.Tấm sau... Nhận di n ảnh và xuất tín hiệu Sau khi nhận di n được chính xác đối tượng, dựa vào đó máy tính sẽ xuất tín hiệu gửi qua USB to COM xuống mạch phát sóng đi tới mạch thu phát sóng và được vi điều khiển xử lý để điều khiển động cơ Căn cứ vào vị trí dịch chuyển của đồng tử so với tọa độ gốc mà ta có thể tính toán được khả năng di chuyển của robot Qua đó, ta có thể chia khung ra thành các khoảng để việc điều. .. sản phẩm: - Sử dụng L298 gồm 2 mạch cầu H điều khiển động cơ DC - Điện áp cung cấp: +5V đến +35V - Dòng điện tối đa: 2A - Dòng tiêu thụ 0 ~ 36mA - Tin hiệu điều khiển điện áp đầuvào: - Mức độ thấp: 0,3

Ngày đăng: 04/08/2016, 10:22

Từ khóa liên quan

Mục lục

  • CHƯƠNG 1 GIỚI THIỆU CHUNG

    • 1.1 Giới thiệu chung

    • 1.2 Các vấn đề đặt ra

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

    • 1.4 Phạm vi và giới hạn đề tài

    • CHƯƠNG 2 TỔNG QUAN ROBOT DI ĐỘNG ĐIỀU KHIỂN BẰNG MẮT

      • 2.1 Lịch sử phát triển

      • 2.2 Tổng quan về xử lý ảnh

        • 2.2.1 Giới thiệu về hệ thống xử lý ảnh

        • 2.2.2 Những vấn đề cơ bản trong xử lý ảnh

        • 2.2.3 Tổng quan về thư viện Opencv

        • 2.3 Một số phương pháp xử lý ảnh với thư viện Opencv

          • 2.3.1 Giới hạn vùng xử lý

          • 2.3.2 Chuyển ảnh từ RGB sang GRAY

          • 2.3.3 Nhị phân hóa với ngưỡng

          • 2.3.4 Các phép toán hình thái học trong ảnh

          • 2.3.5 Tìm viền(contour)

          • 2.4 Khối điều khiển trung tâm

            • 2.4.1 Giao tiếp UART trong PIC 16F877A

            • 2.5 Cơ cấu chấp hành

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

              • 2.6.1 Module L298

              • 2.7 Tổng quan về phương thức điều khiển từ xa bằng sóng RF

                • 2.7.1 Biên độ và bước sóng

                • 2.7.2 Bức xạ điện từ

                • 2.7.3 Pha

                • 2.7.4 Các phương thức điều chế

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

Tài liệu liên quan