1. Trang chủ
  2. » Luận Văn - Báo Cáo

Báo cáo lập trình mô phỏng robot

50 389 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 50
Dung lượng 2,39 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Thế kỷ 21 là thế kỷ của khoa học kỹ thuật hiện đại và tiên tiến, nó đi sâu vào toàn bộ đời sống của con ngƣời, giúp con ngƣời trong mọi lĩnh vực, nó thay đổi cơ bắp con ngƣời từ những công việc đơn giản đến phức tạp, trong đó có ngành Cơ Điện Tử. Sự đi lên của ngành cơ khí gắn liền với sự ứng dụng công nghệ mới. Để đáp ứng nhu cầu ngày càng cao của xã hội và tiếp cận nền khoa học kỹ thuật trong tƣơng lai, thì con ngƣời đã tạo ra robot. Đó là sự thay đổi lực lƣợng sản xuất trong mọi ngành nghề bằng việc thay đổi sức lao động của ngƣời bằng máy móc, nhằm đảm bảo tăng năng suất lao động, sản lƣợng cũng nhƣ chất lƣợng sản phẩm. Do đó việc sử dụng các tay máy hay còn gọi là robot công nghiệp vào trong sản xuất đang đƣợc ƣa chuộng vì chúng đáp ứng đƣợc yêu cầu trên. Nhƣ chúng ta đã biết, robot công nghiệp có rất nhiều ƣu điểm đặc biệt là chất lƣợng và độ chính xác, ngoài ra còn kể đến hiệu quả và kinh tế cao, có thể làm việc trong môi trƣờng độc hại mà con ngƣời không làm việc đƣợc, các công việc yêu cầu cẩn thận không đƣợc nhầm lẫn, thao tác nhẹ nhàng tinh tế đòi hỏi trình độ của thợ bậc cao, và đặc biệt là robot không bị căng thẳng nhƣ con ngƣời nên có thể làm việc liên tục không ngừng nghỉ. Việc tìm hiểu nghiên cứu mô phỏng robot trong khuôn khổ môn học Lập trình mô phỏng các hệ cơ điện tử sẽ là cơ sở để chúng em tính toán, thiết kế robot trong công nghiệp phục vụ sản xuất. Cụ thể ở đây chúng em chọn đề tài mô phỏng hoạt động của Robot viết chữ.Em xin cảm ơn thầy Đỗ Đăng Khoa đã hƣớng dẫn chúng em để chúng em có thể hoàn thành project này một cách tốt nhất.

Trang 1

LỜI NÓI ĐẦU Thế kỷ 21 là thế kỷ của khoa học kỹ thuật hiện đại và tiên tiến, nó đi sâu vào toàn

bộ đời sống của con người, giúp con người trong mọi lĩnh vực, nó thay đổi cơ bắp con người từ những công việc đơn giản đến phức tạp, trong đó có ngành Cơ Điện Tử

Sự đi lên của ngành cơ khí gắn liền với sự ứng dụng công nghệ mới Để đáp ứng nhu cầu ngày càng cao của xã hội và tiếp cận nền khoa học kỹ thuật trong tương lai, thì con người đã tạo ra robot Đó là sự thay đổi lực lượng sản xuất trong mọi ngành nghề bằng việc thay đổi sức lao động của người bằng máy móc, nhằm đảm bảo tăng năng suất lao động, sản lượng cũng như chất lượng sản phẩm Do đó việc sử dụng các tay máy hay còn gọi là robot công nghiệp vào trong sản xuất đang được ưa chuộng vì chúng đáp ứng được yêu cầu trên Như chúng ta đã biết, robot công nghiệp có rất nhiều ưu điểm đặc biệt là chất lượng và độ chính xác, ngoài ra còn kể đến hiệu quả và kinh tế cao, có thể làm việc trong môi trường độc hại mà con người không làm việc được, các công việc yêu cầu cẩn thận không được nhầm lẫn, thao tác nhẹ nhàng tinh tế đòi hỏi trình độ của thợ bậc cao, và đặc biệt là robot không bị căng thẳng như con người nên có thể làm việc liên tục không ngừng nghỉ

