TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH
KHOA ĐÀO TẠO CHẤT LƯỢNG CAO
ĐỒ ÁN TỐT NGHIỆP
HỘP DỤNG CỤ DI ĐỘNG
SVTH :
MSSV :
Khóa :
Ngành :
GVHD :
TẠ MINH TRÍ
10119133
10
Công nghệ kỹ thuật máy tính
TS. TRƯƠNG NGỌC SƠN
Tp. Hồ Chí Minh, tháng 01 năm 2019
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH
KHOA ĐÀO TẠO CHẤT LƯỢNG CAO
ĐỒ ÁN TỐT NGHIỆP
HỘP DỤNG CỤ DI ĐỘNG
SVTH :
MSSV :
Khóa :
Ngành :
GVHD :
TẠ MINH TRÍ
10119133
10
Công nghệ kỹ thuật máy tính
TS. TRƯƠNG NGỌC SƠN
Tp. Hồ Chí Minh, tháng 01 năm 2019
CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập – Tự do – Hạnh phúc
*******
NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP
Họ và tên Sinh viên: Tạ Minh Trí.
Ngành: Công nghệ kỹ thuật máy tính.
Giáo viên hướng dẫn: TS. Trương Ngọc Sơn.
Ngày nhận đề tài: 28/9/2018.
MSSV: 10119133.
Lớp: 10119CLC.
ĐT: 0931085929.
Ngày nộp đề tài: 15/01/2019.
1. Tên đề tài: HỘP DỤNG CỤ DI ĐỘNG.
2. Các số liệu ban đầu:
- Kiến thức cơ bản về lập trình Python.
- Nhận diện vật thể bằng OpenCV.
3. Nội dung thực hiện đề tài:
Nhiệm vụ
Trí
Lập trình hệ thống
X
Nhận diện vật thể
X
Thi công đề tài
X
Viết báo cáo
X
4. Sản phẩm: HỘP DỤNG CỤ DI ĐỘNG.
TRƯỞNG NGÀNH
GIÁO VIÊN HƯỚNG DẪN
CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập – Tự do – Hạnh phúc
*******
PHIẾU NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
Họ và tên Sinh viên: Tạ Minh Trí.
MSSV: 10119133.
Ngành: Công nghệ kỹ thuật máy tính.
Tên đề tài: Hộp dụng cu di động.
Họ và tên Giáo viên phản biện: TS. Trương Ngọc Sơn.
NHẬN XÉT
1. Về nội dung đề tài &amp khối lượng thực hiện:
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
2. Ưu điểm:
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
...
...
ra.framerate = 16
rawCapture = PiRGBArray(camera, size=(160, 128))
global flag
SVTH: TẠ MINH TRÍ
67
ĐỒ ÁN TỐT NGHIỆP
GVHD: TS. TRƯƠNG NGỌC SƠN
flag = False
# allow the camera to warmup
time.(0.001)
# capture frames from the camera
for
image
in
camera.capture_continuous(rawCapture,
use_video_port=True):
frame = image.array
frame=cv2.flip(frame,1)
global centre_x
global centre_y
format=bgr,
centre_x=0.
centre_y=0.
hsv1 = cv2.cvtColor(frame, cv2.COLOR_BGR2HSV)
mask_red=segment_colour(frame)
#masking red the frame
loct,area=find_blob(mask_red)
x,y,w,h=loct
avg_width = 7
focalLength = 875
#distance coming from front ultrasonic sensor
distanceC = sonar(GPIO_TRIGGER2,GPIO_ECHO2)
#distance coming from right ultrasonic sensor
distanceR = sonar(GPIO_TRIGGER3,GPIO_ECHO3)
#distance coming from left ultrasonic sensor
distanceL = sonar(GPIO_TRIGGER1,GPIO_ECHO1)
if (w*h) 10:
found=0
else:
found=1
simg2 = cv2.rectangle(frame, (x,y), (x+w,y+h), 255,2)
centre_x=x+((w)/2)
centre_y=y+((h)/2)
cv2.circle(frame,(int(centre_x),int(centre_y)),3,(0,110,255),-1)
SVTH: TẠ MINH TRÍ
68
ĐỒ ÁN TỐT NGHIỆP
GVHD: TS. TRƯƠNG NGỌC SƠN
centre_x-=80
centre_y=6centre_y
#print(w)
initial=600
#GPIO.output(LED_PIN,GPIO.LOW)
print (repr(area) + + repr(w*h))
if(found==0):
#print (repr(flag) + B)
#print (repr(centre_x))
if(flag==True):
leftturn()
time.(0.05)
#print(left)
else:
rightturn()
time.(0.05)
stop()
time.(0.0125)
#print(right)
elif(found==1):
dist = distance_to_camera(avg_width, focalLength, w*4.5)
#print (repr(dist) + cm)
if(areainitial):
if(distanceC10):
stop()
time.(0.01)
else:
forward()
time.(0.0000625)
if(area=initial):
initial2=6700
if(areainitial2):
if(dist20):
if(centre_x=-20 or centre_x=20):
SVTH: TẠ MINH TRÍ
69
ĐỒ ÁN TỐT NGHIỆP
GVHD: TS. TRƯƠNG NGỌC SƠN
if(centre_x0):
flag = False
rightturn()
#print(centre_x, centre_y, turn right)
time.(0.071)
elif(centre_x0):
flag = True
leftturn()
#print(centre_x, centre_y, turn left)
time.(0.071)
forward()
#print (repr(dist) + cm + forward)
#print (repr(flag) + A)
time.(0.00003125)
stop()
time.(0.00625)
else:
stop()
#print (repr(dist) + cm + stop)
time.(0.01)
else:
time.(0.1)
stop()
time.(0.1)
#cv2.imshow(draw,frame)
rawCapture.(0) # clear the stream in preparation for the next frame
if(cv2.waitKey(1) &amp 0xff == ord(q)):
break
GPIO.cleanup() #free all the GPIO pins
SVTH: TẠ MINH TRÍ
70