Bài viết này trình bày một thuật toán phân tích động học áp dụng cho các hệ cơ học khác nhau. Tính linh động của của thuật toán được thể hiện ở chỗ có thể áp dụng cho mọi hệ cơ học và ở mọi thời điểm. Để nắm chi tiết hơn nội dung nghiên cứu, mời các bạn cùng tham khảo bài viết.
ISSN 2354-0575 VỀ MỘT THUẬT TỐN LẬP TRÌNH TRONG TÍNH TỐN ĐỘNG HỌC CÁC HỆ CƠ HỌC Khổng Dỗn Điền1, 2, Vũ Xuân Trường1, Nguyễn Duy Chinh1, Nguyễn Tiền Phong1 Trường Đại học Sư phạm Kỹ thuật Hưng Yên Hội Cơ học Hà Nội Ngày nhận: 20/2/2016 Ngày xét duyệt: 22/3/2016 Tóm tắt: Bài báo trình bày thuật tốn phân tích động học áp dụng cho hệ học khác Tính linh động của thuật tốn thể chỗ áp dụng cho hệ học thời điểm Ý tưởng thuật toán xuất phát từ sức mạnh tính tốn trường véc tơ, ma trận phần mềm toán học (chẳng hạn Maple) Tuy nhiên khó khăn phát sinh việc xử lý tính tốn số liệu dạng tham số (symbolic), kết trả dạng biểu thức gốc RootOf, cần kết dạng tham số (symbolic) số (numeric) Vấn đề trình bày giải thấu đáo báo Từ khóa: Phân tích động học, tích vơ hướng, tích có hướng, biểu thức góc, tham số, liên hợp Các kí hiệu diễn giải Ký hiệu Diễn giải v Véctơ vận tốc Biểu diễn v = a Véctơ gia tốc ~ Véctơ vận tốc góc ~=< ~ x, ~ y, ~ z > f Véctơ gia tốc góc Tích có hướng hai véctơ Tích vơ hướng hai véc tơ Ký hiệu Véc tơ ma đậm trận # a = f =< f x, f y, f z > CrossProduct(a,b) DotProduct(a,b) - Đặt vấn đề Phân tích động học gồm ba tốn: tốn vị trí, tốn vận tốc toán gia tốc điểm, vật rắn hệ vật rắn Để thực việc phân tích động học hệ học có nhiều phương pháp chẳng hạn phương pháp giải tích[1,4,5], phương pháp họa đồ, phương pháp ma trận truyền [2], phương pháp Danevit-Hartenbeg, Crag, [6] … Ngày nay, với phát triển khoa học công nghệ phần mềm toán học hỗ trợ đắc lực việc tính tốn cho người đời Phải kể đến phần mềm mạnh Matlab, Maple, Mathematica,… Việc tính tốn trường véc tơ ma trận cơng việc khó khăn cho việc tính tốn thủ cơng, chí khơng khả thi Nhưng tính trên trường véc tơ ma trận lại sức mạnh phần mềm toán học Bản chất chung phương pháp giải tích phân tích tốn trường véc tơ sau phải chiếu phương trình véc tơ lên trục hệ tọa độ để chuyển dạng giải tích thuận lợi cho việc tìm nghiệm động học Việc khơng phải lúc dễ dàng lúc xác định góc hợp véc tơ với trục tọa độ Tính linh động phương pháp khơng cao áp dụng cho thời điểm Mỗi thời điểm có ‘mẹo’ chiếu khác cho phương trình giải tích thu đơn giản Bài báo trình bày thuật tốn phân tích động học áp dụng cho hệ học khác Tính linh động của thuật tốn thể chỗ áp dụng cho hệ học thời điểm Ý tưởng thuật toán xuất phát từ sức mạnh tính tốn trường véc tơ, ma trận phần mềm toán học (chẳng hạn Maple) Tuy nhiên khó khăn phát sinh việc xử lý tính tốn số liệu dạng tham số (symbolic), kết trả dạng biểu thức gốc RootOf, cần kết dạng tham số (symbolic) số (numeric) Cơ sở lý thuyết [1,4,6] Định lý liên hệ vận tốc: vB = vA + vBA vBA = ~ # AB Định lý liên hệ gia tốc: aB = aA + aBA aBA = f # AB - ~ 2AB Định lý hợp vận tốc: va = ve + vr va, ve vr véc tơ vận tốc điểm chuyển động tuyệt đối, chuyển động kéo theo chuyển động tương đối Định lý hợp gia tốc: aa = ae + ar + aC Gia tốc Coriolis xác định biểu thức aC = 2~ e # vr Khoa học & Công nghệ - Số 9/Tháng - 2016 Journal of Science and Technology ISSN 2354-0575 đó: aa , ae ar véc tơ gia tốc điểm chuyển động tuyệt đối, chuyển động kéo theo chuyển động tương đối; aC gia tốc Coriolis; ~ e véc tơ vận tốc góc chuyển động kéo theo Thuật giải lập trình xử lý Xét mơ hình có mơ Hình [5] Tay quay chủ động CB quay với tốc độ n (vg/phút) Cho biết độ dài OC=a, CB=b, OD=c, DA=d góc a, b Xác định vận tốc gia tốc điểm D? H y B θ A β b n d α O D α +θ C x a c Hình Mơ hình động học DA = 7- d sin ( b ) d cos b 0A (5) Các véc tơ CB, OB, OD DA phụ thuộc vào đại lượng biết nên hoàn toàn xác định + Bài toán vận tốc T rn ~ CB = 70 ~A ; ~ = 30 (6) Phân tích giải thuật + Bài tốn vị trí - Theo định lý hàm sin a b OB = = sin i sin a sin _r - ( a + i ) i ]Z] ]]i = arcsin a a sin a k b & [] ]]OB = b sin ( a + i ) ] sin a \ - Tính tốn véc tơ CB = 7b cos ( a + i ) b sin ( a + i ) 0A T OB = 7OB cos a OB sin a 0A T OD = 7- c cos ( a ) - c sin a 0A T T ~ DH = 80 ~ DHB T (7) ~ DA = 80 ~ DAB (8) # (9) v D = ~ DH OD v A = v D + ~ DA # DA (10) Do điểm A trượt dọc theo phương y nên vA = vA[2] Như muốn tính tốn véc tơ vA cần phải tính hai véc tơ ~ DA ~ DH T (2) (3) (4) Hình Sơ đồ phân tích vận tốc Từ sơ đồ phân tích vận tốc Hình (11) v aB = ~ CB # CB (12) v eB = ~ DH # OB Rõ ràng muốn tính ~ DH từ (12) ta phải tính v eB Mặt khác v aB = v eB + v rB (13) Trong (13), v rB chưa xác định v rB = v eB Khoa học & Công nghệ - Số 9/Tháng - 2016 nên thuật toán đơn giản hiệu nhân hai vô hướng hai vế phương trình (13) với v eB việc sử dụng câu lệnh DotProduct Từ xác định v eB tính tốn ~ DH từ (12) Tuy nhiên kết trả dạng RootOf (biểu thức gốc) Journal of Science and Technology ISSN 2354-0575 15 RootOf b _Zr - 16 ~l2 r 3 +6 - 16 ~l2 r + _Zr + ~l2 r i Về mặt học ta biết đại lượng chẳng hạn a, b, c, d chiều dài nên hiển nhiên dương, tính tốn phần mềm tốn học chẳng hạn Maple a, b, c, d hiểu đại lượng tổng quát (có thể số phức, số thực, số nguyên, âm, dương, …) tính tốn trả kết dạng biểu thức gốc Để xử lý vấn đề ta thêm thuộc tính conjugate=false biểu thức tính tích vơ hướng Cụ thể: DotProduct(a,b,conjugate=false) Như đến xác định ~ DH từ (9) tính vD Từ phương trình (10) ta xác định vA theo ~ DA (chưa biết) Thuật toán áp dụng điều kiện biên chuyển động để xác định ~ DA Ở trượt A chuyển động theo phương y nên vA[1]=0 Giải phương trình ta thu ~ DA dễ dàng tính vA + Phân tích tốn gia tốc: Tương tự phân tích tốn vận tốc aA a rB A d O D H B aCB C c Hình Sơ đồ phân tích gia tốc (14) a aB = a eB + a rB + a CB Ở thành phần gia tốc tương đối điểm B a rB chưa biết a rB = a CB (hoặc a rB = v eB ) nên ta nhân vô hướng hai vế (14) với a CB (hoặc v eB ) từ xác định f DH tính aD aD = f DH # OD - ~2DH OD (15) # = + a a f DA ~ DA (16) Mặt khác: A D DA DA Áp dụng điều kiện biên chuyển động aA[1] = giải f DA từ véc tơ aA hồn tồn xác định Lập trình tính tốn phần mềm tốn học Maple 18 restart: with(LinearAlgebra): with(linalg): #=========BÀI TỐN VỊ TRÍ========= a i : = arcsin a b sin a k : b sin ( a + i ) lOB: = evalf ( ): #Khoang cach OB sin a CB: =1 b cos _a + i i , b sin _a + i i , : #Vector CB CB: =1 - c cos ( a ), - c sin ( a ), : #Vector OD DA: =1 - d sin ( b ), d cos ( b ), : #Vector DA #=========BÀI TOÁN VẬN TỐC========= ~CB: =1 0, 0, ~ : #Vector van toc goc cua CB ~DH: =1 0, 0, ~0 : #Vector van toc goc cua DH ~DA: =1 0, 0, ~1 : #Vector van toc goc cua DA vBa: = CrossProduct ( ~CB, CB): #Vector van toc tuyet doi cua diem B vBe: = CrossProduct ( ~DH, OB): #Vector van toc keo theo cua diem B pt1:=DotProduct(vBa,vBe,conjugate=false)=DotProduct(vBe,vBe,conjugate=false)+ DotProduct(vBr,vBe,conjugate=false):#Phuong trinh hop van toc 10 Khoa học & Công nghệ - Số 9/Tháng - 2016 Journal of Science and Technology ISSN 2354-0575 solve({pt1},{ ~0 }): assign(%): vBr:=vBa-vBe:#Vector van toc tuong doi cua diem B vD: = CrossProduct ( ~DH, OD): #Vector van toc cua diem D vA: = vD + CrossProduct ( ~DA, DA): #Vector van toc cua diem A solve({vA[1]},{ ~1}): assign(%): #=========BÀI TOÁN GIA TỐC========= fCB: =1 0, 0, f : #Vector gia toc goc cua CB fDH: =1 0, 0, f0 : #Vector gia toc goc cua DH fDA: =1 0, 0, f1 : #Vector gia toc goc cua DA aBa: = CrossProduct ( fCB, CB) - ~2 CB: #Vector gia toc tuyet doi cua diem B aBe: = CrossProduct ( fDH, OB) - ~02 OB: #Vector gia toc keo theo cua diem B aBc: = CrossProduct (2~DH, vBr): #Vector gia toc Coriolis cua diem B pt2:=DotProduct(aBa,aBc,conjugate=false)=DotProduct(aBe,aBc,conjugate=false)+ DotProduct(aBr,aBc,conjugate=false)+ DotProduct(aBc,aBc,conjugate=false):#Phuong trinh hop gia toc solve({pt2},{ f0 }): assign(%): aD: = CrossProduct _fDH, OD i - ~02 OD #Vector gia toc cua diem D aA: = aD + CrossProduct _fDA, DA i - ~l2 DA #Vector gia toc cua diem A solve({aA[1]},{ f1}): assign(%): #=========DỮ LIỆU ĐẦU VÀO========= rn n: = 1200: ~ : = 30 : f : = 0: a:=0.6:b:=0.6:c:=0.6:d:=0.6: r r a := : b := #=========XUẤT KẾT QUẢ========= evalf( ~0 );#Van toc goc cua DH 62.83185306 evalf( f0 );#Gia toc goc cua DH -1.3.10-6 evalf( ~1);#Van toc goc cua DA 36.27598729 evalf( f1);#Gia toc goc cua DA 4707.604262 evalf(vA[2]);#Van toc cua diem A -43.53118474 evalf(aA[2]);#Van toc cua diem A -911.7150012 Kết tính tốn với cơng bố [5] (sử dụng phương pháp giải tích) Điều chứng tỏ độ tin cậy tính xác thuật tốn Từ chương trình lập trình trên, thay đổi thơng số đầu vào chạy chương trình Maple thu kết động học thời điểm khác Tài liệu tham khảo [1] Khổng Doãn Điền, Đặng Việt Cương, Vũ Xuân Trường, Vũ Đức Phúc, Giáo trình Cơ học kỹ thuật, NXB Giáo dục Việt Nam, Hà Nội, 2012 [2] Khổng Doãn Điền, Vũ Xuân Trường, Nguyễn Duy Chinh, Phương pháp số Cơ học kỹ thuật, NXB Khoa học Kỹ thuật, Hà Nội, 2014 [3] Khổng Doãn Điền, Nguyễn Duy Chinh, Vũ Xuân Trường, Tuyển tập Bài tập & Lời giải Cơ học kỹ thuật, phần Động lực học, NXB Khoa học Kỹ thuật, Hà Nội, 2014 Khoa học & Công nghệ - Số 9/Tháng - 2016 Journal of Science and Technology 11 ISSN 2354-0575 [4] Nguyễn Văn Khang, Cơ học kỹ thuật, NXB Giáo dục Việt Nam, Hà Nội, 2009 [5] Nguyễn Phong Điền, Nguyễn Quang Hoàng, Nguyễn Văn Khang, Nguyễn Minh Phương, Bài tập Cơ học kỹ thuật, NXB Giáo dục Việt Nam, Hà Nội, 2010 [6] Nguyễn Văn Khang, Động lực học hệ nhiều vật, NXB Khoa học kỹ thuật, Hà Nội, 2007 AN ALGORITHM IN KINETIC ANALYSIS FOR MECHANICAL SYSTEMS Abtract: This paper presents a kinematic analysis algorithms applied to diffirent mechanical systems The flexibility of the algorithm is shown in that can apply to all mechanical systems and at all times The idea of this algorithm comes from computing power on a vector, matrix of mathematical software (eg Maple) However a difficulty arises that the processing of data in the form of calculation parameters (symbolic), the results will be in the form of original expression RootOf, while we need the results in the form of parameters (symbolic) or number (numeric) This issue will be presented and thoroughly solved in this paper Keywords: Kinetic analysis, DotProduct, CrossProduct, RootOf, Symbolic, Conjugate 12 Khoa học & Công nghệ - Số 9/Tháng - 2016 Journal of Science and Technology ... số Cơ học kỹ thuật, NXB Khoa học Kỹ thuật, Hà Nội, 2014 [3] Khổng Doãn Điền, Nguyễn Duy Chinh, Vũ Xuân Trường, Tuyển tập Bài tập & Lời giải Cơ học kỹ thuật, phần Động lực học, NXB Khoa học Kỹ thuật, ... -911.7150012 Kết tính tốn với cơng bố [5] (sử dụng phương pháp giải tích) Điều chứng tỏ độ tin cậy tính xác thuật tốn Từ chương trình lập trình trên, thay đổi thơng số đầu vào chạy chương trình Maple... Văn Khang, Nguyễn Minh Phương, Bài tập Cơ học kỹ thuật, NXB Giáo dục Việt Nam, Hà Nội, 2010 [6] Nguyễn Văn Khang, Động lực học hệ nhiều vật, NXB Khoa học kỹ thuật, Hà Nội, 2007 AN ALGORITHM IN KINETIC