BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT
THÀNH PHỐ HỒ CHÍ MINH
ĐỒ ÁN TỐT NGHIỆP
NGÀNH CÔNG NGHỆ KỸ THUẬT ĐIỀU KHIỂN VÀ TỰ ĐỘNG HOÁ
ỨNG DỤNG XỬ LÝ ẢNH TỐI ƯU ĐƯỜNG ĐI
CHO ROBOT DELTA
GVHD: PGS.TS VŨ VĂN PHONG
SVTH: HỒ THANH PHÁP
NGUYỄN THẾ HẢO
SKL013230
Tp. Hồ Chí Minh, tháng 7 năm 2024
BỘ GIÁO DỤC &amp ĐÀO TẠO
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP. HỒ CHÍ MINH
KHOA ĐIỆN – ĐIỆN TỬ
BỘ MÔN TỰ ĐỘNG ĐIỀU KHIỂN
-⸙∆⸙-
ĐỒ ÁN TỐT NGHIỆP
Ngành: CNKT ĐIỀU KHIỂN &amp TỰ ĐỘNG HÓA
ỨNG DỤNG XỬ LÝ ẢNH TỐI ƯU
ĐƯỜNG ĐI CHO ROBOT DELTA
Đề tài:
Giáo viên hướng dẫn: PGS. TS Vũ Văn Phong
Sinh viên thực hiện:
Hồ Thanh Pháp - 20151531
Nguyễn Thế Hào – 20151467
Lớp:
201513A
Tp. Hồ Chí Minh, tháng 7 năm 2024
BỘ GIÁO DỤC VÀ ĐÀO TẠO
CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT
Độc lập – Tự do – Hạnh phúc
THÀNH PHỐ HỒ CHÍ MINH
BẢN CAM KẾT VÀ XÁC NHẬN KẾT QUẢ KIỂM TRA ĐẠO VĂN
(DÀNH CHO BÁO CÁO NGHIÊN CỨU KHOA HỌC SINH VIÊN,
KHÓA LUẬN, LUẬN VĂN, LUẬN ÁN)
I. Thông tin chung
1. Tên sản phẩm học thuật: Ứng dụng xử lý ảnh tối ưu đường đi cho robot
Delta.
2. Loại hình sản phẩm học thuật (Báo cáo nghiên cứu khoa học sinh viên/khóa
luận tốt nghiệp/luận văn thạc sĩ/luận án tiến sĩ): Khóa luận tốt nghiệp
3. Mã số sản phẩm học thuật (nếu có): ..............................................................
4. Thông tin tác giả (ghi tất cả tác giả của sản phẩm)
Vai trò
Stt
Họ và tên
MSSV/MSHV (Chủ nhiệm/thành viên/tác giả
chính/đồng tác giả…)
1
Hồ Thanh Pháp
20151531
2
Nguyễn Thế Hào
20151467
4. Thông tin giảng viên hướng dẫn
Họ và tên: PGS. TS Vũ Văn Phong MSCB: ....................................................
Khoa: Điện – Điện tử ........................................................................................
II. Kết quả kiểm tra đạo văn
Ngày nộp sản
phẩm
Ngày kiểm tra
đạo văn
% trùng lặp toàn % trùng lặp cao
nội dung
nhất từ 1 nguồn
Lưu ý: % trùng lặp nêu ở bảng trên không tính % trùng lặp của danh mục tài liệu
tham khảo.
i
III. Cam kết
Nhóm tác giả sản phẩm học thuật và giảng viên hướng dẫn cam kết rằng:
1. Nội dung trong sản phẩm học thuật nêu trên không vi phạm đạo đức và liêm
chính khoa học.
2. Kết quả % trùng lặp nêu tại mục II là hoàn toàn chính xác và trung thực.
3. Bằng việc ký xác nhận vào mẫu này, nhóm tác giả và giảng viên hướng
dẫn cam kết chịu hoàn toàn trách nhiệm có liên quan đến sản phẩm học
thuật nói trên.
Xác nhận của đại diện nhóm tác giả Xác nhận c
...
...
ce($D{p + 151}, highWordresultY22)
plc.SetDevice($D{p + 200}, lowWordresultY33)
plc.SetDevice($D{p + 201}, highWordresultY33)
}
if (countZero == 2)
{
67
plc.SetDevice($D{p + 102}, lowWordresultY11)
plc.SetDevice($D{p + 103}, highWordresultY11)
plc.SetDevice($D{p + 152}, lowWordresultY22)
plc.SetDevice($D{p + 153}, highWordresultY22)
plc.SetDevice($D{p + 202}, lowWordresultY33)
plc.SetDevice($D{p + 203}, highWordresultY33)
}
}
// gửi chế độ chạy vị trí
for (int a = 0 a ((oldCentroids.Count * 3) - 1 ) a++)
{
if (a ((oldCentroids.Count * 3) - 2 ))
{
plc.SetDevice($D{a + 1}, 5377)
}
else
{
plc.SetDevice($D{a + 1}, 5376)
}
}
// Xóa dữ liệu cũ
if (oldCentroids.Count num_previousCentroids)
{
// int l = num_previousCentroids - oldCentroids.Count
for (int z = oldCentroids.Count z ((num_previousCentroids *
3)+1) z++)
{
plc.SetDevice($D{z + 1}, 0)
}
}
// Kích để gán dữ liệu vào plc
plc.SetDevice(M51, 1)
Thread.(10)
plc.SetDevice(M51, 0)
if (Mode == false)
{
plc.SetDevice(M101, 1)
Thread.(10)
plc.SetDevice(M101, 0)
}
}
pbxResult.Image = resultImage.ToBitmap()
}
Chương trình con thuật toán láng giềng gần nhất
public (int, Listint) NearestNeighborTSP(int startVertex)
{
bool[] visited = new bool[V]
68
Listint path = new Listint()
int totalCost = 0
int currentVertex = 0
Console.WriteLine(currentVertex: + currentVertex)
visited[currentVertex] = true
path.Add(currentVertex)
for (int count = 1 count V count++)
{
int nextVertex = -1
int minWeight = int.MaxValue
// Tìm đỉnh gần nhất chưa được thăm
for (int v = 0 v V v++)
{
if (!visited[v] &amp&amp graph[currentVertex][v] minWeight)
{
Console.WriteLine(graph + currentVertex + v + : +
graph[currentVertex][v])
minWeight = graph[currentVertex][v]
nextVertex = v
}
}
if (nextVertex != -1)
{
visited[nextVertex] = true
path.Add(nextVertex)
totalCost += minWeight
currentVertex = nextVertex
}
}
// Quay về đỉnh ban đầu để hoàn thành chu trình
totalCost += graph[currentVertex][startVertex]
path.Add(0)
Console.WriteLine(totalCost: + totalCost)
Console.WriteLine(Đường đi + currentVertex + : + string.Join( - ,
path))
return (totalCost, path)
}
Chương trình PLC
Chương trình chế độ AUTO
69
70
Bản vẽ chi tiết Robot Delta
Khung định hình
71
Cánh tay robot L2
72
Cánh tay robot L1
73
Khâu chấp hành
74
Tấm đế cố định
75
Toàn bộ robot Delta
76
77
S
K
L
0
0
2
1
5
4