Tải bản đầy đủ (.pdf) (7 trang)

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ể

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (839.39 KB, 7 trang )

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:
Tóm tắt
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, thiết kế, 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ể. Cánh tay robot này được điều khiển
thông qua bộ phần điều khiển với chip vi điều khiển Arduino và
bộ phận xử lý hình ảnh. Ban đầu, camera sẽ thu nhận hình ảnh
thực tế, sau đó máy tính với nền tảng là Visual Studio C# xử lý
thông tin đầu vào và gửi lệnh điều khiển tới bộ điều khiển. Khi
nhận được thông tin từ máy tính, bộ điều khiển sẽ điều khiển cơ
cấu chấp hành tương tác với vật thể. Bước đầu hệ thống hoạt động
khá ổn định, có thể nhận diện được vật thể dựa vào hình dáng và
màu sắc một cách chính xác với thời gian tương đối nhanh.
Từ khóa: Cánh tay robot 5 bậc tự do, Vi điều khiển Aruino, Xử
lý ảnh, Visual Studio C#.

1. Đặt vấn đề
Thời đại nền công nghiệp 4.0 đã kéo theo sự phát triển
không ngừng nghỉ của các công cụ lao động phụ trợ, từ
những công cụ máy móc thơ sơ cho năng suất và chất
lượng kém, đã dần dần được thay thế bằng những công cụ,
máy móc hiện đại hơn, nâng cao độ chính xác, năng suất
cao hơn sản xuất được nhiều mặt hàng tinh xảo. Đồng thời
nhằm giảm công lao động của con người trong các hoạt


động công nghiệp hay một số môi trường đặc biệt mà con
người không thể làm việc được như: những mơi trường độc
hại khói bụi, hóa chất,… gây ảnh hưởng tới sức khỏe và
tính mạng của con người, các cơng cụ có thể thay thế con
người và mang lại hiệu quả cao. Để giải quyết vấn đề trên
thì việc áp dụng cánh tay robot vào công nghiệp ngày càng
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
động theo thời gian thực sử dụng webcam để chụp ảnh và
phân tích ảnh [2]. Tương tự, một robot ứng dụng vào thực
tế để xác định các vật thể bằng xử lý ảnh từ camera đã được
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
dáng của vật thể từ các tọa độ điểm của chúng.

Cánh tay robot này cịn có thể được ứng dụng trong
nghiên cứu khoa học và hỗ trợ đào tạo thực hành, thí
nghiệm cho sinh viên các ngành cơ khí, cơ điện tử và tự
động hóa ở các trường kỹ thuật. Ý tưởng thiết kế cho
những mơ hình lớn ứng dụng trong nhiều cơng đoạn cho

những quy trình sản xuất sản phẩm.
Vậy nên, bài toán đặt ra tại đây là phải thiết kế chế tạo
một hệ thống mà kết hợp giữa các phương pháp xử lý ảnh
và các cơ cấu cơ khí đã được áp dụng trong ngành công
nghiệp. Hệ thống sẽ sử dụng camera chụp vật mẫu, chụp
vật được sản xuất, sau đó so sánh ảnh của vật mẫu và ảnh
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
hay khơng. Nếu đạt chất lượng sẽ đưa sang đóng gói thành
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 tố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
phức tạp, giá thành tăng. Hiện nay các tay máy có trên thị
trường trong lĩnh vực phân loại sẽ gồm 2 dạng cơ cấu chính
là cơ cấu song song và chuỗi. Đối với tay máy có cơ cấu
song song sẽ có tốc độ phân loại nhanh hơn nhưng phạm
vi làm việc nhỏ so với kích thước của tay máy. Đối với
cánh tay dạng chuỗi, hệ thống sẽ có phạm vi làm việc lớn
hơn. Tuy nhiên, tùy thuộc vào số khớp có trong tay máy
mà độ linh hoạt sẽ cao hơn nhưng ngược lại thì độ cứng
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ày càng đa dạng thì cánh tay phải đảm bảo độ linh hoạt
và tốc độ, vùng làm việc rộng cũng như độ cứng vững cần
thiết. Hơn nữa, việc phân loại sản phẩm dựa vào hình dáng
và sản phẩm sẽ tối ưu hơn nếu kỹ thuật xử lý ảnh số được
áp dụng cho cánh tay robot.

