Upload
nguyen-cong-bang
View
291
Download
6
Embed Size (px)
Citation preview
Giáo trình MatLab SimMechanics
Phạm Hùng Kim Khánh Trang 81
CHƯƠNG 5: SIMMECHANICS
Chương này giới thiệu về các đối tượng trong thư viện SimMechanics để mô
phỏng các đối tượng cơ khí.
1. SimMechanics
Khởi động SimMechanics: Start > Simulink > SimMechanics > Block Library.
Giáo trình MatLab SimMechanics
Phạm Hùng Kim Khánh Trang 82
SimMechanics là công cụ cho phép mô hình hoá các chi tiết cơ khí bao gồm các
thư viện như sau:
1.1. Bodies
1.1.1. Machine Environment
Khối Machine Environment cho phép xem và hiệu chỉnh các thông số cơ khí.
Gravity vector: giá trị và hướng của vector gia tốc trọng trường, là một vector có 3
phần tử với giá trị mặc định là [0 -9.81 0], đơn vị m/s2.
Input gravity as signal: gia tốc trọng trường được chọn bằng Simulink. Khi đó,
khối Machine Environment phải có thêm tín hiệu ngoài là vector 3 thành phần x, y, z.
Machine dimensionality: chọn mô phỏng 2D hay 3D.
Giáo trình MatLab SimMechanics
Phạm Hùng Kim Khánh Trang 83
Analysis mode: chọn mô hình phân tích.
1.1.2. Shared Environment
Kết nối 2 mô hình cơ khí dùng chung thông số. Để kết nối 2 hệ thống cơ khí dùng
chung thông số, kết nối các port như sau:
- Port đa dụng
- Port của đối tượng Body
Giáo trình MatLab SimMechanics
Phạm Hùng Kim Khánh Trang 84
1.1.3. Ground
Biểu diễn một điểm cố định trên nền/giá đỡ, nơi đặt gốc của hệ trục toạ độ.
Một khối Ground biểu diễn một điểm cố định trong hệ toạ độ tuyệt đối. Gắn khối
này vào một bên của khớp để ngăn chặn sự chuyển động của bên đó của khớp. Như vậy
khối này tương ứng với một ngàm.
- Ground nằm trong thư viện Bodies và nó chính là một body đặc biệt. Ta chỉ có
thể nối một đầu của nó với một khớp. Các khối ground tự động lấy hệ toạ độ có
các trục song song với hệ tọa độ (gắn tại một trong các ground trước đó) và gốc
tại ground point.
- Bất kỳ một mô hình SimMechanics nào cũng cần có ít nhất một ground.
- Không thể nối các khối cảm biến cũng như kích động vào ground vì chúng
không chuyển động.
Thông số của Ground chỉ có toạ độ của nó trong hệ trục toạ độ, là một vector có 3
thành phần x, y, z.
Giáo trình MatLab SimMechanics
Phạm Hùng Kim Khánh Trang 85
1.1.4. Body
Dùng để biểu diễn một vật thể cứng tuỳ ý. Một vật thể cứng được xác định trong
không gian bởi vị trí trọng tâm và hướng của nó trong một hệ toạ độ nào đó. Khối Body
biểu diễn một vật thể cứng mà thuộc tính của nó thay đổi tuỳ ý người sử dụng. Các thông
số mô tả bao gồm:
• Khối lượng của vật thể và thông số biểu diễn moment quán tính
• Toạ độ trọng tâm của vật thể (CG)
• Một hay nhiều hệ toạ độ Body tuỳ ý (Coordinate System - CSs)
Trong SimMechanics, thuộc tính của Body thể hiện qua hai tập hợp: thuộc tính
của hệ trục toạ độ và thuộc tính khối lượng:
• Thuộc tính hệ trục toạ độ được xác định bởi hệ toạ độ Body của vật.
° Đòi hỏi hệ toạ độ có gốc đặt tại trọng tâm. Điểm trọng tâm xác định cả vị trí ban
đầu của toàn Body và là gốc của hệ toạ độ trọng tâm. Ta cần phải đặt hướng cho các trục
của hệ toạ độ trọng tâm.
° Có thể đặt thêm một số hệ toạ độ trên Body. Mỗi hệ toạ độ được định nghĩa bằng
vị trí gốc của nó và hướng những trục toạ độ đó.
° Khi kết nối một khối Joint, Constraint/ Driver, Actuator hoặc Sensor với một
Body cần đến một điểm mấu trên Body. Điểm mấu này là một trong số những gốc của hệ
toạ độ đặt trên Body.
° Các port cho phép kết nối hệ toạ độ Body với các khối khác.
° Tập hợp các gốc của hệ toạ độ Body (kể cả hệ trọng tâm) xác định vỏ lồi của
Body, một trong số những dạng chuẩn thể hiện Body trong không gian.
• Thuộc tính khối lượng định nghĩa bằng khối lượng của Body và thông số biểu
diễn quán tính.
Giáo trình MatLab SimMechanics
Phạm Hùng Kim Khánh Trang 86
- Khối lượng là quán tính của Body ứng với gia tốc dịch chuyển của trọng tâm
bằng 1 và lực tác dụng bằng 1 đơn vị.
- Thông số quán tính thể hiện sự phân bố mật độ khối lượng trong Body và điều
khiển gia tốc quay của Body xung quanh trọng tâm do tác dụng của moment xoắn.
- Các thành phần của thông số quán tính điều khiển hướng ban đầu của Body và
luôn luôn được xét trong hệ toạ độ trọng tâm. Hướng của hệ toạ độ trọng tâm đối với hệ
toạ độ khác bên ngoài Body (hệ toạ độ thực, hệ toạ độ trên một Ground hay hệ toạ độ trên
một Body khác) xác định hướng của Body đối với những Body khác hay đối với hệ toạ
độ thực.
- Thông số quán tính của Body định nghĩa trục chính của nó, moment và ellipsoid
tương đương của nó, một trong số những dạng chuẩn thể hiện Body trong không gian.
Trạng thái mặc định ban đầu của một Body:
• Vị trí ban đầu: trọng tâm của nó.
• Hướng ban đầu: thành phần thông số quán tính trong hệ toạ độ trọng tâm và
hướng của hệ toạ độ trọng tâm đối với các hệ toạ độ khác trong máy.
Điều kiện đầu có thể thay đổi thông qua khối Joint Initial Condition
Actuator trước khi mô phỏng.
Các thông số:
Giáo trình MatLab SimMechanics
Phạm Hùng Kim Khánh Trang 87
• Mass Properties
° Mass: khối lượng của Body.
° Inertia tensor: thông số quán tính (tương ứng với hệ toạ độ trọng tâm). Thông số
này phải là ma trận số thực 3x3, mặc định là ma trận đơn vị 3x3. Khối lượng điểm có
thông số này là ma trận zeros(3,3).
• Các hệ toạ độ:
° Cấu hình hệ toạ độ:
+ Mặc định gồm có ba hệ toạ độ: hệ toạ độ trọng tâm gắn với trọng tâm của Body
và hai hệ toạ độ Body tuỳ ý khác dùng để kết nối Joint, Constraint hoặc Driver.
+ Có thể cấu hình hệ toạ độ trọng tâm nhưng không thể xoá và không thể thêm hệ
toạ độ trọng tâm.
+ Cấu hình hệ toạ độ cần hai bước:
- Định vị gốc toạ độ trong bảng Position.
- Định hướng các trục trong bảng Orientation.
+ Định nghĩa hệ toạ độ Body cần tham chiếu với một hệ toạ độ tồn tại trước.
Trong một khối Body cho trước, có thể tham chiếu theo ba cách:
- World.
- Hệ toạ độ khác trên cùng một Body.
- Adjoining CS, hệ toạ độ trên Body kế cận hoặc Ground nối trực tiếp bởi một
Joint, Constraint, hoặc Driver.
- Mỗi hệ toạ độ đều phải tham chiếu đến Ground hay hệ toạ độ thực (trực tiếp hay
gián tiếp). Khi tham chiếu gián tiếp, một hệ toạ độ phải tham chiếu đến một hệ toạ độ
khác và cứ tiếp tục đến khi kết thúc là Ground hay hệ toạ độ thực.
- Hệ toạ độ trọng tâm được đặt tên là CG, các hệ toạ độ khác lần lượt là CG1,
CG2, …
Giáo trình MatLab SimMechanics
Phạm Hùng Kim Khánh Trang 88
• Cấu hình cho Position: trường Position của mỗi hệ toạ độ xác định vị trí tịnh tiến
của gốc toạ độ.
• Cấu hình cho Orientation: xác định góc quay so với trục toạ độ tham chiếu.
• Euler:
Quay tuần tự 3 trục toạ độ. Ví dụ như, Euler X-Y-Z là quay xung quanh trục X
đầu tiên, tiếp theo là trục Y, kế tiếp là trục Z. Góc quay xác định bằng vector hướng.
• 3-by-3 Transform:
Xác định bằng một ma trận quay trực giao. Ma trận trực giao R có tính chất:
R-1
= RT
Cột của R là các vector đơn vị của các trục của hệ toạ độ.
• Quaternion:
Tịnh tiến theo hệ toạ độ nào Hướng theo hệ toạ độ nào
Đơn vị quay: độ,
radian hay vòng quay Phương thức quay
Giáo trình MatLab SimMechanics
Phạm Hùng Kim Khánh Trang 89
Xác định góc quay của các trục theo vector 1x4 sau:
[nxsin(/2) nysin(/2) nzsin(/2) cos(/2)]
n = (nx, ny,nz) là vector đơn vị, là góc quay tuân theo luật bàn tay phải.
1.2. Joints
Giáo trình MatLab SimMechanics
Phạm Hùng Kim Khánh Trang 90
1.2.1. Prismatic
Dùng biểu diễn một khối lăng trụ một bậc tự do (DoF – Degree of Freedom) tịnh
tiến kết nối 2 vật thể.
Khối Prismatic chỉ kết nối với đúng 2 khối Body thông qua 2 port Base (màu đỏ)
và Follower (màu xanh). Hướng di chuyển của khớp từ Base tới Follower.
Các thông số:
Current base và current follower: các khối Body đang kết nối với khớp.
Giáo trình MatLab SimMechanics
Phạm Hùng Kim Khánh Trang 91
Number of sensors / actuator port: số lượng port mở rộng thêm để kết nối với các
khối Joint Actuator hay Joint Sensor. Giá trị mặc định là 0.
Axes: xác định hướng tịnh tiến tự do của khớp.
Axis of Action: hướng di chuyển.
Reference CS: hệ toạ độ tham chiếu.
1.2.2. Revolute
Biểu diễn khớp quay một bậc tự do.
Khối Revolute miêu tả một bậc tự do quay đơn xung quanh một trục xác định giữa
hai Body. Hướng quay được xác định theo quy tắc bàn tay phải. Các thông số của khối
Revolute giống như khối Prismatic.
1.2.3. Spherical
Biểu diễn khớp quay cầu 3 bậc tự do.
Khối Sperical miêu tả ba bậc tự do quay xung quanh một điểm trung tâm. Hai bậc
tự do quay xác định một trục toạ độ và bậc thứ 3 xác định góc quay theo trục toạ độ này.
Hướng quay được xác định theo quy tắc bàn tay phải. Các thông số của khối Shperical
giống như khối Prismatic.
Giáo trình MatLab SimMechanics
Phạm Hùng Kim Khánh Trang 92
1.2.4. Planar
Biểu diễn một khớp kết hợp hai bậc tự do tịnh tiến và một bậc tự do quay, trục
quay vuông góc với mặt phẳng tịnh tiến.
Khối planar là sự kết hợp giữa 2 khối Prismatic nguyên thuỷ và một khối Revolute
nguyên thuỷ. Lưu ý rằng quá trình mô phỏng sẽ báo lỗi khi hai trục của 2 khối Prismatic
song song nhau.
1.2.5. Universal
Biểu diễn một khớp kết hợp hai bậc tự do quay, là kết hợp giữa 2 khối Revolute
nguyên thuỷ và không có ảnh hưởng lẫn nhau giữa các khớp.
1.2.6. Cylindrical
Biểu diễn một khớp kết hợp một bậc tự do tịnh tiến và một bậc tư do quay trong
đó trục quay và trục tịnh tiến song song nhau, là kết hợp giữa một khối Prismatic và một
khối Revolute.
Giáo trình MatLab SimMechanics
Phạm Hùng Kim Khánh Trang 93
1.2.7. Gimbal
Biểu diễn một khớp kết hợp 3 bậc tự do quay, là kết hợp giữa 3 khối Revolute.
Khi 2 trong 3 trục toạ độ của các khối song song nhau thì quá trình mô phỏng sẽ
báo lỗi
Trạng thái khởi động của 3 trục toạ độ trực giao lẫn nhau.
1.2.8. Custom joint
Biểu diễn một khớp kết hợp tuỳ ý tới 3 bậc tự do tịnh tiến và 3 bậc tự do quay. Ta
có thể tuỳ biến khối này như là kết hợp của các khối nguyên thuỷ Prismatic, Revolute,
Sperical.
Có thể thêm, cấu hình, xoá các khớp nguyên thuỷ từ Custom joint.
Giáo trình MatLab SimMechanics
Phạm Hùng Kim Khánh Trang 94
1.2.9. Weld
Biểu diễn mối nối cứng (không bậc tự do). Hai Body nối với khối Weld sẽ được
nối cứng lại, không thể chuyển động với nhau.
1.2.10. Telescoping
Biểu diễn một khớp kết hợp một bậc tự do tịnh tiến và ba bậc tự do quay, là kết
hợp giữa một khối Prismatic và một khối Spherical.
1.2.11. In-plane
Biểu diễn một khớp kết hợp hai bậc tự do tịnh tiến, là kết hợp giữa hai khối
Prismatic.
Giáo trình MatLab SimMechanics
Phạm Hùng Kim Khánh Trang 95
1.2.12. Bushing
Biểu diễn một khớp kết hợp 3 bậc tự do tịnh tiến và 3 bậc tự do quay, là kết hợp
của 3 khối Prismatic và 3 khối Revolute. Các trục toạ độ tịnh tiến và các trục toạ độ quay
không được song song với nhau.
1.2.13. Bearing
Biểu diễn một khớp kết hợp một bậc tự do tịnh tiến và ba bậc tự do quay, là kết
hợp giữa một khối Prismatic và ba khối Revolute.
Khi 2 trong 3 trục toạ độ của các khối song song nhau thì quá trình mô phỏng sẽ
báo lỗi.
Trạng thái khởi động của 3 trục toạ độ trực giao lẫn nhau.
1.2.14. Six-DoF
Biểu diễn một khớp kết hợp 3 bậc tự do tịnh tiến và 3 bậc tự do quay, là kết hợp
của 3 khối Prismatic và 1 khối Spherical. Các trục toạ độ tịnh tiến không được song song
với nhau.
1.2.15. Screw
Biểu diễn một khớp kết hợp 1 bậc tự do tịnh tiến và 1 bậc tự do quay trong đó các
trục toạ độ quay và tịnh tiến song song nhau đồng thời có sự kết nối dạng bánh răng giữa
chuyển động tịnh tiến và chuyển động quay.
Thread pitch: khoảng cách dịch chuyển khi quay được 1 góc 360, giá trị mặc định
là 1mm.
Giáo trình MatLab SimMechanics
Phạm Hùng Kim Khánh Trang 96
1.2.16. Disassembled prismatic
Biểu diễn một khớp 1 bậc tự do tịnh tiến dọc theo trục lệch giữa 2 vật thể. Khi bắt
đầu mô phỏng, SimMechanics sẽ tự động gán 2 trục toạ độ.
1.2.17. Disassembled cylindrical
Biểu diễn một khớp kết hợp 1 bậc tự do tịnh tiến và 1 bậc tự do quay dọc theo trục
lệch, là kết hợp của một khối Prismatic di chuyển dọc theo trục và một khối Revolute
quay gần trục. Khi bắt đầu mô phỏng, SimMechanics sẽ tự động gán 2 trục toạ độ.
1.2.18. Disassembled revolute
Biểu diễn một khớp 1 bậc tự do quay theo trục lệch giữa 2 vật thể. Khi bắt đầu mô
phỏng, SimMechanics sẽ tự động gán 2 trục toạ độ.
Giáo trình MatLab SimMechanics
Phạm Hùng Kim Khánh Trang 97
1.2.19. Disassembled spherical
Biểu diễn một khớp 3 bậc tự do sai khớp. Khi bắt đầu mô phỏng, SimMechanics
sẽ tự động gán trục toạ độ.
1.2.20. Revolute – Revolute
Biểu diễn một khớp kết hợp giữa 2 khớp Revolute nối với nhau bằng một thanh
không trọng lượng, chiều dài không đổi.
1.2.21. Revolute – Spherical
Biểu diễn một khớp kết hợp giữa 1 khớp Revolute và 1 khớp Spherical nối với
nhau bằng một thanh không trọng lượng, chiều dài không đổi.
Giáo trình MatLab SimMechanics
Phạm Hùng Kim Khánh Trang 98
1.2.22. Spherical – Spherical
Biểu diễn một khớp kết hợp giữa 2 khớp Spherical nối với nhau bằng một thanh
không trọng lượng, chiều dài không đổi.
1.3. Constraints & Drivers
1.3.1. Distance Driver
Xác định khoảng cách giữa hai hệ trục toạ độ của 2 Body, là một hàm theo thời
gian. Hàm này phải không âm trong quá trình mô phỏng.
Cho r1, r2 là 2 vector xác định gốc của 2 toạ độ trên, khoảng cách giữa chúng xác
định theo công thức: |r1 – r2| = d(t=0) + f(t).
Khối Distance Driver được nối với một khối Driver Actuator. Tín hiệu ngõ vào
của khối Driver Actuator xác định hàm f(t). Nếu không kết nối với Distance Driver, khối
này sẽ cố định khoảng cách giữa 2 body trên bằng với giá trị khởi động d(t=0).
Giáo trình MatLab SimMechanics
Phạm Hùng Kim Khánh Trang 99
1.3.2. Angle Driver
Xác định góc giữa 2 trục toạ độ của 2 body, là một hàm theo thời gian. Khối Angle
Driver xác định góc theo công thức sau:
= (t=0) + f(t)
Khối Angle Driver được nối với một khối Driver Actuator. Tín hiệu ngõ vào của
khối Driver Actuator xác định hàm f(t). Nếu không kết nối với Angle Driver, khối này sẽ
cố định góc giữa 2 body trên bằng với giá trị khởi động d(t=0).
1.3.3. Linear Driver
Xác định thành phần khác nhau của 2 gốc toạ độ của 2 body, là một hàm theo thời
gian. Cho r1, r2 là 2 vector xác định gốc của 2 toạ độ trên, đặt R = r1 – r2 = (X,Y,Z) là
vector chỉ sự khác nhau của các thành phần của 2 gốc toạ độ.
X = X(t=0) + f(t) hay Y = Y(t=0) + f(t) hay Z = Z(t=0) + f(t)
Khối Linear Driver được nối với một khối Driver Actuator. Tín hiệu ngõ vào của
khối Driver Actuator xác định hàm f(t). Nếu không kết nối với Linear Driver, khối này sẽ
cố định sự khác nhau giữa các thành phần của 2 gốc toạ độ của 2 body trên bằng với giá
trị khởi động.
Thông số:
World Axis: xác định thành phần khác nhau là X, Y hay Z.
1.3.4. Velocity Driver
Xác định một kết hợp tuyến tính giữa vận tốc dài và vận tốc góc, là một hàm theo
thời gian.
Cho vB, vF, B, F là các vận tốc dài và vận tốc góc trong hệ trục toạ độ thực; cB,
cF, dB, dF là các hằng số. Khối Velocity Driver xác định kết hợp tuyến tính theo công
thức sau:
= cBvB + dBB - cFvF - dFF = (t=0) + f(t)
Khối Velocity Driver được nối với một khối Driver Actuator. Tín hiệu ngõ vào
của khối Driver Actuator xác định hàm f(t). Nếu không kết nối với Velocity Driver, khối
này sẽ cố định sự kết hợp trên trên bằng với giá trị khởi động.
Giáo trình MatLab SimMechanics
Phạm Hùng Kim Khánh Trang 100
1.3.5. Point-Curve Constraint
Xác định gốc toạ độ trên một body chuyển động thành một đường cong so với
body khác. Đường cong được xác định bằng các điểm di chuyển, gán trong phần thông số
của khối Point-Curve Constraint.
Các thông số:
Breakpoints: xác định các điểm tạo thành đường cong.
X-components, Y-components, Z-components: là các vector xác định các thành
phần (X,Y,Z) của các điểm breakpoints.
End conditions: xác định điều kiện kết thúc.
Natural: độ dốc của đường cong tại điểm kết thúc và điểm bắt đầu giống
như độ dốc của 4 điểm gần nhất (tối thiểu cần 2 điểm breakpoints).
Not-a-knot: đường cong và đạo hàm cấp 1 của nó chỉ liên tục tại điểm đầu
và kết thúc (tối thiểu cần 4 điểm breakpoints).
Periodic: điểm đầu và cuối trùng nhau (tối thiểu cần 2 điểm breakpoints).
Giáo trình MatLab SimMechanics
Phạm Hùng Kim Khánh Trang 101
1.3.6. Parallel constraint
Bắt buộc 2 trục toạ độ của 2 body song song nhau. Gọi aB, aF là 2 vector xác định
trục toạ độ của 2 body, khối Parallel Constraint yêu cầu:
|aBaF| = |aB||aF|
Ta cần phải định hướng ban đầu cho các trục toạ độ này, xác định trong phần
thông số Parallel Constraint Axis của khối.
1.3.7. Gear constraint
Bắt buộc 2 trục toạ độ chuyển động quay theo dạng bánh răng tròn. Các tâm vòng
tròn là gốc của các hệ toạ độ và các vòng tròn này tiếp xúc với nhau. Gọi r1, r2, 1, 2 lần
lượt là bán kính của các đường tròn và vận tốc góc của các body:
1r1 = 2r2
Khi sử dụng khối Gear Constraint, cần phải kết nối 2 body (đã kết nối với Gear
Constraint) với body thứ 3. Nếu body thứ 3 là Ground thì phải dùng cả 2 Ground cho 2
body trên.
Giáo trình MatLab SimMechanics
Phạm Hùng Kim Khánh Trang 102
1.4. Sensors & Actuators
1.4.1. Body Actuator
Tác dụng một lực (tịnh tiến) hay moment (quay) vào body. Lực tác động là một
hàm theo thời gian, là một tín hiệu Simulink (có thể là tín hiệu từ Sensor).
Giáo trình MatLab SimMechanics
Phạm Hùng Kim Khánh Trang 103
Cần phân biệt rõ khối Body Actuator với các khối Driver:
- Khối Body Actuator tác động lực vào Body trong một hệ quy chiếu đã xác
định.
- Khối Driver truyền động giữa các Body.
1.4.2. Joint Actuator
Tác động lực (tịnh tiến dọc theo khớp), moment (quay) hay chuyển động tới một
khớp nguyên thuỷ.
Khi tác động quá trình chuyển động đến khớp:
- Chuyển động tịnh tiến: cần 3 thông số vị trí, vận tốc và gia tốc trong đó vận tốc
là đạo hàm của vị trí, gia tốc là đạo hàm của vận tốc.
- Chuyển động quay: cần 3 thông số góc quay, vận tốc góc và gia tốc góc trong
đó vận tốc góc là đạo hàm của góc, gia tốc gốc là đạo hàm của vận tốc gốc.
- Một khớp nguyên thuỷ chỉ có thể truyền động đến 1 khớp đó.
- Một khớp kết hợp có nhiều khớp nguyên thuỷ bên trong và ta có thể chọn khớp
được truyền động.
- Không thể kết nối Joint Actuator với khớp Spherical.
- Cần phải thêm port vào các khớp để có thể kết nối với khối Joint Actuator.
Giáo trình MatLab SimMechanics
Phạm Hùng Kim Khánh Trang 104
1.4.3. Driver Actuator
Tạo một chuyển động tương đối giữa 2 body. Khối Driver Actuator tác động đến
một khối Driver giữa 2 Body (xem phần 1.3), ngõ vào của khối Driver Actuator là một
hàm theo thời gian và các đạo hàm cấp 1, cấp 2 của nó. Tín hiệu ngõ vào gồm có 3 thành
phần (ngoại trừ tác động đến khối Velocity Driver thì cần 2 thành phần) theo thứ tự là
f(t), df(t)/dt, d2f(t)/dt
2 (khối Velocity Driver không có đạo hàm cấp 2).
Ý nghĩa của hàm f(t) tuỳ thuộc vào khối Driver được kết nối: tịnh tiến (Distance
Driver, Linear Driver, Velocity Driver) hay quay (Angle Driver).
Ta không bắt buộc phải kết nối một khối Driver với khối Driver Actuator. Khi đó,
khối Driver cố định chuyển động tương đối của các Body theo điều kiện đầu.
Cần phải thêm port vào khối Driver để kết nối với Driver Actuator.
Giáo trình MatLab SimMechanics
Phạm Hùng Kim Khánh Trang 105
1.4.4. Body Sensor
Đo quá trình chuyển động của body (tìm vị trí, vận tốc hay gia tốc). Khối Body
Sensor đo các thành phần của chuyển động tịnh tiến hay quay:
- Tịnh tiến: vị trí, vận tốc và gia tốc. Thành phần cuối của vector vị trí nằm tại
gốc của hệ toạ độ thực.
- Quay: ma trận 3x3 xác định hướng, vận tốc góc và gia tốc góc.
Ma trận quay R là ma trận trực giao: RRT = R
TR = I.
1.4.5. Joint Sensor
Đo chuyển động, lực hay moment của khớp nguyên thuỷ.
- Tịnh tiến (khớp Prismatic): đo vị trí, vận tốc và gia tốc.
- Quay (khớp Revolute): đo góc quay, vận tốc góc và gia tốc quay.
- Cầu (khớp Spherical): đo phép toán Quaternion, đạo hàm cấp 1 và cấp 2.
Giáo trình MatLab SimMechanics
Phạm Hùng Kim Khánh Trang 106
1.4.6. Constraint & Driver Sensor
Đo lực / moment cưỡng bức giữa một cặp Body. Ta kết nối khối Constraint &
Driver Sensor với khối Constraint hay Driver được nối giữa một cặp Body.
1.4.7. Joint Initial Condition
Xác định vị trí và vận tốc ban đầu của khớp nguyên thuỷ trước khi bắt đầu quá
trình mô phỏng. Các giá trị này có 2 loại:
- Điều kiện tịnh tiến cho khối Prismatic: vị trí và vận tốc.
- Điều kiện quay cho khối Revolute: góc quay và vận tốc góc.
- Không thể nối với khớp Sperical.
Giáo trình MatLab SimMechanics
Phạm Hùng Kim Khánh Trang 107
1.4.8. Variable Mass & Inertia Actuator
Cho phép thay đổi khối lượng và quán tính của body thay đổi theo thời gian.
- Có thể kết nối nhiều khối Variable Mass & Inertia Actuator vào một Body, mỗi
khối nối với một port riêng.
- Các tác động của khối này như sau:
Chỉ thay đổi khối lượng: thêm vào một khối lượng điểm thay đổi theo thời gian
vào Body được kết nối.
Chỉ thay đổi quán tính: thêm vào ma trận thông số quán tính thay đổi theo thời
gian.
Thay đổi cả khối lượng và quán tính: thêm vào một body ẩn, giống như kết nối với
Body khác bằng Weld, ngoại trừ khối lượng và quán tính thay đổi theo thời gian.
1.4.9. Joint Stiction Actuator
Tạo ma sát tĩnh cho một khớp nguyên thuỷ dưới dạng lực / moment tương đối giữa
các Body nối với khớp.
- Không thể tác động đồng thời một Joint Stiction Actuator và Joint Actuator lên
một khớp nguyên thuỷ mà dùng port External Actuator trên khối Joint Stiction
Actuator thay thế cho khối Joint Actuator.
- Có thể tác động đồng thời khối Joint Stiction Actuator và Joint Initial
Condition Actuator hay đồng thời đo lực / moment bằng khối Joint Sensor.
- Không thể nối với khớp Spherical.
1.5. Force & Elements
Giáo trình MatLab SimMechanics
Phạm Hùng Kim Khánh Trang 108
1.5.1. Body Spring & Damper
Mô phỏng dao động của lực cản giữa 2 Body. Khi kết nối với 2 Body, ta gọi rA, rB
là vị trí của 2 Body, vector vị trí tương đối là r = rA – rB và vận tốc tương đối là v = dr/dt,
lực tác động của 2 Body là:
F = -k(|r| - r0)(r/|r|) – b(vr)(r/|r|2)
1.5.2. Joint Spring & Damper
Mô phỏng dao động của lực /moment cản của khớp nối 2 Body.
Tịnh tiến: F = -k(x – x0) – bv
Quay: F = -k( –0) – b
2. Ví dụ
2.1. Thanh đơn
- Khởi động SimMechanics: Start > Simulink > SimMechanics > Block
Library.
- Tạo mô hình mới: File > New > Model.
- Double click vào thư viện Bodies, kéo và thả đối tượng Machine Evironment
và Ground vào mô hình mới tạo.
- Double click vào đối tượng Ground để cấu hình.
Giáo trình MatLab SimMechanics
Phạm Hùng Kim Khánh Trang 109
Chọn vị trí của Ground trong hệ toạ độ thực là (3,4,5) và chọn vào check box
Show Machine Environment port. Sau đó, kết nối khối Ground với khối Machine
Environment (chọn Format > Flip Block hay nhấn Ctrl+I để quay khối).
Xét thanh dao động là thanh thép với chiều dài L = 1m và bán kính r = 1cm, khối
lượng thanh m = r2L = 2.49 kg và ma trận thông số quán tính:
[
]
[
]
[
]
Thanh thép có trọng tâm tại toạ độ (2.5,4,5).
- Kéo và thả đối tượng Body vào mô hình và cấu hình như sau:
Giáo trình MatLab SimMechanics
Phạm Hùng Kim Khánh Trang 110
Xoá hệ toạ độ CS2, và đặt hệ toạ độ trọng tâm CG và CS1 như hình vẽ.
- Double click vào thư viện Joints, kéo và thả khối Revolute vào mô hình.
Chọn khối Revolute và nhấn Ctrl+I để có thể kết nối F với Body và B với
Ground.
Current base được kết nối với GND@Ground xác định Base của khớp nối với
Ground tại toạ độ (3,4,5).
Current follower được kết nối với CS1@Body xác định Follower của khớp kết
nối với CS1 của Body1 tại toạ độ (3,4,5).
Hướng quay của khớp là trục z.
Chọn số port kết nối với sensor / actuator là 1.
Giáo trình MatLab SimMechanics
Phạm Hùng Kim Khánh Trang 111
- Double click vào thư viện Sensors & Actuator, kéo và thả khối Joint Sensor
vào mô hình. Kết nối khối Revolute với khối Joint Sensor.
Double click vào khối Joint Sensor, chọn vào check box Angle, Angular Velocity
và bỏ chọn check box Output selected parameters as one signal ở phía dưới.
- Mở Simulink Browser Library, kéo và thả các khối Mux (thư viện Signal
Routing), Scope, XY Graph (thư viện Sinks) vào mô hình. Kết nối các khối
như hình vẽ.
Giáo trình MatLab SimMechanics
Phạm Hùng Kim Khánh Trang 112
- Lưu lại mô hình với tên spen.mdl.
- Cấu hình các thông số cho quá trình mô phỏng: Simulation > Configuration
Parameteres.
Trong phần Solver, thay đổi Relative tolerance thành 1e-6, Absolute tolerance
thành 1e-4, Max step size thành 0.2, Stop time thành inf.
- Cấu hình các khối hiển thị:
Double click vào khối XY Graph, thay đổi các thông số xmin = 0, xmax = 200,
ymin = -500, ymax = 500.
Giáo trình MatLab SimMechanics
Phạm Hùng Kim Khánh Trang 113
Nhấn vào nút Start Simulation để thực hiện quá trình mô phỏng. Double click
vào khối Scope và nhấn vào nút Autoscale để hiển thị các tín hiệu vị trí và vận tốc.
- Mô phỏng hoạt động của thanh: Simulation > Configuration Parameteres.
Trong phần Simscape > SimMechanics, click chọn vào 2 check box Display
Machines after updating diagram và Show animation during simulation.
Để chọn dạng hình học của thanh, trong cửa sổ mô phỏng Machine of model:
spen, chọn menu Model > Body Geometries > Ellipsoids.
Giáo trình MatLab SimMechanics
Phạm Hùng Kim Khánh Trang 114
2.2. Cơ chế bốn thanh
Chi tiết của hệ thống như sau:
Giáo trình MatLab SimMechanics
Phạm Hùng Kim Khánh Trang 115
- 2 khối Ground, toạ độ Ground 1 là (0.433 0.04 0) và Ground 2 là (-0.434 0.04
0).
- 4 khối Revolute tại 2 Ground và 2 đầu thanh 2.
Khối Revolute 1: nối Ground 1 và thanh 1.
Khối Revolute 2: nối thanh 1 và thanh 2.
Khối Revolute 3: nối thanh 2 và thanh 3.
Khối Revolute 4: nối Ground 2 và thanh 3.
- 3 khối Body, ứng với thanh 1, thanh 2 và thanh 3
Thanh 1: chiều dài 0.6m, toạ độ trọng tâm (0.03 0.282 0) (so với toạ độ Ground 1)
0.03 = 0.283*sin(6.040); 0.282 = 0.283*cos(6.04
0)
Toạ độ kết nối với thanh 2 là (0.063 0.597 0)(so với toạ độ Ground 1)
0.063 = 0.6*sin(6.040); 0.597 = 0.6*cos(6.04
0)
Hướng của thanh 1 là: (0 0 83.10).
Thông số các thanh 2 và 3 tương tự.
Bảng thông số các thanh trong hệ thống:
Giáo trình MatLab SimMechanics
Phạm Hùng Kim Khánh Trang 116
Thanh Thuộc tính Giá trị
1
Mass 5.357
Inertia tensor [1.07e-3 0 0;0 0.143 0;0 0 0.143]
CG [0.03 0.282 0] theo CS1
CS1 [0 0 0] Adjoining (theo Ground)
CS2 [0.063 0.597 0]
CG Orientation [0 0 83.1]
2
Mass 9.028
Inertia tensor [1.8e-3 0 0;0 0.678 0;0 0 0.678]
CG [-0.427 0.427 0] theo CS1
CS1 [0 0 0] Adjoining
CS2 [-0.87 0.493 0]
CG Orientation [0 0 29.5]
3
Mass 0.991
Inertia tensor [2.06e-4 0 0;0 1.1e-3 0;0 0 1.1e-3]
CG [-0.027 -0.048 0] theo CS1
CS1 [0 0 0] Adjoining
CS2 0 0 0] Adjoining
CG Orientation [0 0 60]
- Thêm vào các khối Joint Sensor tại Revolute 2 và Revolute 3 để đo góc quay.
- Xây dựng mô hình như sau và thực hiện mô phỏng với thông số Absolute
tolerance trong Simulation > Configuration Parameters > Solver là 1e-6.