- Trang Chủ
- Tự động hoá
- Thiết kế và chế tạo cánh tay robot 5 bậc tự do ứng dụng xử lý ảnh để phân loại vật thể
Xem mẫu
- Tuyển tập Hội nghị khoa học toàn quốc lần thứ nhất về Động lực học và Điều khiển
Đà Nẵng, ngày 19-20/7/2019, tr. 160-166, DOI 10.15625/vap.2019000273
Thiết kế và chế tạo cánh tay robot 5 bậc tự do ứng dụng xử
lý ảnh để phân loại vật thể
Đặng Phước Vinh, Lê Đình Minh Nhật, Nguyễn Đặng Mẫn
Trường Đại học Bách khoa, Đại học Đà Nẵng
Email: dpvinh@dut.udn.vn
Tóm tắt Cánh tay robot này còn có thể được ứng dụng trong
Trong bài báo này, nhóm tác giả trình bày về những kết quả nghiên cứu khoa học và hỗ trợ đào tạo thực hành, thí
nghiên cứu, thiết kế, chế tạo cánh tay robot 5 bậc tự do ứng dụng nghiệm cho sinh viên các ngành cơ khí, cơ điện tử và tự
xử lý ảnh để phân loại vật thể. Cánh tay robot này được điều khiển động hóa ở các trường kỹ thuật. Ý tưởng thiết kế cho
thông qua bộ phần điều khiển với chip vi điều khiển Arduino và những mô hình lớn ứng dụng trong nhiều công đoạn cho
bộ phận xử lý hình ảnh. Ban đầu, camera sẽ thu nhận hình ảnh những quy trình sản xuất sản phẩm.
thực tế, sau đó máy tính với nền tảng là Visual Studio C# xử lý Vậy nên, bài toán đặt ra tại đây là phải thiết kế chế tạo
thông tin đầu vào và gửi lệnh điều khiển tới bộ điều khiển. Khi một hệ thống mà kết hợp giữa các phương pháp xử lý ảnh
nhận được thông tin từ máy tính, bộ điều khiển sẽ điều khiển cơ và các cơ cấu cơ khí đã được áp dụng trong ngành công
cấu chấp hành tương tác với vật thể. Bước đầu hệ thống hoạt động nghiệp. Hệ thống sẽ sử dụng camera chụp vật mẫu, chụp
khá ổn định, có thể nhận diện được vật thể dựa vào hình dáng và vật được sản xuất, sau đó so sánh ảnh của vật mẫu và ảnh
màu sắc một cách chính xác với thời gian tương đối nhanh. của vật thật hoặc phân tích đặc tính riêng trên sản phẩm rồi
từ đó phân loại xác định được sản phẩm có đạt chất lượng
Từ khóa: Cánh tay robot 5 bậc tự do, Vi điều khiển Aruino, Xử hay không. Nếu đạt chất lượng sẽ đưa sang đóng gói thành
lý ảnh, Visual Studio C#. phẩm. Nếu không đạt chất lượng sẽ loại bỏ trở thành phế
phẩm. Tuy nhiên trong thực tiễn một số bài toán không cần
phải áp dụng hệ thống như trên vì nó sẽ làm cho hệ thống
1. Đặt vấn đề phức tạp, giá thành tăng. Hiện nay các tay máy có trên thị
Thời đại nền công nghiệp 4.0 đã kéo theo sự phát triển trường trong lĩnh vực phân loại sẽ gồm 2 dạng cơ cấu chính
không ngừng nghỉ của các công cụ lao động phụ trợ, từ là cơ cấu song song và chuỗi. Đối với tay máy có cơ cấu
những công cụ máy móc thô sơ cho năng suất và chất song song sẽ có tốc độ phân loại nhanh hơn nhưng phạm
lượng kém, đã dần dần được thay thế bằng những công cụ, vi làm việc nhỏ so với kích thước của tay máy. Đối với
máy móc hiện đại hơn, nâng cao độ chính xác, năng suất cánh tay dạng chuỗi, hệ thống sẽ có phạm vi làm việc lớn
cao hơn sản xuất được nhiều mặt hàng tinh xảo. Đồng thời hơn. Tuy nhiên, tùy thuộc vào số khớp có trong tay máy
nhằm giảm công lao động của con người trong các hoạt mà độ linh hoạt sẽ cao hơn nhưng ngược lại thì độ cứng
động công nghiệp hay một số môi trường đặc biệt mà con vững của tay máy lại giảm. Với yêu cầu phân loại sản phẩm
người không thể làm việc được như: những môi trường độc ngày càng đa dạng thì cánh tay phải đảm bảo độ linh hoạt
hại khói bụi, hóa chất,… gây ảnh hưởng tới sức khỏe và và tốc độ, vùng làm việc rộng cũng như độ cứng vững cần
tính mạng của con người, các công cụ có thể thay thế con thiết. Hơn nữa, việc phân loại sản phẩm dựa vào hình dáng
người và mang lại hiệu quả cao. Để giải quyết vấn đề trên và sản phẩm sẽ tối ưu hơn nếu kỹ thuật xử lý ảnh số được
thì việc áp dụng cánh tay robot vào công nghiệp ngày càng áp dụng cho cánh tay robot.
cấp thiết. Robot được ứng dụng trong nhiều mục đích khác
nhau: như phân loại sản phẩm theo hình dáng và màu sắc
(ứng dụng trong các khu công nghiệp hoặc kho hàng, cơ
khí …).
Bên cạnh đó, việc ứng dụng xử lý ảnh vào cánh tay
robot đã và đang thu hút nhiều sự nghiên cứu trong và
ngoài nước để phục vụ các mục đích khác nhau. Vào năm
2015, một cánh tay robot đã được nghiên cứu và chế tạo
để phân loại hình dáng của sản phẩm sử dụng kỹ thuật xử
lý ảnh số dựa vào đường biên bao quanh vật thể [1]. Một
cánh tay robot gồm 4 ngón tay cũng ứng dụng xử lý ảnh số
để phân loại sản phẩm dựa vào màu sắc. Cánh tay này hoạt Hình 1: Những vật thể cần được phân loại trong hệ thống
động theo thời gian thực sử dụng webcam để chụp ảnh và Trong bài báo này, nhóm tác giả đã nghiên cứu, thiết
phân tích ảnh [2]. Tương tự, một robot ứng dụng vào thực kế và chế tạo thành công một cánh tay robot 5 bậc tự do
tế để xác định các vật thể bằng xử lý ảnh từ camera đã được
dùng để phân loại sản phẩm dựa vào màu sắc và hình dáng.
nghiên cứu và chế tạo [3]. Một thuật toán được phát triển
giúp cho robot có thể xác định hay có thể vẽ được hình Công nghệ xử lý ảnh được ứng dụng trong hệ thống này
dáng của vật thể từ các tọa độ điểm của chúng. giúp cho việc phân loại được chính xác hơn. Hệ thống điều
- Đặng Phước Vinh, Lê Đình Minh Nhật, Nguyễn Đặng Mẫn
khiển trung tâm với chip vi điều khiển Arduino sẽ điều thể. Toàn bộ thông tin này sẽ được máy tính đóng gói và
thực hiện việc truyền thông giữa cánh tay robot với phần truyền về cho vi điều khiển để vi điều khiển tạo tín hiệu
mềm trên máy tính được viết bằng Visual Studio, nền tảng điều khiển cánh tay robot vươn đến vị trị vật thể trên vùng
làm việc, gắp vật thể và thả tại vùng phân loại tương ứng.
C#. Các vật thể được sử dụng trong nghiên cứu này được
vòng lặp này sẽ được tiếp tục cho đến khi phân loại hết sản
thể hiện ở Hình 1. phẩm có trong vùng làm việc hoặc nhấn nút dừng khẩn
2. Thiết kế cấp. Nút dừng khẩn cấp có nhiệm vụ dừng mọi hoạt động
của cánh tay robot và bộ xử lý trong trường hợp gặp xự cố.
2.1. Tổng quan về hệ thống Với bài toán đặt ra như trên: khi sản phẩm vào vùng
Để giải quyết bài toán xử lý ảnh thì chúng ta có rất làm việc của camera, được camera chụp ảnh lại và lưu lại
nhiều công cụ hỗ trợ tốt như Open CV, Microsoft Visual vào máy tính. Yêu cầu đặt ra là cần phải xác định được
Studio hay công cụ Image Processing Toolbox của Visual hình, đặc điểm, hướng ... của sản phẩm dựa vào đó phân
Studio... loại sản phẩm. Nếu có sản phẩm nào không trùng với quy
Trong nghiên cứu này, nhóm tác giả sử dụng phần định sẽ được phân loại là phế phẩm.
mềm Visual Studio với nền tảng C# để xây dựng phần mềm Để thực hiện được yêu cầu của hệ thống trên ta sử
giao tiếp với hệ thống điều khiển của cánh tay robot. dụng thư viện xử lý ảnh trong Visual Studio để hỗ trợ trong
việc nhận dạng đặc điểm, hướng của sản phẩm.
2.2. Phương án thiết kế:
a) Động cơ
Sau khi tìm hiểu, tính toán và thử nghiệm các loại động
Hình 2: Sơ đồ phân loại và gắp hàng tự động ứng dụng
cơ trên thị trường, tác giả nhận thấy động cơ servo và động
công nghệ xử lý ảnh
cơ bước là phù hợp hơn cả.
* Động cơ servo
Trong hệ thống sử dụng camera nhằm chụp ảnh sản
- Ưu điểm: Mômen trên trục đều hơn, tốc độ cao hơn,
phẩm, máy tính có nhiệm vụ thu nhận, lưu trữ và xử lý,
có nhiều kích cỡ, làm việc êm, độ chính xác cao.
nhận dạng sản phẩm thông qua hình ảnh đã chụp được từ
camera, từ đó xuất ra lệnh đưa tới bộ điều khiển nhằm tác * Động cơ bước
động đến các cơ cấu chấp hành phân loại sản phẩm theo - Ưu điểm: Giá thành rẻ, có thể điều khiển mạch hở,
quy định. Hình 3 thể hiện mô hình 3D của hệ thống. duy trì mômen rất tốt, mômen xoắn cao ở tốc độ thấp, định
Hệ thống gồm 2 phần chính: vị chính xác.
▪ Bộ điều khiển gồm: một chip vi điều khiển b) Vật liệu chế tạo thân Robot
Hiện nay có rất nhiều loại vật liệu có thể làm thân vỏ
Arduino, các mạch driver dùng để điều khiển
cho robot như thép, nhôm hoặc nhựa. Nhưng sau khi xem
động cơ và cánh tay robot 5 bậc tự do. xét các ưu nhược điểm của từng loại vật liệu thì nhựa PLA
▪ Cơ cấu chấp hành bao gồm: một cánh tay robot 5 là phù hợp hơn cả vì : nhựa có khối lượng nhẹ dễ gia công,
bậc tự do. có thể tạo các bề mặt phức tạp nhờ công nghệ in 3D.
2.3. Tính toán động học và thiết kế cánh tay
Nội dung của động học nhằm nghiên cứu giải tích về
chuyển động của robot đối với một hệ tọa độ tham chiếu
cố định như là một hàm theo thời gian mà không quan tâm
đến các lực hoặc momen gây ra chuyển động đó [4]. Nó
xác định mối quan hệ giữa không gian biến trục với vị trí
và hướng của khâu chấp hành cuối của robot. Động học
robot bao gồm hai nội dung chính cần giải quyết như sau:
Cho các giá trị của biến khớp là góc quay hoặc độ dài
tịnh tiến, các thông số hình học và các thông số liên kết
của các khâu. Yêu cầu xác định vị trí và hướng của khâu
chấp hành cuối đối với hệ tọa độ tham chiếu. Đây được gọi
là bài toán động học thuận – direct (forward) kinematics.
Cho trước các thông số hình học và các thông số liên
kết của các khâu, cho trước vị trí và hướng của khâu chấp
Hình 3: Mô hình 3D của hệ thống hành cuối đối với hệ tọa độ tham chiếu mà ta muốn robot
phải đạt đến. Yêu cầu xác định giá trị của các biến khớp để
Các vật thể cần phân loại sẽ nằm trong vùng làm việc, robot đạt được hướng và vị trí cho trước và cấu hình của
là phần giao nhau giữa vùng hoạt động của cánh tay robot tay máy phù hợp với điều kiện đã cho. Đây được gọi là bài
và vùng nhận diện của máy ảnh. Máy ảnh chụp và gửi hình toán động học ngược robot – inverse kinematics.
ảnh về máy tính để nhận diện và phân loại các thuộc tính
của sản phẩm bao gồm hình dáng, màu sắc và tọa độ vật
- Cánh tay robot 5 bậc tự do ứng dụng xử lý ảnh để phân loại sản phẩm
a) Bài toán động học thuận 𝑝𝑦 = 𝑠𝑖𝑛(𝜃1 ) × (𝑎3 × 𝑐𝑜𝑠(𝜃23 ) + 𝑎2 𝑐𝑜𝑠(𝜃2 )
Chọn hệ tọa độ cơ sở, gắn các hệ tọa đô trung gian lên + 𝑑5 𝑠𝑖𝑛(𝜃234 ))
các khâu (Hình 4), ta có bảng thông số Denavit – 𝑝𝑧 = 𝑑1 + 𝑎3 × 𝑠𝑖𝑛(𝜃23 ) + 𝑎2 × 𝑠𝑖𝑛(𝜃2 )
Hartenberg (Bảng 1)
− 𝑑5 × 𝑐𝑜𝑠(𝜃234 )
𝑛𝑥 = 𝑐𝑜𝑠(𝜃234 × 𝑐𝑜𝑠(𝜃1 ) × 𝑐𝑜𝑠(𝜃5 )
)
− 𝑠𝑖𝑛(𝜃1 ) × 𝑠𝑖𝑛(𝜃5 )
𝑛𝑦 = 𝑐𝑜𝑠(𝜃234 ) × 𝑐𝑜𝑠(𝜃5 ) × 𝑠𝑖𝑛(𝜃1 )
− 𝑐𝑜𝑠(𝜃1 ) × 𝑠𝑖𝑛(𝜃5 )
𝑛𝑧 = 𝑠𝑖𝑛(𝜃234 ) × 𝑐𝑜𝑠(𝜃5 )
𝑜𝑥 = 𝑐𝑜𝑠(𝜃5 ) × 𝑠𝑖𝑛(𝜃1 )
− 𝑐𝑜𝑠(𝜃234 ) × 𝑐𝑜𝑠(𝜃1 ) × 𝑠𝑖𝑛(𝜃5 )
𝑜𝑦 = −𝑐𝑜𝑠(𝜃1 ) × 𝑐𝑜𝑠(𝜃5 )
− 𝑐𝑜𝑠(𝜃234 ) × 𝑠𝑖𝑛(𝜃1 ) × 𝑠𝑖𝑛(𝜃5 )
𝑜𝑧 = −𝑠𝑖𝑛(𝜃234 ) × 𝑠𝑖𝑛(𝜃5 )
𝑎𝑥 = 𝑠𝑖𝑛(𝜃234 ) × 𝑐𝑜𝑠(𝜃1 )
Hình 4: Tọa độ khâu trung gian 𝑎𝑦 = 𝑠𝑖𝑛(𝜃234 ) × 𝑠𝑖𝑛(𝜃1 )
Bảng 1: Bảng thông số DH
𝑎𝑧 = −𝑐𝑜𝑠(𝜃234 )
Khâu 𝜽∗𝒊 𝒅𝒊 𝒂𝒊 𝜶𝒊
Với 𝜃234 = 𝜃2 + 𝜃3 + 𝜃4 và 𝜃23 = 𝜃2 + 𝜃3
1 𝜃1∗ 𝑑1 0 90𝑜
2 𝜃2∗ 0 𝑎2 0
3 𝜃3∗ 0 𝑎3 0
b) Bài toán động học nghịch
4 𝜃4∗ 0 0 90𝑜 Hệ phương trình động học của robot được thiết lập:
5 𝜃5∗ 𝑑5 0 0 𝑇5 = 𝐴1 × 𝐴2 × 𝐴3 × 𝐴4 × 𝐴5
Ma trận tổng quát 𝐴𝑖 : 𝐴1−1 × 𝑇5 = 11𝑇5
𝐴𝑖 ∗ ∗ ∗ 𝑛1 ∗ ∗ ∗ 𝑚1
𝑐𝑜𝑠(𝜃) −𝑐𝑜𝑠(𝛼) ∗ 𝑠𝑖𝑛(𝜃) 𝑠𝑖𝑛(𝛼) ∗ 𝑠𝑖𝑛(𝜃) 𝑎 ∗ 𝑐𝑜𝑠(𝜃) ∗ 𝑛2 ∗ 𝑚2
=[
𝑠𝑖𝑛(𝜃) 𝑐𝑜𝑠(𝛼) ∗ 𝑐𝑜𝑠(𝜃) −𝑠𝑖𝑛(𝛼) ∗ 𝑐𝑜𝑠(𝜃) 𝑎 ∗ 𝑠𝑖𝑛(𝜃)
]
[∗ ∗ ∗ 𝑛 ] = [ ∗∗ ∗∗
∗ ∗
∗ 𝑚3 ]
3
0 𝑠𝑖𝑛(𝛼) 𝑐𝑜𝑠(𝛼) 𝑑
0 0 0 1
0 0 0 1 0 0 0 1
Ma trận cho khâu 1÷5: Trong đó:
𝑐𝑜𝑠(𝜃1 ) 0 𝑠𝑖𝑛(𝜃1 ) 0
𝑠𝑖𝑛(𝜃 ) 0 −𝑐𝑜𝑠(𝜃1 ) 0] 𝑛1 = 𝑥 × 𝑐𝑜𝑠(𝜃1 ) + 𝑦 × 𝑠𝑖𝑛(𝜃1 )
𝐴1 = [ 1
0 1 0 𝑑1 𝑛2 = 𝑧 − 𝑑1
0 0 0 1 𝑛3 = 𝑥 × 𝑠𝑖𝑛(𝜃1 ) − 𝑦 × 𝑐𝑜𝑠(𝜃1 )
𝑐𝑜𝑠(𝜃2 ) −𝑠𝑖𝑛(𝜃2 ) 0 𝑎2 ∗ 𝑐𝑜𝑠(𝜃2 ) 𝑚1 = 𝑎3 × 𝑐𝑜𝑠(𝜃23 ) + 𝑎2 × 𝑐𝑜𝑠(𝜃2 ) + 𝑑5 × 𝑠𝑖𝑛(𝜃234 )
) 𝑐𝑜𝑠(𝜃2 ) 0 𝑎2 ∗ 𝑠𝑖𝑛(𝜃2 )
𝐴2 = [ 𝑠𝑖𝑛(𝜃2 ] 𝑚2 = 𝑎3 × 𝑠𝑖𝑛(𝜃23 ) + 𝑎2 × 𝑠𝑖𝑛(𝜃2 ) − 𝑑5 × 𝑐𝑜𝑠(𝜃234 )
0 0 1 0
0 0 0 1 𝑚3 = 0
𝑐𝑜𝑠(𝜃3 ) −𝑠𝑖𝑛(𝜃3 ) 0 𝑎3 ∗ 𝑐𝑜𝑠(𝜃3 ) Khi biết vị trí robot cần đến hay biết x, y, z, 𝑎𝑥 , 𝑎𝑦 , 𝑎𝑧
) 𝑐𝑜𝑠(𝜃3 ) 0 𝑎3 ∗ 𝑠𝑖𝑛(𝜃3 ) ]
𝐴3 = [ 𝑠𝑖𝑛(𝜃3 ta có thể tìm được các góc xoay. (trong đó 𝑎𝑥 , 𝑎𝑦 , 𝑎𝑧 là
0 0 1 0
0 0 0 1 vecto mà theo đó bàn kẹp sẽ tiếp cận đến đối tượng chiếu
𝑐𝑜𝑠(𝜃4 ) 0 𝑠𝑖𝑛(𝜃4 ) 0
trên trục x,y,z).
) 0 −𝑐𝑜𝑠(𝜃4 ) 0
𝐴4 = [ 𝑠𝑖𝑛(𝜃4 ] + tính 𝜃1 :
0 0 1 0
0 0 0 1 𝑛3 = 𝑚3
𝑐𝑜𝑠(𝜃5 ) −𝑠𝑖𝑛(𝜃5 ) 0 0
𝑥 × 𝑠𝑖𝑛(𝜃1 ) − 𝑦 × 𝑐𝑜𝑠(𝜃1 ) = 0
) 𝑐𝑜𝑠(𝜃5 )
𝐴5 = [ 𝑠𝑖𝑛(𝜃5 0 0]
𝑠𝑖𝑛(𝜃1 ) 𝑦
0 0 1 𝑑5 =
0 0 0 1 𝑐𝑜𝑠(𝜃1 ) 𝑥
Ma trận tác động cuối 𝜃1 = 𝑎𝑡𝑎𝑛2𝑑(𝑦, 𝑥)
𝑛𝑥 𝑜𝑥 𝑎𝑥 𝑝𝑥 𝜃234 = 𝜃2 + 𝜃3 + 𝜃4
𝑛𝑦 𝑜𝑦 𝑎𝑦 𝑝𝑦 𝜃234 = 𝑎𝑡𝑎𝑛2(−𝑎𝑥 × 𝑐𝑜𝑠(𝜃1 ) − 𝑎𝑦 × 𝑠𝑖𝑛(𝜃1 ), 𝑎𝑧)
𝑇5 = [ ] = 𝐴1 ∗ 𝐴2 ∗ 𝐴3 ∗ 𝐴4 ∗ 𝐴5
𝑛𝑧 𝑜𝑧 𝑎𝑧 𝑝𝑧
+ tính 𝜃3 :
0 0 0 1
𝑛1 = 𝑚1
Cân bằng các phần tử của ma trận ở 2 vế ta được một hệ {𝑛 = 𝑚
2 2
phương trình sau:
𝑝𝑥 = 𝑐𝑜𝑠(𝜃1 ) × (𝑎3 × 𝑐𝑜𝑠(𝜃23 ) + 𝑎2 𝑐𝑜𝑠(𝜃2 )
+ 𝑑5 𝑠𝑖𝑛(𝜃234 ))
- Đặng Phước Vinh, Lê Đình Minh Nhật, Nguyễn Đặng Mẫn
𝑥 × 𝑐𝑜𝑠(𝜃1 ) + 𝑦 × 𝑠𝑖𝑛(𝜃1 ) = Tại khâu 1, toàn bộ cánh tay robot được đặt lên ổ bi và
𝑎3 × 𝑐𝑜𝑠(𝜃23 ) + 𝑎2 × 𝑐𝑜𝑠(𝜃2 ) + 𝑑5 × 𝑠𝑖𝑛(𝜃234 ) dùng truyền động đai để điều chỉnh góc xoay của khâu 1.
Trên ổ bi, nhóm tác giả đã đặt động cơ bước ngay trọng
𝑧 − 𝑑1 =
{ 𝑎3 × 𝑠𝑖𝑛(𝜃23 ) + 𝑎2 × 𝑠𝑖𝑛(𝜃2 ) − 𝑑5 × 𝑐𝑜𝑠(𝜃234 ) tâm của ổ bi nhằm giảm thiểu sự rung lắc do quay lệch tâm
gây ra. Để giảm mômen cho khâu 3, nhóm đã dời trục của
𝑥 × 𝑐𝑜𝑠(𝜃1 ) + 𝑦 × 𝑠𝑖𝑛(𝜃1 ) − 𝑑5 × 𝑠𝑖𝑛(𝜃234 ) = động cơ bước số 3 xuống thấp nhất có thể, các khâu còn
𝑎3 × 𝑐𝑜𝑠(𝜃23 ) + 𝑎2 × 𝑐𝑜𝑠(𝜃2 ) lại, nhóm quyết định sử dụng động cơ servo.
𝑧 − 𝑑1 + 𝑑5 × 𝑐𝑜𝑠(𝜃234 ) =
{ 𝑎3 × 𝑠𝑖𝑛(𝜃23 ) + 𝑎2 × 𝑠𝑖𝑛(𝜃2 )
Ta đặt:
𝑛𝑥 = 𝑥 × 𝑐𝑜𝑠(𝜃1 ) + 𝑦 × 𝑠𝑖𝑛(𝜃1 ) − 𝑑5 × 𝑠𝑖𝑛(𝜃234 )
{
𝑛𝑦 = 𝑧 − 𝑑1 + 𝑑5 × 𝑐𝑜𝑠(𝜃234 )
𝑛𝑥 = 𝑎3 × 𝑐𝑜𝑠(𝜃23 ) + 𝑎2 × 𝑐𝑜𝑠(𝜃2 )
{
𝑛𝑦 = 𝑎3 × 𝑠𝑖𝑛(𝜃23 ) + 𝑎2 × 𝑠𝑖𝑛(𝜃2 )
𝑛𝑥 2 + 𝑛𝑦 2 = (𝑎3 × 𝑐𝑜𝑠(𝜃23 ) + 𝑎2 ×
𝑐𝑜𝑠(𝜃2 ))2 + (𝑎3 × 𝑠𝑖𝑛(𝜃23 ) + 𝑎2 ×
𝑠𝑖𝑛(𝜃2 ))2
𝑛𝑥 2 +𝑛𝑦 2 −𝑎3 2 −𝑎2 2
𝑐𝑜𝑠(𝜃3 ) =
2×𝑎3 ×𝑎2
𝑠𝑖𝑛(𝜃3 ) = −√1 − 𝑐𝑜𝑠(𝜃3 )2
𝜃3 = 𝑎𝑡𝑎𝑛2(𝑠𝑖𝑛(𝜃3 ), 𝑐𝑜𝑠(𝜃3 ))
+Tính 𝜃2 :
𝑛𝑥 = 𝑎3 × 𝑐𝑜𝑠(𝜃23 ) + 𝑎2 × 𝑐𝑜𝑠(𝜃2 )
Ta có: {
𝑛𝑦 = 𝑎3 × 𝑠𝑖𝑛(𝜃23 ) + 𝑎2 × 𝑠𝑖𝑛(𝜃2 )
𝑛𝑥 = 𝑎3 × (𝑐𝑜𝑠(𝜃2 ) × 𝑐𝑜𝑠(𝜃3 ) − 𝑠𝑖𝑛(𝜃2 ) ×
𝑠𝑖𝑛(𝜃3 ) + 𝑎2 × 𝑐𝑜𝑠(𝜃2 ))
𝑛𝑦 = 𝑎3 × (𝑐𝑜𝑠(𝜃2 ) × 𝑠𝑖𝑛(𝜃3 ) − 𝑠𝑖𝑛(𝜃2 ) ×
{ 𝑐𝑜𝑠(𝜃3 ) + 𝑎2 × 𝑠𝑖𝑛(𝜃2 ))
𝑛𝑥 +𝑎3 ×𝑠𝑖𝑛(𝜃2 )×𝑠𝑖𝑛(𝜃3 )
𝑐𝑜𝑠(𝜃2 ) =
𝑎3 ×𝑐𝑜𝑠(𝜃3 )+𝑎2 (1)
{ 𝑛𝑦−𝑎3 ×𝑐𝑜𝑠(𝜃2 )×𝑠𝑖𝑛(𝜃3 ) (2)
𝑠𝑖𝑛(𝜃2 ) = 𝑎3 ×𝑐𝑜𝑠(𝜃3 )+𝑎2
Hình 5: Sơ đồ động học
Ta thay (2) vào (1) và rút gọn ta được:
𝑐𝑜𝑠(𝜃2 ) 2.5. Tính toán lực cho các khâu
𝑛𝑥 × (𝑎3 × 𝑐𝑜𝑠(𝜃3 ) + 𝑎2 ) + 𝑎3 × 𝑠𝑖𝑛(𝜃3 ) × 𝑛𝑦 - Robot với cấu hình 5 bậc tự do, bao gồm: 5 khớp
= xoay, khớp đầu tiên giúp cánh xoay.
(𝑎3 × 𝑐𝑜𝑠(𝜃3 ) + 𝑎2 )2 + (𝑎3 × 𝑠𝑖𝑛(𝜃3 ))2
- Tay xoay sang hai bên, tiếp đó là 3 khớp xoay giúp
Tương tự thay (1) vào (2) ta được: cánh tay gập lên xuống để nâng hạ vật, cuối cùng là khớp
𝑠𝑖𝑛(𝜃2 ) giúp định vị vật chính xác hơn và tay kẹp dùng để gắp vật.
𝑛𝑦 × (𝑎3 × 𝑐𝑜𝑠(𝜃3 ) + 𝑎2 ) − 𝑎3 × 𝑠𝑖𝑛(𝜃3 ) × 𝑛𝑥 Sau khi xem xét tính chọn cơ cấu phù hợp cho các
= khâu 2 3 4 5, nhóm tính toán các khâu và tính được khối
(𝑎3 × 𝑐𝑜𝑠(𝜃3 ) + 𝑎2 )2 + (𝑎3 × 𝑠𝑖𝑛(𝜃3 ))2
lượng của mỗi khâu như sau:
𝜃2 = 𝑎𝑡𝑎𝑛2(𝑠𝑖𝑛(𝜃2 ), 𝑐𝑜𝑠(𝜃2 ))
Khối lượng khâu 2: 𝑚2 = 1800 𝑔
Khối lượng khâu 3: 𝑚3 = 520 𝑔
+ Tính 𝜃4 :
Khối lượng khâu 4: 𝑚4 = 155 𝑔
𝜃4 = 𝜃234 − 𝜃3 − 𝜃2
Khối lượng khâu 5: 𝑚5 = 109 𝑔
a) Tính mômen tĩnh tác dụng lên khâu 2:
2.4. Sơ đồ động học
Sau khi tính toán các khâu cho cánh tay robot, nhóm Chọn vị trí nguy hiểm nhất chính là khi các khâu 2, 3, 4,
đã lựa chọn các động cơ, bộ truyền nhằm tối ưu hóa 5 duỗi thẳng ở vị trí nằm ngang (Hình 6), lúc này mômen
mômen do động cơ tạo ra (Hình 5). tĩnh do trọng trường gây ra là lớn nhất:
- Cánh tay robot 5 bậc tự do ứng dụng xử lý ảnh để phân loại sản phẩm
3. Điều khiển và xử lý
Hệ thống được điều khiển bởi sự kết hợp giữa chip vi
điều khiển và máy tính thông qua truyền thông nối tiếp
RS232 [5].
3.1. Điều khiển cơ cấu
Hệ thống gồm các phần:
- Khối điều khiển: Sử dụng vi điều khiển Arduino, thực
hiện chức năng tiếp nhận thông tin từ máy tính và tạo các
tín hiệu điều khiển truyền tới các driver để điều khiển cơ
Hình 6: Sơ đồ tải trọng của robot cấu chấp hành.
khi chịu trọng lượng lớn nhất - Khối xử lý trung tâm: đối với hệ thống là máy tính để
thực hiện chức năng xử lý ảnh thu được từ khối camera và
Trong đó: 𝑃𝑣 là trọng lượng vật nâng xử lý hình ảnh và đóng gói thông tin tương ứng để truyền
𝑃𝑣 = 0,2 × 9,8 = 1,96 𝑁 về khối điều khiển.
- Khối Camera: Sử dụng camera Logitech C270 có độ
𝑃2 , 𝑃3 , 𝑃4 , 𝑃5 là trọng lượng của các khâu 2, 3, 4, 5.
phân giải 720p, có chức năng thu thập hình ảnh xung quanh
𝑃2 = 1 × 9,8 = 9,8 N cho robot.
𝑃3 = 0,47 × 9,8 = 4,606 N - Khối cơ cấu chấp hành: Cánh tay robot 5 bậc chuyển
𝑃4 = 0,155 × 9,8 = 1,519 N động để vươn tới các vị trí xác định thông qua hệ 5 động
𝑃5 = 0,109 × 9,8 = 1,068 N cơ, thực hiện các động tác gắp, thả vật thể theo điều khiển
của khối điều khiển.
b) Tổng mômen tĩnh do trọng lực gây ra trên trục 𝑂1 : - Khối nguồn: Sử dụng bộ nguồn 24VDC – 20A và bộ
giảm áp LM2596 để đạt được điện áp 7V cung cấp nguồn
𝑀𝑡2 = 𝑃2 × 0,111 + 𝑃3 × 0,316 + 𝑃4 × 0,451
cho hoạt động của robot và khối điều khiển.
+ 𝑃5 × 0,555 + 𝑃𝑣 × 0,6 = 6,115 𝑁𝑚 Quá trình điều khiển được biểu diễn dưới dạng lưu đồ
Ngoài ra khi làm việc từ trạng thái ban đầu là đứng yên, thuật toán như Hình 9
lực quán tính sinh ra kết hợp với tải trọng tĩnh sẽ gây ra lực
cản lớn nhất đặt lên trục khớp 2. Ở đây ta bỏ qua ma sát.
Bản vẽ 3D và hình ảnh thực tế của cánh tay robot 5 bậc tự
do được thể hiện ở Hình 7 và 8.
Hình 7: Bản vẽ 3D cánh tay robot
Hình 8: Hình ảnh thực tế của cánh tay robot
Hình 9: Lưu đồ thuật toán điều khiển cánh tay robot
- Đặng Phước Vinh, Lê Đình Minh Nhật, Nguyễn Đặng Mẫn
3.2. Xử lý hình ảnh arduino sẽ bắt đầu phân tách thông tin từ máy tính và bắt
Tác giả sử dụng thư viện OpenCV phiên bản 3.4.1 để đầu quá trình phân loại vật thể theo chương trình được viết
thực hiện việc nhân diện phân loại dựa trên các đặc tính có sẵn. Tốc độ lúc này rơi và khoảng trung bình 10 giây cho
sẵn của vật thể. Đầu tiên, ảnh sẽ được máy ảnh ghi lại theo
hành động tương tác với một vật thể.
định dạng màu RGB (Hình 10).
Nếu sau một khoảng thời gian mà hệ thống không
nhận được tín hiệu từ máy tính, toàn hệ thống sẽ về vị trí
ban đầu và đợi lệnh tiếp theo từ máy tính. Quy trình trên
được mô tả dưới sơ đồ khối như Hình 13.
Hình 10: Ảnh RGB
Sau đó, sẽ qua các phép toán lọc nhiễu, các phép toán
hình thái học như (dãn nở điểm, bộ lọc gauss, khép kín
biên dạng) và lọc màu nhằm tạo ra ảnh nhị phân tương ứng
với mỗi loại màu (Hình 11). Nhóm đã dùng hàm Inrange
của thư viện OpenCV 3.4.1 để lọc màu tạo ảnh nhị phân.
Ưu điểm của phương pháp này là vùng nhận diện lớn
và tránh được các yếu tố môi trường như ánh sáng.
Hình 12: Lưu đồ thuật toán xử lý ảnh
Hình 11: Ảnh nhị phân
Khi bước xác định màu sắc kết thúc, toàn bộ ảnh nhị
phân sẽ được xử lý nhằm xác định tâm, hình dạng vật thể
và góc lệch (góc tạo bởi một cạnh và đường biên của ảnh).
Cuối cùng, các thông số về vật thể như màu sắc, hình dạng,
tọa độ và góc lệch sẽ được lưu vào chuỗi và sẵn sàng gửi.
Quy trình xử lý được mô tả bằng lưu đồ thuật toán như
Hình 12.
3.3. Phân loại vật thể
Sau khi các bước lọc ảnh, phân loại, tìm các đặc tính
của vật thể được máy tính xử lý xong. Các thông số đó sẽ
được truyền đến chip vi điều khiển Arduino thông qua giao
tiếp nối tiếp RS232 [5]. Sau khi nhận được tín hiệu, Hình 13: Lưu đồ thuật toán phân loại vật thể
- Cánh tay robot 5 bậc tự do ứng dụng xử lý ảnh để phân loại sản phẩm
4. Giao diện điều khiển [3] M. Dragusu, A. Mihalache, R. Solea, Practical applications
for robotic arms using image processing, 16th International
Giao diện điều khiển được nhóm tác giả tạo ra bằng
phần mềm Visual Studio với ngôn ngữ chính là C# (xem Conference on System Theory, Control and Computing
Hình 14). Bảng điểu khiển giúp cho người sử dụng có thể (ICSTCC), 2012.
thao tác dễ dàng với hệ thống nhờ các nút bấm. Bên cạnh [4] Nguyễn Thiện Phúc, Giáo trình robot công nghiệp, Nhà
đó thì người sử dụng cũng có thể thay đổi các thông số đầu xuất bản Giáo Dục, 2009.
vào để giúp hệ thống đáp ứng với sự tác động của các tác [5] Đặng Phước Vinh, Võ Như Thành, Giáo trình kỹ thuật vi
nhân bên ngoài đặc biệt là ánh sáng.
điều khiển PIC, Nhà xuất bản Xây Dựng, 2019.
Hình 14: Giao diện điều khiển viết trên nền tảng C#
5. Kết luận
Hệ thống đã hoạt động ổn định trong việc nhận diện
và phân loại vật thể theo màu sắc và hình dạng mong muốn
với độ chính xác cao. Việc kết nối camera, phần mềm
Visual Studio và vi điều khiển được thực hiện tốt. Nhóm
tác giả cũng tạo được giao diện điều khiển để giúp người
sử dụng có thể trực tiếp tương tác với hệ thống một cách
tốt hơn. Bên cạnh đó, hệ thống được chế tạo với chi phí
thấp hơn 40% giá thành so với các mẫu cùng loại với cùng
tính năng. Với giá thành thấp, độ chính xác cao và dễ dùng,
hệ thống sẽ là công cụ hỗ trợ đắc lực cho sinh viên các
ngành về việc thực hành các môn học có liên quan đến hệ
thống tay máy robot.
Bên cạnh những kết quả đã đạt được, hệ thống còn một
số nhược điểm nhất định. Đa số các chi tiết đều được làm
bằng nhựa PLA nên tuổi thọ của hệ thống sẽ không được
cao so với các hệ thống cùng loại với cấu tạo từ các hợp
kim. Thêm vào đó, tốc độ của hệ thống chưa cao, chưa đáp
ứng được các nhiệm vụ với yêu cầu tốc độ xử lý nhanh
trong khoản thời gian vài giây.
Trong thời gian tới, nhóm sẽ tiếp tục phát triển hệ
thống hơn nữa và cụ thể là nâng cao tốc độ hoạt động của
tay máy, tính toán nâng cao các phương trình động học của
hệ thống.
Tài liệu tham khảo
[1] V.B.Raskar, N. Hargude, S. Vishwanath, K. Chavan,
Practical applications of robotic hand using image
processing. International Journal of Advanced Research in
Computer Engineering & Technology (IJARCET), Vol. 4
Issue 3, 2015.
[2] Bhumeshwari Basule1 , Shubhangi Borkar, A Review:
Robotic Four Finger ARM Controlling using Image
Processing, International Journal of Engineering Science
and Computing, Vol. 7, No.7, 2017.
nguon tai.lieu . vn