Cấu trúc chung của một chương trình mô phỏng robot cho trongHình 5.31.
Hình 5.31 Cấu trúc chung chương trình mô phỏng robot
SolidWorks là phần mềm thiết kế 3D được dùng để thiết kế vẽ các bộ phận của robot như các chân, các tay, đầu và thân trong các file part riêng lẻ và lắp ráp chúng lại với nhau thành một file assembly tổng thể. Từ đó xuất ra định dạng file .STL là định dạng chung của file dữ liệu mô hình 3D. Chương trình sẽ tự động nạp các file .STL cho từng chi tiết.
135
Maple là phần mềm được sử dụng để tính toán các ma trận chuyển hệ tọa độ, thiết lập phương trình động học, giải bài toán động học ngược, kết quả tính toán được xuất ra file dữ liệu dạng .TXT và cũng sử dụng kết quả tính toán để vẽ ra các đồ thị tọa độ, vân tốc, gia tốc.
Chương trình Robot simualtor là một dự án phần mềm viết trong môi trường lập trình Visual C++. Dự án sử dụng thư viện hàm chuẩn MFC để xây dựng giao diện, sử dụng thư viện lập trình đồ họa OpenGL để tạo môi trường mô phỏng 3D.
Để kết nối phần xử lý giao diện MFC với phần xử lý môi trường đồ họa OpenGL, chương trình sử dụng lớp dựng sẵn COpenGLInit có tác dụng khởi tạo môi trường đồ họa OpenGL, kết nối với các sự kiện trong MFC như sự kiện khởi tạo, sự kiện khung cửa sổ bị thay đổi hay các sự kiện về bấm chuột hay bàn phím. Mỗi sự kiện này được xử lý trong một hàm, ví dụ các sự kiện về chuột sẽ được xử lý để làm thay đổi camera, góc nhìn trong OpenGL.
Các file mô hình 3D sẽ được load vào chương trình và lưu trữ, xử lý trong lớp CModel. Lớp CMoldel sẽ chứa các thông tin tương ứng với một khâu của robot, bao gồm các thông tin về dữ liệu 3D STL, các thông tin về động học của khâu như các kích thước θ, a, d, α. Ngoài ra còn có thông tin về màu sắc, vật liệu của khâu.
Để quản lý các thông tin về robot thì sử dụng lớp CRobot. Lớp này sẽ chứa danh sách các khâu của robot, danh sách các tọa độ, vận tốc, gia tốc của các khâu mà được đọc từ các tệp dữ liệu TXT đã được xuất ra từ phần mềm Maple khi giải các bài toán động học.
Lớp CRobot còn có các hàm để khởi tạo dữ liệu cho robot, đọc dữ liệu từ file TXT, có hàm để vẽ các dữ liệu 3D của các khâu vào môi trường đồ họa OpenGL.