Hình 1: Những vật thể cần được phân loại trong hệ thống
Trong bài báo này, nhóm tác giả đã nghiên cứu, thiết
kế và chế tạo thành công một cánh tay robot 5 bậc tự do

dùng để phân loại sản phẩm dựa vào màu sắc và hình dáng.
Công nghệ xử lý ảnh được ứng dụng trong hệ thống này
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ực hiện việc truyền thông giữa cánh tay robot với phần
mềm trên máy tính được viết bằng Visual Studio, nền tảng
C#. Các vật thể được sử dụng trong nghiên cứu này được
thể hiện ở Hình 1.

2. Thiết kế
2.1. Tổng quan về hệ thống
Để giải quyết bài tốn xử lý ảnh thì chúng ta có rất
nhiều cơng cụ hỗ trợ tốt như Open CV, Microsoft Visual
Studio hay công cụ Image Processing Toolbox của Visual
Studio...
Trong nghiên cứu này, nhóm tác giả sử dụng phần
mềm Visual Studio với nền tảng C# để xây dựng phần mềm
giao tiếp với hệ thống điều khiển của cánh tay robot.

Hình 2: Sơ đồ phân loại và gắp hàng tự động ứng dụng
công nghệ xử lý ảnh
Trong hệ thống sử dụng camera nhằm chụp ảnh sản
phẩm, máy tính có nhiệm vụ thu nhận, lưu trữ và xử lý,
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 đến các cơ cấu chấp hành phân loại sản phẩm theo
quy định. Hình 3 thể hiện mơ hình 3D của hệ thống.

Hệ thống gồm 2 phần chính:
▪ Bộ điều khiển gồm: một chip vi điều khiển
Arduino, các mạch driver dùng để điều khiển
động cơ và cánh tay robot 5 bậc tự do.
▪ Cơ cấu chấp hành bao gồm: một cánh tay robot 5
bậc tự do.

Hình 3: Mơ hình 3D của hệ thống
Các vật thể cần phân loại sẽ nằm trong vùng làm việc,
là phần giao nhau giữa vùng hoạt động của cánh tay robot
và vùng nhận diện của máy ảnh. Máy ảnh chụp và gửi hình
ả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

thể. Tồn bộ thơng tin này sẽ được máy tính đóng gói và
truyền về cho vi điều khiển để vi điều khiển tạo tín hiệu
đ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.
vòng lặp này sẽ được tiếp tục cho đến khi phân loại hết sản
phẩm có trong vùng làm việc hoặc nhấn nút dừng khẩn
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ố.
Với bài toán đặt ra như trên: khi sản phẩm vào vùng
làm việc của camera, được camera chụp ảnh lại và lưu lại
vào máy tính. Yêu cầu đặt ra là cần phải xác định được
hình, đặc điểm, hướng ... của sản phẩm dựa vào đó phân
loại sản phẩm. Nếu có sản phẩm nào khơng trùng với quy
định sẽ được phân loại là phế phẩm.
Để thực hiện được yêu cầu của hệ thống trên ta sử
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 tốn và thử nghiệm các loại động
cơ trên thị trường, tác giả nhận thấy động cơ servo và động
cơ bước là phù hợp hơn cả.
* Động cơ servo
- Ưu điểm: Mơmen trên trục đều hơn, tốc độ cao hơn,
có nhiều kích cỡ, làm việc êm, độ chính xác cao.
* Động cơ bước
- Ưu điểm: Giá thành rẻ, có thể điều khiển mạch hở,
duy trì mơmen rất tốt, mơmen xoắn cao ở tốc độ thấp, định
vị chính xác.
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ỏ
cho robot như thép, nhơm hoặc nhựa. Nhưng sau khi xem
xét các ưu nhược điểm của từng loại vật liệu thì nhựa PLA
là phù hợp hơn cả vì : nhựa có khối lượng nhẹ dễ gia cơng,
có thể tạo các bề mặt phức tạp nhờ cơng nghệ in 3D.
2.3. Tính tố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 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 để
robot đạt được hướng và vị trí cho trước và cấu hình của
tay máy phù hợp với điều kiện đã cho. Đây được gọi là bài
toán động học ngược robot – inverse kinematics.


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
Chọn hệ tọa độ cơ sở, gắn các hệ tọa đơ trung gian lên
các khâu (Hình 4), ta có bảng thơng số Denavit –
Hartenberg (Bảng 1)