Việc tìm hiểu nghiên cứu mô phỏng robot trong khuôn khổ môn học Lập trình mô phỏng các hệ cơ điện tử sẽ là cơ sở để chúng em tính toán, thiết kế robot trong công

nghiệp phục vụ sản xuất Cụ thể ở đây chúng em chọn đề tài mô phỏng hoạt động của Robot viết chữ.Em xin cảm ơn thầy Đỗ Đăng Khoa đã hướng dẫn chúng em để chúng

em có thể hoàn thành project này một cách tốt nhất

Hà Nội, ngày 10 tháng 6 năm 2017

Nhóm sinh viên thực hiện

1 Nguyễn Đức Tiến

2 Phạm Ngoc Tùng

3 Vũ Nhật Hiếu

Trang 2

BẢNG PHÂN CÔNG NHIỆM VỤ VÀ ĐÁNH GIÁ CÁC THÀNH VIÊN

Phân công nhiệm vụ cho báo cáo trong quá trình học:

STT Họ và tên Phân công nhiệm vụ

1 Vũ Nhật Hiếu Tìm hiểu cách tạo file *STL và lớp CElement

2 Nguyễn Đức Tiến Tìm hiểu lớp CRobot và làm slide báo cáo

3 Phạm Ngọc Tùng Tìm hiểu cách mở file *STL vào OpenGL và lớp

CModel

Phân công nhiệm vụ cho project cuối kỳ:

STT Họ tên Phân công nhiệm vụ Đánh giá của giáo viên

1 Vũ Nhật Hiếu Giải bài toán động học

ngược, động học thuận, thiết kế quỹ đạo

2 Nguyễn Đức Tiến Xử lí file Solid xuất bản vẽ,

làm báo cáo,slide,thuyết trình

3 Phạm Ngọc Tùng Code chính, thiết kế đồ họa

và môi trường mô phỏng OpenGL

Trang 3

Mục lục

LỜI NÓI ĐẦU 1

CHƯƠNG 1: TỔNG QUAN 5

1.1 Giới thiệu chung 5

1.2 Giới thiệu về dự án 6

1.3 Yêu cầu bài toán 6

1.4 Ứng dụng của robot 6

CHƯƠNG 2: MÔ HÌNH HOÁ ROBOT 3DOF 8

2.1 Phân tích mô hình robot 8

2.2 Bản vẽ chi tiết và các tính chất cơ học khác của các khâu Robot 8

2.3 Mô hình ROBOT 13

CHƯƠNG 3: TÍNH TOÁN VÀ THIẾT KẾ ROBOT 14

3.1 Mô hình Robot đơn giản 14

3.2 Bản D-H và các ma trận biến đổi toạ độ thuần nhất 14

3.3 Bài toán động học thuận 16

3.3.1 Xây dựng quy luật chuyển động thao tác của robot theo mục đích ứng dụng 17 3.4 Bài toán động học ngược 18

3.5 Thiết kế quỹ đạo 19

CHƯƠNG 4: XÂY DỰNG CHƯƠNG TRÌNH MÔ PHỎNG 22

4.1 Giới thiệu về môi trường mô phỏng OPENGL 22

4.2 Xây dựng bài toán mô phỏng 22

Trang 4

4.4 Nhúng file *.STL vào môi trường OPENGL 37

4.4 Các lớp có trong chương trình mô phỏng 42

4.5 Thiết kế Dialog 44

KẾT LUẬN 49

TÀI LIỆU THAM KHẢO 50

Trang 5

CHƯƠNG 1: TỔNG QUAN

1.1 Giới thiệu chung

Ngày nay, robot công nghiệp có vai trò rất quan trọng và được ứng dụng rộng rãi trong quá trình sản xuất của nền công nghiệp hiện đại Để chế tạo ra một mô hình robot và đem ra phục vụ sản xuất phải trải qua rất nhiều giai đoạn như: Tìm hiểu về các loại robot và các đặc tính hoạt động của nó, tính toán một cách chính xác các khâu của các cơ cấu, các phương trình hoạt động và thiết kế các mô hình 3D sao cho tối ưu

