Phân tích động lực học hệ nhiều vật trong lân cận điểm kỳ dị

84 45 0
Phân tích động lực học hệ nhiều vật trong lân cận điểm kỳ dị

Đ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

Phân tích động lực học hệ nhiều vật trong lân cận điểm kỳ dị Phân tích động lực học hệ nhiều vật trong lân cận điểm kỳ dị Phân tích động lực học hệ nhiều vật trong lân cận điểm kỳ dị luận văn tốt nghiệp,luận văn thạc sĩ, luận văn cao học, luận văn đại học, luận án tiến sĩ, đồ án tốt nghiệp luận văn tốt nghiệp,luận văn thạc sĩ, luận văn cao học, luận văn đại học, luận án tiến sĩ, đồ án tốt nghiệp

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI NGUYỄN HẢI NGUYÊN PHÂN TÍCH ĐỘNG LỰC HỌC HỆ NHIỀU VẬT TRONG LÂN CẬN ĐIỂM KỲ DỊ LUẬN VĂN THẠC SĨ NGÀNH CƠ HỌC KỸ THUẬT Hà Nội, 2010 BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI NGUYỄN HẢI NGUYÊN PHÂN TÍCH ĐỘNG LỰC HỌC HỆ NHIỀU VẬT TRONG LÂN CẬN ĐIỂM KỲ DỊ LUẬN VĂN THẠC SĨ NGÀNH CƠ HỌC KỸ THUẬT NGƯỜI HƯỚNG DẪN: TS ĐINH VĂN PHONG Hà Nội, 2010 Phân tích động lực học hệ nhiều vật lân cận điểm kỳ dị MỤC LỤC MỤC LỤC LỜI CẢM ƠN LỜI CAM ĐOAN DANH MỤC CÁC CHỮ VIẾT TẮT TIẾNG ANH DANH MỤC CÁC HÌNH VẼ VÀ ĐỒ THỊ DANH MỤC CÁC BẢNG CHƯƠNG 1: GIỚI THIỆU TỔNG QUAN 10 Bài tốn phân tích động lực học hệ nhiều vật 10 Mục đích luận văn 11 Cấu trúc luận văn 11 CHƯƠNG 2: HỆ PHƯƠNG TRÌNH VI PHÂN ĐẠI SỐ 12 Phương trình vi phân đại số 12 Chỉ số hệ DAE 16 Hạ bậc cho phương trình vi phân đại số 19 Ổn định hóa phương trình hạ bậc 20 4.1 Ổn định hóa Baumgarte 20 4.1 Phương pháp chiếu 21 CHƯƠNG 3: MÔ PHỎNG, ĐIỀU KHIỂN HỆ NHIỀU VẬT 23 Sơ lược hệ nhiều vật 23 Các dạng thức hệ nhiều vật 24 Nguyễn Hải Nguyên -1- Luận văn Thạc sỹ học Phân tích động lực học hệ nhiều vật lân cận điểm kỳ dị 2.1 Dạng thức Lagrange nhân tử (LMF) 24 a Phương pháp nhân tử Lagrange 25 b Ổn định hóa liên kết 27 2.2 Dạng thức Lagrange tổ hợp (ALF) 30 a Dạng thức bù 30 b Dạng thức Lagrange tổ hợp 32 2.3 Dạng thức Udwadia – Kalaba 34 a Dạng thức Udwadia - Kalaba 34 b Ổn định hóa dạng thức Udwadia-Kalaba 36 2.3 Dạng thức nguyên lý phù hợp 37 a Nguyên lý phù hợp 37 b Dạng thức nguyên lý phù hợp (CPF) 38 CHƯƠNG 4: VỀ MỘT SỐ ỨNG DỤNG THỰC TẾ 42 Con lắc toán học 42 Cơ cấu tay quay trượt 47 So sánh phương pháp 51 a So sánh thời gian tính tốn phương pháp 51 b Sai số phương pháp theo bước thời gian 53 Điều khiển robot SCARA (RRTR) 55 KẾT LUẬN 60 TÀI LIỆU THAM KHẢO 61 PHỤ LỤC 65 Nguyễn Hải Nguyên -2- Luận văn Thạc sỹ học Phân tích động lực học hệ nhiều vật lân cận điểm kỳ dị Cấu trúc chương trình 65 a Chương trình 66 b Phương pháp nhân tử Lagrange 68 c Dạng thức Udwadia – Kalaba 70 d Dạng thức bù 72 e Dạng thức Nguyên lý phù hợp 74 Con lắc toán học 79 Cơ cấu tay quay trượt 79 Robot SCARA 80 Nguyễn Hải Nguyên -3- Luận văn Thạc sỹ học Phân tích động lực học hệ nhiều vật lân cận điểm kỳ dị LỜI CẢM ƠN Trong suốt q trình học tập hồn thành luận văn này, nhận hướng dẫn, giúp đỡ quý báu thầy cô động viên, góp ý bạn đồng nghiệp, bạn bè gia đình Với lịng kính trọng biết ơn sâu sắc xin bày tỏ lời cảm ơn chân thành tới: Ban giám hiệu, Phòng đào tạo sau đại học, Bộ môn Cơ học ứng dụng trường Đại Học Bách Khoa Hà Nội tạo điều kiện thuận lợi giúp đỡ tơi q trình học tập hoàn thành luận văn PGS TS Đinh Văn Phong, người thầy kính mến hết lịng giúp đỡ, dạy bảo, động viên tạo điều kiện thuận lợi cho tơi suốt q trình học tập hoàn thành luận văn tốt nghiệp Xin chân thành cảm ơn thầy cô hội đồng chấm luận văn cho tơi đóng góp q báu để hoàn chỉnh luận văn Các anh chị em phịng Cơ điện tử, Viện Cơ học nhiệt tình giúp đỡ suốt trình học tập nghiên cứu Nhân đây, xin gửi lới cảm ơn tới bạn bè, anh chị em lớp Cơ học kỹ thuật 2008 động viên giúp đỡ tơi lúc tơi gặp khó khăn Đặc biệt, xin chân thành cảm ơn bố mẹ bên cạnh động viên giúp đỡ học tập, làm việc hoàn thành luận văn Hà Nội, tháng 10 năm 2010 Tác giả Nguyễn Hải Nguyên -4- Luận văn Thạc sỹ học Phân tích động lực học hệ nhiều vật lân cận điểm kỳ dị LỜI CAM ĐOAN Tôi xin cam đoan cơng trình khoa học tơi Các số liệu luận văn trung thực có nguồn gốc cụ thể, rõ ràng Các kết luận văn chưa công bố công trình khoa học Hà Nội, tháng 10 năm 2010 Tác giả Nguyễn Hải Nguyên -5- Luận văn Thạc sỹ học Phân tích động lực học hệ nhiều vật lân cận điểm kỳ dị DANH MỤC CÁC CHỮ VIẾT TẮT TIẾNG ANH ODEs Ordinary Differential Equations DAEs Differential Algebraic Equations SVD Singular Value Decomposition BDF Backward Differentiation Formulas RK Runge-Kutta methods LMF Lagrangian Multiplier Formulation PF Penalty Formulation ALF Augmented Lagrangian Formulation UKF Udwadia-Kalaba Formulation CPF Compatibility Principle Formulation Nguyễn Hải Nguyên -6- Luận văn Thạc sỹ học Phân tích động lực học hệ nhiều vật lân cận điểm kỳ dị DANH MỤC CÁC HÌNH VẼ VÀ ĐỒ THỊ Hình 1.1 Hiện tượng phá vỡ liên kết q trình mơ 14 Hình 1.2 Mơ lắc tốn học có ổn định hóa 14 Hình 1.3 Sai lệch với tham số khác [7] 15 Hình 4.1 Con lắc toán học 42 Hình 4.2 Quỹ đạo nghiệm lắc toán học phương pháp 44 Hình 4.3 Sai lệch liên kết cấp vị trí 45 Hình 4.4 Sai lệch liên kết cấp vận tốc 45 Hình 4.5 Sai lệch so với nghiệm tham chiếu 45 Hình 4.6 Sai số phương pháp Baumgarte ( 200,200 ) 47 Hình 4.7 Cơ cấu tay quay trượt [7] 47 Hình 4.8 Nghiệm số hệ có kỳ dị động học khoảng (0;2)s 49 Hình 4.9 Nghiệm hệ khơng có kỳ dị động học khoảng (0;10)s 49 Hình 4.10 Nghiệm khơng ổn định hóa cho sai số 0.001 50 Hình 4.11 Nghiệm ổn định hóa Baumgarte (3,3) cho sai số 1.57e-7 50 Hình 4.12 Nghiệm ổn định hóa Baumgarte cải tiến cho sai số 1.8e-9 50 Hình 4.13 Đồ thị thời gian tính tốn theo bước tích phân cho lắc toán hoc t = [0,1]s 51 Hình 4.14 Đồ thị thời gian tính tốn theo bước tích phân cho cấu tay quay trượt t = [0,1]s 52 Nguyễn Hải Nguyên -7- Luận văn Thạc sỹ học Phân tích động lực học hệ nhiều vật lân cận điểm kỳ dị Hình 4.15 Đồ thị thời gian tính tốn theo bước tích phân cho cấu tay quay trượt t = [0,10]s 52 Hình 4.16 Đồ thị sai số tính tốn theo bước tích phân cho lắc toán hoc t = [0,1]s 53 Hình 4.17 Đồ thị sai số tính tốn theo bước tích phân cho cấu tay quay trượt t = [0,1]s 54 Hình 4.18 Đồ thị sai số tính tốn theo bước tích phân cho cấu tay quay trượt t = [0,10]s 54 Hình 4.19 Robot SCARA (RRTR) 55 Hình 4.20 Lực điều khiển robot SCARA 59 Hình 4.22 Đồ thị vận tốc khớp robot SCARA 59 Nguyễn Hải Nguyên -8- Luận văn Thạc sỹ học Phân tích động lực học hệ nhiều vật lân cận điểm kỳ dị tlmf:=loglogplot(dat,linestyle=dot,color=blue): dat:=[[dta[n],errorCPF[n]]$n=0 num]: ecpf:=loglogplot(dat): dat:=[[dta[n],errorCPFb[n]]$n=0 num]: ecpfb:=loglogplot(dat,linestyle=dash,color=green): dat:=[[dta[n],errorCPFm[n]]$n=0 num]: ecpfm:=loglogplot(dat,linestyle=dot,color=blue): display(tcpf,tukf,tlmf); display(ecpf,ecpfb,ecpfm); Chương trình khởi tạo initiate.txt: with(LinearAlgebra): with(ArrayTools): with(plots): q:=Matrix([[q_t[1]],[q_t[2]]]): v:=Matrix([[v_t[1]],[v_t[2]]]): a:=Matrix([[a_t[1]],[a_t[2]]]): qi:=Matrix(2,1): vi:=Matrix(2,1): ai:=Matrix(2,1): qi1:=Matrix(2,1): vi1:=Matrix(2,1): ai1:=Matrix(2,1): b Phương pháp nhân tử Lagrange Được lưu file: LMF.txt, LMFb.txt "NON STABILIZED LMF"; qi1:=q0: vi1:=v0: #data struct eps:=0.: deps:=0.: Nguyễn Hải Nguyên - 68 - Luận văn Thạc sỹ học Phân tích động lực học hệ nhiều vật lân cận điểm kỳ dị err:=array(0 imax): derr:=array(0 imax): pErr:=array(0 imax): pts:=array(0 imax): x_sol:=array(0 imax):y_sol:=array(0 imax):t_sol:=arr ay(0 imax): dx_sol:=array(0 imax):dy_sol:=array(0 imax): tLMF:=time(): for i from to imax qi:=evalf(qi1);vi:=evalf(vi1);#initiate t_sol[i]:=i*dt; x_sol[i]:=evalf(qi1[1,1]);y_sol[i]:=evalf(qi1[2,1]);#s tore dx_sol[i]:=evalf(vi1[1,1]);dy_sol[i]:=evalf(vi1[2,1]); #store #function evaluation Mi:=evalf(subs(q[1,1]=qi[1,1],q[2,1]=qi[2,1],M)); Qi:=evalf(subs(q[1,1]=qi[1,1],q[2,1]=qi[2,1],v[1,1]=vi [1,1],v[2,1]=vi[2,1],Q)); Phii:=subs(q[1,1]=qi[1,1],q[2,1]=qi[2,1],Phi); Phi_qi:=evalf(subs(q[1,1]=qi[1,1],q[2,1]=qi[2,1],Phi_q )); Phi_ti:=evalf(subs(q[1,1]=qi[1,1],q[2,1]=qi[2,1],Phi_t )); dPhii:=Phi_qi.vi+Phi_ti; ci:=evalf(subs(q[1,1]=qi[1,1],q[2,1]=qi[2,1],v[1,1]=vi [1,1],v[2,1]=vi[2,1],c)); #Trong file LMFb.txt thay ci công thức #ci:=evalf(subs(q[1,1]=qi[1,1],q[2,1]=qi[2,1],v[1,1]=vi[1,1],v[2,1]=vi[2,1],g)); M_1:=evalf(MatrixInverse(Mi)); ai:=evalf(M_1.Qi); qi1:=qi+vi*dt; Nguyễn Hải Nguyên - 69 - Luận văn Thạc sỹ học Phân tích động lực học hệ nhiều vật lân cận điểm kỳ dị vi1:=vi+ai*dtM_1.Transpose(Phi_qi).MatrixInverse(Phi_qi.M_1.Transpo se(Phi_qi)).(Phi_qi.ai-ci)*dt; err[i]:=Phii[1,1]; derr[i]:=dPhii[1,1]; if abs(err[i])>(eps) then eps:=abs(err[i]) end if; if abs(derr[i])>(deps) then deps:=abs(derr[i]) end if; end do: tLMF:=time()-tLMF: pts:=[[t_sol[n],x_sol[n]]$n=0 imax]: q1LMF:=plot(pts,color=blue): pts:=[[t_sol[n],y_sol[n]]$n=0 imax]: q2LMF:=plot(pts,linestyle=dash,color=blue): pts:=[[t_sol[n],dx_sol[n]]$n=0 imax]: dq1LMF:=plot(pts,color=green): pts:=[[t_sol[n],dy_sol[n]]$n=0 imax]: dq2LMF:=plot(pts,linestyle=dash,color=green): pts:=[[t_sol[n],err[n]]$n=0 imax]: errLMF:=plot(pts,color=blue): pts:=[[t_sol[n],derr[n]]$n=0 imax]: derrLMF:=plot(pts,linestyle=dash,color=blue): "accuracy"; eps,deps; c Dạng thức Udwadia – Kalaba Được lưu file: UKF.txt, UKFb.txt "NON STABILIZED UKF"; qi1:=q0: vi1:=v0: #data struct eps:=0.: deps:=0.: Nguyễn Hải Nguyên - 70 - Luận văn Thạc sỹ học Phân tích động lực học hệ nhiều vật lân cận điểm kỳ dị err:=array(0 imax): derr:=array(0 imax): pErr:=array(0 imax): pts:=array(0 imax): x_sol:=array(0 imax):y_sol:=array(0 imax):t_sol:=arr ay(0 imax): dx_sol:=array(0 imax):dy_sol:=array(0 imax): tUKF:=time(): for i from to imax qi:=evalf(qi1);vi:=evalf(vi1);#initiate t_sol[i]:=i*dt; x_sol[i]:=evalf(qi1[1,1]);y_sol[i]:=evalf(qi1[2,1]);#s tore dx_sol[i]:=evalf(vi1[1,1]);dy_sol[i]:=evalf(vi1[2,1]); #store #function evaluation Mi:=evalf(subs(q[1,1]=qi[1,1],q[2,1]=qi[2,1],M)); Qi:=evalf(subs(q[1,1]=qi[1,1],q[2,1]=qi[2,1],v[1,1]=vi [1,1],v[2,1]=vi[2,1],Q)); Phii:=evalf(subs(q[1,1]=qi[1,1],q[2,1]=qi[2,1],Phi)); Phi_qi:=evalf(subs(q[1,1]=qi[1,1],q[2,1]=qi[2,1],Phi_q )); Phi_ti:=evalf(subs(q[1,1]=qi[1,1],q[2,1]=qi[2,1],Phi_t )); dPhii:=evalf(Phi_qi.vi+Phi_ti); ci:=evalf(subs(q[1,1]=qi[1,1],q[2,1]=qi[2,1],v[1,1]=vi [1,1],v[2,1]=vi[2,1],c)); #Trong file UKFb.txt thay ci công thức #ci:=evalf(subs(q[1,1]=qi[1,1],q[2,1]=qi[2,1],v[1,1]=vi[1,1],v[2,1]=vi[2,1],g)); M_1:=evalf(MatrixInverse(Mi)); ai:=evalf(M_1.Qi); R:=Transpose(LUDecomposition(Mi,method = 'Cholesky')); Nguyễn Hải Nguyên - 71 - Luận văn Thạc sỹ học Phân tích động lực học hệ nhiều vật lân cận điểm kỳ dị R_1:=evalf(MatrixInverse(R)); C:=evalf(Phi_qi.R_1); C_pseu:=evalf(MatrixInverse(C,method=pseudo));#iner RC:=evalf(R_1.C_pseu); qi1:=qi+vi*dt; vi1:=vi+ai*dt+RC.(ci-Phi_qi.ai)*dt; err[i]:=Phii[1,1]; derr[i]:=dPhii[1,1]; if abs(err[i])>(eps) then eps:=abs(err[i]) end if; if abs(derr[i])>(deps) then deps:=abs(derr[i]) end if; end do: tUKF:=time()-tUKF: pts:=[[t_sol[n],x_sol[n]]$n=0 imax]: q1UKF:=plot(pts,color=blue): pts:=[[t_sol[n],y_sol[n]]$n=0 imax]: q2UKF:=plot(pts,linestyle=dash,color=blue): pts:=[[t_sol[n],dx_sol[n]]$n=0 imax]: dq1UKF:=plot(pts,color=green): pts:=[[t_sol[n],dy_sol[n]]$n=0 imax]: dq2UKF:=plot(pts,linestyle=dash,color=green): pts:=[[t_sol[n],err[n]]$n=0 imax]: errUKF:=plot(pts,color=blue): pts:=[[t_sol[n],derr[n]]$n=0 imax]: derrUKF:=plot(pts,linestyle=dash,color=blue): "Accuracy"; eps,deps; d Dạng thức bù Được lưu file: PF.txt "NON STABILIZED PF"; "imax:=100;dt:=0.001;"; alpha_p:=10000000;#penalty value Omega:=3; Nguyễn Hải Nguyên - 72 - Luận văn Thạc sỹ học Phân tích động lực học hệ nhiều vật lân cận điểm kỳ dị mu:=3; qi1:=q0: vi1:=v0: #data struct err:=array(0 imax):pErr:=array(0 imax): pts:=array(0 imax): x_sol:=array(0 imax):y_sol:=array(0 imax):#LMF for i from to imax qi:=qi1;vi:=vi1;#initiate x_sol[i]:=qi1[1,1];y_sol[i]:=qi1[2,1];#store #function evaluation Mi:=subs(q[1,1]=qi[1,1],q[2,1]=qi[2,1],M); Qi:=subs(q[1,1]=qi[1,1],q[2,1]=qi[2,1],v[1,1]=vi[1,1], v[2,1]=vi[2,1],Q); Phii:=subs(q[1,1]=qi[1,1],q[2,1]=qi[2,1],Phi); Phi_qi:=subs(q[1,1]=qi[1,1],q[2,1]=qi[2,1],Phi_q); Phi_ti:=subs(q[1,1]=qi[1,1],q[2,1]=qi[2,1],Phi_t); dPhi_qi:=subs(q[1,1]=qi[1,1],q[2,1]=qi[2,1],v[1,1]=vi[ 1,1],v[2,1]=vi[2,1],dPhi_q); dPhi_ti:=subs(q[1,1]=qi[1,1],q[2,1]=qi[2,1],v[1,1]=vi[ 1,1],v[2,1]=vi[2,1],dPhi_t); ci:=subs(q[1,1]=qi[1,1],q[2,1]=qi[2,1],v[1,1]=vi[1,1], v[2,1]=vi[2,1],c); M_1:=MatrixInverse(M+Transpose(Phi_qi).Phi_qi*alpha_p) ; ai:=M_1.Qi; qi1:=qi+vi*dt; vi1:=vi+ai*dtalpha_p*M_1.Transpose(Phi_qi).(dPhi_qi.vi+dPhi_ti+2*Om ega*mu*(dPhi_qi.vi+dPhi_ti)+Omega^2*Phii)*dt; end do: Nguyễn Hải Nguyên - 73 - Luận văn Thạc sỹ học Phân tích động lực học hệ nhiều vật lân cận điểm kỳ dị for i from to imax err[i]:=x_sol[i]^2+y_sol[i]^2-1: end do: pts:=[[x_sol[n],y_sol[n]]$n=0 imax]: figPF:=plot(pts,style=point,color=black): pErr:=[[n*dt,err[n]]$n=0 imax]: errPF:=plot(pErr,style=point,color=black): "Graph:figPF"; "Error:errPF"; e Dạng thức Nguyên lý phù hợp Được lưu file: CPF.txt, CPFb.txt "NON STABILIZED COMPATIBILITY PRINCIPLE FORMULATION"; qi1:=q0: vi1:=v0: #data struct eps:=0.:deps:=0.: err:=array(0 imax):derr:=array(0 imax): pts:=array(0 imax):t_sol:=array(0 imax): x_sol:=array(0 imax):y_sol:=array(0 imax): dx_sol:=array(0 imax):dy_sol:=array(0 imax): tCPF:=time(): for i from to imax qi:=evalf(qi1);vi:=evalf(vi1);#initiate t_sol[i]:=i*dt; x_sol[i]:=evalf(qi1[1,1]);y_sol[i]:=evalf(qi1[2,1]);#s tore dx_sol[i]:=evalf(vi1[1,1]);dy_sol[i]:=evalf(vi1[2,1]); #store #function evaluation Mi:=evalf(subs(q[1,1]=qi[1,1],q[2,1]=qi[2,1],M)); Nguyễn Hải Nguyên - 74 - Luận văn Thạc sỹ học Phân tích động lực học hệ nhiều vật lân cận điểm kỳ dị Qi:=evalf(subs(q[1,1]=qi[1,1],q[2,1]=qi[2,1],v[1,1]=vi [1,1],v[2,1]=vi[2,1],Q)); Phii:=evalf(subs(q[1,1]=qi[1,1],q[2,1]=qi[2,1],Phi)); Phi_qi:=evalf(subs(q[1,1]=qi[1,1],q[2,1]=qi[2,1],Phi_q )); Phi_ti:=evalf(subs(q[1,1]=qi[1,1],q[2,1]=qi[2,1],Phi_t )); dPhii:=evalf(Phi_qi.vi+Phi_ti); dPhi_qi:=evalf(subs(q[1,1]=qi[1,1],q[2,1]=qi[2,1],v[1, 1]=vi[1,1],v[2,1]=vi[2,1],dPhi_q)); dPhi_ti:=evalf(subs(q[1,1]=qi[1,1],q[2,1]=qi[2,1],v[1, 1]=vi[1,1],v[2,1]=vi[2,1],dPhi_t)); ci:=evalf(subs(q[1,1]=qi[1,1],q[2,1]=qi[2,1],v[1,1]=vi [1,1],v[2,1]=vi[2,1],c)); #Trong file CPFb.txt thay ci công thức #ci:=evalf(subs(q[1,1]=qi[1,1],q[2,1]=qi[2,1],v[1,1]=vi[1,1],v[2,1]=vi[2,1],g)); di:=NullSpace(Phi_qi); Di:=convert(convert(di,list),Matrix); siz:=Size(Phi_qi); O1:=ZeroMatrix(siz[1],siz[2]); siz:=Size(Transpose(Di)); O2:=ZeroMatrix(siz[1],siz[2]); siz:=Size(Transpose(Di)); O3:=ZeroMatrix(siz[1],1); siz:=Size(Mi); E:=IdentityMatrix(siz[1],siz[2]); K:=Matrix([[ Mi , -E ],[ Phi_qi Transpose(Di) ]]); b:=Matrix([[ Qi ],[ ci ],[ O3 ]]); qri:=MatrixInverse(K).b; ai[1,1]:=qri[1,1]; ai[2,1]:=qri[2,1]; Nguyễn Hải Nguyên - 75 - , O2 ],[ O1 Luận văn Thạc sỹ học , Phân tích động lực học hệ nhiều vật lân cận điểm kỳ dị qi1:=qi+vi*dt; vi1:=vi+ai*dt; err[i]:=Phii[1,1]; derr[i]:=dPhii[1,1]; if abs(err[i])>(eps) then eps:=abs(err[i]) end if; if abs(derr[i])>(deps) then deps:=abs(derr[i]) end if; end do: tCPF:=time()-tCPF: pts:=[[t_sol[n],x_sol[n]]$n=0 imax]: q1CPF:=plot(pts,color=blue): pts:=[[t_sol[n],y_sol[n]]$n=0 imax]: q2CPF:=plot(pts,linestyle=dash,color=blue): pts:=[[t_sol[n],dx_sol[n]]$n=0 imax]: dq1CPF:=plot(pts,color=green): pts:=[[t_sol[n],dy_sol[n]]$n=0 imax]: dq2CPF:=plot(pts,linestyle=dash,color=green): pts:=[[t_sol[n],err[n]]$n=0 imax]: errCPF:=plot(pts,color=blue): pts:=[[t_sol[n],derr[n]]$n=0 imax]: derrCPF:=plot(pts,linestyle=dash,color=blue): "Accuracy:"; eps,deps; CPFm.txt "modified Compatibility principle formulation"; qi1:=q0: vi1:=v0: #data struct eps:=0.:deps:=0.: err:=array(0 imax):derr:=array(0 imax): pts:=array(0 imax):t_sol:=array(0 imax): Nguyễn Hải Nguyên - 76 - Luận văn Thạc sỹ học Phân tích động lực học hệ nhiều vật lân cận điểm kỳ dị x_sol:=array(0 imax):y_sol:=array(0 imax): dx_sol:=array(0 imax):dy_sol:=array(0 imax): siz1:=[1,2]: for i from to imax qi:=evalf(qi1);vi:=evalf(vi1);#initiate t_sol[i]:=i*dt; x_sol[i]:=evalf(qi1[1,1]);y_sol[i]:=evalf(qi1[2,1]);#s tore dx_sol[i]:=evalf(vi1[1,1]);dy_sol[i]:=evalf(vi1[2,1]); #store #function evaluation Mi:=evalf(subs(q[1,1]=qi[1,1],q[2,1]=qi[2,1],M)); Qi:=evalf(subs(q[1,1]=qi[1,1],q[2,1]=qi[2,1],v[1,1]=vi [1,1],v[2,1]=vi[2,1],Q)); Phii:=evalf(subs(q[1,1]=qi[1,1],q[2,1]=qi[2,1],Phi)); Phi_qi:=evalf(subs(q[1,1]=qi[1,1],q[2,1]=qi[2,1],Phi_q )); Phi_ti:=evalf(subs(q[1,1]=qi[1,1],q[2,1]=qi[2,1],Phi_t )); dPhii:=evalf(Phi_qi.vi+Phi_ti); dPhi_qi:=evalf(subs(q[1,1]=qi[1,1],q[2,1]=qi[2,1],v[1, 1]=vi[1,1],v[2,1]=vi[2,1],dPhi_q)); dPhi_ti:=evalf(subs(q[1,1]=qi[1,1],q[2,1]=qi[2,1],v[1, 1]=vi[1,1],v[2,1]=vi[2,1],dPhi_t)); ci:=evalf(subs(q[1,1]=qi[1,1],q[2,1]=qi[2,1],v[1,1]=vi [1,1],v[2,1]=vi[2,1],c)); di:=NullSpace(Phi_qi); Di:=convert(convert(di,list),Matrix); siz:=Size(Phi_qi); O1:=ZeroMatrix(siz[1],siz[2]); siz:=Size(Transpose(Di)); O2:=ZeroMatrix(siz[1],siz[2]); siz:=Size(Transpose(Di)); O3:=ZeroMatrix(siz[1],1); siz:=Size(Mi); O0:=ZeroMatrix(siz[1],siz[2]); Nguyễn Hải Nguyên - 77 - Luận văn Thạc sỹ học Phân tích động lực học hệ nhiều vật lân cận điểm kỳ dị M_1:=MatrixInverse(Mi); siz:=Size(Mi); E:=IdentityMatrix(siz[1],siz[2]); #Matrix([[ , ],[ , ]]); K:=Matrix([[ E ,O0, E,O0 ],[O0,Mi,O0,E],[ Phi_qi,O1 , O2,O2 ],[ O1,Phi_qi,O2,O2],[O1,O1,Transpose(Di),O2 ],[O1,O1,O2,Transpose(Di) ]]); b:=Matrix([[vi],[ Qi ],[-Phi_ti-Phii/dt],[ ci-Phii/dt ],[ O3 ],[ O3 ]]); qri:=MatrixInverse(K).b; vi[1,1]:=qri[1,1]; vi[2,1]:=qri[2,1]; ai[1,1]:=qri[3,1]; ai[2,1]:=qri[4,1]; qi1:=qi+vi*dt; vi1:=vi+ai*dt; err[i]:=Phii[1,1]; derr[i]:=dPhii[1,1]; if abs(err[i])>(eps) then eps:=abs(err[i]) end if; if abs(derr[i])>(deps) then deps:=abs(derr[i]) end if; end do: pts:=[[t_sol[n],x_sol[n]]$n=0 imax]: q1CPF:=plot(pts,color=blue): pts:=[[t_sol[n],y_sol[n]]$n=0 imax]: q2CPF:=plot(pts,linestyle=dash,color=blue): pts:=[[t_sol[n],dx_sol[n]]$n=0 imax]: dq1CPF:=plot(pts,color=green): pts:=[[t_sol[n],dy_sol[n]]$n=0 imax]: dq2CPF:=plot(pts,linestyle=dash,color=green): pts:=[[t_sol[n],err[n]]$n=0 imax]: errCPF:=plot(pts,color=blue): Nguyễn Hải Nguyên - 78 - Luận văn Thạc sỹ học Phân tích động lực học hệ nhiều vật lân cận điểm kỳ dị pts:=[[t_sol[n],derr[n]]$n=0 imax]: derrCPF:=plot(pts,linestyle=dash,color=blue): "Accuracy:"; eps,deps; Con lắc toán học Mơ tả lắc tốn học điều kiện đầu cho file sau: System.txt #System identify "Pendulum"; M:=Matrix([[1,0],[0,1]]); Q:=Matrix([[0],[-9.8]]); Phi:=Matrix([q[1,1]^2+q[2,1]^2-1]); Phi_q:=(Matrix([[2*q[1,1],2*q[2,1]]])); Phi_t:=Matrix([0]); dPhi_q:=Matrix([[2*v[1,1],2*v[2,1]]]); dPhi_t:=Matrix([0]); c:=-dPhi_t-dPhi_q.v; g:=c-2*alpha_b*(Phi_q.v+Phi_t)-beta_b^2*Phi; ICc.txt "consistent IC"; q0:=Matrix([[1],[0]]);v0:=Matrix([[0],[0]]); Cơ cấu tay quay trượt Mô tả hệ điều kiện đầu cho file sau: System.txt #System identify "Slider-Crank Mechanism"; M:=Matrix([[2,cos(q[2,1]-q[1,1])],[cos(q[2,1]q[1,1]),1]]); Nguyễn Hải Nguyên - 79 - Luận văn Thạc sỹ học Phân tích động lực học hệ nhiều vật lân cận điểm kỳ dị Q:=Matrix([[sin(q[2,1]-q[1,1])*(v[2,1])^219.6*sin(q[1,1])],[-sin(q[2,1]-q[1,1])*(v[1,1])^29.8*sin(q[2,1])]]); Phi:=Matrix([-cos(q[1,1])-cos(q[2,1])]); Phi_q:=(Matrix([[sin(q[1,1]),sin(q[2,1])]])); Phi_t:=Matrix([0]); dPhi_q:=Matrix([[cos(q[1,1])*v[1,1],cos(q[2,1])*v[2,1] ]]); dPhi_t:=Matrix([0]); c:=-dPhi_t-dPhi_q.v; g:=c-2*alpha_b*(Phi_q.v+Phi_t)-beta_b^2*Phi; ICc.txt "consistent IC"; q0:=Matrix([[Pi/4],[3*Pi/4]]);v0:=Matrix([[0],[0]]); Robot SCARA File mô tả hệ thống: system.txt #System identify "SCARA ROBOT (RRTR)"; M:=Matrix(4,4); M[1,1]:=m[1]*l[1]^2+m[2]*(a[1]^2+l[2]^2+2*a[1]*l[1]*co s(q[1,1]))+m[3]*(a[1]^2+a[2]^2+2*a[1]*a[2]*cos(q[2,1]) )+m[4]*(a[1]^2+a[2]^2+2*a[1]*a[2]*cos(q[2,1]))+Iz[1]+I z[2]+Iz[3]+Iz[4]: M[1,2]:=m[2]*(l[2]^2+a[1]*l[2]*cos(q[2,1]))+m[3]*(a[2] ^2+a[1]*a[2]*cos(q[2,1]))+m[4]*(a[2]^2+a[1]*a[2]*cos(q [2,1]))+Iz[2]+Iz[3]+Iz[4]: M[2,1]:=M[1,2]: M[1,4]:=-Iz[4]: M[4,1]:=M[1,4]: M[2,2]:=m[2]*l[2]^2+m[3]*a[2]^2+m[4]*a[2]^2+Iz[2]+Iz[3 ]+Iz[4]: M[2,4]:=-Iz[4]: Nguyễn Hải Nguyên - 80 - Luận văn Thạc sỹ học Phân tích động lực học hệ nhiều vật lân cận điểm kỳ dị M[4,2]:=-Iz[4]: M[3,3]:=m[3]+m[4]: M[4,4]:=Iz[4]: C:=Matrix(4,4); C[1,1]:=2*a[1]*sin(q[2,1])*(m[2]*l[2]+m[3]*a[2]+m[4]*a[2])*v[2 ,1]: C[1,2]:=a[1]*sin(q[2,1])*(m[2]*l[2]+m[3]*a[2]+m[4]*a[2])*v[2,1 ]: C[2,1]:=a[1]*sin(q[2,1])*(m[2]*l[2]+m[3]*a[2]+m[4]*a[2 ])*v[1,1]1/2*a[1]*sin(q[2,1])*(m[2]*l[2]+m[3]*a[2]+m[4]*a[2])*v [2,1]: C[2,2]:=1/2*a[1]*sin(q[2,1])*(m[2]*l[2]+m[3]*a[2]+m[4] *a[2])*v[1,1]: dKdq:=Matrix(4,1): ga:=9.8:#gravity dKdq[3,1]:=m[3]*ga+m[4]*ga: dKdq: Q:=-C.v-dKdq; rd:=Matrix([[ 0.3*cos(2*Pi*t) +1/sqrt(2)-1.3],[ 0.3*sin(2*Pi*t) +1/sqrt(2)],[ d[1]-d[4] +0.3]]); re:=Matrix([[ a[1]*cos(q[1,1])+a[2]*cos(q[1,1]+q[2,1]) ],[ a[1]*sin(q[1,1])+a[2]*sin(q[1,1]+q[2,1]) ],[ d[1]d[4]+q[3,1]]]); Phi:=Matrix(3,1): Phi:=re-rd; Phi_q:=Matrix([[-a[1]*sin(q[1,1])a[2]*sin(q[1,1]+q[2,1]) ,-a[2]*sin(q[1,1]+q[2,1]), ,0],[a[1]*cos(q[1,1])+a[2]*cos(q[1,1]+q[2,1]),a[2]*cos (q[1,1]+q[2,1]) , ,0 ],[ , , ,0 ]]); Phi_t:=Matrix([[ Pi*sin(2*Pi*t) ],[ -Pi*cos(2*Pi*t) ],[ ]]); Nguyễn Hải Nguyên - 81 - Luận văn Thạc sỹ học Phân tích động lực học hệ nhiều vật lân cận điểm kỳ dị dPhi_q:=Matrix([[ -a[1]*cos(q[1,1])*v[1,1]a[2]*cos(q[1,1]+q[2,1])*(v[1,1]+v[2,1]) ,a[2]*cos(q[1,1]+q[2,1])*(v[1,1]+v[2,1]), ,0], [ -a[1]*sin(q[1,1])*v[1,1]a[2]*sin(q[1,1]+q[2,1])*(v[1,1]+v[2,1]) , a[2]*sin(q[1,1]+q[2,1])*(v[1,1]+v[2,1]) , ,0 ], [ , , ,0 ]]); dPhi_t:=Matrix([[ 2*Pi^2*cos(2*Pi*t) ], [ 2*Pi^2*sin(2*Pi*t) ], [ ]]); c:=-dPhi_t-dPhi_q.v; g:=c-2*alpha_b*(Phi_q.v+Phi_t)-beta_b^2*Phi; File tham số: parameter.txt #Parameters a:=Vector([ , , d:=Vector([ , , l:=Vector([ 0.5, 0.5 , m:=Vector([ , , Ix:=Vector([ 1,1,1,1]); Iy:=Vector([ 1,1,1,1]); Iz:=Vector([ 1,1,1,1]); 0 0.2 0.7 , , , , 0.3 0.1 0.5 ]); ]); ]); ]); File điều kiện đầu: ICc.txt "consistent IC"; q0:=Matrix([[Pi/4],[3*Pi/4],[0.3],[Pi/6]]); v0:=Matrix([[0],[Pi],[0],[0]]); Nguyễn Hải Nguyên - 82 - Luận văn Thạc sỹ học ... Thạc sỹ học Phân tích động lực học hệ nhiều vật lân cận điểm kỳ dị CHƯƠNG 2: HỆ PHƯƠNG TRÌNH VI PHÂN ĐẠI SỐ Sự vận động hệ học nói riêng, hệ động lực nói chung mơ tả qua hệ phương trình vi phân, ... KHIỂN HỆ NHIỀU VẬT 23 Sơ lược hệ nhiều vật 23 Các dạng thức hệ nhiều vật 24 Nguyễn Hải Nguyên -1- Luận văn Thạc sỹ học Phân tích động lực học hệ nhiều vật lân cận điểm kỳ dị. .. Luận văn Thạc sỹ học Phân tích động lực học hệ nhiều vật lân cận điểm kỳ dị Hình 4.8 Nghiệm số hệ có kỳ dị động học khoảng (0;2)s Hình 4.9 Nghiệm hệ khơng có kỳ dị động học khoảng (0;10)s Như

Ngày đăng: 09/02/2021, 21:55

Từ khóa liên quan

Mục lục

  • MỤC LỤC

  • CHƯƠNG I

  • CHƯƠNG II

  • CHƯƠNG III

  • CHƯƠNG IV

  • KẾT LUẬN

  • TÀI LIỆU THAM KHẢO

  • PHỤ LỤC

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

  • Đang cập nhật ...

Tài liệu liên quan