Hình 4: Tọa độ khâu trung gian
Bảng 1: Bảng thông số DH
𝜽∗𝒊
𝒅𝒊
𝒂𝒊
𝜶𝒊
𝜃1∗
𝑑1
90𝑜
0
𝜃2∗
𝑎2
0

0
𝜃3∗
𝑎3
0
0
𝜃4∗
90𝑜
0
0
𝜃5∗
𝑑5
0
0
Ma trận tổng quát 𝐴𝑖 :
𝐴𝑖
𝑐𝑜𝑠(𝜃) −𝑐𝑜𝑠(𝛼) ∗ 𝑠𝑖𝑛(𝜃) 𝑠𝑖𝑛(𝛼) ∗ 𝑠𝑖𝑛(𝜃) 𝑎 ∗ 𝑐𝑜𝑠(𝜃)
𝑠𝑖𝑛(𝜃) 𝑐𝑜𝑠(𝛼) ∗ 𝑐𝑜𝑠(𝜃) −𝑠𝑖𝑛(𝛼) ∗ 𝑐𝑜𝑠(𝜃) 𝑎 ∗ 𝑠𝑖𝑛(𝜃)
=[
]
0
𝑠𝑖𝑛(𝛼)
𝑐𝑜𝑠(𝛼)
𝑑
0
0
0
1
Ma trận cho khâu 1÷5:
𝑐𝑜𝑠(𝜃1 )
0 𝑠𝑖𝑛(𝜃1 ) 0

)
𝑠𝑖𝑛(𝜃
0 −𝑐𝑜𝑠(𝜃1 ) 0]
1
𝐴1 = [
0
1
0 𝑑1
0
0
0
1
𝑐𝑜𝑠(𝜃2 ) −𝑠𝑖𝑛(𝜃2 ) 0 𝑎2 ∗ 𝑐𝑜𝑠(𝜃2 )
) 𝑐𝑜𝑠(𝜃2 ) 0 𝑎2 ∗ 𝑠𝑖𝑛(𝜃2 )
𝐴2 = [ 𝑠𝑖𝑛(𝜃2
]
0
0
1
0
0
0
0
1
𝑐𝑜𝑠(𝜃3 ) −𝑠𝑖𝑛(𝜃3 ) 0 𝑎3 ∗ 𝑐𝑜𝑠(𝜃3 )
) 𝑐𝑜𝑠(𝜃3 )
0 𝑎3 ∗ 𝑠𝑖𝑛(𝜃3 ) ]
𝐴3 = [ 𝑠𝑖𝑛(𝜃3
0
0

1
0
0
0
0
1
𝑐𝑜𝑠(𝜃4 ) 0 𝑠𝑖𝑛(𝜃4 ) 0
) 0 −𝑐𝑜𝑠(𝜃4 ) 0
𝐴4 = [ 𝑠𝑖𝑛(𝜃4
]
0
0
1
0
0
0
0
1
𝑐𝑜𝑠(𝜃5 ) −𝑠𝑖𝑛(𝜃5 ) 0 0
) 𝑐𝑜𝑠(𝜃5 )
0 0]
𝐴5 = [ 𝑠𝑖𝑛(𝜃5
1 𝑑5
0
0
0
0
0 1
Khâu
1

2
3
4
5

𝑝𝑦 = 𝑠𝑖𝑛(𝜃1 ) × (𝑎3 × 𝑐𝑜𝑠(𝜃23 ) + 𝑎2 𝑐𝑜𝑠(𝜃2 )
+ 𝑑5 𝑠𝑖𝑛(𝜃234 ))
𝑝𝑧 = 𝑑1 + 𝑎3 × 𝑠𝑖𝑛(𝜃23 ) + 𝑎2 × 𝑠𝑖𝑛(𝜃2 )
− 𝑑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 )
𝑎𝑦 = 𝑠𝑖𝑛(𝜃234 ) × 𝑠𝑖𝑛(𝜃1 )
𝑎𝑧 = −𝑐𝑜𝑠(𝜃234 )
Với 𝜃234 = 𝜃2 + 𝜃3 + 𝜃4 và 𝜃23 = 𝜃2 + 𝜃3
b) Bài tốn động học nghịch
Hệ phương trình động học của robot được thiết lập:
𝑇5 = 𝐴1 × 𝐴2 × 𝐴3 × 𝐴4 × 𝐴5

 𝐴1−1 × 𝑇5 = 11𝑇5