và hiệu quả nhất Một mô hình robot hoạt động trơn tru và đáp ứng được các yêu cầu

kỹ thuật đề ra đòi hỏi việc chế tạo là hết sức tỉ mỉ và chi tiết từng bước một Trong một

mô hình robot bao gồm rất nhiều phần như Cơ khí để chế tạo ra các chi tiết, điện tử để điều khiển hoạt động và tin học để lập trình cho các cơ cấu hoạt động theo các quỹ đạo

và yêu cầu kỹ thuật đề ra Một phần cũng rất quan trọng mà mô hình nào cũng phải thực hiện đó là mô phỏng quá trình hoạt động của nó

Sau khi hoàn thiện mô hình robot thì mô phỏng chính là kiểm tra trên máy tính xem mô hình có hoạt động tốt hay không, có thực hiện được các yêu cầu đề ra hay không, sau đó đưa ra vào các thông số đã tính toán, giả lập quá trình hoạt động của đối tượng một cách trực quan nhất Trên cơ sở đó có thể kiểm nghiệm được quá trình hoạt động của cơ cấu có đúng theo kết quả tính toán và thiết kế hay không Mặt khác cũng

có thể thay đổi một cách linh hoạt các số liệu, các thông số ban đầu để tìm ra lời giải cho bài toán tối ưu cơ cấu Mô phỏng còn đóng vai trò rất lớn trong việc giảng dạy, báo cáo, truyền đạt thông tin về sản phẩm cho mọi người Giúp cho nhà thiết kế có cái nhìn tổng quan về sản phẩm để từ đó có thể cải tiến sản phẩm, hoặc đưa ra quá trình sản xuất đơn giản, tối ưu cho sản phẩm Vì vậy, có thể thấy mô phỏng là khâu rất quan trọng, không thể thiếu trong quá trình sản xuất robot công nghiệp

Trong lĩnh vực cơ khí có rất nhiều phần mềm nổi tiếng như: AutoCAD, Inventor, SolidWorks, Catia Dùng để tính toán, thiết kế và mô phỏng , kiểm tra các điều kiện làm việc của các chi tiết Tuy nhiên, các phần mềm này còn bị hạn chế khi cần mô phỏng kết cấu hoạt động theo một quy trình tính toán thiết kế cụ thể ví dụ như hoạt

Trang 6

động của robot theo 1 quỹ đạo cụ thể Khi đó, để có thể chủ động , linh hoạt trong quá trình tính toán và thiết kế thì đơn giản và tiện lợi là lập trình mô phỏng, qua đó ta có thể xây dựng và đáp ứng đúng với nội dung và mục đích thiết kế

1.2 Giới thiệu về dự án

Để lập trình mô phỏng được hoạt động của robot thì bọn em đã sử dụng Visual C++ vào thư viện đồ họa OpenGL để xấy dựng được bài toán mô phỏng phù hợp với yêu cầu Cụ thể ở đây chúng em đã lựa chọn robot viết chữ có 3 bậc tự do, có các ưu điểm như sau:

- Tiết kiệm diện tích khâu đế

- Dễ dàng thực hiện với đối tượng nằm trong mặt phẳng nằm ngang

- Kết câu đơn giản nhưng vẫn đảm bảo tính linh hoạt

1.3 Yêu cầu bài toán

Yêu cầu vị trí: Robot thao tác trong không gian đúng với quỹ đạo thao tác đặt ra

Yêu cầu về hướng:Hướng của đầu hàn tạo với mặt của chi tiết những góc theo yêu cầu

Với cấu trúc robot có 4 bậc tự do trở nên thao tác linh hoạt, tuy nhiên việc tính toán sẽ trở lên khó khăn, phức tạp hơn Do đó nếu chọn các cấu trúc robot này sẽ làm phức tạp quá trình tính toán, gây tốn kém

Để đủ đảm bảo yêu cầu bài toán đặt ra ta chọn cơ cấu robot có 3 bậc tự dođể tiến hành quá trình tính toán và thiết kế

