Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 36 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
36
Dung lượng
6,24 MB
Nội dung
ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA ĐIỆN BÁO CÁO THỰC TẬP TỐT NGHIỆP NGÀNH: KỸ THUẬT ĐIỀU KHIỂN VÀ TỰ ĐỘNG HỐ THỰC TẬP TẠI: CƠNG TY ĐIỆN LỰC THỪA THIÊN HUẾ Sinh viên thực hiện: Lê Thị Minh Liên Trịnh Duy Tuấn Kiệt Người hướng dẫn: GVHD : PGS.TS Lê Tiến Dũng CBHD1: Nguyễn Ngọc Hoài Quang CBHD2: Huỳnh Thế Quốc Thừa Thiên Huế, tháng 3/2023 THỰC TẬP TỐT NGHIỆP CÔNG TY ĐIỆN LỰC THỪA THIÊN HUẾ CƠNG TY ĐIỆN LỰC CỘNG HỊA XÃ HỘI CHỦ NGHĨA VIỆT NAM THỪA THIÊN HUẾ Độc lập – Tự – Hạnh phúc PHIẾU NHẬN XÉT, ĐÁNH GIÁ SINH VIÊN THỰC TẬP TỐT NGHIỆP (Phần đánh giá công ty, doanh nghiệp nơi sinh viên đến thực tập) Thông tin chung: Họ tên sinh viên: Lớp: Mã số sinh viên: Thời gian thực tập: Tên công ty, doanh nghiệp thực tập: Cán hướng dẫn: Chức vụ: Thông tin liên hệ: Email: Đánh giá: Nội dung đánh giá Điể m tối đa - Chuyên cần, thái độ học tập, giao tiếp - Ý thức kỷ luật, chấp hành nội quy, quy định - Kết học tập chun mơn, mức độ hồn thành cơng việc Tổng cộng Điểm đánh giá 10 Nhận xét chung: Xác nhận công ty, doanh nghiệp thực tập ……………, ngày … tháng … năm …… Cán hướng dẫn (Ký ghi rõ họ tên) THỰC TẬP TỐT NGHIỆP CÔNG TY ĐIỆN LỰC THỪA THIÊN HUẾ Nội dung thực tập STT Thời gian 14/2/2023 đến 19/2/2023 20/2/2023 đến 26/2/2023 27/2/2023 đến 5/2/2023 6/2/2023 đến 15/2/2023 Nội dung công việc Tìm hiểu chung: + Tổng quan Cơng ty Điện lực Thừa Thiên Huế + Các phịng, ban Cơng ty + Tổng quan lưới điện Thừa Thiên Huế Giải pháp thu thập diệu công tơ điện từ xa + Hệ thống AMR + Hệ thống DS-PM + Hệ thống RS-SPIDER Thực xử lý ảnh, nhận diện màu sắc hình dạng Python + Tính tốn phương trình động học thuận, động học ngược + Mơ ROBOT Solidwork + Mô Matlab&Simulink + Làm mơ hình ROBOT THỰC TẬP TỐT NGHIỆP CƠNG TY ĐIỆN LỰC THỪA THIÊN HUẾ MỤC LỤC CHƯƠNG 1: TỔNG QUAN VỀ CÔNG TY ĐIỆN LỰC THỪA THIÊN HUẾ 1.1 Giới thiệu Công ty Điện Lực Thừa Thiên Huế 1.2 Sơ đồ máy tổ chức công ty điện lực Thừa Thiên Huế 1.3 Tổng quan chức nhiệm vụ số Phòng Ban 1.4 Tổng quan lưới điện phân phối Thừa Thiên Huế .10 CHƯƠNG 2: GIẢI PHÁP THU THẬP DỮ LIỆU CÔNG TƠ ĐIỆN TỪ XA 13 2.1 Giới thiệu hệ thống AMR 13 2.1.1 Tổ chức hệ thống .13 2.1.2 Công nghệ thu thập liệu .14 2.2 Hệ thống DSPM 14 2.2.1 Đặc điểm hệ thống 14 2.2.2 Các thành phần hệ thống 15 2.3 Hệ thống RF – SPIDER 16 2.3.1 Đặc điểm hệ thống: .16 2.3.2 Các thành phần hệ thống .16 CHƯƠNG 3: TÌM HIỂU GIẢI PHÁP XỬ LÝ HÌNH ẢNH, NHẬN DIỆN MÀU SẮC VÀ HÌNH DẠNG ĐANG ĐƯỢC TRIỂN KHAI ỨNG DỤNG TẠI CƠNG TY ĐIỆN LỰC THỪA THIÊN HUẾ 18 3.1 Ảnh số không gian màu xử lý ảnh .18 3.1.1 Ảnh raster 18 3.1.2 Ảnh vector 18 3.1.3 Các không gian màu biểu diễn ảnh 19 3.1.4 Chuyển đổi không gian màu OpenCV .20 3.2 Xử lý ảnh với thư viện OpenCV ngôn ngữ Python 20 3.2.1 Làm việc với thư viện OpenCV 20 CHƯƠNG 4: MÔ PHỎNG CÁNH TAY ROBOT 4DOF BẰNG SOILDWORK VÀ MATLABSIMULINK 23 4.1 Tính tốn động học thuận động học ngược cánh tay robot 4DoF 23 THỰC TẬP TỐT NGHIỆP CÔNG TY ĐIỆN LỰC THỪA THIÊN HUẾ 4.1.1 Động học thuận 23 4.1.2 Tính tốn động học ngược 24 4.2 Mô SoildWork MatlabSimulink .25 4.2.1 Mô SoildWork 25 4.2.2 Mô MatlabSimulink .25 4.3 Mơ hình cánh tay Robot thực tế .34 THỰC TẬP TỐT NGHIỆP CÔNG TY ĐIỆN LỰC THỪA THIÊN HUẾ CHƯƠNG 1: TỔNG QUAN VỀ CÔNG TY ĐIỆN LỰC THỪA THIÊN HUẾ 1.1 Giới thiệu Công ty Điện Lực Thừa Thiên Huế Công ty Điện lực Thừa Thiên Huế (viết tắt TTHPC) doanh nghiệp thành viên thuộc Tổng công ty Điện lực miền Trung (EVNCPC), hoạt động đa ngành nghề ngành nghề sản xuất kinh doanh điện địa bàn tỉnh Thừa Thiên Huế Tên gọi : Công ty Điện lực Thừa Thiên Huế Tên nước : Thua Thien Hue Power Company Địa Huế : 32 Lý Thường Kiệt, phường Vĩnh Ninh, thành phố Hotline : 19001909 Email : pctth@cpc.vn Số điện thoại : (84-234) 3997999 Hình 1 Trụ sở Cơng ty Điện Lực Thừa Thiên Huế THỰC TẬP TỐT NGHIỆP CÔNG TY ĐIỆN LỰC THỪA THIÊN HUẾ 1.2 Sơ đồ máy tổ chức công ty điện lực Thừa Thiên Huế Công ty Điện lực Thừa Thiên Huế bao gồm: Giám đốc, Phó giám đốc, 13 Phịng ban 10 chi nhánh điện lực trực thuộc 1.3 Tổng quan chức nhiệm vụ số Phòng Ban a) Phòng an toàn - Chức năng: Tham mưu tổ chức thực cơng tác kỹ thuật an tồn, BHLĐ, PCTT&TKCN, PCCN&CNCH bảo vệ hành lang an toàn lưới điện phạm vi Công ty quản lý - Nhiệm vụ chính: + Xây dựng kế hoạch AT-VSLĐ, PCTT&TKCN, PCCN&CNCH hàng năm để Ban Giám đốc Công ty xem xét, phê duyệt trình EVNCPC + Tổ chức hướng dẫn, kiểm tra đánh giá việc thực công tác ATVSLĐ, PCTT&TKCN PCCN&CNCH + Tổ chức huấn luyện, sát hạch quy trình kỹ thuật an tồn định kỳ hàng năm cho công nhân, làm thủ tục cấp thẻ an toàn theo quy định hành THỰC TẬP TỐT NGHIỆP CÔNG TY ĐIỆN LỰC THỪA THIÊN HUẾ + Định kỳ, đột xuất kiểm tra chế độ phiếu công tác, phiếu thao tác, chế độ trực ca vận hành, … + Tổ chức điều tra, thống kê, báo cáo vụ tai nạn lao động cố xảy tồn Cơng ty theo quy định EVNCPC Rút kinh nghiệm, đề xuất biện pháp phòng ngừa xử lý vi phạm + Tổ chức huấn luyện cho cán gián tiếp, mạng lưới an toàn vệ sinh viên đơn vị theo quy định hành + Tổ chức kiểm tra xin cấp phép thiết bị có yêu cầu nghiêm ngặt an toàn Kiểm tra việc quản lý sử dụng thiết bị có u cầu nghiêm ngặt an tồn, cập nhật đầy đủ thông số hồ sơ lý lịch thiết bị + Đề xuất xử lý điểm an tồn lưới + Thực cơng tác kiểm tra đơn vị thực bảo vệ an toàn hành lang tuyến lưới điện theo quy định + Không để xảy TNLĐ chủ quan b) Phòng kỹ thuật - - Chức năng: Tham mưu tổ chức thực công tác Quản lý kỹ thuật nguồn lưới điện; Theo dõi hoạt động sáng kiến hợp lý hoá sản xuất nghiên cứu khoa học, triển khai ứng dụng tiến KHCN vào hoạt động SXKD Công ty; Quản lý môi trường chất thải nguy hại Nhiệm vụ chính: + Xây dựng kế hoạch phát triển nguồn, lưới theo phân cấp để đảm bảo việc phát triển đồng đáp ứng việc phát triển phụ tải phù hợp với quy hoạch phát điển KTXH địa phương + Xây dựng bảo vệ tiêu KT hàng năm Công ty với cấp + Thẩm tra giải pháp kỹ thuật + Đề xuất giải pháp, phương án KT, theo dõi đôn đốc đơn vị liên quan thực nghiệp vụ QLKT để vận hành khai thác nguồn, lưới điện đạt tiêu chí KT cấp giao, bảo đảm an toàn cho người thiết bị, bảo đảm chất lượng điện cung cấp cho khách hàng + Triển khai công tác xây dựng, cập nhật khai thác CSDL lưới điện chương trình QLKT (PMIS, GIS …) + Quản lý cơng tác thí nghiệm, bảo dưỡng, sửa chữa định kỳ cơng trình nguồn, lưới điện + Tham gia lập quy hoạch phát triển hạ tầng với địa phương THỰC TẬP TỐT NGHIỆP CÔNG TY ĐIỆN LỰC THỪA THIÊN HUẾ + Thực công tác quản lý cố nguồn, lưới điện + Triển khai ứng dụng phát triển Tự động hóa lưới điện + Xây dựng phương án liên quan đến đền bù tài sản lưới điện c) Phòng Điều độ - - Chức năng: Tham mưu tổ chức thực công tác QLVH hệ thống điện, trực tiếp huy điều độ hệ thống điện thuộc quyền điều khiển, chấp hành huy thống Trung tâm Điều độ hệ thống điện miền Trung trình điều độ hệ thống điện, chấp hành phương thức vận hành EVNCPC giao Nhiệm vụ chính: + Lập sơ đồ kết dây lưới điện phân phối + Lập phương thức vận hành hàng năm, tháng, tuần, ngày lưới điện thuộc quyền quản lý + Xây dựng phương thức tự động hóa lưới điện phân phối + Lập thực phương thức vận hành hệ thống điện Quốc gia thiếu nguồn + Tính tốn chế độ bảo vệ rơle lưới điện phân phối + Chỉ huy vận hành lưới điện thuộc quyền điều khiển an toàn, ổn định, liên tục, đảm bảo chất lượng điện vận hành chế độ kinh tế + Chỉ huy thao tác xử lý cố lưới điện phân phối Ngoài hành chính, Điều độ viên ca trực sử dụng quyền Giám đốc Công ty để yêu cầu nguồn lực đơn vị việc điều hành cố + Thực thao tác thiết bị thuộc quyền điều khiển ủy quyền lưới điện phân phối TBA 110kV có kết nối với TTĐK, đồng thời thực giám sát tình trạng vận hành thao tác thiết bị TBA 110kV (Không người trực) phân cấp theo lệnh điều độ A3, qua hệ thống SCADA hệ thống công nghệ giám sát điều khiển xa khác + QLVH hệ thống thông tin vô tuyến phục vụ công tác sản xuất + QLVH hệ thống SCADA/DMS tự động hóa lưới điện d) Phịng Kinh doanh - Chức năng: Tham mưu tổ chức thực công tác: + Kinh doanh điện năng, dịch vụ khách hàng, quản lý nhu cầu phụ tải, dụng lượng điện tiết kiệm có hiệu THỰC TẬP TỐT NGHIỆP CÔNG TY ĐIỆN LỰC THỪA THIÊN HUẾ + Tuyên truyền, quảng bá công tác phát triển lượng tái tạo theo - quy định, sách Nhà nước, EVN EVNCPC ban hành, đảm bảo hiệu SXKD Nhiệm vụ + Thực đàm phán, quản lý hợp đồng mua bán điện Đàm phán, kí kết quản lý hợp đồng liên quan đến công tác thuê thực ghi số, thu tiền điện + Triển khai chương trình đại hóa hệ thống đo đếm điện phù hợp lộ trình phát triển EVNCPC + Quản lý nhu cầu phụ tải, bao gồm hoạt động: dự báo phụ tải, quản lý nhu cầu điện điều chỉnh phụ tải + Quản lý hệ thống đo đếm điện khách hàng, đầu nguồn, ranh giới Công ty với EVNCPC đơn vị thành viên + Quản lý khai thác hệ thống thu thập liệu đo đếm từ xa + Phân tích đề giải pháp nhằm kiểm soát tổn thất điện thương mại Công ty + Lập kế hoạch triển khai công tác tuyên truyền sử dụng lượng điện tiết kiệm hiệu 1.4 Tổng quan lưới điện phân phối Thừa Thiên Huế Để đảm bảo cung cấp điện an toàn, liên tục, phục vụ sản xuất kinh doanh, đời sống sinh hoạt nhân dân, hoạt động doanh nghiệp địa bàn tỉnh Thừa Thiên Huế, bên cạnh Cơng ty Điện lực Thừa Thiên Huế đảm bảo cung ứng điện phục vụ phát triển kinh tế xã hội an ninh quốc phòng địa bàn tỉnh Thừa Thiên Huế Hiện tỉnh Thừa Thiên Huế nhận điện từ hệ thống điện Quốc Gia qua tuyến đường dây 110 kV Đà Nẵng - Huế (chiều dài 86 km dây dẫn 2xACSR-185), tuyến Đồng Hới – Huế (mạch đơn ACSR-185) đường dây mạch đơn 220 kV Hòa Khánh Huế (chiều dài 80 km, dây dẫn ACSR-400) thông qua trạm biến áp sau: Trạm 220 kV Huế có cơng suất 1x125 MVA điện áp 220/110 kV, trạm vận hành từ 08/2002, xây dựng sở mở rộng trạm 110 kV Huế 1, nằm địa bàn xã Thủy An – Thành phố Huế (gần Ngự Bình) Trạm 220 kV Huế nhận điện từ trạm biến áp 500 kV qua đường dây 220 kV Đà Nẵng - Huế Lưới điện phân phối 110kV Thừa Thiên Huế bao gồm: 12 TBA 110 kV với 19 MBA (603MVA), PC Huế quản lý 11 TBA (16 MBA – 513MVA), TBA 10 MVA KH E8, MBA (80MVA) TTĐ 10 THỰC TẬP TỐT NGHIỆP b) CÔNG TY ĐIỆN LỰC THỪA THIÊN HUẾ Phương pháp xử lý ảnh nhận diện màu sắc + Chuyển đổi không gian màu: Ta chuyển đổi khơng gian màu ảnh sang không gian màu khác HSV LAB, sau sử dụng ngưỡng để phân loại pixel thành lớp màu sắc khác Ví dụ, màu đỏ có giá trị H (hue) nằm khoảng từ đến 30 từ 330 đến 360 khơng gian màu HSV + Sử dụng histogram: Ta tính tốn histogram ảnh phân tích độ phân bố mức xám khác để xác định lớp màu sắc khác Ví dụ, pixel với giá trị mức xám cao coi màu sắc sáng hơn, pixel với giá trị mức xám thấp coi màu sắc tối + Sử dụng mơ hình học máy: Ta sử dụng mơ hình học máy mạng neural để huấn luyện mơ hình nhận diện màu sắc Ta sử dụng phương pháp mạng neural tích chập (CNN) để tìm kiếm đặc trưng màu sắc phân loại chúng thành lớp khác + Sử dụng phân đoạn ảnh: Phân đoạn ảnh trình phân tách ảnh thành vùng tương đồng màu sắc độ sáng Ta sử dụng phân đoạn ảnh để tìm kiếm vùng màu sắc khác phân loại chúng thành lớp màu sắc khác Kết nhận diện màu sắc: 22 THỰC TẬP TỐT NGHIỆP CÔNG TY ĐIỆN LỰC THỪA THIÊN HUẾ 23 THỰC TẬP TỐT NGHIỆP CÔNG TY ĐIỆN LỰC THỪA THIÊN HUẾ 24 THỰC TẬP TỐT NGHIỆP CÔNG TY ĐIỆN LỰC THỪA THIÊN HUẾ CHƯƠNG 4: MÔ PHỎNG CÁNH TAY ROBOT 4DOF BẰNG SOILDWORK VÀ MATLABSIM ULINK 4.1 Tính tốn động học thuận động học ngược cánh tay robot 4DoF 4.1.1 Động học thuận Các khớp đặt hình vẽ Phương pháp Biến đổi Denavit-Hartenberg (DH) theo sau để gán khung phối hợp (Denavit Hartenberg 1955, Craig 2017) Để có tham số DH, khung phối hợp (tức khung liên kết lập đồ cá trục quay liên tiếp) cho trùng khớp với trục qua chung có thứ tự Bảng 4.1 hiển thị thông số DH Robot Link α d 90 0 0 0 Dạng tổng quát ma trận Denavit-Hartenberg cho khâu: Ta xác định ma trận biến đổi cho cánh tay máy 4DoF 25 THỰC TẬP TỐT NGHIỆP CÔNG TY ĐIỆN LỰC THỪA THIÊN HUẾ 4.1.2 Tính tốn động học ngược Bài tốn động học ngược phát biểu là: Cho trước vị trí hướng endeffector robot, tính tốn tất tập hợp giá trị biến khớp sử dụng để tạo vị trí hướng end-effector Đối với tay máy robot nối tiếp, toán động học thuận thường dễ giải tốn động học ngược tốn khó tồn nhiều nghiệm Nghiệm phương trình: 26 THỰC TẬP TỐT NGHIỆP CÔNG TY ĐIỆN LỰC THỪA THIÊN HUẾ 4.2 Mô SoildWork MatlabSimulink 4.2.1 Mô SoildWork 4.2.2 Mô MatlabSimulink a) Liên kết Matlab SoildWork b) Code điều khiển cánh tay máy 4DoF function varargout = dung(varargin) gui_Singleton = 1; gui_State = struct('gui_Name', mfilename, 'gui_Singleton', gui_Singleton, 'gui_OpeningFcn', @dung_OpeningFcn, 'gui_OutputFcn', @dung_OutputFcn, 'gui_LayoutFcn', [] , 'gui_Callback', []); if nargin && ischar(varargin{1}) gui_State.gui_Callback = str2func(varargin{1}); end if nargout [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); 27 THỰC TẬP TỐT NGHIỆP CÔNG TY ĐIỆN LỰC THỪA THIÊN HUẾ else gui_mainfcn(gui_State, varargin{:}); end function dung_OpeningFcn(hObject, eventdata, handles, varargin) handles.output = hObject; guidata(hObject, handles); function varargout = dung_OutputFcn(hObject, eventdata, handles) varargout{1} = handles.output; function slider1_Callback(hObject, eventdata, handles) ModelName = 'ROBOTNE'; %l1=242; l2=350; l3=391; l4=232; %góc quay theta1=get(handles.slider1,'value'); set(handles.edit1,'string',num2str(theta1)); theta2=get(handles.slider2,'value'); set(handles.edit2,'string',num2str(theta2)); theta3=get(handles.slider3,'value'); set(handles.edit3,'string',num2str(theta3)); theta4=get(handles.slider4,'value'); set(handles.edit4,'string',num2str(theta4)); %xoay canh tay ben simulink set_param([ModelName '/Slider set_param([ModelName '/Slider set_param([ModelName '/Slider set_param([ModelName '/Slider Gain'],'Gain',num2str(theta1)); Gain1'],'Gain',num2str(theta2)); Gain2'],'Gain',num2str(theta3)); Gain3'],'Gain',num2str(theta4)); T1 = [cosd(theta1) sind(theta1) 0; sind(theta1) -cosd(theta1) 0; 242; 0 1]; T2 = [cosd(theta2) -sind(theta2) l2*cosd(theta2); sind(theta2) cosd(theta2) l2*sind(theta2); 0 0; 0 1]; T3 = [cosd(theta3) -sind(theta3) l3*cosd(theta3); sind(theta3) cosd(theta3) l3*sind(theta3); 0 0; 0 1]; T4 = [cosd(theta4) -sind(theta4) l4*cosd(theta4); sind(theta4) cosd(theta4) l4*sind(theta4); 0 0; 0 1]; T = T1*T2*T3*T4 px = T(1,4); py = T(2,4); 28 THỰC TẬP TỐT NGHIỆP CÔNG TY ĐIỆN LỰC THỪA THIÊN HUẾ pz = T(3,4); set(handles.edit8,'string',num2str(px)); set(handles.edit9,'string',num2str(py)); set(handles.edit10,'string',num2str(pz)); function slider1_CreateFcn(hObject, eventdata, handles) if isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor',[.9 9]); end function slider2_Callback(hObject, eventdata, handles) ModelName = 'ROBOTNE'; %l1=242; l2=350; l3=391; l4=232; %góc quay theta1=get(handles.slider1,'value'); set(handles.edit1,'string',num2str(theta1)); theta2=get(handles.slider2,'value'); set(handles.edit2,'string',num2str(theta2)); theta3=get(handles.slider3,'value'); set(handles.edit3,'string',num2str(theta3)); theta4=get(handles.slider4,'value'); set(handles.edit4,'string',num2str(theta4)); %xoay canh tay ben simulink set_param([ModelName '/Slider set_param([ModelName '/Slider set_param([ModelName '/Slider set_param([ModelName '/Slider Gain'],'Gain',num2str(theta1)); Gain1'],'Gain',num2str(theta2)); Gain2'],'Gain',num2str(theta3)); Gain3'],'Gain',num2str(theta4)); T1 = [cosd(theta1) sind(theta1) 0; sind(theta1) -cosd(theta1) 0; 242; 0 1]; T2 = [cosd(theta2) -sind(theta2) l2*cosd(theta2); sind(theta2) cosd(theta2) l2*sind(theta2); 0 0; 0 1]; T3 = [cosd(theta3) -sind(theta3) l3*cosd(theta3); sind(theta3) cosd(theta3) l3*sind(theta3); 0 0; 0 1]; T4 = [cosd(theta4) -sind(theta4) l4*cosd(theta4); sind(theta4) cosd(theta4) l4*sind(theta4); 0 0; 0 1]; T = T1*T2*T3*T4 px = T(1,4); py = T(2,4); pz = T(3,4); 29 THỰC TẬP TỐT NGHIỆP CÔNG TY ĐIỆN LỰC THỪA THIÊN HUẾ set(handles.edit8,'string',num2str(px)); set(handles.edit9,'string',num2str(py)); set(handles.edit10,'string',num2str(pz)); function slider2_CreateFcn(hObject, eventdata, handles) if isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor',[.9 9]); end function slider3_Callback(hObject, eventdata, handles) ModelName = 'ROBOTNE'; %l1=242; l2=350; l3=391; l4=232; %góc quay theta1=get(handles.slider1,'value'); set(handles.edit1,'string',num2str(theta1)); theta2=get(handles.slider2,'value'); set(handles.edit2,'string',num2str(theta2)); theta3=get(handles.slider3,'value'); set(handles.edit3,'string',num2str(theta3)); theta4=get(handles.slider4,'value'); set(handles.edit4,'string',num2str(theta4)); %xoay canh tay ben simulink set_param([ModelName '/Slider set_param([ModelName '/Slider set_param([ModelName '/Slider set_param([ModelName '/Slider Gain'],'Gain',num2str(theta1)); Gain1'],'Gain',num2str(theta2)); Gain2'],'Gain',num2str(theta3)); Gain3'],'Gain',num2str(theta4)); T1 = [cosd(theta1) sind(theta1) 0; sind(theta1) -cosd(theta1) 0; 242; 0 1]; T2 = [cosd(theta2) -sind(theta2) l2*cosd(theta2); sind(theta2) cosd(theta2) l2*sind(theta2); 0 0; 0 1]; T3 = [cosd(theta3) -sind(theta3) l3*cosd(theta3); sind(theta3) cosd(theta3) l3*sind(theta3); 0 0; 0 1]; T4 = [cosd(theta4) -sind(theta4) l4*cosd(theta4); sind(theta4) cosd(theta4) l4*sind(theta4); 0 0; 0 1]; T = T1*T2*T3*T4 px = T(1,4); py = T(2,4); pz = T(3,4); set(handles.edit8,'string',num2str(px)); 30 THỰC TẬP TỐT NGHIỆP CÔNG TY ĐIỆN LỰC THỪA THIÊN HUẾ set(handles.edit9,'string',num2str(py)); set(handles.edit10,'string',num2str(pz)); function slider3_CreateFcn(hObject, eventdata, handles) if isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor',[.9 9]); end % - Executes on slider movement function slider4_Callback(hObject, eventdata, handles) ModelName = 'ROBOTNE'; %l1=242; l2=350; l3=391; l4=232; %góc quay theta1=get(handles.slider1,'value'); set(handles.edit1,'string',num2str(theta1)); theta2=get(handles.slider2,'value'); set(handles.edit2,'string',num2str(theta2)); theta3=get(handles.slider3,'value'); set(handles.edit3,'string',num2str(theta3)); theta4=get(handles.slider4,'value'); set(handles.edit4,'string',num2str(theta4)); %xoay canh tay ben simulink set_param([ModelName '/Slider set_param([ModelName '/Slider set_param([ModelName '/Slider set_param([ModelName '/Slider Gain'],'Gain',num2str(theta1)); Gain1'],'Gain',num2str(theta2)); Gain2'],'Gain',num2str(theta3)); Gain3'],'Gain',num2str(theta4)); T1 = [cosd(theta1) sind(theta1) 0; sind(theta1) -cosd(theta1) 0; 242; 0 1]; T2 = [cosd(theta2) -sind(theta2) l2*cosd(theta2); sind(theta2) cosd(theta2) l2*sind(theta2); 0 0; 0 1]; T3 = [cosd(theta3) -sind(theta3) l3*cosd(theta3); sind(theta3) cosd(theta3) l3*sind(theta3); 0 0; 0 1]; T4 = [cosd(theta4) -sind(theta4) l4*cosd(theta4); sind(theta4) cosd(theta4) l4*sind(theta4); 0 0; 0 1]; T = T1*T2*T3*T4 px = T(1,4); py = T(2,4); pz = T(3,4); 31 THỰC TẬP TỐT NGHIỆP CÔNG TY ĐIỆN LỰC THỪA THIÊN HUẾ set(handles.edit8,'string',num2str(px)); set(handles.edit9,'string',num2str(py)); set(handles.edit10,'string',num2str(pz)); function slider4_CreateFcn(hObject, eventdata, handles) if isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor',[.9 9]); end % - Executes on slider movement function slider5_Callback(hObject, eventdata, handles) px=get(handles.slider5,'value'); set(handles.edit5,'string',num2str(px)); function slider5_CreateFcn(hObject, eventdata, handles) if isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor',[.9 9]); end % - Executes on slider movement function slider6_Callback(hObject, eventdata, handles) py=get(handles.slider6,'value'); set(handles.edit6,'string',num2str(py)); function slider6_CreateFcn(hObject, eventdata, handles) if isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor',[.9 9]); end % - Executes on slider movement function slider7_Callback(hObject, eventdata, handles) pz=get(handles.slider7,'value'); set(handles.edit7,'string',num2str(pz)); function slider7_CreateFcn(hObject, eventdata, handles) if isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor',[.9 9]); end function edit1_Callback(hObject, eventdata, handles) function edit1_CreateFcn(hObject, eventdata, handles) if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end function edit2_Callback(hObject, eventdata, handles) function edit2_CreateFcn(hObject, eventdata, handles) if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end function edit3_Callback(hObject, eventdata, handles) function edit3_CreateFcn(hObject, eventdata, handles) if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end function edit4_Callback(hObject, eventdata, handles) 32 THỰC TẬP TỐT NGHIỆP CÔNG TY ĐIỆN LỰC THỪA THIÊN HUẾ function edit4_CreateFcn(hObject, eventdata, handles) if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end function edit5_Callback(hObject, eventdata, handles) function edit5_CreateFcn(hObject, eventdata, handles) if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end function edit6_Callback(hObject, eventdata, handles) function edit6_CreateFcn(hObject, eventdata, handles) if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end function edit7_Callback(hObject, eventdata, handles) function edit7_CreateFcn(hObject, eventdata, handles) if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end function edit8_Callback(hObject, eventdata, handles) function edit8_CreateFcn(hObject, eventdata, handles) if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end function edit9_Callback(hObject, eventdata, handles) function edit9_CreateFcn(hObject, eventdata, handles) if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end function edit10_Callback(hObject, eventdata, handles) function edit10_CreateFcn(hObject, eventdata, handles) if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end % - Executes on button press in pushbutton1 function pushbutton1_Callback(hObject, eventdata, handles) ModelName = 'ROBOTNE'; open_system(ModelName); set_param(ModelName,'BlockReduction','off'); set_param(ModelName,'StopTime','inf'); set_param(ModelName, 'simulationMode','normal'); set_param(ModelName, 'StartFcn','1'); set_param(ModelName, 'SimulationCommand','start'); function pushbutton2_Callback(hObject, eventdata, handles) close; 33 THỰC TẬP TỐT NGHIỆP CÔNG TY ĐIỆN LỰC THỪA THIÊN HUẾ function pushbutton3_Callback(hObject, eventdata, handles) ModelName = 'ROBOTNE' %a1 = 242; a2 = 350; a3 = 391; a4 = 232; theta1 theta2 theta3 theta4 = = = = 0; 0; 0; 0; %xoay canh tay ben simulink set_param([ModelName '/Slider set_param([ModelName '/Slider set_param([ModelName '/Slider set_param([ModelName '/Slider Gain'],'Gain',num2str(theta1)); Gain1'],'Gain',num2str(theta2)); Gain2'],'Gain',num2str(theta3)); Gain3'],'Gain',num2str(theta4)); T1 = [cosd(theta1) sind(theta1) 0; sind(theta1) -cosd(theta1) 0; 242; 0 1]; T2 = [cosd(theta2) -sind(theta2) a2*cosd(theta2); sind(theta2) cosd(theta2) a2*sind(theta2); 0 0; 0 1]; T3 = [cosd(theta3) -sind(theta3) a3*cosd(theta3); sind(theta3) cosd(theta3) a3*sind(theta3); 0 0; 0 1]; T4 = [cosd(theta4) -sind(theta4) a4*cosd(theta4); sind(theta4) cosd(theta4) a4*sind(theta4); 0 0; 0 1]; T = T1*T2*T3*T4 px = T(1,4); py = T(2,4); pz = T(3,4); set(handles.slider1,'value',theta1); set(handles.slider2,'value',theta2); set(handles.slider3,'value',theta3); set(handles.slider4,'value',theta4); set(handles.edit1,'string',num2str(0)); set(handles.edit2,'string',num2str(0)); set(handles.edit3,'string',num2str(0)); set(handles.edit4,'string',num2str(0)); set(handles.edit5,'string',num2str(px)); set(handles.edit6,'string',num2str(py)); set(handles.edit7,'string',num2str(pz)); set(handles.edit8,'string',num2str(px)); set(handles.edit9,'string',num2str(py)); 34 THỰC TẬP TỐT NGHIỆP CÔNG TY ĐIỆN LỰC THỪA THIÊN HUẾ set(handles.edit10,'string',num2str(pz)); % - Executes on button press in pushbutton4 function pushbutton4_Callback(hObject, eventdata, handles) ModelName= 'ROBOTNE'; global var; px=get(handles.slider5,'value'); set(handles.edit5,'string',num2str(px)); py=get(handles.slider6,'value'); set(handles.edit6,'string',num2str(py)); pz=get(handles.slider7,'value'); set(handles.edit7,'string',num2str(pz)); set(handles.edit8,'string',num2str(px)); set(handles.edit9,'string',num2str(py)); set(handles.edit10,'string',num2str(pz)); l1 = 0; d1 = 242; l2 = 350; l3 = 391; l4 = 232; theta1 = atan2d(py,px); theta234 = 0; c3 = (((l1+sqrt(px^2+py^2) - l4*cosd(theta234))^2 + (pz-d1+l4*sin(theta234))^2 (l2^2+l3^2))/(2*l2*l3)); s3 = sqrt(1-(c3^2)); theta3 = atan2d(s3,c3); alpha = atan2d(l3*sind(theta3), l2+l3*cosd(theta3)); beta = atan2d(pz - d1 +l4*sind(theta234), l1+sqrt(px^2+py^2)-l4*cosd(theta234)); theta2 = alpha + beta; theta4 = theta234 - (theta2+theta3); guidata(hObject,handles); set_param([ModelName set_param([ModelName set_param([ModelName set_param([ModelName '/Slider '/Slider '/Slider '/Slider Gain'],'Gain',num2str(theta1)); Gain1'],'Gain',num2str(theta2)); Gain2'],'Gain',num2str(theta3)); Gain3'],'Gain',num2str(theta4)); set(handles.edit1,'string',num2str(theta1)); set(handles.edit2,'string',num2str(theta2)); set(handles.edit3,'string',num2str(theta3)); set(handles.edit4,'string',num2str(theta4)); 35 THỰC TẬP TỐT NGHIỆP c) CÔNG TY ĐIỆN LỰC THỪA THIÊN HUẾ Giao diện GUI điều khiển cánh tay máy 4.3 Mô hình cánh tay Robot thực tế 36