Trong những năm gần đây, công nghệ Robot đã đạt được những thành tựu to lớn và ngày càng được ứng dụng rộng rãi trong công nghiệp, hoạt động trong mọi lĩnh vực sản xuất như công nghiệp lắp ráp, hàn và những công việc trong môi trường độc hại và nguy hiểm.
Trang 1LỜI NÓI ĐẦU
Trong những năm gần đây, công nghệ Robot đã đạt được những thành tựu to lớn và ngày càng được ứng dụng rộng rãi trong công nghiệp, hoạt động trong mọi lĩnh vực sản xuất như công nghiệp lắp ráp, hàn và những công việc trong môi trường độc hại và nguy hiểm Một trong những vấn đề quan trọng nhất của Robot công nghiệp là sự chính xác trong chuyển động Hầu hết các Robot đều được truyền động bằng động cơ điện và chủ yếu là động cơ điện một chiều, do đó việc điều khiển chuyển động của Robot chính là điều khiển các động cơ truyền động cho Robot
Robot là một sản phẩm đặc trưng của ngành cơ điện tử, nó thể hiện sự tích hợp liên ngành cơ khí, điện tử và điều khiển
Đồ án gồm 5 phần :
Phần I : Giới thiệu về Easy Rob 2.0
Phần II : Giao diện phần mềm Easy Rob
II.1 Menu chính
II.2 Các thanh công cụ
II.3 Thao tác với chuột
II.4 Gắn hệ tọa độ
II.5 Vẽ hình dáng rôbốt
II.6 Lập trình điều khiển rôbốt mô phỏng
II.7 Lưu đồ giải thuật của Easy Rob
Phần III : Các bước tiến hành mô phỏng rôbốt Stanford
Trong khi hoàn thành đồ án nhóm đã cố gắng rất nhiều để có được nội dung pong phú, cách trình bày thuyết phục, tuy nhiêu kông tránh khỏi những thiếu sót Rất mong được những góp ý sữa đổi, bổ sung Các ý kiến xin gửi về :
Lớp C7 Cơ Điện Tử
Trường Đại Học Điện Lực
Tân Minh – Sóc Sơn – Hà Nội
Nhóm I
Trang 2Phần I Giới thiệu về phần mềm Easy rob 2.0
Easy-Rob là công cu ̣ mô phỏng robot sử du ̣ng đồ ho ̣a trong không gian ba chiều (3D) và các hình ảnh có thể hoa ̣t đô ̣ng được Mô ̣t hê ̣ thống 3D-CAD sử du ̣ng đơn giản cho phép ta ̣o ra các khối hình ho ̣c cơ bản như khối tru ̣, khối cầu, khối chữ nhâ ̣t, khối tam giác… để vẽ kết cấu robot Trong Easy-Rob có thể dùng chuô ̣t để quay hoă ̣c ti ̣nh tiến robot đến mô ̣t to ̣a đô ̣ tùy ý Easy-Rob cũng có các chức năng phóng to, thu nhỏ đối tượng vẽ như nhiều phần mềm khác… Chương trình cho phép thiết kế các robot đến 12 bâ ̣c tự do Chuyển đô ̣ng của robot có thể được điều khiển theo các biến khớp hoă ̣c các to ̣a đô ̣ Đề Các Có thể mô tả đô ̣ng ho ̣c của robot theo kiểu DH hoă ̣c trong hê ̣ to ̣a đô ̣ toàn cu ̣c (Universal Coordinates) Easy-Rob đã có sẵn các trình điều khiển đô ̣ng ho ̣c thuâ ̣n và ngược của các cấu hình robot thông du ̣ng, khi thiết kế ta chỉ cần khai báo kiểu đô ̣ng ho ̣c thích hợp Trong trường hợp robot có kết cấu đă ̣c biê ̣t hoă ̣c có các khâu bi ̣ đô ̣ng gắn với các chuyển đô ̣ng của các khớp thì cần phải giải bài toán đô ̣ng ho ̣c ngược hoă ̣c xác đi ̣nh hàm toán ho ̣c mô tả sự phu ̣ thuô ̣c đó bằng ngôn ngữ C và sau đó dùng tâ ̣p tin Make.exe trong C để di ̣ch thành
tâ ̣p tin thư viê ̣n liên kết đô ̣ng er_kin.dll (Easy-Rob kinematic Dynamic link library), khi cha ̣y chương trình, Easy-Rob sẽ liên kết với tâ ̣p tin này và thực hiê ̣n kiểu đô ̣ng
ho ̣c đã được khai báo trong chương trình điều khiển
Easy-Rob có mô ̣t số các lê ̣nh điều khiển riêng, chương trình được viết theo kiểu xử lý tuần tự, tâ ̣p tin da ̣ng text, có thể soa ̣n thảo chương trình trong bất kỳ trình soa ̣n thảo nào Các công cu ̣ gắn trên khâu chấp hành cuối có thể thay đổi được Chúng ta có thể viết mô ̣t chương trình chuyển đô ̣ng cho mô ̣t robot theo mô ̣t quỹ đa ̣o mong muốn, có thể kiểm tra khả năng vươn tới của cánh tay, xác đi ̣nh vùng làm viê ̣c của robot… Robot mô phỏng có thể cầm nắm hoă ̣c thả các đối tượng làm viê ̣c Các chuyển đô ̣ng của robot có thể ghi vào mô ̣t tâ ̣p tin và có thể thực hiê ̣n la ̣i
Phần mềm cho phép ta xem được các hê ̣ to ̣a đô ̣ gắn trên các khâu của robot, xem đươ ̣c quỹ đa ̣o chuyển đô ̣ng của điểm cuối công cu ̣ gắn trên khâu chấp hành cuối Phần mềm còn có nhiều tiê ̣n ích khác như: cho phép ta lâ ̣p trình điều khiển robot bằng phương pháp da ̣y ho ̣c, thiết kế các đối tượng làm viê ̣c của robot, có các cửa sổ về to ̣a đô ̣ và giá tri ̣ góc quay của các khớp ta ̣i từng thời điểm khi robot hoa ̣t
đô ̣ng
Viê ̣c sử du ̣ng phần mềm Easy-Rob để mô phỏng robot giúp chúng ta hai khả năng nghiên cứu:
Trang 3- Mô phỏng la ̣i mô ̣t robot đã có và các đối tượng làm viê ̣c của nó Đánh giá khả năng làm viê ̣c và mức đô ̣ linh hoa ̣t của robot, xác đi ̣nh các thông số điều khiển, quỹ đa ̣o chuyển đô ̣ng để dùng trong điều khiển thực
- Nghiên cứu thiết kế đô ̣ng ho ̣c, các kích thước và kết cấu của robot trên máy tính để có thể cho ̣n được phương án đô ̣ng ho ̣c tốt nhất đảm bảo cho robot hoàn thành các nhiê ̣m vu ̣ yêu cầu
Phần II Giao diện màn hình của phần mềm Easy-Rob
Phần mềm Easy-Rob không cần cài đă ̣t, để chay chương trình kích chuô ̣t vào file EASYROBW.EXE
Trang 4Sau khi khởi đô ̣ng phần mềm Easy-Rob sẽ xuất hiê ̣n màn hình giao diê ̣n như hình sau:
Hình 1: Menu chính của phần mềm Easy-Rob 2.0
II.1 Menu chính:
Menu chính của phần mềm Easy-Rob cung cấp các nô ̣i dung hoa ̣t đô ̣ng khác nhau của phần mềm Nó bao gồm các menu : File, Robotics, Simulate, 3D-CAD, Tags, View, Aux, Help
Menu File
File menu xử lý các tác vu ̣ trên file : load, lưu, xóa, sửa Trong Easy-Rob có nhiều loa ̣i file được quy đi ̣nh bởi phần mở rô ̣ng (đuôi của file)
File trong phần mềm Easy-Rob đươ ̣c chia ra thành 3 nhóm:
- Các tập tin hê ̣ thống (System files) : Với các tâ ̣p tin hê ̣ thống cho phép cài đă ̣t các
ứng du ̣ng chung Các tâ ̣p tin này gồm:
Trang 5Config.dat
Eviroment file *.env Moni_msg.txt License.dat
- Các tập tin robotics (Robotics files) : được sử du ̣ng cho viê ̣c nhâ ̣p thông số robot
và các bô ̣ phâ ̣n của nó, bao gồm du ̣ng cu ̣ (tools), các đối tượng làm viê ̣c (bodies), góc nhìn không gian (views) Robotics files bao gồm :
Work cell files Robot files Program files Mimic files Environment (body) files View files
Tags files
Work cell file (*.Cel ): để mô tả kết cấu robot, công cu ̣ làm viê ̣c và đối tượng làm
viê ̣c của robot Đây là mô ̣t file tổng hợp, bao gồm cả chương trình dùng để điều khiển robot và các file hỗ trợ khác
Robot file (*.rob): để mô tả kết cấu của mô ̣t robot.
Tool file (*.tol): để mô tả công cu ̣ gắn trên khau chấp hành của robot
Body file (*.bod) : để mô tả các đối tượng làm viê ̣c của robot
View file (*.vie) : để xác đi ̣nh góc nhìn trong không gian
Program file (*.prg): chương trình điều khiển robot File program bao gồm câu lê ̣n
điều khiển chuyển đô ̣ng robot : ERPL (Easy-Rob Program Language- Ngôn ngữ lâ ̣p trình Easy-Rob) và ERCL (Easy-Rob Command Language- Ngôn ngữ câu lê ̣nh Easy-Rob)
- Các tập tin CAD (CAD files) : được sử du ̣ng trong mô hình robot trong không gian
3D CAD files đươ ̣c sử du ̣ng trong Easy- Rob bao gồm:
IGRIP file STL file Rhino 3dm file IGRIP file có đuôi mở rô ̣ng *.igp : lưu trữ mô ̣t bô ̣ phâ ̣n kết cấu
STL file có đuôi mở rô ̣ng *.STL : lưu trữ mô ̣t bô ̣ phâ ̣n kết cấu được vẽ bằng các phần mềm CAD (AutoCad, ProEngineer,…) đi ̣nh da ̣ng STL
Trang 6Menu Robotics:
Robotics menu dùng để nhâ ̣p các thông số đô ̣ng ho ̣c,
đô ̣ng lực ho ̣c, xác đi ̣nh vi ̣ trí của du ̣ng cu ̣, xác đi ̣nh vi ̣ trí robot và các thông số khác Với robotics menu có thể dễ dàng ta ̣o mô ̣t chương trình điều khiển robot hoă ̣c ta ̣o mô ̣t robot mới
Dòng lê ̣nh đầu tiên trong robotics menu là thiết lâ ̣p vi ̣ trí và đi ̣nh hướng của to ̣a đô ̣ tâm bàn ke ̣p du ̣ng cu ̣ Hô ̣p thoa ̣i dưới chỉ dữ liê ̣u du ̣ng cu ̣ và hê ̣ to ̣a đô ̣ của tâm bàn
ke ̣p du ̣ng cu ̣ robot Amtec
Trong bảng bao gồm 6 biến : 3 biến về di ̣ch chuyển và 3 biến quay quanh các tru ̣c
to ̣a đô ̣ X,Y và Z
Nếu muốn thay đổi vi ̣ trí và hướng của hê ̣ to ̣a đô ̣ tâm bàn ke ̣p du ̣ng cu ̣ thì nhâ ̣p giá tri ̣ vào ô cần thay đổi vào ô Current seclected “ Fload/Int ” Value và ấn nút OK
Trình đơn phu ̣ Robot Motion + Kinematics bao gồm chức năng để thiết lâ ̣p
tất cả các thông số đô ̣ng học robot và các bô ̣ phâ ̣n- các khớp hoă ̣c vi ̣ trí cơ sở
hiê ̣n ta ̣i của các
Trang 7Ghi chú:
Véc tơ l1 = [ l1x, l1y, l1z] là khoảng cách từ khớp thứ nhất đến khớp thứ 2
Có thể thay đổi chiều dài của các khâu bằng cách kích chuô ̣t vào cái cần thay đổi, nhâ ̣p giá tri ̣ và ấn nút OK
Trình đơn phu ̣ Robot Attributes chỉ rõ các thuô ̣c tính đô ̣ng ho ̣c và đô ̣ng lực ho ̣c
robot Bao gồm các thuô ̣c tính:
Robot Homeposition : Vi ̣ trí ban đầu của robot
Robot SW-Travel Range
Robot SW+Travel Range
Robot Joint Signs
Robot Joint Offsets :
Robot Joint Speeds : Vâ ̣n tốc của các khớp robot
Robot Joint Accels : Gia tốc của các khớp robot
Robot Joint Torques : Mô men xoắn của các khớp robot
Bằng cách kích đúp vào mỗi thuô ̣c tính, nhâ ̣p giá tri ̣ để thiết lâ ̣p thuô ̣c tính
Trình đơn phu ̣ Robot Base Pose được dùng để thiết lâ ̣p vi ̣ trí cơ sở đă ̣t robot so với
hê ̣ to ̣a đô ̣ đô ̣c lâ ̣p (World coordinate system) Hô ̣p thoa ̣i Robot Base Pose thể hiê ̣n ở hình dưới
Để di chuyển robot đến mô ̣t vi ̣ trí và hướng khác, kích chuô ̣t vào ô cần thay đổi giá tri ̣, nhâ ̣p giá tri ̣ và ấn nút OK
Trang 8Trình đơn phu ̣ Robot Motion Planner bao gồm các chức năng như vâ ̣n tốc và gia
tốc của khớp, vâ ̣n tốc và gia tốc đề các, thời gian trễ và sớm, …
Trình đơn phu ̣ Robot Program bao gồm các chức năng về thiết lâ ̣p chương trình
mô phỏng Có thể load hoă ̣c chỉnh sửa chương trình, cha ̣y chương trình hay mở cửa sổ da ̣y (Teach Window) và chương trình đầu ra
Create new Program cho phép lâ ̣p ra mô ̣t robot mới theo nhiều cách khác nhau.
Có thể ta ̣o kết cấu robot chuẩn RRR-RRR (6 khớp quay), RRR-RRR Back link, TTT-RRR với 6 bâ ̣c tự do (Degrees Of Freedom), hay hai loa ̣i robot không tiêu chuẩn, là loa ̣i mà được mô tả với hê ̣ to ̣a đô ̣ toàn cu ̣c (Universal Coordinates) và quy tắc Denavit Hartenberg (DH) đến 12 bâ ̣c tự do.
Menu Simulate
Menu Simulate cho phép điều khiển bằng tay viê ̣c di chuyển Robot đến các vi ̣ trí khác nhau (Home, Joint, Cartesian position), cha ̣y chương trình robot, ghi la ̣i và reset tất cả các vi ̣ trí của robot, cũng có thể làm tăng hoă ̣c giảm tốc đô ̣ mô phỏng robot…
Hình 2: Menu Simulate và trình đơn phu ̣ Move to
Khi kích hoa ̣t chức năng Homeposition, robot sẽ được di chuyển tới vi ̣ trí “zero”.
Trang 9Menu 3D CAD
Menu 3D CAD cung cấp các công cu ̣ để vẽ kết cấu robot trong không gian ba chiều (3D) cũng như để thiết kế các công cu ̣, các đối tượng làm viê ̣c Để vẽ được kết cấu của robot, dựa vào các khối hình ho ̣c đơn giản có thể lắp ghép chúng la ̣i để ta ̣o nên các hình dáng khác nhau của robot Cũng có thể nhóm nhiều đối tượng vẽ riêng lẻ thành mô ̣t đối tượng có thể sử du ̣ng nhiều lần và có thể thay đổi kích thước của chúng Các đối tượng có thể được vẽ từ các phần mềm CAD khác nhau như AutoCad, ProEngineer , lưu vào file đi ̣nh da ̣ng đuôi *.STL sẽ liên kết được với Easy-Rob Menu 3D-CAD của Easy-Rob như sau:
Hình 3: Menu 3D-CAD
- Select Group: Cho ̣n nhóm đối tượng thiết kế, gồm có: Robot Group, Tool
Group, Body Group
- Select Body from Group: Cho ̣n đối tượng của robot đã vẽ (theo tên đã đă ̣t
trước) của nhóm hiê ̣n hành
- Create/Import new 3D Body: Ta ̣o mới hoă ̣c nhâ ̣p mô ̣t bô ̣ phâ ̣n đã có sẵn.
Cần nhâ ̣p các thông số cần thiết để ta ̣o ra đối tượng mong muốn
Các khối 3D cơ bản trong phần mềm Easy-Rob có thể được ta ̣o ra là:
+ Block : Khối chữ nhâ ̣t + Pyramide : Khối chóp + Pyramidenst : Khối chóp cu ̣t + Cylinder: Khối tru ̣
+ Kegel : Hình nón + Spheres: Khối cầu
Trang 10- Modify sel Body set Jnt_idx: Hiê ̣u chỉnh các thuô ̣c tính của bo ̣ phâ ̣n hiê ̣n hành
- Clone: Copy bô ̣ phâ ̣n đang vẽ thành nhiều hình
- Render: Các thuô ̣c tính thể hiê ̣n đối tượng vẽ
- Color: Đă ̣t mầu cho đối tượng vẽ
- Name: Đă ̣t tên cho đối tượng vẽ
- Clear: Xóa đối tượng (bô ̣ phâ ̣n) hiê ̣n hành hoă ̣c xóa toàn bô ̣ đối tượng trong
nhóm
- Position’s: Đă ̣t thuô ̣c tính vi ̣ trí của đối tượng vẽ
- 3D CAD Coorsys Visibility: Bâ ̣t, tắt hê ̣ to ̣a đô ̣ gắn với đối tượng vẽ
- Next Body in Group: Cho ̣n đối tượng vẽ tiếp theo trong nhóm
Ví dụ tạo block:
Vào menu 3D-CAD Create/Import from Group xuất hiê ̣n hô ̣p thoa ̣i sau:
Cho ̣n Block, ấn OK Cho ̣n Yes để xác đi ̣nh vi ̣ trí của đối tượng
Tiếp đó xuất hiê ̣n hô ̣p thoa ̣i để xác đi ̣nh vi ̣ trí chuẩn (reference position) Có thể nhâ ̣p giá tri ̣ mới để thay đổi vi ̣ trí và hướng của
vi ̣ trí chuẩn, sau đó ấn nút OK
Xuất hiê ̣n hô ̣p thoa ̣i defining position Giá tri ̣ của vi ̣ trí được tính so với hê ̣ to ̣a đô ̣ xác đi ̣nh trước (vi ̣ trí chuẩn) Xuất hiê ̣n hô ̣p thoa ̣i để nhâ ̣p các thuô ̣c tính hình ho ̣c của khối Bao gồm:
Trang 11- X : Kích thước theo phương X
- Y: Kích thước theo phương Y
- Height : Kích thước theo phương
Bước tiếp theo của ta ̣o khối là thiết
lâ ̣p tên cho đối tươ ̣ng Có thể nhâ ̣p tên mới bằng cách nhâ ̣p vào ô Bodys, ấn OK để
kết thúc Tên của đối tượng rất quan tro ̣ng, bởi vì dựa vào tên đó người sử du ̣ng có thể thay đổi các thuô ̣c tính của nó
Để ta ̣o các khối khác cũng làm tương tự
II.2 Các thanh công cu ̣
Render Toolbar
Bâ ̣t / tắt chế đô ̣ chiếu sáng các đối tượng vẽ
Chuyển tất cả các đối tượng sang da ̣ng khung dây hoă ̣c sang da ̣ng khối
Chuyển tất cả các đối tượng sang da ̣ng tru ̣ hoă ̣c khối phức ta ̣p
Hiển thi ̣ hoă ̣c ẩn sàn
Hiển thi ̣ sàn ở da ̣ng lưới
Trang 12Reset vi ̣ trí robot trên màn hình
Chuyển đổi cửa sổ khi mở Cellfile or igip partfile(kết hợp với nút )
Run- Animation
Cha ̣y chương trình
Ta ̣m dừng chương trình
Tiếp tu ̣c cha ̣y chương trình
Kết thúc chương trình
Cha ̣y chương trình theo từng bước
Lă ̣p la ̣i chương trình sau khi kết thúc
Giảm tốc đô ̣ điều khiển
Tăng tốc đô ̣ điều khiển
Đánh giá sai số và xem các giá tri ̣ đô ̣ng ho ̣c
Mouse Mode
Dùng chuô ̣t để view, pan, zoom
Điều khiển hướng và vi ̣ trí của khâu chấp hành cuối so với hê ̣ to ̣a đô ̣ của bàn ke ̣p
Trang 13Điều khiển hướng và vi ̣ trí của khâu chấp hành cuối so với hê ̣ to ̣a đô ̣ đô ̣c lâ ̣p (World coordinate system)
Điều khiển các khớp
Di chuyển thân robot
Di chuyển và xoay thân robot bằng chuô ̣t
Di chuyển tất cả các đối tượng bằng chuô ̣t
Di chuyển điểm tag
Chuyển đổi chuyển đô ̣ng là quay hoă ̣c ti ̣nh tiến (dùng khi thay đổi hướng và
vi ̣ trí của đối tượng vẽ hoă ̣c hê ̣t to ̣a đô ̣ gắn trên công cu ̣)
Tăng tốc đô ̣ điều khiển bằng chuô ̣t
Giảm tốc đô ̣ điều khiển bằng chuô ̣t
On-Off
Hiển thi ̣ hoă ̣c không hiển thi ̣ kết cấu robot
Hiển thi ̣ hoă ̣c không hiển thi ̣ du ̣ng cu ̣
Hiển thi ̣ hoă ̣c không hiển thi ̣ các đối tượng làm viê ̣c
Hiển thi ̣ hoă ̣c không hiển thi ̣ hê ̣ to ̣a đô ̣ gắn với du ̣ng cu ̣
Hiển thi ̣ hoă ̣c không hiển thi ̣ hê ̣ to ̣a đô ̣ gắn trên các khâu của rôbot
Hiển thi ̣ hoă ̣c không hiển thi ̣ Tag’s coordinate system
Mô phỏng đô ̣ng lực ho ̣c
Thể hiê ̣n quỹ đa ̣o chuyển đô ̣ng của tâm bàn ke ̣p robot