Phần mềm sử dụng là Visual Studio và môi trường đồ hoạ OpenGL Yêu cầu đặt ra phải mô phỏng chính xác chuyển động của Robot thông qua việc giải quyết các bài toán động học thuận và động học ngược, ứng dụng các kiến thức đã được học trong môn học Robotics và Lập trình mô phỏng Robot và các hệ trong cơ điện tử

Trang 7

cũng có thể thay thế cho con người trong các công việc độc hại, nguy hiểm hay môi trường khắc nghiệt Đặc biệt robot có thể làm việc với độ chính xác cao

Trang 8

CHƯƠNG 2: MÔ HÌNH HOÁ ROBOT 3DOF

2.1 Phân tích mô hình robot

Số bậc tự do cần thiết:

- Để đảm bảo robot có khả năng đưa đầu chạm tới mọi vị trí trong không gian làm việc thì robot cần từ 3 bậc tự do trở lên

- Các khâu có trong mô hình robot:

Khâu Chuyển động Chức năng

0 Cố định Dùng để gá đặt ,định vị robot và liên kết với khâu 1

1 Quay Liên kết với khâu 0 và khâu 2 , tạo ra chuyển động

quay cho khâu 2

2 Quay Liên kết với khâu 1 và khâu 2 ,tạo ra chuyển động

tịnh tiến cho khâu 3

3 Tịnh Tiến Liên kết với khâu 2, và giúp xác định điểm đầu bút

2.2 Bản vẽ chi tiết và các tính chất cơ học khác của các khâu Robot

2.2.2 Bản vẽ chi tiết các khâu

- Khâu 0:

Trang 9

- Khâu 1:

- Khâu 2 :

Trang 10

- Khâu 3:

2.2.2 Tính chất cơ học của các khâu robot

 Chọn vật liệu, khối lượng và momen của từng khâu:

- Chọn vật liệu các khâu là thép cacbon thường (plain carbon steel)

 Tính chất cơ học các khâu:

Trang 11

- Khâu 0:

Hình 1: Tính chất cơ học của khâu 0

- Khâu 1:

Trang 13

2.3 Mô hình ROBOT

Trang 14

CHƯƠNG 3: TÍNH TOÁN VÀ THIẾT KẾ ROBOT 3.1 Mô hình Robot đơn giản

Trang 15

Các đặc trƣng kỹ thuật:

1( )1

( )

a l m

2( )2

( )

a l m

1

( )

d m

a a A

a a A

Trang 16

E E E

Trang 17

3 1 1 2 2 1 2 1 2 3 1 1 1 2 1 1 2 2 1 2

3 1 1 2 2 1 2 1 2 3 1 1 1 2 1 1 2 2 1 2

3 2 2 2

sin sin sin cos sin ( cos cos cos sin ) cos sin

cos sin cos cos cos ( sin cos sin sin ) sin sin

sinsin

x y z

Trang 18

- Không gian làm việc của robot

Giả sử cho giới hạn chuyển động của các khâu tại các khớp:

0 0 1

0 0 2

3

180 180

90 900,1 0.1

Trang 19

3.5 Thiết kế quỹ đạo

Sau khi đã có không gian làm việc của robot, ta xây dựng cho robot một quỹ đạo chuyển động trong không gian thao tác

Để thỏa mãn điều kiện về vận tốc đầu và cuối ta thiết lập quan hệ x = x(t),

Trang 20

1 2

00

t t

t t x x a

t t

x x t t a

t t

x x a

t t

t t y y a

t t

y y t t a

t t

y y a

t t

t t z z a

t t

z z t t a

t t

z z a

 Tạo độ suy rộng biến khớp q( , 1 2,d3)

Nhắc lại tọa độ của điểm thao tác khâu cuối, ma trận:

Trang 21

Trong đó a1 = 0.018m, a2 = 0.02m là chiều dài khâu 1 và khâu 2

Giải hệ phương trình bằng phương pháp lặp Newton-Raphson sử dụng phần mềm Matlab

Ma trận Jacobi của hệ phương trình là đạo hàm riêng các phương trình theo biến

1 2 3

( , , )

q   d

Trang 22