∗ ∗ ∗ 𝑛1

∗ ∗
∗ 𝑛2


[∗ ∗ ∗ 𝑛 ] = [ ∗∗ ∗∗
3
0 0 0 1
0 0
Trong đó:

𝑛1 = 𝑥 × 𝑐𝑜𝑠(𝜃1 ) + 𝑦 × 𝑠𝑖𝑛(𝜃1 )
𝑛2 = 𝑧 − 𝑑1
𝑛3 = 𝑥 × 𝑠𝑖𝑛(𝜃1 ) − 𝑦 × 𝑐𝑜𝑠(𝜃1 )
𝑚1 = 𝑎3 × 𝑐𝑜𝑠(𝜃23 ) + 𝑎2 × 𝑐𝑜𝑠(𝜃2 ) + 𝑑5 × 𝑠𝑖𝑛(𝜃234 )
𝑚2 = 𝑎3 × 𝑠𝑖𝑛(𝜃23 ) + 𝑎2 × 𝑠𝑖𝑛(𝜃2 ) − 𝑑5 × 𝑐𝑜𝑠(𝜃234 )
𝑚3 = 0
Khi biết vị trí robot cần đến hay biết x, y, z, 𝑎𝑥 , 𝑎𝑦 , 𝑎𝑧
ta có thể tìm được các góc xoay. (trong đó 𝑎𝑥 , 𝑎𝑦 , 𝑎𝑧 là
vecto mà theo đó bàn kẹp sẽ tiếp cận đến đối tượng chiếu
trên trục x,y,z).
+ tính 𝜃1 :
𝑛3 = 𝑚3
 𝑥 × 𝑠𝑖𝑛(𝜃1 ) − 𝑦 × 𝑐𝑜𝑠(𝜃1 ) = 0


𝑜𝑥
𝑜𝑦
𝑜𝑧
0


𝑎𝑥
𝑎𝑦
𝑎𝑧
0

𝑝𝑥
𝑝𝑦
] = 𝐴1 ∗ 𝐴2 ∗ 𝐴3 ∗ 𝐴4 ∗ 𝐴5
𝑝𝑧
1

Cân bằng các phần tử của ma trận ở 2 vế ta được một hệ
phương trình sau:
𝑝𝑥 = 𝑐𝑜𝑠(𝜃1 ) × (𝑎3 × 𝑐𝑜𝑠(𝜃23 ) + 𝑎2 𝑐𝑜𝑠(𝜃2 )
+ 𝑑5 𝑠𝑖𝑛(𝜃234 ))

𝑠𝑖𝑛(𝜃1 )

𝑐𝑜𝑠(𝜃1 )

Ma trận tác động cuối
𝑛𝑥
𝑛𝑦
𝑇5 = [
𝑛𝑧
0

∗ 𝑚1
∗ 𝑚2
∗ 𝑚3 ]

0 1

𝜃234

=

𝑦
𝑥

 𝜃1 = 𝑎𝑡𝑎𝑛2𝑑(𝑦, 𝑥)
