Click here to load reader
Upload
minh-duong
View
539
Download
2
Embed Size (px)
Citation preview
Hội nghị kỹ thuật cơ khí lần 2 tại Đại học Bách Khoa Tp.HCMNgày …-…, tháng 5 - 2011, Đại học Bách Khoa thành phố Hồ Chí Minh, Việt Nam
Tóm tắt:Tìm hiểu về công cụ Simmechanics và công cụ
Simulink trong Matlab.Tính động học thuận và động học nghịch của tay robot .Thực hiện một số ví dụ minh họa mô phỏng vị trí động học của tay robot.
Từ khóa: Simmechanics,simulation.....I.GIỚI THIỆU:
MATLAB là một phần mềm lớn với nhiều công cụ mạnh trong việc tính toán và mô phỏng dựa trên các module được tích hợp sẵng .Trong đó Sim mechanics là một môi trường thuận lợi cho kĩ sư trong quá trình thiết kế và mô phỏng các cơ cấu máy, cánh tay, những chuyển động của cơ cấu dựa vào những định luật tác dụng lực và moment.
Matlab còn hổ trợ chuyển các khối chi tiết từ những phần mềm vẽ khác sang môi trường làm việc của Matlab như Solicwork,Iventer….
Matlab xây dựng được mô hình tính toán hợp lí và hiệu quả nhất sao cho việc mô phỏng đạt hiểu quả cao.Matlab cho phép liên kết Simmechanics với Simulink một cách dể dàng trong việc xuất nhập kết quả tính toán một cách rõ ràng,và nhanh do Matlab được xây dựng trên mô hình tính toán ma trận..
MATLAB còn được trang bị thêm các ToolBox – các gói chương trình (thư viện) cho các lĩnh vực ứng dụng rất đa dạng như xử lý tín hiệu, nhận dạng hệ thống, xử lý ảnh, mạng nơ ron, logic mờ, tài chính, tối ưu hóa, phương trình đạo hàm riêng, sinh tin học,….
II.GIỚI THIỆU VỀ THƯ VIÊN CÔNG CỤ SIMMECHANICS:
II.1.Khối thư viện bodies:II.1.1.Khối body:
Mục đích: Biểu diễn một vật thể cứng tùy ý:
Mô tả:
• Khối lượng của vật thể và tensor mômen quán tính.• Toạ độ trọng tâm của vật thể (CG)
• Một số hệ toạ độ Body tuỳ ý (CSs)
II.1.2.Khối Ground:Mục đích: Biểu diễn một điểm trên một giá xác định .
Mô tả:
Một khối Ground biểu diễn một điểm cố định ,định
trong hệ trục tọa độ tuyệt đối World.II.2.Thư viện Constraints & Drivers:II.2.1.Khối Angle driver:
Mục đích: Định rõ góc giữa hai vector trục của Body như một hàm theo thời gian
Mô tả:
Khối Angle Driver truyền dẫn động các vector trục
đã được định trên hai Body. Bạn định rõ các vector trục của “follower body” và “base body” cố định aB, Af.II.2.2.Khối Distance driver:
Mục đích: Định rõ khoảng cách giữa hai gốc hệ tọa độ Body như một hàm theo thời gian
Mô tả:
Khối Distance Driver truyền động khoảng cách giữa
hai gốc của hai hệ tọa độ Body như một hàm thời gian mà bạn định rõ. Hàm này phải luôn luôn được giữ không âm trong khi mô phỏng.II.2.3.Khối Linear driver:
Mục đích: Định rõ một thành phần vector nối hai gốc hệ tọa độ Body như hàm theo thời gian.
Mô tả:
Khối Linear Driver định rõ một thành phần của
vector nối hai gốc hệ tọa độ như một hàm của thời gian.II..2.4.Khối Velocity driver:
Mục đích: Định rõ một sự kết hợp tuyến tính giữa vận tốc dài và vận tốc góc của hai Body như một hàm của thời gian.
TÍNH TOÁN VÀ MÔ PHỎNG ĐỘNG HỌC TRONG MATLAB
Nguyễn Minh Dương1
Nguyễn Duy Đạt2
Trần Thiên Phúc3
1 Khoa Cơ khí, Đại học Bách Khoa, thành phố Hồ Chí Minh, Việt Nam(Tel : 0984044842; E-mail: 20800375 @ stu.hcmut.edu.vn )
2 Khoa Cơ khí, Đại học Bách Khoa, thành phố Hồ Chí Minh, Việt Nam(Tel : 01678892615; E-mail:20800402 @ stu.hcmut.edu.vn )
3 Khoa Cơ khí, Đại học Bách Khoa, thành phố Hồ Chí Minh, Việt Nam(Tel : 0903951022; E-mail:ttphuc.rectie @ hcmut.edu.vn )
Mô tả:
Khối Velocity Driver truyền dẫn sự kết hợp tuyến tính
của vận tốc góc và vận tốc dài đã được chiếu của hai Body.II.2.2.5.Khối Point- curve driver:
Mục đích: Cưỡng bức chuyển động của một điểm trên một Body di chuyển dọc theo một đường cong trên một Body khác.
Mô tả:
Hai Body được nối bởi Point-Curve Constraint chỉ có
thể di chuyển tương đối với Body kia nếu một điểm trên một Body di chuyển dọc theo một đường cong trên một Body khác.II..2.6.Khối Parallel constraint:
Mục đích: Cưỡng bức vector trục Body của hai Body luôn song song. Mô tả:
Hai Body được nối bởi Parallel Constraint là được
khống chế chuyển động quay tương đối giữa chúng.II..2.7.Khối Gear constraint:
Mục đích: Cưỡng bức chuyển động quay của hai Body di chuyển dọc theo vòng tròn bước răng tiếp tuyến.
Mô tả:
Hai Body được nối bởi một khối Gear Constraint là
được khống chế quay tương đối dọc theo vòng tròn bước ở mỗi Body.II..3.Thư viện Joints:II..3.1.Khối Primastic:
Mục đích: Biểu diễn một khớp lăn trụ với một bậc tự do tịnh tiến.
Mô tả:
Khối Prismatic biểu diẽn một bậc tự do tịnh tiến
đơn dọc một trục được xác định.II..3.2. Khối Revolute:
Mục đích: Biểu diễn một khớp quay kết hợp với một bậc tự do tịnh tiến.
Mô tả:
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.II.3.3.Khối Spherical:
Mục đích: Biểu diễn một khớp cầu lắp ghép với ba bậc tự do quay.
Mô tả:
Khối Spherical biểu diễn ba bậc tự do quay tại một
điểm trung tâm, khớp quả cầu-hốc.II.3.4. Khối Planar:
Mục đích:Biểu diễn một khớp kết hợp với hai bậc tự do tịnh
tiến và một bậc tự do quay, với trục quay trực giao với mặt phẳng các trục tịnh tiến.
Mô tả:
Khối Planar biểu diễn một khớp kết hợp với hai bậc
tự do tịnh tiến như hai khớp nguyên thuỷ Prismatic và một bậc tự do quay như một khớp nguyển thuỷ Revolute.II.3.5.Khối Univeral:
Mục đích: Biểu diễn một khớp kết hợp hai bậc tự do quay( cơ cấu các_đăng) .
Mô tả:
Khối Universal biểu diễn một khớp kết hợp hai bậc
tự do quay như hai khớp nguyên thuỷ Revolute. Không có sự cưỡng bức giữa các khớp.II.3.6. Khối Cylindrical:
Mục đích: 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, với trục quay và trục tịnh tiến song song với nhau( khớp trụ).
Mô tả:
Khối Cylindrical biểu diễn một khớp kết hợp với
một bậc tự do tịnh tiến như một khớp lăng trụ và một bậc tự do quay như một khớp nguyên thuỷ quay.II.3.7.Khối Gimbal:
Mục đích: Biểu diễn một khớp kết hợp ba bậc tự do quay.
Mô tả:
Khối Gimbal biểu diễn một khớp kết hợp với ba
bậc tự do quay như ba khớp nguyên thuỷ quay. Không có sự cưỡng bức giữa các khớp.II.3.8. Khối Custom joint:
Mục đích: Biểu diễn một khớp kết hợp tuỳ ý với dưới ba bậc tự do tịnh tiến và dưới ba bậc tự do quay.
Mô tả:
Khối Custom là một khối kết hợp mà bạn có thể
tuỳ biến với sự kết hợp đặc biệt các khớp nguyên thuỷ miêu tả chung nhất và không cưỡng bức bậc tự do theo các hướng.II.3.9. Khối Weld:
Mục đích: Biểu diễn một khớp không bậc tự do( Mối nối cứng).
Mô tả:
Khối Weld biểu diễn một khóp không bậc tự do.
Hai Body đã nối với các phía khác nhau của khối Weld được khoá cứng với nhau, mà không thể chuyển động tương đối.II.3.10.Khối Telescoping:
Mục đích: 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.
Mô tả:
Khối Telescoping biểu diễn một khớp kết hợp với
một bậc tự do tịnh tiến như khớp nguyên thuỷ lăng trụ và ba bậc tự do quay như khớp nguyên thuỷ cầu.II.3.11.Khối In-Plane:
Mục đích: Biểu diễn một khớp kết hợp với hai bậc tự do tịnh tiến.
Mô tả:
Khối biểu diễn một khớp kết hợp với hai bậc tự do
tịnh tiến như hai khớp nguyên thuỷ lăng trụ. Không có sự cưỡng bức giữa các khớp.
II.3.12. Khối Bushing:
Mục đích:thông số bước điều khiển Screw dịch chuyển đoạn bao nhiêu cho mỗi vòng quay.
Mô tả:
II.4. Thư viện Sensor & Actuators:II.4.1. Khối Body actuator:
Mục đích: Tác dụng lực/ mômen vào một Body.Mô tả:
II.4.2. Khối Joint actuator:
Mục đích:Tác động lực/mômen hoặc tạo chuyển động cho một khớp nguyên thuỷ.
Mô tả:
II..4.3. Khối Driver Actuator:
Mục đích:Gây ra chuyển động tương đối giữa một cặp Body cưỡng bức thông qua một khối.
Mô tả:
II.4.4. Khối Body sensor:
Mục đích: Đo sự chuyển động của Body. Mô tả:
Khối Body Sensor dò tìm vị trí, vận tốc, gia tốc của Body đã được biểu diễn bởi khối Body II..4.5.Joint sensor:
Mục đích:đo chuyển động lực và moment của một khớp nguyên thủy.
Mô tả:
Khối Joint Sensor đo vị trí, vận tốc, hoặc gia
tốc của một khớp nguyên thuỷ trong một khối Joint.II.4.6. Khối Constraint & driver sensor:
Mục đích:Đo lực/ mômen cưỡng bức giữa một cặp Body cưỡng bức. Mô tả:
Khối Constraint & Driver Sensor đo lực hoặc
môment (phản lực moment) cưỡng bức giữa một cặp Body.2.4.7. Khối Joint Initial Condition Actuator:
Mục đích: Đặt vị trí và vận tốc ban đầu cho một khớp trước khi bắt đầu mô phỏng.
Mô tả:
Khối Joint Initial Condition Actuator cung cấp giá
trị dữ kiện ban đầu cho một khớp nguyên thuỷ trong khối Joint. Giá trị ban đầu là vị trí và vận tốc của khớp nguyên thuỷ đó và hoàn toàn xác định hướng tình trạng chuyển động ban đầu của khớp nguyên thuỷ đó.II.4.8. Khối Joint Stiction Actuator:
Mục đích:Gây ra ma sát cổ điển cho một khớp nguyên thuỷ.
Mô tả:
Khối Joint Stiction Actuator gây ra ma sát
tỉnh(static friction = stiction) cho một khớp tịnh tiến hay khớp quay nguyên thuỷ. Joint Stiction Actuator gây ra ma sát tĩnh cho khớp nguyên thuỷ dưới dạng lực/ mômen giữa những Body được nối của khớp. Những Body có thể cảm thấy những lực thêm vào độc lập của khớp.III.MỘT SỐ VÍ DỤ VỀ MÔ PHỎNG TÍNH TOÁN
TRÊN PHẦN MỀM SIMMECHANICS:
III.1.Ví dụ tay robot hai bậc tự do chuyển động theo quỹ đạo trong một mặt phẳng:III.1.1.Mô hình tính động học thuận:
Bảng thông số D-H:
i αi-1 ai-1 di θi
1 0 0 0 θ1
2 0 l1 0 θ2
3 0 l2 0 θ3
Bảng 3.1.bảng thông số D-H Các ma trận chuyển
Ma trận chuyển cuối cùng : T0,3=T0,1T1,2T2,3
T0,3=
T0,3=
Với C123=cos(θ1+θ2+θ3),S123= sin(θ1+θ2 + θ3)
III.1.2.Mô hình tính động học nghịch:
Với = θ1+ θ2+ θ3 là góc mà khâu 3 hợp với trục x của gốc tọa đọ chính.
T=T0,3
C= ;
;
;
;
;
II.1.3.Mô phỏng trên công cụ Simmechanics:Xây dựng mô hình hình học của tay robot :
Hình 3.1:Chân robot
Khai báo tọa độ từng khâu trong hộp thoại Body.Simmechanis yêu cầu khai báo chính xác tọa độ từng khâu.Gắn các khâu lại với nhau bởi các khớp xoay,lưu ý chọn góc xoay cho các khâu.
Xây dựng mô hình điều khiển mô phỏng bằng các khối trong Simmechanics.
Hình 3.2:sơ đồ khốiViết chương trình chuyển động theo quỹ đạo của
điểm A trên tay robot.Ta có thể cho điểm cuối chuyển động theo đường thẳng bất kì….
Dựa trên mô hình toán động học thuận và động học nghịch ta viết chương trình giải thuật cho tay robot trong hộp thoại Embedded Matlab Function.
Hình 3.3:giải thuật cho SimulinkCho điểm A của tay robot chuyển động theo đường
thẳng x=10.
Hình 3.4:Đồ thị tập hợp điểm đầu vào
Hình 3.5:Đồ thị vị trí ra mà sensor cảm biến điểm A tay robot nhận được .
Hình 3.6:Đồ thị tọa độ x,y,z của điểm A theo thời gian t.
Vàng:tọa độ xTím:tọa độ yXanh dương:tọa độ z
III.2.Ví dụ cánh tay robot 2 bậc tự do chuyển động theo quỹ đạo trong không gian:III.2.1.Mô hình tính toán động học thuận:Bảng thông số D-H:
i αi-1 ai-1 di θi
1 0 0 0 θ1
2 -90 0 L1 θ2
3 0 L2 0 0 Bảng 3.2.bảng thông số D-HCác ma trận chuyển
Ma trận chuyển từ cuối cùng
T0,3=
Với C1=cosθ1,S1= sinθ1)
II.2.2.Mô hình tính toán động học nghịch:
(T0,1)-1.T0,3=T1,2.T2,
Từ (1) ta có .
Với px,py,pz là tọa độ điểm cuối .
III.2.3.Mô phỏng trên Simmechanics:Xây dựng sơ đồ khối cho cơ cấu tay 2bậc tự do trong
không gian với các khối body,khớp xoay,tác động moment lực,cảm biến đưa về.
Hình 3.7-Sơ đồ khối tay robot
Ta được mô hình tay robot:
Hình 3.8-Tay robotThực hiện viết chương trình giải động học nghịch
cho tay robot chuyển động theo một đường bất kì. Viết một đường công quỹ đạo cho tay robot chuyển động.
Matlab sẽ xuất ra hình ảnh mô phỏng và các thông số của điểm A:
Hình 3.9-Tay robot đang chuyển động
Hình3.10-Tọa độ y, z theo thời gian của A
Hình3.11-Tọa độ điểm x, y theo thời gian của AĐể mô hình giống thực tế hơn, ta có thể chuyển mô hình 3D từ những phần mềm CAD khác sang môi trường làm việc của Matlab.
Hình 3.12-Tay máy chuyển động theo quỹ đạo
thẳng trong mặt phẳng
Hình3.13-mô hình tay máy chuyển động theo quỹ đạo trong không gian
IV.KẾT LUẬN:Matlab với thư viện mô phỏng hầu như đầy đủ cho
người sử dụng,do đó ta chỉ tập trung vào nghiên cứu mô hình toán,cách giải thuật logic, tối ưu hóa việc tính toán mô phỏng .Đây là công việc rất cần thiết cho sinh viên , nghiên cứu sinh ,kĩ sư các ngành kĩ thuật trong việc tính toán các bài toán mô phỏng phức tạp.
Công cụ Simmechanics trong Matlab có ý nghĩa thực tế cao đối với việc mô phỏng các cơ cấu máy móc chi tiết trước khi tiến hành gia công chế tạo,hạn chế được tối đa các sai sót trong thiết kế của người kĩ sư .
Hướng phát triển của đề tài là tiếp tục sử dụng công cụ Simechanics trong việc xây dựng mô hình điều khiển cho các chân của robot hoạt động đồng bộ theo hướng có điều khiển…
THAM KHẢO[1] Prof.RezaN.Jazar, Theory of Applied Robotics,
nhà xuất bản Springer, 2010.[2] Gang Wang, Lixun Zhang, Dongliang Chen,
Defeng Liu and Xi Chen,”Modeling and Simulation of multi-legged walking machine prototype”.2009 International Conference on Measuring Technology and Mechatronics Automation.
[3] TS. Phạm Đăng Phước, Giáo trìnhRobot công nghiệp, NXB ĐH Xây dựng, 2007.
[4] John J.Craig, Introduction to Robotics. Mechanics and Control, 2nd Edition,NXB Addison Wesley ,1989.
[5] L Marques -University of Coimbra, A de
Almeida University of Coimbra, Portugal, M o Tokhi The University of Sheffield, UK G SVirk, Advances in mobile Robotics. nhà xuất bản World Scientific, 10 – 2008.