CHƯƠNG 4: XÂY DỰNG CHƯƠNG TRÌNH MÔ PHỎNG

4.1 Giới thiệu về môi trường mô phỏng OPENGL

Hình x: Logo chính thức của OPENGL

OpenGL (tiếng Anh Open Graphics Library) là một tiêu chuẩn kỹ thuật đồ họa có mục đích định ra một giao diện lập trình ứng dụng (tiếng Anh: API) đồ họa 3 chiều OpenGL cũng có thể được dùng trong các ứng dụng đồ họa 2 chiều Giao diện lập trình này chứa khoảng 250 hàm để vẽ các cảnh phức tạp từ những hàm đơn giản

Nó được dùng rộng rãi trong các trò chơi điện tử Ngoài ra nó còn dùng trong các ứng dụng CAD, thực tế ảo, mô phỏng khoa học, mô phỏng thông tin, phát triển trò chơi OpenGL còn có một đối thủ cạnh tranh là DirectX của Microsoft

Không gian trong OpenGL được miêu tả qua hình học xạ ảnh Một điểm trong không gian này có tất cả bốn tọa độ Cách thể hiện các điểm trong không gian bằng 4 tọa độ cho phép xử lý các điểm vô tận một cách tổng quát Vì vậy mã nguồn các ứng dụng đã được đơn giản hóa đi nhiều

4.2 Xây dựng bài toán mô phỏng

4.2.1 Khởi tạo Project trong OPENGL

Bước 1: Khởi động Visual Studio C++(Visual Studio2015)

Trang 23

Bước 2:File/NewProject/MFCApplication và đặt tên cho project RobotSimulator

Trang 24

Bước 3: Chọn tùy chỉnh cho Project là Single Document và MFC Standard.Rồi chọn Finish

Trang 25

Mã nguồn của chương trình MFC cơ bản:

 Thêm lớp COpenGLInit vào project

 Copy các tệp OpenGLInit.h và OpenGLInit.cpp vào thư mục OpenGL nằm

trong thư mục của project

Trang 26

 Tạo một Filter OpenGL trong project

 Thêm các tệp OpenGLInit.h và OpenGLInit.cpp vào trong filter OpenGL

 Sử dụng lớp COpenGLInit

 Thêm khai báo sử dụng lớp COpenGLInit và biến vào lớp RobotSimulatorView

 Chỉnh sửa hàm PreCreateWindow

 Thêm style ClipSiblings và ClipChildren vào CreateStructcs

 Thêm hàm xử lý sự kiện OnCreate

 Gọi hàm OnCreate của lớp COpenGLInit

Trang 27

 Thêm hàm xử lý sự kiện OnSize

 Gọi hàm OnSize của lớp COpenGLInit để resize phần nội dung vẽ

*Thêm hàm xử lý sự kiện OnEraseBkgnd

Thay đổi giá trị trả về là TRUE

 Chỉnh sửa hàm OnDraw

 Gọi hàm OnDraw của lớp COpenGLInit để hiển thị nội dung phần vẽ trong lớp OpenGLInit

Trang 28

 Thêm hàm xử lý sự kiện OnTime

 Gọi hàm RedrawWindow để cập nhật phần vẽ vào nội dung vẽ

 Thêm hàm xử lý sự kiện OnDestroy

 Dừng Timer hiện tại lại

 Gọi hàm OnDestroy của lớp COpenGLInit

4.2.2 Khởi tạo ánh sáng và vị trị đặt nguồn sáng

- Sử dụng class Light để thiết lập ánh sáng và vị trí đặt nguồn sáng

voidCLight::InitLight()

Trang 29