𝜃234 = 𝜃2 + 𝜃3 + 𝜃4
= 𝑎𝑡𝑎𝑛2(−𝑎𝑥 × 𝑐𝑜𝑠(𝜃1 ) − 𝑎𝑦 × 𝑠𝑖𝑛(𝜃1 ), 𝑎𝑧)
+ tính 𝜃3 :
𝑛1 = 𝑚1
{𝑛 = 𝑚
2
2


Đặng Phước Vinh, Lê Đình Minh Nhật, Nguyễn Đặng Mẫn
𝑥 × 𝑐𝑜𝑠(𝜃1 ) + 𝑦 × 𝑠𝑖𝑛(𝜃1 ) =
𝑎3 × 𝑐𝑜𝑠(𝜃23 ) + 𝑎2 × 𝑐𝑜𝑠(𝜃2 ) + 𝑑5 × 𝑠𝑖𝑛(𝜃234 )

𝑧 − 𝑑1 =
{ 𝑎3 × 𝑠𝑖𝑛(𝜃23 ) + 𝑎2 × 𝑠𝑖𝑛(𝜃2 ) − 𝑑5 × 𝑐𝑜𝑠(𝜃234 )
𝑥 × 𝑐𝑜𝑠(𝜃1 ) + 𝑦 × 𝑠𝑖𝑛(𝜃1 ) − 𝑑5 × 𝑠𝑖𝑛(𝜃234 ) =
𝑎3 × 𝑐𝑜𝑠(𝜃23 ) + 𝑎2 × 𝑐𝑜𝑠(𝜃2 )

𝑧 − 𝑑1 + 𝑑5 × 𝑐𝑜𝑠(𝜃234 ) =
{

𝑎3 × 𝑠𝑖𝑛(𝜃23 ) + 𝑎2 × 𝑠𝑖𝑛(𝜃2 )

Tại khâu 1, tồn bộ cánh tay robot được đặt lên ổ bi và
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
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
động cơ bước số 3 xuống thấp nhất có thể, các khâu cịn
lại, nhóm quyết định sử dụng động cơ servo.

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
 𝑐𝑜𝑠(𝜃3 ) =

𝑛𝑥 2 +𝑛𝑦 2 −𝑎3 2 −𝑎2 2
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 ))
{
 {

𝑐𝑜𝑠(𝜃2 ) =
𝑠𝑖𝑛(𝜃2 ) =

𝑛𝑥 +𝑎3 ×𝑠𝑖𝑛(𝜃2 )×𝑠𝑖𝑛(𝜃3 )
𝑎3 ×𝑐𝑜𝑠(𝜃3 )+𝑎2
𝑛𝑦−𝑎3 ×𝑐𝑜𝑠(𝜃2 )×𝑠𝑖𝑛(𝜃3 )

(1)
(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 )
𝑛𝑥 × (𝑎3 × 𝑐𝑜𝑠(𝜃3 ) + 𝑎2 ) + 𝑎3 × 𝑠𝑖𝑛(𝜃3 ) × 𝑛𝑦
=
(𝑎3 × 𝑐𝑜𝑠(𝜃3 ) + 𝑎2 )2 + (𝑎3 × 𝑠𝑖𝑛(𝜃3 ))2
Tương tự thay (1) vào (2) ta được:
𝑠𝑖𝑛(𝜃2 )
𝑛𝑦 × (𝑎3 × 𝑐𝑜𝑠(𝜃3 ) + 𝑎2 ) − 𝑎3 × 𝑠𝑖𝑛(𝜃3 ) × 𝑛𝑥

=
(𝑎3 × 𝑐𝑜𝑠(𝜃3 ) + 𝑎2 )2 + (𝑎3 × 𝑠𝑖𝑛(𝜃3 ))2
 𝜃2 = 𝑎𝑡𝑎𝑛2(𝑠𝑖𝑛(𝜃2 ), 𝑐𝑜𝑠(𝜃2 ))
+ Tính 𝜃4 :
𝜃4 = 𝜃234 − 𝜃3 − 𝜃2
2.4. Sơ đồ động học
Sau khi tính tốn các khâu cho cánh tay robot, nhóm
đã lựa chọn các động cơ, bộ truyền nhằm tối ưu hóa
mơmen do động cơ tạo ra (Hình 5).

2.5. Tính tốn lực cho các khâu
- 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.
- Tay xoay sang hai bên, tiếp đó là 3 khớp xoay giúp
cánh tay gập lên xuống để nâng hạ vật, cuối cùng là khớp
giúp định vị vật chính xác hơn và tay kẹp dùng để gắp vật.
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 tốn các khâu và tính được khối
lượng của mỗi khâu như sau:
Khối lượng khâu 2: 𝑚2 = 1800 𝑔
Khối lượng khâu 3: 𝑚3 = 520 𝑔
Khối lượng khâu 4: 𝑚4 = 155 𝑔
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:
Chọn vị trí nguy hiểm nhất chính là khi các khâu 2, 3, 4,
5 duỗi thẳng ở vị trí nằm ngang (Hình 6), lúc này mơmen
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ình 6: Sơ đồ tải trọng của robot
khi chịu trọng lượng lớn nhất
Trong đó: 𝑃𝑣 là trọng lượng vật nâng
𝑃𝑣 = 0,2 × 9,8 = 1,96 𝑁
𝑃2 , 𝑃3 , 𝑃4 , 𝑃5 là trọng lượng của các khâu 2, 3, 4, 5.
𝑃2 = 1 × 9,8 = 9,8 N
𝑃3 = 0,47 × 9,8 = 4,606 N
𝑃4 = 0,155 × 9,8 = 1,519 N
𝑃5 = 0,109 × 9,8 = 1,068 N
b) Tổng mômen tĩnh do trọng lực gây ra trên trục 𝑂1 :
𝑀𝑡2 = 𝑃2 × 0,111 + 𝑃3 × 0,316 + 𝑃4 × 0,451
+ 𝑃5 × 0,555 + 𝑃𝑣 × 0,6 = 6,115 𝑁𝑚
Ngồi ra khi làm việc từ trạng thái ban đầu là đứng yên,
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ệ 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ơ
cấu chấp hành.

- 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à
xử lý hình ảnh và đóng gói thơng tin tương ứng để truyền
về khối điều khiển.
- Khối Camera: Sử dụng camera Logitech C270 có độ
phân giải 720p, có chức năng thu thập hình ảnh xung quanh
cho robot.
- Khối cơ cấu chấp hành: Cánh tay robot 5 bậc chuyển
động để vươn tới các vị trí xác định thơng qua hệ 5 động
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.
- 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
cho hoạt động của robot và khối điều khiển.
Quá trình điều khiển được biểu diễn dưới dạng lưu đồ
thuật tốn như Hình 9

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 tố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
Tác giả sử dụng thư viện OpenCV phiên bản 3.4.1 để
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 của vật thể. Đầu tiên, ảnh sẽ được máy ảnh ghi lại theo
định dạng màu RGB (Hình 10).


arduino sẽ bắt đầu phân tách thơng tin từ máy tính và bắt
đầu q trình phân loại vật thể theo chương trình được viết
sẵn. Tốc độ lúc này rơi và khoảng trung bình 10 giây cho
hành động tương tác với một vật thể.
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, tồ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 tốn lọc nhiễu, các phép tố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 tố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 tố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
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
Hình 14). Bảng điểu khiển giúp cho người sử dụng có thể
thao tác dễ dàng với hệ thống nhờ các nút bấm. Bên cạnh
đó thì người sử dụng cũng có thể thay đổi các thông số đầu
vào để giúp hệ thống đáp ứng với sự tác động của các tác
nhân bên ngồi đặc biệt là ánh sáng.

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 tố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.

[3] M. Dragusu, A. Mihalache, R. Solea, Practical applications
for robotic arms using image processing, 16th International

Conference on System Theory, Control and Computing
(ICSTCC), 2012.
[4] Nguyễn Thiện Phúc, Giáo trình robot công nghiệp, Nhà
xuất bản Giáo Dục, 2009.
[5] Đặng Phước Vinh, Võ Như Thành, Giáo trình kỹ thuật vi
điều khiển PIC, Nhà xuất bản Xây Dựng, 2019.



×