Mở đầu Việc sử dụng công nghệ thông tin để giải quyết các bài toán khoa học kỹ thuật là xu huớng tất yếu của thời đại.. Trong tham luận dưới đây chúng tôi xin đề cập và phân tích một số
Trang 1Công nghệ tin học và một số bài toán cơ kĩ thuật
Đỗ Sanh1, Đinh Văn Phong1, Nguyễn Thanh Thuỷ2, Nguyễn Nhật Quang3, Phan Mạnh
Dần1, Đỗ Đăng Khoa1 1) Bộ môn Cơ học ứng dụng 2) Trung tâm tính toán hiệu nâng cao 3) Công ty tin học Hài Hoà
1 Mở đầu
Việc sử dụng công nghệ thông tin để giải quyết các bài toán khoa học kỹ thuật là
xu huớng tất yếu của thời đại Tuy nhiên khác với nhiều năm trước đây xu thế này đang
có nhiều đòi hỏi cấp thiết hơn, cả từ phía công nghệ thông tin cũng như từ phiá các lĩnh vực kỹ thuật sử dụng công nghệ này Những đòi hỏi này yêu cầu có sự họp tác chặt chẽ hơn nữa giữa các cán bộ nghiên cứu và phát triển ứng dụng, ngay từ khi bài toán được hình thành cho đến công đoạn cuối cùng của việc giải quyết các bài toán
Từ phía công nghệ thông tin, sự phát triển mạnh mẽ của các kỹ thuật mới đặc biệt là của các thiết bị phần cứng đã tạo ra rất nhiều triển vọng về tốc độ tính toán, khả năng thể hiện và lưu trữ thông tin Tuy nhiên ở Việt nam điều này có vẻ như mới chỉ dừng ở việc tạo ra các công cụ và chưa tìm ra được các bài toán cụ thể để sử dụng các khả năng mới này
Trong tham luận dưới đây chúng tôi xin đề cập và phân tích một số ví dụ về khả năng sử dụng máy tính tốc độ cao trong việc giải quyết các bài toán cơ học Thông qua việc mô tả các yêu cầu của bài toán cơ trong việc xây dựng phương trình chuyển động, giải các phương trình này để dẫn đến việc mô phỏng và điều khiển các hệ cơ học, các ứng dụng của công nghệ cao trong lĩnh vực công tin học như: xử lý song song, xử lý thời gian thực, mô phỏng, xử lý đồ hoạ động sẽ được đề cập
2 Bài toán thứ nhất: bài toán ngược động học của robot
Ta xét bài toán ngược điều khiển tối ưu động học của rôbốt Nội dung của bài toán nhằm giải quyết bài toán ngược một cách tổng quát dựa trên phương pháp tối ưu số
và mô phỏng hoạt động của rô bốt trong không gian đồ hoạ ba chiều
2.1 Đặt bài toán
Bài toán này khảo sát bài toán ngược điều khiển động học rô bốt Bài toán xác
định qui luật thay đổi theo thời gian của các thông số định vị, thông số vận tốc của tay máy để nó nắm bắt được đối tượng di động
Để tăng độ êm cho tay kẹp khi nắm bắt đối tượng (tránh va chạm) cần phải
điều khiển để vị trí của tay kẹp không chỉ bắt được đối tượng mà vận tốc và hướng của tay kẹp cũng cần trùng với vận tốc và hưóng của đối tượng Khi thực hiện yêu cầu này luôn có sự sai lệch về vị trí và vận tốc của tay kẹp so với vị trí và vận tốc của đối tượng Bài toán điều khiển tối ưu đặt ra là tìm các thông số điều khiển để tổng bình phương các sai lệch vị trí và vận tốc bé nhất
Trang 22.2 Cơ sở lý thuyết
2.2.1 Các công thức động học rôbốt xác định vị trí và vận tốc
Khi khảo sát robot ta thường ta sử dụng phương pháp ma trận Denavit-Hartenberg, trong đó sự liên kết giữa các khâu của robot được thề hiện qua ma trận truyền có dạng sau:
a a d
ư
=
j
j-1
trong đó các tham số có ý nghĩa như sau:
• θj là góc quay trục xj-1 đến trục xj quanh trục zj-1,
• dj là đoạn dịch trục xj-1 đến trục xj dọc trục zj-1,
• aj là đoạn dịch trục zj-1 đến trục zj dọc trục xj-1,
• αj là góc quay trục zj-1 đến trục zj quanh trục xj-1
Ma trận truyền toàn thể có dạng:
( ) ( )q 1 q 2 ( )q n ( )
( )
n
0
H q có dạng: ( ) ( )
1
R q p q
trong đó hệ toạ độ đế rô bốt kí hiệu là 0, hệ toạ độ tay kẹp rô bốt kí hiệu là n, q là ma trận nx1 của các toạ độ suy rộng, chúng là các thông số định vị của rôbốt R(q) là ma trận 3x3 xác định hướng của tay kẹp, p(q) là vectơ 3x1 xác định vị trí đầu bàn kẹp so với
hệ đế Ba cột của ma trận R tương ứng với hướng của ba vectơ đơn vị trên hệ gắn với tay
kẹp so với hệ đế rôbốt (hệ toạ độ nền)
Vị trí của một điểm P thuộc tay kẹp được xác định theo công thức :
( )
0
trong đó r p là vectơ định vị điểm P thuộc tay kẹp so với hệ toạ độ nền, ′p
r là vectơ định
vị điểm P trong hệ toạ độ gắn vào tay kẹp rôbốt
Từ công thức (2.3) ta dễ dàng xác định được vận tốc điểm P gắn vào tay kẹp rôbốt so với hệ toạ độ nền :
′
0
Để tiến hành điều khiển hoạt động của từng khâu rôbốt, ta tiến hành biểu diễn
ma trận n
0
H& dưới dạng sau :
∑n
i=1
trong đó H (i) là ma trận ứng với khớp i và chỉ phụ thuộc vào biến khớp, r&plà véc tơ vận tốc của điểm cuối tay kẹp so với hệ toạ độ nền,H&n là ma trận đạo hàm của ma trận
Trang 3Denavit-Hartenberg giữa hệ toạ độ nền với hệ toạ độ gắn vào tay kẹp, q&i là vận tốc của chuyển động tại khớp thứ i
Đối với bài toán thuận động học, tức là biết các toạ độ suy rộng và các vận tốc suy rộng, ta có thể tính ra được vị trí và vận tốc của bàn kẹp Tuy nhiên bài toán ngược thì phức tạp hơn nhiều nếu ta xét đến các vị trị suy biến, các vị trí nằm ngoài khu vực hoạt động của robot , lúc đó thông thuờng ta sẽ gặp rất nhiều khó khăn để tìm ra lời giải, tức là các toạ độ suy rộng và các vận tốc suy rộng của các khớp
2.2.2 Bài toán điều khiển tối ưu với bài toán ngược
Mục đích của bài toán tối ưu là tìm ra các thông số định vị và vận tốc của rôbốt khi cho rôbốt nắm bắt một đối tượng đang chuyển động Với dữ liệu đầu vào là vị trí, vận tốc và hướng nắm bắt đối tượng, ta giải quyết bài toán bằng phương pháp tối ưu với hàm mục tiêu có dạng:
*
P
& & & &
& &
(2.6)
Trong đó:
• x*,y*,z* là toạ độ hiện thời của đối tượng di chuyển
• x& & &*,y*,z*là vận tốc hiện thời của đối tượng di chuyển
R R R là hướng cần nắm bắt đối tượng
• x P,y P,z P là toạ độ hiện thời của đầu tay kẹp rôbôt
• x&P,y&P,z&Plà vận tốc hiện thời của đầu tay kẹp rôbôt
• R x P,R y P,R z P là hướng tay kẹp rôbôt
• r1->r9 là các trọng số
Từ các thông số chưa biết là hàm của các thông số định vị và thông số vận tốc của rôbốt
&
&
&
&
&
&
Ta thu được hàm mục tiêu F có dạng:
( ),
Hàm mục tiêu F là hàm chỉ phụ thuộc vào các thông số định vị và thông số vận tốc Khi cho F -> min ta sẽ thu được các thông số định vị và thông số vận tốc: q q,& Ưu điểm của phương pháp này là có thể dùng để giải quyết bài toán ngược của rôbốt một cách tổng quát và mềm dẻo mà không bị giới hạn bởi số bậc tự do của rôbốt
Với mức độ phức tạp của bài toán, nhất là đối với các bài toán tổng quát cần thiết phải sử dụng các phương pháp số để giải quyết bài toán tối ưu Việc này đòi hỏi phải co các thuật giải tối ưu tốt Các hàm mục tiêu đòi hỏi việc tính toán xác định vị các thông
số của đối tượng động lúc đang di chuyển Các thông số này có thể được đưa vào dưới dạng hàm giải tích, tuy nhiên hoàn toàn có thể sử dụng các dữ liệu được đưa vào theo tùng thời điểm (ví dụ sử dụng camera ) Điều này rõ ràng đưa ra những yêu cầu về các khả năng tính toán và xử lý thông tin của các máy tính Tương tự như vậy có thể thấy rằng mỗi bước tối ưu đòi hỏi phải giải quyết bài toán thuận nhiều lần, điều này đòi hỏi khá cao về tốc độ, thời gian tính toán để có thể bắt kịp đối tượng đang di chuyển
2.2.3 Mô phỏng đồ hoạ động của robot
Trang 4Để minh hoạ và theo dõi quá trình làm việc của robot ta có thể mô phỏng quá trình hoạt động của robot thông qua việc xây dựng đồ hoạ động cho mô hình Có nhiều
kỹ thuật để xây dựng thực trạng ảo hỗ trợ cho muc đich này Nhóm nghiên cứu đã xây dưng chương trình máy tính viết bằng ngôn ngữ C++ sử dụng công cụ lập trình Visual C++ 6.0 có sự hỗ trợ của thư viện đồ hoạ OpenGL Lý do để chọn các công cụ này là ta
có thể sử dụng chúng trên các máy tính cá nhân thông thường
2.3 Đánh giá qua ví dụ cụ thể
Nhóm nghiên cứu đã xây dựng chương trình mô phỏng quá trình nắm bắt đối tuợng của robot Gryphon Toàn bộ qua trình mô phỏng được thực hiện trên các máy tính cá nhân thông thường với bộ vi xử lý Pentium III
Robot Gryphond do hãng Feedback của Anh sản xuất phục vụ cho mục đích nghiên cứu Đây là một rôbốt năm trục: trục hông, trục vai, trục khuỷu tay, trục cổ tay (pitch), trục cổ tay (roll) va bàn kẹp, xem hình vẽ 1
Hình 1 Những ưu điểm nổi bật của rôbốt là chuyển động nhanh, chính xác và mềm mại Rôbốt được điều khiển bởi bốn vi xử lý cho phép điều khiển đặt vật chính xác Mỗi trục của rôbốt được điều khiển bởi một động cơ bước với bộ mã hoá phản hồi Trong bộ điều khiển, một vi xử lý sẽ giám sát vị trí của các trục Hai cái khác sẽ quản lý các động cơ
và cái còn lại sẽ giám sát cả ba cái trên đồng thời làm nhiệm vụ giao tiếp với máy chủ
Việc tính toán mô phỏng trên máy tính cá nhân được thực hiện thông qua các công thức đã được trình bày sơ lược trong phần 2.2 Trong bài toán tối ưư phương pháp tối ưu số được sử dụng là phương pháp Rosenbrock Đây là phương pháp không cần tính
đến các giá trị đạo hàm của hàm mục tiêu và sẽ tìm các giá trị tối ưu của hàm số theo các hướng xác định trong mỗi giai đoạn của quá trình tìm kiếm
Kết quả tính toán cho thấy các thuật giải hoạt động tốt Các kết quả mô phỏng và giá trị của các toạ độ suy rộng là liên tục ở mọi vị trí của quĩ đạo Điều đó cho phép robot hoạt động mềm mại và nắm bắt đối tượng tương đối êm
Tuy nhiên tốc độ thể hiện đồ hoạ động thì còn xa mới có thể đạt được khả năng mô phỏng thời gian thực Điều này là hoàn toàn dễ hiểu vì toàn bộ chưong trình chỉ chạy trên 1 máy tinh cá nhân theo thuật giải "thẳng" Đây chính là điểm có thể ứng dụng công nghệ thông tin ngõ hầu tăng tốc độ tính toán và mô phỏng
Có nhiều cách để có thể đạt được mục đích này Điều đó phụ thuộc vào các công
cụ phần cứng và mềm mà chúng ta có trong tay Liên quan đến việc sử dụng các thuật
Trang 5giải song song để giải quyết bài toán trên, ta có thể "song song hoá" quá trình tính toán,
được mô tả trong phần 2.2 ở các phần sau:
• Trong việc giải quyết bài toán tối ưu, các giá trị của các ma trận thành phần, các phần tử trong công thức (2.1), (2.2), được xử lý đồng thời
• Việc thể hiện (vẽ) các khâu khác nhau của robot trong quả trình mô phỏng
được xử lý đồng thời
Các vấn đề này cần được nghiên cứu, thử nghiệm và đánh giá chính xác, so sanh giữa các trường hợp có 1 máy tính (1 vi xử lý) và các hệ máy tính chứa nhiều vi xử lý hon
3 Vi dụ thứ 2: động lực hoc hệ nhiều vật
Trong phần này ta xét đến một số vấn đề xuất hiện trong quá trình tính toán mô phỏng động lực học hệ nhiều vật Quá trình mô phỏng băt đầu từ việc xây dụng phương trình chuyển động, giải và mô phỏng động hệ cơ nhiều vật
3.1 Cơ sở lý thuyết
Việc mô phỏng số các hệ cơ nhiều vật là vấn đề thời sự, càng ngày càng đuợc quan tâm nhiều hơn trong 2 thập kỷ vừa qua Trên thế giới hiện đã tồn tại một số phần mềm trong lĩnh vực này như: ADAMS, SIMPACK, NEWEUL, ALASKA, Chúng có thể được sử dụng trong cả các lĩnh vực nghiên cứu và ứng dụng công nghiệp Tuy nhiên các phần mềm này đều có những nhược điểm riêng, như xử lý đồ hoạ và giao diện chưa tốt, khả năng xử lý thời gian thực chưa có và hơn thế nữa giá thành cao Việc nghiên cứu xây dưng một chương trình phù họp với điều kiện Viêt nam đã đuợc tiến hành từng buớc và đã đạt được một số kết quả, thông qua việc xây dựng gói chương trình bao gồm nhiều module phục vụ mô phỏng
Để viết phương trinh chuyển động của hệ cơ nhiều vật ta có thể dùng nhiều phương pháp khác nhau Để minh hoạ ta có thể sử dụng phuơng trinh hay được nhắc đến nhiều nhất: phương trình Lagrange loại II Nếu sử dụng các toạ độ suy rộng đủ qi , i=1,2, n với n là số bậc tự do của cơ hệ, thì phương trinh Lagrange loại II được viết như sau:
dt
∂ ư∂ =
∂ ∂
q& q Q
trong đó T là tổng động năng của cả cơ hệ, Q là vector các lực suy rộng, q và q& là các vector toạ độ suy rộng và vận tốc suy rộng, t là biến thời gian Ta có hệ phương trình vi phân thường cấp 2 (ODE)
Đối với hệ cơ nhiều vật thông thường ngưòi ta hay sử dụng các tạo độ suy rộng dư, như thế phương trinh Lagrange loại II sẽ được thay bằng phương trình Lagrange dạng nhân tử Trong phương trình (3.1) sẽ xuất hiện thêm các nhân tử Lagrange và các
đạo hàm riêng của các phương trinh liên kết theo các toạ độ suy rộng qi Cùng với các phưong trình liên kết ta sẽ thu được hệ phương trình vi phân đại số (DAE)
Để có thể xây dựng được phưong trình chuyển động cần thiết phải tính được biêủ thức động năng của cả cơ hệ và các đạo hàm riêng của nó theo các toạ độ suy rộng và các vận tốc suy rộng Động năng T của cả cơ hệ được tính như tổng động năng của tất cả các vật thuộc cơ hệ:
1
N
k
k
=
với Tk là động năng của vật thứ k và N là số vật rắn thuộc cơ hệ Động năng Tk của từng vật được tính theo các yếu tố động học của vật rắn đó Đây là công đoạn khá phức tạp và
đòi hỏi những thuật toán tốt để xử lý, đồng thời cũng tốn nhiều thời gian tính toán Dưới
Trang 6dạng ma trận liên quan đến các toạ độ và vận tốc suy rộng, động năng của cả cơ hệ được viết như sau:
1
2
T
trong đó A là ma trận quán tính của cơ hệ Khi thiết lập phương trình chuyển đông, cần
thiết phải tính các phần tử của ma trận này cũng như các đạo hàm riêng của chúng
Các giai đoạn tiếp theo của bài toán mô phỏng liên quan nhiều hơn đến các vấn
đề của tin hoc và toán ứng dụng Chủ yếu đó là vấn đề giải các phương trình vi phân đại
số (DAE) và hiển thị các kết quả tính toán Lý thuyết phuơng trinh vi phân thường đã
được nghiên cứu từ thế kỷ 19, các sơ đồ tính toán, tốc độ, hội tụ, đã được khảo sát kỹ lưỡng Tuy nhiên với phương trình vi phân đại số thi mọi thứ mói chỉ là bắt đầu, nhất là
đối với những hệ như hệ cơ học Khoảng hơn 10 năm trước đã bắt đầu xuất hiện những phần mềm để giải quyết vấn đề này với ý nghĩ đơn giản là chúng sẽ chạy tốt trong mọi trường hợp, ví dụ như DASSL Tuy nhiên chỉ sau đó ít lâu, người ta đã thây ngay rằng,
đối với những phương trình như phương trình chuyển động của các hệ cơ học thì vấn đề phức tạp hơn rất nhiều và không thể sử dung được các chương trình kể trên
Vấn đề đồ hoạ thì cũng tuơng tự như đã phân tich trong phần 2 Nó sẽ gây trở ngại rất lớn trong việc mô phỏng thời gian thực
3.2 Gói chương trình mô phỏng
Một gói chương trình phuc vụ cho việc mô phỏng động lực học hệ nhiều vật đã
đựơc xây dưng tại bộ môn Cơ học ứng dụng, trường đại học Bách khoa Hà nội Chương trình đã được sử dung để mô phỏng một số cơ hệ trong các chưong trình nghiên cứu
Trang 7Gói chương trình mô phỏng được thiêt kế theo sơ đồ sau:
Về chương trình tính toán và các kết quả tính toán mô phỏng có xem thêm [5]
3.3 Đánh giá
Kết quả tinh toán cho thấy gói chương trình có thể được sử dụng vào việc mô phỏng các bài toán ưng dụng trong kỹ thuật Từ sơ đồ trên hình 2 có thể nhận thấy khả năng giao diện, kết nối và mô phỏng Tuy nhiên để có thể sử dung vào việc mô phỏng thời gian thực thi càn phải tăng tốc độ tinh toán lên rất nhiều Đây chính là những phần
mà việc tính toán hiệu năng cao có thể giảI quyết và đem lại hiệu quả
Viêc tính toán các biêu thức động năng cho từng vật rắn trong công thức (3.1) và (3.2), có thể đươc tiến hành đồng thời Điều này sẽ giúp cho việc “song song hoá” quá trĩnh xây dựng phương trình chuyển động
Tệp (.eqt)
Tệp tham số
(.in)
Fortran Code (.for)
Kết quả tính toán (.txt)
Mô phỏng
động
Đồ thị, bảng biểu
Bản vẽ kỹ thuật (.dwg)
Sửa chữa
Điều kiện đầu
FF Module
Thiết lập phương trình tự động
Dịch Phân tích
Ghép nối
Thiết lập phương trình riêng biệt
Các tham
Hình 2: Sơ đồ tính của chương trình DAESOL
Tệp chương trình (exe)
Thư viện động (.dll)
Tệp chứa vật (.bdf)
Trang 8Việc tính toán các đạo hàm của ma trận quán tính hoặc biểu thức động năng co thể được tiên hanh theo 2 cách: đạo hàm số hoặc xử lý symbolic Với cách thứ nhât, tạI mỗi thời điểm, cần phảI tính toán lai, như thế khối lượng các phép tính số học rất lớn, yêu cầu về khả năng và tốc độ tinh toán đều rất cao Nếu sử dụng phương án thứ 2 thi việc xử lý xâu ký tự cũng đòi hỏi có các thuật giải song song va máy tinh mạnh
Trong nhiều vấn đề khác như giải phương trình vi phân đại số, giao diện với AutoCAD, đồ hoạ động, đều cần nghiên cứu kỹ lưỡng và so sánh để co thể thức hiện các cải tiến nhằm nâng cao tốc độ tính toán
4 Khai thác hướng xử lý song song
Qua việc phân tích 2 bài toán ở trên ta thấy việc khai thác triệt để hướng xử lý song song có thể giúp giải quyết được nhiều vấn đề mà các máy tinh thông thương chưa giảI quyết được Trong cơ hoc còn tồn tạI nhiều vấn đề mà hướng song song còn có thể giúp giải quyết tốt Có thể nêu ra dưới đây một số hướng ứng dụng
- Các bài toán có thứ nguyên lớn, nhưng có thể “song song” hoá thuật giải để tăng tốc đọ tính toán va hiệu quả Vi du như bài toán điều khiển tối ưu động học hoặc bàI toán động lực hoc của các robot, trong đõ viêc tinh toán cho các khâu ở một chừng mực nào đó có thể được thực hiện độc lập với nhau
- Các bàì toán phức tap cần xử lý nhanh và có yêu cầu về thời gian thực, có yêu cầu xử lý giữa đáp ứng và phản hồi như mô phỏng đo đạc, Đối với những bài toán này nhiều khi phải có việc xử lý và trao đổi nhanh thông tin dữ liệu giữa các hệ khác nhau: Cơ, Điện, Điện tử,
- Xây dựng một chương trình tính toán hoàn chỉnh gồm đầy đủ các giai đoạn từ việc thiết lập các phương trình chuyển động đên việc kết xuất thông tin, kết hợp với hardware-in-the-loop, operator-in –loop Việc xử lý và xây dựng các phuơng trình theo huong phuơng trình Lagrange hoặc Newton-Euler hoặc theo một huơng khác đều đòi hỏi viẹc xử lý một khối lượng lớn các dữ liệu, đặc biệt là khi ta khai thác đên khía cạnh
có các liên kết Một chương trình như vậy sẽ có nhiều ứng dụng cụ thể trong các bài toán thực tế, vi dụ lái ô-tô
5 Kết luận
Trong các phần trên ta đã phân tích một số bài toán và huớng phát triển của cơ học từ khía cạnh co sư hỗ trợ của công nghệ thông tin như thế nào Các công nghệ này không chỉ đơn thuần là các máy tính với các phần mềm và phần cứng bình thuờng
Việc sử dụng các công nghệ tính toán mạnh có thể đem lại nhiều hiệu quả phục
vụ cho việc tính toán mô phỏng các hệ cơ học Trong nhiều trường hợp các kết quả tính toán, chương trình đã đuợc thực hiên trên những máy tính đơn lẻ thông thường Để có thể tiếp tục phát triển và đưa vào các bài toán phức tạp hơn như: điều khiển, mô phỏng thời gian thực, tạo hiện thực ảo, thì bên cạnh việc nghiên cứu các thuật giải, các phương pháp của cơ học các công cụ tin học là thành phần không thể thiếu được Chỉ
có sự kết hợp chặt chẽ cả 2 mảng này mới có thể đạt được hiệu quả cần thiết trong các bài toán ứng dụng
Tài liệu tham khảo
1. Robert J Schilling,.1990,Fundamentals of Robotíc Analysis and Control, Prentice Hall
2. Haug EJ, 1989, Computer Aided Kinematics and Dynamics of Mechanical Systems, Volume 1:Basic method, Alyn and Bacon, New York
3. Mason Woo, Jackie Neider, Tom Davis, 1997, OpenGL Programming Guide,.Addison-Wesley
Developers Press
4. Đinh Văn Phong, Đỗ Sanh, Nguyễn Trọng Thuần, Đỗ Đăng Khoa, 2002, Điều khiến tối ưu động học robot công nghiệp Tuyển tập các công trình Hội nghị Cơ học toàn quốc, Hà nội, 2002
Trang 95. Phan Manh Dan, Dinh Van Phong: On a Toolkit for Simulation of Constrained Mechanical system Proceedings of the Seventh National Congress on Mechanics, Hanoi, 2002