{

// light

GLfloat ambientLight[] = {0.5f,0.5f,0.5f,1.0f};//moi truong

GLfloat diffuseLight[] = {0.8f,0.8f,0.8f,1.0f};//khuyech tan

GLfloat specularLight[] = {0.4f,0.4f,0.4f,1.0f};//phan chieu

GLfloat positionLight[] = {20.0f,20.0f,20.0f,0.0f};

glLightfv(GL_LIGHT0,GL_AMBIENT,ambientLight);

glLightfv(GL_LIGHT0,GL_DIFFUSE,diffuseLight);

glLightfv(GL_LIGHT0,GL_SPECULAR,specularLight);

Trang 30

CMaterial(constCColor&ambient, constCColor&diffuse,

constCColor&specular, constCColor&emission = CColor(0, 0, 0, 1),

floatshininess=0.0f);

CMaterial(constCMaterial&material);

public:

CMaterial&operator=(constCMaterial&material);

void SetData(constCColor&ambient, constCColor&diffuse,

constCColor&specular, constCColor&emission=CColor(0, 0, 0, 1), floatshininess = 0.0f);

void Reset();

public:

void InitMaterial();

};

Trang 31

4.3 Làm việc với file *STL

4.3.1 Giới thiệu

Các chương trình CAD như Solidworks sử dụng kĩ thuật tam giác hóa

(Triangulation) có thể xuất ra những mô hình lưới với định dạng *.STL Các chương trình mô phỏng có thể đọc file *.STL và hiển thị trong môi trường đồ họa 3D Các mô hình tam giác hóa càng chi tiết, càng mịn thì file càng nặng và chương trình chạy càng chậm Nếu giảm kích thước file *.STL đi thì đồng nghĩa với việc bề mặt trông thô và gãy khúc

4.3.2 Cấu trúc file *.STL

Nội dung file *.STL

Trang 32

4.3.3 Xuất file *.STL từ phần mềm Solidwork

Việc thực hiện xuất file *.STL từ phần mềm Solidwork cần có 1 hệ tọa độ gắn với mô hình tượng cần xuất Trong project này sẽ sử dụng hệ tọa độ địa phương, robot có 3 khâu tương ứng sẽ có 3 hệ tọa độ được gắn vào3 khâu Các hệ tọa độ

này được xác định bằng phương pháp DH Việc load các file *.STL vào trong

OpenGL, sẽ thực hiện theo tác bước sau: Dùng các lệnh dịch chuyển, xoay để

chuyển ma trận hiện hành hiện tại thành ma trận hiện hành ứng với hệ tọa độ khâu

1, rồi thực hiện lệnh load file *.STL của khâu 1 để vẽ mô hình 3D của khâu 1, sau

đó tiếp tục dịch chuyển, xoay để đến hệ tọa độ của khâu 2 để vẽ tiếp mô hình 3D của khâu 2 Việc dịch chuyển, xoay sẽ dựa vào bảng DH, cấu trúc động học của

Robot

Các bước xuất file *.STL trên môi trường solidwork 2015

Bước 1: Mở mô hình đã thiết kế trên môi trường Solidwork

Trang 33

Bước 2: Đặt hệ tọa độ cho các khâu theo qui tắc DH

- Vào Insert/Features/Move/Copy…

- Chọn đối tượng cần đặt hệ tọa độ :

Trang 34

- Chọn hướng quay và khoảng cách dịch phù hợp với quy tắc đặt hệ tọa độ

DH

- Chọn Insert/Refence Geometry/ Coordinate System… và điểm cần đặt hệ

tọa độ

Trang 35

- Kết quả

Hình ảnh

Trang 36

Bước 3: File -> Save As sẽ ra hộp thoại như sau Trong Save as type chọn dịnh dạng STL

Bước 4: Thay đổi 1 số tùy chọn bằng cách chọn Option

Bước 5: Save để lưu file

Trang 37

4.4 Nhúng file *.STL vào môi trường OPENGL

Có nhiều cách để đưa file *.STL vào OpenGL, trong project này đưa ra cách làm như sau:

 Thêm một số lớp hỗ trợ OpenGL vào project

 Thêm các tệp

- Color.h & Color.cpp:

- Light.h & Light.cpp

- Material.h & Material.cpp

- Vec3D.h

- OpenGLWnd.cpp & OpenGLWnd.h

- SaveRestore.cpp & SaveRestore.h

 Thêm lớp đọc file STLvào project

- STL_File.h & STL_File.cpp

- Vector4D.h

Ngày đăng: 20/01/2018, 09:58

TỪ KHÓA LIÊN QUAN

w