37
Giáo trình MatLab SimMechanics Phm Hùng Kim Khánh Trang 81 CHƯƠNG 5: SIMMECHANICS Chương này giới thiu vcác đối tượng trong thư viện SimMechanics để phỏng các đối tượng cơ khí. 1. SimMechanics Khởi động SimMechanics: Start > Simulink > SimMechanics > Block Library.

Chuong5-SimMechanics

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.

Giáo trình MatLab SimMechanics

Phạm Hùng Kim Khánh Trang 117